现代设计方法与应用第六章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
f(x)
O a
x1
x2
x
x3
b
图 黄金分割法示意图
6.3 黄金分割法(续)
b:= x2;x2:= x1
x1:=a+0.382(b-a) f2:= f1;f1:=f(x1)
a:= x1;x1:= x2
x2:=a+0.618(b-a) f1:= f2;f2:=f(x2)
N
Y
f1≦f2?
开始
设定a,b和ε
(3)如果f1< f2如图6-3(c)所示,则将单峰区间缩短为[a x2]。
6.2 确定单峰区间的方法——进退法
进退法是一种通过比较函数值大小来确定单峰区间的方法, 由单峰函数的性质可知,极小点左侧函数值严格下降,右侧 严格上升。
f(x) 前进
f(x) 后退
O x0 x0+h
(a)
x x0+3h
O x0-h
f(x)
f(x)
f(x)
f1 f2
f1
f2
f2 f1
O a x1
x2 (a)
x b
O a x1
x2 b
xO a
(b)
x1 (c)
x x2 b
图 区间消去法示意图
(1)如果f1> f2如图6-3(a)所示,则将单峰区间缩短为[x1 b];
(2)如果f1= f2如图6-3(b)所示,则将单峰区间缩短为[x1 x2];
6.4 二次插值法(续)
STEP 4.1 若xp* >x 2, f2>f(xp*),则x1= x2, x2= xp*, x3= x3, 然后 转向STEP 3;
STEP 4.2 若xp* <x 2, f2>f(xp*),则x1= x1, x2= xp*, x3= x2, 然后 转向STEP 3;
STEP 4.3 若xp* >x 2, f2=f(xp*),则x1= x2, x3= xp*, x2= 0.5( x1+x 3), 然后转向STEP 3;
min q( ) min f ( X (k) (k)S (k) )

f(X)
f(X(k))
S(k)所在平面
minf(X(k)+α(k) S(k))
O
X1
X2
S(k) X(k)
X(k+1)= X(k)+α(k) S(k)
图 二维问题转化一维问题时的几何关系
6.1 一维搜索的基本思想(续)
一维搜索分为两个步骤:首先确定搜索区间,然后在基础 上搜索最小点。
f(x)
f(x)
O
x
O
x
a
x*
b
a
x*
b
(a)
图 单峰函数与单峰区间 (b)
b(k) a(k)
x* b(k ) a(k) 2
6.1 一维搜索的基本思想(续)
消去法的过程为:在区间中任取两点,计算和比较它们函 数值的大小,消去大函数值一边的区间,剩下的区间中一 定包含极小点。
x1:=x0; x2:=x0+h f1:=f(x1); f2:=f(x2)
f1> f2? Y
N
N
h :=2h; x1:=x0+h;x2:=x0+3h f1:=f(x1); f2:=f(x2)
f1= f2?
N
f1> f2? Y
Y
h :=2h;
x1:=x2; x2:=x1+h
f1:=f(x1); f2:=f(x2)
图 进退示意图
x0
x0+h
(b)
x x0+3h
6.2 确定单峰区间的方法——进退法(续)
开始
设定x0和h
h :=-h; x1:=x0-h;x2:=x0 f1:=f(x1); f2:=f(x2)
f1<f2?
N
Y
h :=2h; x1:=x2-h; x2:=x1 f1:=f(x1); f2:=f(x2)
6.4 二次插值法(续)
6.4 二次插值法(续)
二次函数插值法算法描述如下:
STEP 1 给定单峰区间[x1 x3]和收敛精度ε,并设定x2=0.5( x 1+x3),进行算法初始化操作,使得f(x1)> f(x2)< f(x3);
STEP 2 构造过x1、x2、x3构造二次曲线p(x),并按公式6-7 计算二次曲线极小值xp*;
■ 目的 :了解一维搜索的基本思想和步骤,掌握进退 法、黄金分割法和二次插值法的处理方法,能够通 过Matlab环境实现一维搜索方法的处理。
6.1 一维搜索的基本思想
优化问题涉及从当前点X(k)沿着S(k)方向,寻找最优步 长因子α(k),使本次搜索达到最小值,即f(X(k+1))< f(X (k))。上述问题可描述成以下优化问题:
第六章 一维搜索方法
1 一维搜索的基本思想 2 确定单峰区间的方法——进退法 3 黄金分割法 4 二次插值法
5 一维搜索方法的Matlab程序及实例
■ 内容 :本章对一维搜索的基本思想和主要处理步骤 进行论述,将介绍一维搜索的典型方法。首先介绍 如何通过进退法实现单峰区间的确定,然后讨论了 黄金分割法和二次插值法求极值点的算法描述及程 序框图,最后通过三个实例说明了一维搜索方法的 Matlab实现。
Y f1<f2?
N
输出x1和x2
N f1> f2? Y
结束
图 进退法程序框图
6.3 黄金分割法
黄金分割法又称为0.618法,它通过不断缩短区间长度来寻求 一维函数f(x)的极小点。其基本思想是在已确定的单峰区 间中,适当插入两点,利用区间消去法,寻求极小点。 选点一般遵循以下原则:
(1)等比收缩原则,区间每一次的缩短率不变; (2)对称取点原则,所插入两点在区间中位置对称。
STEP 3判断二次函数插入法是否满足精度要求: 若‫ ׀‬x2- xp*‫<׀‬ε,则将x2和xp*代入f(x)中,并输出函数值较小 的点的坐标及对应函数值,并停止求解;
若不满足精度要求,则转向STEP 4; STEP 4 由图6-7所示的x2和xp*的相对位置和函数值f2和f(xp *)大小6种情况,缩短单峰区间:
STEP 4.4 若xp* <x 2, f2=f(xp*),则x1= xp*, x3= x2, x2= 0.5( x1+x 3), 然后转向STEP 3;
x1:=a+(1-0.618)(b-a) x2:=a+0.618(b-a) f1:= f (x1);f2:= f (x2)
N
x2- x1 <ε
Y
x*:=( x1+ x2)/2
输出x*和f (x*)
Biblioteka Baidu
结束
图 黄金分割法程序框图
6.4 二次插值法
二次插值法又叫做近似抛物线法,属于利用拉格朗日多项式逼 近的近似法。其基本思想是利用目标函数在不同三点的函数值, 构成一个与原函数f(x)相近似的二次多项式 p(x),以函数p(x)的极 值xp*作为目标函数f(x)的近似极值点。经过多次迭代,逐步缩短 区间,直至满足计算精度,最终逼近函数f(x)的极值点
相关文档
最新文档