Lagrange multiplier values after solving problem with Interior point method (using IPOPT solver)

207 views
Skip to first unread message

Tejaswini Darure

unread,
Nov 23, 2016, 5:06:31 AM11/23/16
to YALMIP
Hello, 

I am solving an nonlinear optimization problem using IPOPT solver. 

>>sdpvar x(4)
>>constraints = [ 25-x(1)*x(2)*x(3)*x(4) <= 0];
>>constraints=[constraints;sum(x(1:4).^2)-40 == 0];
>>constraints=[constraints;1<=x(1:4)<=5];
>>objective = x(1)*x(4)*(x(1)+x(2)+x(3))+x(3) ;
>>options = sdpsettings('solver','ipopt','sdpa.maxIteration',100,'verbose',1,'usex0',[1,5,5,1]) ;
>>optimize(constraints,objective,options);
>>value(objective)

I need to access values of Lagrange multiplers also. 
How can I do that? 

Thanks a ton in advance. 

Regards,




Johan Löfberg

unread,
Nov 23, 2016, 5:10:34 AM11/23/16
to YALMIP
YALMIP does not deal with duals on nonlinear programs.

The best you can do is to turn on the option 'savesolveroutpu't, and the look at the solveroutput returned in the output from optimize, and see if that nonlinear solver has returned any dual information (the field info would be the only possibility in ipopt)

Tejaswini Darure

unread,
Nov 23, 2016, 5:12:34 AM11/23/16
to YALMIP
Thank you Johan for quick reply. 

Mark L. Stone

unread,
Nov 24, 2016, 1:34:05 AM11/24/16
to YALMIP
Or if you have to, compute the Jacobian (matrix of gradients) of the active (satisfied with equality) constraints.  Then formulate and solve the non-negatively constrained (for active <= constraints) linear least squares problem, which is a convex QP, to determine the Lagrange multipliers of the active constraints.  The Lagrange multipliers of inactive constraints are all equal to zero.

Tejaswini Darure

unread,
Feb 3, 2017, 11:58:16 AM2/3/17
to YALMIP
Thank you Mark! 
Reply all
Reply to author
Forward
0 new messages