目标是找到起点和终点之间的最短路径,总路径长度被选择为与每个可能的解决方案相关的成本或奖励。在模拟中,考虑了三种不同尺寸的网格网络,即20X20、30X30 和40X40。假设一只蚂蚁只能占据一个节点,并且一次只能沿四个不同方向移动到其相邻节点之一,即上、下、左、右。所有节点均匀分布在网络中;将任意两个相邻节点之间的距离归一化为 1(或 1 个单位块)。因此,路径长度以(单位)块的数量表示。模拟从“干净”的环境开始;即原网络中没有障碍物。选择左上角作为起点,选择右下角作为目的地。所有的信息素都初始化为 0.1。然后应用蚁群算法找到最短路径并沉积信息素。计算流程图如图1所示。图2说明了ACO算法在20X20网格网络中找到的路径收敛到其最佳值,其中y轴表示路径长度(以块/网格数为单位),x -axis 表示模拟运行时间(以秒为单位)。为了模拟动态环境,在算法收敛后添加障碍(障碍物)(为了公平比较,障碍物的大小与网络的大小成正比)。其中 40X40 网格内的两个较暗区域代表添加的两个任意障碍物随机选择的位置。为了在这个有障碍物的新网络中找到最短路径,必须再次调用ACO算法。信息素初始化在ACO算法中起着重要的作用。在这个项目中,添加障碍物后,网络中的信息素被重新初始化。测试了两种不同的重新初始化方案,即全局初始化和局部初始化,并比较了它们的性能。全局初始化时,将全网所有信息素统一重置回原来的信息素水平,即0.1。通过局部初始化,信息素的“梯度”在对象周围初始化。网络中最高信息素水平一半的值直接应用于对象旁边的点。然后信息素水平降低一小部分(例如,
问问题
103 次