Solve minimization problem under LMI constraints

355 views
Skip to first unread message

Wajdi Belhaj

unread,
Nov 19, 2014, 8:09:43 AM11/19/14
to yal...@googlegroups.com
Hello eveybody,
I have the minimization problem  under LMIs constraints .
I want to use YALMIP or LMI toolbox (gevp function ) to resolve the following optimization problem.

Minimize h1 subject to the following LMIs constraints :
 X>0

[h1(X*(A+Ad)'+(A+Ad)*X)-sigma*B*B' X*Ad' X(A+Ad)';

Ad*X -X-sigma*B*B' 0;

(A+Ad)*X 0 -X-sigma*B*B'] <0

A, Ad,sigma,B are known

X, h1 are unkown .

Thanks in advance.

N.B I have tried theses codes

%%%%%%%%%%%%%%%%%%%%%%%%%%% Code in YALMIP %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Define the variables

A = [2 0 1;1.75 0.25 0.8;-1 0 1];

Ad= [-1 0 0;-0.1 0.25 0.2;-0.2 4 5];

B=[0;0;1];

X = sdpvar(3,3);

h1=sdpvar(1);

sigma=1;

F=[[h1*(X*(A+Ad)'+(A+Ad)*X)-sigma*B*B' X*Ad' X(A+Ad)';Ad*X -X-sigma*B*B' 0;(A+Ad)*X 0 -X-sigma*B*B']<0, X>0];

X= double(X);

solvesdp(F,X)



%%%%%%%%%%%%%%%%%Code LMI toolbox %%%%%%%%%%%%%%%%%%%%%%%%%%%

clc

clear all;

close all;

% The problem we solve here is gevp of a linear system x' = Ax. 

%

% This can be formulated as

%

% min h-1 

% s.t 

%         X > 0

%

pause


% Define the variables

A = [2 0 1;1.75 0.25 0.8;-1 0 1];

Ad= [-1 0 0;-0.1 0.25 0.2;-0.2 4 5];

B=[0;0;1];

sigma=1;

%A'= A+Ad ;

%X = sdpvar(3,3);



% LMI Description

setlmis([]);           % 

X=lmivar(1,[3 1]);     % 

%h1=lmivar(1,1);     % 


% 1 LMI

lmiterm([-1 1 1 X],1,1) % X > 0


% 2 LMI h-1(X*(A+Ad)'+(A+Ad)*X)- sigma*B*B' < 0

lmiterm([2 1 1 X],A+Ad,1,'s');   

lmiterm([2 1 1 0],-sigma*B*B');



% % 2 LMI -X*A1'-A1*X+M1'*B1'+B1*M1-(2-1)*Y-2*alpha*X>0

% lmiterm([-3 1 1 X],-A1,1,'s');   

% lmiterm([-3 1 1 M1],B1,1,'s');

% lmiterm([-3 1 1 Y],-1,1);

% lmiterm([-3 1 1 X],-2,1);



LMIs=getlmis;


[alpha,Xopt]=gevp(LMIs,1);


   X=dec2mat(LMIs,Xopt,1);

   alpha;

Johan Löfberg

unread,
Nov 19, 2014, 8:18:30 AM11/19/14
to yal...@googlegroups.com
1. You have X(A+Ad) where you want X*(A+Ad)

2. Your 0 in your matrix should be zeros(col,row)

3. Don't use strict inequalities, it should give you an error or warning

4 Why are you doing X= double(X)?

5. Minimizing the matrix X (which is a constant matrix with Nans as you have applied double) as the objective makes no sense

6. to solve GEVPs, you have to code the bisection
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Examples.DecayRate

Reply all
Reply to author
Forward
0 new messages