凸优化

  研究凸优化问题是因为其有一套非常完备的求解算法,如果将某个优化问题确认或者转化为凸优化问题,那么能够快速给出最优解。在MATLAB软件里面有相应的软件包,可以用来学习。也可以利用其他的开源的计算软件,利用现成的软件包来解决凸优化问题。

凸优化问题

  凸优化问题的标准形式为:
$$\begin{align}
minimize \quad & f_0(x) \\\
subject to \quad & f_i(x)\le 0, \quad i=1,2,\cdots,m \\\
& a_i^Tx=b_i, \quad i=1,2,\cdots, p
\end{align}$$
  其中,目标函数必须是凸函数,不等式约束函数必须是凸函数,等式约束函数必须是仿射函数。由约束条件得到的定义域为凸集,即凸优化问题是在凸集上最小化目标凸函数。
  凸优化问题的一个十分重要的性质是:凸优化问题的任何局部最优解也是全局最优解

线性优化问题(LP)

  线性优化的一般形式为:
$$\begin{align}
minimize \quad & c^Tx+d \\\
subject to \quad & Gx\le h, \\\
& Ax=b,
\end{align}$$
  其目标函数和约束函数都是仿射函数。可行集是一个超平面,也即LP问题是在约束超平面上最小化目标函数。
  标准形式的线性规划问题(standard form LP)
$$\begin{align}
minimize \quad & c^Tx \\\
subject to \quad & Ax=b, \\\
& x\ge 0
\end{align}$$
  不等式形式的线性规划问题(inequality form LP)
$$\begin{align}
minimize \quad & c^Tx \\\
subject to \quad & Ax\le b,
\end{align}$$

二次优化问题

凸二次规划问题(QP)

  凸二次规划的形式为:
$$\begin{align}
minimize \quad & 1/2x^TPx+q^Tx+r \\\
subject to \quad & Gx\le h, \\\
& Ax=b,
\end{align}$$
  其中 $P$ 是半正定矩阵,目标函数是凸二次函数,约束函数都是仿射函数。凸二次规划是在超平面上最小化目标函数。

二次约束凸二次规划问题(QCQP)

  QCQP的形式为:
$$\begin{align}
minimize \quad & (1/2)x^TP_0x+q_0^Tx+r_0 \\\
subject to \quad & (1/2)x^TP_ix+q_i^Tx+r_i \le 0, \quad i=1,2,\cdots,m \\\
& Ax=b,
\end{align}$$

二阶锥规划(SOCP)

  二阶锥规划(SOCP)的形式如下:
$$\begin{align}
minimize \quad & f^Tx\\\
subject to \quad & |A_ix+b_i|_2\le c_i^Tx+d_i, \quad i=1,2,\cdots,m \\\
& Fx=g,
\end{align}$$
  其中约束形式:$|Ax+b|_2\le c^Tx+d$ 称为二阶锥约束。如果 $c_i=0,i=1,2,\cdots,m$ ,那么SOCP问题与QCQP问题等价;如果 $A_i=0,i=1,2,\cdots,m$ ,那么SOCP问题与LP问题等价。