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)

相关推荐
罗西的思考3 小时前
【Agent】MemOS 源码笔记---(5)---记忆分类
人工智能·深度学习·算法
dajun1811234563 小时前
反 AI 生成技术兴起:如何识别与过滤海量的 AI 伪造内容?
人工智能
人邮异步社区4 小时前
PRML为何是机器学习的经典书籍中的经典?
人工智能·机器学习
paceboy4 小时前
Claude和Cursor之间的切换
人工智能·程序人生
xiangzhihong84 小时前
使用 Trae IDE 一键将 Figma 转为前端代码
机器学习
GISer_Jing4 小时前
AI营销增长:4大核心能力+前端落地指南
前端·javascript·人工智能
驴友花雕4 小时前
【花雕动手做】CanMV K230 AI视觉识别模块之使用CanMV IDE调试运行人脸代码
ide·人工智能·单片机·嵌入式硬件·canmv k230 ai视觉·canmv ide 人脸代码
猫头虎4 小时前
又又又双叒叕一款AI IDE发布,国内第五款国产AI IDE Qoder来了
ide·人工智能·langchain·prompt·aigc·intellij-idea·ai编程
weixin_387545644 小时前
Antigravity 上手指南:打造 VS Code 风格的 AI IDE
ide·人工智能
程序届的伪精英4 小时前
IDE TRAE介绍与使用
ide·人工智能