凸优化核心基本概念(详细解析)

凸优化是优化理论的核心分支,其核心优势是局部最优解即为全局最优解,而这一特性依赖于“凸函数”“凸集”等基础概念的严格定义。以下是凸优化中所有关键基本概念的详细拆解,包含定义、数学表达、几何意义及核心性质:

一、优化问题的标准形式

凸优化的问题形式基于“目标函数+约束条件”,核心分为线性规划二次规划(二者均为凸优化的特殊情形,也是最常用的类型)。

1. 线性规划(Linear Programming, LP)

定义

目标函数和所有约束条件均为线性函数的优化问题,是凸优化中最简单、应用最广泛的类型(如资源分配、生产计划等)。

一般形式

{min⁡/max⁡cTxs.t.Ax≤b(不等式约束)Aeqx=beq(等式约束)x≥0(非负约束,可选) \begin{cases} \min/\max & \boldsymbol{c}^T \boldsymbol{x} \\ \text{s.t.} & \boldsymbol{A}\boldsymbol{x} \leq \boldsymbol{b} \quad (\text{不等式约束}) \\ & \boldsymbol{A}_{eq}\boldsymbol{x} = \boldsymbol{b}_{eq} \quad (\text{等式约束}) \\ & \boldsymbol{x} \geq \boldsymbol{0} \quad (\text{非负约束,可选}) \end{cases} min/maxs.t.cTxAxb(不等式约束)Aeqx=beq(等式约束)x0(非负约束,可选)

符号与含义
  • x∈Rn\boldsymbol{x} \in \mathbb{R}^nxRn:优化变量(nnn 维实向量);
  • c∈Rn\boldsymbol{c} \in \mathbb{R}^ncRn:目标函数系数向量(线性目标的斜率);
  • A∈Rm×n\boldsymbol{A} \in \mathbb{R}^{m \times n}ARm×n:不等式约束系数矩阵(mmm 个不等式约束);
  • Aeq∈Rp×n\boldsymbol{A}_{eq} \in \mathbb{R}^{p \times n}AeqRp×n:等式约束系数矩阵(ppp 个等式约束);
  • b∈Rm\boldsymbol{b} \in \mathbb{R}^mbRmbeq∈Rp\boldsymbol{b}_{eq} \in \mathbb{R}^pbeqRp:约束右侧常数向量。
核心性质
  • 目标函数是凸函数(线性函数既是凸函数也是凹函数);
  • 可行域是凸集(线性约束的交集为凸集);
  • 最优解若存在,必在可行域的顶点上(这是 simplex 算法的理论基础)。

2. 二次规划(Quadratic Programming, QP)

定义

目标函数为二次函数,约束条件仍为线性函数的优化问题(适用于含二次成本的场景,如最小二乘、控制问题)。

一般形式

{min⁡12xTHx+cTxs.t.Ax≤bAeqx=beqx≥0(可选) \begin{cases} \min & \frac{1}{2}\boldsymbol{x}^T \boldsymbol{H}\boldsymbol{x} + \boldsymbol{c}^T \boldsymbol{x} \\ \text{s.t.} & \boldsymbol{A}\boldsymbol{x} \leq \boldsymbol{b} \\ & \boldsymbol{A}_{eq}\boldsymbol{x} = \boldsymbol{b}_{eq} \\ & \boldsymbol{x} \geq \boldsymbol{0} \quad (\text{可选}) \end{cases} mins.t.21xTHx+cTxAxbAeqx=beqx0(可选)

符号与核心条件
  • H∈Sn\boldsymbol{H} \in \mathbb{S}^nHSn:目标函数的 Hessian 矩阵(nnn 阶对称矩阵,Sn\mathbb{S}^nSn 表示对称矩阵集合);
  • 凸二次规划的关键条件:H⪰0\boldsymbol{H} \succeq 0H0H\boldsymbol{H}H 半正定),此时目标函数为凸函数,问题是凸优化。
特殊情形
  • 无约束二次规划:min⁡12xTHx+cTx\min \frac{1}{2}\boldsymbol{x}^T \boldsymbol{H}\boldsymbol{x} + \boldsymbol{c}^T \boldsymbol{x}min21xTHx+cTx,若 H\boldsymbol{H}H 正定,最优解为 x∗=−H−1c\boldsymbol{x}^* = -\boldsymbol{H}^{-1}\boldsymbol{c}x=H1c(直接由梯度为零求解)。

二、凸函数(Convex Function)

凸函数是凸优化的“核心灵魂”,其定义本质是“函数图像的弦在函数之上”,保证了局部最优即为全局最优。

1. 定义(基础形式)

设函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:RnR,其定义域 dom(f)⊆Rn\text{dom}(f) \subseteq \mathbb{R}^ndom(f)Rn凸集(关键前提)。若对任意 x1,x2∈dom(f)\boldsymbol{x}_1, \boldsymbol{x}_2 \in \text{dom}(f)x1,x2dom(f) 和任意 t∈[0,1]t \in [0,1]t[0,1],满足:
f(tx1+(1−t)x2)≤tf(x1)+(1−t)f(x2) f(t\boldsymbol{x}_1 + (1-t)\boldsymbol{x}_2) \leq t f(\boldsymbol{x}_1) + (1-t)f(\boldsymbol{x}_2) f(tx1+(1t)x2)tf(x1)+(1t)f(x2)

几何意义
  • 对于一维函数(n=1n=1n=1):连接函数上两点 (x1,f(x1))(\boldsymbol{x}_1, f(\boldsymbol{x}_1))(x1,f(x1))(x2,f(x2))(\boldsymbol{x}_2, f(\boldsymbol{x}_2))(x2,f(x2)) 的线段(弦),始终在函数图像的上方;
  • 对于高维函数(n>1n>1n>1):定义域内任意两点的凸组合(加权平均,权重和为1)对应的函数值,不超过两点函数值的凸组合。
严格凸函数(加强版)

若不等式严格成立(<<<),则称 fff 为严格凸函数。例如:f(x)=x2f(x) = x^2f(x)=x2 是严格凸函数,f(x)=xf(x) = xf(x)=x 是凸函数但非严格凸。

2. 一阶条件(可微凸函数的判定)

fffdom(f)\text{dom}(f)dom(f)可微(梯度 ∇f(x)\nabla f(\boldsymbol{x})f(x) 存在),则 fff 是凸函数的充要条件为:
f(x)≥f(y)+∇f(y)T(x−y)∀x,y∈dom(f) f(\boldsymbol{x}) \geq f(\boldsymbol{y}) + \nabla f(\boldsymbol{y})^T (\boldsymbol{x} - \boldsymbol{y}) \quad \forall \boldsymbol{x}, \boldsymbol{y} \in \text{dom}(f) f(x)f(y)+f(y)T(xy)x,ydom(f)

几何意义
  • 函数在任意点 y\boldsymbol{y}y 处的切线(或切平面),始终在函数图像的下方;
  • fff 是严格凸函数,不等式严格成立(切线严格在函数下方)。
例子
  • 一维凸函数 f(x)=x2f(x) = x^2f(x)=x2:梯度 ∇f(y)=2y\nabla f(y) = 2yf(y)=2y,切线方程为 yt(x)=2y(x−y)+y2=2yx−y2y_t(x) = 2y(x - y) + y^2 = 2yx - y^2yt(x)=2y(xy)+y2=2yxy2,显然 x2≥2yx−y2x^2 \geq 2yx - y^2x22yxy2(即 (x−y)2≥0(x - y)^2 \geq 0(xy)20),满足一阶条件。

3. 二阶条件(二次可微凸函数的判定)

fffdom(f)\text{dom}(f)dom(f)二次可微(Hessian 矩阵 ∇2f(x)\nabla^2 f(\boldsymbol{x})2f(x) 存在),则 fff 是凸函数的充要条件为:
∇2f(x)⪰0∀x∈dom(f) \nabla^2 f(\boldsymbol{x}) \succeq 0 \quad \forall \boldsymbol{x} \in \text{dom}(f) 2f(x)0xdom(f)
(Hessian 矩阵半正定:对任意非零向量 v∈Rn\boldsymbol{v} \in \mathbb{R}^nvRn,有 vT∇2f(x)v≥0\boldsymbol{v}^T \nabla^2 f(\boldsymbol{x}) \boldsymbol{v} \geq 0vT2f(x)v0)。

严格凸的二阶条件

∇2f(x)≻0∀x∈dom(f) \nabla^2 f(\boldsymbol{x}) \succ 0 \quad \forall \boldsymbol{x} \in \text{dom}(f) 2f(x)0xdom(f)
(Hessian 矩阵正定:vT∇2f(x)v>0\boldsymbol{v}^T \nabla^2 f(\boldsymbol{x}) \boldsymbol{v} > 0vT2f(x)v>0 对任意非零 v\boldsymbol{v}v 成立)。

例子
  • 二维函数 f(x1,x2)=x12+x22f(x_1, x_2) = x_1^2 + x_2^2f(x1,x2)=x12+x22:Hessian 矩阵为 [2002]\begin{bmatrix} 2 & 0 \\ 0 & 2 \end{bmatrix}[2002],正定,故 fff 是严格凸函数;
  • 文档中填空题1的函数 f(x1,x2)=32(x12+x22)+(1+a)x1x2−(x1+x2)−bf(x_1, x_2) = \frac{3}{2}(x_1^2 + x_2^2) + (1+a)x_1x_2 - (x_1 + x_2) - bf(x1,x2)=23(x12+x22)+(1+a)x1x2(x1+x2)b:Hessian 为 [31+a1+a3]\begin{bmatrix} 3 & 1+a \\ 1+a & 3 \end{bmatrix}[31+a1+a3],半正定的充要条件是顺序主子式非负,即 det⁡(H)=9−(1+a)2≥0\det(\boldsymbol{H}) = 9 - (1+a)^2 \geq 0det(H)=9(1+a)20,故 −4≤a≤2-4 \leq a \leq 24a2

三、凸集相关概念(Convex Set)

凸集是凸函数的定义域基础,也是可行域的核心性质,以下是凸优化中最常用的凸集相关概念:

1. α-下水平集(α-Sublevel Set)

定义

对函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:RnR,其 α\alphaα-下水平集是所有满足“函数值不超过 α\alphaα”的点的集合:
Sα={x∈dom(f)∣f(x)≤α} S_\alpha = \{\boldsymbol{x} \in \text{dom}(f) \mid f(\boldsymbol{x}) \leq \alpha\} Sα={xdom(f)f(x)α}

核心性质
  • 凸函数的下水平集必为凸集(反之不成立:下水平集是凸集的函数不一定是凸函数);
  • 应用:将“函数值约束”转化为“集合约束”,便于分析可行域的凸性(如文档中填空题1的集合 S={(x1,x2)T∣f(x1,x2)≤0}S = \{(x_1, x_2)^T \mid f(x_1, x_2) \leq 0\}S={(x1,x2)Tf(x1,x2)0},因 fff 是凸函数,故 SSS 是凸集)。

2. 上境图(Epigraph)

定义

函数 fff 的上境图是“函数图像及其上方所有点”构成的集合:
epi(f)={(x,t)∈dom(f)×R∣f(x)≤t} \text{epi}(f) = \{(\boldsymbol{x}, t) \in \text{dom}(f) \times \mathbb{R} \mid f(\boldsymbol{x}) \leq t\} epi(f)={(x,t)dom(f)×Rf(x)t}

核心性质(凸函数的等价定义)
  • 函数 fff 是凸函数 当且仅当 其上境图 epi(f)\text{epi}(f)epi(f) 是凸集;
  • 几何意义:凸函数的“上方区域”是凸集,非凸函数的上方区域存在“凹陷”(非凸集)。
例子
  • 凸函数 f(x)=x2f(x) = x^2f(x)=x2 的上境图是 {(x,t)∣t≥x2}\{(x, t) \mid t \geq x^2\}{(x,t)tx2}(抛物线上方区域,是凸集);
  • 非凸函数 f(x)=−x2f(x) = -x^2f(x)=x2 的上境图是 {(x,t)∣t≥−x2}\{(x, t) \mid t \geq -x^2\}{(x,t)tx2}(抛物线下方区域,非凸集)。

四、共轭函数与对偶范数

1. 共轭函数(Conjugate Function)

定义

对函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:RnR,其共轭函数 f∗:Rn→R∪{+∞}f^*: \mathbb{R}^n \to \mathbb{R} \cup \{+\infty\}f:RnR{+} 定义为:
f∗(y)=sup⁡x∈dom(f)(yTx−f(x)) f^*(\boldsymbol{y}) = \sup_{\boldsymbol{x} \in \text{dom}(f)} \left( \boldsymbol{y}^T \boldsymbol{x} - f(\boldsymbol{x}) \right) f(y)=xdom(f)sup(yTxf(x))
sup⁡\supsup 表示上确界,即“最小的上界”;若上确界不存在,f∗(y)=+∞f^*(\boldsymbol{y}) = +\inftyf(y)=+)。

本质与作用
  • 共轭函数是 fff 的“对偶变换”:将原函数 fff 转化为关于 y\boldsymbol{y}y 的函数,核心是“对原函数的线性逼近的偏差取最大值”;
  • 凸性:无论 fff 是否为凸函数,其共轭函数 f∗f^*f 必为凸函数(上确界操作保持凸性);
  • 应用:将非凸优化问题转化为凸优化问题(如最大化问题转最小化问题),或简化约束条件。
常见例子
  • 文档中计算题10a:f(x)=max⁡i=1,...,nxif(\boldsymbol{x}) = \max_{i=1,...,n} x_if(x)=maxi=1,...,nxi(逐点最大值函数),其共轭函数为:
    f∗(y)={0若 y≥0 且 ∑i=1nyi=1+∞其他情况 f^*(\boldsymbol{y}) = \begin{cases} 0 & \text{若 } \boldsymbol{y} \geq 0 \text{ 且 } \sum_{i=1}^n y_i = 1 \\ +\infty & \text{其他情况} \end{cases} f(y)={0+ y0  i=1nyi=1其他情况
  • 文档中计算题10b:f(x)=∣x∣ppf(x) = \frac{|x|^p}{p}f(x)=pxpp>1p>1p>1),其共轭函数为 f∗(y)=∣y∣qqf^*(y) = \frac{|y|^q}{q}f(y)=qyqq=p/(p−1)q = p/(p-1)q=p/(p1)pppqqq 为共轭指数)。

2. 对偶范数(Dual Norm)

定义

∥⋅∥\|\cdot\|Rn\mathbb{R}^nRn 上的范数(如 ℓ1,ℓ2,ℓ∞\ell_1, \ell_2, \ell_\infty1,2, 范数),其对偶范数 ∥⋅∥∗\|\cdot\|_* 定义为:
∥y∥∗=sup⁡∥x∥≤1yTx \|\boldsymbol{y}\|_* = \sup_{\|\boldsymbol{x}\| \leq 1} \boldsymbol{y}^T \boldsymbol{x} y=x1supyTx
(即“y\boldsymbol{y}y 与单位范数球内向量的内积的最大值”)。

核心性质
  • 对偶范数本身是范数;
  • 共轭性:(∥⋅∥∗)∗=∥⋅∥(\|\cdot\|_*)_* = \|\cdot\|()=(对偶的对偶是原范数);
  • 常见范数的对偶:
    • ℓ2\ell_22 范数的对偶是自身(∥y∥2∗=∥y∥2\|\boldsymbol{y}\|_2^* = \|\boldsymbol{y}\|_2y2=y2);
    • ℓ1\ell_11 范数的对偶是 ℓ∞\ell_\infty 范数(∥y∥1∗=∥y∥∞=max⁡i=1,...,n∣yi∣\|\boldsymbol{y}\|_1^* = \|\boldsymbol{y}\|_\infty = \max_{i=1,...,n} |y_i|y1=y=maxi=1,...,nyi);
    • ℓ∞\ell_\infty 范数的对偶是 ℓ1\ell_11 范数。
与共轭函数的关系
  • 范数 ∥⋅∥\|\cdot\| 的共轭函数就是其对偶范数的指示函数:f(x)=∥x∥f(\boldsymbol{x}) = \|\boldsymbol{x}\|f(x)=x 的共轭函数为 f∗(y)={0若 ∥y∥∗≤1+∞其他f^*(\boldsymbol{y}) = \begin{cases} 0 & \text{若 } \|\boldsymbol{y}\|_* \leq 1 \\ +\infty & \text{其他} \end{cases}f(y)={0+ y1其他

五、线搜索方法(Line Search)

线搜索是凸优化数值算法(如梯度下降、牛顿法)的核心步骤,目的是“在给定下降方向后,找到最优步长 ttt”。

1. 核心思想

设当前迭代点为 x(k)\boldsymbol{x}^{(k)}x(k),下降方向为 d(k)\boldsymbol{d}^{(k)}d(k)(如梯度负方向 −∇f(x(k))-\nabla f(\boldsymbol{x}^{(k)})f(x(k))),线搜索的目标是找到步长 t>0t > 0t>0,使得:
f(x(k)+td(k))<f(x(k)) f(\boldsymbol{x}^{(k)} + t\boldsymbol{d}^{(k)}) < f(\boldsymbol{x}^{(k)}) f(x(k)+td(k))<f(x(k))
(即函数值下降)。

2. 精确线搜索(Exact Line Search)

定义

找到步长 tkt_ktk,使得函数值在该方向上达到全局最小值
tk=arg⁡min⁡t≥0f(x(k)+td(k)) t_k = \arg\min_{t \geq 0} f(\boldsymbol{x}^{(k)} + t\boldsymbol{d}^{(k)}) tk=argt0minf(x(k)+td(k))

优点与缺点
  • 优点:每一步都能找到最优步长,收敛速度理论上更快;
  • 缺点:计算量大(需求解一维最小值问题,可能涉及解方程),适用于低维问题或简单函数(如二次函数)。
例子
  • 文档中计算题11a:梯度下降法的精确线搜索,通过构造一维函数 g(t)=f(x(1)+td(1))g(t) = f(\boldsymbol{x}^{(1)} + t\boldsymbol{d}^{(1)})g(t)=f(x(1)+td(1)),求导得 g′(t)=0g'(t) = 0g(t)=0,解得 t=1/4t = 1/4t=1/4

3. 不精确线搜索(Inexact Line Search)

定义

不需要找到全局最优步长,只需满足“函数值充分下降”的准则(如 Armijo 准则、Wolfe 准则),核心是平衡“下降效果”和“计算效率”。

常用准则:Armijo 准则

找到 t>0t > 0t>0,使得:
f(x(k)+td(k))≤f(x(k))+c1t∇f(x(k))Td(k) f(\boldsymbol{x}^{(k)} + t\boldsymbol{d}^{(k)}) \leq f(\boldsymbol{x}^{(k)}) + c_1 t \nabla f(\boldsymbol{x}^{(k)})^T \boldsymbol{d}^{(k)} f(x(k)+td(k))f(x(k))+c1tf(x(k))Td(k)
其中 0<c1<10 < c_1 < 10<c1<1(通常取 c1=10−4c_1 = 10^{-4}c1=104)。

几何意义
  • 函数值的下降量至少是“线性近似下降量”的 c1c_1c1 倍(避免步长过小导致收敛过慢,或步长过大导致函数值上升);
  • 优点:计算量小(只需验证不等式,无需解方程),适用于高维问题,是实际算法的首选。

六、对偶性(Duality)

对偶性是凸优化的核心理论工具,通过构造“对偶问题”来逼近原问题的最优值,适用于原问题约束复杂或难以直接求解的场景。

1. 原问题与对偶问题

设原最小化问题(Primal Problem)为:
p∗=min⁡xf0(x)s.t.fi(x)≤0 (i=1,...,m), Ax=b p^* = \min_{\boldsymbol{x}} f_0(\boldsymbol{x}) \quad \text{s.t.} \quad f_i(\boldsymbol{x}) \leq 0 \ (i=1,...,m), \ \boldsymbol{A}\boldsymbol{x} = \boldsymbol{b} p=xminf0(x)s.t.fi(x)0 (i=1,...,m), Ax=b
p∗p^*p 为原问题最优值)。

通过 Lagrange 对偶变换,构造对偶问题(Dual Problem)为:
d∗=max⁡λ≥0,νg(λ,ν) d^* = \max_{\lambda \geq 0, \nu} g(\lambda, \nu) d=λ0,νmaxg(λ,ν)
其中 g(λ,ν)=inf⁡x(f0(x)+∑i=1mλifi(x)+νT(Ax−b))g(\lambda, \nu) = \inf_{\boldsymbol{x}} \left( f_0(\boldsymbol{x}) + \sum_{i=1}^m \lambda_i f_i(\boldsymbol{x}) + \nu^T (\boldsymbol{A}\boldsymbol{x} - \boldsymbol{b}) \right)g(λ,ν)=infx(f0(x)+i=1mλifi(x)+νT(Axb)) 是对偶函数,λ∈R+m\lambda \in \mathbb{R}^m_+λR+m(对偶变量,对应不等式约束),ν∈Rp\nu \in \mathbb{R}^pνRp(对偶变量,对应等式约束)。

2. 弱对偶性(Weak Duality)

定义

对任意原问题和对偶问题,恒有:
d∗≤p∗ d^* \leq p^* dp
(对偶问题的最优值不超过原问题的最优值)。

本质与作用
  • 弱对偶性无条件成立,无需任何凸性假设;
  • 提供原问题最优值的“下界”:若对偶问题易求解,可通过 d∗d^*d 估计 p∗p^*p 的范围;
  • 对偶间隙:KaTeX parse error: Undefined control sequence: \gap at position 1: \̲g̲a̲p̲ ̲= p^* - d^* \ge…(衡量对偶问题对原问题的逼近程度)。

3. 强对偶性(Strong Duality)

定义

若对偶间隙为零,即:
d∗=p∗ d^* = p^* d=p
则称强对偶性成立。

成立条件(约束规范)

强对偶性需满足额外条件,最常用的是Slater 条件(适用于凸优化问题):

  • 原问题是凸优化问题(f0f_0f0 凸,fif_ifi 凸,等式约束 Ax=b\boldsymbol{A}\boldsymbol{x} = \boldsymbol{b}Ax=b 线性);
  • 存在可行点 x0\boldsymbol{x}_0x0,使得所有不等式约束严格成立fi(x0)<0 (i=1,...,m)f_i(\boldsymbol{x}_0) < 0 \ (i=1,...,m)fi(x0)<0 (i=1,...,m),且 Ax0=b\boldsymbol{A}\boldsymbol{x}_0 = \boldsymbol{b}Ax0=b
作用
  • 强对偶性成立时,可通过求解对偶问题得到原问题的最优值(对偶问题可能更简单,如无约束或约束更少);
  • 是 KKT 条件的前提(强对偶性+KKT 条件可直接得到最优解)。

七、约束优化的关键概念

1. 可行域(Feasible Set)

定义

满足所有约束条件的优化变量 x\boldsymbol{x}x 的集合,记为 F\mathcal{F}F
F={x∈Rn∣fi(x)≤0 (i=1,...,m), Ax=b} \mathcal{F} = \{\boldsymbol{x} \in \mathbb{R}^n \mid f_i(\boldsymbol{x}) \leq 0 \ (i=1,...,m), \ \boldsymbol{A}\boldsymbol{x} = \boldsymbol{b}\} F={xRnfi(x)0 (i=1,...,m), Ax=b}

核心性质
  • 凸优化问题的可行域必为凸集(凸函数的下水平集+线性约束的交集为凸集);
  • 可行域非空是优化问题有解的必要条件(若 F=∅\mathcal{F} = \emptysetF=,问题无解)。
例子
  • 文档中问题9的线性规划:min⁡2x1+3x2\min 2x_1 + 3x_2min2x1+3x2s.t.x1+x2=1\text{s.t.} x_1 + x_2 = 1s.t.x1+x2=1x1≥0x_1 \geq 0x10x2≥0x_2 \geq 0x20
  • 可行域 F={(x1,x2)∣x1+x2=1,x1≥0,x2≥0}\mathcal{F} = \{(x_1, x_2) \mid x_1 + x_2 = 1, x_1 \geq 0, x_2 \geq 0\}F={(x1,x2)x1+x2=1,x10,x20}(连接 (0,1)(0,1)(0,1)(1,0)(1,0)(1,0) 的线段,是凸集)。

2. Slater 条件(Slater’s Condition)

定义(针对凸优化问题)

存在可行点 x0∈F\boldsymbol{x}_0 \in \mathcal{F}x0F,使得:
fi(x0)<0 (i=1,...,m),Ax0=b f_i(\boldsymbol{x}_0) < 0 \ (i=1,...,m), \quad \boldsymbol{A}\boldsymbol{x}_0 = \boldsymbol{b} fi(x0)<0 (i=1,...,m),Ax0=b
(等式约束无需严格成立,只需满足;不等式约束需严格小于0)。

作用
  • 是强对偶性成立的充分条件(非必要条件);
  • 文档中问题9的 Slater 条件:存在可行点 (0.5,0.5)(0.5, 0.5)(0.5,0.5),满足 x1=0.5>0x_1 = 0.5 > 0x1=0.5>0x2=0.5>0x_2 = 0.5 > 0x2=0.5>0(严格满足不等式约束),故 Slater 条件成立,强对偶性成立。

3. KKT 条件(Karush-Kuhn-Tucker Conditions)

定义

KKT 条件是约束优化问题最优解的必要条件,对于凸优化问题,也是充分条件。设 x∗\boldsymbol{x}^*x 是原问题的最优解,λ∗≥0\lambda^* \geq 0λ0(不等式约束对偶变量),ν∗\nu^*ν(等式约束对偶变量)是对应的对偶最优解,则 KKT 条件包括以下4点:

(1)梯度条件(stationarity)

∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+ATν∗=0 \nabla f_0(\boldsymbol{x}^*) + \sum_{i=1}^m \lambda_i^* \nabla f_i(\boldsymbol{x}^*) + \boldsymbol{A}^T \nu^* = 0 f0(x)+i=1mλifi(x)+ATν=0
(原问题的梯度与对偶变量加权的约束梯度平衡)。

(2)互补松弛条件(complementary slackness)

λi∗fi(x∗)=0(i=1,...,m) \lambda_i^* f_i(\boldsymbol{x}^*) = 0 \quad (i=1,...,m) λifi(x)=0(i=1,...,m)
(对偶变量 λi∗\lambda_i^*λi 与约束函数值 fi(x∗)f_i(\boldsymbol{x}^*)fi(x) 至少一个为零)。

  • 含义:若 λi∗>0\lambda_i^* > 0λi>0(对偶变量非零),则 fi(x∗)=0f_i(\boldsymbol{x}^*) = 0fi(x)=0(对应约束是“紧约束”,即最优解在约束边界上);
  • fi(x∗)<0f_i(\boldsymbol{x}^*) < 0fi(x)<0(约束是“松约束”,最优解在约束内部),则 λi∗=0\lambda_i^* = 0λi=0(对偶变量无作用)。
(3)约束满足条件(primal feasibility)

fi(x∗)≤0 (i=1,...,m),Ax∗=b f_i(\boldsymbol{x}^*) \leq 0 \ (i=1,...,m), \quad \boldsymbol{A}\boldsymbol{x}^* = \boldsymbol{b} fi(x)0 (i=1,...,m),Ax=b
(最优解必须在可行域内)。

(4)对偶变量非负条件(dual feasibility)

λi∗≥0(i=1,...,m) \lambda_i^* \geq 0 \quad (i=1,...,m) λi0(i=1,...,m)
(不等式约束的对偶变量非负)。

应用
  • 直接求解最优解:通过解 KKT 方程组(梯度条件+互补松弛条件+约束条件),可直接得到 x∗\boldsymbol{x}^*xλ∗\lambda^*λν∗\nu^*ν
  • 验证最优解:若某点满足 KKT 条件,且原问题是凸优化,则该点必为最优解。
例子(文档问题9的 KKT 条件)

原问题:min⁡2x1+3x2\min 2x_1 + 3x_2min2x1+3x2s.t.x1+x2=1\text{s.t.} x_1 + x_2 = 1s.t.x1+x2=1x1≥0x_1 \geq 0x10x2≥0x_2 \geq 0x20

  • Lagrangian 函数:L=2x1+3x2−λ(x1+x2−1)−μ1x1−μ2x2L = 2x_1 + 3x_2 - \lambda(x_1 + x_2 - 1) - \mu_1 x_1 - \mu_2 x_2L=2x1+3x2λ(x1+x21)μ1x1μ2x2λ\lambdaλ 为等式约束乘子,μ1,μ2≥0\mu_1, \mu_2 \geq 0μ1,μ20 为不等式约束乘子);
  • KKT 条件:
    1. 梯度条件:{2−λ−μ1=03−λ−μ2=0\begin{cases} 2 - \lambda - \mu_1 = 0 \\ 3 - \lambda - \mu_2 = 0 \end{cases}{2λμ1=03λμ2=0
    2. 互补松弛:μ1x1=0\mu_1 x_1 = 0μ1x1=0μ2x2=0\mu_2 x_2 = 0μ2x2=0
    3. 约束满足:x1+x2=1x_1 + x_2 = 1x1+x2=1x1≥0x_1 \geq 0x10x2≥0x_2 \geq 0x20
    4. 对偶变量非负:μ1≥0\mu_1 \geq 0μ10μ2≥0\mu_2 \geq 0μ20

求解得最优解:x1∗=1x_1^* = 1x1=1x2∗=0x_2^* = 0x2=0λ∗=2\lambda^* = 2λ=2μ1∗=0\mu_1^* = 0μ1=0μ2∗=1\mu_2^* = 1μ2=1(满足所有 KKT 条件)。

总结:凸优化基本概念的逻辑框架

凸优化的核心逻辑是:通过“凸函数+凸集”定义凸优化问题,利用“对偶性”转化问题,通过“线搜索”实现数值求解,通过“KKT条件”判定最优解。各概念的衔接关系如下:

  1. 基础:优化问题形式(LP/QP)→ 可行域(凸集);
  2. 核心:凸函数(定义+一/二阶条件)→ 上境图/下水平集(凸集验证);
  3. 工具:共轭函数(对偶变换)→ 对偶范数(范数的对偶);
  4. 理论:弱对偶性(恒成立)→ 强对偶性(Slater条件);
  5. 求解:线搜索(步长选择)→ KKT条件(最优解判定)。
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐