智能优化算法:郊狼优化算法-附代码

智能优化算法:郊狼优化算法-附代码


摘要:郊狼优化算法[1](Coyote Optimization Algorithm ,COA)是2018年Juliano所提出的一种智能仿生优化算法, 与其他元启发式算法相比,COA具有独特的算法结构,该结构为优化过程中探索与开发的平衡提供了新的机制,COA可以在提高收敛效率的同时保持较高的种群多样性;因此,其在众多元启发式算法中表现出了较为优异的性能.

1.算法原理与流程

COA模拟郊狼种群的出生、成长、死亡及迁移等生活现象,具体流程如下:

step1step 1:设 置 郊 狼 群 体 NpNp, 每群含郊狼个体数 NcNc,维度 DD,及终止条件 nfevalMAXnfevalMAX等参数。

step2step 2:随 机 初 始 化 郊 狼 群, 第t时 刻 下pp群 内第 ii个郊狼个体被定义为:
xc,jp,t=lbj+rj(ubjlbj)(1) x_{c,j}^{p,t}=lb_{j}+r_{j}(ub_{j}-lb_{j})\tag{1}

xcp,t=(xc,1p,t,xc,2p,t,...,xc,Dp,t)(2) x_{c}^{p,t}=(x_{c,1}^{p,t},x_{c,2}^{p,t},...,x_{c,D}^{p,t})\tag{2}

其中, ubjub_{j}lbjlb_{j}分别表示第j维数值的上、 下界,rjr_{j}为随机生成的[0,1]范围内的实数。

step3step 3:评价郊狼适应能力
fitip,t=f(xip,t)(3) fit_{i}^{p,t}=f(x_{i}^{p,t})\tag{3}
step4step 4:郊 狼 有 时 会 脱 离 或 者 被 驱 逐 出 原 群 体,形成群体变迁,其发生概率定义为 PeP_{e}
Pe=0.005Nc2,Nc14(4) P_{e}=0.005N_{c}^{2},N_{c}\leq14\tag{4}
step5step 5:找到当前群内的头狼 alphap,talpha^{p,t},计算当前郊狼群体的文化趋势 clutp,tclut^{p,t}:
alphap,t={xip,targ{i=1,2,...,N}minf(xip,t)}(5) alpha^{p,t}=\{ x_{i}^{p,t}|| arg\{i=1,2,...,N\}minf(x_{i}^{p,t}) \}\tag{5}

clutjp,t={O(Nc+1)/2,jp,t,NcO(Nc+1)/2,jp,t+O(Nc)/2,jp,t,Nc(6) clut_{j}^{p,t}=\begin{cases}O_{(Nc+1)/2,j}^{p,t} ,N_{c}是奇数\\ O_{(Nc+1)/2,j}^{p,t} + O_{(Nc)/2,j}^{p,t},N_{c}是偶数\end{cases}\tag{6}

其中,O(Nc+1)/2,jp,tO_{(Nc+1)/2,j}^{p,t}表示当 NcN_{c}为奇数时,第tt时刻 pp群内的所有郊狼的第jj维度变量的中位数。

step6step 6:模 拟 遗 传 中 的 出 生 和 死 亡事件: 将郊狼的年龄 (以年为单位) 记为agecp,tage_{c}^{p,t}.新郊狼的出生(pupp,t)(pup^{p,t})被写成双亲(随机选择)的社会状态加上环境影响的组合:
pupjp,t={xm1,jp,t,randj<Psorj=j1xm1,jp,t,randjPs+Paorj=j2Rj,randj,(7) pup_{j}^{p,t}=\begin{cases} x_{m_{1},j}^{p,t},rand_{j}<Ps\quad or\quad j=j_{1}\\ x_{m_{1},j}^{p,t},rand_{j}\geq Ps+Pa \quad or\quad j=j_{2}\\ R_{j},rand_{j},其他\end{cases}\tag{7}
其 中, m1m_{1}m2m_{2}是来自pp狼 群 内 的 随 机 郊 狼,j1j_{1}j2j_{2}是问题的两个随机维数,RjR_{j}randjrand_{j}均为由均匀概率产生的[0,1]内的随机数. 离散概率(Ps)(Ps),和关联概率(Pa)(Pa)影响郊狼群中个体的文化多样性. PsPsPaPa被定义为:
Ps=1D,Pa=1Ps2(8) Ps=\frac{1}{D},Pa=\frac{1-Ps}{2}\tag{8}
step7step 7:计算头狼与群体文化趋势对当前时刻所对应的郊狼群内个体更新产生的影响 δ1\delta _{1}δ2\delta _{2}:
δ1=alphap,txcr1p,t,δ2=cultp,txcr2p,t(9) \delta_{1}=alpha^{p,t}-x_{cr_{1}}^{p,t},\delta_{2}=cult^{p,t}-x_{cr_{2}}^{p,t}\tag{9}
其中, cr1cr_{1}cr2cr_{2}分别代表当前群内的随机郊狼.

step8step 8:对郊狼群内所有郊狼个体依次进行更新得到新的郊狼个体 new_xip,tnew\_x_i^{p,t},择优选择新郊狼与原郊狼的适应度大小,并保留最优郊狼 xip,t+1x_i^{p,t+1}:
new_xip,t=xip,t+r1δ1+r2δ2(10) new\_x_i^{p,t}=x_i^{p,t}+r_1\delta_1+r_2\delta2\tag{10}

xip,t+1={new_xip,t,f(new_xip,t)<f(xip,t)xip,t,(11) x_i^{p,t+1}=\begin{cases}new\_x_i^{p,t},f(new\_x_i^{p,t})<f(x_i^{p,t})\\ x_i^{p,t},其他\end{cases}\tag{11}

其中,r1r_{1}r2r_{2}为均匀概率生成的[0,1]范围内的实数,代表郊狼个体受 alphaalpha狼与群体文化趋势影响的权重大小.

step9step 9:模 拟 个 体 随 时 间 的 推 移 而 成 长 的 过 程,对郊狼个体进行年龄更新.

step10step 10:判断终止条件,若达到,则输出适应能力最好的郊狼的社会状态;否则返回Step3Step3继续.

2.算法结果

智能优化算法:郊狼优化算法-附代码

3.参考文献

[1] Pierezan, J. and Coelho, L. S. “Coyote Optimization Algorithm: A new metaheuristic for global optimization problems”, Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Rio de Janeiro, Brazil, July 2018, pages 2633-2640.

[2]刘威,付杰,周定宁,王薪予,成秘,黄敏,靳宝,牛英杰.基于反时限混沌郊狼优化算法的BP神经网络参数优化[J/OL].控制与决策:1-10[2020-08-05].https://doi.org/10.13195/j.kzyjc.2020.0408.

[3]张新明,姜云,刘尚旺,刘国奇,窦智,刘艳.灰狼与郊狼混合优化算法及其聚类优化[J/OL].自动化学报:1-17[2020-08-05].https://doi.org/10.16383/j.aas.c190617.

4.MATLAB代码

https://mianbaoduo.com/o/bread/Z5mUkpw=