【智能算法】象群算法(EHO)原理及实现

目录


1.背景

2016年,Wang等人受到自然界中象群社会行为启发,提出了象群算法(Elephant Herding Optimization, EHO)。

2.算法原理

2.1算法思想

EHO将大自然中象群的氏族结构和游牧过程中公象离群的行为,抽象为氏族更新操作和分离操作,实现高效的寻优过程。

2.2算法过程

氏族更新操作

在一个氏族中,大象在一起生活,并受到一头雌性大象的领导:
x new , ci , j = x ci , j + α × ( x best , ci − x ci , j ) × r (1) x_{\text{new},\text{ci},j}=x_{\text{ci},j}+\alpha\times\left(x_{\text{best},\text{ci}}-x_{\text{ci},j}\right)\times r\tag{1} xnew,ci,j=xci,j+α×(xbest,ci−xci,j)×r(1)

其中,xbest,ci为氏族ci的雌性领袖,是氏族ci中适应度最好的个体。

论文中提出氏族中心概念,对雌性领袖位置进行更新:
x n e w , c i , j = β × x c e n t e r , c i (2) x_{\mathrm{new,ci,}j}=\beta\times x_{\mathrm{center,ci}}\tag{2} xnew,ci,j=β×xcenter,ci(2)

氏族中心表述为:
x c e n t e r , c i , d = 1 n c i × ∑ j = 1 n c i x c i , j , d (3) x_{\mathrm{center},\mathrm{ci},d}=\frac{1}{n_{\mathrm{ci}}}\times\sum_{j=1}^{n_{\mathrm{ci}}}x_{\mathrm{ci},j,d}\tag{3} xcenter,ci,d=nci1×j=1∑ncixci,j,d(3)

分离操作:

自然界中雄性大象的生活习性是成长到一定年龄就会离开象群独自生活:
x w o r s t , c i = x m i n + ( x m a x − x m i n + 1 ) × R (4) x_{\mathrm{worst,ci}}=x_{\mathrm{min}}+\bigl(x_{\mathrm{max}}-x_{\mathrm{min}}+1\bigr)\times R\tag{4} xworst,ci=xmin+(xmax−xmin+1)×R(4)

伪代码

3.结果展示

4.参考文献

1\] Wang G G, Deb S, Gao X Z, et al. A new metaheuristic optimisation algorithm motivated by elephant herding behaviour\[J\]. International Journal of Bio-Inspired Computation, 2016, 8(6): 394-409.

相关推荐
Allen_LVyingbo4 分钟前
PostgreSQL动态分区裁剪技术:查询性能优化解析(2026年版)
数据库·算法·观察者模式·postgresql·性能优化·架构
少许极端17 分钟前
算法奇妙屋(三十二)-DFS解决floodfill问题
算法·深度优先·dfs·floodfill
m0_7166670724 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
Lenyiin25 分钟前
《LeetCode 顺序刷题》51 - 60
java·c++·python·算法·leetcode·深度优先·lenyiin
Sakinol#31 分钟前
Leetcode Hot 100 —— 图论
算法·leetcode·图论
我怎么又饿了呀31 分钟前
DataWhale—大模型的算法基础(环境的部署Anaconda)
人工智能·算法
ZZhYasuo36 分钟前
冒泡排序1
java·算法·排序算法
重生之后端学习37 分钟前
72. 编辑距离
数据结构·算法·leetcode·深度优先·图论
juleskk38 分钟前
3.15 复试训练
算法
j_xxx404_40 分钟前
力扣:525.连续数组和1314.矩阵区域和(二维前缀和)
算法·leetcode·矩阵