<div dir="ltr">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.<div>
<br></div><div style>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.</div>
<div class="gmail_extra"><br>Pedro.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 26, 2013 at 4:32 AM, Joris Kinable <span dir="ltr"><<a href="mailto:deus87@gmail.com" target="_blank">deus87@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear Frank Kampas,<div><br></div><div>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.</div>
<div>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?</div>
<div><br></div><div>br,</div><div><br></div><div>Joris</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 25, 2013 at 11:35 PM, Frank Kampas <span dir="ltr"><<a href="mailto:fkampas@msn.com" target="_blank">fkampas@msn.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div style="font-size:12pt;font-family:'Calibri'">
<div>Ipopt ,by design, find a local optimum. It is not a global
solver.</div>
<div style="font-style:normal;font-size:small;display:inline;text-decoration:none;font-family:'Calibri';font-weight:normal">
<div style="FONT:10pt tahoma">
<div> </div>
<div style="BACKGROUND:#f5f5f5">
<div><b>From:</b> <a title="deus87@gmail.com" href="mailto:deus87@gmail.com" target="_blank">Joris Kinable</a> </div>
<div><b>Sent:</b> Thursday, April 25, 2013 4:56 PM</div>
<div><b>To:</b> <a title="ipopt@list.coin-or.org" href="mailto:ipopt@list.coin-or.org" target="_blank">ipopt@list.coin-or.org</a> </div>
<div><b>Subject:</b> [Ipopt] Ipopt stuck at local optimum</div></div></div>
<div> </div></div>
<div style="font-style:normal;font-size:small;display:inline;text-decoration:none;font-family:'Calibri';font-weight:normal"><div><div class="h5"><div><div>
<div dir="ltr">Dear,
<div> </div>
<div>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:</div>
<div> </div>
<div>1. Solve the problem heuristically, with a time limit.</div>
<div>2. Feed the resulting solution to Ipopt, and let is solve.</div>
<div> </div>
<div>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.</div>
<div> </div>
<div>br,</div>
<div> </div>
<div>Joris</div></div>
</div></div><p>
</p></div></div><hr>
_______________________________________________<br>Ipopt mailing
list<br><a href="mailto:Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br><a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
<p></p></div></div></div></div>
</blockquote></div><br></div>
<br>_______________________________________________<br>
Ipopt mailing list<br>
<a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Pedro Tabacof,<br>Unicamp - Eng. de Computação 08.<br>
</div></div>