最优化方法课程实验报告
项目一 一维搜索算法(一)
[实验目的]
编写加步探索法、对分法、Newton法的程序。 [实验准备]
1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤; 2.掌握对分法的思想及迭代步骤;
3.掌握Newton法的思想及迭代步骤。 [实验内容及步骤] 编程解决以下问题:
1.用加步探索法确定一维最优化问题
min?(t)?t3?2t?1t?0
的搜索区间,要求选取t0?0,h0?1,??2.
加步探索法算法的计算步骤: (1)选取初始点
t0?[0,??)(或t0??[0,tmax]),计算
?0??(t0).给出初始步长h0?0,
加步系数??1,令k?0。
(2) 比较目标函数值.令tk?1?tk?hk,计算 ?k?1??(tk?1),若?k?1??k,转(3),否则转(4)。
(3) 加大探索步长.令
hk?1??hk,同时,令t?tk,tk?tk?1,k?k?1,转(2).
(4) 反向探索.若k?0,转换探索方向,令hk??hk,t?tk?1,转(2)。否则,停止迭代,令
a?min{t,tk?1},b?max{t,tk?1}。
加步探索法算法的计算框图
最优化方法课程实验报告
程序清单
加步探索法算法程序见附录1
实验结果
运行结果为:
2.用对分法求解
min?(t)?t(t?2),
已知初始单谷区间[a,b]?[?3,5],要求按精度??0.3,??0.001分别计算.
对分法迭代的计算步骤:
(1)确定初始搜索区间[a,b],要求?'(a)?0,?'(b)?0。
1(a?b). 2*(3) 若??(c)?0,则a?c ,转(4);若??(c)?0,则t?c,转(5);若??(c)?0,则b?c ,转(4).
1*(4) 若|a?b|??,则t?(a?b),转(5);否则转(2).
2*(5) 打印t,结束
(2) 计算[a,b]的中点c?
对分法的计算框图
最优化方法课程实验报告
程序清单
对分法程序见附录2
实验结果
运行结果为:
3.用Newton法求解
min?(t)?t3?2t?1,
已知初始单谷区间[a,b]?[0,1],要求精度??0.01.
Newton法的计算步骤
,?'(b)?0 (1) 确定初始搜索区间[a,b],要求 ?'(a)?0(2) 选定t0
000 (3) 计算
(4) 若 |t?t0|??,则t0?t,转(3);否则转(5).
t?t??'(t)/?\t)(5) 打印t,?(t) ,结束.
Newton法的计算框图