从拉格朗日说起
在大学的时候我们都学过等式约束的的拉格朗日优化方法,但是我们很少去理解拉格朗日优化的内在逻辑,而是直接去使用它,这里我给出自己看了一些资料后的理解。
首先,我们给出拉格朗日的数学描述:
arg
s.t
我们的计算方法是构造一个拉格朗日函数,然后通过求拉格朗日函数的最优解从而得到等式条件约束下的最优解,即:
通常情况下我们都会直接对上面的函数求偏导数,然后令其等于0来求解,即:
但是我们很少去想为什么这样求解后就能得到最优解呢,我们用图形给大家一个很直观的理解:
在上面的图形中xy = 3为约束条件,
为目标函数,我们可以看到如果没有约束条件的情况下,目标函数的最小值为0,即想x,y都为0,但是有了约束条件后,取到的值必须在约束条件xy = 3的图形上。对于目标函数我们可以把其当做一圈圈等高线,目标函数的值越大,等高线围起来的面积就越大,表现在图中就是圆的半径越大。所以我们可以从中心处出发,做一圈圈的圆,当圆的半径较小的时候,目标函数和约束条件没有交点