工作时间AM:09:00--PM:20:00

WORKINGTIME

/public/upload/system/2018/07/26/f743a52e720d8579f61650d7ca7a63a0.jpg免费咨询

/public/upload/system/2018/07/26/f743a52e720d8579f61650d7ca7a63a0.jpg
邮箱:
广东省广州市天河区88号
电话:
/public/upload/system/2018/07/26/f743a52e720d8579f61650d7ca7a63a0.jpg
传真:
/public/upload/system/2018/07/26/fe272790a21a4d3e1e670f37534a3a7d.png
手机:
13800000000
地址:
1234567890
盛煌APP下载
当前位置: 首页 > 盛煌APP下载
第五十四弹——平衡优化器  上传时间:2024-07-01 13:22:42

再一次被师兄教导,深感惭愧~本期为大家介绍平衡优化器(Equilibrium Optimizer,EO)。该算法由Afshin Faramarzi等人于2020年提出,主要受用于估计动态和平衡状态的控制体积质量平衡模型的启发。同原子搜索优化算法、人工电场优化算法一样,EO算法也是基于部分物理现象而提出的:

Equilibrium Optimizer (EO)

平衡优化器的灵感来源于控制体积上的简单混合以达到动态质量平衡的状态,其中质量平衡方程用于描述控制体积中非反应性成分的浓度,为体积中进入、离开和产生的质量守恒提供了基础物理。其一阶常微分方程表述为:

式中V 为容器的容积,C 为溶液密度,Q 为流进或流出控制容积的容量流率,Ceq 表示平衡状态下的浓度,G 为容器内的质量生成速率。这个有点像考研中的高数物理应用部分,过了快一年我也啥都忘了。。。通过求解式(1)可以得到:

其中\\lambda 为流动率,C0 为初始浓度,F 为系数:

首先仍然是我们熟悉的种群初始化:

其中Cmax、Cmin分别为搜索空间上、下限,r 为[0,1]内的随机数。

众所周知,算法迭代至后期会停留在某一层面上,甭管此时是收敛到了理论最优值还是陷入了局部极值,都可以看做是进入了一个平衡状态。

对于大多数算法而言在迭代初期,所有个体没有一个引导的方向,只有最优个体确定后,其余个体才以某一种模式进行移动。像是灰狼优化算法采取三精英引导,黑猩猩优化算法引用四精英引导,EO算法中选择出适应度值排名前四位的个体,并取四者平均值作为“第五人”,在后续中以同等的概率在这五人中随机选取一人引导其余个体:

这种操作就能够在一定程度上减小算法陷入局部最优值的概率。

式(4)中F 主要影响浓度更新规则,为使其更好地平衡算法的全局搜索和局部搜索,作者对F 进行如下改进:

式中a1为权重系数,r\\lambda 均为[0,1]内的随机向量,参数t 的更新方式为:

这里a2 同样为权重系数,iter 为当前迭代次数,Max_iter 为最大迭代次数。

在该算法中,G 是通过改进开发阶段来提供精确解的最重要条件之一。在许多工程应用中,有许多模型可以用来表示模型生成率随时间的变化。例如:

式中G0 为初始值,K 为衰减常数。为了更好地适应算法的迭代,作者进行如下改进:

其中r1、r2 均为[0,1]内的随机数,GCP 为生成速率控制参数,GP=0.5为生产率。

最终个体的位置更新方式为:

图1展示了在一维空间中各参数如何帮助算法进行勘探和开发:

图1 各参数在算法迭代时的作用过程

图2展示了五位大佬对小弟们的指导过程:

图2 五位大佬的引导

至此,算法迭代伪代码为:

本期我们将EO算法与往期的冠状病毒群体免疫优化器(CHIO)、骑手优化算法(ROA)在部分CEC2017测试函数上进行对比测试,取种群规模为30,维度为30,最大迭代次数为10000,计算结果如下:

图3 三个算法在function3上的对比测试
图4 三个算法在function5上的对比测试
图5 三个算法在function21上的对比测试
图6 三个算法在function25上的对比测试

可以看出,无论是收敛精度还是收敛速度,EO算法都更胜一筹~

总体而言,EO算法的设计包括高探索性和开发性搜索机制,五大佬随机引导机制有效的避免了算法陷入局部最优值。这种随机更新以及生成率有效的改善了EO在初始迭代中的探索行为和在最终迭代中的利用性搜索。总之还是不错的。

平台注册入口