1、原理介绍
作为一种有效的直接搜索技术,Rosenbrock坐标轮换法[1,2]是根据Rosenbrock著名的“香蕉函数”的特点量身定制的,该函数的最小值位于曲线狭窄的山谷中。此外,该方法是一种典型的基于自适应搜索方向集的无导数局部搜索技术。此法于1960年由Rosenbrock提出,它与Hooke-Jeeves模式搜索法有些类似,但比模式搜索更为有效。每次迭代运算分为两部分[3]:
1). 沿n个正交方向进行试探;
2). 决定n个新的正交方向以改善原来的搜索方向。每次迭代的试探方向组是不同的。
2、自适应Rosenbrock坐标轮换法
原始Rosenbrock坐标轮换法的搜索步长在初始化后根据搜索情况进行尺度因子调整,为了更好地适应复杂的适应度景观,考虑为步长更新融入更多的启发式信息,使其能够基于优化过程中精英个体获得的知识作出自适应的调整,公式如下所示:
3、仿真实验
以海洋捕食者算法(MPA)为基本算法。考察基于自适应Rosenbrock坐标轮换法的改进海洋捕食者算法(命名为SAR-MPA) vs. 海洋捕食者算法(MPA)
在Sphere函数上的比较:
在Rosenbrock函数上:
在Ackley函数上:
在Penalized1函数上:
在CEC2017-1函数上:
在CEC2017-3函数上:
在CEC2017-4函数上:
在CEC2017-12函数上:
在CEC2017-28函数上:
基于自适应Rosenbrock坐标轮换法的改进海洋捕食者算法(SAR-MPA)在23个标准测试函数及CEC2017测试集中的大部分函数上的性能优于原算法。在30维的Rosenbrock函数上精度达到1e-20,在30维CEC2017测试集的单峰函数上能直接找到全局最优。
代码获取:
4、参考文献
[1] Robert Michael Lewis, Virginia Torczon, and Michael W. Trosset. Direct search methods: then and now. Journal of Computational and Applied Mathematics, 124(1):191–207, 2000.
[2] H., H., and Rosenbrock. An automatic method for finding the greatest or least value of a function. The Computer Journal, 3(3):175–184, 1960.
[3] 陈宝林. 最优化理论与算法[M]. 清华大学出版社, 2005.