非线性规划与KKT(二)
非线性规划与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)
如果满足以下的限定条件:
- g 1 , . . . , g k g_1,...,g_k g1,...,gk 是凸集;
- 有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ˉ)。
满足以上条件之后,会有以下的等价结论:
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(二)相关推荐
- 数学建模、运筹学之非线性规划
数学建模.运筹学之非线性规划 一.最优化问题理论体系 二.梯度下降法--无约束非线性规划 三.牛顿法--无约束非线性规划 四.只包含等值约束的拉格朗日乘子法 五.不等值约束非线性规划与KKT条件 一. ...
- 最优化理论与KKT条件
看着内容挺好的,转载一下 原文:http://jacoxu.com/?p=78 1. 最优化理论(Optimization Theory) 最优化理论是研究函数在给定一组约束条件下的最小值(或者最大值 ...
- Numerical Optimization Ch17. Penalty and Augmented Lagragian Methods
第十七章: 惩罚函数法与增广Lagrange函数法 文章目录 第十七章: 惩罚函数法与增广Lagrange函数法 1. 二次罚函数法 1.1 动机 1.2 算法框架 1.3 二次罚函数法的收敛性 1. ...
- 【访客必读 - 指引页】一文囊括主页内所有优质博客
前言 嘿!彩蛋!感觉有帮助就三连呗! 本人现为一名「机器学习」方向的研究生,本科专业为 CS,期间主要参与 ACM 竞赛,因此主页内的博客一共分为如下四类: 机器学习 ACM 各类算法详细解析 + 题 ...
- 基于GAMS的数学建模与系统优化
通用代数建模系统(GAMS)是特别为建模线性,非线性和混合整数最优化问题而设计的.GAMS支持一系列模型:LP线性规划,MIP混合整数规划,NLP非线性规划,MCP混合互补问题,MPEC带方程式约束的 ...
- 计算机验证型数学实验报告,数学建模实验报告指要.doc
说明: 本实验大纲供写报告时参考.实验报告要求写明以下各项: 1.学生班级.姓名.学号. 2.实验名称.目的要求.时间.实验类型.实验内容. 3.实验环境(如Windows XP + MATLAB5. ...
- 油田选址问题matlab,油田选址问题完整解答(内附完整代码)
油田选址问题 [摘要] 本文从油田选址的实际情况和费用特点出发,针对两点间距离的不同计算方法.不同的炼油厂数目,提出了优化模型.单目标非线性规划模型.二源分类选址模型等进行选址. 针对问题1,首先我们 ...
- 运筹优化(十二)--带约束非线性规划(NLP)
线性约束的非线性规划 许多可以被有效解决的大型非线性规划中所有或者几乎所有的约束,都是线性的.只是将目标函数扩展为非线性.相对来说容易解决. 下面四种规划是特殊的NLP问题 凸规划 若最优化问题的目标 ...
- 非线性规划(二): Matlab 求解约束极值问题
非线性规划(一):定义与数值优化方法(梯度法.牛顿法.拟牛顿法.变尺度法) 非线性规划(二): Matlab 求解约束极值问题 目录 约束极值问题 1 二次规划 2 罚函数法 3 ...
最新文章
- python备份文件代码_python备份文件以及mysql数据库的脚本代码
- spring mvc 接入cas登录
- Java基础学习总结(7)——Object类
- Android 仿微信 相册多图选择器
- Timus 1049 Brave Balloonists
- 冷藏温度范围_冰箱冷藏温度多少合适 冰箱冷藏温度调节范围
- @bzoj - 2388@ 旅行规划
- webview加载页面有2秒白屏_iOS WKWebview 白屏检测实现
- linux interfaces配置文件详解
- eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总
- python项目代做_ECS 170代做、代写Python、data代做、代做Python程序代写Web开发|代写Database...
- Atitit.编程语言的基础句型and汉语英文比较
- 用echarts绘制饼图---绘制南丁格尔玫瑰图
- paranoid用法
- Ouroboros for Mac(AE路径生长MG动画脚本)
- R语言——ggplot2的绘图逻辑
- 使用Charles 抓取数据包
- (附源码)springboot客户信息管理系统 毕业设计 181936
- 仿QQ-----开发工具vs2005 相关下载
- 工具 | Windows 功能猎手 (WFH)
热门文章
- wifi分析仪怎么看哪个信道好_无线路由器选择哪个信道上网更快以获得最佳WIFI体验...
- bzoj2676 Contra
- 跨境电商平台大全,总有一个适合你
- PEP8 Python代码编程规范(摘录整理于官网)
- HTC VIVE VR眼镜的介绍以及初始化设置
- BI商业智能培训系列——(一)概述
- Linux C语言IO多路转接select函数
- 【重参数化】《Diverse Branch Block: Building a Convolution as an Inception-like Unit》 2021
- 计算机仿真技术生物,基于计算机仿真技术的人体生理特性和病理机制研究
- echarts字变大_EChart 文字大小调整 饼状图为例