最优化_第3章 一维搜索方法

合集下载

最优化方法 第三章第二讲 一维搜索

最优化方法 第三章第二讲 一维搜索

第三次迭代
令 x1 0.538, f1 1.751,取 F3 x2 0.077 (1.462 0.077) 0.846, F4 f 2 1.870。
因为 f 1 f 2 ,所以新区间为 0.077,0.846。
第四次迭代
令 x 2 0.538, f 2 1.751,取 F1 x1 0.077 (0.846 0.077) 0.231, F3 则 f 1 1.822。
设其最优解为 k ,得到 xk 1 xk k pk ,
一维搜索是求解一元函数 ( ) 的最优化问题(也叫 一维最优化问题) ,仍表示为 min f ( x ) 或 min f ( x )。 1
xR
a xb
定义:若在 a, b内 f ( x )有唯一极小点 x* ,在 x* 的左边 f ( x )严格下降,在 x* 的右边 f ( x )严格上升, 则称 f ( x )在区间 a, b上是下单峰函数。
step 6 令 k k 1,若 k n 2,则转 step 5; 若 k n 2,则转 step 7。
step 7 若 f1 f 2 , 则令 b x2 ,x2 x1 ,f 2 f1 , 转 step 8; 若 f1 f 2 ,则令 a x1,转 step 8。 step 8 令 x1 x2 0.1(b a ) , f1 f ( x1 ) 1 * 若 f1 f 2 ,则 x (a x2 ), 2 1 * 若 f1 f 2 ,则 x ( x1 x2 ), 2 1 * 若 f1 f 2 ,则 x ( x1 b ) 。 2
ab step 3 若 b a ,则 x ,停。否则转 step 4。 2

第三章 一维搜索法

第三章 一维搜索法
x
0
x1 x2
x3
3-1 确定初始区间的进退法
探测初始空间的进退法步骤: 探测初始空间的进退法步骤 (1)给定初始点 x0 ,初始步长 h ,令 x1 = x0 ,记: f1 = f ( x1 ) 给定初始点 初始步长 令 记 (2)产生新的探测点 x2 = x1 + h ,记 f 2 = f ( x2 ) 产生新的探测点 (3)比较函数值 f1 和 f 2 的大小 确定向前或向后探测的策略 比较函数值 的大小,确定向前或向后探测的策略 则加大步长,令 若: f1 > f 2 则加大步长 令 h = 2h ,转(4)向前探测 转 向前探测 (4)产生新的探测点 x3 = x0 + h ,令 f 3 = f ( x3 ) 产生新的探测点 令 (5)比较函数值 f 2 和 f 3 的大小 比较函数值 则调转方向,令 若: f1 < f 2 则调转方向 令 h = − h ,转(4)向后探测 转 向后探测
3-1 确定初始区间的进退法
f (x ) f ( x1 )
f ( x2 )
f ( x1 ) > f ( x2 ) > f ( x3 )
极小点在右端点的
f (x3 ) (x
x
x3 右侧
0
x1
x2 x3
3-1 确定初始区间的进退法
f (x ) f ( x1 ) f ( x2 )
f ( x3 )
f ( x1 ) < f ( x2 ) < f ( x3 )
h=-h;x2=x0+h;f2=f(x2); ; ; ; End
3-2 黄金分割法
一维搜索试探方法的基本思想: 一维搜索试探方法的基本思想:在确定了搜索区间的 前提下,不断缩小搜索区间, 前提下,不断缩小搜索区间,同时保持搜索区间内函数值 “大-小-大”的走势,直到区间的宽度小于预定的精度。 小 大 的走势,直到区间的宽度小于预定的精度。 黄金分割法基本思想: 黄金分割法基本思想 : 在搜索区间内插入两个黄金分 割点,将区间分成三段。利用函数的单谷性质,通过函数值 割点,将区间分成三段。利用函数的单谷性质, 大小的比较,删去其中一段。 大小的比较,删去其中一段。在保留下来的区间上作同样的 处置,如此往复送代,使搜索区间缩小到精度范围内, 处置,如此往复送代,使搜索区间缩小到精度范围内,得到 极小点的近似解。 极小点的近似解。

第三章一维优化方法

第三章一维优化方法

p( x )
f ( x)
P3 P2
x
*( k 1) P

*(1) fP
k) x* x*( P
a x1
x2 x1
x *(1) P x2
x3 b x3
25
26
在流程图中有两个判别框的内容需稍加说明。其一是c2=0?若成 立,即:
或写作
这说明三个插值结点P1(x1,f1)、P2(x2,f2)、P3(x3,f3)在同一条直 线上;其二是 * * ( xP -x1)(x3- xP )≤0? (3.14) * 若成立,则说明 xP 落在区间[x1,x3]之外。
x2 x * p
f 2 f p*
x2 x
* p
f 2 f p*
x2 x * p
f 2 f p*
23
区间的缩短程序框图
24
三、终止准则
x , x , ..., x
x
*( k ) P
P 1
*(1) P
*(2) P
*( k 1) P
, x , ... x
*( k ) P
*
9
3.2 一维搜索的最优化方法
3.2.1 格点法
在区间[a,b]的内部取n个 内等分点: x1,x2,…,xn 区间[a,b]被分成(n+1)等 分,各分点的坐标为:
xk a ba k n 1
f ( x)
逐渐缩小搜索区间
新区间
k 1,2,..., n
o a x1 x2
ym 1 ym
2 2 2 2 ( x2 x3 ) f1 ( x3 x12 ) f 2 ( x12 x2 ) f3 B ( x1 x2 )( x2 x3 )( x3 x1 )

第三章 一维搜索

第三章 一维搜索

迭代点x(k),当k=0时,X(0)称为初始点 搜寻方向 S(k) 步长a(k)
一维搜索方法概述
在优化设计的迭代运算中,在搜索方向S(k) 上寻求最优步长 a(k)的方法称一维搜索法。实 际上一维搜索法就是一元函数极小化的数值迭代 算法,其求解过程称为一维搜索。 一维搜索法是非线性优化方法的基本算法, 例如:下图所示的二维优化的例子。
1、若f2 <f1(或者y2<y1) 方,应若f2>f1(或者y2>y1) ,则极小点位于 α (1)左 方,应反向后退搜索。
二、前进搜索(f2<f1)
以α(2)为初始点,以h为步长, 前进搜索得到 第三个试点方向的α(3) , α(3) =α(2) +h= α(1) +2h,其函数值f3与f2比较有如下情况: 1.f2<f3 2.f2>f3
2
*
∈ ⎡α ( ) , b ⎤ ⎣ ⎦
1
区间消去法原理
一维搜索的最优化方法
从前面讲到的区间消去法可知,为了每次缩短区 间,只需要在区间内再插入一点并计算其函数值.针 对插入点确定方法的不同,可将一维搜索方法分成 两大类: 1.试探法: 2.插值法(函数逼近法):
一维搜索的最优化方法
1.试探法:按某种给定的规律来确定区间插入点的 位置.此点位置的确定仅仅按照区间缩短如何加 快,而不顾及函数值的分布关系. 此类方法主要包括: 黄金分割法 裴波纳契法(Fibonacci)
1、若f2<f3,则有f1> f2<f3,此时函数f(α)在[α (1) , α(3) ]必有极小点,故区间[a,b]=[α(1), α(1) +2h]为初始搜索区间.
2、若f2>f3,则继续前进搜索,各点变换如下: α(1) ←α(2), f1 ← f2 α(2) ← α(3), f2 ← f3 然后步长加倍,前进搜索得到第三个试点方向的α(3) , 重复上述比较f2与f3的大小,直至出现f1> f2<f3时,构成 搜索区间[a,b]= [α(1) , α(3) ]

第3章 一维最优化

第3章 一维最优化

一维最优化问题: 一维最优化问题:
min s .t .
f ( x) x∈ R
极值点的必要条件: 极值点的必要条件:
f '( x ) = 0
二、 确定搜索区间的方法— 进退法
实际问题 数学模型 数值计算方法
程序设计
上机计算求出结果
数值解法: 数值解法:利用计算机通过反复迭代计 求得实际问题的近似值。 算,求得实际问题的近似值。
[a, b]称为ϕ ( x)的单谷区间。
显然此时x ∗为ϕ ( x)在[a, b]上唯一的极小点。
☺问题:凸函数是不是单谷函数?严格凸函数是 问题:凸函数是不是单谷函数? 不是单谷函数?单谷函数是不是凸函数? 不是单谷函数?单谷函数是不是凸函数?
搜索法求解: 搜索法求解: min ϕ (t)
t≥ 0

b − x1 ≤ ε
停止,输出 停止,输出x2 是


停止,输出 停止,输出x1 以[a,x2]为新的搜索区间 为新的搜索区间
三、黄金分割法
f ( a ) = a 2 − 7a + 10 的初始区间, 的初始区间, 例1:用黄金分割法求
设初始点 。= 1 a,初始步长 h 0 = 0 用进退法确定初始区间: 解:用进退法确定初始区间:
ϕ ( x1 )
x1 x2
3
x
2) 第二轮: 第二轮: x2=1.146, x1=0.708
ϕ
ϕ ( x1 ) = −0.0611 ϕ ( x2 ) = 0.2131
x2-0=1.146>0.5 3) 第三轮: 第三轮: x1=0.438, x2=0.708 0
x1 x2
1.854
x
ϕ

第三章 一维搜索方法

第三章  一维搜索方法

α2
α2
图3-1 具有单谷性的函数
说明:
单峰区间内,函数可以有不可微点,也可以是不连续
函数;
确定的搜索区间必定是一个含有最优点α*的单峰区间。
f (x) f (x)
0
α1
α3
α
0
α1
α3
α
2.进退法的基本思路:
由单峰函数的性质可知,在极小点α*左边函 数值应严格下降,而在极小点右边函数值应严格 上升,因此可以从某一个给定初始点α1出发,以 初始步长h0沿着目标值的下降方向,逐步前进或 后退,直至找到相继的3个试点的函数值按“大小-大”变化为止。
3 . 进退法的步骤:
(1)给定初始点α0和初始步长h0;
(2)令α1 α0 , h h0 , α2 α1 h, 得到两试点α1、α2, 并计算函数值f1 f ( α1 ) , f 2 f ( α2 ) ;
(3)比较f1与f2,存在两种情况:
1)若f1 f 2 , 则作前进运算, 取第三个点α3 α2 h, 计算f 3 f ( α3 ) , 比较f 2与f 3
① 若f 2
f 3,则搜索区间 [a, b] [3 , 1 ];
② 若f 2
f 3 , 则步长加倍,继续作后 退运算,即令 h 2h,
1 2、 2 3、 3 2 h计算f 2与f 3直到找到“大
小 大”搜索区间 [a, b] [ 3 , 1 ]
2 2 2
所以
p a1 / 2a2
y3 y1 c1 a3 a1
1 a 2 a
2 a3 y1 a32 a12 y2 a12 a22 y3
a3 y1 a3 a1 y2 a1 a2 y3

三章节一维搜索方法

三章节一维搜索方法

f x ad f x adTf x 1 ad T G ad
2
f x dTf x 1 2dTGd
2
上式求α旳极值,即求α导数为零。
dTf x *d TGd 0

*
dTf x
d T Gd
从上式看,需要求导进行计算,对于函数关系复杂旳, 解析法十分不便。
数值法旳基本思绪:拟定 *旳搜索区间,在不断缩小
a2 a3 y1 a3 a1 y2 a1 a2
a1 a2 a2 a3 a3 a1
y3
所以
p
a1
/
2a2
1 2
a22 a32 a2 a3
y1 a32 a12 y1 a3 a1
y2 a12 a22 y2 a1 a2
y3 y3

c1
y3 a3
y1 a1
一、牛顿法(切线法)
一维搜索函数 y f ,假定一给出极小点旳一种很好旳近
似点0 ,因为一种连续可微旳函数在极小点附近与一种二次 函数很接近,所以,在0 点附近用一种二次函数 逼近。
f
f
0
f
0
0
1 2
f
0
0 2
求二次函数 旳极小点作为f 极小点旳新近似点1
1 0 即 f 0 f 0 0 0
P a0 a1 a2 2
它应满足条件 P 1 a0 a11 a212 y1 f 1 (1)
P 2 a0
a12
a2
2 2
y2
f
2
P 3
a0
a13
a2
ห้องสมุดไป่ตู้
2 3
y3
f
3
从极值旳必要条件求得

优化设计一维搜索方法第03章-2

优化设计一维搜索方法第03章-2

牛顿法(Newton’s Method)、二次插值法(Quadratic Interpolation Method)、平分法(Bisection Method)、…
一、牛顿法
1、牛顿法工作原理 设f(x)为一个连续可微的函数,则在x0附近,该函数应该与一 个二次函数接近,即可在点x0附近用一个二次函数φ(x)来逼近函 数f(x) ,即:
f ( x) x 4 4 x 3 6 x 2 16 x 4
例2
解:取x2点为区间[x1,x3]的中点,x2 0.5 ( x1 x3 ) 2.5 , 计算x1,x2,x3 3点处的函数值f1=19,f2=-96.9375,f3=124。可 见函数值满足“高-低-高”形态。 以x1,x2,x3为插值点构造二次曲线, 求第一次近似的二次曲线p(x)的极小值点,由公式得:
x2 x3 f2 f1 f3 f1 即: c1 x2 x1 x3 x1
说明三个插值点位于同一条直线上,因此说明区间已经很 小,插值点非常接近,故可将x2、y2输出作为最优解。
5、区间的缩短 为求得满足收敛精度要求的 最优点,往往需要多次进行插 值计算,搜索区间不断缩短, 使xp*不断逼近原函数的极小点 x* 。



x 1.9545 , 比较函数值可知 p
f ( x* ) 65.4648 f ( x2 ) 96.9375 p
* x 这种情况应消除左边区段 [ x1 , x ]。然后用 p , x2 , x3 作为 x1,x2,x3新3点,重新构造二次曲线p(x),如此反复计算,直 * 到 x2 x p 为止。 * p
b
x1 x2 f1 f2 x 2 x p * f 2 f P*
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黄金分割法求的的极小点与极小值: x=0.5 ×(0.584+0.764)=0.674, 求导运算求的极小点与极小值: x=0.667, f(x)=0.222 f(x)=0.222
§3.4 一、牛顿法
插值方法
f(x)
利用一点的函数值、 一阶导数以及二阶 导数构造二次多项 式。用构造的二次 多项式的极小点作 为原函数极小点的 近似。
f(x) φ1(x) f(x)
φ0(x)
依此类推可得牛顿迭代公式:
f '( xk ) xk 1 xk f "( xk )
x*
x2
x1
x0
φ0(x)
在 x0 处 用 一 抛 物 线 φ(x)代替曲线 f(x), 相当于用一斜直线 φ ′(x)代替曲线 f ′(x) 。这样各个近似点 是通过对作 f ′(x) 切 线求得与轴的交点 找到的,所以有时 牛顿法又称作切线 法。
f(x)
用二次函数φ(x)的极小点x1 作为f(x)极小点的一个近似 点。根据极值必要条件:
φ0(x) φ1(x) f(x)
'( x1 ) 0
x* x2 x1 x0 x
§3.4 一、牛顿法

插值方法
f '( x0 ) f "( x0 )( x1 x0 ) 0
f '( x0 ) x1 x0 f "( x0 )
f(x1)=2
f1=f(x1)=2 f2=f(x2)=1
x1=0 a
f(x2)=1
由于f1>f2, 应继续向前探测
x2=1
x3=2
b
x3= x0+2h=0+2=2 f3=f(x3)=18 由于f2<f3,可知初始区间已经找到,即
[a, b]=[x1, x3]=[0, 2]
§3.3

黄金分割法
2)用黄金分割法缩小区间 第一次缩小区间: x1=0+0.382×(2-0)=0.764, f1=0.282 x2=0+0.618×(2-0)=1.236, f2=2.72 由于f1< f2, 故新区间[a, b]=[a, x2]=[0, 1.236] 由于 b-a=1.236>0.2,应继续缩小区间
φ1(x)
f(x)
x* f ′ (x)
x2
x1
x0
φ ′ 1(x)
f ′ (x)
x*
x2
x1
x0
牛顿法程序框图
开 始
给定初始点 0 ,误差 令k=0
x
,
计算
f ' ( xk ), f '' ( xk ) ,

f '( xk ) 计算 xk 1 xk f "( xk )
Y
xk 1 xk
f(x)
f(a1) f(b1)
f(x)
f(a1) f(b1)
f(x)
f(a1)
f(b1)
a
a1
b1
b
a
a1
f1<f2
f1>f2
b1
b
a
a1
b1
b
f1=f2
f(b1) f(a1)
f(a1) f(b1)
f(a1)
f(b1)
a
a1
b1
b
a
a1
b1
b
a
a1
b1
b
(1)f1<f2, 新区间为[a,b1] (2)f1>f2, 新区间为[a1,b] (3)f1=f2, 新区间为[a1,b1]
一维搜索方法一般分两步进行: ■ 首先确定一个包含函数极小点的初始区间,即确定 函数的搜索区间,该区间必须是单峰区间; ■ 然后采用缩小区间或插值逼近的方法得到最优步长, 最终求出该搜索区间内的一维极小点。
§3.1
搜索区间的确定
根据函数的变化情况,可将区间分为单峰区间和多峰区间。 所谓单峰区间,就是在该区间内的函数变化只有一个峰值, 即函数的极小值。
x
进退试算法的运算步骤如下:
(1)给定初始点α0和初始步长h (2)将α0及α0+h 代入目标函数 f(x) 进行计算并比较大小
§3.1
搜索区间的确定
(3)若f(α0 ) > f(α0+h),则表明极小点在试算点 的右侧,需做前进试算。
在做前进运算时,为加速计算,可将步长h 增加2倍,并取计算新点为α0+h+2h=α0+3h 若f(α0+h) ≤ f(α0+3h) ,则所计算的相邻三点 的函数值已具“高-低-高”特征,这时可确定 搜索区间
优点:1)收敛速度快。 缺点:1)要计算函数的一阶和二阶导数,增加每次 迭代的工作量。 2)数值微分计算函数二阶导数,舍入误差将 严重影响牛顿法的收敛速度, f '(x)的值越 小问题越严重。 3)牛顿法要求初始点离极小点不太远,否则 可能使极小化序列发散或收敛到非极小点。
§3.4 插值方法 二、二次插值法(抛物线法)
f1 f 2
新区间为[a1, b]
对于上述缩短后的新区间,可在其内再取一个新点,然后 将此点和该区间内剩下的那一点进行函数值大小的比较, 以再次按照上述方法,进一步缩短区间,这样不断进行下 去,直到所保留的区间缩小到给定的误差范围内,而得到 近似最优解。
§3.3
一、适用范围
黄金分割法
适用于[a, b]区间上的任何单谷函数求极小值问题。对 函数除要求“单峰”外不作其他要求,甚至可以不连 续。适应面相当广。基本原理为区间消去法 黄金分割法插入两点:
a 0 h,
b 0 h
否则,将步长加倍,继续后退,重复上述步 骤,直到满足单峰区间条件为止。
§3.2
一、基本思想
区间消去法原理
搜索区间确定之后,采用区间消去法逐步缩短搜索区间, 找到极小点的数值近似解。 假定在搜索区间内[a,b] 任取两点a1、b1,且a1<b1
f1=f(a1), f2=f(b1)
第三章 一维搜索方法
3.1 搜索区间的确定 3.2 区间消去法原理
3.3 一维搜索的试探法
3.4 一维搜索的插值法
§3.1
搜索区间的确定
求解一维目标函数 f(X) 最优解的过程,称为一维优化(一 维搜索),所使用的方法称为一维优化方法。
由前数值迭代法可知,求某目标函数的最优值时,迭代过 程每一步的格式都是从某一定点X(k) 出发,沿着某一使目 标函数下降的规定方向 S(k)搜索,以找出此方向的极小点 X(k+1) 。这一过程是各种最优化方法的一种基本过程。
φ0(x)
φ1(x) f(x)
x*
x2
x1
x0
x
§3.4 一、牛顿法
插值方法
设f(x)为一个连续可微的函数,则在点x0附近 进行泰勒展开并保留到二次项: 1 f ( x) ( x) f ( x0 ) f '( x0 )( x x0 ) f "( x0 )( x x0 ) 2 2
f(x)
0
a
x*
b
x
即在单峰区间内的极小值点X* 的左侧:函数呈下降趋势, 而在单峰区间内的极小值点X* 的右侧:函数呈上升趋势。 也就是说,单峰区间的函数值呈“高-低-高”的变化特征。
§3.1
搜索区间的确定
目前在一维优化搜索中确定单峰区间常用的方法 是进退试算法。
进退试算法的基本思想为:
1) 按照一定的规律给出若干试算点,
§3.3
黄金分割法
第五次缩小区间: 令 x2=x1=0.652, f2=f1=0.223 x1=0.472+0.382× (0.764-0.472)=0.584, f1=0.262 由于f1>f2, 故新区间[a,b]=[x1,b]=[0.584, 0.764] 因为 b-a=0.764-0.584=0.18<0.2, 停止迭代。
a 0 ,
b 0 3h
否则,将步长再加倍,并重复上述运算。
§3.1
搜索区间的确定
(4)若 f(α0) < f(α0+h),则表明极小点在试算点 的左侧,需做后退试算。
在做后退运算时,应将步长变为-h ,并从 点出α0 发,得到后退点为α0-h 若f(α0-h) > f(α0) ,则搜索区间可取为
3 4.03960 3.38299 86.86992 4.00066 0.03894
4 4.00066 0.00551 84.04720 4.00059 0.00007
= xk 1 xk 2.1667 0.83196
§3.4 一、牛顿法
插值方法
X ( k 1) X ( k ) ( K ) d ( k ) f '( xk ) xk 1 xk f "( xk )
f '( xk ) 给定初始点x0=3,ε=0.001,计算公式:xk 1 xk f "( xk )
数值 \ k xk
f xk
f xk
xk 1
0 3 -52 24 5.1667
1 5.1667 153.35183 184.33332 4.33474
2 4.33474 32.30199 109.44586 4.03960 0.29514
x2 a 0.618(b a )
Y
x2
f ( x1 ) f ( x2 )
N
b x2 , x2 x1 , f 2 f1 x1 a 0.382(b a ), f1 f ( x1 )
a x1 , x1 x2 , f1 f 2 x2 a 0.618(b a ), f 2 f ( x2 )
相关文档
最新文档