0%

蚁群算法

算法思想

将蚁群算法应用于解决优化问题的基本思路为:用蚂蚁的行走路径表示待优化问题的可行解,整个蚂蚁群体的所有路径构成待优化问题的解空间。路径较短的蚂蚁释放的信息素量较多,随着时间的推进,较短的路径上累积的信息素浓度逐渐增高,选择该路径的蚂蚁个数也愈来愈多。最终,整个蚂蚁会在正反馈的作用下集中到最佳的路径上,此时对应的便是待优化问题的最优解。

算法流程(蚁群解决TSP)

选择下一座城市的规则

  • 由选择公式可见,分母是所有可选路径的信息素的和,而某路径信息素越浓,选中它的概率越大。

  • 同时,给出了beta参数作为启发信息的权重,在这里,启发信息正如其名,是一种启发,根据其初值可知,哪条路径最短,其被选中的概率就越高。在早期,就是这样的启发信息来促使算法少走弯路。

信息素更新规则

  • 当Lk 计算完毕之后,得到目前最优解,根据最优解的路径更新信息素。

  • 可见,信息素在更新之前,先削弱了旧信息素的影响,然后将最优路径的信息素添加进去,由于最优,所以L小,信息素大。

缺点

实际实验中发现,当蚂蚁在一条路径上觅食很久时,放置一个近的食物基本没有效果,这可以理解为当一只蚂蚁找到一条路径时,在经过很长时间后大多数蚂蚁都选择了这条路径,这时,突然有一只蚂蚁找到了较近的食物,但因为时间过得太久,两条路径上浓度相差太大(浓度越大,被选择的概率就越大),整个系统基本已经停滞了,陷入了局部最优。