蚁群算法解决车间调度问题

关于蚁群算法:
蚁群系统(Ant System或Ant Colony System)是由意大利学者Dorigo、Maniezzo等人于20世纪90年代首先提出来的。他们在研究蚂蚁觅食的过程中,发现单个蚂蚁的行为比较简单,但是蚁群整体却可以体现一些智能的行为。例如蚁群可以在不同的环境下,寻找最短到达食物源的路径。这是因为蚁群内的蚂蚁可以通过某种信息机制实现信息的传递。后又经进一步研究发现,蚂蚁会在其经过的路径上释放一种可以称之为“信息素”的物质,蚁群内的蚂蚁对“信息素”具有感知能力,它们会沿着“信息素”浓度较高路径行走,而每只路过的蚂蚁都会在路上留下“信息素”,这就形成一种类似正反馈的机制,这样经过一段时间后,整个蚁群就会沿着最短路径到达食物源了。

图的生成:
车间调度问题我们可以转换为近似于最大流问题。任务当中的每一个阶段,都是这个图当中的一个节点。我们新增一个超级源点,超级源点和所有任务的第一阶段相连。其他的节点,当同时满足属于同一任务的两个节点中间不跳跃阶段的条件下相连。

图的遍历:
初始情况下,将蚂蚁统一放置到超级源点,并且将整个图的所有路径上的信息素设为一个固定值。之后,所有蚂蚁一起向终点行动,蚂蚁会受到信息素的影响,蚂蚁选择路径的方式是蚂蚁当前可走路径的信息素加和,作为取随机数m的最大值,通过随机数m和可选信息素,计算出蚂蚁选择的路径。当所有蚂蚁都走到终点的时候,将全图的信息素按照信息素消散参数进行消散,并计算出这些蚂蚁的路径。这个路径一种工件加工的顺序,按照这个顺序计算出工件加工的时间T。通过这个时间,计算出这个蚂蚁新增的信息素W=Q/T(Q是一个常数)。这个蚂蚁之前经历过的路径上的信息素都加上W。当所有的蚂蚁的信息素全部新增到图当中的时候。将所有蚂蚁再放回到起点,重复之前的步骤,随着重复次数的增多,蚂蚁会越来越向着最优解靠近。

最优解的寻找:
在计算蚂蚁行走的路径过程中,会时刻记录着当前出现过的,工件加工时间最短的情况。在程序结束之后,把最短的加工时间输出出来。

猜你喜欢

转载自blog.csdn.net/weixin_36909758/article/details/88037643
今日推荐