非线性规划与KKT(二)

在前文非线性规划与KKT(一)中, 我们已经给出了几个定义,并且证明了一个重要的定理:

一个凸集的局部最优解一定为全局最优解

它的证明,使用了反证法。

然后,我们还介绍了Epigraph的定义。以上的这些,都是为了一个终极的定理:KKT条件。

KKT条件是可以被推广到很多很多场景下的。但是,在这里,我们只阐述最简单的条件,即面对NLP问题的KKT条件。

KKT条件

假设,有如下的NLP:非线性规划模型Python料场选址问题 非线性规划kkt_非线性规划模型Python料场选址问题

如果满足以下的限定条件:

非线性规划模型Python料场选址问题 非线性规划kkt_最优解_02

有Slater Point;

非线性规划模型Python料场选址问题 非线性规划kkt_非线性规划模型Python料场选址问题_03是可行解;

对于非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_04对应的索引所形成的集合非线性规划模型Python料场选址问题 非线性规划kkt_机器学习_05,对所有非线性规划模型Python料场选址问题 非线性规划kkt_最优化_06都有,非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_07存在着一个梯度非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_08

满足以上条件之后,会有以下的等价结论:非线性规划模型Python料场选址问题 非线性规划kkt_最优解_09

对KKT条件的阐述

对于各个限定条件,我们都来进行说明:

非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_10

这个要求保证了可行域也是凸集。前文非线性规划与KKT(一)中已经阐述过这个引理。

有Slater Point;

其实Slater Point就是可行解一个种类,它满足Slater Condition。

Salter’s condition: There exists an 非线性规划模型Python料场选址问题 非线性规划kkt_机器学习_11 such that非线性规划模型Python料场选址问题 非线性规划kkt_机器学习_12 也就是说,存在着一个点,满足它在可行域的内部(非任何一个边的边界上)。

为什么要叫Slater Point呢?因为Slater提出了如下的定理:

Slater’s theorem: strong duality holds, if Slater’s condition holds and the problem is convex. 当问题为凸时,可以由Slater condition 强对偶定理成立。

也就是说,Slater Point的存在保证了有强对偶是可用的。

非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_13是可行解

无它,最优解必是可行解。

对于非线性规划模型Python料场选址问题 非线性规划kkt_最优解_14对应的索引所形成的集合非线性规划模型Python料场选址问题 非线性规划kkt_最优解_15,对所有非线性规划模型Python料场选址问题 非线性规划kkt_非线性规划模型Python料场选址问题_16都有,非线性规划模型Python料场选址问题 非线性规划kkt_非线性规划模型Python料场选址问题_17存在着一个梯度非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_18

这个条件事实上,保证了在这点的梯度的存在的;即函数在这点上可微。因此,也就是说,本文所针对的问题,仅仅是可微时的问题。

非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_19

我们先给出在一个向量圆锥(cone)内的一个例子:

非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_20

我们其实可以看出,cone其实意思就是所有起作用的非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_21(留给读者:为什么它起作用?)的法向量的线性组合。

也就是说,其实它的这个要求,代表着一件事:我们一定可以找到这个向量,使得非线性规划模型Python料场选址问题 非线性规划kkt_机器学习_22非线性规划模型Python料场选址问题 非线性规划kkt_线性规划_23的线性组合。

也就是说,我们一定可以找到一个梯度,与目标函数的梯度一致。

文章浅谈最优化问题的KKT条件中详细介绍了这样一个几何理解,大家可以去看看。

告一段落

事实上,KKT在NLP的理解便告一段落了。实际上,在本文所介绍的KKT,仅仅是对一个约束条件函数在最值处可微、且为可行域凸集的情况下;其作用其实偏弱(因为限定条件强呀)。

本文仅仅是介绍了KKT在NLP处的用法,并不涉及其推导。其实KKT条件是由对偶、拉格朗日乘子法推导出来的,下面给出了一些讨论。

P.S.

国外给出了这样的讨论,搬运如下:

(1) optimality + strong duality ⟹ KKT (for all problems)

(2) KKT ⟹ optimality + strong duality (for convex/differentiable problems)

(3) Slater’s condition + convex⟹ strong duality, so then we have, GIVEN that strong duality holds,

(3a) KKT ⇔ optimality