当前位置:   article > 正文

工程优化第三章总结_单峰函数的消去性质

单峰函数的消去性质

搜索算法概述

求解无约束优化问题min f(x), x∈Rn
f: D是Rn的 子集,D->R

一般求解方法
求无约束的某可微函数的最优解,根据一阶必要条件,可以令函数的梯度等于0,由此求得驻点;然后通过充分条件进行判别,求出所要的解。

问题

  • 对某些较简单的函数,这样做有时是可行的;但对一般n元函数 f(x) 来说,由条件∇f(x)=0得到的是一个非线性方程组,解它相当困难。
  • 对于不可微函数,当然谈不上使用这样的方法。
    为此,常直接使用迭代法

迭代法一般思路
为了求函数f(x)的最优解,首先给定一个初始估计x0,然后按某种规划(即算法)找出比x0更好的解x1,f(x1)<f(x0),再按此种规则找出比x1更好的解x2,如此迭代。
如此即可得到一个解的序列{xk},若这个解序列有极限x*,lim||xk -x*|| = 0,则称他收敛与x*;
若算法是有效的,则它产生的解序列收敛于该问题的最优解。

终止条件
理想的终止条件为:|f(x)-f(x*)|<ε 或者 ||x-x*||<ε。但是x*是未知的。

实用的终止条件是根据相继两次迭代的结果

  1. 根据相继两次迭代的绝对误差 |f(xk+1)-f(xk)|<ε 或者 ||xk+1-xk||<ε
  2. 根据相继两次迭代的相对误差 |f(xk+1)-f(xk)|/|f(xk)| <ε 或者 ||xk+1-xk||/||xk||< ε
  3. 根据目标函数梯度的模足够小 ||∇f(xk)|| < ε

收敛速度
收敛速度
迭代法分类
根据是否计算目标函数和约束函数的导数

  1. 直接法:不需要导数信息;仅利用函数值,简单易用
  2. 非直接法:需要导数信息;利用导数信息,收敛性结果更强

根据迭代点是否沿某个方向产生

  1. 线搜索方法:迭代点沿某方向产生;每次迭代沿某个方向搜索下个迭代点,最常见研究最多的方法
  2. 信赖域方法:迭代点在某区域内搜索产生;每次迭代在某区域内搜索下个迭代点,近30年来发展起来的一类方法

线搜索迭代法基本思想
若从xk 出发至少存在一个方向dk可使目标函数值有所下降,可选定这个方向dk,沿这个方向迈进适当的一步,得到下一个迭代点xk+1,使f(xk+1)<f(xk)。
相当于在射线x=xk+λdk上选定新的点xk+1=xkkdk
其中dk成搜索方向;λk称为步长或学习率(在ML中)

线搜索迭代法的一般步骤

  1. 选取初始点x0,k=0
  2. 确定搜索方向dk
  3. 从xk出发沿方向dk求步长λk,以产生下一个迭代点xk+1
  4. 检查得到的新店xk+1是否为极小点或近似极小点;即,判断是否满足终止条件

之后各种算法的区分,主要在于搜索方向dk的不同。

迭代步长常见方法

  1. 令它等于某一常数(例如令λk =1),这样做不能保证目标函数值下降。
  2. 第二种称为可接受点算法,只要能使目标函数值下降,可任意选取步长。
  3. 第三种方法的思路是:沿搜索方向使目标函数值下降最多;求目标函数 f(x) 的极小:λk=arg min f(xk+λdk)

方法三又称精确一维搜索或精确线搜索或一维最优化,确定的步长为最佳步长。

注意:在搜索方向上所得最优点处的梯度和该搜索方向正交

精确的一维搜索方法

  1. 试探法:按某种方式找试探点,通过比较一系列试探点的函数值的大小确定极小点。 “成功-失败”法
  2. 区间收缩法:用某种分割技术缩小最优解所在的区间(称为搜索区间)。 二分法、0.618法
  3. 函数逼近法:用比较简单函数的极小值点近似代替原函数的极小值点。从几何上看是用比较简单的曲线近似代替原来的曲线,用简单曲线的极小值点代替原曲线的极小点。 Newton法、二次插值法、三次插值法

非精确一维搜索
通过计算少量的函数值,得到一步长λk,使得后续迭代点xk+1=xkkdk满足f(xk+1)<f(xk),即使目标函数要“充分”下降

  1. Armiji-Goldstein准则
  2. Wolfe-Powell准则

“成功-失败”法

常用的一维直接法有消去法近似法两类。它们都是从某个初始搜索区间出发,利用单峰函数的消去性质,逐步缩小搜索区间,直到满足精度要求为止。

单峰函数
单峰函数
单峰函数图示

进退算法(成功-失败法)
由单峰函数的性质可知,函数值在极小点左边严格下降,在右边严格上升。 (直接法)
基本思想:从某个初始点出发,沿函数值下降的方向前进,直至发现函数值上升为止。由两边高,中间低的三点,可确定极小点所在的初始区间。
步骤

  1. 选定初始点a和步长h
  2. 计算并比较f(a)和f(a+h);有前进和后退两种情况
    前进后退
    图示1
    算法说明
    缺点:效率低;
    优点:可以求搜索区间;
    注意:h选择要适当,初始步长不能选的太小,也不能太大

例题
使用成功失败法


0.618法(黄金分割法)

0.618算是成功-失败法的进阶 (直接法)
成功失败法

成功-失败法的初始点是随机选取的;
黄金分割法考虑两个条件:

  1. 对称原则: x1 – a = b- x2 式(1)
    使“坏”情况去掉
  2. 保持缩减比原则 t=(保留的区间长度/原区间长度) 不变 t=0.618
    推导过程1
    联立式子1,2可求得t=0.618

最后初始的x1和x2选择为: t = 0.618
x1 = a + (1- t)(b - a )
x2 =a +t (b -a )

算法说明
优点:不要求函数可微,且每次迭代只需计算一个函数值,计算量小,程序简单
缺点:收敛速度慢
比成功失败法效率稍微好一点


二分法

基本思想 (非直接法)
二分法基本思想
计算步骤
计算步骤
算法说明
优点:计算量较少,总能收敛到一个局部极小点
缺点:收敛速度较慢


牛顿法

牛顿法是一种函数逼近法,基本思想是:在极小点附近用函数的二阶泰勒多项式近似代替目标函数,从而求得目标函数的极小点的近似值。
公式表示
计算步骤
计算步骤
算法说明
优点:收敛速度快,局部二阶收敛
缺点:须计算二阶导数,工作量大;对初始点要求高,要求初始点离极小点不太远,否则有可能使极小化发散或收敛到非极小点;局部收敛。


插值法

二次插值法

(直接法)
基本原理

求极小点

基本原理:通过三个点模拟一个曲线,求此曲线的极小值点,每次迭代就模拟一次并求出极小点。
通过等式1,2,3不断化简,最后极小点求得为:
在这里插入图片描述

基本步骤
基本步骤3
每次选完x后x左右两边的点就为下一次迭代的x1,x3;终止条件由中间的点x2和x* 的差的绝对值判定。

三次插值法

基本思想:用四个已知值(如两个点函数值及其导数值)构造一个三次多项式P3(x),用P3(x)的极小点近似目标函数的极小点x*; (非直接法)

三次插值法的收敛速度比二次插值法要快,达到2阶收敛速度。
利用函数在两点的函数值和导数值:
p(x) = A(x-x1)3+B(x-x1)2+C(x-x1)+D
推理过程
推理过程
根据极值的条件:

  • 一阶必要条件:一阶导为0;
    一阶必要条件
  • 二阶充分条件:二阶导>0
    二阶充分条件推理过程

最后迭代公式为:
迭代公式
满足(u-v+2w>0)

基本流程
基本流程

算法说明
优点:收敛速度快
缺点:计算复杂,计算量大,

一维方法总结

  1. 如目标函数能求二阶导数:用Newton法 收敛快
  2. 如目标函数能求一阶导数 :首先考虑用三次插值法,收敛较快;二分法、收敛速度慢,但可靠;二次插值法也可选择。
  3. 只需计算函数值的方法 :首先考虑用二次插值法, 收敛快黄金分割法收敛速度较慢,但可靠

非精确一维搜索

考虑非精确一维搜索方法的原因:
精确一维搜索的问题
保证目标函数在每次迭代有满意下降量的方法,就是非精确一维搜索方法或称为可接受一维搜索方法。

Armijo-Goldstein准则

原理
在这里插入图片描述
其中 0<ρ<1/2 目的是为保证目标函数有一个满意的下降量,必须避免步长太靠近区间的端点。

Armijo-Goldstein准则下可接受区间[b,c],其中的点称为可接受步长Armijo-Goldstein准则图例

基本步骤
前提

基本步骤12

基本步骤34
A-G 方法会出现的问题是:把最佳步长排除在可接受区间外面。

Wolfe-Powell准则

原理
W-P原理
图示WP

计算步骤
计算12

计算34

注意

(感觉非精确一维计算不会考 就算会考会算就行)


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/1001569
推荐阅读
相关标签
  

闽ICP备14008679号