Lagrange multipliers associated with eack constraint in an SDP problem

504 views
Skip to first unread message

mohammadreza chamanbaz

unread,
May 20, 2014, 3:32:02 AM5/20/14
to yal...@googlegroups.com
Hi

I need to extract the Lagrange multiplier associated to each constraint in an SDP (say an LMI problem).
The question is: How can I obtain Lagrange multipliers for each constraint?
I am developing the new version of RACT (randomized algorithms control toolbox) for which I need to have Lagrange multipliers which provide the sensitivities of the optimal objective.
I would appreciate your kind help.

Warmest Regards,
Mohammadreza

Johan Löfberg

unread,
May 20, 2014, 3:34:02 AM5/20/14
to yal...@googlegroups.com

mohammadreza chamanbaz

unread,
May 22, 2014, 3:22:36 AM5/22/14
to yal...@googlegroups.com
Thanks!!
In the formulation that I use, it is assumed that all the constraints are scalar and hence the dual variable associated to each constraint is scalar as well. This assumption is not limiting (in theory) since we can change LMI to a scalar constraint using max eig function.

min c^Tx
s.t max(eig(LMI))<0

Nevertheless, in practice YALMIP provides a matrix with the same size as the LMI as the dual variable. Now the question is: if the max eig of the matrix provided by YALMIP as the dual variable is the same as the dual variable obtained from the above optimization problem?

If not what is the most efficient way to change the LMI constraint to a scalar one before solving the problem?

Warmest Regards,
Mohammadreza

Johan Löfberg

unread,
May 22, 2014, 5:33:53 AM5/22/14
to yal...@googlegroups.com
That is not possible (as far as I know). The whole idea with convex conic optimization is the fact that the dual lives in the same cone as the constraint, i.e., in the matrix world for matrix inequalities.

Your motivation is a bit backwards. We cannot solve max(eig(LMI))<= 0 problems in scalar form easily. Instead, we restrict the matrix LMI to be Hermitian, and write it as the cone constraint LMI <= 0

mohammadreza chamanbaz

unread,
May 22, 2014, 6:07:37 AM5/22/14
to yal...@googlegroups.com
Actually we don't need the exact value of the dual variable but we need to compare the dual variables associated to finitely many random LMIs and remove the constraints with the top largest values of (scalar) dual variable.
Having said that, do you think the max eig of the matrices provided by YALMIP as dual variables can give us a good insight on the comparative values of the (scalar) Lagrange multipliers?

Johan Löfberg

unread,
May 22, 2014, 6:09:02 AM5/22/14
to yal...@googlegroups.com
As I said, I don't know anything about how to scalarize a conic dual

mohammadreza chamanbaz

unread,
May 22, 2014, 6:24:38 AM5/22/14
to yal...@googlegroups.com
Thanks!

Edi

unread,
May 26, 2014, 11:37:11 AM5/26/14
to yal...@googlegroups.com
Hi Johan,


I have a nonlinear quasi-convex problem. I want to extract the dual variables at the current solution given by yalmip. I am trying to use ''dual command' but it gives me an error saying that "Cannot dualize nonlinear problems''. Is it any other way to find the dual variables?


Thanks
Edmond

Johan Löfberg

unread,
May 26, 2014, 2:33:28 PM5/26/14
to yal...@googlegroups.com
That error message can only occur if you try to use the option dualize. It has nothing to do with the command dual

M. Reza Amini

unread,
Apr 23, 2018, 1:11:35 PM4/23/18
to YALMIP
Hi Johan,

I am interested to read this link, but it does not work anymore, would you please provide the updated link?

Thanks,

M. Reza Amini

unread,
Apr 23, 2018, 1:16:55 PM4/23/18
to YALMIP
I think this is the update link, thank you though: https://yalmip.github.io/command/dual/
Reply all
Reply to author
Forward
0 new messages