MATLAB-LMI工具箱学习笔记(二)

LMI工具箱一般用于求解三类问题

1、可行解问题

寻找一个 x ∈ R N x\in R^N xRN,使得 A ( x ) < B ( x ) A(x)<B(x) A(x)<B(x)成立。

该问题可转化为:

寻找一个最小的t,使得 A ( x ) − B ( x ) ≤ t I A(x)-B(x)\le tI A(x)B(x)tI成立,即: m i n    t min~~t min  t s . t .    A ( x ) − B ( x ) ≤ t I s.t.~~A(x)-B(x)\le tI s.t.  A(x)B(x)tI

MATLAB语言一般表达形式为:
[tmin, xfeas]=feasp(lmisys, options, target)

其中,tmin代表凸优化问题的全局最优值。如果tmin<0,则该问题有可行解;如果tmin>0,则该问题没有可行解。
xfeas用于提取该可行解x,提取方法为x=dec2mat(lmisys,xfeas,X)。
lmisys代表该矩阵不等式系统,需要预先定义好。
options是可选量,用于描述求解参数。
target是可选量,用于为tmin设置目标值,默认值为0,当tmin<target时,迭代停止。

2、具有LMI约束的一个线性目标函数的最小化问题

m i n x    c T x min_{x}~~c^Tx minx  cTx s . t .    A ( x ) < B ( x ) s.t.~~A(x)<B(x) s.t.  A(x)<B(x)

MATLAB语言一般表达形式为:
[copt, xopt]=mincx(lmisys, c, options, xinit, target)

其中,copt代表目标函数值 c T x c^Tx cTx的全局最优值。
xopt代表用于提取最优解,提取方法为x=dec2mat(lmisys,xopt,X)。
lmisys代表该矩阵不等式系统,需要预先定义好。
c是已知变量。
options是可选量,用于描述求解参数。
xinit是可选量,用于表示最优解xopt的一个初猜值,可加快求解过程。
target是可选量,用于为目标函数设置目标值,当 c T x c^Tx cTx<target时,迭代停止。

3、广义特征值的最小化问题

m i n    λ min~~\lambda min  λ s . t .    C ( x ) < D ( x )          0 < B ( x )           A ( X ) < λ B ( x ) s.t.~~C(x)<D(x)\\~~~~~~~~0<B(x)\\~~~~~~~~~A(X)<\lambda B(x) s.t.  C(x)<D(x)        0<B(x)         A(X)<λB(x)

MATLAB语言一般表达形式为:
[lopt, xopt]=gevp(lmisys, nlfc, options, linit, xinit, target)

其中,lopt代表优化问题的全局最优值。
xopt代表用于提取最优解,提取方法为x=dec2mat(lmisys,xopt,X)。
lmisys代表 λ = 1 \lambda =1 λ=1时的矩阵不等式系统。
mlfc代表含 λ \lambda λ的约束的个数。
options是可选量,用于描述求解参数。
linit,xinit是可选量,用于表示最优解lopt、xopt的初猜值,可加快求解过程。
target是可选量,当 λ \lambda λ<target时,迭代停止。

使用gevp必须注意到:

  1. 必须包含 λ = 1 \lambda =1 λ=1的这种情况。
  2. 要把 A ( x ) < B ( x ) A(x)<B(x) A(x)<B(x)放在最后定义。
  3. 必须要有使 0 < B ( x ) 0<B(x) 0<B(x)成立的约束。

猜你喜欢

转载自blog.csdn.net/weixin_45454343/article/details/114226644