今日二更,看到了一个刚刚发表的蛇优化算法(SO),心血来潮,决定马上分享给大家!!!
蛇优化(Snake Optimizer, SO)[1]是Hashim, F. A.和 Hussien, A. G两位教授于2022年提出的优化算法,其算法灵感来蛇的觅食和繁殖行为和模式,下面直接步入正题:
与所有元启发式算法一样,SO 首先生成均匀分布的随机种群,以便能够开始优化算法过程。初始化公式如下:
SO的探索和开发阶段主要受温度 和食物量 的影响,其公式如Eq(2)和Eq(3)表示:
其中 代表当前迭代, 代表最大迭代次数,
当 (0.25为原文规定的阈值)SO通过择任何随机位置来搜索食物并更新它们相对于它的位置,即探索阶段,随机搜索公式为:
SO的开发阶段相对复杂,分为3种模式——靠近猎物(食物)模式、战斗模式、交配模式,3种模式同时受温度 和食物量 的影响,这是与探索模式的不同之处。
言归正传,当 时,蛇将处于战斗模式或交配模式。
SO源代码传送门:Snake Optimizer
通过观察算法公式该算法使用了较多固定值,如 ,可以从这里下手,通过添加随机扰动来跳出局部最优,在蛇孵蛋也就是将最劣解重置的时候,可以采用其他方法进行重置,比如对立学习(OBL)等。
Hashim, F. A., & Hussien, A. G. (2022). Snake Optimizer: A novel meta-heuristic optimization algorithm.Knowledge-Based Systems, 108320.