工程优化第四章总结


本章介绍以无约束优化方法为例
无约束优化方法

  • 直接法:仅利用函数值的信息,寻找最优解不涉及导数,适用性强,但收敛速度慢
    在不可能求得目标函数的梯度或偏导数时使用直接法
  • 解析法(非直接法):利用函数的一阶或二阶导数的方法
    收敛速度快,需要计算梯度或者Hesse矩阵
    可求得目标函数的梯度时使用解析法

本章聚焦解析法
所谓最优性条件,是指最优化问题的最优解所要满足的必要条件或充分条件。

根据第二章的基础知识可以得出多元函数最优化性条件

  • 一阶必要条件 存在f : Rn => R ,若x* 为局部极小点,且邻域内连续可微,则∇f(x*)=0;即f对于x*的梯度为0
  • 二阶必要条件 存在f : Rn => R ,若x为局部极小点,且邻域内二次连续可微,则∇f(x)=0,∇2f(x*)为半正定矩阵
  • 二阶充分条件 存在f : Rn => R ,在邻域内二次连续可微,若∇f(x*)=0,且∇2f(x*)为正定矩阵,则x为严格局部极小点; 如果∇2f(x)为负定矩阵,则x*为严格局部极大点;
  • 凸优化的一阶条件(定理1) 存在f : Rn => R 是凸函数且在x处连续可微,则x为f的全局极小点的充要条件是∇f(x*)=0
  • 定理2 存在f : Rn => R 是严格凸函数且在x处连续可微,若∇f(x)=0,则x*为f的唯一全局极小点

本章使用线搜索方法
本章介绍选取梯度的下降方向


最速下降法

直接选择下降方向为负梯度方向,因为负梯度方向为函数值减少最快的方向。
公式表示为:
假设f连续可微,dk= -∇f(xk) f(xk + λkdk) = min f(xk + λdk) 其中λ>=0;步长λk可由第三章的精确一维搜索得到。
所以第k+1次的迭代点为xk+1=xkkdk=xkk∇f(xk)

最速下降法的迭代步骤
最速下降迭代
收敛性分析
收敛性定理:设目标函数 f (x)连续可微,且水平集L = {x| f(x)<=f(x0)}有界,则最速下降法或者在有限迭代步后终止;或者得到点列{xk},它的任何聚点都是f (x)的驻点。即,得到极小点。
推论:在收敛定理的假设下,若f (x)为凸函数,则最速下降法或在有限迭代步后达到最小点;或得到点列{xk},它的任何聚点都是 f (x)的全局最小点。

最速下降法的两个特征

  1. 相邻两次的迭代的方向相互垂直:最速下降法在两个相邻点之间的搜索方向是正交的,所以最速下降法向极小点逼近是曲折前进的,这种现象称为锯齿现象。
    导致极小点的收敛速度慢。刚开始迭代时收敛速度快,后越靠近极小点步长越小,移动越慢。
    实际运用中,在可行的计算时间内得不到需要的结果
  2. 对正定二次型函数,用最速下降法产生的点列:偶数项点列均在一条直线上,奇数项点列也均在一条直线上,且都过最优点。(画图会好理解一点)

最速下降法对于二次函数关于任意初点均收敛,而且是线性收敛的。

优缺点
优点:理论明确,程序简单,每次的计算量小,所需的存储量小,对初始点要求不严格。
缺点:收敛速度并不快,因为最速下降方向仅仅是指某点的一 个局部性质。 远快近慢

改进

  1. 选择不同初始点 (选择初始点困难)
    造成锯齿现象与初始点的选择有关,但怎样选一个初始点也是一件困难的事
  2. 采用不精确的一维搜索 (对于λ的选取没有统一标准,难以选择)
    采用非精确一维搜索求步长, 可使相邻两个迭代点处的梯度不正交,从而改变收敛性
  3. 采用加速梯度法 (Shah等人1964年提出的平行切线法)
    负梯度方向和 dk=xk-xk-2结合
    步骤:先执行两次最速下降法,然后第三次方向选择为 dk=xk-xk-2,然后在两次最速下降法,依次循环进行。(实际效果比单独用最速下降法好)

牛顿法

根据第三章精确一维搜索中提到的牛顿法推广到多维的情形。
一维newton和多维newton都有一定的方向和步长。(感觉)
Newton法
迭代步骤
迭代步骤
Newton法具有二次收敛性。
二次收敛性:从任意初始点出发,经有限次迭代总可以达到正定二次函数的极小点,这样的算法称为具有二次收敛性。

优缺点
优点:

  • 当初始点离最优解很近时,算法收敛速度快,局部二次收敛;
  • 算法简单,不需要进行一维搜索
  • 对正定二次函数,迭代一次就可得到最优解。

缺点:

  • 对多数算法不具有全局收敛性
  • 每次迭代都要计算Hesse矩阵,计算量大
  • 每次迭代都要计算
  • 可能收敛于鞍点或极大点

阻尼Newton法

改进
针对于缺点:(1)对多数算法不具有全局收敛性和(4)可能收敛于鞍点或极大点

解决方法
步长不取固定值1采用精确一维搜索(试探法,区间法,函数逼近法)

具体改进
方向还是dk=-(∇2f(xk))-1∇f(k),但是步长λ使用精确一维搜索 min f(xk + λdk) 每次迭代的函数一定有所下降
其中λ的求法为把xk+1带入到原函数f中,得出关于λ的一个函数,求它的极值点得出λ的值

迭代公式:xk+1 = xk + λdk

收敛性定理
f (x)存在连续二阶偏导数,函数的 Hesse矩阵∇2f(x)正定。且水平集L = { x|f(x) <=f(x0)}有界(即f函数在空间上有界),则阻尼Newton法或者在有限步迭代后终止;或者得到的无穷点列{xk}有如下性质

  1. {f(xk)}为严格单调下降序列;
  2. {xk}有唯一聚点 ,它是 f(x)的最小点。

特点

  • 可改善局部收敛性;
  • 当dk为函数上升方向时,可向其负方向搜索,但可能出现± dk均非下降方向的情况

Newton法的进一步修正
仍存在的缺陷:
(2) 每次迭代都要计算Hesse矩阵,计算量大
(3) (∇2f(x))-1可能不存在,即使存在,也未必正定,因而牛顿方向不一定是下降方向

Newton——Hesse相同法

针对第二点缺点,计算量大使每次m次迭代的使用同一个Hesse矩阵

迭代公式:
迭代公式,计算量减少
特点

  • 收敛速度随m的增大而下降
  • m=1时即Newton法, m→∞ 即线性收敛

Goldstein-Price方法(G-P法)

针对缺点(3)非正定和奇异的情况
方法:
G-P法
特点
在一定条件下, G-P法全局收敛
但当▽2f(xk) 非正定情况较多时,收敛速度降为接近线性

Levenberg-Marguardt法(L-M法)

主要思想
找到尽可能小的μ>0使▽2f(xk) + μkI正定(其中I为单位阵E)
用▽2f(xk) + μkI取代▽2f(xk)进行迭代

特点

  • 全局二阶收敛

共轭方向法

提出共轭方向法的原因:希望提出一个收敛速度快且计算简单的方法。收敛速度介于最速下降法和Newton法之间,对于正定二次函数只需要迭代有限次就可达到极小点。

在极值点附近,f(x)近似于一个二次函数,如果针对二次函数建立了一类有效的算法,那么这些算法对于非二次函数也将是有效的。

初始设定
根据一维精确搜索性质(其实是因为选的下降方向为最快方法所导致):

  • (▽f(x1))Td0=0

共轭方向法希望两次迭代后就找到极小点:

  • x* = x1 + λ1d1

在这里插入图片描述
根据(▽f(x1))Td0=0;
将上式两边同时左乘(d0)T得:
(d0)TAd1=0

因此如果想要两次迭代就得到极小点,d1需要满足:(d0)TAd1=0
我们称搜索方向d0和d1是A共轭的。 (其中d0是某个下降方向)

概念
概念
若A=I(单位阵),pTAq=pTq=0,则p与q是正交的。
共轭是正交的推广,共轭向量组是正交向量组的推广。

性质
性123
性质4
在下降迭代法中,若取下降方向是共轭方向,所得到的方法我们称为共轭方向法

二次收敛性(定义)
一个算法若能在有限步内求得正定二次函数的极小点,则称该算法具有二次收敛性(又称二次终止性)。

性质4可知,若能找到一组A共轭向量,以这组共轭向量为下降方向进行搜索,则在有限步可得到正定二次函数的极小点,即共轭方向法具有二次收敛性

问题:如何选取共轭方向?


共轭梯度法

共轭梯度法是生成共轭方向的一种方法,是共轭方向法的一种。
每一个共轭向量都是依赖于迭代点处的负梯度而
构造出来,所以称为共轭梯度法

生成过程
在正定二次函数的共轭方向生成
生成过程2
定理1
定理1
证明:可以使用归纳法证明。
注:为保证方向的共轭性,初始方向取负梯度方向。

存在问题
计算量、存储量都很大

能否将α中的A去掉

定理2
定理2
定理2公式
对于非二次函数,产生的搜索方向不再相同;若采用非精确搜索,可能导致方向上升;
公式(1)中含有Hesse矩阵,通常不用;

FR共轭梯度法简洁,用的最多,所以介绍一下FR共轭法

FR共轭梯度法
计算步骤

一般函数的共轭梯度法
一般函数共轭梯度
β公式与定理2中的α公式相同,通常也是使用FR公式

FR收敛性定理
收敛性定理
共轭梯度法的特点

  • 计算公式简单,不用求Hesse矩阵或者逆矩阵,计算量小,存储量小,每步迭代只需存储若干向量,适用于大规模问题;
  • 具有二次收敛性;对于正定二次函数,至多n次迭代可达最优解)
  • Crowder和Wolfe证明,共轭梯度法的收敛速率不坏于最速下降法。如果初始方向不用负梯度方向,则其收敛速率是线性收敛的;
  • 共轭梯度法是目前求解无约束优化问题最常用的方法之一
  • 不同的αk公式对于正定的二次函数是等价的,对非正定二次函数,有不同的效果,经验上PPR效果更好

变迟度法——DFP法和BFGS法

基本思想:Newton法利用了Hesse矩阵提供的曲率信息使收敛速度快,但是计算Hesse矩阵工作量大,且有些目标函数的Hesse矩阵很难计算,就引出了使用目标函数的一阶导数去近似曲率的方法。不需要明显形成Hesse矩阵,但是收敛速度还快。(拟Newton法)

为减少计算量,用一个n阶对称正定矩阵Hk近似代替Hesse矩阵的逆(∇2f(xk))-1,Hk≈(∇2f(xk))-1,所以pk=-Hkgk,由此搜索方向产生的方法称为变尺度法,Hk称为尺度矩阵,这是一种拟Newton法.

计算步骤
计算步骤
其中∆Hk 称为修正矩阵。
修正矩阵选取的不同,对应着不同的变尺度法。

构造Hk的原则

  1. 拟Newton性质——(直接看PPT会更好一点)
    f(x)是二次正定函数,∆gk = gk+1 - gk, ∆xk = xk+1 - xk,
    ①∇f(x)=∇f(xk+1)+∇2f(xk+1)(x-xk+1),令x=xk
    ②∆gk= ∇2f(xk+1)∆xk (括号中的符合变了)
    ③∆xk=∇2f(xk+1)-1∆gk
    令Hk=∇2f(xk)-1;A=∇2f(xk+1);
    ④∆xk=Hk+1∆gk;∆xk=A-1∆gk
  2. 二次收敛性
    f(x)是正定二次函数,其中A为二次系数矩阵,A对称正定。
    把算法用于正定二次函数时,至多n次达到极小点。
    构造的搜索方向 p1, p2, …, pn是一组A 共轭向量且Hn+1=A-1
  3. 稳定性
    一个算法若不计算过程的舍入误差,在迭代的每一步都能选择步长使函数单调下降,则称此算法是稳定的。

Hk的构造的要求
求Hk满足拟Newton方程、是对称正定矩阵,并且针对正定二次函数,pk=-Hkgk ( =1,2,…, ) 是一组共轭方向组。

Hk的构造策略

  1. H1取为任意一个n阶对称正定矩阵,通常选取为n阶单位矩阵 I
  2. 然后通过修正Hk ,给出 Hk+1,令Hk+1=Hk+△Hk

对称秩1校正

(不知道考不考)
构造策略

  1. H1取为任意一个n阶对称正定矩阵,通常选取为n阶单位矩阵 I
  2. 然后通过修正Hk ,给出 Hk+1,令Hk+1=Hk+△Hk

其中△Hk称为校正矩阵,确定△Hk的方法为△HkkZ(k)Z(k)T
αk是一个常数,Z(k)是n维列向量。

Z(k)的选取
Z的选择
Hk+1的迭代公式
迭代公式
注意:上下就算有相同的式子也不能化简

回到变尺度法的计算步骤进行迭代计算去极小点。

DFP变尺度法

(不知道考不考)
构造策略
构造策略DFP
DFP公式
构造方法
DFP算法的计算步骤
DFP计算步骤
步骤7
定理1
若gi≠0,i=1,2,…,n , 则DFP方法构造的矩阵Hi (i=1,2,…,n) 为对称正定矩阵。

定理2
若目标函数是正定二次函数,则DFP算法经过有限步迭代,必达到极小点,即具有二次收敛性。

定理3
定理3
优点

  • DFP算法对n元正定二次函数,当初始矩阵取单位矩阵时,由DFP算法产生的方向p1,p2,…,pn是关于其Hesse矩阵∇2f(x) 共轭的方向,因此,DFP算法最多n次就可得到正定二次函数的极小点,即DFP算法具有二次收敛性。DFP算法实质上是一种共轭方向法;
  • 若 f (x)是可微的严格凸函数,则DFP算法全局收敛;
  • 对非二次函数,DFP算法的效果也很好,它比最速下降法和共轭梯度法要有效的多,收敛速度是超线性的。

缺点

  • DFP算法的计算量、存储量要比共轭梯度法大,因此,对大规模的优化问题,用共轭梯度法更方便;
  • 实际运算中,由于舍入误差的存在以及一维搜索的不精确,算法的稳定性受到影响,从而使得DFP算法的效率受到很大的影响,但BFGS算法受到的影响要小得多。

BFGS算法

(大概率不考)
描述1
描述2


信赖域方法

(感觉最多出小题)
最初设计思想来自:至Levenberg和Marquart对Gauss-Newton法的修正

线搜索方法是把一个复杂的最优化问题转化成一系列简单的一维寻优问题
信赖域方法是把最优化问题转化为一系列相对简单的局部寻优问题。

基本思想

  1. 在每次迭代中给出一个信赖域,这个信赖域一般是当前迭代点 xk 的一个小邻域。
  2. 然后在这个邻域内求解一个子问题,得到 sk
  3. 接着用某一评价函数来决定是否接受该 sk 以及确定下一次迭代的信赖域
  4. 如果试探步长被接受,则xk+1=xk+sk,信赖与扩大或者不变;否则xk+1=xk,信赖域变小。转入第2步;

信赖域方法模型子问题(Taylor展开)
信赖域求解
特点

  • 这种方法既具有牛顿法的快速局部收敛性,又具有理想的全局收敛性
  • 不要求目标函数的Hesse阵是正定的
  • 利用了二次模型来求修正步长,使得目标函数的下降比线性搜索方法更有效。
  • 由于步长受到使Taylor展开式有效的信赖域的限制,故方法又称为有限步长法。

信赖域半径的选择
信赖域半径选择
注解

信赖域算法
迭代步骤1
迭代步骤2
其中参数建议取:η1=0.01,η2=0.75,γ1=0.5,γ2=2,△0=1

信赖域子问题

信赖域半径

折线法

基本思想
如果令信赖域的半径 ∆k 在区间 (0,+∞) 内连续变化,则问题(1)的解 sk 在空间 Rn 中形成一条光滑的连续曲线,记为 γop(k)。此时,问题(1)等价于在信赖域内并且在最优曲线γop(k) 上确定一点使二次函数 qk(s)取极小,即
qk(x)
由于最优曲线的确定需要计算矩阵 Gk的所有特征值和特征向量,相当费时。

  1. 求解(2)的一个突出特点在于:近似折线 γ(k)一经确定,对于给定的 ∆k , 无需再解任何线性方程组,即能相当有效地确定问题(1)的近似解
  2. 构造近似最优曲线 γop(k) 的折线时, 一般应满足:当点 x 从 xk 出发沿着折线前进时:
    性质1: 点 x 到 xk 的距离单调增加;(确保对任意给定的 ∆k , 折线上的近似解惟一。)
    性质2: 函数值 qk(s)严格单调下降;(确保在折线上所确定的近似解 sk 能满足收敛性
    定理的条件。)

针对二次函数qk(s)从当前迭代点xk出发,

  • Cauchy点:由最速下降法迭代一步产生的点,记为C.P.
  • Newton点:由牛顿法迭代一步产生的点,记为xk+1N
    迭代点

双折线法

基本思想
让信赖域迭代中产生的点偏向牛顿方向,于是把Cauchy点和牛顿方向上的N点(Newton点)连接起来,并将这条连线与信赖域边界的交点取为 xk+1.
xk->C.P.->N
->xk+1N称为双折线。
xk->C.P.->xk+1N称为单折线(信赖域迭代中产生的点偏向牛顿方向,会改善算法的性态)
迭代点选取

(这一章感觉东西是真的多,感觉好难啊! 梳理一遍人都麻了。感觉有些地方都没看懂,只能跟着老师的PPT大致看一遍。希望不会的不考)

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值