下载可编辑
2.用Newton法求
2minf(X)?60?10x1?4x2?x12?x2?x1x2,
0]T,??0.01. 初始点X0?[0,
Newton法的计算步骤 (1)给定初始点x(2)若
(0),及精度??0,令k?0;
,停止,极小点为x(k),否则转步骤(3);
?1?1?f(X(k))??2(k)(k)(k)(k)?????f(X)s??H(X)?f(X)?,令??(3)计算?;
令x
(k?1)?x(k)?s(k),k?k?1,转步骤(2)。
程序清单
Newton法程序见附录7
实验结果 运行结果为:
3.用修正Newton求
minf(X)?4(x1?1)2?2(x2?1)2?x1?x2?10,
TX?[0,0],??0.01. 0初始点
修正Newton的计算步骤
(0)x(1)给定初始点,及精度??0,令k?0;
(2)若
?f(X(k))??,停止,极小点为x(k),否则转步骤(3);
.专业.整理.
下载可编辑
?1?12(k)(k)(k)(k)?????f(X)s??H(X)?f(X)?,令??(3)计算?;
(k)(4)用一维搜索法求?,使得f(X??k()Sk()?)minf(Xk?(?)??0Sk,)令
X(k?1)?X(k)??(k)S(k),k?k?1,转步骤(2)。
程序清单
修正Newton程序见附录8
实验结果
运行结果为:
项目四 常用无约束最优化方法(二)
实验目的
编写共轭梯度法、变尺度法(DFP法和BFGS法)程序。
实验准备
1.掌握共轭方向法的思路及迭代过程;
.专业.整理.
下载可编辑
2.掌握共轭梯度法的思想及迭代步骤; 3.掌握DFP法和BFGS法的思想及迭代步骤。
实验内容及步骤
编程解决以下问题:
22X0?[1,1]Tmin(x?4x)121. 用共轭梯度法求得,取初始点,??0.01.
共轭梯度法算法步骤
(1) 给定初始点x(0),及精度??0;
(2) 若?f(x(0))??,停止,极小值点为x(0),否则转步骤(3); (3) 取p(0)???f(x(0)),且置k?0;
t?0(k)(k)(4) 用一维搜索法求tk,使得f(x?ktp)?minf?k())x?tkp令,?(,
x(k?1)?x(k)?tkp(k),转步骤5;
(5) 若?f(x(k?1))??,停止,极小值点为x(k?1),否则转步骤(6); (6) 若k?1?n,令x(0)?x(n),转步骤(3),否则转步骤(7);
(k?1)???f(x(k?1))??kp(k),?k?(7) 令p?f(x(k?1)(k))22?f(x),置k?k?1,转步骤
(4)。
程序清单
共轭梯度法程序见附录9
实验结果
运行结果为:
.专业.整理.
下载可编辑
22minf(X)?2x?x12?x1x2,自定初始点,??0.01. 2. 用共轭梯度法求
程序清单
共轭梯度法程序见附录9
实验结果
运行结果为:
22minf(X)?4(x?5)?(x?6)X0?[8,9]T,??0.01123.用DFP法求,初始点.
.专业.整理.