<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.hoenzb
{mso-style-name:hoenzb;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Hi Antonello<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">I have already integrated with IPOPT in C++ by passing all the required information it needs including second derivatives. Currently
it is throwing an error saying the problem is not solvable, although clearly it is solvable. I initially thought this is a limitation of the solver MUMPS but now I understand this may not be the case. This may be due to some errors in the H matrix as it is
quite complicated. I will do some more troubleshooting and see.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Any python related solvers will not work in my case as our app is written in C++ and we really don’t want to embed python interpreter
inside nor talk to an external python process , but thank you for letting me know about those – I never knew they existed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">/Manusha</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> antonello.lobianco@gmail.com [mailto:antonello.lobianco@gmail.com]
<b>On Behalf Of </b>Antonello Lobianco<br>
<b>Sent:</b> 19 December 2017 10:48<br>
<b>To:</b> Wijekoon, Manusha [ICG-IT] <mw99659@imceu.eu.ssmb.com><br>
<b>Cc:</b> Herzog Raoul <Raoul.Herzog@heig-vd.ch>; Daniel Feenberg <feenberg@nber.org>; ipopt@list.coin-or.org<br>
<b>Subject:</b> Re: [Ipopt] how to select non linear solver<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">I think you have a bit of confusion.<o:p></o:p></p>
</div>
<p class="MsoNormal">You posted on the "ipopt" mailing list.<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">"ipopt" is a solver engine for non linear problems. It is free and has, by itself, no limits (and, by the way, let you choose between different "linear solvers" for the linear part of solving a nonlinear problem..
let's call them "subsolvers". The default MUMPS is fine.)<o:p></o:p></p>
</div>
<p class="MsoNormal">Now, how do yo use IPOPT ?<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">You can use it trough the C++ interface. But "coding" a model in C++, taking care of multiple dimensions of your problem, passing IPOPT the first and second derivatives (or using automatic differentiation libraries
- ADOL-C and ColPack in my case) is long and complex.<o:p></o:p></p>
</div>
<p class="MsoNormal">So you use IPOPT within an Algebric Modelling Language, that allows you to code your model in a simple equation-like style.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Two of the oldests AML - GAMS and AMPL- are commercial. Even to use IPOPT - by itself free- they ask you money.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Nowaday you have better alternatives, like Pyomo for Python or JuMP for Julia.
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">If you don't have "path dependency", e.g. having to work with someone that uses only GAMS or AMPL, go for them and you can use IPOPT totally for free (and use nice, easy to integrate languages).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Antonello<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 19 December 2017 at 10:01, Wijekoon, Manusha <<a href="mailto:manusha.wijekoon@citi.com" target="_blank">manusha.wijekoon@citi.com</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">Thanks Raoul,<br>
<br>
I will try different solvers. However most of the solvers need licence for commercial use. This is OK as long as we can do an evaluation, but could not find any info on evaluation licences. I will keep on searching.<br>
<br>
Thanks<br>
<span class="hoenzb"><span style="color:#888888">Manusha</span></span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br>
<br>
-----Original Message-----<br>
From: Herzog Raoul [mailto:<a href="mailto:Raoul.Herzog@heig-vd.ch">Raoul.Herzog@heig-vd.ch</a>]<br>
Sent: 18 December 2017 22:17<br>
To: Daniel Feenberg <<a href="mailto:feenberg@nber.org">feenberg@nber.org</a>>; Wijekoon, Manusha [ICG-IT] <<a href="mailto:mw99659@imceu.eu.ssmb.com">mw99659@imceu.eu.ssmb.com</a>><br>
Cc: <a href="mailto:ipopt@list.coin-or.org">ipopt@list.coin-or.org</a><br>
Subject: RE: [Ipopt] how to select non linear solver<br>
<br>
Hi,<br>
<br>
The linear solvers (MUMPS, MA57, etc) are only involved in the search of the "Newton" direction, not in the subsequent line search.<br>
The choice of the linear solver mostly affects computation time, e.g. if the Hessian matrix is sparse, in some (rare) cases the choice of the linear solver may also affect convergence.<br>
<br>
--raoul<br>
<br>
-----Message d'origine-----<br>
De : Ipopt [mailto:<a href="mailto:ipopt-bounces@coin-or.org">ipopt-bounces@coin-or.org</a>] De la part de Daniel Feenberg Envoyé : Montag, 18. Dezember 2017 17:05 À : Wijekoon, Manusha <<a href="mailto:manusha.wijekoon@citi.com">manusha.wijekoon@citi.com</a>>
Cc : <a href="mailto:ipopt@list.coin-or.org">ipopt@list.coin-or.org</a> Objet : Re: [Ipopt] how to select non linear solver<br>
<br>
<br>
<br>
On Mon, 18 Dec 2017, Wijekoon, Manusha wrote:<br>
<br>
><br>
> Hi<br>
><br>
> <br>
><br>
> I am trying to tackle a non-linear optimization problem and current<br>
> solver selected is MUMPS linear solver. I assume this solver cannot<br>
> solve non-linear problems?<br>
<br>
All(?) non-linear optimization packages alternate between a non-linear step that chooses a direction of improvement, and a linear step that selects a distance along that direction. IPOPT offers a choice of solvers for the linear step, but that doesn't mean
it can't solve a non-linear problem. Pick one and go ahead.<br>
<br>
daniel feenberg<br>
NBER<br>
<br>
_______________________________________________<br>
Ipopt mailing list<br>
<a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_ipopt&d=DwMFaQ&c=j-EkbjBYwkAB4f8ZbVn1Fw&r=3V6DSqhjAEmq5iy51r9vVgFw9iAHiTSNsZl3DKb4ONM&m=-mkh3TxGNRxSRh7UpwuTIaHjFhm2i2NOWKvP3cdHqF0&s=m0VBnL2-lyR8NNopH7SoHJwdhqEOINJYbcUrlQUaso4&e=" target="_blank">https://list.coin-or.org/mailman/listinfo/ipopt</a><br>
<br>
<br>
<br>
<o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<br>
-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Antonello Lobianco<br>
AgroParisTech, Laboratoire d'Economie Forestière<br>
14 Rue Girardet - 54000 Nancy, France<br>
Tel: +33.383396865<br>
Email, university: <a href="mailto:antonello.lobianco@nancy.inra.fr" target="_blank">
antonello.lobianco@inra.fr</a><br>
Email, personal: <a href="mailto:antonello@lobianco.org" target="_blank">antonello@lobianco.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__antonello.lobianco.org_&d=DwMFaQ&c=j-EkbjBYwkAB4f8ZbVn1Fw&r=3V6DSqhjAEmq5iy51r9vVgFw9iAHiTSNsZl3DKb4ONM&m=-mkh3TxGNRxSRh7UpwuTIaHjFhm2i2NOWKvP3cdHqF0&s=9ACzpNRkrywXIrzMGhPSphlUx9zJ1HoiHHekJlcNhao&e=" target="_blank">http://antonello.lobianco.org</a><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>