凸优化【5 典型的凸优化问题】
典型的凸优化问题
什么样的问题是一个凸优化问题呢?
\[\begin{aligned}
& min \quad f_0(x) \\
& s.t. \quad f_i(x) \leq 0 \qquad i=1,...,m \\
& \qquad \ a_i^Tx = b_i \qquad i=1,...,p
\end{aligned}
\]
其中\(f_0\)是凸函数,\(f_i\)也是凸函数,\(a_i^Tx\)是仿射函数。
但是实际上我们经常遇到的是狭义上的凸优化问题。比如有这么一个优化问题:
\[\begin{array}{cl}
{\min } & {f_0(x)=x_1^2 + x_2^2} \\
{\text{ s.t }} & {f_1(x) = \frac{x_1}{1+x_2^2} \leq 0} \\
{} & {h_1(x) = (x_1 + x^2)^2 = 0}
\end{array}
\]
从狭义上看,这个问题并不是凸问题。但我们可以通过变形,使之成为一个凸优化问题:
\[\begin{array}{cl}
{\min } & {f_0(x_1^2 +x_2^2)} \\
\text{s.t} & {f_1(x)=x_1 \leq 0} \\
{} & {h_1(x)=x_1 + x_2 = 0}
\end{array}
\]
之所以要把优化问题都往凸优化问题去靠,主要是凸优化问题有比较好的性质。下面介绍一下凸优化问题的两个重要性质:
- 局部最优解=全局最优解
- 可微目标函数\(f(x)\)情况下,
\[\begin{array}{ll}
x^* \in X_f 最优等价于:\\
\bigtriangledown f^T(x)(y-x^*) \geq 0 \quad y \in X_f
\end{array}
\]
线性规划
线性规划可以这么定义:
\[\begin{array}{ll}
{\min} & {C^Tx + d \quad C \in R^n, d\in R} \\
{s.t.} & {Gx \leq h \quad G \in R^{m \times n}, h\in R^m} \\
{} & {Ax=b \quad A \in R^{k \times n}, b \in R^k}
\end{array}
\]
线性规划的特点就是其目标函数与约束函数都是线性的。
对于任意一个线性规划问题,我们都可以写成如下这种一般化的形式:
\[\begin{array}{ll}
{\min} & {C^Tx} \\
{s.t.} & {Ax=b} \\
{} & {x \geq 0}
\end{array}
\]