拉格朗日乘子基本概念
通常我们遇到的求极值的问题是求函数f(x1,x2,...,xn)在什么条件下取得极值,一般的求解法就是求导、令导数等于0。
另一种常见情况是求函数f(x1,x2,...,xn)在g(x1,x2,...,xn)=0的约束下取得极值的情况,这种时候就要用到拉格朗日乘子法(Lagrange multiplier)。
基本思想:
引入一个新的参数λ(即拉格朗日乘子),将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,求这个新等式方程的极值点,从而求出得到原函数极值的各个变量的解。
具体实现:
假设需要求极值的目标函数 (objective function) 为 f(x,y),限制条件为 φ(x,y)=M
设g(x,y)=M-φ(x,y)
定义一个新函数
F(x,y,λ)=f(x,y)+λg(x,y)
则用偏导数方法列出方程:
∂F/∂x=0
∂F/∂y=0
∂F/∂λ=0
求出x,y,λ的值,代入即可得到目标函数的极值
扩展为多个变量的式子为:
F(x1,x2,...λ)=f(x1,x2,...)+λg(x1,x2...)
则求极值点的方程为:
∂F/∂xi=0(xi即为x1、x2……等自变量)
∂F/∂λ=g(x1,x2...)=0