象群游牧算法的数学模型

象群的游牧行为非常复杂,但是其中一些行为可以帮助我们寻找全局最优解和局部最优解。对此,进行数学建模为:

(1) 象群的每个部落都有固定数目的大象;

(2) 每次迭代中,部落中都有一定数目的大象离开部落,独自生活并与部落保持一定的联系;

(3) 每个部落都是由女族长领导-----在算法中,女族长是适应度值最大的大象。

象群游牧算法

部落中大象位置的更新公式

1)部落中普通大象的更新公式:

\(p_{jc}^{t+1} = p_{jc}^{t} + \alpha*(p_{best}-p_{jc}^{t})*rand\)

其中,\(p_{jc}^{t+1}\)和\(p_{jc}^{t}\)分别是部落\(c\)中,第\(j\)个大象的更新后和更新前的位置,\(t\)表示迭代次数,\(\alpha\)表示[0,1]之间的随机数。

2)族长的位置更新公式:

\(p_{center, c} = \frac{\sum_{r=1}^{n_c}p_{jc}^{t}}{n_c}\)

其中,\(n_c\)是部落中大象的数目。

\(p_{bested} = \beta*p_{center, c}\)

其中,\(p_{bested}\)表示更新后的族长位置, \(\beta\)是[0,1]的随机数。

3)公象的分离公式:

\(p_{worst}^{t+1} = p_{min,c} + rand*(p_{max,c} - p_{min,c})\)

其中,\(p_{max,c}\)和\(p_{min,c}\)表示部落中大象位置的上下界。

象群游牧算法--EHO的更多相关文章

  1. 象群游牧算法-Matlab

    1. 适应度函数: function z=chaffer(x)%chaffer函数x=(0...0) f(x)=0 x[-10,10]%%没测 n=10; s1=0; for i=1:n s1=s1+ ...

  2. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  3. [Algorithm] 群体智能优化算法之粒子群优化算法

    同进化算法(见博客<[Evolutionary Algorithm] 进化算法简介>,进化算法是受生物进化机制启发而产生的一系列算法)和人工神经网络算法(Neural Networks,简 ...

  4. 利用百度地图API和群蚁算法,对TSP问题进行模拟与求解

    前言 最近由于换了工作,期间也有反思和总结上家公司的得失,总觉得有什么事情当初可以完成或者完成得更好,其中TSP问题就是其中之一.当初在开发一个仓配系统的时候,有一个线路排程的需求,当时自己简单在纸上 ...

  5. 揽货最短路径解决方案算法 - C# 蚁群优化算法实现

    需求为(自己编的,非实际项目): 某配送中心进行揽货,目标客户数为50个客户,配送中心目前的运力资源如下: 现有车辆5台 单台运力最大行驶距离200千米 单台运力最大载重公斤1吨 问:运力怎样走法才能 ...

  6. 【CI】CN.一种多尺度协同变异的微粒群优化算法

    [论文标题]一种多尺度协同变异的微粒群优化算法 (2010) [论文作者]陶新民,刘福荣, 刘  玉 , 童智靖 [论文链接]Paper(14-pages // Single column) [摘要] ...

  7. 粒子群优化算法PSO及matlab实现

    算法学习自:MATLAB与机器学习教学视频 1.粒子群优化算法概述 粒子群优化(PSO, particle swarm optimization)算法是计算智能领域,除了蚁群算法,鱼群算法之外的一种群 ...

  8. C# 蚁群优化算法实现

    C# 蚁群优化算法实现 需求为(自己编的,非实际项目): 某配送中心进行揽货,目标客户数为50个客户,配送中心目前的运力资源如下: 现有车辆5台 单台运力最大行驶距离200千米 单台运力最大载重公斤1 ...

  9. MATLAB粒子群优化算法(PSO)

    MATLAB粒子群优化算法(PSO) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.介绍 粒子群优化算法(Particle Swarm Optim ...

随机推荐

  1. 1-Introduction(介绍)

    目录: 正文: (一)機器學習就是让机器自動找函式 语音/图像识别 (二)你想找什麼樣的函式? (2.1)Regression 找出的函数其输出是一个数值 (2.2)Classification (2 ...

  2. [atARC070E]NarrowRectangles

    记$len_{i}=r_{i}-l_{i}$,即第$i$个区间的长度 用$f_{i,j}$表示前$i$个区间合法,第$i$个区间位于$[j,j+len_{i}]$的最小代价,暴力dp的时间复杂度为$o ...

  3. [luogu3334]抛硬币

    (数据范围的公式渲染有一些问题,大概是$a\le b\le 100$) 同洛谷4548,推导过程省略,直接给出答案-- 令$p_{H}=\frac{b}{a}$,$p_{T}=\frac{b}{b-a ...

  4. [atAGC045D]Lamps and Buttons

    由于$p_{i}$是随机的,不断选择最小的.未被操作过的$i$并处理其所在的环一定是最优的,而这样与已知$p_{i}$的区别是,当选择了一个$i=p_{i}$,那么必然失败(而已知$p_{i}$时不会 ...

  5. 统计学习2:线性可分支持向量机(Scipy实现)

    1. 模型 1.1 超平面 我们称下面形式的集合为超平面 \[\begin{aligned} \{ \bm{x} | \bm{a}^{T} \bm{x} - b = 0 \} \end{aligned ...

  6. 洛谷 P3600 - 随机数生成器(期望 dp)

    题面传送门 我竟然独立搞出了这道黑题!incredible! u1s1 这题是我做题时间跨度最大的题之一-- 首先讲下我四个月前想出来的 \(n^2\log n\) 的做法吧. 记 \(f(a)=\m ...

  7. 基于PASA进行基因预测

    PASA, acronym for Program to Assemble Spliced Alignments, is a eukaryotic genome annotation tool tha ...

  8. 面向对象编程—self,继承

    目录 1. self 2. init 2.1 使用方式 2.2 init()方法的调用 2.3 总结 3. 继承 3.1 继承的概念 3.2 继承示例 3.2.1 说明 3.3 总结 3.4 多继承 ...

  9. Linux—&#160;查看系统的位数

    [root@zf-test-web01-4 ~]# file /bin/ls           #"/bin/ls" is a binary file /bin/ls: ELF ...

  10. gcc 引用math 库 编译的问题 解决方法

    1.gcc app.c -lm 其中lm表示的是连接 m forlibm.so / libm.a表示你想要的库 abc for libabc.so / libabc.a 其中.a表示的是静态链接库 . ...