KKT条件(Karush--Kuhn--Tucker conditions),约束优化问题的一阶必要条件。
问题
考虑一般约束优化问题
min f ( x ) , s.t. c i ( x ) = 0 , i ∈ E , c i ( x ) ⩾ 0 , i ∈ I , \begin{aligned} \min & f(x), \\ \text { s.t. } & c_{i}(x)=0, i \in \mathcal{E}, \\ & c_{i}(x) \geqslant 0, i \in \mathcal{I}, \end{aligned} min s.t. f(x),ci(x)=0,i∈E,ci(x)⩾0,i∈I,
其中, x ∈ R n x \in \mathbb{R}^{n} x∈Rn, f ( x ) ∈ R f(x) \in \mathbb{R} f(x)∈R 为目标函数, c i ( x ) = 0 ( i ∈ E ) 和 c i ( x ) ⩾ 0 ( i ∈ I ) c_{i}(x)=0(i \in \mathcal{E})和 c_{i}(x) \geqslant 0(i \in \mathcal{I}) ci(x)=0(i∈E)和ci(x)⩾0(i∈I)分别为等式约束与不等式约束, E = { 1 , ⋯ , m e } 和 I = { m e + 1 , ⋯ , m } \mathcal{E}=\left\{1, \cdots, m_{e}\right\} 和 \mathcal{I}=\left\{m_{e}+1, \cdots, m\right\} E={1,⋯,me}和I={me+1,⋯,m}分别为等式约束集合和不等式约束集合。
表达式
若 x ∗ x^* x∗为局部最优解,则存在 Lagrange 乘子 λ ∗ ∈ R m \lambda^{*} \in \mathbb{R}^{m} λ∗∈Rm, 使得 x ∗ , λ ∗ x^{*}, \lambda^{*} x∗,λ∗ 满足如下条件:
∇ x L ( x ∗ , λ ∗ ) = 0 ⟹ g ( x ∗ ) = ∑ i = 1 m λ i ∗ a i ( x ∗ ) 梯度条件 c i ( x ∗ ) = 0 , i ∈ E , 原始可行 c i ( x ∗ ) ⩾ 0 , i ∈ I , 原始可行 λ i ∗ ⩾ 0 , i ∈ I , 对偶可行 λ i ∗ c i ( x ∗ ) = 0 , i ∈ E ∪ I , 互补条件 \begin{aligned} & \nabla_{x} L\left(x^{*}, \lambda^{*}\right)=0 \Longrightarrow g\left(x^{*}\right)=\sum_{i=1}^{m} \lambda_{i}^{*} a_{i}\left(x^{*}\right) &\text { 梯度条件} \\ & c_{i}\left(x^{*}\right)=0, i \in \mathcal{E},&\text { 原始可行 } \\ & c_{i}\left(x^{*}\right) \geqslant 0, i \in \mathcal{I},&\text { 原始可行 } \\ & \lambda_{i}^{*} \geqslant 0, \quad i \in \mathcal{I}, &\text { 对偶可行 } \\ & \lambda_{i}^{*} c_{i}\left(x^{*}\right)=0, \quad i \in \mathcal{E} \cup \mathcal{I}, \quad &\text { 互补条件 } \\ \end{aligned} ∇xL(x∗,λ∗)=0⟹g(x∗)=i=1∑mλi∗ai(x∗)ci(x∗)=0,i∈E,ci(x∗)⩾0,i∈I,λi∗⩾0,i∈I,λi∗ci(x∗)=0,i∈E∪I, 梯度条件 原始可行 原始可行 对偶可行 互补条件
其中, L L L是Lagrange函数满足
L ( x , λ ) = f ( x ) − ∑ i = 1 m λ i c i ( x ) L(x, \lambda)=f(x)-\sum_{i=1}^{m} \lambda_{i} c_{i}(x) L(x,λ)=f(x)−i=1∑mλici(x)