第3章 一维优化方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题1:λ=?
5 1 0.618 2
L1 0.618 L0
L0
L2 0.382 L0 0.382 L0
问题2: 如何取点? 取点规则:
x1 a 0.382(b a) x2 a 0.618(b a)
第一次区间缩短:
x1 a 0.382(b a) x2 a 0.618(b a) x2 x1 x1 a 0.382(b a)
min f ( )




o
X ( k 1)
X*
S (k )
min f ( x )
x1
这种在给定方向上确定最优步长的过程,称一维优化。 n维问题 一系列一维优化问题
2
概 述
F ( x)
f ( )
f ( )

X*
x2
*
x1
o
O
*

3
3.1 搜索区间的确定
由于f(x)的复杂性, x*位置?
出口
11

例题3.2 用格点法求一维目标函数f(x)=4x2-12x+10的最优解。给 定搜索区间[a,b]为[1,2.2],迭代精度ε=0.2,内分点数n=4。 解:计算区间端点的函数值 f(a)=2,f(b)=2.96 按式(3.2)确定四个内分点之位置,并计算其函数值,计算结果如列
区间缩短 次数 xk 1.24 1.48 1.72 1.96 1.336 1.432 1.528 1.624 yk 1.2704 1.0016 1.1936 1.8464 1.107584 1.018496 1.003136 1.061504 xm a b b-a
y1
a0
a1
y2
y1
y2
x1
x1
x2
x2
b1 b2
b0
a2
18
各次缩短区间的计算数据见表,第六次区间缩短的端点a(6)=2.750917, b(6)=3.085305,b(6)-a(6)=0.334388<ε,满足精度要求,终止计算。 取最优解为: 1 (6) (6) * x (a b ) 2.91811, f * f ( x* ) 0.00670 2
h h0
y1 f ( x1 ) x2 x1 h0 y2 f ( x2 )

y2 y1 ?
+
h h0 xtemp x1 , ftemp y1 , x1 x2 y1 y2 x2 xtemp y2 ftemp
h h0
+
h 0?

a x3
h 2h
置换点号
x1 x2 , y1 y2 x2 x3, y2 y3
5
3.1 搜索区间的确定
y2 y1,
比较y1、y2之的大小 前进 后退
f ( x)
y2 y1,
三、后退搜索
置换点号
h - h0
x1 x2, y1 y2 x2 x1, y2 y1
o
x3
x1 x2 x2 x1
机械优化设计
第三章
一维优化方法
3.1 搜索区间的确定 进退法 3.2一维搜索的最优化方法 3.2.1 格点法 3.2.2 黄金分割法 3.2.3 二次插值法
1
概 述
基本迭代公式:
x2
X (k )
X ( k 1) = X ( k ) + ( k ) S ( k )
待求 已知
(k )
min F X ( k 1) = min F X ( k ) + ( k ) S ( k )
y1
a0
a1 x1
y 2 y1
x1
x2
y2
x2
b1 b2
b0
a2
16
入口
给定a、b、ε
黄金分割法算法流程图
x1 a 0.382(b a)
y1 f ( x1 )
x2 a 0.618(b a) y2 f ( x2 )

y1 y2 ?
+
a x1 x1 x2 y1 y2 x2 a 0.618(b a ) y2 f ( x 2 )
19
小结
一维优化方法 直接法:格点法、黄金分割法 间接法:二次插值法、三次插值法
直接法: 直接利用原函数f(x)的信息来决定区间的缩短 间接法:利用原函数f(x)的信息构造一简单函数来近似代替
原函数f(x) ,求得p(x)的极小点,用p(x)的极小点 所对应的原函数f(x)的信息来决定区间的缩短
第1次
1.48
1.24
1.72
0.48
第2次
1.528
1.432
1.624
0.192
(1) 其中最小函数值为 ym y2 1.0016
(1) 对应的点为 xm x2 1.48
新区间的端点为:a(1)=xm-1=1.24,b(1)=xm+1=1.72 新区间的长度为:b(1)-a(1)=0.48>ε,不满足精度要求。
y1
L1 0.618 L0
y 2 y1 x1
y2

第二次区间缩短:
L 0.382L0 2 0.618 L1 0.618L0
a0
a1 x1
a2
x2 b1
b2
b0
x2
15
3.2.2 黄金分割法(0.618法)
终止准则: b(k) a(k)
(k ) (k ) a b x* 2 f * f ( x*)
k 1, max f (a)
xa ba k n 1 y f ( x)
y max ?
+
max y, xm x

k k 1

k n?
+
ba n 1 ba b xm n 1 a xm

ba ?
+
x* xm
f * f ( xm )
111122133pxfpxfpxf作插值函数px2pxxaxbc???211112222223333pxxxfpxxxabcabcabcfpxxxf?????????????????解方程组得待定系数abcpxpxpf求px的极小点xp与x2比较区间缩短1x?3x2x?23323二次插值法一二次插值函数的构成2pxxaxbc???211112222223333pxxxfpxxxabcabcabcfpxxxf?????????????????解方程组得待定系数abc231312123122331xxfxxfxxfxaxxxxx??????????222323212122123122331xxfxxfxxbfxxxxxx?????????322311313221123122331xxxxfxxxxfxxxcxfxxxxxx?????????24323二次插值法一二次插值函数的构成222323212122123231312123p1?22bxxfxxfxxfaxxfxxxfxxf?????????????3113121211223ffcxxffxxccxx???????????????令1132p12cxxcx?????????px20xab???令25323二次插值法一二次插值函数的构成二区间的缩短26p2
解:按流程图3.4,计算过程如下:
由于y2<y1,作前进搜索
h 2h 2 x3 x2 h 3, y3 f (x3 ) 0
比较y2、y3,有y2>y3,再作前进搜索
x1 x2 1, y1 y2 4 x2 x3 3, y2 y3 0 h 2h, x3 x2 h 7, y3 f ( x3 ) 16
y2
y1 y2 y1 y2
黄金一样宝贵: 设法使原来的另一个内分点得 到利用,下次只增补一个内点, 每次区间缩短率λ相同
1
b1 a1 b0 a0
x2 b1
b2
b0
b a b a
2 2 2 1 1
14
3.2.2 黄金分割法(0.618法)
x m 1 x m x m 1
a
区间缩短率: λ= 新区间长度
b
新区间
a , b x m 1 ,
x m 1
x m 1 x m 1
yes : x * x m ? no : 再分格点
2 n 1 老区间长度
10
格点法算法流程图
入口
给定a、b、ε
区间缩 短次数 原区间 1 2 3 4 5 6
a
1 1 2.416456 2.416456 2.416456 2.750917 2.750917
b
7 4.708 4.708 3.832630 3.292 3.292 3.085305
x1
3.292 2.416456 3.292 2.957434 2.750917 2.957434 2.878651
xk a ba k n 1
f ( x)
新区间
x1,x2,…,xn
k 1,2,..., n
o a x1 x 2
y m 1
ym
y m 1 xn b
x
计算 找出
x1, x2 , ..., xn y1, y2 , ..., yn
ymin min yk , k 1,2,..., n
x
h 2h x3 x2 h, y3 f ( x3 )
比较y2、y3之的大小:
y2 y3, y2 y3,
x3 (a, b)确定 继续后退
x2
x1 b
a
x1 x2 , y1 y2 x2 x3 , y2 y3
6
置换点号
入口
给定 x1、h0
进退法算法流程图
8
例题3.1

试用进退法确定函数f(x)=x2-6x+9的一维优化搜索区间[a,b]。设 初始点x1=0,初始步长h0=1。 再比较y2、y3,有y2<y3,区间可以确定
解:
a x1 , b x3
9
3.2 一维搜索的最优化方法 3.2.1 格点法
在区间[a,b]的内部取n个内 等分点: 区间[a,b]被分成(n+1)等分, 各分点的坐标为:
比较y1、y2之的大小
f ( x)
y2 y1, y2 y1,
前进 后退
x1 o x2
x1 a
二、前进搜索
h h0 h 2h x3 x2 h, y3 f ( x3 ) y2 y3, 比较y2、y3之的大小: y2 y3,
x3 x2
x
x3
b
(a, b) 确定 继续前进
x3 x 2 h y3 f ( x3 )
a x1 b x3
b x1
+
y2 y3 ?
出口
7

例题3.1

试用进退法确定函数f(x)=x2-6x+9的一维优化搜索区间[a,b]。设 初始点x1=0,初始步长h0=1。
x1 0, y1 f (x1) 9 h0 1 x2 x1 h0 1, y2 f (x2 ) 4
12
例题3.2

用格点法求一维目标函数f(x)=4x2-12x+10的最优解。给定搜索区 间[a,b]为[1,2.2],迭代精度ε=0.2,内分点数n=4。
区间缩短 次数 xk 1.24 1.48 1.72 1.96 1.336 1.432 1.528 1.624 yk 1.2704 1.0016 1.1936 1.8464 1.107584 1.018496 1.003136 1.061504 xm a b b-a
解:第一次区间缩短: 计算两内点及对应函数值: x1=a+0.382(b-a)=3.292,y1=f(x1)=0.085264 x2=a+0.618(b-a)=4.708,y2=f(x2)=2.917264 作函数值比较,可见y1<y2, 区间缩短: a = a, b← x2 用终止准则判断: b-a=4.708-1=3.708>ε 第二次区间缩短: 置换: x2←x1=3.292,y2←y1=0.085 264 增补: x1=a(1)+0.382(b(1)-a(1))=2.416456, y1=f(x1)=0.340524
13
3.2.2 黄金分割法
目标函数f(x),给定初始搜索 区间[a,b],收敛精度为ε 在[a,b]内取两个内分点x1<x2 且在区间内对称分布
y1 f ( x1), y2 f ( x2 )
比较y1、y2
问题1:λ=? 问题2: 如何取点?
y1
a0
a1 x1
a2
y21 y x1 x2
第1次
1.48
1.24
1.72
0.48
第2次
1.528
1.432
1.624
0.192
再作第二次区间缩短后,得到区间端点为 a(2)=1.432,b(2)=1.624 新区间长度b(2)-a(2)=0.192<ε,满足迭代精度。 (2) 最优解为 x* xm 1.528
(2) y* ym 1.003136
b x2 x2 x1 y2 y1 x1 a 0.382(b a ) y1 f ( x1 )
+
ba ?

x * 0.5( x1 x2 ) f * f ( x* )
17
出口
例题3.3
试用黄金分割法求目标函数f(x)=x2-6x+9的最优解。给定初始区间[1,7], 收敛精度ε=0.4。
x2
4.708 3.292 3.832630 3.292 2.957434 3.085305 2.957434
y1
0.085264 0.340524 0.085264 0.001812 0.062044 0.001812 0.014725
y2
2.917264 0.085264 0.693273 0.085264 0.001812 0.007277 0.001812
x * , x* a, b
f ( x)
单峰函数
用尽量少的计算量,尽快确 定包含x* 的开区间(a, b)
关键
找三点:“高-低-高”
o
a
x
*
b
x
4
3.1 搜索区间的确定
函数为y=f(x), 给定初始点x1, 选定恰当的初始步长为h0 一、试探搜索
x1, y1 f ( x1) x2 x1 h0 , y2 f ( x2 )
相关文档
最新文档