最优化方法课程实验报告.docx
- 文档编号:3349627
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:57
- 大小:26.56KB
最优化方法课程实验报告.docx
《最优化方法课程实验报告.docx》由会员分享,可在线阅读,更多相关《最优化方法课程实验报告.docx(57页珍藏版)》请在冰豆网上搜索。
最优化方法课程实验报告
资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
最优化方法课程实验报告
地点:
__________________
时间:
__________________
说明:
本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
项目一一维搜索算法
(一)
[实验目的]
编写加步探索法、对分法、Newton法的程序。
[实验准备]
1.掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤;
2.掌握对分法的思想及迭代步骤;
3.掌握Newton法的思想及迭代步骤。
[实验内容及步骤]
编程解决以下问题:
1.用加步探索法确定一维最优化问题
的搜索区间,要求选取.
加步探索法算法的计算步骤:
(1)选取初始点,计算.给出初始步长,加步系数,令。
(2)比较目标函数值.令,计算,若,转(3),否则转(4)。
(3)加大探索步长.令,同时,令,转
(2)。
(4)反向探索.若,转换探索方向,令,转
(2)。
否则,停止迭代,令。
加步探索法算法的计算框图
程序清单
加步探索法算法程序见附录1
实验结果
运行结果为:
2.用对分法求解
,
已知初始单谷区间,要求按精度,分别计算.
对分法迭代的计算步骤:
(1)确定初始搜索区间,要求。
(2)计算的中点.
(3)若,则,转(4);若,则,转(5);若,则,转(4).
(4)若,则,转(5);否则转
(2).
(5)打印,结束
对分法的计算框图
程序清单
对分法程序见附录2
实验结果
运行结果为:
3.用Newton法求解
,
已知初始单谷区间,要求精度.
Newton法的计算步骤
(1)确定初始搜索区间,要求
(2)选定
(3)计算
(4)若,则,转(3);否则转(5).
(5)打印,结束.
Newton法的计算框图
程序清单
Newton法程序见附录3
实验结果
运行结果为:
项目二一维搜索算法
(二)
[实验目的]
编写黄金分割法、抛物线插值法的程序。
[实验准备]
1.掌握黄金分割法的思想及迭代步骤;
2.掌握抛物线插值法的思想及迭代步骤。
[实验内容及步骤]
编程解决以下问题:
1.用黄金分割法求解
,
已知初始单谷区间,要求精度.
黄金分割法迭代步骤:
(1)确定的初始搜索区间.
(2)计算
(3)计算
(4)若,则打印,结束;否则转(5).
(5)判别是否满足:
若满足,则置
然后转(3);否则,置
然后转(4).
黄金分割法的计算框图:
程序清单
黄金分割法程序见附录4
实验结果
运行结果为:
2.用抛物线插值法求解
,
已知初始单谷区间.
抛物线插值法的计算步骤:
,所以相对来说是好点,故划掉区间,保留为新区间,故置,,保持不变;
,所以相对来说是好点,故划掉区间,保留为新区间,故置,与保持不变;
程序清单
抛物线插值法程序见附录5
实验结果
运行结果为:
项目三常用无约束最优化方法
(一)
[实验目的]
编写最速下降法、Newton法(修正Newton法)的程序。
[实验准备]
1.掌握最速下降法的思想及迭代步骤。
2.掌握Newton法的思想及迭代步骤;
3.掌握修正Newton法的思想及迭代步骤。
[实验内容及步骤]
编程解决以下问题:
1.用最速下降法求
.
最速下降法计算步骤
(1)
(2)
(3)
(4)
最速下降法的计算框图
程序清单
最速下降法程序见附录6
实验结果
运行结果为:
2.用Newton法求
,
初始点.
Newton法的计算步骤
(1)给定初始点,及精度,令;
(2)若,停止,极小点为,否则转步骤(3);
(3)计算,令;
令,,转步骤
(2)。
程序清单
Newton法程序见附录7
实验结果
运行结果为:
3.用修正Newton求
,
初始点.
修正Newton的计算步骤
(1)给定初始点,及精度,令;
(2)若,停止,极小点为,否则转步骤(3);
(3)计算,令;
(4)用一维搜索法求,使得,令,,转步骤
(2)。
程序清单
修正Newton程序见附录8
实验结果
运行结果为:
项目四常用无约束最优化方法
(二)
实验目的
编写共轭梯度法、变尺度法(DFP法和BFGS法)程序。
实验准备
1.掌握共轭方向法的思路及迭代过程;
2.掌握共轭梯度法的思想及迭代步骤;
3.掌握DFP法和BFGS法的思想及迭代步骤。
实验内容及步骤
编程解决以下问题:
用共轭梯度法求得,取初始点,.
共轭梯度法算法步骤
给定初始点,及精度;
若,停止,极小值点为,否则转步骤(3);
取,且置;
用一维搜索法求,使得,令,,转步骤5;
若,停止,极小值点为,否则转步骤(6);
若,令,转步骤(3),否则转步骤(7);
令,,置,转步骤(4)。
程序清单
共轭梯度法程序见附录9
实验结果
运行结果为:
用共轭梯度法求,自定初始点,.
程序清单
共轭梯度法程序见附录9
实验结果
运行结果为:
3.用DFP法求,初始点.
DFP法的具体迭代步骤如下:
(1)给定初始点,迭代精度,维数n
(2)置0→k,单位矩阵I→,计算。
(3)计算搜索方向
(4)进行一维搜索求,使
得迭代新点
(5)检验是否满足迭代终止条件‖‖≤?
若满足,停止迭代,输出最优解,;否则进行下一步。
(6)检查迭代次数,若k=n,则置,转向步骤
(2);若k (7)计算: 。 然后,置k+1→k,转向步骤(3)。 DFP法的计算框图 程序清单 DFP法程序见附录10 实验结果 运行结果为: 项目五常用约束最优化方法 [实验目的] 编写外点罚函数法、外点罚函数法的程序。 [实验准备] 1.掌握外点罚函数法的思想及迭代步骤; 2.掌握内点罚函数法的思想及迭代步骤。 [实验内容及步骤] 编程解决以下问题: 1.用外点罚函数法编程计算 精度. 外点法的计算步骤: (1)给定初始点x(0),初始罚因子, 放大系数c>1;允许误差e>0,设置k=1; (2)以x(k-1)作为搜索初始点,求解无约束规划问题 ,令x(k)为所求极小点。 (3)当,则停止计算,得到点x(k);否则,令,返回 (2)执行。 程序清单 外点罚函数法程序见附录11 实验结果 实验结果为 运行结果为: 2.用内点罚函数法编程计算 初始点取为,初始障碍因子取,缩小系数取. 内点罚步骤: 给定初始内点,允许误差e>0, 障碍参数,缩小系数,置k=1; 以为初始点,求解下列规划问题: ,令为所求极小点 如果,则停止计算,得到结果, 否则令,置k=k+1,返回 (2)。 内点罚计算框图 程序清单 内点罚函数法程序见附录12 实验结果 运行结果为: 附录1 #include #include #defineMAX20480 doublefun(doublex) { returnx*x*x-2*x+1; } doubleMax_Num(doublea,doubleb) { if(a>b) returna; else returnb; } doubleMin_Num(doublea,doubleb){ if(a returna; else returnb; } voidStepAdding_Search(double&a,double&b) { doublet[MAX]={0}; doubleh[MAX]={0}; doublef[MAX]={0}; doubleresult=0; doublep=2; t[0]=0; h[0]=1; f[0]=fun(t[0]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优化 方法 课程 实验 报告