gevp problem for ilmi algorithm

5 visualizzazioni (ultimi 30 giorni)
Mohsen Jorjani
Mohsen Jorjani il 24 Giu 2017
Modificato: Magdi Mosa il 18 Gen 2019
Hi. I am trying to solve the iterative lmi algorithm using gevp command in matlab. in part of the algorithm it says:
-------------------------------------------------------------------------
1. A,B,C the state matrices are realized first.
2. Q>0 is selected and a ARE is solved for the unknown P A'P+PA-PBB'P+Q=0
3.Iteration starts i=1 and X(i)=P(obtained from above step); Three unknowns are there: P(i), F, alpha(i)( a scalar)
4.Solve the optimization for P(i),F,alpha(i):
minimize alpha(i) subjected to LMI constraints:
4.1 [ A'P(i)+P(i)A - X(i)BB'P(i) - P(i)BB'X(i) + X(i)BB'X(i) - alpha(i)P(i) (B'P(i)+FC)';
B'P(i)+FC -I ] < 0
4.2 P(i)>0
5. alpha(i) is obtained and checked if alpha(i)<=0
-----------------------------------------------------------------
so I have written the following code:(Matrix A is 4*4 and Matrix B is 4*1 and Matrix C is 3*4 in my problem)
setlmis([]);
P=lmivar(1,[4 1]);
F=lmivar(2,[1 3]);
lmiterm([1 1 1 0],0)
lmiterm([-1 1 1 P],1,1)
lmiterm([2 1 1 P],1,A','s')
lmiterm([2 1 1 P],-1,(B*B')*X,'s')
lmiterm([2 1 1 0],X*(B*B')*X)
lmiterm([2 2 1 P],B',1)
lmiterm([2 2 1 F],1,C)
lmiterm([2 2 2 0],-1)
lmiterm([-2 1 1 P],1,1)
lmiterm([-2 2 1 0],zeros(1,4))
lmiterm([-2 2 2 0],zeros(1,1))
lmis = getlmis;
[alpha,popt]=gevp(lmis,2)
-----------------------------------------------------------
but MATLAB says:
* ill-posed problem: the constraint B(x) > 0 might be missing.
Result: could not establish feasibility nor infeasibility
-------------------------------------------------------------------------
What is the problem of my code??? Thanks in advance.

Risposta accettata

Stephen Schein
Stephen Schein il 12 Giu 2018
Modificato: Stephen Schein il 12 Giu 2018
Hi. In the LMI A(x)<λB(x), B(x) must be positive definite, i.e. B(x) >0, for the problem to be "well-posed".
In your case, your block LMI (given that your λ variable is in fact alpha) is:
[ A'P(i)+P(i)A - X(i)BB'P(i) - P(i)BB'X(i) + X(i)BB'X(i) - alpha(i)P(i) (B'P(i)+FC)';
B'P(i)+FC -I] < 0
Or reframing:
[ A'P(i)+P(i)A - X(i)BB'P(i) - P(i)BB'X(i) + X(i)BB'X(i) (B'P(i)+FC)';
B'P(i)+FC -I]
<
alpha(i) * [ P(i) 0;
0 0]
Clearly, the block diagonal matrix on the right hand side of your LMI is not positive definite, and MATLAB is outputting:
  • ill-posed problem: the constraint B(x) > 0 might be missing.Result: could not establish feasibility nor infeasibility
I'm not sure exactly how to fix this, but you may be able to reformulate an equivalent LMI so that you have dependence on alpha in both the upper left and lower right blocks of your "B(x)" matrix.
Hope this helps.
Edit: I found an advanced topics page that actually addresses this issue. The link is below:
https://www.mathworks.com/help/robust/ug/advanced-topics.html
Take a look at the section "Semi-Definite B(x) in gevp Problems". Reformulating your problem in the manner described will fix your issue I believe.

Più risposte (1)

Magdi Mosa
Magdi Mosa il 18 Gen 2019
Modificato: Magdi Mosa il 18 Gen 2019
you can define a new variable similra to P let is called Z
Z=lmiterm(1,[4 1]);
replace alpah*P by the new variable Z in your matrix inequalit then add the follwoing inequalit Z<P
lmiterm([3 1 1 Z],1,1);
lmiterm([-3 1 1 P],1,1);
since P is positive definit then B(x) is positive definit as a pre-requirments of gevp

Categorie

Scopri di più su Linear Matrix Inequalities in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by