【摘要】:模式搜索法是Hooks和Jeeves于1961年提出来的,模式搜索法每一次迭代都是交替进行轴向移动和模式移动。虽然模式搜索法可能要计算很多点的函数值才能得到目标函数的近似极小值点,但是它易于在计算机上实现,实际效果也不错,因此被认为是一种可靠的方法。运用MATLAB工具箱里的patternsearch,可以实现模式搜索法。解:在MATLAB中编写代码如下:运行后得到结果如下:即函数最优解为-0.703 7和-0.186 0。例5.11使用模式搜索法求解函数。
模式搜索法是Hooks和Jeeves于1961年提出来的,模式搜索法每一次迭代都是交替进行轴向移动和模式移动。轴向移动的目的是探测有利的下降方向,而模式移动的目的则是沿着有利方向加速移动。在几何上是寻找具有较小函数值的“山谷”,力图使迭代产生的序列沿“山谷”逼近极小值点。
这种方法类似于最速下降法,沿脊线下山是步长加速的有利方向。
对峰回路转,“褶皱”特别多的曲面而言,这为跳出某一局部山谷而到达另一可能更优山谷提供了可能。
虽然模式搜索法可能要计算很多点的函数值才能得到目标函数的近似极小值点,但是它易于在计算机上实现,实际效果也不错,因此被认为是一种可靠的方法。
运用MATLAB工具箱里的patternsearch,可以实现模式搜索法。patternsearch函数的完整格式为:
其中,fun为目标函数;x0为起始点。
例5.10 使用模式搜索法求解函数。(www.daowen.com)
解:在MATLAB中编写代码如下:
运行后得到结果如下:
即函数最优解为-0.703 7和-0.186 0。
例5.11 使用模式搜索法求解函数。
解:运用函数patternsearch,在MATLAB中编写代码如下:
运行后得到结果如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关运筹学实验指导及MATLAB程序设计的文章