前文链接
线性约束的非凸二次规划
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.{aiT−bi≤0,i=1,…,maix−bi=0,i=m+1…,m+l
其中
Q
Q
Q不定
SCA方法
构造凸近似问题
Q
=
P
−
N
Q=P-N
Q=P−N,其中
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⋱λn⎠⎞H=HTP
⎝⎜⎜⎛λ1⋱λk0⎠⎟⎟⎞H−HTN
⎝⎜⎜⎜⎜⎛0⋱0−λk+1⋱⎠⎟⎟⎟⎟⎞H
可以得到
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+cTx−21xTNx
记
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+cTx,f2(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(x−xˉ)=−21xˉTNxˉ−(Nxˉ)T(x−xˉ)=21xˉTNxˉ−xˉTNx≥f2(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+cTx−xˉTNx+21xˉTNxˉs.t.{aiTx−bi≤0,i=1,…,maiTx−bi=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ˉ+c−Nxˉ+i=1∑m+lλiai=0λi≥0,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
x0∈S,ε>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+1−xk∥≤ε终止
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+c−Nxk+i=1∑m+lλiai=0λik≥0,i=1,…,mλik(aiTxk+1−bi)=0,i=1,…,m
设
x
∗
x^*
x∗是
{
x
k
}
\{x^k\}
{xk}的聚点,不妨记为
{
x
k
}
,
x
k
→
x
∗
\{x^k\}, x^k\to x^*
{xk},xk→x∗. 由于
{
λ
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∗+c−Nx∗+∑λi∗ai=0λi∗≥0,i=1,…,maiTx∗−bi≤0,i=1,…,maiTx∗−bi=0,i=m+1,…,m+l
即QP的KKT条件,所以
x
∗
x^*
x∗是QP的KKT点.