当前位置:文档之家› 计算方法第三章

计算方法第三章


f(x0) xk+λksk

存储量小,适用于维数较高 缺点
f(xk) xk +γ k1s k1)
=
f (xk ) H(xk1)sk1
T T sk1H(xk1)sk1
数值稳定性不如变尺度法。
阻尼牛顿法 sk= H(xk)1f(xk)
f (x),并用g(x)的极小点去近 极小点。 +(xxk)TH(xk)(xxk)/2
的基本思想: 的基本思想:通过不断地压 极小点存在的区间来确定最
区间缩短率E1=L1/L0 En=Ln/L0
f(x)
x) L0
L1
0
x1
x2
b0 x
0
a0
x1
x2
思想: 思想:按照对称、稳定的选点 将区间进行分割,进而按固定 确定保留区间。
X L
LX
1.00
黄金分割示意图
分割:X=0.618L 分割: x2 0.382 0.382 a1
择D0=I可保证D0的正定性,只要 k精确,则当Dk正定时,Dk+ 只要λ 当初始矩阵D0选为对称正定时, ,DFP算法将保证以后的所有迭 称正定的,即使将DFP算法用于非二次函数也是如此 算法用于非二次函数也是如此,因此算 降的,但在实际应用中,由于计算机在计算时舍入误差的影响 由于计算机在计算时舍入误差的影响 搜索不精确的影响,在计算λk时可能出现数值误差 时可能出现数值误差,可能要破 正定性,从而导致算法失效。为保证的正定性 为保证的正定性,采取以下两条 后若有f(x )≥f(x )
≤ε
f(xk+λkf(xk))=minλf(xk+
能够在有限迭代步达到问题的最 :某种算法所产生的点列{xk}能够在有限迭代步达到问题的最
点列{xk}收敛于最优解x*,且满足 lim 且满足
xk+1 x *
k →∞
xk x *
p
=c
数,c>0为与k无关的常数,称点列{xk}为p阶收敛。 c>0 k 称点列{x 称点列 }为p阶收敛 阶收敛。
的范数取为
矩阵 Q为对称正定矩阵
点x处在范数||||Q意义下的最速下降方向就是 1f(x) 意义下的最速下降方向就是Q
(x) = xTQx+bTx+c
k
阵 Dk
→H(xk)1
阵:Dk 1 →H (xk)
xk处在范数 || ||Dk1意义下的最速下降方向就是 kf(xk),即牛顿 意义下的最速下降方向就是D
x2(1)
b1
用一个低次多项 :将目标函数f(x)用一个低次多项 )来逼近,并将P(x)的极小点来近 的极小点来近 x2)|>ε 数f(x)的极小点。
知x1<x2<x3和f1, f2, f3,且满足f1>f2<f3 )<f(x2),x2, xm , x3,[x1, x3]→[x2, x3] P(x)= a,0+a, +a2,xx ] →[x , x ] x [x 2 ,x1, x2 xm 1 1 3 1 m
3.3 引言 一维最优化方法
黄金分割法 二次插值法
多元函数最优化方
梯度法 最速下降法 牛顿法 变尺度法 单纯形法 3.3.1.1 3.3.1.3 3.3.1.4
3.3.1
1
2
3.3.1.2 共轭梯度法
3.2.1 3.2.2
3.3.2
直接法
3.3.2.1
3.3.2.2 鲍威尔法
单峰性质与多峰性质
x2
x*
同心椭圆簇的重要特性: 重要特性: 重要特性
任意两条平等切线的切点的 必通过其椭圆中心,而这个 中心,就是二次函数的极值
同心椭圆簇的特点
x1
一个算法若对于二次函数比 效,就可望对一般函数(至 极值点附近)也有极好的效
设Q为n×n阶对称正定矩阵,n维空间中 维空间中m个非零向量s0 , 1,…sm1为矩阵Q共轭是指: siTQsj=0 siTsj=0 (i≠j) (i≠j)
梯度法: 梯度法 求解过程中不但要计算目标函数 而且还需要计算目标函数的 最优化 (解析法) 值,而且还需要计算目标函数的 导数值,以利用其梯度信息来确 以利用其梯度信息来确 程是否 定搜索方向。 定搜索方向 算目标 导数 直接法: 直接法 只需计算目标函数值而不必计算 其导数的值,故函数端点或不连 其导数的值 续点的存在,不会给计算增加困 续点的存在
k+λksk)=minλ f(xk+λsk)
1=xk+λksk
一维搜索后一定收敛于函数f(x)的极小点 的极小点。
k
代点xk处的负梯度f(x)与sk1 合来确定。 优点: 优点:
一个任意的具有二阶连续可微 (x),若f(x)和海森矩阵H(x)易 一初始点x0,
收敛速度是较快的,同于超 或更高一些。 计算简单
x3 x4
1
x
单峰性质: 单峰性质:函数在给定区间内仅有一 多峰性质: 多峰性质:函数在求解区间内具有不 极小点,这时利用最优化方法求得的 极小点 函数的某个局部极小值点,而非全局 函数的某个局部极小值点 特别是局部收敛的最优化方法,其找 特别是局部收敛的最优化方法 极值点还是最优值点就依赖于初始点 为了解决这一问题,目前有两种途径 为了解决这一问题 (1)寻求全局极值的计算方法 寻求全局极值的计算方法; (2)从理论上找出对于那些局部极值就 从理论上找出对于那些局部极值就 极值的情况。 极值的情况 一般解决的办法是从多个初始点 得到多个极小点,然后选出对应目标 得到多个极小点 最小者,从实际意义看认为比较满意 最小者
(0)
式: x1(k) = ak + 0.618(bk ak) x2(k) = bk 0.618(bk ak) (n≥2)
0.618 a0
0.3
x1(1)
x1(0)
0.61
缩短率 0.618(n1)
:区间缩短率与计算次数呈指 系,因而收敛较快,对函数形 特殊要求,计算简单
0.382 0.236
(x)=f(xk)+ f(xk)T(xxk)
xk+1= xk+λksk= xk λkH(xk
0,得x= xk H(xk)1f(xk)
法的迭代公式 = xkH(xk)1f(xk)
xk+1
牛 顿 g(x) =g(xk) 法 几 何 示
优点 收敛速度快 缺点 1) 需要求目标函数的海森矩阵 它的逆矩阵。 它的逆矩阵。 2) 计算工作量和占用计算机的 间都比较大。 间都比较大。 3) H(x)必须是非奇异的。 必须是非奇异的。 必须是非奇异的 4) 即使 即使H(x)是非奇异的,也不 是非奇异的, 是非奇异的
函数中自变量数目
无约束最优化:自变量可任意取值 函数中自变量的取 无约束最优化 是否有限制 有约束最优化:自变量取值须满足一定约 有约束最优化 约束问题的最优化可以将它转化为一系列无约束问题来求解 或通过参数变换引进辅助参数使之化为无约束问题来求解
{ {
多元函数的最优化:目标函数为多元函数 多元函数的最优化
且0<c<1时,称点列{xk}线性收敛 线性收敛; 称点列{xk}超线性收敛; 称点列{xk}二阶收敛。
是否具有二次收敛性是判别算法好坏的另一个指标。 是否具有二次收敛性是判别算法好坏的另一个指标 一个算法用于具有对称正定矩阵的二次函数,经有限次迭 性:一个算法用于具有对称正定矩阵的二次函数 小点。 与二阶收敛之间无必然的联系。 。一般说来,具有二次收敛性的 线性以上的收敛速度,因此属于较好的算法 因此属于较好的算法。
f "x1 f "x1x2 f "x1xn f "x2x1 f "x2 f "x2 xn )= f "xn x1 f "xn x2 f "xn
(充分条件)
x x* =
=0,求出x*
搜索方向 k的选择应遵循的 搜索方向s (1) f(x)Tsk<0; (3) 计算量不能太大。 步长λk的选择 步长λ (1) 定步长,即取λk =C。
数f(x) =
xTQx/2+bTx+c
x0
s0
f(x 1) x1
极小点所必须满足的条件
x* 1 s
Qs1=0
个互相共轭的方向,对于具有n阶对 :在n维空间中可以找到m个互相共轭的方向 称二次函数,从任意初始点出发 从任意初始点出发,顺次沿m个共轭方向作m次搜 标函数的极小点。
零向量s0, s1, …sm1为正定二次函数 为正定二次函数f(x)=xTQx/2+bTx+c的矩阵Q 则从任何一点出发,相继以s0, s1, …sm1为搜索方向的算法:
若Q为单位矩阵,
2 1 ,向量(1, 1)T和( 1)T (1, 如:Q = 1 2 2 1 1 1 (1, 1) (1, 1) = 0 1 = 0 1 2 1
向量(1, 0)T和(1, 2)T仅为Q共轭, ,不正交。
对同一个矩阵共轭的m个非零向量是线性无关的 个非零向量是线性无关的。
f f (x) = x1 f f x2 xn
T
ksk)=minf(xk+λsk)
xk+λksk
f 2 f 2 || f (x) ||= ( ) + ( ) + x1 x2
迭代公式 xk+1= xk λkf(xk) / ||f(xk)||
计算简单
x2
计算机内存空间少
点选择要求不高 x1
0 x1 x* x2 xm
三点等距,x2x1=x3x2=h x
h( f1 f3 ) x2 + 2( f1 2 f 2 + f3 )
二次插值法示意图
3.3.1.1 梯度法
相关主题