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

相关推荐
302wanger6 分钟前
ARTS-算法-长度最小的子数组
算法
lizz3131 分钟前
机器学习中的线性代数:奇异值分解 SVD
线性代数·算法·机器学习
MSTcheng.36 分钟前
【C语言】动态内存管理
c语言·开发语言·算法
不去幼儿园40 分钟前
【启发式算法】Dijkstra算法详细介绍(Python)
人工智能·python·算法·机器学习·启发式算法·图搜索算法
serve the people1 小时前
神经网络中梯度计算求和公式求导问题
神经网络·算法·机器学习
闻缺陷则喜何志丹1 小时前
【二分查找、滑动窗口】P10389 [蓝桥杯 2024 省 A] 成绩统计|普及+
c++·算法·蓝桥杯·二分查找·滑动窗口·洛谷·成绩
乔冠宇2 小时前
蓝桥杯算法——铠甲合体
算法·职场和发展·蓝桥杯
商bol452 小时前
算阶,jdk和idea的安装
数据结构·c++·算法
迷迭所归处2 小时前
C语言 —— 愿文明如薪火般灿烂 - 函数递归
c语言·开发语言·算法
柠檬鲨_5 小时前
C语言100天练习题【记录本】
c语言·数据结构·算法