I have been having problems with the LMI-toolbox 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 LMI-toolbox?
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
Of the two, I'd say that Yalmip does more than CVX, and certainly
connects to more solvers, but CVX is (for me at least) easier to use.
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 LMI-toolbox 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, block-type LMI.
Thanks,
-JH
%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 auto-complete 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 <74d7b204-23c3-4f86-ba2c-ed0f4141d...@d23g2000vbm.googlegroups.com>...
> > On Aug 29, 7:17?pm, "JH " <jhl...@colorado.edu> wrote:
> > > Hello everyone-
>
> > > I have been having problems with the LMI-toolbox 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 LMI-toolbox?
>
> > > 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 LMI-toolbox 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, block-type LMI.
>
> Thanks,
> -JH- Hide quoted text -
>
> - Show quoted text -
-JH
Johan Löfberg <loef...@control.ee.ethz.ch> wrote in message <24563a55-24cc-4baf...@j9g2000vbp.googlegroups.com>...
> On Aug 30, 10:00?pm, "JH " <jhl...@colorado.edu> wrote:
> > Johan L?fberg <loefb...@control.ee.ethz.ch> wrote in message <74d7b204-23c3-4f86-ba2c-ed0f4141d...@d23g2000vbm.googlegroups.com>...
> > > On Aug 29, 7:17?pm, "JH " <jhl...@colorado.edu> wrote:
> > > > Hello everyone-
> >
> > > > I have been having problems with the LMI-toolbox 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 LMI-toolbox?
> >
> > > > 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 LMI-toolbox 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, block-type LMI.