On Jun 26, 2012, at 9:50 PM, Matt Peddie wrote: > Hi, > > I'm using an automatic differentiation package to get analytic Jacobians > and Hessians for my objective function. I see from [1] and the API > reference that no NLopt algorithms currently support passing a function > to compute the Hessian (they all approximate it). > > Are there any plans for adding this functionality? > > I had a look at slsqp.c from nlopt-2.2.4, but it looks like adding it > myself would be a pretty serious undertaking. Note that unlike in [1], > I'm not optimizing functions of millions of variables; my application is > closer to 100.
You wouldn't want to add it to SLSQP, as that is designed to be a quasi-Newton code that estimates the Hessian, and it is also very messy code as you can see. I have recently played with adding an MMA-like algorithm that allows you to pass in an approximate Hessian as a preconditioner, which could in principle exploit an exact Hessian if you supply it. On the other hand, I can only prove convergence if the preconditioner is positive semi-definite, so if your Hessian does not have this property it may cause problems. _______________________________________________ NLopt-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/nlopt-discuss
