1、原理介绍
模式搜索法[1]是Hooke与Jeeves提出的一种直接搜索算法,其目的是通过比较目标函数在有限点集中的函数值来优化目标函数。更重要的是,它不仅不使用任何导数知识,而且不需要隐式地建立任何一种导数近似。
在这种直接搜索技术中,将模式移动和探索移动相结合,迭代地寻找最优解。该技术首先沿着每个轴进行探索性移动,以寻找新的基点和有利于函数值下降的方向。然后,为了加快在探索性移动中确定的方向上的搜索过程,采用模式移动。模式移动与探索移动交替进行,直到满足停止条件,如图1所示[2]。
图1 模式搜索示意图
图二:模式搜索算法伪代码
2、自适应模式搜索
模式搜索方法原有的固定步长适用于单峰函数,但在处理复杂的多峰问题时,可能导致解陷入局部最优。因此,为了保持种群的多样性并充分利用搜索空间中每个解的知识,采用自适应步长。公式如下所示:
3、仿真实验
以海洋捕食者算法(MPA)为基本算法。考察基于自适应模式搜索的改进海洋捕食者算法(命名为PMPA) vs. 海洋捕食者算法(MPA)
在Sphere函数上:
在Rosenbrock函数上:
在Penalized1函数上:
在CEC2017-1上:
在CEC2017-3上:
在CEC2017-4上:
在CEC2017-12上:
在CEC2017-24上:
在CEC2017-28上:
基于自适应模式搜索法的改进海洋捕食者算法(PMPA)在23个标准测试函数及CEC2017测试集中的大部分函数上的性能优于原算法。在30维的Rosenbrock函数上精度达到1e-20,30维的Penalized1函数上的精度达到1e-30,在30维CEC2017测试集的单峰函数上能直接找到全局最优。
代码获取:
4、参考文献
[1] Hvattum L M, Glover F. Finding local optima of high-dimensional functions using direct search methods[J]. European Journal of Operational Research, 2009, 195(1): 31-45.
[2] Kang F, Li J, Li H. Artificial bee colony algorithm and pattern search hybridized for global optimization[J]. Applied Soft Computing, 2013, 13(4): 1781-1791.
[3] Torczon V. On the convergence of pattern search algorithms[J]. SIAM Journal on optimization, 1997, 7(1): 1-25.