凸优化核心基本概念
凸优化核心基本概念(详细解析)
凸优化是优化理论的核心分支,其核心优势是局部最优解即为全局最优解,而这一特性依赖于“凸函数”“凸集”等基础概念的严格定义。以下是凸优化中所有关键基本概念的详细拆解,包含定义、数学表达、几何意义及核心性质:
一、优化问题的标准形式
凸优化的问题形式基于“目标函数+约束条件”,核心分为线性规划和二次规划(二者均为凸优化的特殊情形,也是最常用的类型)。
1. 线性规划(Linear Programming, LP)
定义
目标函数和所有约束条件均为线性函数的优化问题,是凸优化中最简单、应用最广泛的类型(如资源分配、生产计划等)。
一般形式
{min/maxcTxs.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.cTxAx≤b(不等式约束)Aeqx=beq(等式约束)x≥0(非负约束,可选)
符号与含义
- x∈Rn\boldsymbol{x} \in \mathbb{R}^nx∈Rn:优化变量(nnn 维实向量);
- c∈Rn\boldsymbol{c} \in \mathbb{R}^nc∈Rn:目标函数系数向量(线性目标的斜率);
- A∈Rm×n\boldsymbol{A} \in \mathbb{R}^{m \times n}A∈Rm×n:不等式约束系数矩阵(mmm 个不等式约束);
- Aeq∈Rp×n\boldsymbol{A}_{eq} \in \mathbb{R}^{p \times n}Aeq∈Rp×n:等式约束系数矩阵(ppp 个等式约束);
- b∈Rm\boldsymbol{b} \in \mathbb{R}^mb∈Rm、beq∈Rp\boldsymbol{b}_{eq} \in \mathbb{R}^pbeq∈Rp:约束右侧常数向量。
核心性质
- 目标函数是凸函数(线性函数既是凸函数也是凹函数);
- 可行域是凸集(线性约束的交集为凸集);
- 最优解若存在,必在可行域的顶点上(这是 simplex 算法的理论基础)。
2. 二次规划(Quadratic Programming, QP)
定义
目标函数为二次函数,约束条件仍为线性函数的优化问题(适用于含二次成本的场景,如最小二乘、控制问题)。
一般形式
{min12xTHx+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+cTxAx≤bAeqx=beqx≥0(可选)
符号与核心条件
- H∈Sn\boldsymbol{H} \in \mathbb{S}^nH∈Sn:目标函数的 Hessian 矩阵(nnn 阶对称矩阵,Sn\mathbb{S}^nSn 表示对称矩阵集合);
- 凸二次规划的关键条件:H⪰0\boldsymbol{H} \succeq 0H⪰0(H\boldsymbol{H}H 半正定),此时目标函数为凸函数,问题是凸优化。
特殊情形
- 无约束二次规划:min12xTHx+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∗=−H−1c(直接由梯度为零求解)。
二、凸函数(Convex Function)
凸函数是凸优化的“核心灵魂”,其定义本质是“函数图像的弦在函数之上”,保证了局部最优即为全局最优。
1. 定义(基础形式)
设函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:Rn→R,其定义域 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,x2∈dom(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+(1−t)x2)≤tf(x1)+(1−t)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. 一阶条件(可微凸函数的判定)
若 fff 在 dom(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(x−y)∀x,y∈dom(f)
几何意义
- 函数在任意点 y\boldsymbol{y}y 处的切线(或切平面),始终在函数图像的下方;
- 若 fff 是严格凸函数,不等式严格成立(切线严格在函数下方)。
例子
- 一维凸函数 f(x)=x2f(x) = x^2f(x)=x2:梯度 ∇f(y)=2y\nabla f(y) = 2y∇f(y)=2y,切线方程为 yt(x)=2y(x−y)+y2=2yx−y2y_t(x) = 2y(x - y) + y^2 = 2yx - y^2yt(x)=2y(x−y)+y2=2yx−y2,显然 x2≥2yx−y2x^2 \geq 2yx - y^2x2≥2yx−y2(即 (x−y)2≥0(x - y)^2 \geq 0(x−y)2≥0),满足一阶条件。
3. 二阶条件(二次可微凸函数的判定)
若 fff 在 dom(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)⪰0∀x∈dom(f)
(Hessian 矩阵半正定:对任意非零向量 v∈Rn\boldsymbol{v} \in \mathbb{R}^nv∈Rn,有 vT∇2f(x)v≥0\boldsymbol{v}^T \nabla^2 f(\boldsymbol{x}) \boldsymbol{v} \geq 0vT∇2f(x)v≥0)。
严格凸的二阶条件
∇2f(x)≻0∀x∈dom(f) \nabla^2 f(\boldsymbol{x}) \succ 0 \quad \forall \boldsymbol{x} \in \text{dom}(f) ∇2f(x)≻0∀x∈dom(f)
(Hessian 矩阵正定:vT∇2f(x)v>0\boldsymbol{v}^T \nabla^2 f(\boldsymbol{x}) \boldsymbol{v} > 0vT∇2f(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)2≥0,故 −4≤a≤2-4 \leq a \leq 2−4≤a≤2。
三、凸集相关概念(Convex Set)
凸集是凸函数的定义域基础,也是可行域的核心性质,以下是凸优化中最常用的凸集相关概念:
1. α-下水平集(α-Sublevel Set)
定义
对函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:Rn→R,其 α\alphaα-下水平集是所有满足“函数值不超过 α\alphaα”的点的集合:
Sα={x∈dom(f)∣f(x)≤α} S_\alpha = \{\boldsymbol{x} \in \text{dom}(f) \mid f(\boldsymbol{x}) \leq \alpha\} Sα={x∈dom(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)T∣f(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)×R∣f(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)∣t≥x2}(抛物线上方区域,是凸集);
- 非凸函数 f(x)=−x2f(x) = -x^2f(x)=−x2 的上境图是 {(x,t)∣t≥−x2}\{(x, t) \mid t \geq -x^2\}{(x,t)∣t≥−x2}(抛物线下方区域,非凸集)。
四、共轭函数与对偶范数
1. 共轭函数(Conjugate Function)
定义
对函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:Rn→R,其共轭函数 f∗:Rn→R∪{+∞}f^*: \mathbb{R}^n \to \mathbb{R} \cup \{+\infty\}f∗:Rn→R∪{+∞} 定义为:
f∗(y)=supx∈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)=x∈dom(f)sup(yTx−f(x))
(sup\supsup 表示上确界,即“最小的上界”;若上确界不存在,f∗(y)=+∞f^*(\boldsymbol{y}) = +\inftyf∗(y)=+∞)。
本质与作用
- 共轭函数是 fff 的“对偶变换”:将原函数 fff 转化为关于 y\boldsymbol{y}y 的函数,核心是“对原函数的线性逼近的偏差取最大值”;
- 凸性:无论 fff 是否为凸函数,其共轭函数 f∗f^*f∗ 必为凸函数(上确界操作保持凸性);
- 应用:将非凸优化问题转化为凸优化问题(如最大化问题转最小化问题),或简化约束条件。
常见例子
- 文档中计算题10a:f(x)=maxi=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+∞若 y≥0 且 ∑i=1nyi=1其他情况 - 文档中计算题10b:f(x)=∣x∣ppf(x) = \frac{|x|^p}{p}f(x)=p∣x∣p(p>1p>1p>1),其共轭函数为 f∗(y)=∣y∣qqf^*(y) = \frac{|y|^q}{q}f∗(y)=q∣y∣q(q=p/(p−1)q = p/(p-1)q=p/(p−1),ppp 和 qqq 为共轭指数)。
2. 对偶范数(Dual Norm)
定义
设 ∥⋅∥\|\cdot\|∥⋅∥ 是 Rn\mathbb{R}^nRn 上的范数(如 ℓ1,ℓ2,ℓ∞\ell_1, \ell_2, \ell_\inftyℓ1,ℓ2,ℓ∞ 范数),其对偶范数 ∥⋅∥∗\|\cdot\|_*∥⋅∥∗ 定义为:
∥y∥∗=sup∥x∥≤1yTx \|\boldsymbol{y}\|_* = \sup_{\|\boldsymbol{x}\| \leq 1} \boldsymbol{y}^T \boldsymbol{x} ∥y∥∗=∥x∥≤1supyTx
(即“y\boldsymbol{y}y 与单位范数球内向量的内积的最大值”)。
核心性质
- 对偶范数本身是范数;
- 共轭性:(∥⋅∥∗)∗=∥⋅∥(\|\cdot\|_*)_* = \|\cdot\|(∥⋅∥∗)∗=∥⋅∥(对偶的对偶是原范数);
- 常见范数的对偶:
- ℓ2\ell_2ℓ2 范数的对偶是自身(∥y∥2∗=∥y∥2\|\boldsymbol{y}\|_2^* = \|\boldsymbol{y}\|_2∥y∥2∗=∥y∥2);
- ℓ1\ell_1ℓ1 范数的对偶是 ℓ∞\ell_\inftyℓ∞ 范数(∥y∥1∗=∥y∥∞=maxi=1,...,n∣yi∣\|\boldsymbol{y}\|_1^* = \|\boldsymbol{y}\|_\infty = \max_{i=1,...,n} |y_i|∥y∥1∗=∥y∥∞=maxi=1,...,n∣yi∣);
- ℓ∞\ell_\inftyℓ∞ 范数的对偶是 ℓ1\ell_1ℓ1 范数。
与共轭函数的关系
- 范数 ∥⋅∥\|\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+∞若 ∥y∥∗≤1其他。
五、线搜索方法(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=argmint≥0f(x(k)+td(k)) t_k = \arg\min_{t \geq 0} f(\boldsymbol{x}^{(k)} + t\boldsymbol{d}^{(k)}) tk=argt≥0minf(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))+c1t∇f(x(k))Td(k)
其中 0<c1<10 < c_1 < 10<c1<1(通常取 c1=10−4c_1 = 10^{-4}c1=10−4)。
几何意义
- 函数值的下降量至少是“线性近似下降量”的 c1c_1c1 倍(避免步长过小导致收敛过慢,或步长过大导致函数值上升);
- 优点:计算量小(只需验证不等式,无需解方程),适用于高维问题,是实际算法的首选。
六、对偶性(Duality)
对偶性是凸优化的核心理论工具,通过构造“对偶问题”来逼近原问题的最优值,适用于原问题约束复杂或难以直接求解的场景。
1. 原问题与对偶问题
设原最小化问题(Primal Problem)为:
p∗=minxf0(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(λ,ν)=infx(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(Ax−b)) 是对偶函数,λ∈R+m\lambda \in \mathbb{R}^m_+λ∈R+m(对偶变量,对应不等式约束),ν∈Rp\nu \in \mathbb{R}^pν∈Rp(对偶变量,对应等式约束)。
2. 弱对偶性(Weak Duality)
定义
对任意原问题和对偶问题,恒有:
d∗≤p∗ d^* \leq p^* d∗≤p∗
(对偶问题的最优值不超过原问题的最优值)。
本质与作用
- 弱对偶性无条件成立,无需任何凸性假设;
- 提供原问题最优值的“下界”:若对偶问题易求解,可通过 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={x∈Rn∣fi(x)≤0 (i=1,...,m), Ax=b}
核心性质
- 凸优化问题的可行域必为凸集(凸函数的下水平集+线性约束的交集为凸集);
- 可行域非空是优化问题有解的必要条件(若 F=∅\mathcal{F} = \emptysetF=∅,问题无解)。
例子
- 文档中问题9的线性规划:min2x1+3x2\min 2x_1 + 3x_2min2x1+3x2,s.t.x1+x2=1\text{s.t.} x_1 + x_2 = 1s.t.x1+x2=1,x1≥0x_1 \geq 0x1≥0,x2≥0x_2 \geq 0x2≥0;
- 可行域 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,x1≥0,x2≥0}(连接 (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}x0∈F,使得:
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>0,x2=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=1∑mλi∗∇fi(x∗)+ATν∗=0
(原问题的梯度与对偶变量加权的约束梯度平衡)。
(2)互补松弛条件(complementary slackness)
λi∗fi(x∗)=0(i=1,...,m) \lambda_i^* f_i(\boldsymbol{x}^*) = 0 \quad (i=1,...,m) λi∗fi(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) λi∗≥0(i=1,...,m)
(不等式约束的对偶变量非负)。
应用
- 直接求解最优解:通过解 KKT 方程组(梯度条件+互补松弛条件+约束条件),可直接得到 x∗\boldsymbol{x}^*x∗、λ∗\lambda^*λ∗、ν∗\nu^*ν∗;
- 验证最优解:若某点满足 KKT 条件,且原问题是凸优化,则该点必为最优解。
例子(文档问题9的 KKT 条件)
原问题:min2x1+3x2\min 2x_1 + 3x_2min2x1+3x2,s.t.x1+x2=1\text{s.t.} x_1 + x_2 = 1s.t.x1+x2=1,x1≥0x_1 \geq 0x1≥0,x2≥0x_2 \geq 0x2≥0;
- 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+x2−1)−μ1x1−μ2x2(λ\lambdaλ 为等式约束乘子,μ1,μ2≥0\mu_1, \mu_2 \geq 0μ1,μ2≥0 为不等式约束乘子);
- KKT 条件:
- 梯度条件:{2−λ−μ1=03−λ−μ2=0\begin{cases} 2 - \lambda - \mu_1 = 0 \\ 3 - \lambda - \mu_2 = 0 \end{cases}{2−λ−μ1=03−λ−μ2=0;
- 互补松弛:μ1x1=0\mu_1 x_1 = 0μ1x1=0,μ2x2=0\mu_2 x_2 = 0μ2x2=0;
- 约束满足:x1+x2=1x_1 + x_2 = 1x1+x2=1,x1≥0x_1 \geq 0x1≥0,x2≥0x_2 \geq 0x2≥0;
- 对偶变量非负:μ1≥0\mu_1 \geq 0μ1≥0,μ2≥0\mu_2 \geq 0μ2≥0。
求解得最优解:x1∗=1x_1^* = 1x1∗=1,x2∗=0x_2^* = 0x2∗=0,λ∗=2\lambda^* = 2λ∗=2,μ1∗=0\mu_1^* = 0μ1∗=0,μ2∗=1\mu_2^* = 1μ2∗=1(满足所有 KKT 条件)。
总结:凸优化基本概念的逻辑框架
凸优化的核心逻辑是:通过“凸函数+凸集”定义凸优化问题,利用“对偶性”转化问题,通过“线搜索”实现数值求解,通过“KKT条件”判定最优解。各概念的衔接关系如下:
- 基础:优化问题形式(LP/QP)→ 可行域(凸集);
- 核心:凸函数(定义+一/二阶条件)→ 上境图/下水平集(凸集验证);
- 工具:共轭函数(对偶变换)→ 对偶范数(范数的对偶);
- 理论:弱对偶性(恒成立)→ 强对偶性(Slater条件);
- 求解:线搜索(步长选择)→ KKT条件(最优解判定)。
更多推荐




所有评论(0)