当前位置: 首页 > news >正文

2025年JBD SCI2区TOP,基于改进蚁群算法的应急路径规划,深度解析+性能实测

目录

    • 1.摘要
    • 2.环境建模
    • 3.改进ACO: EPIACO
    • 4.结果展示
    • 5.参考文献
    • 6.代码获取
    • 7.算法辅导·应用定制·读者交流


1.摘要

随着建筑结构日益复杂,科学有效的紧急疏散路径规划在减少人员伤亡和财产损失方面变得愈加重要。蚁群优化算法(ACO)由于具备正反馈、强鲁棒性和低计算复杂度等优点,成为解决复杂建筑中紧急疏散路径优化的理想方法。然而,ACO存在收敛速度慢和早期停滞等局限性。因此,本文提出了一种紧急路径规划改进蚁群优化算法(EPIACO),EPIACO通过六项改进机制增强ACO性能:不均匀初始信息素分布、具有方向性判断的启发式函数、自适应信息素波动因子、差异化信息素更新规则、改进状态转移概率策略以及路径平滑。

2.环境建模

环境建模是路径规划中的关键步骤,为了准确描述行人的紧急疏散路径规划过程,必须对环境地图进行建模。常见的建模方法包括拓扑法、自由空间法和网格法,其中网格法因其结构简单且易于编程实现,广泛应用于路径规划,并显著提高了路径搜索效率。因此,本文基于网格法构建了紧急路径规划的环境模型。

Grid environment model

网格法通过将地图划分为多个等大小的网格进行建模,白色网格表示无障碍区域,行人可以自由通行;黑色网格表示静态障碍物(如建筑物墙体),通常变化较慢;红色网格表示动态障碍物(如火灾蔓延或疏散过程中人员的位置),其位置会随时间变化。每个网格的坐标对应其中心点,网格序号按从左到右、从上到下的顺序进行分配。路径规划的搜索涵盖了八个方向,确保路径的全面性和有效性。

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,jC0,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 maxNc,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+dij2djE2)

自适应信息素波动因子

信息素波动因子ρ\rhoρ直接影响ACO全局搜索能力和收敛速度。传统算法中,固定ρ\rhoρ可能导致局部最优或收敛缓慢。为此,本文引入了自适应信息素波动因子:
ρ(t+1)={Ncmax⁡Ncmax⁡+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=1KΔτ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)=jallowdk[τij(t)]α[ηij(t)]β[aνoidj]γ[τij(t)]α[ηij(t)]β[aνoidj]γ0,otherwise,jallowedk

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

http://www.dtcms.com/a/391065.html

相关文章:

  • UIKit-layer
  • 一物一码公司推荐再互动平台
  • Wireshark捕获MQTT报文
  • Docker镜像核心作战手册:镜像命令全解析+离线迁移实战+压缩共享储存,打造无缝跨环境部署!
  • Static Deinitialization Order Fiasco
  • 如何使用 Qt Creator 高效调试
  • 保障路灯用电安全!配电箱漏电检测,为城市照明筑牢防线
  • 不同版本tensorflow推理报错解决方法
  • 嵌入式铁头山羊STM32-各章节详细笔记-查阅传送门
  • 在没有随机对照的情况下如果做实验对比:双重差分法(结合虚拟变量回归)(五)
  • 材质、效率双突破:Rendercool 解决室内渲染核心痛点
  • 【ThreeJs】【材质Material】核心材质参数解析手册
  • 无人机桨叶的材质与工艺对飞行速度的影响
  • PMBOK第六版项目沟通管理总结
  • fatal: Need to specify how to reconcile divergent branches.原因及解决方案
  • 二叉树与二叉搜索树(BST):从基础到应用
  • 【一天一个Web3概念】区块链分叉(Fork)全面解析:类型、案例与影响
  • PHP低代码工作流创新,为企业数字化转型添翼
  • 低代码+AI生态:企业数字化起步阶段的“核聚变”冲击波
  • 【Linux基础知识系列:第一百三十四篇】理解Linux的进程调度策略
  • 主机windows虚拟机centos的hadoop调试mapreduce访问hdfs文件
  • 嵌入式Linux C语言程序设计
  • 【开题答辩全过程】以 基于Python的电影数据爬取及可视化分析为例,包含答辩的问题和答案
  • 推荐一些适合新手的Java项目教程
  • 探索PV操作:并发编程的核心钥匙
  • 一计算机网络基本概念-体系结构-思考题
  • Teslasuit动捕服的实际应用,系统利用电肌肉刺激为用户在VR中提供逼真的感觉和触觉
  • 【DMA】深入解析DMA控制器架构与运作原理
  • wayland 下 带特殊权限的 Qt GUI 程序 部署为 开机自启+守护进程
  • 无事随笔——mp踩坑