文档介绍:: .
和KKT条件
理解拉格朗日乘子法(LagrangeMultiplier)在求取有约束条件的优化问: .
和KKT条件
理解拉格朗日乘子法(LagrangeMultiplier)在求取有约束条件的优化问题时,拉格朗日乘子法(LagrangeMultiplier)和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件去求取。
当然,这两个方法求得的结果只是必要条件,只有当是凸函数的情况下,才能保证是充分必要条件。KKT条件是拉格朗日乘子法的泛化。
通常我们需要求解的最优化问题有如下几类:
(i) 无约束优化问题,可以写为:
(ii) minf(x);有等式约束的优化问题,可以写为:
(iii) minf(x),(x)=0;i=1,...,n有不等式约束的优化问题,可以写为:
minf(x),(x)<=0;i=1,...,nh_j(x)=0;j=1,...,m对于第(i)类的优化问题,常常使用的方法就是Fermat定理,即使用求取f(x)的导数,然后令其为零,可以求得候选最优值,再在这些候选值中验证;如果是凸函数,可以保证是最优解。
对于第(ii)类的优化问题,常常使用的方法就是拉格朗日乘子法(LagrangeMultiplier),即把等式约束h_i(x)用一个系数与f(x)写为一个式子,称为拉格朗日函数,而系数称为拉格朗日乘子。通过拉格朗日函数对各个变量求导,令其为零,可以求得候选值集合,然后验证求得最优值。
对于第(iii)类的优化问题,常常使用的方法就是KKT条件。同样地,我们把所有的等式、不等式约束与f(x)写为一个式子,也叫拉格朗日函数,系数也称拉格朗日乘子,通过一些条件,可以求出最优值的必要条件,这个条件称为KKT条件。
对于等式约束,我们可以通过一个拉格朗日系数a把等式约束和目标函数组合成为