- ill-posed problem: the constraint B(x) > 0 might be missing.Result: could not establish feasibility nor infeasibility
gevp problem for ilmi algorithm
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mohsen Jorjani
el 24 de Jun. de 2017
Editada: Magdi Mosa
el 18 de En. de 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.
0 comentarios
Respuesta aceptada
Stephen Schein
el 12 de Jun. de 2018
Editada: Stephen Schein
el 12 de Jun. de 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:
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.
0 comentarios
Más respuestas (1)
Magdi Mosa
el 18 de En. de 2019
Editada: Magdi Mosa
el 18 de En. de 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
0 comentarios
Ver también
Categorías
Más información sobre Linear Matrix Inequalities en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!