【原文翻译】An Improved Ant Colony Optimization Algorithm for Multi-Agent Path Planning

An Improved Ant Colony Optimization Algorithm for Multi-Agent Path Planning(用于多智能体路径规划的改进型蚁群优化算法)

摘要

近年来,蚁群优化算法已成为应用最广泛的启发式算法之一,并被广泛应用于解决不同类型的路径规划问题。然而,多智能体路径搜索仍存在一些问题,如收敛效率低、易陷入局部最优和顶点冲突等。本文提出了一种基于参数优化顶点冲突解决的改进蚁群优化算法。首先,我们初始化了信息素的分布,以减少算法早期的盲目性。其次,我们引入了自适应信息素强度和信息素减少因子,以避免算法陷入局部最优。在此基础上,通过动态修正蒸发因子和启发式函数,提高算法的全局搜索能力和收敛速度。此外,动态修正影响因子和启发式函数的策略也提高了算法的全局搜索能力和收敛速度。==为解决 MAPF 中的顶点冲突,我们采用了设计冲突预测和解决策略,==有效避免了顶点冲突,提高了多智能体系统的可靠性。仿真实验验证了 IACO 在不同复杂度环境下的有效性和适应性,证明了 IACO 具有良好的收敛速度和路径全局优化能力。

I. INTRODUCTION

近年来,随着人工智能技术的飞速发展,路径优化已成为热门研究课题之一。路径优化是指在已知或未知障碍物的情况下,根据最优性能的评价标准,包括收敛速度、路径长度等,在工作空间中找到一条最优的前进路径,并有效地避开障碍物。A* 算法 [1] 和 Dijkstra 算法 [2] 是典型的路径规划方法。随着人工智能优化算法的不断发展,遗传算法[3]和蚁群优化算法[4]等仿生算法越来越受到人们的关注。然而,它们也存在一些缺陷,亟待改进。蚁群优化算法(ACO)作为一种仿生智能算法,因其具有良好的鲁棒性和鲁棒智能搜索能力等优点而被学者们广泛研究。如上所述,它也存在搜索时间长、收敛速度慢、最优局部解等问题[5]。本文基于蚁群优化算法研究了多智能体路由问题,并进行仿真实验验证了我们方法的性能。本文的贡献总结如下:

  • 我们提出了一种改进的蚁群优化算法(IACO),该算法主要针对多智能体路径寻找问题,通过参数优化和顶点冲突解决来提高多智能体系统的效率和可靠性。
  • 我们根据影响 ACO 性能的基本参数对 ACO 进行改进和优化。通过自适应动态参数调整模式,防止算法陷入局部最优。我们利用自适应动态参数调整策略来避免局部最优。
  • 我们提出了多代理路径搜索(MAPF)中的冲突解决策略,有效避免了路径搜索中的顶点冲突问题,确保了系统的稳定性。

II. RELATED WORKS

A. Multi-Agent Path Finding

MAPF 是多智能体的路径查找问题,要求每个智能体在不发生冲突的情况下到达目标 [6]、[7]。它在仓库管理 [8]、机场牵引 [9]、自动驾驶汽车、机器人技术 [10] 等领域都有实际应用。Nazarahari 等人[11] 对遗传算法进行了改进,在算法中加入了碰撞消除算子,以消除机器人之间可能发生的碰撞。然而,这种方法仅限于障碍物较少的外部环境,无法应用于障碍物较多的复杂环境。Cao 等人[12]提出了一种基于预留区域的多机器人路径规划方法,避免了路径规划中机器人间路径高度耦合的问题。Yu 等人[13]设定了每个机器人的优先级,以最小化工作完成时间。然而,由于每个机器人的独立性很强,使用这种方法很容易找到局部最优情况。
尽管如此,人工智能研究人员在过去几年中还是取得了长足的进步,为越来越多的场景和一百多个智能体找到了最优解[14]̢[16]。然而,之前的大多数研究工作都假定:(1) 时间被离散成时间步;(2) 每个行动的持续时间为一个时间步;(3) 在每个时间步中,每个智能体只占据一个位置。这些简化假设限制了 MAPF 算法在现实世界中的适用性。

B. Ant Colony Optimization Algorithm

ACO 本质上是一种基于智能体的系统,模拟蚂蚁的自然行为,包括合作和适应机制。Corne 等人[17]将这种系统作为一种新的元启发式来解决组合优化问题。事实证明,这种新的元启发式既稳健又灵活,并已成功应用于一系列不同的组合优化问题。ACO 是一种仿生优化算法,它通过人工模拟蚂蚁的行为来获得最短路径。由于蚂蚁对周围环境不敏感,背景的变化不会影响蚂蚁快速找到新的最短路径。对蚂蚁来说,起决定作用的是一种叫做信息素的特殊分泌物,它是蚂蚁为寻找最短路径而分泌的。每只蚂蚁都会沿路径释放信息素,根据每条路径上信息素浓度的差异,就能找到最短路径。

III. METHODOLOGY

在传统的 ACO 中,信息启发因子、期望启发因子、信息素波动系数等都是基本参数,通常是固定不变的。因此,初级 ACO 容易陷入局部最优,在动态环境下迭代速度较慢。此外,在 MAPF 中,不同时期的参数对算法的影响是不同的。因此,我们对传统的 ACO 进行了改进,以克服上述缺陷。

A. Improved Initial Pheromone

初始信息素浓度的均匀分布往往会导致一些问题,如初始迭代时搜索盲目性强、收敛速度慢等。在以往的研究中,研究者[18]、[19]证实了信息素初始化的差异化分配有利于更稳健地找到最优路径。为了减少错误启发式信息对蚂蚁的误导,提高寻优能力,我们基于弱启发式的思想对算法中的信息素分布进行初始化。初始化函数定义如下:

τ t = { C = t ∈ R τ 0 = o t h e r s \tau_t = \left \{ \begin{aligned} C & = & t \in R \\ \tau_0 & = & others \end{aligned} \right. τt={Cτ0==tRothers

其中,C 是常数,且大于 τ 0 \tau_0 τ0 ,R 是蚂蚁可行的有利节点区域集。

B. Adaptive Pheromone Intensity

在蚂蚁探索的早期阶段,有必要扩大搜索范围以找到更好的路径。此时,必须将信息素强度设置为较小,以避免蚂蚁继续在一条路径上行走或得到局部最优解。但是,在探索的后期阶段,路径的探索已经完成,较短的路径已经确定。此时,不需要在大范围内探索,而是要稳定一条较短的路径。因此,Q 值需要足够大。在这种情况下,信息素强度的值不再是恒定的,需要随着迭代次数的增加而不断变化。自适应信息素强度函数如下:
Q n = ϕ ∗ l n ( n ) , ϕ ∈ [ 0 , 1 ] Q_n = \phi * ln(n),\phi \in[0, 1] Qn=ϕln(n),ϕ[0,1]

其中,n 是当前迭代次数, ϕ \phi ϕ 是调节因子。

C. Pheromone Reduction Factor

信息素更新可分为两个过程:实时更新和全局更新。当蚂蚁在迭代结束后更新全局信息素时,找到的最短路径上的信息素值就会增加。根据每轮迭代结束后所有路径的平均信息素值,我们引入信息素减少因子,其定义为:
v = L b L a L a = ∑ i = 1 k L i / n \begin{aligned} v = \frac{L_b}{L_a} \\ L_a = \sum^{k}_{i=1} L^{i} / n \end{aligned} v=LaLbLa=i=1kLi/n
其中, L b L_b Lb 表示一次搜索中找到的最短路径, L a L_a La 表示一次搜索中蚂蚁的平均路径长度。搜索路径越短,信息素减少系数就越小,保留的信息素就越多,反之亦然。蚂蚁完成路径搜索后,需要更新全局信息素。更新规则如下
τ i j ( t + 1 ) = ( 1 − ρ ) τ i j ( t ) + ( 1 − v ) ▽ τ i j ( t ) \tau_{ij}(t+1) = (1- \rho)\tau_{ij}(t) + (1-v) \bigtriangledown \tau_{ij}(t) τij(t+1)=(1ρ)τij(t)+(1v)τij(t)
其中, τ i j ( t ) \tau_{ij}(t) τij(t) 表示时间 t 时(i,j)中的信息素, ρ \rho ρ v v v 为权重参数。带有缩减因子的路径信息素更新方法可以加快算法的收敛速度,并显著提高选择最优路径的概率。

D. Optimized Heuristic Function

由于正反馈不明显,蚂蚁在栅格环境中很容易陷入局部最优。通过利用当前节点与下一节点之间的距离之和以及下一节点与目标节点之间的距离之和的平方来优化启发式函数,我们改进了迭代搜索中的启发式函数。该函数能使蚂蚁在搜索初始阶段获得指引方向,并增加目标节点对下一个节点的影响。改进后的启发式函数定义如下

d j k = ( x j − x k ) 2 + ( y j − y k ) 2 η i j ∗ = 1 ( d i j + d j k ) 2 \begin{aligned} d_{jk} = \sqrt{(x_{j} - x_{k})^{2} + (y_{j} - y_{k})^{2}} \\ \eta_{ij}^{*} = \frac{1}{(d_{ij}+d_{jk})^2}\end{aligned} djk=(xjxk)2+(yjyk)2 ηij=(dij+djk)21
其中, d j k d_{jk} djk 表示节点 J 与目标点 K 之间的欧氏距离, η i j ∗ ∗ \eta_{ij}^{**} ηij∗∗ 表示影响系数。通过将传统的 d i j d_{ij} dij 改为 ( d i j + d j k ) 2 (d_{ij} +d_{jk})^2 (dij+djk)2 ,增强了搜索的目的性,降低了陷入局部最优解的概率。

E. Dynamic Evaporation Factor

传统的蚁群优化蒸发系数在算法运行过程中是恒定的,无法适应动态变化的环境。因此,我们采用了自适应动态蒸发系数,具体如下:

ρ d ( t + 1 ) = { 9 n N ρ ( t ) 9 n N ρ ( t ) ≤ ρ m a x ρ m a x o t h e r s \rho_d(t+1) = \left \{ \begin{aligned} \frac{9n}{N}\rho(t) & & \frac{9n}{N}\rho(t) \leq \rho_{max} \\ \rho_{max} & & others\end{aligned} \right. ρd(t+1)= N9nρ(t)ρmaxN9nρ(t)ρmaxothers

其中, ρ d \rho_{d} ρd 表示改进后的信息素蒸发系数,N 表示最大迭代次数。

F. Vertex conflict problem

MAPF 系统正逐渐取代单智能体路径搜索(SAPF)系统。与单智能体相比,多智能体在集群中工作时,所有智能体可以协调合作,提高工作效率[7],[20]。然而,在多智能体集群系统中,如果智能体同时到达同一节点,就会发生路径冲突和系统死锁。为了解决光栅地图路径查找中的顶点冲突问题,本文提出了一种冲突预测与解决策略。

  1. 冲突检验:多智能体系统 A A A 规划初始路径组 L c = [ L c 1 , L c 2 , . . . , L c n ] L_c=[L_{c_1},L_{c_2}, ..., L_{c_n}] Lc=[Lc1,Lc2,...,Lcn] 表示为每个智能体,每条路径是一组节点坐标。如果 A i A_i Ai 的初始路径 L c i L_{c_i} Lci 与其他智能体的初始路径节点集的交集为空,则智能体 A i A_i Ai 可以按照初始路径安全移动。假设路径坐标位置与其他智能体初始路径坐标集的交集不为空。在这种情况下,初始路径与其他智能体的初始路径存在交点,有必要进行安全判断。判断方法如下:

∣ d S i W i , j ( k ) v i − d S j W i , j ( k ) v j ∣ |\frac{d_{S_{i}W_{i,j}(k)}}{v_{i}} -\frac{d_{S_{j}W_{i,j}(k)}}{v_{j}} | vidSiWi,j(k)vjdSjWi,j(k)

其中,݀ d S i W i , j ( k ) d_{S_{i}W_{i,j}(k)} dSiWi,j(k) 表示沿 A 的初始路径 A i A_{i} Ai,从起始节点 S i S_{i} Si 到交点 W i j ( k ) W_{ij}(k) Wij(k) 的距离。这意味着当二者沿初始路径移动时,不会在安全时间内到达交点 W i j W_{ij} Wij,也就不存在路径冲突。交点称为伪冲突节点 M i j M_{ij} Mij 。如果不满足该公式,则会发生路径冲突,需要进行路径协调。智能体 A i A_{i} Ai ,与其他智能体之间的初始路径交点集为 W i = W i , 1 ∪ W i , 2 ∪ . . . ∪ W i , n W_{i}=W_{i,1} \cup W_{i,2} \cup ... \cup W_{i,n} Wi=Wi,1Wi,2...Wi,n,并依次对 W i W_i Wi 中的交叉节点进行安全判断。判断完成后,从 W i W_{i} Wi中删除没有路径冲突的伪冲突节点集, 得到路径冲突节点集ܼ Z i = Z i , 1 ∪ Z i , 2 ∪ . . . ∪ Z i , n Z_{i}=Z_{i,1} \cup Z_{i,2} \cup ... \cup Z_{i,n} Zi=Zi,1Zi,2...Zi,n 智能体 A i A_{i} Ai 与其他智能体之间的路径冲突节点。

image-20231129165408640

IV. EXPERIMENTS AND DISCUSSIONS

A. Quantitative Experiments

根据ACO(A)和IACO(I)算法在不同模拟图中的测试要求,选择蚂蚁数量、初始信息素、信息素强度、蒸发系数等相关参数如表I所示。IACO 的信息素强度和信息素减少因子随迭代次数自适应变化。
表二显示了 ACO 和 IACO 在包含不同智能体的不同地图中的算法性能对比结果。根据在四种模拟地图中的测试,在相同的地图环境下,IACO 可以找到更短的最优路径。根据地图比例尺的不同,光路长度从大到小分别为 4、4、7、17。其中,在小地图中,由于环境简单,两种算法得到的最优路径长度相等。其次,IACO 算法的运行速度更快,分别达到 0.11、0.5、5.05 和 267.8。同时,在寻找最优路径的迭代次数上,IACO明显少于ACO,分别为2、5、14、36次。这充分说明本文对 ACO 的优化和改进有效地提高了算法的收敛能力和搜索速度。

image-20231129174150044

image-20231129174258688

image-20231129174403509

B. Conflict resolution

为了激发本文提出的顶点冲突解决策略的必要性,本文以 SSMALL 地图为例,仅针对冲突问题进行实验。结合图 2 和表 III,智能体 A 1 A_1 A1 A 2 A_2 A2 在寻路过程中会产生两个冲突点(1, 2)和(2, 3)。在 ACO 中, A 1 A_1 A1 序列的路径为 [(0, 0),(1, 1),(1, 2),(2, 3),(3, 2)], A 2 A_2 A2 序列的路径为 [(1, 0),(1, 1),(1, 2),(2, 3),(3, 3)]。冲突解决策略改进后,当 A 1 A_1 A1 A 2 A_2 A2 之间发生顶点冲突时,第一步是根据序列 . A 1 A_1 A1进入路径序列[(0,0),(1,1),(1, 2), (2, 3), (3, 2), A 2 A_2 A2为了避免冲突,路径序列变为[(1, 0). (0, 1), (0, 1), (1, 2), (2, 3), (3, 3)]. 通过使用 A 2 A_2 A2暂停一次,可以有效避免顶点冲突。

我们选择了具有代表性的中图和大图进行分析。如图 3 所示,圆圈标记表示起点,星号标记表示终点。这两种算法都能帮助每个智能体顺利找到最短的移动路径。随着传统 ACO 迭代次数的增加,蚂蚁会经常进入死锁状态,从而采取后退策略。这会导致智能体之间发生更多顶点碰撞,所得到的可行路径明显长于改进算法。所提出的解决策略能有效防止蚂蚁陷入局部最优状态。这也意味着可以避免顶点碰撞。总之,优化初始信息素和使用自适应信息素强度可以有效调整劣势蚂蚁对下一步路径选择的影响,防止非最优信息素对蚂蚁的误导。同时,引入信息素缩减因子产生的信息素浓度差可以有效帮助蚂蚁脱离局部最优。随着算法迭代的进行,动态信息素蒸发因子保证了蚁群的随机性,提高了算法的全局搜索能力。

V. CONCLUSION

本文利用 ACO 算法研究了 MAPF 问题,并针对传统 ACO 算法的缺陷提出了 IACO 优化方案。通过改进初始信息素和提出自适应信息素强度方案,防止算法陷入局部最优。此外,我们还引入了信息素减少因子和改进的蒸发因子,以提高算法的全局搜索能力和收敛速度。新的启发式功能加强了蚂蚁的正反馈作用。同时,基于MAPF中的顶点冲突问题,我们提出了一种新的冲突规避与解决策略,可以有效地检测和解决智能体之间的冲突,保证多智能体集群系统的可靠性。仿真实验表明,我们的方法至少提高了50%的效率,迭代次数减少了30%以上,证明了IACO的有效性和可行性。在今后的工作中,我们将进一步探索启发式算法在多智能体路径规划中的应用。

本文是对针对蚁群算法求解MAPF问题时,存在收敛效率低、易陷入局部最优、定点冲突等问题,进行的改进,该方法包括对蚁群算法的参数优化以及冲突预测和解决策略,参数优化包括:初始化信息素、信息素蒸发因子和启发式函数。

总结:基于蚁群算法进行改进,解决MAPF问题。引入信息素减少因子和改进的挥发因子,提高算法收敛速度和搜索能力,提出了冲突规避策略和解决冲突的策略。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值