【凸优化】二次约束二次规划(QCQP)问题转化为二阶锥规划(SOCP)

二次约束二次规划(QCQP)问题的SOCP形式转化

1. 问题描述

1.1. QCQP的一般形式:

min ⁡ 1 2 x ⊤ Q 0 x + c ⊤ x s . t . x ⊤ Q i x + a i ⊤ x ≤ b i ,    i = 1 , … , m \begin{aligned} \min \quad &\frac{1}{2}\mathbf{x}^{\top}\mathbf{Q}_0\mathbf{x} + \mathbf{c}^{\top}\mathbf{x} \\ \mathrm{s.t.} \quad &\mathbf{x}^{\top}\mathbf{Q}_i\mathbf{x} + \mathbf{a}_i^{\top}\mathbf{x} \leq b_i, \; i = 1, \dots, m \end{aligned} mins.t.21xQ0x+cxxQix+aixbi,i=1,,m

其中, Q 0 ∈ S + + n \mathbf{Q}_0 \in \mathbb{S}^{n}_{++} Q0S++n(表示正定对称矩阵), c ∈ R n \mathbf{c} \in \mathbb{R}^n cRn Q i ∈ S + + n \mathbf{Q}_i \in \mathbb{S}^{n}_{++} QiS++n a i ∈ R n \mathbf{a}_i \in \mathbb{R}^n aiRn b i ∈ R ( i = 1 , … , m ) b_i \in \mathbb{R} (i = 1, \dots, m) biR(i=1,,m)

1.2. SOCP的一般形式:

min ⁡ c ⊤ x s . t . ∥ A i x + b i ∥ 2 ≤ c i ⊤ x + d i , i = 1 , … , m \begin{aligned} \min \quad &\mathbf{c}^{\top} \mathbf{x} \\ \mathrm{s.t.} \quad & \left\|\mathbf{A}_i \mathbf{x} + \mathbf{b}_i\right\|_2 \leq \mathbf{c}_i^{\top} \mathbf{x} + d_i, i = 1, \dots, m \end{aligned} mins.t.cxAix+bi2cix+di,i=1,,m

2. 目标函数的配方

QCQP的目标函数 1 2 x ⊤ Q x + c ⊤ x \frac{1}{2}\mathbf{x}^{\top}\mathbf{Qx} + \mathbf{c}^{\top}\mathbf{x} 21xQx+cx是二次的,我们可以对其进行配方。
首先由Cholesky分解将矩阵 Q \mathbf{Q} Q分解为 Q = ( Q 1 2 ) ⊤ Q 1 2 \mathbf{Q}=\left( \mathbf{Q}^{\frac{1}{2}} \right) ^{\top}\mathbf{Q}^{\frac{1}{2}} Q=(Q21)Q21

1 2 x ⊤ Q 1 2 Q 1 2 x + c ⊤ x \frac{1}{2}\mathbf{x}^{\top}\mathbf{Q}^{\frac{1}{2}}\mathbf{Q}^{\frac{1}{2}}\mathbf{x} + \mathbf{c}^{\top}\mathbf{x} 21xQ21Q21x+cx

接下来的步骤类似一元函数的配方:
1 2 x ⊤ Q 1 2 Q 1 2 x + c ⊤ x = 1 2 ( x ⊤ Q 1 2 Q 1 2 x + 2 c ⊤ x ) = 1 2 ∥ Q 1 2 x + Q − 1 2 c ∥ 2 2 − 1 2 ∥ Q − 1 2 c ∥ 2 \begin{aligned} &\frac{1}{2}\mathbf{x}^{\top}\mathbf{Q}^{\frac{1}{2}}\mathbf{Q}^{\frac{1}{2}}\mathbf{x}+\mathbf{c}^{\top}\mathbf{x} \\ =&\frac{1}{2}\left( \mathbf{x}^{\top}\mathbf{Q}^{\frac{1}{2}}\mathbf{Q}^{\frac{1}{2}}\mathbf{x}+2\mathbf{c}^{\top}\mathbf{x} \right) \\ =&\frac{1}{2}\left\| \mathbf{Q}^{\frac{1}{2}}\mathbf{x}+\mathbf{Q}^{-\frac{1}{2}}\mathbf{c} \right\| _{2}^{2}-\frac{1}{2}\left\| \mathbf{Q}^{-\frac{1}{2}}\mathbf{c} \right\| ^2 \end{aligned} ==21xQ21Q21x+cx21(xQ21Q21x+2cx)21 Q21x+Q21c 2221 Q21c 2

由于 ∥ Q − 1 2 c ∥ 2 \left\| \mathbf{Q}^{-\frac{1}{2}}\mathbf{c} \right\| ^2 Q21c 2是常数,因此最小化原目标函数等价于最小化下述二范数(注意此处没有平方):
∥ Q 1 2 x + Q − 1 2 c ∥ 2 \left\| \mathbf{Q}^{\frac{1}{2}}\mathbf{x} + \mathbf{Q}^{-\frac{1}{2}}\mathbf{c} \right\|_2 Q21x+Q21c 2

3. 约束条件的配方

类似地,我们对约束条件也进行配方处理。原始的约束条件为:
x ⊤ Q i x + a i ⊤ x ≤ b i \mathbf{x}^{\top}\mathbf{Q}_i\mathbf{x} + \mathbf{a}_i^{\top}\mathbf{x} \leq b_i xQix+aixbi

仿照上述对目标函数的配方方法,我们将其进行配方与整理,可以得到以下约束:
∥ Q i 1 2 x + Q i − 1 2 a i ∥ 2 2 ≤ a i ⊤ Q i − 1 a i + b i \left\| \mathbf{Q}_i^{\frac{1}{2}}\mathbf{x} + \mathbf{Q}_i^{-\frac{1}{2}}\mathbf{a}_i \right\|_2^2 \leq \mathbf{a}_i^{\top}\mathbf{Q}_i^{-1}\mathbf{a}_i + b_i Qi21x+Qi21ai 22aiQi1ai+bi

假设不等号右边大于等于0,那么该约束等价于
∥ Q i 1 2 x + Q i − 1 2 a i ∥ 2 ≤ a i ⊤ Q i − 1 a i + b i \left\| \mathbf{Q}_{i}^{\frac{1}{2}}\mathbf{x}+\mathbf{Q}_{i}^{-\frac{1}{2}}\mathbf{a}_i \right\| _2\le \sqrt{\mathbf{a}_{i}^{\top}\mathbf{Q}_{i}^{-1}\mathbf{a}_i+b_i} Qi21x+Qi21ai 2aiQi1ai+bi

4. 问题形式的转换

通过上述处理,我们可以将原始的QCQP问题转换为如下形式:
min ⁡ ∥ Q 1 2 x + Q − 1 2 c ∥ 2 s . t . ∥ Q i 1 2 x + Q i − 1 2 a i ∥ 2 ≤ a i ⊤ Q i − 1 a i + b i ,    i = 1 , … , m \begin{aligned} \min &\left\| \mathbf{Q}^{\frac{1}{2}}\mathbf{x} + \mathbf{Q}^{-\frac{1}{2}}\mathbf{c} \right\|_2 \\ \mathrm{s.t.} \quad &\left\| \mathbf{Q}_i^{\frac{1}{2}}\mathbf{x} + \mathbf{Q}_i^{-\frac{1}{2}}\mathbf{a}_i \right\|_2 \leq \sqrt{\mathbf{a}_{i}^{\top}\mathbf{Q}_{i}^{-1}\mathbf{a}_i+b_i}, \; i = 1, \dots, m \end{aligned} mins.t. Q21x+Q21c 2 Qi21x+Qi21ai 2aiQi1ai+bi ,i=1,,m

为了进一步简化问题,我们引入辅助变量 t ∈ R t \in \mathbb{R} tR,那么上述优化问题可以进一步转化为
min ⁡ t s . t . ∥ Q 1 2 x + Q − 1 2 c ∥ 2 ≤ t ∥ Q i 1 2 x + Q i − 1 2 a i ∥ 2 ≤ a i ⊤ Q i − 1 a i + b i ,    i = 1 , … , m \begin{aligned} \min \quad &t \\ \mathrm{s.t.} \quad &\left\| \mathbf{Q}^{\frac{1}{2}}\mathbf{x} + \mathbf{Q}^{-\frac{1}{2}}\mathbf{c} \right\|_2 \leq t \\ &\left\| \mathbf{Q}_i^{\frac{1}{2}}\mathbf{x} + \mathbf{Q}_i^{-\frac{1}{2}}\mathbf{a}_i \right\|_2 \leq \sqrt{\mathbf{a}_{i}^{\top}\mathbf{Q}_{i}^{-1}\mathbf{a}_i+b_i}, \; i = 1, \dots, m \end{aligned} mins.t.t Q21x+Q21c 2t Qi21x+Qi21ai 2aiQi1ai+bi ,i=1,,m

通过引入上述辅助变量和配方处理,我们成功地将QCQP问题转换为SOCP问题:
min ⁡ c s o c p ⊤ x s o c p s . t . ∥ A i x + b i ∥ 2 ≤ c i ⊤ x + d i , i = 1 , … , m \begin{aligned} \min \quad &\mathbf{c}_{socp}^{\top} \mathbf{x}_{socp} \\ \mathrm{s.t.} \quad & \left\|\mathbf{A}_i \mathbf{x} + \mathbf{b}_i\right\|_2 \leq \mathbf{c}_i^{\top} \mathbf{x} + d_i, i = 1, \dots, m \end{aligned} mins.t.csocpxsocpAix+bi2cix+di,i=1,,m

其中:
c s o c p = [ 0 ⋯ 0 1 ] ⊤ , x s o c p = [ x t ] , A 1 = [ Q 1 2 0 0 1 ] , b 1 = Q − 1 2 c , c 1 = [ 0 ⋯ 0 1 ] ⊤ , d 1 = 0 , A i + 1 = [ Q i 1 2 0 0 1 ] , b i + 1 = Q i − 1 2 a i , c i + 1 = 0 , d i + 1 = a i ⊤ Q i − 1 a i + b i . \begin{aligned} &\mathbf{c}_{socp}=\left[ \begin{matrix} 0& \cdots& 0& 1\\ \end{matrix} \right] ^{\top}, \\ &\mathbf{x}_{socp} = \left[ \begin{array}{c} \mathbf{x} \\ t \end{array} \right] , \\ &\mathbf{A}_1=\left[ \begin{matrix} \mathbf{Q}^{\frac{1}{2}}& \mathbf{0}\\ \mathbf{0}& 1\\ \end{matrix} \right] , \mathbf{b}_1=\mathbf{Q}^{-\frac{1}{2}}\mathbf{c}, \mathbf{c}_1=\left[ \begin{matrix} 0& \cdots& 0& 1\\ \end{matrix} \right] ^{\top}, d_1=0, \\ &\mathbf{A}_{i+1}=\left[ \begin{matrix} \mathbf{Q}_{i}^{\frac{1}{2}}& \mathbf{0}\\ \mathbf{0}& 1\\ \end{matrix} \right] , \mathbf{b}_{i+1}=\mathbf{Q}_{i}^{-\frac{1}{2}}\mathbf{a}_i, \mathbf{c}_{i+1}=\mathbf{0}, d_{i+1}=\sqrt{\mathbf{a}_{i}^{\top}\mathbf{Q}_{i}^{-1}\mathbf{a}_i+b_i}. \end{aligned} csocp=[001],xsocp=[xt],A1=[Q21001],b1=Q21c,c1=[001],d1=0,Ai+1=[Qi21001],bi+1=Qi21ai,ci+1=0,di+1=aiQi1ai+bi .

更多的问题转换可见论文:https://web.stanford.edu/~boyd/papers/pdf/socp.pdf

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值