利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。
原始问题
考虑原始问题:
假设 f ( x ) f(x) f(x)、 c i ( x ) c_i(x) ci(x)、 h j ( x ) h_j(x) hj(x)是定义在 R n \mathbf{R}^n Rn上的连续可微函数,考虑约束最优化问题
min x ∈ R n f ( x ) s . t . c i ( x ) ≤ 0 , i = 1 , 2 , ⋯ , k h j ( x ) = 0 , j = 1 , 2 , ⋯ , l \begin{aligned}\min_{x\in \mathbf{R}^n}\quad &f(x)\\ s.t. \quad & c_i(x)\leq 0,\quad i=1,2,\cdots,k\\ & h_j(x)=0, \quad j=1,2,\cdots,l \end{aligned} x∈Rnmins.t.f(x)ci(x)≤0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l
首先,我们引入广义拉格朗日函数(generalized Lagrange function)
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k \alpha_ic_i(x)+\sum_{j=1}^l \beta_jh_j(x) L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
其中 x = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( n ) ) T ∈ R n x=(x^{(1)},x^{(2)},\cdots, x^{(n)})^T \in \mathbf{R}^n x=(x(1),x(2),⋯,x(n))T∈Rn, α i ≥ 0 , β j \alpha_i\geq 0,\beta_j αi≥0,βj是拉格朗日乘子。考虑 x x x的函数:
θ P ( x ) = max α , β ; α i ≥ 0 L ( x , α , β ) \theta_P(x)=\max_{\alpha,\beta;\alpha_i\geq 0}L(x,\alpha,\beta) θP(x)=α,β;αi≥0maxL(x,α,β)
下标P表示原始问题。
假设给定某个 x x x,如果 x x x违反原始问题的约束条件,即存在某个 i i i使得 c i ( w ) > 0 c_i(w)>0 ci(w)>0或者存在某个 j j j使得 h j ( w ) ≠ 0 h_j(w)\neq 0 hj(w)=0,则有
θ P ( x ) = max α , β ; α i ≥ 0 [ f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) ] = + ∞ \theta_P(x)=\max_{\alpha,\beta;\alpha_i\geq 0}\left[f(x)+\sum_{i=1}^k \alpha_ic_i(x)+\sum_{j=1}^l \beta_jh_j(x)\right]=+\infty θP(x)=α,β;αi≥0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]=+∞
因为某个 i i i使得约束 c i ( x ) > 0 c_i(x)>0 ci(x)>0,故我令 α i → + ∞ \alpha_i\rightarrow +\infty αi→+∞,则可得到上式;同理,若某个 j j j使得约束 h j ( x ) ≠ 0 h_j(x)\neq 0 hj(x)=0,则令 β j h j ( x ) → + ∞ \beta_jh_j(x)\rightarrow +\infty βjhj(x)→+∞,也可得到上式。
相反地,如果约束条件均满足,则 θ P ( x ) = f ( x ) \theta_P(x)=f(x) θP(x)=f(x),因此
θ P ( x ) = { f ( x ) , x 满 足 原 始 问 题 约 束 + ∞ , 其 他 \theta_P(x)=\begin{cases}f(x ), & x 满足原始问题约束\\+\infty, & 其他\end{cases} θP(x)={f(x),+∞,x满足原始问题约束其他
所以考虑极小化问题
min x θ P ( x ) = min x max α , β ; α i ≥ 0 L ( x , α , β ) \min_x \theta_P(x)=\min_x\max_{\alpha,\beta; \alpha_i\geq 0}L(x,\alpha,\beta) xminθP(x)=xminα,β;αi≥0maxL(x,α,β)
它与原始问题是等价的,即具有相同的解,我们把问题 min x max α , β ; α i ≥ 0 L ( x , α , β ) \min\limits_x\max\limits_{\alpha,\beta; \alpha_i\geq 0}L(x,\alpha,\beta) xminα,β;αi≥0maxL(x,α,β)称为广义拉格朗日函数的极小极大问题,这样以来就将原始问题转化为广义拉格朗日函数的极小极大问题。
对偶问题
定义
θ D ( α , β ) = min x L ( x , α , β ) \theta_D(\alpha,\beta)=\min_x L(x,\alpha,\beta) θD(α,β)=xminL(x,α,β)
再考虑极大化 θ D ( α , β ) \theta_D(\alpha,\beta) θD(α,β)
max α , β ; α i ≥ 0 θ D ( α , β ) = max α , β ; α i ≥ 0 min x L ( x , α , β ) \max_{\alpha,\beta;\alpha_i\geq0}\theta_D(\alpha,\beta)=\max_{\alpha,\beta;\alpha_i\geq0}\min_x L(x,\alpha,\beta) α,β;αi≥0maxθD(α,β)=α,β;αi≥0maxxminL(x,α,β)
该问题称为广义拉格朗日问题的极大极小问题。
可以将广义拉格朗日的极大极小问题表示为约束最优化问题:
max α , β θ D ( α , β ) = max α , β min x L ( x , α , β ) s . t . α i ≥ 0 , i = 1 , 2 , ⋯ , k \begin{aligned}\max_{\alpha,\beta}\theta_D(\alpha,\beta)=&\max_{\alpha,\beta}\min_x L(x,\alpha,\beta)\\ s.t. \quad &\alpha_i\geq 0,i=1,2,\cdots, k\end{aligned} α,βmaxθD(α,β)=s.t.α,βmaxxminL(x,α,β)αi≥0,i=1,2,⋯,k
称为原始问题的对偶问题。
原始问题与对偶问题的关系
Theorem1. 若原始问题和对偶问题都有最优值,则
d ∗ = max α , β ; α i ≥ 0 min x L ( x , α , β ) ≤ min x max α , β ; α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\max_{\alpha,\beta;\alpha_i\geq0}\min_x L(x,\alpha,\beta)\leq \min_x\max_{\alpha,\beta;\alpha_i\geq 0} L(x,\alpha,\beta)=p^* d∗=α,β;αi≥0maxxminL(x,α,β)≤xminα,β;αi≥0maxL(x,α,β)=p∗
Proof.
θ D ( α , β ) = min x L ( x , α , β ) ≤ L ( x , α , β ) ≤ max α , β ; α i ≥ 0 L ( x , α , β ) = θ P ( x ) \theta_D (\alpha,\beta)=\min_x L(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq \max_{\alpha,\beta;\alpha_i\geq 0} L(x,\alpha,\beta)=\theta_P(x) θD(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β;αi≥0maxL(x,α,β)=θP(x)
则
θ D ( α , β ) ≤ θ P ( x ) \theta_D(\alpha,\beta)\leq \theta_P(x) θD(α,β)≤θP(x)
由于原始问题和对偶问题均有最优值,则
max α , β ; α i ≥ 0 θ D ( α , β ) ≤ min x θ P ( x ) \max_{\alpha,\beta;\alpha_i\geq 0} \theta_D(\alpha,\beta)\leq \min_x \theta_P(x) α,β;αi≥0maxθD(α,β)≤xminθP(x)
故 d ∗ ≤ p ∗ d^*\leq p^* d∗≤p∗
换句话说,对偶问题的最优值小于等于原问题的最优值。
Corollary 1. 设 x ∗ x^* x∗ 和 α ∗ \alpha^* α∗ , β ∗ \beta^* β∗分别表示原始问题和对偶问题的可行解,并且 d ∗ = p ∗ d^*=p^* d∗=p∗,则 x ∗ x^* x∗ 和 α ∗ \alpha^* α∗ , β ∗ \beta^* β∗分别是原始问题和对偶问题的最优解。
在这种条件下,原始问题和对偶问题的最优值相等,这时可以用解对偶问题代替解原始问题。
Theorem 2. 考虑原始问题和对偶问题。假设函数 f ( x ) f(x) f(x) 和 c i ( x ) c_i(x) ci(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数;假设不等式约束 c i ( x ) c_i(x) ci(x) 是严格可行的,即存在 x x x,对所有的 i i i有 c i ( x ) < 0 c_i(x)<0 ci(x)<0,则存在 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗,使得 x ∗ x^* x∗是原始问题的解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的解,并且
p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L(x^*,\alpha^*,\beta^*) p∗=d∗=L(x∗,α∗,β∗)
Theorem 3. 对原始问题和对偶问题,假设函数 f ( x ) f(x) f(x) 和 c i ( x ) c_i(x) ci(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x) 是严格可行的,则 x ∗ x^* x∗和 α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗分别是原始问题和对偶问题的解的充分必要条件是 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗满足Karush-kuhn-Tucker(KKT)条件:
∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 ∇ α L ( x ∗ , α ∗ , β ∗ ) = 0 ∇ β L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , ⋯ , k c i ( x ∗ ) ≤ 0 , i = 1 , 2 , ⋯ , k α i ∗ ≥ 0 , i = 1 , 2 , ⋯ , k h i ( x ∗ ) = 0 \begin{aligned}\nabla_x L(x^*,\alpha^*,\beta^*)=0\\ \nabla_\alpha L(x^*,\alpha^*,\beta^*)=0\\ \nabla_\beta L(x^*,\alpha^*,\beta^*)=0\\ \alpha^*_ic_i(x^*)=0, i=1,2,\cdots, k\\ c_i(x^*)\leq 0, i=1,2,\cdots, k\\ \alpha_i^*\geq 0,i=1,2,\cdots,k\\ h_i(x^*)=0 \end{aligned} ∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0αi∗ci(x∗)=0,i=1,2,⋯,kci(x∗)≤0,i=1,2,⋯,kαi∗≥0,i=1,2,⋯,khi(x∗)=0
特别指出, α i ∗ c i ( x ∗ ) = 0 \alpha^*_ic_i(x^*)=0 αi∗ci(x∗)=0称为KKT的对偶互补条件,此条件可知: 若 α ∗ > 0 \alpha^*>0 α∗>0,则 c i ( x ∗ ) = 0 c_i(x^*)=0 ci(x∗)=0。