拉格朗日乘子法要解决的式带有约束的最优化问题,约束条件分为等式约束和不等式约束。
等式约束可以直接应用拉格朗日乘子法去求取最优值;含不等式约束的优化问题可以转化为在满足KKT条件下应用拉格朗日乘子法求解。
拉格朗日法求得的不一定是最优解,只有在凸优化的情况下,才能保证得到的是最优解
无约束优化
对于约束变量 x ∈ R N x\in \mathbb{R}^N x∈RN的函数 f ( x ) f(x) f(x),无约束优化问题如下:
min x f ( x ) \min_x f(x) xminf(x)
这个问题可以直接使目标函数导数为0即可,即 ∇ x f ( x ) = 0 \nabla_xf(x) = 0 ∇xf(x)=0,或者用梯度下降法使 x x x沿着负梯度方向逐步逼近极小值点
等式约束优化
当目标函数加上约束条件后,问题变为以下形式:
min x f ( x ) s . t . h i ( x ) = 0 , i = 1 , 2 , . . . , m \begin{aligned} &\min_{x } \ f(x) \\ &s.t. \ \ \ h_i(x) = 0 , i = 1,2,...,m \\ \end{aligned} xmin f(x)s.t. hi(x)=0,i=1,2,...,m
约束条件会将解的范围限定在一个可行域,此时不一定能得到 ∇ x f ( x ) = 0 \nabla_xf(x)=0 ∇xf(x)=0的点,只需要找到在可行域使 f ( x ) f(x) f(x)最小的值即可。引入拉格朗日乘子法:
L ( x , α ) = f ( x ) + ∑ i = 1 m α i h i ( x ) L(x,\alpha) = f(x) + \sum_{i=1}^m \alpha_i h_i(x) L(x,α)=f(x)+i=1∑mαihi(x)
分别对 x , α x, \alpha x,α求偏导使其为0: