Constrained Optimization-Lagrangian and KKT approach

Lagrangian approach

对于带等式约束的最优化问题。

标准形式

见下述原始问题。

泛函形式

The problem of finding the local maxima and minima subject to constraints can be generalized to finding local maxima and minima on a differentiable manifold
见https://www.jianshu.com/p/cf8965c7b46b中对泛函优化问题的讨论。

KKT approach

KKT是Lagrangian 的泛化。
KKT condition给了大部分nonlinear programing 问题的统一解析解法。
这里直接给出定理,具体证明与公式可以参见refer

原始问题:


[1]
且:与在上连续可微 [2]

将带约束的问题转化为无约束问题(原问题):

引入拉格朗日(KKT)乘子: [12]

定理:如果为的saddle point,则为原优化问题的一个optimal

当满足一定条件时(见下方KKT使用条件,SC,LICQ等)
求解方程组,偏导数为0:

(对于,有n维的偏导)

KKT互补松弛条件[6]:
,

以及原约束:
,

KKT使用条件:

1、strong duality( Slater's condition ; Linearity constraint qualification)[10][16]=> 满足kkt条件的解为最优解[15]
2、拓展CQ [13] => 满足kkt条件的解为最优解
如果不满足,那么Lagrange dual problem只能当作search for lower bound【强对偶才为等价最优解:greatest lower bound(最大下界)】

Sufficient conditions

通常,满足KKT condition只是必要条件,而非充分条件。
通常,充分条件都要二阶导数的信息,例如,对于非线形问题的SC条件[17]

Basis in Vector Space:

1、凸集定义:欧式空间中,对于集合中的任意两点的连线,连线上任意一点都在集合中,我们就说这个集合是凸集。
2、凸函数定义:对于任意属于[0,1]的a和任意属于凸集的两点x, y,有f( ax + (1-a)y ) <= a * f(x) + (1-a) * f(y),几何上的直观理解就是两点连线上某点的函数值,大于等于两点之间某点的函数值。凸函数的任一局部极小点也是全局极小点
3、半正定矩阵的定义:特征值大于等于0的实对称矩阵。半正定矩阵的充要条件:行列式(n阶顺序主子式)等于0,行列式的i阶顺序主子式>=0,i从1到n-1
4、凸函数的充要条件:如果f(x)在开凸集S上具有二阶连续偏导数,且f(x)的海塞矩阵(多元函数,二阶偏导的矩阵)在S上处处半正定,则f(x)为S上的凸函数。
5、仿射函数:从到的映射:称为仿射变换(affine transform),A为的矩阵,b为的向量。当m=1时,称之为仿射函数。

Refer:
[1]:对于条件可以等价为 and
[2]: 后续的KKT条件中,需要对目标函数求偏导,所以要求连续可微(多元函数中,可[全]微一定可偏导)
[3]:这个条件是说,一定是有可行域的,不然一定无解
[4]:对偶问题的由来:https://www.zhihu.com/question/58584814
[5]:KKT condition:https://blog.csdn.net/dpengwang/article/details/88355744
[6]:对于互补松弛条件,即:当最优解本身就在的区域内时,解得的,否则最优解应该在的边界上,两者合起来即是
[7]:infimum= greatest lower bound;supremum= least upper bound
[9]:slater条件成立时,strong duality holds,对偶问题的解就是原问题的解,这个时候我们称duality gap为零,否则的话,对偶问题的解始终是原问题的解的下界,这个时候duality gap不等于零
[10] :这两个条件是strong duality 的充分条件:
Slater's condition :对于一个凸优化问题( convex),如果存在一个点x,使得所有约束都成立(strict feasibility),则最优解处KKT条件成立(原问题为凸优化)
Linearity constraint qualification:如果约束等式和不等式都是线性(譬如线性规划,SVM),则最优解处KKT条件成立。
https://en.wikipedia.org/wiki/Strong_duality#:~:text=Strong%20duality%20is%20a%20condition,than%20or%20equal%20to%20zero).
[11]:除开kkt approach,其他一些相关方法综述:https://en.wikipedia.org/wiki/Constrained_optimization#:~:text=In%20mathematical%20optimization%2C%20constrained%20optimization,of%20constraints%20on%20those%20variables.包括LP,NLP,以及Russian doll search这种DP类思路的算法。
[12]:其实等式的条件才叫lagrangian multiplier,不等式constraints的乘子叫kkt conditions,其实就是拉格朗日乘子的一个泛化。
[13]:除了strong duality,KKT 的CQ包含一些constraint qualifications的细则:https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions
[14]:Operation Research(Taha) :18 Classical Optimization Theory
[15]:强对偶条件下,kkt最优,且dual problem 为凸优化问题。
[16]:convex function:二阶可微,其Hesse matrix 半正定。
[17]https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions 中的 Sufficient conditions

你可能感兴趣的:(Constrained Optimization-Lagrangian and KKT approach)