gevp problem for ilmi algorithm

5 Ansichten (letzte 30 Tage)
Mohsen Jorjani
Mohsen Jorjani am 24 Jun. 2017
Bearbeitet: Magdi Mosa am 18 Jan. 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.

Akzeptierte Antwort

Stephen Schein
Stephen Schein am 12 Jun. 2018
Bearbeitet: Stephen Schein am 12 Jun. 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.

Weitere Antworten (1)

Magdi Mosa
Magdi Mosa am 18 Jan. 2019
Bearbeitet: Magdi Mosa am 18 Jan. 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

Kategorien

Mehr zu Linear Matrix Inequalities finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by