【智能算法】象群算法(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.

相关推荐
AI软著研究员6 小时前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish6 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱7 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者1 天前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮1 天前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者1 天前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考1 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx1 天前
CART决策树基本原理
算法·机器学习
Wect1 天前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱1 天前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法