由于最优化理论是许多算法的基础,因此本文在这里简单梳理了一下最优化相关的重要知识点以及算法分类,以供需要时查询使用。

一、最优化理论基础

1.线性规划中的对偶理论:

典型线性规划问题

 

  

及其对偶问题

 

  

 

  

满足:i)若原问题与其对偶问题中有一个问题存在最优解,则另一个问题也存在最优解,且两个问题的目标函数的最优值相等(并且两个问题的目标值会以相反的方向逐渐逼近直至相等)。

ii) [互补松弛性质] 设分别是原问题和对偶问题的可行解,那么都是最优解的充要条件是,对所有i和j,下列关系成立:

如果 ,就有 

如果 ,就有

如果 ,就有

如果 ,就有

上述两个定理是线性规划对偶方法的基础,在对偶单纯形路径跟踪法等算法中常用 i) ,通过交替求解原问题和对偶问题来从一个基础可行 or 对偶可行解出发逐步趋近最优解;而 ii) 则是原问题与对偶问题之间的相当有用的性质,以此作为引申,可以得到在有约束条件下的KKT条件,并以此求解一些非线性且带约束条件的问题,如Lagrange法等。

2.非线性规划中的最优性条件

(1)无约束问题   

一阶条件:①设函数在点可微,若是局部极小点,则梯度∇.

②设函数在点处二次可微,若是局部极小点,则梯度∇,且矩阵∇半正定.

二阶充分条件:①设函数.在点处二次可微,若梯度∇,且矩阵∇正定,则是局部极小点.

充要条件:①设是定义在上的可微凸函数,,则为全局极小点的充分必要条件是梯度∇.

(2)约束极值问题           

一阶条件:①设为可行点,为不等式相关的起作用约束集, 可微, 连续, 连续可微,且,...,线性无关。如果是该问题的局部最优解,则在处,有:

.

其中​​​​​​​​​​​​

②设在该问题中,是凸函数, 是凸函数, 是线性函数,是可行域,,且在处K-T条件成立,即存在  使得

为全局最优解。

K-T条件: ①设 可微, 连续,线性无关,若是局部最优解,则                   存在非负数,使得

其中,第二、三条为互补松弛条件。

上式可以等价为:

二阶必要条件:①设是该问题的局部最优解,二次连续可微,并存在满足K-T条件的,再假设在点向量组线性无关,则对每一个向量,都有

其中,是Lagrange函数在点关于矩阵。

二阶充分条件:①设在该问题中,二次连续可微,为可行点,存在乘子使K-T条件成立,且对每个向量,都有

其中: 

是严格局部最优解。

综上,对于凸规划的问题,仅需判断一阶条件就可以找到极值点(梯度 or K-T条件);否则结合二阶条件来进行判(Hesse阵 or 的Hesse阵)

二、最优化理论相关算法索引

1.线性规划问题

(1)针对一般的线性规划问题,可以采用单纯形法对偶单纯形法以及路径跟踪法进行求解。

(2)形如

  

  

的问题,则可以采用表上作业法进行快速求解。

2.非线性规划问题

(1)对于无约束的非线性规划问题,直接采用基于导数(最速下降法牛顿法共轭梯度法最小二乘法等及其变体)或仿基于导数(模式搜索法Rosenbrock法等)的方法进行求解。其一般思路是:寻找到一个方向,使得沿该方向上行进具有使函数梯度下降的趋势,然后求解得到步长,决定一次的行进距离。按此方法反复进行迭代,直到目标参量收敛到一定值以下。

(2)对于有约束条件的非线性规划问题,一种是建立Larange方程,然后再利用无约束的方法进行求解,如外点法内点法以及乘子法等;另一种则是利用K-T条件进行求解:Zoutendijk法将原非线性规划问题按照K-T条件等价为一个线性规划问题,然后利用单纯形法进行求解;Rosen梯度投影法则是将非线性函数的梯度投影到起作用约束的零空间上,以此作为下降方向,然后按照与导数方法类似的情况进行求解;除此之外,当约束仅存在,即等式约束时,可以利用Wolfe既约梯度法将原非线性方程消元,再按照无约束的情况进行求解。

参考书目:

1.《最优化理论与算法 第2版》 陈宝林

2.《Engineering Optimization Theoryand Practice》 SINGIRESU S. RAO

最优化理论总结算法索引相关推荐

  1. 最优化理论与算法笔记

    最优化理论与算法笔记

  2. 最优化理论c语言代码,《统计学习导论基于R应用》PDF代码导图+《最优化理论与算法第2版》PDF习题指导...

    要想深入理解机器学习,或者对人工智能的某个领域有所研究,都必须掌握统计学.最优化.矩阵及其应用等知识. 推荐<统计学习导论:基于R应用>,适合运用统计学习前沿技术分析数据的人士.读起来不费 ...

  3. 《最优化理论与算法》(陈宝林)——第1章:引言

    文章目录 学科简述 线性与非线性规划问题 几个数学概念 向量范数与矩阵范数 序列的极限 梯度.Hesse矩阵.Taylor展开式 Jacobi矩阵.链式法则和隐函数存在定理 凸集和凸函数 凸集 是否是 ...

  4. 陈宝林《最优化理论与算法》超详细学习笔记 (八)————最优性条件

    陈宝林<最优化理论与算法>超详细学习笔记 (八)----最优性条件 无约束问题的极值条件 必要条件 二阶充分条件 充要条件 约束极值问题的最优性条件 不等式约束的一阶最优性条件 无约束问题 ...

  5. 陈宝林《最优化理论与算法》超详细学习笔记 (七)————第五章 运输问题

    陈宝林<最优化理论与算法>超详细学习笔记 (七)----第五章 运输问题 第1节 运输问题的数学模型 第2节 表上作业法 2.1 确定初始基可行解 2.2 最优解的判别 2.3 改进的方法 ...

  6. 陈宝林《最优化理论与算法》超详细学习笔记 (四)————第四章 对偶理论

    陈宝林<最优化理论与算法>超详细学习笔记 (四)----第四章 对偶理论 1. 对偶问题的提出 2. 线性规划的对偶理论 2.1 原问题与对偶问题的关系 2.2 对偶问题的基本性质 3. ...

  7. 陈宝林《最优化理论与算法》超详细学习笔记 (三)————单纯形法

    陈宝林<最优化理论与算法>详细学习笔记 (三)----单纯形法 数学模型 最优性检验与解的判别 最优解的判别定理 无穷多最优解判别定理 无界解判别定理 其他情形 第三章 单纯形法 单纯形表 ...

  8. 陈宝林《最优化理论与算法》超详细学习笔记 (一)————第十章 使用导数的最优化方法(最速下降法、牛顿法、阻尼牛顿法)

    陈宝林<最优化理论与算法>超详细学习笔记 (一)----第十章 使用导数的最优化方法(最速下降法.牛顿法.阻尼牛顿法) 写在前面 第十章 使用导数的最优化方法 最速下降法 牛顿法 阻尼牛顿 ...

  9. 陈宝林《最优化理论与算法》超详细学习笔记 (五)————最优性条件 之 KKT条件

    陈宝林<最优化理论与算法>超详细学习笔记 (五)----最优性条件 之 KKT条件 Lagrange对偶问题 原问题 Lagrange函数 Lagrange对偶函数 强/弱对偶性 弱对偶性 ...

最新文章

  1. 如何在 Python 中开始机器学习?(小白必看)
  2. iOS - OC NSUserDefaults 数据存储
  3. showModalDialog跨域访问的解决
  4. Linux下FTP服务器配置与管理
  5. linux查看时间同步服务,Linux系统时钟同步服务NTPD配置方法
  6. sqlserver 常用存储过程集锦
  7. 47 -算法 -回文串 -Leetcode 125 - 验证回文串
  8. Python之list添加新元素
  9. JavaScript事件 以及和jQuery中事件使用对比
  10. vs编译c++代码脚本
  11. Flash遮罩动画之画轴
  12. 使用高德地图JS API开发地图应用之获取Key及Jscode
  13. TrollStore 永久自签ipa软件
  14. 驱动开发笔记5—驱动对象、设备对象、IRP和派遣函数
  15. USB 中的DM,DP上拉电阻分析
  16. 【Niagara 01】Tridium N4使用——入门及新建站点
  17. 弥补自己的无知: GPL与LGPL
  18. 用AI技术分析情商 川普和克林顿谁更胜一筹?
  19. ASP.NET Core MVC中的viewmodel
  20. Google Earth Engine(GEE)实例代码学习十六——绘制经纬网(Pixel Lon Lat)

热门文章

  1. 淘宝商品爬虫Ⅰ:根据店铺名爬取淘宝商品基本信息
  2. 5、面向对象编程(中)
  3. 第 4 章:Vue 中的 ajax
  4. 使用 Visual Assist–VS助手 快速添加注释
  5. Error 1935.安装程序集 Microsoft.vc80.atl,type=win32,version=8.0.50727.762
  6. Spark - 小实践(6)计算手机在基站停留时间
  7. day06-元组字典集合常用两种排序
  8. 看别人是怎么挣钱的,你就知道生活中 思路决定成功
  9. 脚本外挂-图色识别-大漠课程-图色识别(三)
  10. 使用skyeye运行《Linux设备驱动开发详解》的实例(二)