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,iE,ci(x)0,iI,
其中, x ∈ R n x \in \mathbb{R}^{n} xRn, 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(iE)ci(x)0(iI)分别为等式约束与不等式约束, 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,λ)=0g(x)=i=1mλiai(x)ci(x)=0,iEci(x)0,iIλi0,iI,λici(x)=0,iEI, 梯度条件 原始可行  原始可行  对偶可行  互补条件 
其中, 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=1mλici(x)

相关推荐

  1. KKT条件

    2024-07-11 04:38:03       24 阅读
  2. getline的使用条件以及限制条件

    2024-07-11 04:38:03       28 阅读
  3. Es条件查询

    2024-07-11 04:38:03       57 阅读
  4. SQL优化:条件提升

    2024-07-11 04:38:03       70 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 04:38:03       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 04:38:03       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 04:38:03       62 阅读
  4. Python语言-面向对象

    2024-07-11 04:38:03       72 阅读

热门阅读

  1. vscode离线方式远程到没有网络的服务器上

    2024-07-11 04:38:03       19 阅读
  2. 第一节 SHELL脚本中的常用命令(1)

    2024-07-11 04:38:03       17 阅读
  3. 开发指南042-产生待办

    2024-07-11 04:38:03       23 阅读
  4. 理解c程序的翻译过程

    2024-07-11 04:38:03       22 阅读
  5. 目标检测之非极大值抑制——NMS

    2024-07-11 04:38:03       27 阅读