简单介绍一下蚁群算法的思路。我们尝试复原一下蚂蚁寻找食物的场景。想象有一只蚂蚁找到了食物,这时它需要将食物带回蚁穴。对于这一只蚂蚁而言,它显然并不知道应该怎么走。那么,这只蚂蚁有可能会随机选择一条路线。

这条路线很可能是一条远路。但是,蚂蚁一路上留下了记号,也就是信息素。如果这只蚂蚁继续不停地搬运食物,或者有许多其他蚂蚁一块搬运的话。他们总会在运气好的时候走到更快往返的路线上。蚂蚁选择的路越好,相同时间内往返的次数也就更多,也就在路上留下了更多的信息素。

于是,蚂蚁们总会发现,有一些路径的信息素更浓,这些路径就是更好的路线。于是蚂蚁也就更多地向信息素更浓的路径上偏移。蚂蚁们不停重复这个过程,最终总能找到一条确定的路线,而这条路线就是蚂蚁们找到的最优路径。

蚁群算法步骤

  1. 初始化蚂蚁数量、可行路段、每条路段距离、每条路段的初始信息素大小等信息
  2. 设定蚂蚁的起点、终点。
  3. 蚂蚁从起点出发根据信息素浓度,有一定的概率性选择路段,浓度越高,概率越大,逐步回到终点。
  4. 在蚂蚁走过的路径上,根据每条路段的长度按比例释放信息素,短的路段释放的信息素多,长的路段释放的信息素少。
  5. 对所有路段的信息素进行挥发。
  6. 回到第二步进行循环,直到蚂蚁数量迭代完。