AI学习指南数学工具篇-凸优化之对偶性与拉格朗日对偶
在凸优化中,对偶性是一个非常重要的概念。通过对偶性,我们可以将原始问题转化为对偶问题,从而更容易求解。其中,拉格朗日对偶问题是对偶性的一个重要应用,通过拉格朗日对偶问题,我们可以得到原始问题的最优解。本篇博客将重点介绍对偶性及拉格朗日对偶问题,并通过详细的示例来解释其求解过程。
1. 对偶问题的定义
在凸优化中,对偶问题是指通过原始问题构造一个与之等价的问题,称为对偶问题。对偶问题通常可以更容易求解,而且其最优解可以用来得到原始问题的最优解。
对于凸优化问题:
minimize f 0 ( x ) subject to f i ( x ) ≤ 0 , i = 1 , 2 , . . . , m h i ( x ) = 0 , i = 1 , 2 , . . . , p \begin{aligned} \text{minimize} \quad & f_0(x) \\ \text{subject to} \quad & f_i(x) \leq 0, \quad i = 1,2,...,m \\ & h_i(x) = 0, \quad i = 1,2,...,p \end{aligned} minimizesubject tof0(x)fi(x)≤0,i=1,2,...,mhi(x)=0,i=1,2,...,p
其中, f 0 ( x ) f_0(x) f0(x) 是目标函数, f i ( x ) f_i(x) fi(x) 是不等式约束, h i ( x ) h_i(x) hi(x) 是等式约束。
其对偶问题为:
maximize g ( λ , ν ) subject to λ ≥ 0 \begin{aligned} \text{maximize} \quad & g(\lambda, \nu) \\ \text{subject to} \quad & \lambda \geq 0 \end{aligned} maximizesubject tog(λ,ν)λ≥0
其中, g ( λ , ν ) g(\lambda, \nu) g(λ,ν) 是对偶函数, λ \lambda λ 是不等式约束的拉格朗日乘子, ν \nu ν 是等式约束的拉格朗日乘子。
2. 对偶问题与原始问题的关系
对偶问题与原始问题之间存在一种紧密的关系,它们互为最优化问题的等价形式。具体来说,对于原始问题的最优解 x ∗ x^* x∗和对偶问题的最优解 ( λ ∗ , ν ∗ ) (\lambda^*, \nu^*) (λ∗,ν∗),有以下关系成立:
- 若 x ∗ x^* x∗是原始问题的最优解,则存在 ( λ ∗ , ν ∗ ) (\lambda^*, \nu^*) (λ∗,ν∗)使得 g ( λ ∗ , ν ∗ ) = f 0 ( x ∗ ) g(\lambda^*, \nu^*) = f_0(x^*) g(λ∗,ν∗)=f0(x∗),即对偶问题的最优值等于原始问题的最优值;
- 若 ( λ ∗ , ν ∗ ) (\lambda^*, \nu^*) (λ∗,ν∗)是对偶问题的最优解,则存在 x ∗ x^* x∗使得 f 0 ( x ∗ ) = g ( λ ∗ , ν ∗ ) f_0(x^*) = g(\lambda^*, \nu^*) f0(x∗)=g(λ∗,ν∗),即原始问题的最优值等于对偶问题的最优值。
这些关系为我们提供了一种通过对偶问题求解原始问题的方法,也为原始问题的最优解提供了一种判定条件。
3. 拉格朗日对偶问题的求解
3.1 对偶函数的定义
在介绍拉格朗日对偶问题的求解过程之前,我们需要先定义对偶函数。对于原始问题:
minimize f 0 ( x ) subject to f i ( x ) ≤ 0 , i = 1 , 2 , . . . , m h i ( x ) = 0 , i = 1 , 2 , . . . , p \text{minimize} \quad f_0(x) \\ \text{subject to} \quad f_i(x) \leq 0, \quad i = 1,2,...,m \\ h_i(x) = 0, \quad i = 1,2,...,p minimizef0(x)subject tofi(x)≤0,i=1,2,...,mhi(x)=0,i=1,2,...,p
其拉格朗日函数定义为:
L ( x , λ , ν ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p ν i h i ( x ) L(x, \lambda, \nu) = f_0(x) + \sum_{i=1}^{m} \lambda_i f_i(x) + \sum_{i=1}^{p} \nu_i h_i(x) L(x,λ,ν)=f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x)
其中, λ \lambda λ和 ν \nu ν分别是不等式约束和等式约束的拉格朗日乘子。
对偶函数 g ( λ , ν ) g(\lambda, \nu) g(λ,ν)定义为原始问题的拉格朗日函数 L ( x , λ , ν ) L(x, \lambda, \nu) L(x,λ,ν)关于 x x x的下确界:
g ( λ , ν ) = inf x L ( x , λ , ν ) g(\lambda, \nu) = \inf_{x} L(x, \lambda, \nu) g(λ,ν)=xinfL(x,λ,ν)
3.2 求解拉格朗日对偶问题
对于原始问题和对偶问题的关系,我们有以下结论:
- 若原始问题是凸优化问题,并且满足一定条件(如Slater条件),则对偶问题也是凸优化问题;
- 对于凸优化问题的对偶问题,其最优解可以通过对偶函数的解析形式来求解。
下面通过一个具体的凸优化问题和其拉格朗日对偶问题来示例求解过程。
示例:原始问题
考虑以下凸优化问题:
minimize f 0 ( x ) = ( x − 1 ) 2 subject to f 1 ( x ) = x ≤ 3 \begin{aligned} \text{minimize} \quad & f_0(x) = (x-1)^2 \\ \text{subject to} \quad & f_1(x) = x \leq 3 \end{aligned} minimizesubject tof0(x)=(x−1)2f1(x)=x≤3
其拉格朗日函数为:
L ( x , λ ) = ( x − 1 ) 2 + λ ( x − 3 ) L(x, \lambda) = (x-1)^2 + \lambda(x-3) L(x,λ)=(x−1)2+λ(x−3)
对偶函数为:
g ( λ ) = inf x ( x − 1 ) 2 + λ ( x − 3 ) g(\lambda) = \inf_{x} (x-1)^2 + \lambda(x-3) g(λ)=xinf(x−1)2+λ(x−3)
接下来,我们需要求解对偶函数 g ( λ ) g(\lambda) g(λ)的最优值。由于原始问题是凸优化问题,并且满足Slater条件(存在严格可行解),对偶问题也是凸优化问题。因此,我们可以通过对偶函数的解析形式(最优解的解析形式)来求解对偶问题。
对 g ( λ ) g(\lambda) g(λ)关于 x x x进行求导,并令导数等于0,得到 x ∗ x^* x∗关于 λ \lambda λ的表达式:
∂ ∂ x [ ( x − 1 ) 2 + λ ( x − 3 ) ] = 0 2 ( x − 1 ) + λ = 0 x ∗ = 1 − λ 2 \frac{\partial}{\partial x} [(x-1)^2 + \lambda(x-3)] = 0 \\ 2(x-1) + \lambda = 0 \\ x^* = 1 - \frac{\lambda}{2} ∂x∂[(x−1)2+λ(x−3)]=02(x−1)+λ=0x∗=1−2λ
将 x ∗ x^* x∗代入对偶函数 g ( λ ) g(\lambda) g(λ),得到对偶问题的最优解:
g ( λ ) = ( 1 − λ 2 − 1 ) 2 + λ ( 1 − λ 2 − 3 ) = λ 2 4 − 3 λ 2 + 4 g(\lambda) = (1 - \frac{\lambda}{2} - 1)^2 + \lambda(1 - \frac{\lambda}{2} - 3) \\ = \frac{\lambda^2}{4} - \frac{3\lambda}{2} + 4 g(λ)=(1−2λ−1)2+λ(1−2λ−3)=4λ2−23λ+4
因此,原始问题的最优解 x ∗ x^* x∗和对偶问题的最优解 λ ∗ \lambda^* λ∗的关系为:
x ∗ = 1 − λ ∗ 2 x^* = 1 - \frac{\lambda^*}{2} x∗=1−2λ∗
通过对偶问题的最优解 λ ∗ \lambda^* λ∗,我们可以通过上述关系得到原始问题的最优解 x ∗ x^* x∗。
4. 总结
本篇博客介绍了对偶问题的定义,以及对偶问题与原始问题的关系。同时,通过详细的示例,介绍了拉格朗日对偶问题的求解过程。对偶性及拉格朗日对偶问题是凸优化中的重要概念,对于理解凸优化问题的求解过程具有重要的意义。希望通过本篇博客的介绍,读者能够更好地理解对偶性及拉格朗日对偶问题,并在实际问题中更加灵活地运用这些概念。