2025年JBD SCI2区TOP,基于改进蚁群算法的应急路径规划,深度解析+性能实测
目录
- 1.摘要
- 2.环境建模
- 3.改进ACO: EPIACO
- 4.结果展示
- 5.参考文献
- 6.代码获取
- 7.算法辅导·应用定制·读者交流
1.摘要
随着建筑结构日益复杂,科学有效的紧急疏散路径规划在减少人员伤亡和财产损失方面变得愈加重要。蚁群优化算法(ACO)由于具备正反馈、强鲁棒性和低计算复杂度等优点,成为解决复杂建筑中紧急疏散路径优化的理想方法。然而,ACO存在收敛速度慢和早期停滞等局限性。因此,本文提出了一种紧急路径规划改进蚁群优化算法(EPIACO),EPIACO通过六项改进机制增强ACO性能:不均匀初始信息素分布、具有方向性判断的启发式函数、自适应信息素波动因子、差异化信息素更新规则、改进状态转移概率策略以及路径平滑。
2.环境建模
环境建模是路径规划中的关键步骤,为了准确描述行人的紧急疏散路径规划过程,必须对环境地图进行建模。常见的建模方法包括拓扑法、自由空间法和网格法,其中网格法因其结构简单且易于编程实现,广泛应用于路径规划,并显著提高了路径搜索效率。因此,本文基于网格法构建了紧急路径规划的环境模型。
网格法通过将地图划分为多个等大小的网格进行建模,白色网格表示无障碍区域,行人可以自由通行;黑色网格表示静态障碍物(如建筑物墙体),通常变化较慢;红色网格表示动态障碍物(如火灾蔓延或疏散过程中人员的位置),其位置会随时间变化。每个网格的坐标对应其中心点,网格序号按从左到右、从上到下的顺序进行分配。路径规划的搜索涵盖了八个方向,确保路径的全面性和有效性。
3.改进ACO: EPIACO
自适应初始信息素
ACO环境地图上每条路径的信息素浓度相同,导致算法在初期盲目搜索,效率低下。为提高初始优化能力,本文提出了一种改进初始信息素分布方法,该方法根据起点、当前点、下一点和终点之间的相对距离设置初始信息素浓度。通过将信息素浓度集中在路径总距离较短的区域,避免了盲目搜索,提高了搜索效率:
τij(0)={a0×edSEdSi+dij+djE,j∈C0,otherwise\tau_{ij}(0)= \begin{cases} a_0\times e^{\frac{d_{SE}}{d_{Si}+d_{ij}+d_{jE}}},j\in C \\ 0,otherwise & & \end{cases} τij(0)={a0×edSi+dij+djEdSE,j∈C0,otherwise
改进启发式函数
ACO启发式函数仅考虑当前点与下一点的距离,未考虑下一点与终点的关系,导致算法随机性大、引导性弱、收敛速度慢。为此,本文改进启发式函数,加入了下一点与终点的距离和目标方向角度,增强了终点引导作用,提高了收敛速度。同时,引入了自适应阻尼因子,减少了启发式信息在后期的影响,提升了全局搜索能力和收敛效率。
ηij(t)=λε1dij+ε2djE×ecosϕ\eta_{ij}(t)=\frac{\lambda}{\varepsilon_1d_{ij}+\varepsilon_2d_{jE}}\times e^{\cos\phi} ηij(t)=ε1dij+ε2djEλ×ecosϕ
λ={Ncmax−NcNcmax,Nc≠Ncmax1Ncmax,Nc=Ncmax\lambda= \begin{cases} \frac{N_{c\mathrm{~max}}-N_c}{N_{c\mathrm{~max}}},N_c\neq N_c\mathrm{~max} \\ \\ \frac{1}{N_{c\mathrm{~max}}},N_c=N_c\mathrm{~max} & & \end{cases} λ=⎩⎨⎧Nc maxNc max−Nc,Nc=Nc maxNc max1,Nc=Nc max
ϕ=arccos(diE2+dij2−djE22×diE×dij)\phi=\arccos\left(\frac{d_{iE}{}^{2}+d_{ij}{}^{2}-d_{jE}{}^{2}}{2\times d_{iE}\times d_{ij}}\right) ϕ=arccos(2×diE×dijdiE2+dij2−djE2)
自适应信息素波动因子
信息素波动因子ρ\rhoρ直接影响ACO全局搜索能力和收敛速度。传统算法中,固定ρ\rhoρ可能导致局部最优或收敛缓慢。为此,本文引入了自适应信息素波动因子:
ρ(t+1)={NcmaxNcmax+Nc×ρ(t),ρ(t)≥ρminρmin,otherwise\rho(t+1)= \begin{cases} \frac{N_{c\max}}{N_{c\max}+N_{c}}\times\rho(t),\rho(t)\geq\rho_{\min} \\ \rho_{\min},otherwise & \end{cases} ρ(t+1)={Ncmax+NcNcmax×ρ(t),ρ(t)≥ρminρmin,otherwise
自适应信息素更新规则
传统ACO算法中信息素更新对所有路径相同,导致最差路径可能误导蚂蚁,降低收敛速度。为提高收敛速度,本文引入基于狼群分配策略的差异化信息素更新方法,通过归一化因子根据最优和最差路径长度调整信息素强度,使最优路径上的蚂蚁获得更多信息素,从而加速收敛。
τij(t+1)=(1−ρ)×τij(t)+∑k=1KΔ∗τijk(t)\tau_{ij}(t+1)=(1-\rho)\times\tau_{ij}(t)+\sum_{k=1}^{K}\Delta^{*}\tau_{ij}^{k}(t) τij(t+1)=(1−ρ)×τij(t)+k=1∑KΔ∗τijk(t)
改进状态转移概率
ACO在初始搜索过程中不可避免地产生大量交叉路径,由于算法的禁忌表和障碍物限制,许多蚂蚁在到达终点之前会陷入死锁状态,导致局部收敛和收敛速度缓慢。随着环境地形的复杂化,死锁现象更加严重。本文引入了障碍回避因子,在计算状态转移概率时考虑周围可用点的数量,从而有效应对障碍物并减少死锁状态。
avoidj=NjAjavoid_j=\frac{N_j}{A_j} avoidj=AjNj
pijk(t)={[τij(t)]α[ηij(t)]β[aνoidj]γ∑j∈allowdk[τij(t)]α[ηij(t)]β[aνoidj]γ0,otherwise,j∈allowedkp_{ij}^{k}(t)= \begin{cases} \frac{\left[\tau_{ij}(t)\right]^{\alpha}\left[\eta_{ij}(t)\right]^{\beta}\left[a\nu oid_{j}\right]^{\gamma}}{\sum_{j\in allowd_{k}}\left[\tau_{ij}(t)\right]^{\alpha}\left[\eta_{ij}(t)\right]^{\beta}\left[a\nu oid_{j}\right]^{\gamma}} \\ 0,otherwise & \end{cases},j\in allowed_{k} pijk(t)=⎩⎨⎧∑j∈allowdk[τij(t)]α[ηij(t)]β[aνoidj]γ[τij(t)]α[ηij(t)]β[aνoidj]γ0,otherwise,j∈allowedk
4.结果展示
5.参考文献
[1] Sun H, Zhu K, Zhang W, et al. Emergency path planning based on improved ant colony algorithm[J]. Journal of Building Engineering, 2025, 100: 111725.
6.代码获取
xx
7.算法辅导·应用定制·读者交流
xx