约束优化-拉格朗日乘子法
拉格朗日乘子法(Lagrange multipliers)是一种寻找多元函数在一组约束下的极值方法。通过引入拉格朗日乘子,可将有 d d d个变量与 k k k个约束条件的最优化问题转化为具有 d + k d+k d+k个变量的无约束优化问题求解
一、原始问题
-
假设 x \mathbf x x为 d d d维向量,,欲寻找 x \mathbf x x的某个取值 x ∗ \mathbf x^* x∗,使目标函数 f ( x ) f(\mathbf x) f(x)最小且满足 m m m个等式约束和 n n n个不等式约束,且可行域 D ⊂ R d \mathbb D \subset \mathbb R^d D⊂Rd非空的优化问题
(1) m i n x   f ( x ) s . t . h i ( x ) ⩽ 0 ( i = 1 , 2 , … , m )    g j ( x ) = 0 ( j = 1 , 2 , … , n ) \underset{\mathbf x}{min}\,f(\mathbf x) \\ s.t. h_i(\mathbf x)\leqslant 0\ (i=1, 2, …, m) \\ \ \ \ \ \ \ \,\,g_j(\mathbf x) = 0 \ (j=1, 2, …, n) \tag{1} xminf(x)s.t.hi(x)⩽0 (i=1,2,…,m) gj(x)=0 (j=1,2,…,n)(1)
-
引入拉格朗日乘子 α = ( α 1 , α 2 , … , α m ) T \alpha = (\alpha_1, \alpha_2, …, \alpha_m)^T α=(α1,α2,…,αm)T和 β = ( β 1 , β 2 , … , β n ) T \beta = (\beta_1, \beta_2, …, \beta_n)^T β=(β1,β2,…,βn)T,相应的拉格朗日函数为
(2) L ( x , α , β ) = f ( x ) + ∑ i = 1 m α i h i ( x ) + ∑ j = 1 n β j g j ( x ) L(\mathbf x,\mathbf \alpha,\mathbf \beta) = f(\mathbf x) + \sum_{i=1}^{m}\ \alpha_i h_i(\mathbf x) + \sum_{j=1}^{n} \beta_j g_j(\mathbf x) \tag{2} L(x,α,β)=f(x)+i=1∑m αihi(x)+j=1∑nβjgj(x)(2)
这里 x = ( x 1 , x 2 , … , x d ) T ∈ R d \mathbf x = (x_1, x_2, …,x_d)^T \in \mathbb R^d x=(x1,x2,…,xd)T∈Rd, α i ⩾ 0 \alpha_i \geqslant 0 αi⩾0
假设 f ( x ) f(\mathbf x) f(x), h i ( x ) h_i(\mathbf x) hi(x), g j ( x ) g_j(\mathbf x) gj(x)是定义在 R d \mathbb R^d Rd上的连续可微函数
L ( x , α , β ) L(\mathbf x,\mathbf \alpha,\mathbf \beta) L(x,α,β)是 x , α , β \mathbf x,\mathbf \alpha,\mathbf \beta x,α,β的多元非线性函数
-
定义函数:
(3) θ P ( x ) = m a x α , β : α i ⩾ 0 L ( x , α , β ) \theta_P(\mathbf x) = \underset{\mathbf \alpha,\mathbf \beta:\alpha_i\geqslant 0}{max}\ L(\mathbf x, \mathbf \alpha, \mathbf \beta) \tag{3} θP(x)=α,β:αi⩾0max L(x,α,β)(3)
其中下标 P P P表示原始问题。则有: