<div dir="ltr">Hi <div>Thanks for the help. I will make that addition to my code. I have one question from your response. You say "<span style="font-size:12.8000001907349px">let that solver compute a locally optimal dual solution for it</span>". However when SCIP finds a globally optimal solution wouldn't the corresponding dual solution correspond to globally optimal multiplier vector (i.e global optimal solution of the resultant lagrangian dual)? What does "locally optimal dual solution" (quoted above) refer to? </div><div>Thanks for your time. </div><div>Regards   </div><div hspace="streak-pt-mark" style="max-height:1px"><img style="width:0px; max-height:0px;" src="https://mailfoogae.appspot.com/t?sender=aYXB1cnYzODk0QGdtYWlsLmNvbQ%3D%3D&type=zerocontent&guid=293f1c6d-7109-4da6-ba92-fa3edded5499"><font color="#ffffff" size="1">ᐧ</font></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Apurv Shukla <br><div>Third Year Undergraduate Student</div><div>Department of Mechanical Engineering </div><div>IIT Kharagpur</div></div></div></div>
<br><div class="gmail_quote">On Fri, Jun 5, 2015 at 4:36 PM, 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>
no, SCIP might not even have computed dual multipliers internally for the quadratic constraints when finding an optimal solution.<br>
If you have a (local) QCQP/NLP solver at hand, you could pass the solution from SCIP to it and let that solver compute a locally optimal dual solution for it.<br>
<br>
If you want to dig into SCIP code, you could try to trigger an explicit call to Ipopt within SCIP after SCIP has finished the solve. The function solveSubNLP() in heur_subnlp.c may give an idea how to do this.<br>
Essentially, you have to call SCIPtransformProb(), SCIPpresolve(), and SCIPsolve() (with a nodelimit of 1) to get into a state in which one can start a solve of the NLP relaxation (which isn't relaxing anything of your problem in your case) in SCIP. Then set the previously found solution via SCIPsetNLPInitialGuess() and solve the NLP with SCIPsolveNLP(). If that worked, you can query the rows of the NLP for their dual solution via SCIPnlrowGetDualsol(). Looking at the code in heur_subnlp.c, this sounded easier than it is :-).<br>
<br>
Stefan<div><div class="h5"><br>
<br>
On 06/05/2015 11:45 AM, Apurv Shukla wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Dear All<br>
I am using SCIP as a black box solver for solving a nonconvex quadratically<br>
constrained quadratic program consisting of an indefinite quadratic<br>
objective, one quadratic equality constraint, one linear equality<br>
constraint  and box constraints on the variables. SCIP has been able to<br>
solve all the instances to optimality till now however since this is a part<br>
of a bigger primal-dual algorithm, I need the optimal multiplier vector<br>
(Lagrange Dual Vector) associated with each of the constraint at the<br>
optimal solution. Is there any method or procedure to retrieve these<br>
values? Any help regarding this will be much appreciated.<br>
Thanks<br>
<br>
<br>
<br>
Apurv Shukla<br>
Third Year Undergraduate Student<br>
Department of Mechanical Engineering<br>
IIT Kharagpur<br></div></div>
ᐧ<br>
<br>
<br>
<br>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="http://listserv.zib.de/mailman/listinfo/scip" target="_blank">http://listserv.zib.de/mailman/listinfo/scip</a><br>
<br>
</blockquote>
<br>
</blockquote></div><br></div>