拉格朗日乘子(Lagrange Multiplier)用在含有等式约束的最优化问题中,如目标函数是$$f(x,y,…)$$,约束条件$g(x,y,…) = 0$,引入拉格朗日乘子$\lambda$用来协助求解使$f$最大或最小的解。
利用拉格朗日乘子将目标函数和等式约束条件组合起来称为拉格朗日方程(Lagrange Function(L))
$$L(x, y, \lambda) = f(x, y) – \lambda \cdot g(x,y)$$
求解上述问题,需要分别对几个未知变量求一阶导数,令他们等于0可以找到驻点(critical points):
$$\frac{\partial L}{\partial x} = 0, \frac{\partial L}{\partial y} = 0, \frac{\partial L}{\partial \lambda} = 0$$
根据上面计算出来的结果找到需要的解就可以了。
来个例子吧,约束$x+y=1$的时候求解下目标函数的最小值
$$f(x,y) = x^2 + y^2$$
1.组成拉格朗日方程
$$L(x,y,\lambda) = x^2 + y^2 – \lambda (x + y – 1)$$
2.计算偏导
$$\frac{\partial L}{\partial x} = 2x-\lambda, \frac{\partial L}{\partial y} = 2y-\lambda, \frac{\partial L}{\partial \lambda} = -(x + y – 1)$$
3.于是
$$2x – \lambda = 0$$
$$2y – \lambda = 0$$
$$x + y = 1$$
上买两个等式告诉我们$2x=2y$,所以$x=y$,带入第三个等式很容易算出来$x=\frac{1}{2},y=\frac{1}{2}$。