约束变尺度法Word文档下载推荐.docx
《约束变尺度法Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《约束变尺度法Word文档下载推荐.docx(7页珍藏版)》请在冰豆网上搜索。
于是有
1
Xk^i=Xk—Gk—gk,k=0,1,2,…
其中X0是初始点,gk和Gk分别是目标函数f(X)在点Xk的梯度和Hesse矩阵.
为了消除这个迭代公式中的Hesse逆矩阵G-1k,可用某种近似矩阵Hk=Hk(Xk)
来替换它,即构造一矩阵序列{Hk}去逼近Hesse逆矩阵序列{G-1k},此时
Xk1^Xk-Hkgk
事实上,式中Pk=-Hkgk无非是确定了第k次迭代的搜索方向.为了取得
更大的灵活性,考虑更一般的迭代公式
Xk^^~X^_tkHkgk
其中步长tk通过从Xk出发沿Pk=-Hkgk作直线搜索来确定•此式代表很广的一类迭代公式•
例如,当Hk=l(单位矩阵)时,它变为最速下降法的迭代公式。
附加条件
为了使Hk确实与G-1k近似并有容易计算的特点,必须对Hk附加某些条件:
⑴)为保证迭代公式具有下降性质,要求{Hk}中的每一个矩阵都是对称正定的.
因为使搜索方向Pk=-Hkgk是下降方向,只要
g!
pk—glHkgk:
:
0
⑵)求Hk之间的迭代具有简单形式.
可设为最简单的形式:
Hki二HkEk
其中Ek称为校正矩阵,此式称为校正公式.
⑶{Hk}必须满足拟Newton条件.
(2)拟Newton法的算法构造
已知目标函数f(X)及其梯度g(X),终止限
Step1
选定初始点X0;
计算f0=f(X0),g0=g(X0),选定初始矩阵H0,要求H0
对称正定(例如,H0=l),置k=0.
Step2
计算搜索方向PkHkgk.
Step3
作直线搜索Xk1lS(Xk,Pk).
计算fk*=f(XkQgk41=g(Xkd1),S=Xk*—Xk,yk=gk*=gk
Step4
判别终止准则是否满足.若满足,则Xk+1就是所求的极小点,
否则转Step5.
Step5
计算Hk出二Hk+Ek.
Step6
k=k+1,转Step2.
其中校正矩阵Ek可由确定的公式来计算.不同的公式对应不同的拟Newton算法.
(3)拟Newton算法的流程图
选定,对称正定阵,置k=0
I17
fo=(x))g=i(x))
Xk^=ls(Xk,Fk)fk*f(人/加乜心爪二心-人,《=弘=9<
比屮忻(结束'
k=k+1
二、DFP变尺度法
DFP算法首先由Davidon1959年提出,1963年,Fletcher和Powell作了改进,形成DFP算法.D,F,P是这三位学者名字的字头•这种算法是无约束最优化方法最有效的方法之一.
(一)DFP算法的基本原理
考虑校正公式:
Hk1二和:
山小MM
其中Uk,Vk是待定n维向量,ak,Bk是待定常数.这时,校正矩阵是
Ek「kU山T:
NkVj
根据拟Newton条件
ckUkUT■kVkVkr)y^hkYk
kUkUTyk:
kVkVkyk=Sk-Hkyk
满足这个方程的Uk,Vk有无穷多种取法,其中的一种:
二kUkUkyk=Sk
1kVkVkTy^-Hkyk
注意到
不妨取
UTyk和
VJyk都是数量,
Uk=3,Vk=Hkyk
可取
这就是
「/(S'
),
-「1/(y:
Hkyk)
k卄Hk官Th
Skykykhkyk
HkykykHk
DFP校正公式
DFP算法的算法构造
已知目标函数f(X)及其梯度g(X),问题的维数n,终止限&
Step1选定初始点.计算f°
二fWg°
=g(X°
)
Step2置H°
"
P。
…g°
k=0
Step3作直线搜索Xk1=ls(Xk,Pk)计算fk1=f(XkJ,gk1=g(Xk1)
判别终止准则满足否.
若k=n贝U置X0=Xk+|,f0=fkdt,g0=gH1
计算2=Xk^—Xkyk=gk^_gk
HkykykHk
Hk1「HkSTy/yTH
k%,R1八H1gk1置k=k+1,转Step3.
(三)DFP算法的流程图
开始
』置H=Lk=0R)=g)
三、BFGS变尺度法
另一个有效和著名的变尺度算法是Broyden,Fletcher(1970),
Goldfarb(1969)和Shanno(1970)共同研究的结果,因而叫做BFGSt.
(一)BFGS算法的基本原理
考虑校正公式
Hk厂%琴-吐仇.品)氏心)叽yJQy^yk
其中,
Skhkyk
Wk二TkTkk
ykSkykhkyk
校正矩阵为
Ek二穿_Hk化久Hk.:
(yTSk)(yTHkyk)WkWTykSkykHkyk
B为实数参数,每取一个实数就对应一种拟Newton算法.
当取B=0时就是DFP校正公式
令:
=1/(Skyk)得著名的DFGSS正公式
■*1■鑒SkST
-HkykSk_SkykHk
(2)DFGS算法迭代步骤
已知目标函数f(X)及其梯度g(X),问题的维数n,终止限£
.
Step1选取初始点X0,初始矩阵H0=l,给定终止限&
>
0.
||
£
,停止输出X0;
否则.
Step3构造初始BFGS方向,取
Step4进行一维搜索,求tk,使得
Xk1=ls(Xk,PJXk1=Xk'
tkFk
Step5||&
停止输出Xk+1;
Step6检验迭代次数,若k+仁n,令X0=Xn转(3);
Step7构造BFGS方向,用BFGS公式
H"
Hk+為卜舲翻柿kST-SkyT【
计算,取,令
Hk1,R1=-Hk1f(Xki),k=k1转step4
(三)DFGS!
法的流程图
计算fX)
勺取(尊)5(人记0|
C结束
”求
吏X
fisXoP)
t
+iNn
沿=-HkdYf(Xk^)k=k+1
四、变尺度法的算法分析
Newton法每次迭代都要计算目标函数的Hesse矩阵和它的逆矩阵,当问题的维数较大时,计算量迅速增加,从而就抵消了Newton法收敛速度快的优点。
而
变尺度算法则可以保持Newton法收敛速度快的优点,又可以摆脱关于Hesse矩
阵的计算。
变尺度法中的二个重要算法DFP算法和BFGS算法迭代过程相同,区别仅在于校正矩阵Ek选取不同,对于DFP法,由于一维搜索的不精确和计算误差的
积累可能导致某一轮的Hk奇异,而BFGS法对一维搜索的精度要求不高,并且由它
产生的Hk不易变为奇异矩阵.BFGS法比DFP法更具有好的数值稳定性,它比DFP
法更具有实用性•