1 蚁群算法原理 

通过信息素(会蒸发)来交流

    蚂蚁属于群居昆虫,个体行为极其简单,而群体行为却相当复杂。

  1. 协作能力:一群蚂蚁很容易找到从蚁巢到食物源的最短路径,而单个蚂蚁则不能。
  2. 自适应能力:例如在蚁群的运动路线上突然出现障碍物时,它们能够很快地重新找到最优路径。

仿生学家经过大量细致观察研究发现,蚂蚁个体之间是通过一种称之为外激素(pheromone) 的物质进行信息传递,从而能相互协作,完成复杂的任务。蚁群之所以表现出复杂有序的行为,个体之间的信息交流与相互协作起着重要的作用。

 

 (*******)蚂蚁在运动过程中,能够在它所经过的路径上留下该种物质,而且蚂蚁在运动过程中能够感知这种物质的存在及其强度,并以此指导自己的运动方向。

   蚂蚁倾向于朝着该物质强度高的方向移动。因此由大量蚂蚁组成的蚁群的集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多, 则后来者选择该路径的概率就越大。

蚂蚁个体之间就是通过这种信息的交流达到搜索食物的目的。

 

(路径越短,释放的信息素越多)

(潜在可行解:蚂蚁选择路径)

(评价机制:信息素含量)

 

M.Dorigo 用下面的例子来具体说明蚁群系统的原理。

    A 是巢穴,E 是食物源,HC 为障隘物。各点之间距离如图所示。假设每个时间单位有30 只蚂蚁由A 到达B,有30 只蚂蚁由E 到达D 点,蚂蚁过后留下的激素物质量为1设该物质停留时间为1

     (1) 初始时,路径上均无信息存在, 蚂蚁等概率选择路径。

     (2) 经过一个时间单位后, 在路径BCD 上的信息量是路径BHD 上信息量的二倍。将有更多的蚂蚁选择路径BCD


蚁群算法的核心有三条

     (1) 选择机制:信息素越多的路径,被选中的概率越大;

     (2) 信息素更新机制:路径越短,信息素增加越快;

     (3) 协作机制:个体之间通过这种信息素进行交流。

 

3 蚁群算法的基本流程

•    AS算法求解流程的两大步骤

•    1、路径构建

–  每只蚂蚁都随机选择一个城市作为其出发城市,并维护一个路径记忆向量,用来存放该蚂蚁依次经过的城市。蚂蚁在构建路径的每一步中,按照一个随机比例规则选择下一个要到达的城市。

(路径记忆变量—)数组向量:n个城市走过/没走过)

•    2、信息素更新

–  信息素蒸发

–  每只蚂蚁根据自己构建的路径长度对本轮经过的边上释放信息素

路径构建

•    AS中的随机比例规则

–  设蚂蚁k当前所在城市为i,其选择城市j作为下一个访问对象的概率为:

k个蚂蚁在第i个城市选择第j个城市概率:

====》第i个城市与第j个城市之间信息素的含量

======》第i个城市与第j个城市距离的倒数

=0,P只和距离(问题)相关

 =0,P只和信息素相关

 

计算概率的累加和,然后产生随机数,看随机数落在哪个区间(轮转法)===》选择城市

 

 

信息素更新

•    信息素更新的2个步骤:信息素的蒸发和每个蚂蚁根据自己构建的路径长度在本轮经过的边上释放信息素。

i个城市与第j个城市之间信息素的含量:



例:2 3 1 5 4 7 6 2

1 2 3 4 5 6 7 1

2-3边上的信息素较多,选择概率大


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐