gevp problem for ilmi algorithm

조회 수: 5 (최근 30일)
Mohsen Jorjani
Mohsen Jorjani 2017년 6월 24일
편집: Magdi Mosa 2019년 1월 18일
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.

채택된 답변

Stephen Schein
Stephen Schein 2018년 6월 12일
편집: Stephen Schein 2018년 6월 12일
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.

추가 답변 (1개)

Magdi Mosa
Magdi Mosa 2019년 1월 18일
편집: Magdi Mosa 2019년 1월 18일
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

카테고리

Help CenterFile Exchange에서 Linear Matrix Inequalities에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by