<div dir="ltr">Thanks for your quick response - then I have to ask this question again: why I got negative multipliers ( "lambda" in "finalize_solution") when all my constraints are in the form of "<="?<div><br></div><div>Best, Chunhua</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 7, 2016 at 7:15 AM, Stefan Vigerske <span dir="ltr"><<a href="mailto:stefan@math.hu-berlin.de" target="_blank">stefan@math.hu-berlin.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
yes, internally, Ipopt creates your inequalities as equalities with slacks and ip_data is internal data, so refers to the internal representation of your problem.<br>
However, lambda refers to the problem with inequality constraints.<br>
<br>
Stefan<div class="HOEnZb"><div class="h5"><br>
<br>
On 11/07/2016 04:10 PM, Chunhua Men wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Stefan,<br>
<br>
Thanks for your response. I think I still miss something.... I have asked a<br>
question several months ago: all my constraints were inequality (<=) and I<br>
wondered why I got negative "lambda" in "finalize_solution". Then I was<br>
told that IPOPT treats all constraints as equalities with slacks...<br>
However, in this email, I was told ip_data refer to the equality<br>
constraints (+ slack variables), and "lambda" refer my<br>
original inequalities (<=)?<br>
<br>
Thanks again, Chunhua<br>
<br>
<br>
<br>
On Mon, Nov 7, 2016 at 6:01 AM, Stefan Vigerske <<a href="mailto:stefan@math.hu-berlin.de" target="_blank">stefan@math.hu-berlin.de</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
you should read lambda directly.<br>
ip_data should refer to the internal representation of your problem, where<br>
inequality constraints have been reformulated to equality constraints (+<br>
slack variables), so it might not be obvious what y_c() or y_d() mean.<br>
You can have a look at the documentation of intermediate_callback to get<br>
some idea how to bring y_c() and y_d() into the TNLP space:<br>
<a href="http://www.coin-or.org/Ipopt/documentation/node23.html#SECTI" rel="noreferrer" target="_blank">http://www.coin-or.org/Ipopt/d<wbr>ocumentation/node23.html#SECTI</a><br>
ON00053410000000000000<br>
<br>
Hope that helps,<br>
Stefan<br>
<br>
<br>
On 10/28/2016 12:44 AM, Chunhua Men wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
I have a convex model with some inequality (<=)  nonlinear constraints. At<br>
the end of the optimization,  I wanted to get the Lagrange multipliers for<br>
each constraint. I found out there were 2 ways within<br>
"finalize_solution(...)" to get them:<br>
1) read "lambda" directly;<br>
2) get from ip_data->curr()->y_d(). And I had to do some data transfer to<br>
get it -  and what I did was "static_cast<const<br>
Ipopt::DenseVector*>(GetRawPtr<wbr>(ip_data->curr()->y_c()))".<br>
<br>
However, these 2 methods could not give me the completely same results. In<br>
my case, there were 6 constraints: 3 of them were the same, and 3 of them<br>
were not.<br>
<br>
Did I do anything wrong? and what is the best way to get Lagrange<br>
multipliers?  BTW, I am using " limited-memory" as<br>
"hessian_approximation",<br>
so I could not get Lagrange multipliers from "eval_h".<br>
<br>
Thanks! Chunhua<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Ipopt mailing list<br>
<a href="mailto:Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__list.coi" rel="noreferrer" target="_blank">https://urldefense.proofpoint.<wbr>com/v2/url?u=http-3A__list.coi</a><br>
n-2Dor.org_mailman_listinfo_ip<wbr>opt&d=CwICAg&c=Ngd-ta5yRYsqe<br>
UsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4<wbr>&r=BRcuJnQr5NAzU29t80hk2r<br>
sLc4vrlRySBDabuq0O1ZI&m=8QCzuo<wbr>qz-AgMGxJ-2JYYSS62sOzui1<br>
ScGc0vPaY2sJM&s=qrM6-XpdelsvZ3<wbr>rS_QCzA2dHp6S7EvzsMi-Le1gguHw&<wbr>e=<br>
<br>
<br>
</blockquote>
<br>
--<br>
<a href="http://www.gams.com/~stefan" rel="noreferrer" target="_blank">http://www.gams.com/~stefan</a><br>
<br>
</blockquote>
<br>
</blockquote>
<br>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
<a href="http://www.gams.com/~stefan" rel="noreferrer" target="_blank">http://www.gams.com/~stefan</a><br>
</font></span></blockquote></div><br></div>