[Coin-ipopt] Ipopt with Automatic Differentiation
Andreas Waechter
andreasw at watson.ibm.com
Wed May 2 15:53:56 EDT 2007
Hi,
>> 2. Once a trial step has been accepted, Ipopt currently asks first for the
>> values of the first derivatives, and then computes the multipliers, and
>> finally at a later point asks for the Hessian information.
>>
>> In principle, we could reorder things so that the new values for the
>> multipliers are computed before any derivatives are requested, and we could
>> tell Ipopt to call some method in the (T)NLP to tell it about the
>> multipliers. Then, later on, the TNLP can compute first AND second
>> derivatives at the same time whenever the first request for first
>> derivatives comes in, and it could buffer any information until it is
>> really requested by Ipopt.
>
> Maybe it would be not a bad idea in general that Ipopt asks for as much
> evaluations as it needs within the same call, instead of calling for values
> and derivatives in separate steps.
> In some cases like the one of Kipp that might allow some savings in the
> computing time.
> But probably also the new_x boolean in the eval routines can help for this.
> Is Ipopt already setting new_x to false from time to time?
That is the point of the new_x variable. It is only set to true if the
values have changed. So, in principle, one could compute everything once
new_x is true. However, at that point Ipopt does not know if it needs the
derivative information later on, since it has not yet decided if the trial
point has been accepted in the line search.
But I think that Kipp's original question was if it is possible to tell
the (T)NLP the values of the multipliers as early as possible so that also
the Hessian can be computed...
Cheers
Andreas
More information about the Coin-ipopt
mailing list