【OR】二次规划(2):SCA方法

前文链接

二次规划(1)

线性约束的非凸二次规划

QP问题
min ⁡ 1 2 x T Q x + c T x s . t . { a i T − b i ≤ 0 , i = 1 , … , m a i x − b i = 0 , i = m + 1 … , m + l \begin{aligned} &\min \frac{1}{2}x^TQx+c^Tx\\ &s.t. \begin{cases} a_i^T-b_i\leq 0, i=1,\dots, m\\ a_i^x-b_i=0, i=m+1\dots, m+l \end{cases} \end{aligned} min21xTQx+cTxs.t.{aiTbi0,i=1,,maixbi=0,i=m+1,m+l
其中 Q Q Q不定

SCA方法

构造凸近似问题
Q = P − N Q=P-N Q=PN,其中 P P P N N N为半正定矩阵
Q = H T ( λ 1 ⋱ λ n ) ⏟ Q H = H T ( λ 1 ⋱ λ k 0 ) H ⏟ P − H T ( 0 ⋱ 0 − λ k + 1 ⋱ ) ⏟ N H Q=H^T \underbrace{ \left( \begin{matrix} &\lambda_1\\ &&\ddots\\ &&&\lambda_n \end{matrix} \right)}_{Q}H=H^T \underbrace{ \left( \begin{matrix} &\lambda_1\\ &&\ddots\\ &&&\lambda_k\\ &&&&0 \end{matrix} \right)H}_P- H^T \underbrace{ \left( \begin{matrix} &0\\ &&\ddots\\ &&&0\\ &&&&-\lambda_{k+1}\\ &&&&&\ddots\\ \end{matrix} \right)}_{N} H Q=HTQ λ1λnH=HTP λ1λk0HHTN 00λk+1H
可以得到
f ( x ) = 1 2 x T Q x + c T x = 1 2 x T P x + c T x − 1 2 x T N x \begin{aligned} f(x)&=\frac{1}{2}x^TQx+c^Tx\\ &=\frac{1}{2}x^TPx+c^Tx-\frac{1}{2}x^TNx \end{aligned} f(x)=21xTQx+cTx=21xTPx+cTx21xTNx
f 1 ( x ) = 1 2 x T P x + c T x , f 2 ( x ) = 1 2 x T N x f_1(x)=\frac{1}{2}x^TPx+c^Tx,f_2(x)=\frac{1}{2}x^TNx f1(x)=21xTPx+cTxf2(x)=21xTNx,任取 x ˉ ∈ S \bar{x}\in S xˉS, 构造 x ˉ \bar{x} xˉ处的线性函数对 f 2 ( x ) f_2(x) f2(x)近似
记一阶Taylor展开
l ( x ) = − f 2 ( x ˉ ) − ∇ f 2 ( x ) T ( x − x ˉ ) = − 1 2 x ˉ T N x ˉ − ( N x ˉ ) T ( x − x ˉ ) = 1 2 x ˉ T N x ˉ − x ˉ T N x ≥ f 2 ( x ) \begin{aligned} l(x)&=-f_2(\bar{x})-\nabla f_2(x)^T(x-\bar{x})\\ &=-\frac{1}{2}\bar{x}^TN\bar{x}-(N\bar{x})^T(x-\bar{x})\\ &=\frac{1}{2}\bar{x}^TN\bar{x}-\bar{x}^TNx\\ &\geq f_2(x) \end{aligned} l(x)=f2(xˉ)f2(x)T(xxˉ)=21xˉTNxˉ(Nxˉ)T(xxˉ)=21xˉTNxˉxˉTNxf2(x)
得到 x ˉ \bar{x} xˉ处的凸近似问题QP( x ˉ \bar{x} xˉ)
min ⁡ f 1 ( x ) + l ( x ) = 1 2 x T P x + c T x − x ˉ T N x + 1 2 x ˉ T N x ˉ s . t . { a i T x − b i ≤ 0 , i = 1 , … , m a i T x − b i = 0 , i = m + 1 , … , m + l \begin{aligned} &\min f_1(x)+l(x)=\frac{1}{2}x^TPx+c^Tx-\bar{x}^TNx+\frac{1}{2}\bar{x}^TN\bar{x}\\ &s.t. \begin{cases} a_i^Tx-b_i\leq 0, i=1, \dots, m\\ a_i^Tx-b_i=0, i=m+1,\dots, m+l \end{cases} \end{aligned} minf1(x)+l(x)=21xTPx+cTxxˉTNx+21xˉTNxˉs.t.{aiTxbi0,i=1,,maiTxbi=0,i=m+1,,m+l
引理:如果 x ˉ \bar{x} xˉ是QP( x ˉ \bar{x} xˉ)的最优解,则 x ˉ \bar{x} xˉ是QP问题的KKT点.
证明:由于 x ˉ \bar{x} xˉ是QP( x ˉ \bar{x} xˉ)的最优解,则 x ˉ \bar{x} xˉ满足KKT条件
{ P x ˉ + c − N x ˉ + ∑ i = 1 m + l λ i a i = 0 λ i ≥ 0 , i = 1 … , m λ i ( a i T x ˉ − b i ) = 0 , i = 1 , … , m \left\{ \begin{aligned} &P\bar{x}+c-N\bar{x}+\sum_{i=1}^{m+l}\lambda_ia_i=0\\ &\lambda_i\geq 0, i=1\dots, m\\ &\lambda_i(a_i^T\bar{x}-b_i)=0, i=1,\dots, m \end{aligned} \right. Pxˉ+cNxˉ+i=1m+lλiai=0λi0,i=1,mλi(aiTxˉbi)=0,i=1,,m
即QP问题的KKT条件,所以 x ˉ \bar{x} xˉ是QP的KKT点.

算法框架

step 0: 取 x 0 ∈ S , ε > 0 , k = 0 x^0\in S, \varepsilon>0, k=0 x0S,ε>0,k=0.
step 1: 求解近似子问题,QP( x k x^k xk)
min ⁡ 1 2 x T P x + c T x − ( x k ) N x + 1 2 ( x k ) N x k \min \frac{1}{2}x^TPx+c^Tx-(x^k)Nx+\frac{1}{2}(x^k)Nx^k min21xTPx+cTx(xk)Nx+21(xk)Nxk
得到最优解 x k + 1 x^{k+1} xk+1;
step 2: 如果 ∥ x k + 1 − x k ∥ ≤ ε \lVert x^{k+1}-x^k\rVert\leq \varepsilon xk+1xkε终止
step 3: k=k+1,转step 1.
性质 1:
x k → Q P ( x k ) x k + 1 f ( x k + 1 ) = f 1 ( x k + 1 ) − f 2 ( x k + 1 ) ≤ f 1 ( x k + 1 ) + l ( x k + 1 ) ≤ f 1 ( x k ) + l ( x k ) = f ( x k ) \begin{aligned} &x^k\xrightarrow{QP(x^k)}x^{k+1}\\ &f(x^{k+1})=f_1(x^{k+1})-f_2(x^{k+1})\leq f_1(x^{k+1})+l(x^{k+1})\leq f_1(x^k)+l(x^k)=f(x^k) \end{aligned} xkQP(xk) xk+1f(xk+1)=f1(xk+1)f2(xk+1)f1(xk+1)+l(xk+1)f1(xk)+l(xk)=f(xk)
性质 2(收敛性):
1.如果SCA有限步终止,则 x k x^k xk为QP问题的KKT点
2.如果QP ( x k ) (x^k) (xk)的最优解为 x k + 1 x^{k+1} xk+1,乘子为 λ k \lambda^k λk,设 { λ k } \{\lambda^k\} {λk}有界,则 { x k } \{x^k\} {xk}的任意聚点为QP的KKT点
证明
由于 x k + 1 x^{k+1} xk+1是QP( x k x^k xk)的最优解,则满足KKT条件:
P x k + 1 + c − N x k + ∑ i = 1 m + l λ i a i = 0 λ i k ≥ 0 , i = 1 , … , m λ i k ( a i T x k + 1 − b i ) = 0 , i = 1 , … , m \begin{aligned} &Px^{k+1}+c-Nx^{k}+\sum_{i=1}^{m+l}\lambda_ia_i=0\\ &\lambda_i^k\geq 0, i=1, \dots, m\\ &\lambda_i^k(a_i^Tx^{k+1}-b_i)=0, i=1, \dots, m \end{aligned} Pxk+1+cNxk+i=1m+lλiai=0λik0,i=1,,mλik(aiTxk+1bi)=0,i=1,,m
x ∗ x^* x { x k } \{x^k\} {xk}的聚点,不妨记为 { x k } , x k → x ∗ \{x^k\}, x^k\to x^* {xk},xkx. 由于 { λ k } \{\lambda^k\} {λk}有界,存在收敛子列 { λ k i } , λ k i → λ ∗ \{\lambda^{k_i}\}, \lambda^{k_i}\to \lambda^* {λki},λkiλ.
k i → ∞ : k_i\to\infty: ki:
P x ∗ + c − N x ∗ + ∑ λ i ∗ a i = 0 λ i ∗ ≥ 0 , i = 1 , … , m a i T x ∗ − b i ≤ 0 , i = 1 , … , m a i T x ∗ − b i = 0 , i = m + 1 , … , m + l \begin{aligned} &Px^*+c-Nx^*+\sum\lambda^*_ia_i=0\\ &\lambda_i^*\geq 0, i=1, \dots, m\\ &a_i^Tx^*-b_i\leq 0, i=1,\dots, m\\ &a_i^Tx^*-b_i=0, i=m+1, \dots, m+l \end{aligned} Px+cNx+λiai=0λi0,i=1,,maiTxbi0,i=1,,maiTxbi=0,i=m+1,,m+l
即QP的KKT条件,所以 x ∗ x^* x是QP的KKT点.

参考资料

非凸二次规划 上海财经大学 崔雪婷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quant0xff

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值