EMA:进化交配算法


在这里插入图片描述

1.摘要

本文提出了一种新的求解约束优化问题的进化算法——进化匹配算法(Evolutionary Mating Algorithm, EMA),EMA采用Hardy-Weinberg均衡中的随机交配概念和交叉指数来产生新的后代。同时该算法还考虑了环境因素(即捕食者的存在)的影响,并将其作为一种探索机制。

2.进化交配算法(EMA)

2.1 交配和后代的选择

交配的选择过程是随机进行的。在这里,交配过程假设是基于采用概率或机会进行性选择:
I m a t e s = I s e x _ r a t i o + [ ∗ I m a t e s ( t ) − ∗ I m a t e s ( k ) ] I_{\mathrm{mates}}=I_{\mathrm{sex\_ratio}}+\left[^*I_{\mathrm{mates}(t)}-^*I_{\mathrm{mates}(k)}\right] Imates=Isex_ratio+[Imates(t)Imates(k)]
*Imates(t) 和 *Imates(k) 表示因时间和空间上的女性可用性变化而产生的性选择机会的加权值。Imates 被用来描述由性别比例的季节性变化、配偶的时间及空间可用性产生的选择机会,这些都会影响到交配成功的总体变异。在该算法中,将这两个分量进行了修改,将雄性和雌性的性选择机会作为雄性和雌性的适合度方差:
I mates = 1 + [ v a r ( X m , ∗ T ) − v a r ( X f , ∗ T ) ] I_\text{mates}=1+\left[\mathrm{var}(X_{m,*}^T)-\mathrm{var}(X_{f,*}^T)\right] Imates=1+[var(Xm,T)var(Xf,T)]
为了产生新的子代,使用Hardy-Weinberg原理:
X c h i l d T = { p . ∗ X m , ∗ T + q . ∗ x f , ∗ T f o r I m a t e s ≥ 0 p . ∗ X f , ∗ T + q . ∗ x m , ∗ T f o r I m a t e s < 0 \left.X_{\mathrm{child}}^T=\left\{\begin{matrix}p.*X_{m,*}^T+q.*x_{f,*}^T&\mathrm{for}&I_{\mathrm{mates}}\geq0\\p.*X_{f,*}^T+q.*x_{m,*}^T&\mathrm{for}&I_{\mathrm{mates}}<0\end{matrix}\right.\right. XchildT={p.Xm,T+q.xf,Tp.Xf,T+q.xm,TforforImates0Imates<0

此外,所产生子代的维度也可能受到初始化过程中以及每次迭代中存储的当前最佳解决方案的影响:
X c h i l d T + 1 = K . ∗ X c h i l d , j T + X j b e s t . ∗ ( 1 − K ) . X_{\mathrm{child}}^{T+1}=K.*X_{\mathrm{child},j}^{T}+X_{j}^{\mathrm{best}}.*(1-K). XchildT+1=K.Xchild,jT+Xjbest.(1K).

在EMA中,遇到捕食者的概率r需要根据所要解决的优化问题进行调整:
X c h i l d T + 1 =   r a n d ( 1 , d ) . ∗ X j b e s t X_{\mathrm{child}}^{T+1}=\mathrm{~rand}(1,d).*X_{j}^{\mathrm{best}} XchildT+1= rand(1,d).Xjbest

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Sulaiman M H, Mustaffa Z, Saari M M, et al. Evolutionary mating algorithm[J]. Neural Computing and Applications, 2023, 35(1): 487-516.

5.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值