TSP解决之道——蚁群算法

参考

蚁群算法java实现以及TSP问题蚁群算法求解

蚁群算法原理与应用讲解

蚁群算法原理与应用1-自然计算与群体智能

简介

1、蚁群算法(Ant Clony Optimization,ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。

2、是一种仿生学的算法,是由自然界中蚂蚁觅食的行为而启发。(artificial ants;双桥实验)

3、运作机理:当一定路径上通过的蚂蚁越来越多时,其留下的信息素轨迹也越来越多,后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的信息素强度,而强度大的信息素会吸引更多的蚂蚁,从而形成一种正反馈机制。

4、蚁群算法欧化过程中的两个重要原则:

     a、蚂蚁在众多路径中转移路线的选择规则。

     b、全局化信息素更新规则。信息素更新的实质就是人工蚂蚁根据真实蚂蚁在访问过的边上留下的信息素和蒸发的信息素来模拟真实信息素数量的变化,从而使得越好的解得到越多的增强。这就形成了一种自催化强化学习(Autocatalytic Reinforcement Learning)的正反馈机制。

TSP解决之道——蚁群算法_第1张图片
TSP解决之道——蚁群算法_第2张图片

原理

1、描述:蚂蚁数量m;城市之间的信息素矩阵pheromone;每次迭代的m个蚂蚁的最短路径    BestLength;最佳路径BestTour。                                                                                                                                     每只蚂蚁都有:禁忌表(Tabu)存储已访问过的城市,允许访问的城市表(Allowed)存储还可以访问的城市,矩阵(Delta)来存储它在一个循环(或者迭代)中给所经过的路径释放的信息素。

2、状态转移概率:在搜索过程中,蚂蚁根据各条路径上的信息量及路径的启发信息来计算状态转移概率。在t时刻蚂蚁k由元素(城市)i转移到元素(城市)j的状态转移概率:

TSP解决之道——蚁群算法_第3张图片

τij (t) :时刻路径(i, j)上的信息量。ηij=1/dij :启发函数。

α为信息启发式因子,表示轨迹的相对重要性,反映了蚂蚁在运动过程中积累的信息在蚂蚁运动时所起的作用,其值越大,则该蚂蚁越倾向于选择其它蚂蚁经过的路径,蚂蚁之间的协作性越强;

β为期望启发式因子,表示能见度的相对重要性,反映蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度,其值越大,则该状态状态转移概率越接近于贪心规则;

3、息素更新规则

TSP解决之道——蚁群算法_第4张图片

ρ表示信息素挥发系数;Δτij(t)表示本次循环中路径(i, j)上的信息素增量,初始时刻Δτij(t) =0。

4、三种信息增量计算方法:

TSP解决之道——蚁群算法_第5张图片
第一种
TSP解决之道——蚁群算法_第6张图片
第二种


TSP解决之道——蚁群算法_第7张图片
第三种

区别:第一种利用了全局信息,在走一圈后更新。二、三中都利用的是局部信息。通常使用第一种。

5、TSP中流程图

TSP解决之道——蚁群算法_第8张图片

你可能感兴趣的:(TSP解决之道——蚁群算法)