拉格朗日乘子法 是一种用于求解优化函数的方法。
无约束优化
对于无约束优化,其实我们不必使用拉格朗日乘子法就可以对其进行计算。
比如 f ( x ) = x 2 f(x)=x^2 f(x)=x2,求解 m i n f ( x ) min f(x) minf(x) 。对于无约束优化我们直接使用函数的导数就可以求取函数的最大值或者最小值。
等式约束优化
等式约束优化优化的解决方法有两种:
- 通过消元法,将约束条件转换到 f ( x ) f(x) f(x) 中,形成无约束优化。
- 通过拉格朗日法进行求解:
若 F ( x = 0 ) F(x=0) F(x=0) 且条件为 h k ( x ) = 0 h_k(x)=0 hk(x)=0,则拉格朗日算法的步骤如下:
首先定义拉格朗日函数F(x):
然后解变量的偏导方程:
如果有 i 个约束条件,就应该有 i+1 个方程。求出的方程组的解就可能是最优化值(高等数学中提到的极值),将结果带回原方程验证就可得到解。
例子1:
例如,给定一个椭球:
x 2 a 2 +