机械优化设计之无约束优化方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械优化设计
方法特点
1)初始点可任选,每次迭代计算量小,存储量少 ,程序简短。即使从一个不好的初始点出发,开 始的几步迭代,目标函数值下降很快,然后慢慢 逼近局部极小点;
2)任意相邻两点的搜索方向是正交的,它的迭代 路径为绕道逼近极小点。当迭代点接近极小点时 ,步长变得很小,越走越慢。
机械优化设计
(1)只利用目标函数值的无约束优化方法(或称直接法, 即不使用导数信息),如:坐标轮换法、单形替换法及鲍威 (Powell)法。
直接法不必求函数导数,只计算目标函数值。适用于求 解变量个数较少(小于20)的问题,一般情况下效率较低。
(2)利用目标函数的一阶或二阶导数的无约束优化方法( 或称间接法)如:最速下降法(梯度法)、共轭梯度法、 牛顿法及变尺度法;
机械优化设计
第四章 无约束优化方法
一、概述 二、最速下降法(梯度法) 三、牛顿型方法(牛顿法和阻尼牛顿法) 四、共轭方向和共轭方向法 五、共轭梯度法 六、变尺度法 七、坐标轮换法
机械优化设计
实际中的工程问题大都是在一定限制条件下追 求某一指标为最小,属于约束优化问题。
为什么要研究无约束优化问题?
1)有些实际问题,其数学模型本身就是一个无约束问题; 2)通过熟悉它的解法可以为研究约束优化问题打下良好的 基础; 3)约束优化问题的求解可用通过一系列无约束优化方法来 达到。
d 0进行搜索,确定最佳步长0使函数值沿d 0 下降
最大。依此方式不断进行,形成迭代的下降算法:
X k1 X k k d k (k 0,1, 2 )
机械优化设计 3、算法框图
机械优化设计
4、无约束优化方法的分类
搜索方向的构成问题是无约束优化方法的关键。
根据确定其搜索方向 d k 方法不同,可分为:
2 40
2
100
0
0 为一维搜索最佳步长,应满足极值必要条件
f
X1
min
f
X
0
f
X0
min
(2 4 )2 25(2 100 )2
min
0 8(2 40 ) 5000(2 1000 ) 0
0
626 31252
0.02003072
机械优化设计
则第一次迭代设计点位置和函数值
机械优化设计 3、最速下降法收敛速度的估计式
X k 1 X
m2
1
M
2
Xk X
M —— f x的海赛矩阵最大特征值上界
m —— f x的海赛矩阵最小特征值下界
X k 1 X
1
22 502
Xk X
624 625
Xk X
Y k1 Y
1
22 22
Yk
Y
0
机械优化设计
最 速 下 降 法 的 程 序 框 图
机械优化设计
例:求目标函数 f X x12 25x22 的极小点
解法1:取初始点 X 0 2, 2T ,则初始点处的函数值
及梯度分别为:
f X 0 104
f
X0
2x1 50x2
4 100
X 1 X 0 0f
X0
2 2
0
4 100
数值在该点附近的范围内下降最快。
X k1 X k kf X k (k 0,1, 2 )
机械优化设计 2、最速下降法的原理
(1)使 d f X ,按此规律不断走步,形成迭代算法:
X k1 X k kf X k (k 0,1, 2 )
(2)其步长因子 k 取一维搜索的最佳步长,即
否则置 k k 1 返回到2),继续进行搜索。
机械优化设计
(3)阻尼牛顿法的 程序框图
机械优化设计
方法特点:
1)初始点应选在极小点附近,有一定难度; 2)尽管每次迭代都不会是函数上升,但不能保证每次 都下降; 3)若迭代点的海赛矩阵为奇异,则无法求逆矩阵,不 能构造牛顿法方向; 4)不仅要计算梯度,还要求海赛矩阵及其逆矩阵,计 算量和存储量大。此外对于二阶不可微函数也不适用。
X k1 0 即 f X k 2 f X k X k1 X k 0
X k1 X k 2 f
Xk
1
f
Xk
(k 0,1, 2 )
---多元函数求极值的 牛顿法迭代公式。
2 f X k —— 海赛矩阵
对于二次函数,海赛矩阵是常矩阵,故从任何点出发,只需一步可找 到极小点。
机械优化设计
首先考虑二维情况,如果按最速下降法,选择负梯度方 向为搜索方向,会产生锯齿现象。
为避免锯齿的发生,取下一次的迭代搜索方向直接指向 极小点,如果选定这样的搜索方向,对于二元二次函数只 需进行两次直线搜索就可以求到极小点。
x1 x0 a0d 0
f f x1 T d 0 0
d x1
法中,相邻两个迭代点上 的函数梯度相互垂直。而 搜索方向就是负梯度方向 ,因此相邻两个搜索方向 互相垂直。这就是说在迭 代点向函数极小点靠近的 过程,走的是曲折的路线 ,形成“之”字形的锯齿现 象,而且越接近极小点锯 齿越细。
最速下降法的搜索路径
函数梯度为局部性质,因此并非“最快”。
机械优化设计 梯度法的迭代历程
1
X0
2 2
2 0
0 1
4
100
50
0 0
从而经过一次迭代即求得极小点和函数极小值。
机械优化设计
2、阻尼牛顿法
在牛顿法中,迭代点的位置是按照极值条件确定,并未 含有沿下降方向搜寻的概念,因此采用牛顿迭代公式,对 于非二次函数,有时会使函数值上升。
(1)阻尼牛顿法的迭代公式
把 d k 2 f X k 1 f X k 看作一个搜索方向,
X
1
2 40 2 1000
1.919877 0.3071785 102
f X 1 3.686164
经过10次迭代后,得到最优解:
X 0, 0T f X 0
该问题的目标函数的等值线为一族椭圆,迭代 点走的是一段锯齿形路线。
机械优化设计
解法2:引入变化
y1 x1 y2 5x2
虽然阻尼牛顿法有上述缺点,但在特定条件下它具有收 敛最快的优点,可为其他算法提供思路和理论依据。
机械优化设计 梯度法与牛顿法的比较
一般迭代式 :
X k1 X k k d k (k 0,1, 2 )
梯度法: X k1 X k kf X k (k 0,1, 2 )
牛顿法:
X k1 X k 2 f
当x1 x*时,1 0
等式两边同左乘
d0
T
得
:
d 0 T Gd1 0
结论: d 0和 d1称为对G的共轭方向。 两个向量 d 0,d1 对 G 是共轭向量。
机械优化设计 (三)共轭方向法 1、共轭方向法的步骤
(1)选定初始点 X 0 ,下降方向 d 0和收敛精度,置 k 0
G共轭,或称他们是G的共轭方向。
当G为单位矩阵时, (d 0 )T d1 0 共轭Biblioteka Baidu向的概念是在研究二次函数 f X 1 X TGX bT X c
2
当 G为对称正定矩阵时引出的使搜索方向直指极小点。
为了克服最速下降法的锯齿现象,提高收敛速度,发展了 一类共轭方向法。搜索方向是共轭方向。即将相邻两次搜 索方向由正交变为共轭。
机械优化设计
例: 用牛顿法求 f x1, x2 x12 25x22 的极小值
解:取初始点 X 0 2, 2T ,则
f
X0
2x1
50
x2
X
0
4 100
2 f
X0
2 0
0 50
2
X1
f
1
X0
1
2 0
X 0 2 f X
0
0
1
50
1 f
代入牛顿法迭代公式可得:
称其为牛顿方向,则阻尼牛顿法的迭代公式为:
X k1 X k k d k X k k 2 f X k 1 f X k (k 0,1, 2 )
k ——阻尼因子,即沿牛顿方向进行一维搜索的最佳步长,
可通过如下极小化过程求得:
f
X k1 f
X k kdk
min f
X k dk
X 0, 0T f X 0
机械优化设计 不同等值线的迭代过程
机械优化设计
讨论
f
x1,
x2
x12
25x22
1 2
x1
y1,
y2
y12
y22
1 2
y1
x2
2 0
y2
2 0
0 x1
50
x2
0 y1
2
y2
可以看出二者的对角形矩阵不同,前者的
等值线为一族椭圆,后者的等值线为一族同 心圆,这说明对角形矩阵是表示度量的矩阵 或者是表示尺度的矩阵,最速下降法的收敛 速度和变量的尺度有很大关系。
如果能选定这样的方向,则只 需两步搜索得到极小点,即
x* x1 a1d1
机械优化设计
d1 应满足什么条件?
对于二次函数 f x 在 x* 处取得极小点的必要条件
f X 1 X TGX bT X c f x* Gx* b 0 2
f x* G x1 a1d1 b Gx1 b a1Gd1 f x1 a1Gd1 0
梯度法的特点:
(1)理论明确,程序简单,对初始点要求不严格;
(2)对一般函数而言,梯度法的收敛速度并不快, 因为最速下降法仅仅是指某点的一个局部性质;
(3)梯度法相邻两次搜索方向的正交性决定了迭代 全过程的搜索路径呈锯齿形,在远离极小点时逼近速 度较快,而在接近极小点时逼近速度较慢;
(4)梯度法的收敛速度与目标函数的性质密切相关 。对于等值线(面)为同心圆(球)的目标函数,一 次搜索即可达到极小点。
机械优化设计 (2)阻尼牛顿法的计算步骤
1)给定初始点 X 0,收敛精度 ,置 k 0
2)计算 f X k 、2 f X k 、2 f X k 1
d k 2 f
Xk
1
f
Xk
3)求 X k1 X k k d k
4)检查收敛精度。若 X k1 X k ,则 X X k,1 停机;
机械优化设计
三、牛顿型方法
基本思想:在 xk 领域内用一个二次函数(x)来近似
代替原目标函数,并将 (x)的极小值作为目标函数 f (x) 求优的下一个迭代点 xk1 。经多次迭代,使之逼近目标
函数 f (x) 的极小点。
xk 1
xk
f f
' (xk '' (xk
) )
(k
0,1,2,
)
机械优化设计
Xk
1
f
Xk
(k 0,1, 2 )
阻尼牛顿法
:
X k1 X k k d k X k k 2 f
Xk
1
f
Xk
(k 0,1, 2 )
机械优化设计
四、共轭方向和共轭方向法
(一)共轭方向的概念 设G为nxn阶实对称正定矩阵,如果有两个n维向量 d 0
和 d1 满足 d 0 T Gd1 0 ,则称向量 d 0 与 d1 关于矩阵
所以无约束优化问题的解法是优化设计方法的基本 组成部分,也是优化方法的基础。
机械优化设计
一、概述
1、无约束优化问题
求n维设计变量 X x1, x使2,目x标n T函数
f X min ,而对 X 没有任何限制条件。
2、求解方法 (1)利用极值条件来确定极值点的位置。 (2)数值计算方法——搜索方法 基本思想:从给定的初始点 x0出发,沿某一搜索方向
,则目标函数
f
x1, x2
变为
y1, y2 y12 y22
Y0
104
Y0
2 y1
2
y2
Y
0
4 20
Y1 Y 0 0
Y0
2 10
0
4 20
2 10
40 20
0
0
26 52
0.5
Y1
2 40 10 20,00
0 0
Y1 0
经过坐标(尺度)变化后,只需要经过一次迭代,就可找到 最优解:
f
xk 1
f xk akf
xk
min
f
xk akf
xk
min
根据一元函数极值的必要条件和多元复合函数求导公
式,得
T
f X k kf X k f X K 0
f xk1 T f xk 0 或 d k1 T d k 0
机械优化设计
由此可知,在最速下降
1、牛顿法
对于多元函数 f X ,设 X k 为 f X 极小点 X 的第一
个近似点, f X 泰勒展开,保留到二次项,得:
f
x x
f xk f
xk
T
x
xk
1
x
xk
T
2
f
xk
x
xk
2
设 X k1 为 X 的极小点,它作为 f X 极小点 X
的下一个近似点,根据极值必要条件:
间接法除了要计算目标函数值外,还要计算目标函数的 梯度,有的还要计算其海赛矩阵;
机械优化设计
二、最速下降法(梯度法)
1、基本思想
函数的负梯度方向是函数值在该点下降最快的方向。 将n维问题转化为一系列沿负梯度方向用一维搜索方法寻 优的问题,即利用负梯度作为搜索方向,故称为最速下降 法或梯度法。
搜索方向取该点的负梯度方向即 d f X ,使函