12 - Constrained Optimization - KKT Condition 1

这篇文章主要包含如下几个方面的内容

Constrained Optimization

Constrained Optimization 可以表示为

其中 $\c{X} \subseteq \bb{R}^n$ 表示 $\b{x}$ 允许的取值。可以将 $\c{X}$ 进一步细化成如下一般形式

其中 $h_j(\b{x})$ 表示 inequality constraint,$e_i(\b{x})$ 表示 equality constraint,$S \in \bb{R}^n$

Global and Local Minimum

下面是 constrained optimization 情况下 global 和 local minimum 的定义

如果 $\b{x}^*$ 满足

则 $\b{x}^*$ 为 global minimum,如果不等号严格成立,则 $\b{x}^*$ 为 strict global minimum

如果存在 $\epsilon > 0$ 使得 $\b{x}^*$ 满足

则 $\b{x}^*$ 为 local minimum,如果不等式严格成立,则 $\b{x}^*$ 为 strict local minimum

下图给出了 local 和 global minimum 的例子

$\c{X} = [a, b]$,其中 $a, x_1, x_2, x_3$ 都是 local minimum,$x_1$ 是 global minimum。从中可以看出 unconstrained optimization 中关于 local minimum 必然有 $f’(\b{x}) = 0$ 的 necessary condition 不再成立($f’(a)$ 显然不等于 $0$),那我们如何能从数学上对 constrained optimization 中的 local minimum 进行刻画呢?

Feasible and Descent Direction

首先我们来看两个概念:feasible direction 和 descent direction

令 $\b{x} \in \c{X}, \b{d} \in \bb{R}^n \neq \b{0}$,如果存在 $\delta_1 > 0$ 使得 $\b{d}$ 满足

则 $\b{d}$ 被称为为 feasible direction

令 $\b{x} \in \c{X}, \b{d} \in \bb{R}^n \neq \b{0}$,如果存在 $\delta_2 > 0$ 使得 $\b{d}$ 满足

则 $\b{d}$ 被称为 descent direction

下面我们从 $\c{F}(\b{x})$ 和 $\c{D}(\b{x})$ 出发对 local minimum 做初步刻画

定理 1:如果 $\b{x}^* \in \c{X}$ 为 local minimum,则有 $\c{F}(\b{x}^*) \cap \c{D}(\b{x}^*) = \emptyset$

下面我们将从这个定理出发找到一种 local minimum 的代数表示方法(只有找到了 代数表示法我们才能计算出 local minimum)

Descent Direction in Algebraical Way

定理 2:定义 $\tilde{\c{D}}(\b{x}) = \{\b{d}: \nabla f(\b{x})^T \b{d} < 0 \}$,则有 $\tilde{\c{D}}(\b{x}) \subseteq \c{D}(\b{x})$

根据定理 1 和定理 2,如果 $\b{x}^*$ 是 local minimum,则有 $\c{F}(\b{x}) \cap \tilde{\c{D}}(\b{x}) = \emptyset$

Feasible Direction For Inequality Constrain

我们首先看一下 inequality constraint 情况下 feasible direction 的表示。考虑下图

后面的圆圈线表示 $f(\b{x})$ 的 contour line,绿色阴影部分表示 $\c{X}$,边界分别对应 $h_j(\b{x}) = 0, j = 1, 2, 3$,$\c{X}$ 即为 $h_j(\b{x}) \leq 0$ 的交集,图中给出了三个点,其中点 A 处于两个边界的交点,在这个点有 $h_1(\b{x}) = 0, h_2(\b{x}) = 0$,这时我们称 $h_1, h_2$ 为点 A 的 active constraint,记为 $\c{A}(\b{x}) = \{1, 2\}$,对于点 C,$\c{A}(\b{x}) = \{3\}$,对于点 B,$\c{A}(\b{x}) = \emptyset$

通过观察,我们发现 feasible direction 和 active constraint 之间存在密切联系

定理 3:定义 $\tilde{\c{F}}(\b{x}) = \{ \b{d}: \nabla h_j(\b{x})^T \b{d} < 0, j \in \c{A}(\b{x})\}$,则有 $\tilde{\c{F}}(\b{x}) \subseteq \c{F}(\b{x})$

根据定理 1,2 和 3,我们可以得到如下推论

定理 4:如果 $\b{x}^*$ 为 local minimum,则 $\tilde{\c{F}}(\b{x}) \cap \tilde{\c{D}}(\b{x}) = \emptyset$

由于 $\tilde{\c{F}}(\b{x})$ 和 $\tilde{\c{D}} (\b{x})$ 都是通过代数形式表示的,我们就可以基于这个推论来求解 local minimum 了。另外要注意,这个只是个 nessesary condition,不是 sufficient condition

First Order KKT Condition for Inequality Constrain

把定理 4 展开有

如果记 $A = \begin{pmatrix} \nabla f(\b{x}^)^T \\ \cdots \\ h_j(\b{x}^*)^T \\ \cdots \end{pmatrix}$,其中 $j \in \c{A}(\b{x}^)$,$A \in \bb{R}^{(1 + |\c{A}(\b{x}^*)|) \times n}$,那公式 7 等价于

换句话说就是 $A\b{d} < 0$ 无解。根据 Convex Set 这篇文章中 Farka’s Lemma 的推论,我们有

$\exists \l_0, \l_j \geq 0, j \in \c{A}(\b{x}^*)$ 且 $\l$ 不同时为 $0$,使得

公式 8 存在这么个问题,如果存在非 $\b{0}$ $(\l_1, \cdots, \l_l)^T \geq 0$ 使得 $\sum_j \l_j \nabla h_j(\b{x}^) = 0$,那 $\l_0$ 直接设置成 $0$ 就好了,这时候无论 $\nabla f(\b{x}^)$ 取什么值都不影响等式 8 成立,也就是 $f(\b{x})$ 已经不再重要了,这是我们希望避免的。为此,我们要求 $\nabla h_j(\b{x}^*)$ 之间 linear independent,这样就避免掉了 $\l_0 = 0$ 的情况,因为如果 $\l_0 = 0$,则必有 $\l_j = 0$ 才能使等式 8 成立,而这跟等式 8 成立的前提相违背

给定点 $\b{x}$,如果 $\nabla h_j(\b{x}), j \in \c{A}(\b{x})$ 之间 linear independent,则点 $\b{x}$ 被称为 regular point

所以我们要求 $\b{x}^*$ 是 regular point

那现在既然 $\l_0 \neq 0$,等式 8 两边统除以 $\l_0$,并定义 $\l_j^* = \l_j / \l_0, j \in \c{A}(\b{x})$,则有 $ \nabla f(\b{x}^) + \sum_{j\in \c{A}(\b{x}^)} \l_j^* \nabla h(\b{x}^*) = 0 $,更进一步,如果令 $\l_j^* = 0, \; \forall j \notin \c{A}(\b{x}^)$,则有 $ \nabla f(\b{x}^*) + \sum_j \l_j^ \nabla h(\b{x}^*) = 0, \; j = 1, \cdots, l$,这样我们就有了 First Order KKT Condition

如果 regular point $\b{x}^$ 是 local minimum,则存在 $\bs{\l}^ = \{\l_1^*, \cdots, \l_l^* \}$ 使得

这里的第二个等式是这样,如果 $j \in \c{A}(\b{x}^)$,则 $h_j(\b{x}^*) = 0$,因此 $\l_j^ h_j(\b{x}^*) = 0$,如果 $j \notin \c{A}(\b{x}^)$,$\l_j^* h_j(\b{x}^*) = 0$ 就相当于要求 $\l_j^ = 0$

另外注意,这个 condition 只是 necessary condition,不符合上述 condition 的点也可能是 local minimum

Example

举个例子

Convex Programming Problem

如果公式 2 满足如下条件

则 2 又被称为 Convex Programming Problem,根据 convex function 的性质可知 $\c{X}$ 是个 convex set

对于 Convex Programming Problem,如果 $\b{x}^$ 为 regular point, 则 First Order KKT Condition 是 $\b{x}^$ 为 global minimum 的 nessesary and sufficient condition