半正定规划简介

本文主要内容来自 Vandenberghe, L., & Boyd, S. (1996). Semidefinite Programming. SIAM Review, 38(1), 49–95.

考虑如下优化问题
min ⁡ c T x s . t . F ( x ) ≥ 0 , (1) \begin{array}{ll} \min& c^Tx\\ s.t.&F(x)\geq 0, \end{array} \tag{1} mins.t.cTxF(x)0,(1)
其中
F ( x ) ≔ F 0 + ∑ i = 1 m x i F i . F(x)\coloneqq F_0+ \sum_{i=1}^{m}x_iF_i. F(x):=F0+i=1mxiFi.
在此问题中 x ∈ R m , x\in \mathbb{R}^m, xRm, 给定的数据为向量 c ∈ R m c\in\mathbb{R}^m cRm m + 1 m+1 m+1 个对称矩阵 F 0 , F 1 , ⋯   , F m ∈ R n × n . F_0,F_1,\cdots,F_m\in\mathbb{R}^{n\times n}. F0,F1,,FmRn×n. 我们称 F ( x ) ≥ 0 F(x)\geq 0 F(x)0 为线性矩阵不等式, 称此问题为半正定规划(semidefinite program). 此问题的可行域为 { x ∣ F ( x ) ≥ 0 } . \{x\mid F(x)\geq 0\}. {xF(x)0}.

原始对偶问题

优化问题 (1) 对应的对偶问题(dual problem)为
max ⁡ − T r F 0 Z s . t . T r F i Z = c i , i = 1 , 2 , ⋯   , m , Z ≥ 0. (2) \begin{array}{ll} \max &-\mathbf{Tr}F_0Z\\ s.t. &\mathbf{Tr}F_iZ=c_i,\quad i=1,2,\cdots,m,\\ &Z\geq 0. \tag{2} \end{array} maxs.t.TrF0ZTrFiZ=ci,i=1,2,,m,Z0.(2)
其中, Z = Z T ∈ R n × n . Z=Z^T\in\mathbb{R}^{n\times n}. Z=ZTRn×n. \
我们称 Z = Z T ∈ R n × n Z=Z^T\in\mathbb{R}^{n\times n} Z=ZTRn×n 是对偶可行的(dual feasible), 如果
T r Z F i = c i , i = 1 , 2 , ⋯   , m , a n d Z ≥ 0. \mathbf{Tr}ZF_i=c_i,i=1,2,\cdots,m, \quad and \quad Z\geq 0. TrZFi=ci,i=1,2,,m,andZ0.
我们也称原始的半正定规划问题(\ref{problem1})为原始问题(primal problem). 下面我们将探讨原始问题与对偶问题的一些性质.
假定 Z Z Z 是对偶可行的, x x x 是原始可行的, 那么有
c T x + T r Z F 0 = ∑ i = 1 m T r Z F i x i + T r Z F 0 = T r Z F ( x ) ≥ 0. \begin{aligned} c^Tx+\mathbf{Tr}ZF_0=\sum_{i=1}^{m}\mathbf{Tr}ZF_ix_i+\mathbf{Tr}ZF_0=\mathbf{Tr}ZF(x)\geq 0. \end{aligned} cTx+TrZF0=i=1mTrZFixi+TrZF0=TrZF(x)0.
因此有
− T r F 0 Z ≤ c T x , (3) \begin{aligned} -\mathbf{Tr}F_0Z\leq c^Tx, \end{aligned}\tag{3} TrF0ZcTx,(3)
也就是说, 任意对偶可行点 Z Z Z 对应的目标值小于等于任意原始可行点 x x x 对应的目标值, 我们将这种现象称之为关于 x x x Z Z Z对偶间隔(duality gap):
η ≔ c T x + T r F 0 Z = T r F ( x ) Z . \begin{aligned} \eta\coloneqq c^Tx+\mathbf{Tr}F_0Z=\mathbf{Tr}F(x)Z. \end{aligned} η:=cTx+TrF0Z=TrF(x)Z.
p ∗ p^* p 是原始问题 (\ref{problem1}) 的最优解, 即
p ∗ ≔ inf ⁡ { c T x ∣ F ( x ) ≥ 0 } , \begin{aligned} p^*\coloneqq \inf\{c^Tx\mid F(x)\geq 0\}, \end{aligned} p:=inf{cTxF(x)0},
Z Z Z 是对偶可行的, 所以由 (3) 式我们有
− T r F 0 Z ≤ q ∗ . -\mathbf{Tr}F_0Z\leq q^*. TrF0Zq.同理, 令 d ∗ d^* d 是对偶问题 (2) 的最优解, 即
d ∗ ≔ sup ⁡ { − T r F 0 Z ∣ Z = Z T ≥ 0 , T r F i Z = c i ,    i = 1 , 2 , ⋯   , m } . \begin{aligned} d^*\coloneqq \sup\{-\mathbf{Tr}F_0Z\mid Z=Z^T\geq 0, \mathbf{Tr}F_iZ=c_i,\;i=1,2,\cdots,m\}. \end{aligned} d:=sup{TrF0ZZ=ZT0,TrFiZ=ci,i=1,2,,m}.
同样由 (3) 得
d ∗ ≤ c T x . d^*\leq c^Tx. dcTx.
我们试图寻找 q ∗ q^* q d ∗ d^* d 之间的联系. 为此, 令 X o p t , Z o p t \mathbf{X}_{opt},\mathbf{Z}_{opt} Xopt,Zopt 分别为原始, 对偶问题的最优解, 即 X o p t ≔ { x ∣ F ( x ) ≥ 0    a n d    c T x = p ∗ } , Z o p t ≔ { Z ∣ Z = Z T ≥ 0 ,    T r F i Z = c i ,   i = 1 , 2 ⋯   , m ,    a n d    − T r F o Z = d ∗ } . \begin{aligned} \mathbf{X}_{opt}&\coloneqq \{x\mid F(x)\geq 0\;and\;c^Tx=p^*\},\\ \mathbf{Z}_{opt}&\coloneqq \{Z\mid Z=Z^T\geq 0,\;\mathbf{Tr}F_iZ=c_i,\,i=1,2\cdots,m, \; and\;-\mathbf{Tr}F_oZ=d^*\}. \end{aligned} XoptZopt:={xF(x)0andcTx=p},:={ZZ=ZT0,TrFiZ=ci,i=1,2,m,andTrFoZ=d}.
我们有如下定理:
q ∗ , d ∗ q^*,d^* q,d 分别如前定义, 则 p ∗ = d ∗ p^*=d^* p=d, 如果下面两个条件之一成立:

  • 原始问题 (1) 是严格可行的, 即存在 x x x s.t. F ( x ) > 0 F(x)>0 F(x)>0;
  • 对偶问题 (2) 是严格可行的, 即存在 Z = Z T ≥ 0 , ; T r F i Z = c 1 ,    i = 1 , 2 , ⋯   , m . Z=Z^T\geq 0, ;\mathbf{Tr}F_iZ=c_1,\;i=1,2,\cdots,m. Z=ZT0,;TrFiZ=c1,i=1,2,,m.如果两个条件均成立, 则 X o p t , Z o p t \mathbf{X}_{opt},\mathbf{Z}_{opt} Xopt,Zopt 非空.

另外, 值得一提的是, 如果最优集合非空, 即存在可行点 x , Z x,Z x,Z 使得 c T x = − T r F 0 Z = p ∗ = d ∗ , \begin{aligned} c^Tx=-\mathbf{Tr}F_0Z=p^*=d^*, \end{aligned} cTx=TrF0Z=p=d,
此时对偶间隔 η = T r F ( x ) Z = c T x + T r F 0 Z = p ∗ − d ∗ = 0 , \eta=\mathbf{Tr}F(x)Z= c^Tx+\mathbf{Tr}F_0Z=p^*-d^*=0, η=TrF(x)Z=cTx+TrF0Z=pd=0, 这便意味着原始问题与对偶问题某种意义上等价. 在实际计算中, 我们通过描述对偶间隔来衡量这两个问题的差异性.
间隔}来衡量这两个问题的差异性.\
假定有一个算法可以产生一系列的原始对偶可行点 x ( k ) , Z ( k ) , x^{(k)},Z^{(k)}, x(k),Z(k), 其中 k = 0 , 1 , ⋯ k=0,1,\cdots k=0,1, 为迭代次数. 我们将 x ( k ) x^{(k)} x(k) 看作给出下界的次优解, Z ( k ) Z^{(k)} Z(k) 看作给出下界的凭证, 即
p ∗ ≤ c T x ( k ) , p ∗ ≥ − T r F 0 Z ( k ) . \begin{aligned} p^*\leq c^Tx^{(k)},\quad p^*\geq -\mathbf{Tr}F_0Z^{(k)}. \end{aligned} pcTx(k),pTrF0Z(k). 因而有 c T x ( k ) − p ∗ ≤ η ( k ) = c T x ( k ) + T r F 0 Z ( k ) . \begin{aligned} c^Tx^{(k)}-p^*\leq \eta^{(k)}=c^Tx^{(k)}+\mathbf{Tr}F_0Z^{(k)}. \end{aligned} cTx(k)pη(k)=cTx(k)+TrF0Z(k).
也就是说, 当 η ( k ) → 0 \eta^{(k)}\to 0 η(k)0 时, 我们便可把 x ( k ) x^{(k)} x(k) 看作原始问题(1) 的最优解的逼近. 那么关键的问题就是, 如何寻找一个满足条件的原始对偶算法呢 ? \textbf{\textcolor{red}{如何寻找一个满足条件的原始对偶算法呢}}? 如何寻找一个满足条件的原始对偶算法呢?
或者说, 如何求解下述问题? min ⁡ c T x + T r F 0 Z s . t . F ( x ) ≥ 0 ,    Z ≥ 0 , T r F i Z = c i , i = 1 , 2 , ⋯   , m . \begin{array}{ll} \min&c^Tx+\mathbf{Tr}F_0Z\\ s.t.&F(x)\geq 0,\;Z\geq 0,\\ &\mathbf{Tr}F_iZ=c_i,\quad i=1,2,\cdots,m. \end{array} mins.t.cTx+TrF0ZF(x)0,Z0,TrFiZ=ci,i=1,2,,m.

中心路径

在解决上述问题(\ref{12}) 之前, 我们先做一些准备. 对于线性矩阵不等式 F ( x ) ≥ 0 F(x)\geq 0 F(x)0, 我们定义其障碍函数 ϕ ( x ) \phi(x) ϕ(x)
Φ ( x ) ≔ { log ⁡ det ⁡ F ( x ) − 1 , i f    F ( x ) > 0 , + ∞ , o t h e r w i s e . \Phi(x) \coloneqq \left\{ \begin{array}{cc} \log \det F(x)^{-1}, &if \; F(x)>0,\\ +\infty, & otherwise. \end{array}\right. Φ(x):={logdetF(x)1,+,ifF(x)>0,otherwise.
经计算有, ϕ ( x ) \phi(x) ϕ(x) 的梯度与 Hessian 为
( ∇ ϕ ( x ) ) i = − T r F ( x ) − 1 F i ( ∇ 2 ϕ ( x ) ) i j = T r F ( x ) − 1 F i F ( x ) − 1 F j \begin{aligned} \big(\nabla \phi(x)\big)_i &= -\mathbf{Tr}F(x)^{-1}F_i\\ \big(\nabla ^2\phi(x)\big)_{ij}&= \mathbf{Tr}F(x)^{-1}F_iF(x)^{-1}F_j \end{aligned} (ϕ(x))i(2ϕ(x))ij=TrF(x)1Fi=TrF(x)1FiF(x)1Fj
X = { x ∣ F ( x ) > 0 } , \mathbf{X}=\{x\mid F(x)>0\}, X={xF(x)>0}, 假设 X X X 是有界的, 因为 ϕ \phi ϕ 是严格凸的, 其有唯一的极小值点, 不妨记为 x ∗ x^* x, 即
x ∗ ≔ a r g m i n    ϕ ( x ) . \begin{aligned} x^*\coloneqq argmin \;\phi(x). \end{aligned} x:=argminϕ(x).
我们称 x ∗ x^* x 是线性矩阵不等式 F ( x ) ≥ 0 F(x)\geq 0 F(x)0解析中心(Analytic center). 容易证明 x ∗ x^* x 有下述性质( ∇ ϕ ( x ) = 0 \nabla \phi(x)=0 ϕ(x)=0)
T r F ( x ∗ ) − 1 F i = 0 , i = 1 , 2 , ⋯   , m . \mathbf{Tr}F(x^*)^{-1}F_i=0,\quad i=1,2,\cdots,m. TrF(x)1Fi=0,i=1,2,,m.给定障碍函数 ϕ ( x ) , \phi(x), ϕ(x), 我们可以利用标准的 Newton 法来计算其解析中心 x ∗ . x^*. x. 我们有如下定理:
假定 ϵ ∈ ( 0 , 0.5 ) , x ( k ) \epsilon\in(0,0.5),x^{(k)} ϵ(0,0.5),x(k) x ( 0 ) x^{(0)} x(0) 通过 Newton 法 k k k 次迭代后得到的值, 则对于任意满足下式的 k k k k ≥ 11 ( ϕ ( x ( 0 ) ) − ϕ ( x ∗ ) ) + log ⁡ 2 log ⁡ 2 ( 1 ϵ ) , \begin{aligned} k\geq 11\big(\phi(x^{(0)})-\phi(x^*)\big) + \log_2\log_2\bigg(\frac{1}{\epsilon}\bigg), \end{aligned} k11(ϕ(x(0))ϕ(x))+log2log2(ϵ1), 我们有 ϕ ( x ( k ) ) − ϕ ( x ∗ ) ≤ ϵ . \phi(x^{(k)})-\phi(x^*)\leq \epsilon. ϕ(x(k))ϕ(x)ϵ.
让我们回到原始问题(1), 考虑如下线性矩阵不等式
F ( x ) > 0 , c T x = γ . \begin{aligned} F(x)>0,\\ c^Tx=\gamma. \end{aligned} F(x)>0,cTx=γ.
此问题对应的解析中心 x ∗ ( γ ) x^*(\gamma) x(γ) 满足
x ∗ ( γ ) ≔    a r g m i n log ⁡ det ⁡ F ( x ) − 1 s . t . F ( x ) > 0 , c T x = γ . \begin{aligned} x^*(\gamma)\coloneqq\;&argmin& \log\det F(x)^{-1}\\ &s.t.&F(x)>0,\\ &&c^Tx=\gamma. \end{aligned} x(γ):=argmins.t.logdetF(x)1F(x)>0,cTx=γ.
x ∗ ( γ ) x^*(\gamma) x(γ) 为问题 (\ref{problem1}) 的中心路径(central path).
考虑上述问题 (2) 的 KKT 条件, 我们有
T r F ( x ∗ ( γ ) ) − 1 F i = λ c i , i = 1 , 2 , ⋯   , m . \begin{aligned} \mathbf{Tr}F\big(x^*(\gamma)\big)^{-1}F_i=\lambda c_i,\quad i=1,2,\cdots,m. \end{aligned} TrF(x(γ))1Fi=λci,i=1,2,,m. λ > 0 \lambda>0 λ>0 时, 容易知矩阵 F ( x ∗ ( γ ) ) − 1 / λ F\big(x^*(\gamma)\big)^{-1}/\lambda F(x(γ))1/λ 是对偶可行的, 此时与原始对偶可行有关的对偶间隔为 η = T r F ( x ) Z = x ∗ ( γ ) F ( x ∗ ( γ ) ) − 1 / λ = n / λ . \begin{aligned} \eta = \mathbf{Tr}F(x)Z=\mathbf{x^*(\gamma)}F\big(x^*(\gamma)\big)^{-1}/\lambda = n/\lambda. \end{aligned} η=TrF(x)Z=x(γ)F(x(γ))1/λ=n/λ.事实上, F ( x ∗ ( γ ) ) − 1 / λ F\big(x^*(\gamma)\big)^{-1}/\lambda F(x(γ))1/λ 不仅是对偶可行的, 它还是下述对偶半正定规划问题的中心路径 min ⁡ log ⁡ det ⁡ Z − 1 s . t . T r F i Z = c i , i = 1 , 2 , ⋯   , m , Z > 0 , − T r F 0 Z = γ − n λ . \begin{array}{ll} \min &\log \det Z^{-1}\\ s.t.&\mathbf{Tr}F_iZ=c_i,\quad i=1,2,\cdots,m,\\ &Z>0,\\ &-\mathbf{Tr}F_0Z=\gamma -\frac{n}{\lambda}. \end{array} mins.t.logdetZ1TrFiZ=ci,i=1,2,,m,Z>0,TrF0Z=γλn.对每个严格可行点 x x x, 我们定义中心路径偏差(the deviation from the central path ) Ψ ( x ) \Psi(x) Ψ(x) Ψ ( x ) ≔ log ⁡ det ⁡ F ( x ) − 1 − log ⁡ det ⁡ F ( x ∗ ( c T x ) ) − 1 . \begin{aligned} \Psi(x)\coloneqq \log \det F(x)^{-1}-\log\det F\big(x^*(c^Tx)\big)^{-1}. \end{aligned} Ψ(x):=logdetF(x)1logdetF(x(cTx))1.
ϵ = 2 − 32 , \epsilon=2^{-32}, ϵ=232, 结合Theorem2, 我们有 # N e w t o n    s t e p s ≤ 5 + 11 ( log ⁡ det ⁡ F ( x ) − 1 − log ⁡ det ⁡ F ( x ∗ ( c T x ) ) − 1 ) = 5 + 11 ψ ( x ) . \begin{aligned} \# Newton\; steps &\leq 5 + 11(\log\det F(x)^{-1}-\log \det F(x^*(c^Tx))^{-1})\\ &=5 + 11 \psi (x). \end{aligned} #Newtonsteps5+11(logdetF(x)1logdetF(x(cTx))1)=5+11ψ(x).
中心路径 ( x ∗ ( η ) , Z ∗ ( η ) x^*(\eta),Z^*(\eta) x(η),Z(η)) 的原始对偶参数化可以被如下定义: ( x ∗ ( η ) , Z ∗ ( η ) ) ≔ a r g m i n − log ⁡ det ⁡ F ( x ) − log ⁡ det ⁡ Z s . t . F ( x ) > 0 ,    Z > 0 , T r F i Z = c i ,    i = 1 , 2 , ⋯   , m , c T x + T r F 0 Z = η \begin{array}{lll} \big(x^*(\eta),Z^*(\eta)\big)\coloneqq& argmin &-\log \det F(x) - \log \det Z\\ & s.t.&F(x)>0,\;Z>0,\\ & &\mathbf{Tr}F_iZ=c_i,\;i=1,2,\cdots,m,\\ & &c^Tx+\mathbf{Tr} F_0Z=\eta \end{array} (x(η),Z(η)):=argmins.t.logdetF(x)logdetZF(x)>0,Z>0,TrFiZ=ci,i=1,2,,m,cTx+TrF0Z=η
容易知道, ( x ∗ ( η ) , Z ∗ ( η ) ) (x^*(\eta),Z^*(\eta)) (x(η),Z(η)) 具有如下性质:
F ( x ∗ ( η ) ) ≥ 0 , Z ∗ ( η ) ≥ 0 ,    T r F i Z ∗ ( η ) = c i ,    i = 1 , 2 , ⋯   , m , Z ∗ ( η ) F ( x ∗ ( η ) ) = ( η n ) I . \begin{aligned} &F(x^*(\eta))\geq 0,\\ &Z^*(\eta)\geq 0,\;\mathbf{Tr}F_iZ^*(\eta)=c_i,\;i=1,2,\cdots,m,\\ &Z^*(\eta)F(x^*(\eta))=\bigg(\frac{\eta}{n}\bigg)I. \end{aligned} F(x(η))0,Z(η)0,TrFiZ(η)=ci,i=1,2,,m,Z(η)F(x(η))=(nη)I.最优性条件 Z F ( x ) = 0 ZF(x)=0 ZF(x)=0 经过扰动变为了 Z F ( x ) = ( η / n ) I ZF(x)=(\eta/n)I ZF(x)=(η/n)I 那么有 η → 0 , ( x ∗ ( η ) , Z ∗ ( η ) ) → ( x ∗ , Z ∗ ) . \eta \to 0,(x^*(\eta),Z^*(\eta))\to(x^*,Z^*). η0,(x(η),Z(η))(x,Z). 又因为
− log ⁡ det ⁡ F ( x ∗ ( η ) ) Z ∗ ( η ) = − n log ⁡ ( η n ) = n log ⁡ n − n log ⁡   T r F ( x ) Z . \begin{aligned} -\log\det F(x^*(\eta))Z^*(\eta)=-n\log\bigg(\frac{\eta}{n}\bigg)=n\log n-n\log \,\mathbf{Tr}F(x)Z. \end{aligned} logdetF(x(η))Z(η)=nlog(nη)=nlognnlogTrF(x)Z. ( x ∗ ( η ) , Z ∗ ( η ) ) (x^*(\eta),Z^*(\eta)) (x(η),Z(η)) ( x , Z ) (x,Z) (x,Z) 之间的中心偏差为
ψ ( x , Z ) ≔ − log ⁡ det ⁡ F ( x ) Z + log ⁡ det ⁡ F ( x ∗ ( η ) Z ∗ ( η ) ) = − log ⁡ det ⁡ F ( x ) Z + n log ⁡ T r F ( x ) Z − n log ⁡ n . \begin{aligned} \psi(x,Z)& \coloneqq -\log\det F(x)Z+\log\det F(x^*(\eta)Z^*(\eta))\\ &=-\log\det F(x)Z+n\log\mathbf{Tr}F(x)Z-n\log n. \end{aligned} ψ(x,Z):=logdetF(x)Z+logdetF(x(η)Z(η))=logdetF(x)Z+nlogTrF(x)Znlogn.

原始对偶问题势函数下降方法

定义如下势函数(Potential function) ϕ ( x , Z ) = ν n log ⁡ ( T r F ( x ) Z ) + ψ ( x , Z ) = ( n + ν n ) log ⁡ ( T r F ( x ) Z ) − log ⁡ det ⁡ F ( x ) − log ⁡ det ⁡ Z − n log ⁡ n . \begin{aligned} \phi(x,Z)&=\nu\sqrt{n}\log(\mathbf{Tr}F(x)Z)+\psi(x,Z)\\ &=(n+\nu\sqrt{n})\log(\mathbf{Tr}F(x)Z)-\log\det F(x) -\log\det Z-n\log n. \end{aligned} ϕ(x,Z)=νn log(TrF(x)Z)+ψ(x,Z)=(n+νn )log(TrF(x)Z)logdetF(x)logdetZnlogn.
此处, ϕ \phi ϕ 是 $(x,Z) $ 对偶间隔与中心偏差的组合, 其中 ν ≥ 1 \nu\geq 1 ν1 是参数. 所以 ϕ ( x , Z ) \phi(x,Z) ϕ(x,Z) 便可以很好地衡量 ( x ∗ ( η ) , Z ∗ ( η ) ) (x^*(\eta),Z^*(\eta)) (x(η),Z(η)) 到精确解 ( x ∗ , Z ∗ ) (x^*,Z^*) (x,Z) 的距离. 也就是说,
求解原始问题 (1) 与对偶问题(2), 可以转化为极小化对偶间隔和中心偏差, 进而转化为极小化势函数 ϕ ( x , Z ) \mathbf{\phi(x,Z)} ϕ(x,Z).
势函数下降算法从严格可行点 x ( 0 ) , Z ( 0 ) x^{(0)},Z^{(0)} x(0),Z(0) 出发, 每步迭代减少固定的常数, 即
ϕ ( x ( k + 1 ) , Z ( k + 1 ) ) ≤ ϕ ( x ( k ) , Z ( k ) ) − δ , \begin{aligned} \phi(x^{(k+1)},Z^{(k+1)})\leq \phi(x^{(k)},Z^{(k)})-\delta, \end{aligned} ϕ(x(k+1),Z(k+1))ϕ(x(k),Z(k))δ,
其中 $\delta $ 是一个常数. 那么它的收敛情况呢? 我们有如下定理:
假定上式对常数 δ \delta δ 成立, 其中 δ \delta δ 不依赖于 n , ϵ n,\epsilon n,ϵ, ϵ ∈ ( 0 , 1 ) . \epsilon\in(0,1). ϵ(0,1). 那么对任意满足如下条件的 k k k k ≥ ν n log ⁡ ( 1 / ϵ ) + ψ ( x ( 0 ) , Z ( 0 ) ) δ , \begin{aligned} k\geq \frac{\nu \sqrt{n}\log(1/\epsilon)+\psi(x^{(0)},Z^{(0)})}{\delta}, \end{aligned} kδνn log(1/ϵ)+ψ(x(0),Z(0)), 我们有 T r F ( x ( k ) ) Z ( k ) < ϵ T r F ( x ( 0 ) ) Z ( 0 ) . \mathbf{Tr}F(x^{(k)})Z^{(k)}<\epsilon \mathbf{Tr}F(x^{(0)})Z^{(0)}. TrF(x(k))Z(k)<ϵTrF(x(0))Z(0).
下面我们便来具体探讨如何极小化势函数 ϕ ( x ) . \phi(x). ϕ(x).
极小化 ϕ ( x ) \phi(x) ϕ(x), 便要寻找线搜索方向 δ x , δ z \delta x, \delta z δx,δz.文章中介绍了三种求解搜索方向的方法, 此处我们只选取第一种方法, 也是最显然的方法 —— Newton 法
注意到 ϕ ( x ) \phi(x) ϕ(x) 不是凸函数, 它的第一项 ( n + ν n ) log ⁡ ( c T x + T r F 0 Z ) (n+\nu\sqrt{n})\log(c^Tx+\mathbf{Tr}F_0Z) (n+νn )log(cTx+TrF0Z) 是凹函数, 故我们取 ϕ ( x ) \phi(x) ϕ(x) 的二阶导数时忽略第一项的二阶导数, 也即修正的 Newton 方法. 具体计算过程我们不再给出, 只给出最后结果.
ρ = ( n + ν n ) / ( c T x + T r F 0 Z ) , \rho=(n+\nu\sqrt{n})/(c^Tx+\mathbf{Tr}F_0Z), ρ=(n+νn )/(cTx+TrF0Z), δ x p \delta x^p δxp 可从如下方程中得出 F δ Z p F + ∑ i = 1 m δ x i p F i = − ρ F Z F + F , T r F j δ Z p = 0 , j = 1 , 2 , ⋯   , m . \begin{aligned} F\delta Z^pF+\sum_{i=1}^m\delta x_i^pF_i=-\rho FZF+F,\\ \mathbf{Tr}F_j\delta Z^p=0,\quad j=1,2,\cdots,m. \end{aligned} FδZpF+i=1mδxipFi=ρFZF+F,TrFjδZp=0,j=1,2,,m.
δ Z d \delta Z^d δZd 可从如下方程得出: Z − 1 δ Z d Z − 1 + ∑ i = 1 m δ x i d F i = − ρ F + Z − 1 , T r F j δ Z d = 0 , j = 1 , 2 , ⋯   , m . \begin{aligned} Z^{-1}\delta Z^dZ^{-1}+\sum_{i=1}^m\delta x_i^dF_i=-\rho F+Z^{-1},\\ \mathbf{Tr}F_j\delta Z^d=0,\quad j=1,2,\cdots,m. \end{aligned} Z1δZdZ1+i=1mδxidFi=ρF+Z1,TrFjδZd=0,j=1,2,,m.在确立了搜索方向 δ x , δ Z \delta x,\delta Z δx,δZ 之后, 我们可以通过平面搜索(Plane Search)来确定对应的步长. 具体而言, ϕ ( x + p δ x , Z + q δ Z ) = ϕ ( x , Z ) + ( n + ν n ) log ⁡ ( 1 + c 1 p + c 2 q ) − log ⁡ det ⁡ ( I + ρ F − 1 / 2 δ F F − 1 / 2 ) − log ⁡ det ⁡ ( I + q Z − 1 / 2 δ Z Z − 1 / 2 ) , \begin{aligned} \phi(x+p\delta x,Z+q\delta Z)&=\phi(x,Z)+(n+\nu\sqrt{n})\log(1+c_1p+c_2q)\\ &-\log\det (I+\rho F^{-1/2}\delta FF^{-1/2})-\log\det(I+qZ^{-1/2}\delta ZZ^{-1/2}), \end{aligned} ϕ(x+pδx,Z+qδZ)=ϕ(x,Z)+(n+νn )log(1+c1p+c2q)logdet(I+ρF1/2δFF1/2)logdet(I+qZ1/2δZZ1/2),
\end{equation}
其中 F = F ( x ) , δ F ≔ ∑ i = 1 m δ x i F i , F=F(x),\delta F\coloneqq \sum_{i=1}^m\delta x_iF_i, F=F(x),δF:=i=1mδxiFi,
c 1 = c T δ x T r F ( x ) Z , c 2 = T r F 0 δ Z T r F ( x ) Z . c_1=\frac{c^T\delta x}{\mathbf{TrF(x)Z}}, \quad c_2 = \frac{\mathbf{Tr}F_0\delta Z}{\mathbf{Tr}F(x)Z}. c1=TrF(x)ZcTδx,c2=TrF(x)ZTrF0δZ.
μ 1 , ⋯   , μ n \mu_1,\cdots,\mu_n μ1,,μn 是矩阵 F − 1 / 2 δ F F − 1 / 2 F^{-1/2}\delta FF^{-1/2} F1/2δFF1/2 的特征值, ν 1 , ⋯   , ν n \nu_1,\cdots,\nu_n ν1,,νn Z − 1 / 2 δ Z Z − 1 / 2 Z^{-1/2}\delta ZZ^{-1/2} Z1/2δZZ1/2 的特征值. 则 ϕ ( x + p δ x , Z + q δ Z ) = ϕ ( x , Z ) + ( n + μ n ) log ⁡ ( 1 + c 1 p + c 2 q ) − ∑ i = 1 n log ⁡ ( 1 + p μ i ) − ∑ i = 1 n log ⁡ ( 1 + q ν i ) . \begin{array}{l} \phi(x+p\delta x,Z+q\delta Z)=\phi(x,Z)\\ +(n+\mu\sqrt{n})\log(1+c_1p+c_2q)-\sum_{i=1}^n\log(1+p\mu_i)-\sum_{i=1}^n\log(1+q\nu_i). \end{array} ϕ(x+pδx,Z+qδZ)=ϕ(x,Z)+(n+μn )log(1+c1p+c2q)i=1nlog(1+pμi)i=1nlog(1+qνi).
此问题可以被标准的 guarded Newton 方法解决.
至此,我们便介绍完了文章的主要内容.(Markdown能不能直接插入定理环境呢?这样的定理不太美观)。

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正定规划是一种重要的数学优化问题。在这个问题中,我们试图找到最优解以满足一些线性约束和一个正定矩阵上的正定约束。这种问题的解决方法通常涉及正定规划模型的建立和求解。Matlab是一种强大的数学软件,可以用来解决正定规划问题。 为了解决正定规划问题,我们需要定义一个正定规划模型。这个模型包含一个目标函数和一些约束条件,其中目标函数可以被最小化或最大化。Matlab提供了一个内置函数,称为Semi-Definite Programming (SDP) solver,能用于解决正定规划问题。这个函数可以自动找到最优解,并返回解决方案的参数和结果。 使用Matlab解决正定规划问题很简单。我们只需要定义一个目标函数和一些约束条件,然后调用SDP求解器即可。在Matlab中,我们可以使用cvx或yalmip等工具箱来定义和求解正定规划问题。这些工具箱可以自动将正定规划问题转化为线性规划问题,并使用内置算法进行求解。 需要注意的是,正定规划问题通常是NP难问题,因此我们不能保证SDP求解器总能找到全局最优解。在某些情况下,我们可能需要使用其他算法来解决正定规划问题。但是,对于大多数实际问题,SDP求解器已经足够强大了,可以提供较好的解决方案。 总之,正定规划是一种重要的数学优化问题,可以用于解决各种实际问题。Matlab是一个强大的数学软件,提供了一些内置函数和工具箱,可以用于定义和求解正定规划问题。使用Matlab解决正定规划问题非常方便,但需要注意问题的复杂性和解决方案的精度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值