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)

相关推荐
吴佳浩14 分钟前
Hermes Agent 连环 400 真凶找到了:一个 call_id 让人炸毛
人工智能·llm·agent
程序员cxuan1 小时前
幽默,一个 Github 名字叫“马尾辫”,但是他给你省了 80% 的 token
人工智能·后端·程序员
宋哥转AI1 小时前
Agent记忆模块系列:03存储与检索链路实测验证
人工智能·agent
老金带你玩AI1 小时前
老金开源GoalPro,别让AI把目标越写越烂
人工智能
Bigfish_coding1 小时前
前端转agent-【python】-08 用 LangGraph 把 Agent 做成状态机:像写 Vue 3 状态管理一样编排 AI 流程
人工智能
刺猬的温驯2 小时前
语音克隆模型的难点之一:音素对齐及交叉注意力早期失效问题 (兼论旋转位置编码)——F5-TTS、SupertonicTTS、VoxFlash-TTS 对比
人工智能·语音合成·tts
道友可好3 小时前
AI 是最好的混乱放大器:代码熵管理实战
前端·人工智能·后端
不加辣椒4 小时前
第7章 边界与约束技术:确保输出的准确性与安全性
人工智能
AI悦创Python辅导4 小时前
Claude Code 越用越乱?Sub-Agents 才是上下文污染的解法
人工智能
Bigfish_coding4 小时前
前端转agent-【python】-07 长期记忆进阶:用 ChromaDB + 语义搜索给 Agent 装上真正的长期记忆
人工智能