KKT条件

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)

相关推荐
IT_陈寒20 分钟前
JavaScript项目实战经验分享
前端·人工智能·后端
vanuan2 小时前
两个AI智能体第一次对话-A2A双Agent协作实战
人工智能
kfaino3 小时前
码农的AI翻身(四)你好,我叫 Attention
人工智能·后端
雨落Re5 小时前
如何设计一个高质量Skill
人工智能
Token炼金师6 小时前
大模型权重文件全指南:从格式选择到优化实战
人工智能
阿牛哥_GX6 小时前
CDP 浏览器操控原理:让脚本接管你的浏览器
人工智能
ThreeS6 小时前
手搓MiniVLA全实战教程-一步一步用pytorch解释原理与思路
人工智能·python
米小虾7 小时前
Loop Engineering —— 循环的设计与自主执行
人工智能·agent
米小虾7 小时前
Harness Engineering —— 系统的安全护栏
人工智能·agent
火山引擎开发者社区7 小时前
积分当钱花,火山引擎开发者激励计划首月消费双倍回馈
人工智能