蚁群算法及其应用

产生背景

20世纪90年代初,意大利科学家Marco Dorigo等受蚂蚁觅食行为的启发,提出蚁群算法(Ant Colony Optimization,ACO)。
一种应用于组合优化问题的启发式搜索算法。
在解决离散组合优化方面具有良好的性能。

基本思想

信息素跟踪:

按照一定的概率沿着信息素较强的路径觅食。

信息素遗留:

会在走过的路上会释放信息素,使得在一定的范围内的其他蚂蚁能够觉察到并由此影响它们的行为。
在这里插入图片描述

(1)环境:

有障碍物、有其他蚂蚁、有信息素。

(2)觅食规则:

范围内寻找是否有食物,否则看是否有信息素,每只蚂蚁都会以小概率犯错。

(3)移动规则:

都朝信息素最多的方向移动,无信息素则继续朝原方向移动,且有随机的小的扰动,有记忆性。

(4)避障规则:

移动的方向如有障碍物挡住,蚂蚁会随机选择另一个方向。

(5)信息素规则:

越靠近食物播撒的信息素越多,越离开食物播撒的信息素越少。

基本蚁群算法模型

蚁群优化算法的第一个应用是著名的旅行商问题。

旅行商问题(Traveling Salesman Problem,TSP):

在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。

蚂蚁搜索食物的过程 :

通过个体之间的信息交流与相互协作最终找到从蚁穴到食物源的最短路径。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中:
在这里插入图片描述
在这里插入图片描述

蚂蚁圈系统(Ant-cycle System)

在这里插入图片描述

蚂蚁数量系统(Ant-quantity System)

在这里插入图片描述

蚂蚁密度系统(Ant-density System)

在这里插入图片描述

三种模型比较

效果最好,通常作为蚁群优化算法的基本模型。
在这里插入图片描述

全局信息更新方法

优点:
保证了残留信息素不至于无限累积;
如果路径没有被选中,那么上面的残留信息素会随时间的推移而逐渐减弱,这使算法能“忘记”不好的路径;
即使路径经常被访问也不至于因为在这里插入图片描述
的累积,而产生在这里插入图片描述
使期望值的作用无法体现;
充分体现了算法中全局范围内较短路径(较好解)的生存能力;
加强了信息正反馈性能;
提高了系统搜索收敛的速度。

蚁群算法的参数选择

信息素启发因子a

反映了蚁群在路径搜索中随机性因素作用的强度;
a值越大,蚂蚁选择以前走过的路径的可能性越大,搜索的随机性减弱;
当a过大时会使蚁群的搜索过早陷于局部最优。

期望值启发式因子b

反映了蚁群在路径搜索中先验性、确定性因素作用的强度;
b值越大,蚂蚁在某个局部点上选择局部最短路径的可能性越大;
虽然搜索的收敛速度得以加快,但蚁群在最优路径的搜索过程中随机性减弱,易于陷入局部最优。

信息素挥发度1-p

当要处理的问题规模比较大时,会使那些从来未被搜索到的路径(可行解)上的信息量减小到接近于0,因而降低了算法的全局搜索能力;
而且当1-p过大时,以前搜索过的路径被再次选择的可能性过大,也会影响到算法的随机性能和全局搜索能力;
反之,通过减小信息素挥发度 1-p虽然可以提高算法的随机性能和全局搜索能力,但又会使算法的收敛速度降低。
在这里插入图片描述

蚁群算法的应用

柔性作业车间调度问题:某加工系统有6台机床,要加工4个工件,每个工件有3道工序,如表所示。
在这里插入图片描述

由图可以看出机器6并没有加工任何工件。分析其原因为它虽然可以加工工序p23 ,p33 ,p42 ,p43 但从表6.5可知机器6的加工时间大于其他可加工机器,特别是 p23 ,p33的加工时间,因此机器6并未分到任何加工任务。
在这里插入图片描述

最优解甘特图
在这里插入图片描述

由图可知,算法在大约30代以前就收敛到最优解,且各代最优解相差不大,可见算法较为稳定。
欢迎大家加我微信交流讨论(请备注csdn上添加)
在这里插入图片描述

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程子的小段

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值