非线性规划与KKT(二)

在前文非线性规划与KKT(一)中, 我们已经给出了几个定义,并且证明了一个重要的定理:

一个凸集的局部最优解一定为全局最优解

它的证明,使用了反证法。

然后,我们还介绍了Epigraph的定义。以上的这些,都是为了一个终极的定理:KKT条件。

KKT条件是可以被推广到很多很多场景下的。但是,在这里,我们只阐述最简单的条件,即面对NLP问题的KKT条件。

KKT条件

假设,有如下的NLP:
min ⁡ c ⊤ x s.t.  g i ( x ) ≤ 0 ( i = 1 , … , k ) \begin{aligned} &\min \quad c^{\top} x\\ &\text { s.t. }\\ &g_{i}(x) \leq 0 \quad(i=1, \ldots, k) \end{aligned} ​minc⊤x s.t. gi​(x)≤0(i=1,…,k)​

如果满足以下的限定条件:

  1. g 1 , . . . , g k g_1,...,g_k g1​,...,gk​ 是凸集;
  2. 有Slater Point;
  3. x ˉ \bar{x} xˉ是可行解;
  4. 对于 g i ( x ˉ ) = 0 g_i(\bar{x})=0 gi​(xˉ)=0对应的索引所形成的集合 I I I,对所有 i ∈ I i \in I i∈I都有, g i ( x ) g_i(x) gi​(x)存在着一个梯度 ∇ g i ( x ˉ ) \nabla g_{i}(\bar{x}) ∇gi​(xˉ)。

满足以上条件之后,会有以下的等价结论:
Then  x ˉ is optimal  ⟺ − c ∈ cone ⁡ { ∇ g i ( x ˉ ) : i ∈ I } \text { Then } \bar{x} \text { is optimal } \Longleftrightarrow-c \in \operatorname{cone}\left\{\nabla g_{i}(\bar{x}): i \in I\right\}  Then xˉ is optimal ⟺−c∈cone{∇gi​(xˉ):i∈I}

对KKT条件的阐述

对于各个限定条件,我们都来进行说明:

g 1 , . . . , g k g_1,...,g_k g1​,...,gk​ 是凸集:

这个要求保证了可行域也是凸集。前文非线性规划与KKT(一)中已经阐述过这个引理。

有Slater Point;

其实Slater Point就是可行解一个种类,它满足Slater Condition。

Salter’s condition: There exists an x ∈ D x \in \mathcal{D} x∈D such that
g i ( x ) < 0 , i = 1 , … , m , A x = b g_{i}(x)<0, i=1, \ldots, m, A x=b gi​(x)<0,i=1,…,m,Ax=b
也就是说,存在着一个点,满足它在可行域的内部(非任何一个边的边界上)。

为什么要叫Slater Point呢?因为Slater提出了如下的定理:

Slater’s theorem: strong duality holds, if Slater’s condition holds and the problem is convex.
当问题为凸时,可以由Slater condition 强对偶定理成立。

也就是说,Slater Point的存在保证了有强对偶是可用的。

x ˉ \bar{x} xˉ是可行解

无它,最优解必是可行解。

对于 g i ( x ˉ ) = 0 g_i(\bar{x})=0 gi​(xˉ)=0对应的索引所形成的集合 I I I,对所有 i ∈ I i \in I i∈I都有, g i ( x ) g_i(x) gi​(x)存在着一个梯度 ∇ g i ( x ˉ ) \nabla g_{i}(\bar{x}) ∇gi​(xˉ)。

这个条件事实上,保证了在这点的梯度的存在的;即函数在这点上可微。因此,也就是说,本文所针对的问题,仅仅是可微时的问题。

− c ∈ cone ⁡ { ∇ g i ( x ˉ ) : i ∈ I } -c \in \operatorname{cone}\left\{\nabla g_{i}(\bar{x}): i \in I\right\} −c∈cone{∇gi​(xˉ):i∈I}

我们先给出在一个向量圆锥(cone)内的一个例子:

我们其实可以看出,cone其实意思就是所有起作用的 g i g_i gi​(留给读者:为什么它起作用?)的法向量的线性组合。

也就是说,其实它的这个要求,代表着一件事:我们一定可以找到这个向量,使得 − c -c −c是 ∇ g i \nabla g_i ∇gi​的线性组合。

也就是说,我们一定可以找到一个梯度,与目标函数的梯度一致。

文章浅谈最优化问题的KKT条件中详细介绍了这样一个几何理解,大家可以去看看。

告一段落

事实上,KKT在NLP的理解便告一段落了。实际上,在本文所介绍的KKT,仅仅是对一个约束条件函数在最值处可微、且为可行域凸集的情况下;其作用其实偏弱(因为限定条件强呀)。

本文仅仅是介绍了KKT在NLP处的用法,并不涉及其推导。其实KKT条件是由对偶、拉格朗日乘子法推导出来的,下面给出了一些讨论。

P.S.

国外给出了这样的讨论,搬运如下:

(1) optimality + strong duality ⟹ KKT (for all problems)

(2) KKT ⟹ optimality + strong duality (for convex/differentiable problems)

(3) Slater’s condition + convex⟹ strong duality, so then we have, GIVEN that strong duality holds,

(3a) KKT ⇔ optimality

非线性规划与KKT(二)相关推荐

  1. 数学建模、运筹学之非线性规划

    数学建模.运筹学之非线性规划 一.最优化问题理论体系 二.梯度下降法--无约束非线性规划 三.牛顿法--无约束非线性规划 四.只包含等值约束的拉格朗日乘子法 五.不等值约束非线性规划与KKT条件 一. ...

  2. 最优化理论与KKT条件

    看着内容挺好的,转载一下 原文:http://jacoxu.com/?p=78 1. 最优化理论(Optimization Theory) 最优化理论是研究函数在给定一组约束条件下的最小值(或者最大值 ...

  3. Numerical Optimization Ch17. Penalty and Augmented Lagragian Methods

    第十七章: 惩罚函数法与增广Lagrange函数法 文章目录 第十七章: 惩罚函数法与增广Lagrange函数法 1. 二次罚函数法 1.1 动机 1.2 算法框架 1.3 二次罚函数法的收敛性 1. ...

  4. 【访客必读 - 指引页】一文囊括主页内所有优质博客

    前言 嘿!彩蛋!感觉有帮助就三连呗! 本人现为一名「机器学习」方向的研究生,本科专业为 CS,期间主要参与 ACM 竞赛,因此主页内的博客一共分为如下四类: 机器学习 ACM 各类算法详细解析 + 题 ...

  5. 基于GAMS的数学建模与系统优化

    通用代数建模系统(GAMS)是特别为建模线性,非线性和混合整数最优化问题而设计的.GAMS支持一系列模型:LP线性规划,MIP混合整数规划,NLP非线性规划,MCP混合互补问题,MPEC带方程式约束的 ...

  6. 计算机验证型数学实验报告,数学建模实验报告指要.doc

    说明: 本实验大纲供写报告时参考.实验报告要求写明以下各项: 1.学生班级.姓名.学号. 2.实验名称.目的要求.时间.实验类型.实验内容. 3.实验环境(如Windows XP + MATLAB5. ...

  7. 油田选址问题matlab,油田选址问题完整解答(内附完整代码)

    油田选址问题 [摘要] 本文从油田选址的实际情况和费用特点出发,针对两点间距离的不同计算方法.不同的炼油厂数目,提出了优化模型.单目标非线性规划模型.二源分类选址模型等进行选址. 针对问题1,首先我们 ...

  8. 运筹优化(十二)--带约束非线性规划(NLP)

    线性约束的非线性规划 许多可以被有效解决的大型非线性规划中所有或者几乎所有的约束,都是线性的.只是将目标函数扩展为非线性.相对来说容易解决. 下面四种规划是特殊的NLP问题 凸规划 若最优化问题的目标 ...

  9. 非线性规划(二): Matlab 求解约束极值问题

    非线性规划(一):定义与数值优化方法(梯度法.牛顿法.拟牛顿法.变尺度法) 非线性规划(二): Matlab 求解约束极值问题 目录 约束极值问题 1  二次规划         2  罚函数法 3 ...

最新文章

  1. python备份文件代码_python备份文件以及mysql数据库的脚本代码
  2. spring mvc 接入cas登录
  3. Java基础学习总结(7)——Object类
  4. Android 仿微信 相册多图选择器
  5. Timus 1049 Brave Balloonists
  6. 冷藏温度范围_冰箱冷藏温度多少合适 冰箱冷藏温度调节范围
  7. @bzoj - 2388@ 旅行规划
  8. webview加载页面有2秒白屏_iOS WKWebview 白屏检测实现
  9. linux interfaces配置文件详解
  10. eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总
  11. python项目代做_ECS 170代做、代写Python、data代做、代做Python程序代写Web开发|代写Database...
  12. Atitit.编程语言的基础句型and汉语英文比较
  13. 用echarts绘制饼图---绘制南丁格尔玫瑰图
  14. paranoid用法
  15. Ouroboros for Mac(AE路径生长MG动画脚本)
  16. R语言——ggplot2的绘图逻辑
  17. 使用Charles 抓取数据包
  18. (附源码)springboot客户信息管理系统 毕业设计 181936
  19. 仿QQ-----开发工具vs2005 相关下载
  20. 工具 | Windows 功能猎手 (WFH)

热门文章

  1. wifi分析仪怎么看哪个信道好_无线路由器选择哪个信道上网更快以获得最佳WIFI体验...
  2. bzoj2676 Contra
  3. 跨境电商平台大全,总有一个适合你
  4. PEP8 Python代码编程规范(摘录整理于官网)
  5. HTC VIVE VR眼镜的介绍以及初始化设置
  6. BI商业智能培训系列——(一)概述
  7. Linux C语言IO多路转接select函数
  8. 【重参数化】《Diverse Branch Block: Building a Convolution as an Inception-like Unit》 2021
  9. 计算机仿真技术生物,基于计算机仿真技术的人体生理特性和病理机制研究
  10. echarts字变大_EChart 文字大小调整 饼状图为例