常见的凸优化问题包括:线性规划(LP,Linear Program),二次规划(QP,Quadratic Program),二次约束的二次规划(QCCP,Quadratically Contrained Quadratic Program),半正定规划(SDP,Semidefinite Program)

凸优化简单回顾

凸优化问题(OPT,convex optimization problem)指定义在凸集中的凸函数最优化的问题。一般形式为:
min ⁡ x f ( x )    s . t .   x ∈ C \min_x f(x) \\ ~~\mathrm {s.t. } ~ x \in \mathbb{C} xminf(x)  s.t. xC
其中 f f f 是一个凸函数, C \mathbb{C} C 是一个凸集, x x x 是优化变量。

  • 凸优化问题的优势体现在:
    1、凸优化问题的局部最优解就是全局最优解
    2、很多非凸问题都可以被等价转化为凸优化问题或者被近似为凸优化问题
    3、凸优化问题的研究较为成熟,当一个具体被归为一个凸优化问题,基本可以确定该问题是可被求解的

线性规划 (LP)

  • 线性目标,线性约束,向量变量 x x x为非负实向量。
  • 问题形式:
    min ⁡ x a 0 x                                      s . t .    a p x = b p   ( p = 1 , ⋯   , m ) ,                        0 ≤ x ∈ R n . \min_x a_0 x\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\mathrm {s.t. } ~~ a_px = b_p ~(p = 1,\cdots,m), \\ ~~~~~~~~~~~~~~~~~~~~~~0 \leq x \in R^n. xmina0x                                    s.t.  apx=bp (p=1,,m),                      0xRn.

二次规划 (QP)

  • 目标函数变量最高为二次项,线性约束,向量变量 x x x为非负实向量。
  • 问题形式:
    min ⁡ x 1 2 x T P x + q T x + c s . t .    A x = b ,          G x ⪯ h . \min_x \frac{1}{2} x^TPx +q^T x + c \\ \mathrm {s.t. } ~~ Ax = b, \\ ~~~~~~~~Gx \preceq h. xmin21xTPx+qTx+cs.t.  Ax=b,        Gxh.
    当约束条件变为二次的时,问题就变成了QCQP(Quadratical Constraint Quadratic Programming)问题了:
    min ⁡ x 1 2 x T P 0 x + q 0 T x + c 0                                 s . t .    1 2 x T P i x + q i T x + c i , ( i = 1 , ⋯   , m ) , A x = b . \min_x \frac{1}{2} x^TP_0x +q_0^T x + c_0 \\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\mathrm {s.t. } ~~ \frac{1}{2} x^TP_i x +q_i ^T x + c_i, (i=1,\cdots,m),\\ Ax = b. xmin21xTP0x+q0Tx+c0                               s.t.  21xTPix+qiTx+ci,(i=1,,m),Ax=b.

二阶锥规划 ( SOCP)

SOCP 全称 Second-Order Cone Programming。

  • 问题形式为:
    min ⁡ x f T x                                                            s . t .    ∥ A i x + b i ∥ 2 ≤ c i T x + d i , ( i = 1 , ⋯   , m ) ,                 F x = g . \min_x f^T x \\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\mathrm {s.t. } ~~ \| A_i x+b_i \|_2 \leq c_i ^T x + d_i, (i=1,\cdots,m),\\ ~~~~~~~~~~~~~~~Fx = g. xminfTx                                                          s.t.  Aix+bi2ciTx+di,(i=1,,m),               Fx=g.
    其中 x ∈ R n x \in R^n xRn 是优化变量, ∥ A i x + b i ∥ 2 ≤ c i T x + d i \| A_i x+b_i \|_2 \leq c_i ^T x + d_i Aix+bi2ciTx+di 是二阶锥约束。
  • c i = 0 c_i=0 ci=0,SOCP等价于QCQP问题;SOCP是更一般的QCQP问题。
  • A i = 0 A_i=0 Ai=0,SOCP等价于LP问题。

半定规划(SDP)

  • 线性目标,线性约束,对称矩阵变量 X X X为半正定实矩阵。
  • 问题形式:
    min ⁡ X A 0 X                                      s . t .    A p X = b p   ( p = 1 , ⋯   , m ) ,                      0 ⪯ X ∈ S n . \min_X A_0 X\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\mathrm {s.t. } ~~ A_pX = b_p ~(p = 1,\cdots,m), \\ ~~~~~~~~~~~~~~~~~~~~0 \preceq X \in S^n. XminA0X                                    s.t.  ApX=bp (p=1,,m),                    0XSn.
    其中 S n S^n Sn为n阶全体实对称矩阵的线性空间, A p A_p Ap为n阶实对称矩阵, b p   ( p = 1 , ⋯   , m ) b_p~(p=1,\cdots,m) bp (p=1,,m)是实数, X ∈ S n X \in S^n XSn 是n阶对称矩阵变量。
  • A p X = ∑ i = 1 n ∑ j = 1 n [ A P ] i j X i j A_pX =\sum_{i=1}^n\sum_{j=1}^n [A_P]_{ij}X_{ij} ApX=i=1nj=1n[AP]ijXij
  • SDP可视为LP的推广,LP的向量分量不等式被矩阵不等式代替。根据半定矩阵的定义知,SDP也可视为一个线性约束的关于变量的无限集的LP解LP的原始对偶内点法可以推广到SDP
  • LP的可行域为有限个顶点的凸多面体,SDP的可行域为一个曲面体

连续性最优化问题的分类

参考链接

[1]. https://blog.csdn.net/sdgyfbtnyj/article/details/100101233
[2]. Stephen Boyd,《Convex Optimization》
[3]. 算法参考 添加链接描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐