作者mibassmi (悠哉看云)
看板MATLAB
标题[问题]LMI求助 gevp指令求解相关
时间Thu Apr 11 18:12:22 2013
最近在写控制法
其中有一部分LMI的问题一直无法解决
用各种方法debug及上网搜寻解答依然找不到方法
希望有这方面的高手能够帮忙
问题如下
---------------------------------------------
LMI Problem
P>0
H2'*P2*H2>1
uT'*Q*T>N'*N
其中变数P1 P2 u(generalized eigenvalue)
P=[P1 0 ; 且P1 P2 皆为symmetry
0 P2]
Q则为一个以P1,P2组成的矩阵
Q=[P1-Gtil11'*P1*Gtil11 Gtil12'*P1*Gtil11;
Gtil11'*P1*Gtil12 P2-Gtil12'*P1*Gtil12]
目标为minimize u
其他的H2 与Gtill11 Gtil12 T皆为已知的矩阵
维度设定都有再三确认没有问题
变数有两个矩阵 分别为 P1 P2
而u也是变数 但因为符合gevp型式(generalized eigenvalue variable problem)
於下方以gevp求解 未将其以lmivar设定为variable
--------------------------------------------------
code如下
%% LMI optimization,F
N=[1 0 0 0 0 0;
0 1 0 0 0 0;
0 0 0 0 0 1];
Gtil11=
[ 5.4648 1.0000 0 0 0;
-80.3294 2.9756 0 0 0;
-4.5025 0 1.1156 1.0345 2.4569;
80.2795 0 0.2548 3.0441 4.8847;
-0.0250 0 -0.0260 -0.0002 0.9846];
Gtil12=
[-8.1608;
69.6420;
4.3328;
-77.2530;
0.0241];
Ttil=
[
1.0000 0 -1.0000 0 0 0;
0 1.0000 0 -1.0000 0 0;
0 0 1.0000 0 0 0;
0 0 0 1.0000 0 0;
0 0 0 0 1.0000 0;
0 0 0.0400 0.0090 0.6418 1.0000;];
H2=0.0001;
NN=N'*N;
setlmis([]);
P1=lmivar(1,[2*n-m,1]);
P2=lmivar(1,[m,1]);
lmiterm([-1 1 1 P1],1,1); % LMI #1: P1
lmiterm([-1 2 1 0],zeros(1,5); % LMI #1: zeros(1,5)
lmiterm([-1 2 2 P2],1,1); % LMI #1: P2
lmiterm([2 1 1 P2],H2',H2); % LMI #2: P2
lmiterm([-2 1 1 0],1); % LMI #2: 1
lmiterm([3 1 1 0],NN(1:5,1:5));
lmiterm([3 1 2 0],NN(6,1:5));
lmiterm([3 2 2 0],NN(6,6));
lmiterm([-3 0 0 0],Ttil); % LMI #3: Ttil
lmiterm([-3 1 1 P1],1,1); % LMI #3: P1
lmiterm([-3 1 1 P1],Gtil11',-Gtil11); % LMI #3: -Gtil11'*P1*Gtil11
lmiterm([-3 2 1 P1],Gtil12',-Gtil11); % LMI #3: -Gtil12'*P1*Gtil11
lmiterm([-3 2 2 P2],1,1); % LMI #3: P2
lmiterm([-3 2 2 P1],Gtil12',-Gtil12); % LMI #3: -Gtil12'*P1*Gtil12
lmisys=getlmis;
[ufinv,xopt]=gevp(lmisys,1); %opt3
------------------------------------------------------------------------------
但显示的逼近结果如下
Solver for generalized eigenvalue minimization
Iterations : Best objective value so far
1
2
3
4
5
6
7
8
9
10
11
12
13
* switching to QR
14
15
16
17
18
* upper bound on optimal value set to 1.00e+08
19
20
21
22
23
* upper bound on optimal value set to 1.00e+11
24
25
Result: infeasibility
可以看出他并没有在逼近
於网路上也有看到有人有类似的情况发生
但却没有得到相关的解答
还请高手能否看出端倪
或有gevp LMI的心得可以分享
先谢过了!!小的愿意赠送全身的P币T_T
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.248.81.229
※ 编辑: mibassmi 来自: 111.248.81.229 (04/11 18:44)
1F:→ cmjer:lmi2 是不是写反了? 04/13 17:13
2F:→ cmjer:lmi3 也是?是最上描述写错还是程式码的写错 04/13 17:19
3F:→ cmjer:报歉,lmi3没错. 04/13 17:20
4F:→ mibassmi:感谢大大回复 小的之後发现LMI基本上没有问题的 3q 04/17 17:46
5F:推 cmjer:所以lmi2没问题?我看你程式所描述的是 xxx<1 这件事,和你 04/20 09:14
6F:→ cmjer:最上方式子不符,修改一下吧 04/20 09:16
7F:推 a91605123:1这不是詹博吗 05/27 00:11