[Ipopt] the particular L-BFGS update; feasibility enforcements; custom linear system solver in Matlab function; disable locking check

Martin Neuenhofen martinneuenhofen at googlemail.com
Thu Jan 19 04:45:22 EST 2017


Thanks for your answer, Stefen.

I have two questions on your help to my questions 2 and 4.

2) Unfortunately, it is far away from the bounds. I modified them s.t. the
initial point would be perfectly feasible if the NLP discretization's mesh
was finer. Could you think of other possible causes for this phenomenon?

4) When I change the type of the constraints, doesn't that result in a more
difficult optimisation problem? (because the number of multipliers for
these constraints would double and they would be more affected from a
change of the barrier parameter)

Kind regards,

2017-01-19 8:33 GMT+00:00 Stefan Vigerske <stefan at math.hu-berlin.de>:

> Hi,
> On 01/18/2017 09:19 PM, Martin Neuenhofen wrote:
>> Dear all,
>> we would like to use Ipopt in the following settings:
>>    1. How is the Hesse update of the Lagrangian computed in particular?
>> The
>>    Hesse is HL, then it is HL= sigma * f + sum_i{ lambda_i * Hc_i } . Are
>> the
>>    updates performed for each summand Hc_I and Hf separately or for their
>> sum
>>    w.r.t. the difference from one iteration to the next. I am wondering
>>    because in the first case there would be no assurance of conservation
>> of
>>    positive definiteness and in the second case there would be issues with
>>    regards to that the lambdas change. So do they then freeze the lambdas
>> once
>>    for the update?
> The L-BFGS approximation is done for HL.
> I would think that the Hessian to be approximated is considered as a
> function of x and lambda.
>    2. For our particular application I can easily find feasible starting
>>    points. However, if I pass a slightly infeasible initial guess to Ipopt
>>    then the inf_pr simply does not converge to 10^-6 . It starts from 0.5,
>>    goes to 0.1, and then both the feasibility and the cost-function value
>> grow
>>    with each further iteration above 10^5. I already ensured that inf_pr
>> has
>>    "original" scaling. I have no idea why Ipopt fails on this one and why
>> in
>>    that way (I mean I had at least expected that it would terminate and
>> say "I
>>    am unable to find you a feasible point" instead of just messing
>> everything
>>    up).
> If your point is close to the variable bounds, then it is moved away from
> the bounds before starting. You might want to play with the bound_push and
> bound_frac options to reduce the amount that it is moved.
>    3. How can I make a custom solver? I want something like an iterfunc. I
>>    use Matlab so I want to write my own preconditioned iterative saddle
>> solver
>>    in Matlab and apply it during each iteration on the KKT system and
>> shift it
>>    on my own.
> I don't know if that's possible with the C++ interface. Some people have
> implemented customizations of Ipopt that go deep into the algorithm.
> However, Ipopt's Matlab interface hasn't been maintained for a while, so I
> doubt that anyone would even add additional functionality in it.
>    4. Can one disable the intrinsic check of Ipopt whether the system is
>>    overdetermined (in terms of more equality constraints than degrees of
>>    freedom). I want to solve such problems since the equations arise from
>>    discretizations so they and their solution have to be interpreted only
>> in a
>>    rough manner of being satisfied. In general, does Ipopt hold any
>> features
>>    for these kinds of systems (e.g. adaptive stopping criteria s.t. I do
>> not
>>    run back into a point of local intersection of two (nearly) collinear
>>    equality constraints).
> No. If you think that equality constraints don't need to be satisfied,
> then you should relax them to inequalities.
> Stefan
> We are happy for any information on either of these bullets, please as
>> exhaustive as possible.
>> Kind regards,
>> Martin
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
> --
> http://www.gams.com/~stefan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20170119/a15e3d57/attachment.html>

More information about the Ipopt mailing list