the right solver selected

28 views
Skip to first unread message

olfa hrizi

unread,
May 23, 2013, 10:16:44 AM5/23/13
to yal...@googlegroups.com
what's the right solver in yalmip used to solve an equality with many unknown variables.
look here plz when i tried to solve this expression : sys=set([P*A+A'*P-Y*C1-C1'*Y' -z*(A'*P*E-C1'*Y'*E); ...
         -z*(E'*P*A-E'*Y*C1)  -2*z*E'*P*E+z*G]<0)
where P,Y,G are the solution . %solver used is lmilab
but when i included z as an unknown scalar, an error appeared : Solver not applicable (lmilab)
!!!!! plz ansewer  me thanks a lot

Johan Löfberg

unread,
May 23, 2013, 11:07:16 AM5/23/13
to yal...@googlegroups.com
To begin with, don't use LMILAB even in the linear case
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Solvers.LMILAB

Secondly, SET is obsolete
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Commands.Set

Third, strict inequalities is not really supported
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Blog.Prepare-your-code

Fourth, There is no equality in your model.

And finally, you will not be able to solve this with both z and P as decision variables, since that no longer leads to a linear expression. Instead, you have a bilinear matrix inequality, for which there really is no solver (besides penbmi, but most people don't have accessto that solver, and even if you do, it is not sure it will manage to solve the problem).

Easiest approach is to grid over z, i.e, solve a large number of problems for variaous fixed z, and pick the best solution. Alternatively, pick an initial guess on z and P, and then linearize, use trust-regions, path-following, alternating directions etc etc.

Reply all
Reply to author
Forward
0 new messages