[Ipopt] Ipopt stuck at local optimum

Pedro Tabacof tabacof at gmail.com
Fri Apr 26 09:52:25 EDT 2013


You could use any kind of meta-heuristic such as simulated annealing,
evolution strategies or particle swarm to find out new starting points for
Ipopt's local optimization. This will usually converge much faster than a
random initialization, grid search or just using small perturbations.
However, if your problem is computationally expensive, this might take a
very long time, and you also have to define some pesky global parameters.

You could also try to reformulate your problem (maybe check literature) to
make it more linear and sparse, so Ipopt can take advantage of its
structure during the optimization. This is usually the suggestion of some
very experienced people here. On a similar problem I worked on I explored
both alternatives (using a global search and reformulating the problem) and
both ended up being competitive, each one with pros and cons.

Pedro.

On Fri, Apr 26, 2013 at 4:32 AM, Joris Kinable <deus87 at gmail.com> wrote:

> Dear Frank Kampas,
>
> You are indeed correct that ipopt is not a global solver. Yet I was
> wondering whether there are approaches to get ipopt out of the local
> optimum. I could for example re-start ipopt with a new, random initial
> solution, but usually (at least with heuristics), restarting from an
> entirely new solution is a bad idea. It is usually better to retain part of
> the old solution. Hence, a better approach might be to take the solution
> returned by ipopt, perturbate that solution (or destroy part of the
> solution) and resolve using that solution as a starting point. This
> approach retains part of the old solution.
> Nevertheless, as I have no experience with non-linear solvers, I don't
> really know what good approaches are; these are just guesses. Are you aware
> of other, better approaches to get better solutions out of ipopt if it gets
> stuck at a local optimum?
>
> br,
>
> Joris
>
>
> On Thu, Apr 25, 2013 at 11:35 PM, Frank Kampas <fkampas at msn.com> wrote:
>
>>   Ipopt ,by design, find a local optimum.  It is not a global solver.
>>
>>  *From:* Joris Kinable <deus87 at gmail.com>
>> *Sent:* Thursday, April 25, 2013 4:56 PM
>> *To:* ipopt at list.coin-or.org
>> *Subject:* [Ipopt] Ipopt stuck at local optimum
>>
>>  Dear,
>>
>> I'm trying to solve a non-linear problem. Unfortunately, the heuristics
>> we developed to solve the problem have difficulties finding good solutions.
>> Therefore we were considering to use a ipopt as an additional optimization
>> phase. As a first test, we did the following:
>>
>> 1. Solve the problem heuristically, with a time limit.
>> 2. Feed the resulting solution to Ipopt, and let is solve.
>>
>> So far, Ipopt only produces mediocre results which are not competitive
>> with the heuristic: letting the heuristic run for a larger amount of time
>> usually produces better results. Apparently, ipopt gets stuck at a local
>> optimum. How can I get ipopt out of the local optimum? Should I restart it
>> with a different initial solution, or are there better approaches? I
>> currently only have experience with linear solvers; not with non-linear
>> solvers.
>>
>> br,
>>
>> Joris
>>
>> ------------------------------
>> _______________________________________________
>> Ipopt mailing list
>> Ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/ipopt
>>
>>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>


-- 
Pedro Tabacof,
Unicamp - Eng. de Computação 08.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130426/801adcda/attachment.html>


More information about the Ipopt mailing list