陈宝林《最优化理论与算法》超详细学习笔记 (五)————最优性条件 之 KKT条件
陈宝林《最优化理论与算法》超详细学习笔记 (五)————最优性条件 之 KKT条件
- Lagrange对偶问题
- 原问题
- Lagrange函数
- Lagrange对偶函数
- 强/弱对偶性
- 弱对偶性
- 强对偶性
- 最优性条件
- 互补松弛性
- KTT条件(Karush-Kuhn-Tucker)
Lagrange对偶问题
原问题
对于一个最优化问题:
minf0(x)s.t.fi(x)≤0,i=1,⋯,mhi(x)=0,i=1,⋯,p\begin{array}{ll}\min & f_{0}(x) \\ \text {s.t.} & f_{i}(x) \leq 0, \quad i=1, \cdots, m \\ & h_{i}(x)=0, \quad i=1, \cdots, p\end{array}mins.t.f0(x)fi(x)≤0,i=1,⋯,mhi(x)=0,i=1,⋯,p
f0(x)f_{0}(x)f0(x)为目标函数,fi(x)≤0f_{i}(x)\leq0fi(x)≤0为不等式约束,hi(x)=0h_{i}(x)=0hi(x)=0为等式约束.
Lagrange函数
通过引入不等式约束和等式约束的lagranage乘子λi\lambda_iλi与viv_ivi,得到原问题的Lagrange函数为:
L(x,λ,v)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x)L(x, \lambda, v)=f_{0}(x)+\sum_{i=1}^{m} \lambda_{i} f_{i}(x)+\sum_{i=1}^{p} v_{i} h_{i}(x)L(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
Lagrange对偶函数
定义Lagrange对偶函数为Lagrange 函数对xxx求最小值,
g(λ,v)=infxL(x,λ,v)=infx(f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x))g(\lambda, v)=\inf _{x } L(x, \lambda, v)=\inf _{x}\left(f_{0}(x)+\sum_{i=1}^{m} \lambda_{i} f_{i}(x)+\sum_{i=1}^{p} v_{i} h_{i}(x)\right)g(λ,v)=xinfL(x,λ,v)=xinf(f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x))
根据对偶问题的性质,Lagrange对偶函数构成了原问题最优值p∗p^*p∗的下界,即:
g(λ,v)≤p∗g(\lambda, v)\leq p^*g(λ,v)≤p∗
于是,我们再对Lagrange对偶函数求上界,便构成了Lagrange对偶问题:
maxg(λ,v)s.t.λi≥0,i=1,2,⋯,q\begin{array}{ll}\max & g(\lambda,v) \\ \text {s.t.} & \lambda_i \geq 0,i=1,2,\cdots,q\end{array}maxs.t.g(λ,v)λi≥0,i=1,2,⋯,q
强/弱对偶性
弱对偶性
我们用 d "表示 Lagrange 对偶问题的最优解,则有
d∗≤p∗d^{*} \leq p^{*} d∗≤p∗
即使原问题不是凸优化问题,这个不等式也成立。这个性质称作弱对偶性。
强对偶性
若d∗=p∗d^{*} = p^{*}d∗=p∗成立,则成强对偶性成立。
若原问题为凸优化问题,则强对偶性通常成立。
最优性条件
互补松弛性
当强对偶性成立时, x∗x^{*}x∗是原问题的最优解,λ∗,v∗\lambda^{*}, v^{*}λ∗,v∗ 是对偶问题的最优解的一个必要条件是互补松他性条件:
∑i=1mλi∗fi(x∗)=0\sum_{i=1}^{m} \lambda_{i}^{*} f_{i}\left(x^{*}\right)=0 i=1∑mλi∗fi(x∗)=0
因为每一项都非正,因此有
λi∗fi(x∗)=0,i=1,⋯,m\lambda_{i}^{*} f_{i}\left(x^{*}\right)=0, \quad i=1, \cdots, m λi∗fi(x∗)=0,i=1,⋯,m
KTT条件(Karush-Kuhn-Tucker)
当强对偶性成立时, x∗x^{*}x∗ 和 (λ∗,v∗)\left(\lambda^{*}, v^{*}\right)(λ∗,v∗) 分别是原问题和对偶问题的最优
解,则其必须满足 KKT 条件:
fi(x∗)≤0,i=1,⋯,mhi(x∗)=0,i=1,⋯,pλi∗≥0,i=1,⋯,mλi∗fi(x∗)=0,i=1,⋯,m∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+∑i=1pvi∗∇hi(x∗)=0\begin{array}{l} f_{i}\left(x^{*}\right) \leq 0, \quad i=1, \cdots, m \\ h_{i}\left(x^{*}\right)=0, \quad i=1, \cdots, p \\ \lambda_{i}^{*} \geq 0, \quad \quad\quad i=1, \cdots, m \\ \lambda_{i}^{*} f_{i}\left(x^{*}\right)=0, \quad i=1, \cdots, m \\ \nabla f_{0}\left(x^{*}\right)+\sum_{i=1}^{m} \lambda_{i}^{*} \nabla f_{i}\left(x^{*}\right)+\sum_{i=1}^{p} v_{i}^{*} \nabla h_{i}\left(x^{*}\right)=0 \end{array} fi(x∗)≤0,i=1,⋯,mhi(x∗)=0,i=1,⋯,pλi∗≥0,i=1,⋯,mλi∗fi(x∗)=0,i=1,⋯,m∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+∑i=1pvi∗∇hi(x∗)=0
当原问题是凸优化问题时,满足KKT条件的点也是原、对偶问题的最优解。(证明后补)
陈宝林《最优化理论与算法》超详细学习笔记 (五)————最优性条件 之 KKT条件相关推荐
- 【台大郭彦甫】Matlab入门教程超详细学习笔记五:初阶绘图(附PPT链接)
初阶绘图 前言 一.基础绘图 1.plot() 绘制二维线图 2.legend()添加图例 3.title()和*label()添加标题与坐标轴 4.text()和annotation()增加注解 二 ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (三)————单纯形法
陈宝林<最优化理论与算法>详细学习笔记 (三)----单纯形法 数学模型 最优性检验与解的判别 最优解的判别定理 无穷多最优解判别定理 无界解判别定理 其他情形 第三章 单纯形法 单纯形表 ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (八)————最优性条件
陈宝林<最优化理论与算法>超详细学习笔记 (八)----最优性条件 无约束问题的极值条件 必要条件 二阶充分条件 充要条件 约束极值问题的最优性条件 不等式约束的一阶最优性条件 无约束问题 ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (七)————第五章 运输问题
陈宝林<最优化理论与算法>超详细学习笔记 (七)----第五章 运输问题 第1节 运输问题的数学模型 第2节 表上作业法 2.1 确定初始基可行解 2.2 最优解的判别 2.3 改进的方法 ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (四)————第四章 对偶理论
陈宝林<最优化理论与算法>超详细学习笔记 (四)----第四章 对偶理论 1. 对偶问题的提出 2. 线性规划的对偶理论 2.1 原问题与对偶问题的关系 2.2 对偶问题的基本性质 3. ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (一)————第十章 使用导数的最优化方法(最速下降法、牛顿法、阻尼牛顿法)
陈宝林<最优化理论与算法>超详细学习笔记 (一)----第十章 使用导数的最优化方法(最速下降法.牛顿法.阻尼牛顿法) 写在前面 第十章 使用导数的最优化方法 最速下降法 牛顿法 阻尼牛顿 ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (二)————补充知识(凸集) 第二章 线性规划的基本性质
陈宝林<最优化理论与算法>超详细学习笔记 (二)----补充知识 凸集 & 第二章 线性规划的基本性质 补充知识 凸集 方向与极方向 表示定理 择一定理 第一章 线性规划的基本性质 ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)
Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...
- Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
所有示例使用的数据表均为Oracle提供的SQL基础数据表(t_employees.sql dept.sql emp.sql salgrade.sql) 熟练掌握多多练习即可达到完成后端开发所需具备的 ...
最新文章
- 【C++】引用与变量
- JavaScript 同源策略
- hadoop 配置文件简析
- 花书+吴恩达深度学习(十二)卷积神经网络 CNN 之全连接层
- 一起谈.NET技术,asp.net Ajax ---AutoComplete控件使用
- 电脑自动跳转加QQ好友html,自动添加QQ好友.html
- 全站仪和手机连接软件_测量员APP全站仪设站的的应用说明
- 计算机类期刊投稿经验
- 如何使用语音验证码API
- ArcGIS水文分析实战教程(5)细说流向与流量
- 2021年中国给水泵市场趋势报告、技术动态创新及2027年市场预测
- 浅析Spring之sessionFactory
- 什么是维度表和事实表
- 【微信小程序】上传图片到oss对象存储(PHP)
- 福克斯车钥匙遥控失灵解决办法
- JavaWeb学习——用户登录案例(13)
- 【Rust日报】2022-10-09 出于什么原因,您应该选择 rust 进行后端开发而不是其他选项?...
- 随笔:使用Windows搭建AAA认证服务器
- 囚徒困境,纳什均衡,帕雷托最优和帕雷托改进
- 拼多多app抓包之代码实现