[Ipopt] Testing IPOPT on a black block problem
Andreas Waechter
andreasw at watson.ibm.com
Mon Apr 13 12:43:11 EDT 2009
Hi Michael,
Ipopt needs at least first derivatives, second derivatives can be
approximated. One could approximate first derivatives also by
finite-differences, but this is usually a rather computationally expensive
option. However, the Ipopt code has a "hidden" option, called
jacobian_approximation finite-difference-values
that will make Ipopt do a very simple and inefficient approximation of the
constraint derivatives (but the user still has to provide a sparsity
structure). No code like that has been written for a finite difference
approximation of the objective function gradient.
But maybe what you are looking for is "derivative free" optimization.
There are different options and codes, one is the "DFO" code on COIN:
https://projects.coin-or.org/Dfo
Note that those algorithms cannot handle problems with many variables.
Hope this helps,
Andreas
On Wed, 8 Apr 2009, Michael Stevens wrote:
> Dear IPOPT Users,
>
> I am currently looking at IPOPT as a solver for NLP I have. The problem is fairly simple and currently I am just trying to
> determine how best to represent the problem and how efficiently it can be solved.
>
> I order to go this I am trying to avoid (at least initially) determining analytical gradiants and Hessians. Effectively I would
> like to treat the problem function as a black box where gradiants and Hessians are not directly available.
>
> Wadding though the documents I am almost clear on how to define the NLP problem so a Quasi-Newton method will be used fur the
> Hessian. However looking at the documentation for how the NLP is defined (in my case in C++) I cannot see how the 'eval_grad_f'
> function should be defined in the case where the Quasi-Newton evaluation of the function to be optimised should be used.
>
> I guess there are two possibilities:
> a) IPOPT always needs an analytical gradient
> b) The eval_grad_f function is not called if IPOPT options are set for a Quasi-Newton solution.
>
> Any help would be greatly appreciated.
>
> Thanks,
> Michael Stevens
> --
> ___________________________________
> Michael Stevens Systems Engineering
>
> 34128 Kassel, Germany
> Phone/Fax: +49 561 5218038
> Mobile: +49 1577 7807325
>
> Navigation Systems, Estimation and
> Bayesian Filtering
> http://bayesclasses.sf.net
> ___________________________________
>
More information about the Ipopt
mailing list