约束条件可以分为:(1)等式约束、(2)不等式约束
等式约束的优化问题,可直接使用拉格朗日乘子法去求最优解;
不等式约束的优化问题,可以转化为满足KKT约束条件下应用拉格朗日乘子法求解。
其次,拉格朗日求得的不一定是最优解,只有在凸优化的情况下,才能保证得到的是最优解,否则可能是局部解
无约束优化
对于变量x属于R ,需求问题:
根据Fermat定理,对该函数求导,找到使其导数为0的点,即
如果不存在此点,可以使用梯度下降或牛顿方法等迭代手段来使x沿负梯度方向逐步逼近极小值点。
等式约束优化
当目标函数加上约束条件之后,问题变成以下形式:
约束条件会将解的范围限定在一个可行域之内,此时也不一定能找到使得的点,因此只需找到在可行域内使得为最小值的点即可,常用的方法即为拉格朗日乘子法,引入Lagrange Multiolier 属于 构建Lagrangian如下:
求解方法如下:首先对Lagrangian关于与求:
令导数为0,求的、的值后,将带入即为在约束条件下的可行解
当约束加上不等式之后,情况变得复杂,先看一个简单的例子,给定如下不等式约束问题:
对应的Lagrangian与图形分别如下所示:
这时的可行解必须落在约束区域g(x)之内,下图给出了目标函数的等高线与约束:
未完待续