PAGE
数学实验
实验报告
实验名称 一维优化算法比较
班 级 2012211122
学 号 2012210532
姓 名 朱海潮
一、实验概述:
【问题简述】
有关“三点一维搜索”、“改进的抛物线法”两个优化算法,你可以选择其中一个,也可以将二者统一考虑。
需要你编程实现(注:课件所附程序仅作参考,存在瑕疵),选择适当的算例进行测试,就你所得到的实验结果给出翔实的报告——当然,你可以给出可能的改进性算法及其相应的数值结果。
比方,就“三点一维搜索”算法,可以研究算法与0.618法的区别与联系,可以以幂函数 的最小化问题作为测试算例,编程实现之,讨论算法的计算效率以及收敛性;特别,你可以尝试调节的取值,观测其对算法性能的影响;你还可以讨论算法中的不同构造方法(抛物线迭代、随机等)对方法的计算效率有大的影响吗?你有不同的改进建议吗?
【实验目的】
熟悉使用mathmatic软件进行计算机模拟的方法,掌握在该环境下的编程办法。
掌握三种一维优化算法。
【实验环境】
Wolfram Mathamtic 9.0
二、实验内容:
【算法】
0.618算法步骤:
三点一维搜索步骤:
改进的抛物线算法:
【程序代码】
【实验步骤】
实验讨论两个问题
1.对于函数,讨论当α取不同值时算法的效率(即迭代次数)。
2.对于三点一维搜索算法,讨论当p取不同值时算法的效率。每次进行100次计算,然后取100次的平均值作为最终结果。
首先编写三种搜索算法的函数,然后通过改变α获得不同α时的结果(α取0到7),并作图。同理,改变p获得不同p时三点一维算法的搜索结果(),并作图。
三.实验总结
【实验结论】
图1 三点一维算法在取不同p值时的迭代次数
如图1所示,在p取0.25左右时,迭代次数最小,此时三点一维算法的效率最好。
图2 三种算法在α取不同值时的迭代次数
如图2所示,在p取0.25时,三点一维搜索算法的波动较小且迭代次数较少;而0.618算法的迭代次数多且波动较大,算法不稳定;改进的抛物线算法在α取不同值时迭代次数改变很大。
综上所述,三点一维算法可以说是最好的算法。
【实验小结】
通过实验,掌握了三种一维搜索算法,并且比较了三种算法的优劣,最后得出了三点一维搜索算法为较好的算法的结论。
相关热词搜索: 算法 优化 数学 实验 报告