Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.


J
Posts:
9
Registered:
8/29/09


Re: LMItoolbox vs YALMIP vs CVX
Posted:
Aug 31, 2009 8:03 AM


Very cool, Johan. I will install Yalmip and get some results by Tues. I'll let you know how it turns out. Thanks again for your help.
JH
Johan Löfberg <loefberg@control.ee.ethz.ch> wrote in message <24563a5524cc4bafbb0fa397af54df44@j9g2000vbp.googlegroups.com>... > Yp = sdpvar(n); > Xp = sdpvar(n); > Ac = sdpvar(n); > Bc = sdpvar(n,p,'full'); > Cc = sdpvar(m,n,'full'); > Dc = sdpvar(p,p,'full'); > > %Messy version where you have to keep track of zeros etc > Constraints = [Yp > 0, Xy > 0]; > Constraints = [Constraints, [Yp eye(n) zeros(?,?) (Ap*Yp+Bb*Cc)' ...] > >0] > solvesdp(constraints) > > % Maybe easier, YALMIP will autocomplete to symmetric matrix and try > to > % find out dimensions of the zeros > % http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?n=Commands.Blkvar > Z = blkvar; > Z(1,1) = Yp; > Yp(2,1) = eye(n); > Yp(3,1) = (Ap*Yp+Bb*Cc)'; > Yp(4,1) = Ac; > Yp(5,1) = Cz*Yp+Db*CC; > Yp(2,2) = Xy; > etc... > Constraints = [Yp > 0, Xy > 0, Z>0]; > solvesdp(constraints) > > email if you have any problems. > > > On Aug 30, 10:00?pm, "JH " <jhl...@colorado.edu> wrote: > > Johan L?fberg <loefb...@control.ee.ethz.ch> wrote in message <74d7b20423c34f86ba2ced0f4141d...@d23g2000vbm.googlegroups.com>... > > > On Aug 29, 7:17?pm, "JH " <jhl...@colorado.edu> wrote: > > > > Hello everyone > > > > > > I have been having problems with the LMItoolbox feasp not being able to find a feasible solution when there is one and also with mincx returning a solution that it thinks is feasible when the returned solution is in fact not feasible. ?So, I am thinking about trying some of the other package such as CVX and YALMIP. > > > > > > Has anyone had similar problems or had experience with some of the other (publicly) available packages that would indicate they are more robust/better than the LMItoolbox? > > > > > > Thanks! > > > > JH > > > > > For a general problem, you are much better off using a modern solver > > > such sedumi or sdpt3, which are interfaced in YALMIP. Installing some > > > of these solvers takes a couple of minutes and cost you nothing, so > > > why not give them a try together with yalmip or cvx. In addition, you > > > get a modelling language which will make it very easy to actually > > > define the problems. > > > > > Of course, I am slightly biased, being the developer of YALMIP :) > > > > > Just email me if you have any direct questions. > > > /johan > > > > Thanks for the reply, Johan. > > > > I am working on a discrete time Hinf optimization LMI. ?Would there be an example of how to code up something that looks like ?(sorry, no matter how I try, the newsgroup interface is going to mangle the following): > > > > ? ? ? ? ?N ? ? ? ? ? N ? ? ? ? ? Nw ? ? ? ? ? ? ? N ? ? ? ? ? ? ? ? ? ? N ? ? N ? ? Nz > > ? ? ?? > > 0 < [ ?Yp ? ? ? ? ?* ? ? ? ? * ? ? ? ? ? ? ? ? ? * ? ? ? ? ? ? ? ? ? ? * ? ? * ? ? * > > ? ? ? ? ?I ? ? ? ? ? Xy ? ? ? ? ?* ? ? ? ? ? ? ? ? ? * ? ? ? ? ? ? ? ? ? ? * ? ? * ? ? * > > ? ? ? ? ?0 ? ? ? ? ? 0 ? ? ? ? ? Iw ? ? ? ? ? ? ? ? * ? ? ? ? ? ? ? ? ? ? * ? ? * ? ? * > > ? ? ? ? ?Ap*Yp+Bb*Cc ? ? Ap+Bb*Dc*Cy ? Ba+Bb*Dc*Dy ?Yp ? * ? ? * > > ? ? ? ? ?Ac ? ? ? ? ? ? ? ? ? ? Xy*Ap+Bc*Cy ? Xy*Ba+Bc*Dy ? ?I ? ? Xy ? ?* > > ? ? ? ? ?Cz*Yp+Db*CC ? ? Cz+Db*Dc*Cy ? Da+Db*Dc*Dy ? 0 ? ? 0 ? sigma*Iz ] > > > > Yp, Xy are symmetric >0 & Ac,Bc,Cc,Dc are arbitrary rectangular and all other quantities are constants of appropriate dimensions dimensions are along the top. > > > > The LMItoolbox ususally finds a good solution until the dimension "N" becomes large enough, then it fails when there is in fact a solution. > > > > CVX has not been successful yet it quits while the matrix has negative eigenvalues. ?Though, it is possible that I have made a mistake in coding it up. > > > > I am going to try Yalmip next. ?It would be great if there was an example of coding up a similar, blocktype LMI. > > > > Thanks, > > JH Hide quoted text  > > > >  Show quoted text 



