<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body><P dir=ltr style="MARGIN-RIGHT: 0px">Thanks Andreas, this is very helpful. </P>
<P dir=ltr style="MARGIN-RIGHT: 0px">&nbsp;</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">I will take a closer look at the code, now that I know where I am looking ;)</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">&nbsp;</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">I understand what you are saying about the way the restoration phase is initialised etc, but just to check on a related point...</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">&nbsp;</P>
<P dir=ltr style="MARGIN-RIGHT: 0px">If I understand correctly, the change that was introduced in Changeset 779 to return restoration phase multipliers if it terminates in the restoration phase, makes some of the restoration phase multipliers available to the <FONT size=2></P>
finalize_solution() function. So, if I extract multipliers in my implementation of finalize_solution(), I can effectively get the sensitivity of the constraint violation function to the bounds and constraints of the normal NLP problem - this is of course very useful by itself. I guess what is&nbsp;missing from the complete picture of the restoration problem at this point&nbsp;are&nbsp;the values for the introduced n and p variables mentioned in&nbsp;the implementation paper and multipliers for their bounds?<BR>
&nbsp;<BR>
Graham<BR>
</FONT><BR><BR>&gt;Hi Graham,<BR><BR>&gt;At the moment, the warm start only works for the regular iterations, <BR>&gt;i.e., when you pass that variables and multipliers back, Ipopt uses those <BR>&gt;to start the regular optimization.&nbsp; However, when you make the algorithm <BR>&gt;start with the restoration phase (using start_with_resto), the multipliers <BR>&gt;for the restoration phase (which is a problem formulation that is <BR>&gt;different and larger than the normal NLP) are reinitialized like before <BR>&gt;every restoration phase start.<BR><BR>&gt;If you would really want to do a warm start for the restoration phase, you <BR>&gt;could try to adapt the IpRestoMinC_1Nrm.cpp and IpRestoIpoptNLP.cpp <BR>&gt;files... somehow store the information away that IpRestoMinC_1Nrm.cpp <BR>&gt;receives from the internal restoration phase algorithm after return (for <BR>&gt;all restoration phase variables and multipliers which are more than for <BR>&gt;the usual NLP), and change IpRestoIpoptNLP.cpp so that it makes use of <BR>&gt;that information later in the InitializeStructures call...)<BR><BR>&gt;Maybe that helps a bit...<BR><BR>&gt;Andreas<BR><BR><I></I><br /><hr />Be one of the first to try  <a href='http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d' target='_new'>Windows Live Mail.</a></body>
</html>