如何理解拉格朗日乘子法和KKT条件?

之前简单介绍了拉格朗日乘子法的基本思路:如何理解拉格朗日乘子法?
本文会继续介绍拉格朗日乘子法的细节,以及对其进行适当的推广(也就是所谓的KKT条件)。
1 无约束下的极值
1.1 直观
根据梯度的意义(参看如何理解梯度)可知,在函数的极值点梯度为0:
1.2 代数
要求(的意思是求极小值):
只需解如下方程:
2 单等式约束下的极值
关于这一节,更详细的请参看:如何理解拉格朗日乘子法?
2.1 直观
要求方程与原点的最小距离:
问题被转化为了同心圆与什么时候相切:
相切就是在极小值点有相同的切线:
只要能通过数学把相切这个条件表示出来,就可以得到解。
我们把同心圆可以看作凸函数的等高线:
把方程看作凸函数的等高线中的一条:
这样