智能优化算法:象群算法-附代码
@[toc]
摘要:象群优化算法(Elephant Herding Optimization, EHO)是 Wang 等人于2016 年提出了一种新的群体智能优化算法,用于解决全局无约束优化问题,它源于自然界中大象的畜牧行为。它已经成功应用于多级别阈值,支持向量机参数优化,调度问题等诸多问题。尽管 EHO 算法是一种较新的元启发式算法,但它有着结构简单、控制参数少以及易于和其它方法相结合等特点,能够很好的解决寻优问题。
1.算法原理
在自然界中,一个象群可分为几个氏族,每个氏族都有母象作为首领,在每一代中,一定数量的雄象会离开氏族。对于不同氏族的的大象在族长(氏族中位置最好的大象)的领导下生活,固定数量的雄象在长大后会离开它们所在的氏族,从而执行氏族更新操作来更新氏族中每个大象的位置,得到新的大象氏族位置,随后执行分类操作,进而优化氏族中位置较差的大象位置。
在基本的象群优化算法中氏族代表着局部搜索,离开氏族的雄象则执行全局搜索。在基本的 EHO 算法中,先进行更新操作决定算法的搜索方向和局部搜素详细程度,随后实现分离操作。这个过程包括两个阶段:氏族更新操作和分离操作。
1.1 氏族更新操作
来自不同群体的大象在族长的领导下一起生活。 女族长是氏族中适应度最好的大象。每个大象的位置都根据其位置和女族长的位置进行更新。 族长的位置根据氏族中心的位置进行更新。
随机初始化大象种群,将大象种群分为 个氏族,每个氏族中有 个大象个体,在每次迭代中,每个大象 的位置都会随氏族 中族长(适应度值最好的位置,)移动:
式中:,是更新后的位置,,是上一代的位置,,是在氏族中适应度最好的位置,代表氏族中位置最佳的女族长,对大象个体的影响的比例因子, 是算法后期用来提高种群多样性的随机数。
氏族 中女族长的位置,被定为:
式中: 代表第二个算法参数,它控制氏族中心的影响。氏族中心被定义为:
其中代表第 维, 是搜索空间的总维数, 是氏族 中大象的数量。
1.2 氏族分离操作
雄性大象在长大后会离开他们的群体,以增加群体的全局搜索能力和密度。最坏的大象(适应度最差的大象)被删除,并在搜索空间进行随机搜索以增加搜索性能。
在每个氏族中,具有最差适应度函数值的恒定数量的大象会被移动到新的位置。它们的位置定义为:
其中和 分别表示搜索空间的下限和上限,。
EHO 算法的基本步骤如下:
Step1: 初始化种群、设置最大迭代次数。
Step2: 用适应度函数计算每个大象个体的适应度值,得到当前最优个体位置。
Step3: 根据公式(1)更新种群中每个大象个体的位置,使用公式(2)更新当前最优个体的位置。
Step4: 计算更新之后的每个大象个体的适应度值,评估种群,得到更新后的种群最优和最差的大象个体位置。
Step5: 使用公式(4)更新当前最差个体位置,保留更好的解。
Step6: 判断是否达到最大迭代次数,若是,则输出当前最优个体位置以及对应的适应度值,否则返回执行 Step2。
2.算法结果
3.参考文献
[1]张子建,王宏伟,周怀芳,尤森槟.基于多机制混合象群算法的混沌系统参数估计[J].微电子学与计算机,2020,37(06):40-45.
[1]曹倩倩. 象群优化算法的改进及其在网络入侵检测中的应用[D].湖北工业大学,2020.
4.Matlab代码
https://mianbaoduo.com/o/bread/aZeTlpY=