文章目录

  • 一:最优化研究基本过程
  • 二:全局最优解和局部最优解
  • 三:优化算法
    • (1)迭代算法
    • (2)收敛问题
    • (3)算法的渐进收敛速度
    • (4)算法复杂度

一:最优化研究基本过程

最优化研究基本过程:一般来说,最优化算法研究可以分为如下几步

  • 构造最优化模型:模型的构造和实际问题相关
  • 确定最优化问题的类型:之所以要分类是因为不存在一个统一的算法可以适用于优化问题
  • 设计算法
  • 实现算法

二:全局最优解和局部最优解

定义:对于可行点x‾(x‾∈χ)\overline{x}(\overline{x}\in \chi)x(x∈χ),定义如下概念

  • 若∀x∈χ\forall x\in\chi∀x∈χ,都有f(x‾)≤f(x)f(\overline{x})\leq f(x)f(x)≤f(x),那么称x‾\overline{x}x为全局最优解
  • 如果存在x‾\overline{x}x的一个ξ\xiξ领域Nξ(x‾)N_{\xi}(\overline{x})Nξ​(x)使得f(x‾)≤f(x)f(\overline{x})\leq f(x)f(x)≤f(x),那么称x‾\overline{x}x为局部最优解;进一步如果有f(x‾)<f(x)f(\overline{x})< f(x)f(x)<f(x)且x≠x‾x\not= \overline{x}x=x成立,则称x‾\overline{x}x为严格局部最优解

三:优化算法

(1)迭代算法

迭代算法:由于实际问题的复杂性,所以我们在求解时往往只能够得到其局部最优解,而不能得到全局最优解,所以我们常常会使用迭代算法。其基本思想为:从一个初始点x0x^{0}x0出发,按照某种给定的规则进行迭代,得到一个序列{xk}\{x^{k}\}{xk}

  • 如果迭代在有限步内终止,那么最后一个点就是优化问题的解
  • 如果迭代点列是无穷集合,那么希望该序列的极限点为优化问题的解

(2)收敛问题

收敛问题:在算法设计中,还需要考虑算法产生的点列是否收敛到优化问题的解。考虑无约束情形,对于一个算法,给定初始点x0x^{0}x0,记算法迭代产生的点列为{xk}\{x^{k}\}{xk}

  • 如果{xk}\{x^{k}\}{xk}在某种范数的意义下满足limk−>∞∣∣xk−x∗∣∣=0lim_{k->\infty}||x^{k}-x^{*}||=0limk−>∞​∣∣xk−x∗∣∣=0,且收敛的点x∗x^{*}x∗为一个局部(全局)极小解,那么我们称该点列收敛到局部(全局)极小解,相应算法称为是依点列收敛到局部(全局)极小解的
  • 如果从任意初始点x0x^{0}x0出发,算法都是依点列收敛到局部(全局)极小解的。记对应的函数值序列为{f(xk)}\{f(x^{k})\}{f(xk)},可以定义算法的(全局)依函数值收敛到局部(全局)极小值概念

注意

  • 对于凸优化问题,因为其任何局部最优解都是全局最优解,所以算法的收敛性都是相对于全局极小而言的
  • 除了点列和函数值的收敛外,实际中常用的还有每个迭代点的最优性条件的收敛
  • 对于带约束的情形,给定初始点x0x^{0}x0,算法产生的点列{xk}\{x^{k}\}{xk}不一定是可行的。考虑到约束违反的情形,我们需要保证{xk}\{x^{k}\}{xk}在收敛到x∗x^{*}x∗的时候,其违反度是可以接受的。除此之外,算法的收敛性定义和无约束情形相同

(3)算法的渐进收敛速度

QQQ-收敛速度:设{xk}\{x^{k}\}{xk}为算法产生的迭代点列且收敛于x∗x^{*}x∗

  • Q-线性收敛: 对充分大的kkk有,∣∣xk+1−x∗∣∣∣∣xk−x∗∣∣≤a\frac{||x^{k+1}-x^{*}||}{||x^{k}-x^{*}||}\leq a∣∣xk−x∗∣∣∣∣xk+1−x∗∣∣​≤a,a∈(0,1)a\in(0,1)a∈(0,1)
  • Q-超线性收敛: 对充分大的kkk有,limk−>∞∣∣xk+1−x∗∣∣∣∣xk−x∗∣∣=0\mathop{lim}_{k->\infty}\frac{||x^{k+1}-x^{*}||}{||x^{k}-x^{*}||}= 0limk−>∞​∣∣xk−x∗∣∣∣∣xk+1−x∗∣∣​=0
  • Q-次线性收敛: 对充分大的kkk有,limk−>∞∣∣xk+1−x∗∣∣∣∣xk−x∗∣∣=1\mathop{lim}_{k->\infty}\frac{||x^{k+1}-x^{*}||}{||x^{k}-x^{*}||}= 1limk−>∞​∣∣xk−x∗∣∣∣∣xk+1−x∗∣∣​=1
  • Q-二次收敛: 对充分大的kkk有,∣∣xk+1−x∗∣∣∣∣xk−x∗∣∣2≤a\frac{||x^{k+1}-x^{*}||}{||x^{k}-x^{*}||^{2}}\leq a∣∣xk−x∗∣∣2∣∣xk+1−x∗∣∣​≤a,a>0a>0a>0


RRR-收敛速度:设{xk}\{x^{k}\}{xk}为算法产生的迭代点列且收敛于x∗x^{*}x∗,已定义RRR-线性收敛为例,类似可以定义R−R-R−超线性收敛和R−R-R−二次收敛

  • RRR-线性收敛:若存在QQQ-线性收敛于0的非负序列tkt_{k}tk​并且∣∣xk−x∗∣∣≤tk||x^{k}-x^{*}|| \leq t_{k}∣∣xk−x∗∣∣≤tk​对任意kkk成立,则称算法(点列)是RRR-线性收敛

(4)算法复杂度

算法复杂度:设x∗x^{*}x∗为全局极小点,某一算法产生的迭代序列{xk}\{x^{k}\}{xk}满足

f(xk)−f(x∗)≤ckf(x^{k})-f(x^{*})\leq \frac{c}{\sqrt{k}}f(xk)−f(x∗)≤k​c​

  • ∀k>0\forall k >0∀k>0
  • c>0c>0c>0为常数

如果需要计算算法满足精度f(xk)−f(x∗)≤ξf(x^{k})-f(x^{*})\leq \xif(xk)−f(x∗)≤ξ所需的迭代次数,只需令ck≤ξ\frac{c}{\sqrt{k}}\leq \xik​c​≤ξ,则有k≥c2ξ2k\geq \frac{c^{2}}{\xi^{2}}k≥ξ2c2​,因此该优化算法对应的复杂度(迭代次数)为N(ξ)=O(1ξ2)N(\xi)=O(\frac{1}{\xi^{2}})N(ξ)=O(ξ21​)

(最优化理论与方法)第一章最优化简介-第三节:最优化基本概念相关推荐

  1. 线性和非线性最优化理论、方法及应用研究的发展状况.

    关注. 最优化的研究包含理论.方法和应用.最优化理论主要研究问题解的最优性条件.灵敏度分析.解的存在性和一般复杂性等.而最优化方法研究包括构造新算法.证明解的收敛性.算法的比较和复杂性等.最优化的应用 ...

  2. 最优化理论与方法(part11)--约束优化问题

    学习笔记,仅供参考,有错必纠 文章目录 最优化理论与方法 约束优化问题 定义 8.1.1(可行点与可行域) 全局和局部极小值点 积极与非积极 最优化理论与方法 约束优化问题 定义 8.1.1(可行点与 ...

  3. 最优化理论与方法(part8)--凸集的分离和支撑

    学习笔记,仅供参考,有错必纠 文章目录 最优化理论与方法 凸集的分离和支撑 定理 1.3.17(凸集外一点与闭凸集的极小距离) 定理 1.3.18 定理 1.3.19 定义 1.3.20(支撑超平面) ...

  4. 最优化理论与方法(part5)--函数和微分

    学习笔记,仅供参考,有错必纠 文章目录 最优化理论与方法 函数和微分 连续可微和Hesse矩阵 d d d的方向导数 d d

  5. 最优化理论与方法(part4)--秩一校正

    学习笔记,仅供参考,有错必纠 文章目录 最优化理论与方法 秩一校正 定理 1.2.6(Sherman-Morrison 定理) 定理 1.2.7(Sherman-Morrison-Woodburg 定 ...

  6. 最优化理论与方法(part3)--矩阵的Rayleigh商

    学习笔记,仅供参考,有错必纠 文章目录 最优化理论与方法 矩阵的Rayleigh商 定义 1.2.4 定理 1.2.5 最优化理论与方法 矩阵的Rayleigh商 定义 1.2.4 备注: C C C ...

  7. 最优化理论与方法(part2)--矩阵求逆和广义逆

    学习笔记,仅供参考,有错必纠 文章目录 最优化理论与方法 矩阵求逆和广义逆 定理 1.2.3 (von Neumann引理) 定理 1.2.3' 子空间 最优化理论与方法 矩阵求逆和广义逆 定理 1. ...

  8. 最优化理论与方法学习笔记

    最优化理论与方法 参考学习资源:上海财经大学崔老师B站讲解视频 以下是个人学习笔记,并不具有很强的参考性,具体学习书籍可参考<最优化理论与方法-袁亚湘> 大致分类: 1.无约束优化/约束优 ...

  9. 第一章 huggingface简介

    HuggingFace/transformers系列文章 第一章 huggingface简介 文章目录 HuggingFace/transformers系列文章 前言 一.Bert简介 二.Huggi ...

  10. 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...

    第一章 Python基础 第三节 列表简介 列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中的元素包括在方括号([])中,每个元素之间用逗号分割.列表是可变的数据类型, ...

最新文章

  1. linux设置ulimit值永久生效
  2. linux .sh文件 命令如何写,Linux下面使用命令如何运行.sh文件的两种解决办法
  3. spring控制事务:声明式事务(XML)事务的传播行为
  4. echarts做企业关系图谱_echarts 关系图
  5. 重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider...
  6. 包过滤防火墙和代理应用防火墙
  7. 信息学奥赛一本通(1239:统计数字)
  8. Kafka监控系统Kafka Eagle:支持kerberos认证
  9. SPSS软件应用于因子分析/相关性分析等统计分析方法解读
  10. 如何使用Bootbox ?
  11. Nacos注册中心AP架构源码(Distro)上篇
  12. mini-tokio代码分析
  13. 加州大学洛杉玑分校计算机专业,加州大学洛杉矶分校
  14. 5G 理论峰值速率是怎么计算的?
  15. 针对于网站被黑被劫持了的解决办法、网站被劫持了怎么办
  16. 光阴似锦,关于身体保养的那些事
  17. Ogre开发日记(一)
  18. java中取值保留小数点后两位的四种方法
  19. SeetaFace使用(问题)
  20. 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测

热门文章

  1. api接口—淘宝直播列表数据
  2. 【技术科普二】石墨烯技术有什么特点和优势?
  3. matlab语言学习笔记(一)
  4. 人工智能数学基础--概率与统计11:离散随机变量的超几何分布和负二项分布
  5. 显示器黑屏故障全解析
  6. 刘未鹏:为什么你应该(从现在开始就)写博客
  7. 量子相干和量子纠缠犹如同一硬币的两面般密不可分
  8. 别逗了,费曼先生怪才历险记pdf
  9. 编码:UTF-8编码、UTF-16编码规则
  10. 关于stdlib头文件