几种蚁群算法介绍

作者: 学习编程王同学 | 来源:发表于2018-11-04 21:44 被阅读3次

蚂蚁系统

最早的蚁群算法,其在小规模TSP中性能尚可,再大规模TSP问题中性能下降,容易停滞。其解决旅行商问题(TSP)过程大致如下:

在初始时刻,m只蚂蚁被随机的放到城市中,在各条路径上的信息素初始值相等。

蚂蚁按照随机比例规则从允许的城市中选择下一个城市:

p_j = \frac{(\tau_j)^\alpha (\eta_j)^\beta}{\sum (\tau_j)^\alpha (\eta_j)^\beta}

τ为信息素,η 为启发式因子,a_k 为下一步被允许城市的集合。

使用禁忌表记录蚂蚁走过的城市,不允许蚂蚁选择已经访问过的城市。

所有蚂蚁完成一次周游后,计算每只蚂蚁的路径长度,保存最短路径长度。

更新每个城市信息素:

τ=(1−ρ)τ+∑Δτ, 0≤ρ≤1

Δτ=1/d

由上可知,先挥发信息素,再增加信息素。其中d为路径距离,路径越短,信息素增加越多。∑Δτ表示所有本次觅食过程中所有经过此城市的觅食成功的路线的信息素累加。

清空禁忌表,开始下一次周游。

精英蚂蚁系统

对算法每次循环之后给予最优路径额外的信息素。

对于普通路径中的每个城市:

τ(t+1)=(1−ρ)τ(t)+∑Δτ

对于最优路径中的每个城市:

τ(t+1)=(1−ρ)τ(t)+∑Δτ+eΔτ^(bs)

Δτ^(bs)=1/L

其中L代表最优路径长度,e是一个参数,表示权值大小。

最大-最小蚂蚁系统

目前解决TSP问题最好的蚁群算法之一,在蚂蚁系统的基础上进行了如下更改:

  1. 信息素被限制在[τmin , τmax]。
  2. 信息素的初始值被设定为取其上界。
  3. 只有最优路径上的信息素会被增加,其他城市的信息素只挥发。

对于一般城市: τ(t+1)=(1−ρ)τ(t)

对于最优路径上的城市:τ(t+1)=(1−ρ)τ(t)+∑Δτ

相关文章

  • 几种蚁群算法介绍

    蚂蚁系统 最早的蚁群算法,其在小规模TSP中性能尚可,再大规模TSP问题中性能下降,容易停滞。其解决旅行商问题(T...

  • awesome 蚁群算法

    蚁群算法介绍(以TSP问题为例)

  • TSP解决之道——蚁群算法

    参考 蚁群算法java实现以及TSP问题蚁群算法求解 蚁群算法原理与应用讲解 蚁群算法原理与应用1-自然计算与群体...

  • 蚁群算法简单介绍

    蚁群算法的基本原理 蚁群算法(Ant Colony Optimization, ACO)是通过模拟蚂蚁觅食的原理,...

  • 蚁群算法的介绍

    姓名:车文扬 学号:16020199006 转载自:https://blog.csdn.net/zlk961543...

  • 蚁群算法

    https://blog.csdn.net/kwame211/article/details/80347593

  • 蚁群算法

    简述 在蚂蚁种群中,蚂蚁间相互交流的方式是通过一种名为信息素的物质,它可以是蚂蚁行动时留下的物质,可以被其他蚂蚁所...

  • 蚁群算法

    伪代码解释(TSP):1.首先初始化启发值和信息素浓度2.进入一个大循环:(1)首先随机初始化一个开始节点,其他节...

  • 蚁群算法

    蚁群可以在不同的环境下,寻找到达实物源的最短路径。这是因为蚁群内的蚂蚁可以通过某种信息机制实现信息的传递。这种信息...

  • TSP问题—蚁群算法(ACO)

    TSP问题—蚁群算法(ACO) 蚁群算法(AG)是一种模拟蚂蚁觅食行为的模拟优化算法,它是由意大利学者Dorigo...

网友评论

    本文标题:几种蚁群算法介绍

    本文链接:https://www.haomeiwen.com/subject/hvidxqtx.html