Re: Numerical Optimization of Expensive Functions
- To: mathgroup at smc.vnet.net
- Subject: [mg41856] Re: Numerical Optimization of Expensive Functions
- From: UHAP023 at alpha1.rhbnc.ac.uk
- Date: Sat, 7 Jun 2003 00:08:45 -0400 (EDT)
- Organization: Dept. Physics, Royal Holloway, University of London
- References: <bbq95j$dao$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Kyriakos Chourdakis <k.chourdakis at qmul.ac.uk> wrote: > Dear all, > I am planning to optimize a function f of about 10 variables which under a > constrint set c, where: > 1. f is *very* expensive to compute [one function evaluation in Mathematica takes > about 10 mins] > 1a. f cannot be computed very accurately [only the first 5-6 sig digits are > reliable, with f in the 1000-10000 scale] > 2. The derivatives are unknown in closed form and have to be computed > numerically > 3. The constraints are linear > 4. The Hessian matrix is required on completion > I know of the packages NPSOL and LSSOL which are designed to deal with such > problems. They are implemented in FORTRAN77. > A. Do you know of such an implementation for Mathematica? > B. Is it possible to use the F77 versions of the packages to solve the > problem? Is there a way of calling the F77 subroutines from Mathematica? I do not > have the Fortran90/95 compilers, only g77. Have a look at donlp2 by Peter Spellucci. Its available in Fortran and compiles under g77. It will numerically calculate the derivatives if required, apply constraints and O/P the Hessian. Compiled, on an optimising Fortran compiler ought to be much faster than Mathematica. On a different tack, if symbolic manipulation is not needed to evaluate the function, could you use Compile[] in Mathematica? Hope this helps Tom. -- Tom Crane, Dept. Physics, Royal Holloway, University of London, Egham Hill, Egham, Surrey, TW20 0EX, England. Email: T.Crane at rhul.ac.uk Fax: +44 (0) 1784 472794