一、基本介绍:
群智能优化方法是一群解被赋予不同程度的启发式信息,每个解以某种方式自身优化的同时,相互之间协作学习又启发引导,以群体协同演化的方式驱动算法群体持续优化,最终给出一组问题解。随机重心动态反向学习技术(Stochastic centroid dynamical opposition-based learning)是在重心反向学习的基础之上引入了随机的概念,具有“信息启发而不失随机,随机而不失信息启发”的特点。为了维持种群多样性,可将该技术用于群智能算法的位置更新阶段,其主要步骤如下:在每次迭代结束时,
Step1:选取种群中的前K个最好的个体(K是介于1到N之间的随机数,N为种群规模);
Step2:计算该K个个体的重心位置;
Step3:计算种群中每个个体关于上述重心位置的对位点;
Step4:评价对位点,并与之前的位置进行比较。若优于之前位置,则更新之;否则保留之前的位置。
作为一种有效的学习策略,随机重心动态反向学习技术可用于改进其它群智能算法,以提高算法收敛性能。
二、仿真试验:
将标准鲸鱼优化算法 (WOA) 与基于随机重心动态反向学习技术的鲸鱼优化算法 (SCWOA)在单峰函数F1,F7,多峰函数F12,F13上的结果进行比较,收敛曲线图如下所示:
三、附件
包含WOA与SCWOA代码以及原理讲解(随机重心动态反向学习封装在Dynamic_OBL.m中),以供直接调用。