DFP法迭代步骤为:
1)给定初始点X0∈Rn,迭代精度ε,维数n。
3)计算搜索方向-Akgk⇒Sk。
4)进行一维搜索求αk,得迭代新点
Xk+αkSk⇒Xk+1
5)检验是否满足迭代条件
‖▽f(Xk+1)‖≤ε?
若满足,则停止迭代,输出最优解Xk+1⇒X*,f(Xk+1)⇒f(X*);否则进行下一步。
6)检查迭代次数,若k=n,则置Xk+1⇒X0,转2)步;若k<n,则转7)步。
7)计算:Xk+1-Xk⇒ΔXk,▽f(Xk+1)⇒gk+1,gk+1-gk⇒Δgk,按式计算ΔAk,Ak+ΔAk⇒Ak+1。然后,置k+1⇒k,转3)步。
例10-4 用DFP法解决下列无约束优化问题
f(X)=4(x1-5)2+(x2-6)2的极小点和极小值,取初始点X0=[8 9]T,梯度精度ε=0.01。
解:取初始点X0=[8 9]T,这时有f(X0)=45
目标函数的梯度函数为
第一次迭代
第一次迭代
计算X0点的导数值:
求搜索方向S0及新的迭代点X1:
计算X0点的导数值:
求搜索方向S0及新的迭代点X1:
用一维优化方法来求解最优步长α0,但因本题的目标函数简单,可用解析法求α0:,得(www.xing528.com)
4680α0-612=0⇒α0=0.130769
于是得
用一维优化方法来求解最优步长α0,但因本题的目标函数简单,可用解析法求α0:,得
4680α0-612=0⇒α0=0.130769
于是得
计算X1点的函数梯度,检验迭代终止条件:
计算X1点的函数梯度,检验迭代终止条件:
因此,X1不是极小点,须继续迭代。
第二次迭代:
因此,X1不是极小点,须继续迭代。
第二次迭代:
按DFP公式计算变尺度矩阵A1
按DFP公式计算变尺度矩阵A1
求搜索方向S1及新的迭代点X2
求搜索方向S1及新的迭代点X2
沿S1方向进行一维搜索,得
沿S1方向进行一维搜索,得
检验迭代终止条件:
检验迭代终止条件:
满足精度要求,迭代结束,输出最优解:
满足精度要求,迭代结束,输出最优解:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。