【智能算法】人工生态系统优化算法(AEO)原理及实现

在这里插入图片描述


1.背景

2019年,Zhao等人受到地球生态系统能量流动启发,提出了人工生态系统优化算法(Artificial Ecosystem-based Optimization,AEO)。

2.算法原理

2.1算法思想

AEO通过生产者、消费者和分解者对生态系统中的生产、消费和分解行为进行模拟。生产算子旨在平衡勘探和开发能力,消费算子用于提升探索能力,分解算子旨在提高开发性能。
在这里插入图片描述

2.2算法过程

生产者
生产者是适应度值最差的个体,分解者是适应度值最优的个体。生产者根据搜索空间的上下限和分解者进行位置更新:
x 1 ( t + 1 ) = ( 1 − a ) x n ( t ) + a x r a n d ( t ) a = ( 1 − t / T ) r 1 x r a n d = L + r ( U − L ) (1) \begin{aligned}x_1(t+1)=&(1-a)x_n(t)+ax_{rand}(t)\\a=&(1-t/T)r_1\\x_{rand}=&L+r(U-L)\end{aligned}\tag{1} x1(t+1)=a=xrand=(1a)xn(t)+axrand(t)(1t/T)r1L+r(UL)(1)
消费者
在生态系统中,消费者以相同的概率分为食草动物、食肉动物和杂食动物。在AEO中,引入消费因子 C:
C = 1 2 v 1 ∣ v 2 ∣ v 1 ∼ N ( 0 , 1 ) , v 2 ∼ N ( 0 , 1 ) (2) \begin{gathered}C=\frac12\frac{v_1}{|v_2|}\\v_1\sim N(0,1),v_2\sim N(0,1)\end{gathered}\tag{2} C=21v2v1v1N(0,1),v2N(0,1)(2)
食草动物为只吃生产者的生物,位置更新方式:
x i ( t + 1 ) = x i ( t ) + C ⋅ ( x i ( t ) − x 1 ( t ) ) , i ∈ [ 2 , ⋯   , n ] (3) x_i(t+1)=x_i(t)+C\cdot(x_i(t)-x_1(t)),i\in[2,\cdots,n]\tag{3} xi(t+1)=xi(t)+C(xi(t)x1(t)),i[2,,n](3)
食肉动物为只吃消费者的生物,位置更新方式:
x i ( t + 1 ) = x i ( t ) + C ⋅ ( x i ( t ) − x j ( t ) ) i ∈ [ 3 , ⋯   , n ] , j = r a n d i ( [ 2 i − 1 ] ) (4) \begin{aligned}&x_i(t+1)=x_i(t)+C\cdot(x_i(t)-x_j(t))\\&i\in[3,\cdots,n],j=randi([2i-1])\end{aligned}\tag{4} xi(t+1)=xi(t)+C(xi(t)xj(t))i[3,,n],j=randi([2i1])(4)
杂食动物既吃生产者又吃消费者,位置更新方式:
x i ( t + 1 ) = x i ( t ) + C ⋅ ( r 2 ⋅ ( x i ( t ) − x 1 ( t ) ) + ( 1 − r 2 ) ( x i ( t ) − x j ( t ) ) ) i = 3 , ⋯   , n ; j = r a n d i ( [ 2 i − 1 ] ) (5) \begin{aligned}x_i(t+1)&=x_i(t)+C\cdot(r_2\cdot(x_i(t)-x_1(t))+(1-r_2)(x_i(t)-x_j(t)))\\i&=3,\cdots,n;j=randi([2i-1])\end{aligned}\tag{5} xi(t+1)i=xi(t)+C(r2(xi(t)x1(t))+(1r2)(xi(t)xj(t)))=3,,n;j=randi([2i1])(5)
分解者
在生态系统中,分解者为生产者提供养分。在AEO中,允许种群中的每个个体根据分解者生成每个个体的下一个位置。为了提高算法的性能,加入调节因子 D 和权重系数 e 、h 。分解者位置更新方式:
x i ( t + 1 ) = x n ( t ) + D ⋅ ( e ⋅ ( x n ( t ) − h ⋅ x i ( t ) ) ) , i = 1 , ⋯   , n D = 3 u , u ∼ N ( 0 , 1 ) e = r 3 ⋅ r a n d i ( [ 1 , 2 ] ) − 1 h = 2 ⋅ r 3 − 1 (6) \begin{gathered} x_{i}(t+1)=x_{n}(t)+D\cdot(e\cdot(x_{n}(t)-h\cdot x_{i}(t))),i=1,\cdots,n \\ D=3u,u\sim N(0,1) \\ e=r_{3}\cdot randi([1,2])-1 \\ h=2\cdot r_{3}-1 \end{gathered}\tag{6} xi(t+1)=xn(t)+D(e(xn(t)hxi(t))),i=1,,nD=3u,uN(0,1)e=r3randi([1,2])1h=2r31(6)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Zhao W, Wang L, Zhang Z. Artificial ecosystem-based optimization: a novel nature-inspired meta-heuristic algorithm[J]. Neural Computing and Applications, 2020, 32(13): 9383-9425.

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值