1. 引言
随着数字化经济转型的深入和消费模式的变革,电子商务已经成为驱动全球经济的核心力量之一,而电商物流作为驱动电子商务运作的“大动脉”,也进入了前所未有的高速发展阶段。这态势一部分得益于跨境电商爆发式的增长速率,更源于人工智能、自动化机器人等智能技术的深度赋能,驱动行业从劳动密集型产业向技术密集型产业转变。电商业务模式爆发式增长带来海量订单的同时,也为传统物流系统提出了更大的挑战。订单处理的极限、仓内不断攀升的人力成本与履约时效的苛刻要求,共同构成了电商物流行业发展的瓶颈。在此背景下,传统物流与智能自动化设备的结合,智能仓库应运而生。如今物流行业的智能仓库与传统仓库相比,更加注重利用仓库的垂直空间,增加相同面积下货物的存放量,提升空间的利用率。智能仓库中有着大量的机械化、智能化设备,搬运机器人(Automated Guided Vehicle, AGV)就是其中之一,AGV可以通过提前设置在智能仓库中的特定导航标识,识别到自身所处的位置,并根据仓库系统的引导,将需要搬运的货物从初始地运输到目的地。能否高效规划AGV在智能仓库中的行驶路径,一直是一个令人头疼的问题。因为这个问题关系到智能仓库的运行效率,同时对AGV的路径规划往往需要消耗巨大的算力,增加智能仓库的时间和物力成本。一般来说,AGV的路径规划基于由智能仓库平面图所形成的栅格地图,栅格地图的精确度将很大程度上影响到AGV路径规划的效率,因此,AGV在大规模的栅格地图的路径规划效率也是提升智能仓库运行效率的重要一环。
随着智能算法技术的不断发展,越来越多的方法被引入到路径规划当中。文献[1]在无人机三维路径规划场景中,建立了综合成本函数评价系统,并引入凤头冠豪猪优化算法求解。文献[2]提出DHPA*-DSACO算法,融合动态启发式惩罚A*与动态感知蚁群优化,降低路径长度、曲率和运行时间,提升效率,避免局部最优,增强鲁棒性,适应AGV运行。文献[3]针对传统A*算法在复杂场景下路径规划的不足,提出一种改进算法,采用栅格法建模。通过引入障碍物密度函数优化启发函数,采用动态邻域搜索策略提高效率,并通过冗余节点处理策略减少路径拐点和冗余节点。实验结果表明,改进算法显著缩短路径长度,减少路径拐点和冗余节点。文献[4]为了应对狭窄路径中的AGV路径规划问题,提出了一种基于Voronoi骨架的关键节点网络代价图生成机制,并采用A*算法进行全局规划。文献[5]提出了一种基于深度Q网络(DQN)和分布式训练框架的AGV全局路径规划模型。通过优化环境状态设置、细化奖励函数以及增强经验回放缓存机制,提高了算法的收敛效率。文献[6]通过提出一种新的算法,名为IA-RRT* (融合RRT思想的改进A算法),该算法修改了A算法的成本评估函数,以降低搜索方向的强度,缩小搜索范围。同时,IA-RRT算法结合了RRT算法的随机性概念和拐点惩罚。文献[7]为了应对室内自动引导车的动态障碍物问题以及全局最优路径规划问题,本文提出了一种基于改进的哈里斯鹰优化和动态窗口法的增强型混合路径规划方法。文献[8]通过引入网格障碍率并增强A算法评估函数中的启发式函数,以提高搜索效率和路径平滑度。此外,算法还通过在动态窗口法中引入AGV与已知障碍物和未知障碍物之间最近距离的评估子函数,以减少障碍物对AGV全局路径规划的干扰。文献[9]针对FMT*算法路径规划时间长、拐点多等问题,提出了一种基于引力势能修正的快速行进树算法,该算法通过引入有限的引力势能场,限制了路径的搜索范围,搜索路径质量有了明显的提升。文献[10]提出了一种基于强化学习的多机器人路径规划算法,通过新鲜经验优先回放机制、新的奖励函数和Actor-Critic网络结构改进MADDPG算法,减少了算法的训练时间以及收敛域,最终的路径规划效果也得到了提升。
基于以上研究启发,本文提出了一种改进冠豪猪优化算法。首先,通过引入改进Sine混沌映射算法为冠豪猪优化算法提供混沌特性更加明显的初始可行解,为后续的求解打下良好的基础。接着,利用冠豪猪优化算法对本文的AGV路径规划问题进行基础求解。最后,仅仅依靠冠豪猪优化算法无法在局部区间达成最优的路径规划效果。因此,本文将冠豪猪优化算法求解出的结果进行随机分段,并将分段后的结果通过A*算法进行求解,这既能使求解的结果更加优秀,又能避免A*算法在处理大规模栅格地图路径规划时间消耗长的问题。
2. AGV路径规划问题描述
实现高效的AGV路径规划对智能仓库提升核心竞争力具有重要意义,它涉及到如何使AGV在智能仓库的复杂环境中高效且安全地导航,完成将货物从一个地点运输到另一个地点的任务。在智能仓库中,AGV将沿着规定的轨道,带着需要搬运的货物从起始点沿最优路径运行到目标点。在AGV运行过程中,需要AGV与周围的障碍物之间不发生任何碰撞。因此,本文采用栅格法来建立二维空间中的运动环境,其中,黑色方块表示障碍物方块,白色方块表示可通行方块。
栅格号与坐标之间的关系如公式(1)所示。
(1)
其中,
表示在栅格地图的坐标;
表示栅格地图中格子的单位长度;
为余数函数;
是向上舍函数;
为栅格编号;
为栅格的行数;
为栅格的列数。
在栅格地图上,AGV的移动路径遵守以下约束:
(1) AGV的初始位置为S,目标位置为G,如图1所示。
Figure 1. Schematic diagram of the starting point S and endpoint G of the AGV path
图1. AGV路径起点S、终点G示意图
(2) AGV仅可向八个方向移动,分别为左、右、上、下、左上、左下、右上、右下。
(3) AGV的运动应当满足边界约束和障碍物约束,不可超出边界以及不得与障碍物发生碰撞。
(4) AGV找到从起点到终点的最优路径R,路径R所经过的单元格都应当是可通过的,并且满足最优化条件,如最短路径或最小化代价路径。
3. 改进冠豪猪优化算法
冠豪猪优化算法(Crested Porcupine Optimizer, CPO)对冠豪猪面对捕食者威胁时所采用的四种防御策略进行模拟,以解决各种优化问题。本文则是对原有算法提出了改进方案以提高冠豪猪优化算法的求解能力。
3.1. 种群位置初始化
本文采用一种改进的Sine混沌映射算法[11]来生成混沌序列,为冠豪猪优化算法提供初始值,其在搜索空间内提供随机初始解的数学表达式如公式(2)所示。
(2)
其中,
和
表示改进的一维Sine混沌映射的控制参数和迭代序列值。
3.2. 循环种群缩减技术
循环种群缩减技术(Cyclic Population Reduction, CPR)的使用旨在平衡算法收敛速度与种群多样性。该方法从整个种群里选取一部分暂未受到威胁的CP,通过动态缩容的方法来加快算法全局搜索的收敛速度,并将暂时被缩容的CP在下一阶段重新加入到种群中,使得种群的多样性得到保持,同时防止算法陷入局部最优解中,其数学表达式如公式(3)所示。
(3)
其中,
表示循环周期参数,通过此参数,可以控制优化过程中执行循环种群缩减的频率;
表示当前的种群数量;
表示新生成种群的个体数量下限;
表示当前的函数评估;
表示余数运算符;
表示评估函数的最大数量。
3.3. 勘探阶段
3.3.1. 第一防御策略
当捕食者靠近CP并产生威胁时,CP首先会采用第一防御策略,即视觉防御策略。捕食者此时有两个选择,靠近CP或者远离他。若捕食者采取第一种选择,则会缩小两者之间的距离。这种选择鼓励探索捕食者与CP之间的区域,以加快算法的收敛速度。而第二种选择则会加大两者之间的距离,从而鼓励探索更加遥远的区域,即未访问过的地区。其具体的表达式如公式(4)所示。
(4)
其中,
是基于正态分布的随机数;
是区间为
的随机数;
目标函数
的最优解;
为从种群中随机选择的CP与当前CP之间的向量,用于表示捕食者在
时刻的位置信息;
表示区间为
的随机数。
3.3.2. 第二防御策略
当捕食者无视CP的第一防御策略,继续靠近CP时,CP则会采用第二防御策略即声音防御,通过吼叫产生具有威慑性的声音以震慑捕食者,随着捕食者与CP的距离逐渐缩小,CP发出的声音强度也会随之增大,其具体表达式如公式(5)所示。
(5)
其中,
为
的随机数;
为
的随机整数;
为
的随机整数。
3.4. 开发阶段
3.4.1. 第三防御策略
当捕食者无视CP的第二防御策略继续向CP靠近时,CP则会采用第三防御策略,即气味防御,通过分泌带有恶臭气味的分泌物以震慑捕食者。同样地,这种恶臭气味的强度也会随着捕食者与CP之间距离的缩小而增强,其具体表达式如公式(6)所示。
(6)
其中,
为迭代
次后第
个个体所在的位置信息;
是区间为
的随机数;
是区间为
的随机整数;
为使用公式(7)定义的气味扩散因子;
是使用公式(8)定义的搜索方向控制参数;
是使用公式(9)定义的防御程度因子。
(7)
(8)
(9)
其中,
表示当迭代次数为
时第
个个体的目标函数值;
为无限接近于0的值;
为数值区间为
的矢量;
是区间为
的随机数;
为当前迭代次数;
为迭代次数上限。
3.4.2. 第四防御策略
当捕食者无视CP的第三防御策略,继续向CP靠近时,CP则会采用第四防御策略,即身体攻击,通过CP背部短而厚的茅厕攻击捕食者,使捕食者失去行动能力甚至杀死捕食者。在第四防御策略中,两个生物发生了激烈的对撞,表示为一维非弹性碰撞,为了模拟这一攻击行为,其数学表达式如公式(10)所示。
(10)
其中,
是区间为
的随机数;
为当前最优解;
为第
代时第
个个体所在的位置;
表示收敛速度因子;
表示影响第
个捕食者的CP的平均力,该平均力由以下公式(11)、公式(12)、公式(13)、公式(14)所示。
(11)
(12)
(13)
(14)
其中,
表示第
代时第
个个体的质量;
表示第
个个体在下一代时的最终速度,并基于当前总体中选择随机解进行分配;
是第
代第
个个体的初始速度;
为当前已迭代次数;
表示数值区间为随机向量。
3.5. A*算法局部搜索
A*算法是一种非常常见的路径查找和图形遍历算法,该算法可以被认为是Dijkstra算法的扩展。本文将通过A*算法对冠豪猪优化算法搜索出的节点进行局部搜索,以增加栅格地图的路径规划精度。
A*算法将当前代价最小的节点作为父节点,并将当前代价与父节点到最终节点的预估代价求和,得出
,再将当前
的最小值作为下一个父节点,以此类推,形成最终的路径。
其计算代价的函数
为:
(15)
其中,
表示从初始节点到当前节点的代价,
表示从当前节点到最终节点的预估代价。
常用的估计代价公式有曼哈顿距离、欧几里得距离等,本文的
采用欧几里得距离公式,其表达式如公式所示。
(16)
其中,
表示当前节点,
表示最终节点。
3.6. 求解流程
综上所述,本文所采用的算法基于原有的冠豪猪优化算法,在算法的最初阶段引入改进Sine混沌映射算法为冠豪猪优化算法提供混沌特性更加明显的初始解。接着,依照冠豪猪优化算法对AGV路径规划问题进行全局搜索。最后,利用A*算法对冠豪猪优化算法寻找出的节点进行局部搜索。其具体流程图如图2所示。
Figure 2. Path planning of AGV grid map based on improved Crested Porcupine Optimizer
图2. 基于改进冠豪猪算法的AGV栅格地图路径规划
4. 仿真实验
4.1. 实验环境
本文采用的仿真实验平台为配置为MacBook Pro,Apple M1 Max (芯片),32GB RAM,运行macOS Monterey 12.3系统,算法代码基于MATLAB语言编写,版本号为MATLAB R2022a。实验地图由算法随机生成小规模地图(20 × 20)、中等规模地图(30 × 30)、大规模地图(40 × 40)三种场景的栅格地图,地图中的黑色色块为障碍物,地图示例如图3所示。
Figure 3. Small-scale grid map
图3. 小规模栅格地图示例
AGV由左下角移动至地图右上角。冠豪猪优化算法的最大迭代次数设置为200次,种群规模设置为50。
4.2. 实验参数设置
改进冠豪猪优化算法的算法参数设置如表1所示。
Table 1. Parameter information table
表1. 参数信息表
参数类型 |
参数描述 |
数值 |
|
映射控制参数 |
1500 |
|
迭代次数 |
200 |
|
种群规模 |
50 |
|
循环周期参数 |
2 |
|
收敛速度因子 |
0.2 |
4.3. 仿真实验结果
4.3.1. 小规模栅格地图仿真结果
在小规模的地图中分别利用CPO以及ICPO算法进行求解,求解出的算法迭代图以及算法路径规划图4~7所示。
在本次实验中,ICPO和CPO均被用于求解最佳路径问题。结果显示,ICPO求解出的最佳路径距离为28.6274,而CPO求解出的最佳路径距离为29.1776。从图中的数据可以清晰地看出,在小规模的地图环境中,ICPO相较于CPO展现出了更为显著的算法收敛速度优势。这表明ICPO在迭代过程中能够更快地找到接近最优解的路径,减少了计算资源的消耗和时间成本。通过对最佳路径长度进行进一步分析,虽然在局部区间内,CPO的求解效果可能略由于ICPO,但从整体的路径结果来看,ICPO求解出的最佳路径效果明显由于CPO,相对提升了1.9%。
Figure 4. Small-scale grid map ICPO algorithm iteration chart
图4. 小规模栅格地图ICPO算法迭代图
Figure 5. Small-scale grid map ICPO path planning diagram
图5. 小规模栅格地图ICPO路径规划图
Figure 6. Small-scale grid map CPO algorithm iteration chart
图6. 小规模栅格地图CPO算法迭代图
Figure 7. Small-scale grid map CPO path planning diagram
图7. 小规模栅格地图CPO路径规划图
具体数据如表2所示。
Table 2. Iteration data of small-scale grid map algorithm
表2. 小规模栅格地图算法迭代数据
算法名称 |
收敛代数 |
迭代最优值 |
CPO |
173 |
29.1776 |
ICPO |
24 |
28.6274 |
综合上述内容进行分析,可以明确得出:在相对较小规模的地图环境中,ICPO不仅在寻找最优路径上更加出色,相对CPO可以找出更短的路径,同时,在迭代收敛效率方面也比CPO表现得更加优秀。这使得ICPO在处理小规模栅格地图路径规划中更具有优势,能为相关问题提供更加高效、精准的解决方案。
4.3.2. 中等规模栅格地图仿真结果
在中等规模的栅格地图中分别采用CPO以及ICPO进行求解,求得的迭代图以及路径规划图如图8~11所示。
Figure 8. The iteration chart of the ICPO algorithm for the medium-sized grid map
图8. 中规模栅格地图ICPO算法迭代图
Figure 9. Path planning of the ICPO algorithm in the medium-sized grid map
图9. 中规模栅格地图ICPO算法路径规划
Figure 10. The iteration chart of the CPO algorithm for the medium-sized grid map
图10. 中规模栅格地图CPO算法迭代图
Figure 11. The CPO path planning map for the medium scale grid map
图11. 中规模栅格地图CPO路径规划图
具体数据如表3所示。
Table 3. Medium scale grid map algorithm iteration data
表3. 中等规模栅格地图算法迭代数据
算法名称 |
收敛代数 |
迭代最优值 |
CPO |
178 |
53.4587 |
ICPO |
77 |
44.3488 |
在本次实验中,ICPO和CPO被应用于中等规模的栅格地图路径规划问题。实验结果显示,ICPO求解的最佳路径长度为44.3488,而CPO求解的最佳路径长度为53.4587。从图中的数据可以清晰地看出,在中等规模的地图上,ICPO在相同的迭代次数下展现出了更快的迭代收敛速度。具体来说,ICPO的算法收敛迭代数为178,而CPO则需要77次迭代才能收敛。这表明ICPO在迭代过程中能够更快地找到接近最优解的路径,减少了计算资源的消耗和时间成本。
对数据进行进一步分析,ICPO求解出的最优路径不仅在长度上更短,同时路径结果更加平滑,不像CPO那样弯弯绕绕。这种更加平滑的路径在实际的应用场景中具有很重要的意义,例如在机器人路径规划中,更加平滑的路径意味着更少的机器人转向次数、更低的机器人能耗以及更高的运动效率。相比之下,CPO求解出的最优路径有着更多的曲折,这不仅增加了路径的长度,还降低了路径在实际应用中的使用效率。
在最优路径的优化效果上,ICPO相比CPO的改进效率达到了17.04%。这一明显的改进效果体现了ICPO相对于CPO在中等规模栅格地图上寻优能力更加出色。这种优势在实际的应用场景中会变得更加明显,例如,在复杂环境中,ICPO能够更好地避开障碍物,更加高效的寻找路径。
综合以上分析可以看出,在中等规模的栅格地图上,ICPO相较于CPO不仅在寻优能力上表现得更为出色,能够找到更加平滑的路径,同时,ICPO的迭代速度也显著高于CPO。这使得ICPO在处理中等规模栅格地图路径规划问题上更具有优势。
4.3.3. 大规模栅格地图仿真结果
CPO以及ICPO算法在大规模栅格地图中的求解表现如图12~15所示。
在本次针对大规模栅格地图的路径规划实验中,CPO和ICPO的表现尤为引人注目。实验结果显示,CPO求解出的最佳路径长度为81.5205,而ICPO求解出的最佳路径长度仅为61.1287。这一显著的差距直观地反映了两种算法在大规模地图环境下的性能差异。
Figure 12. Large-scale grid map ICPO algorithm iteration chart
图12. 大规模栅格地图ICPO算法迭代图
Figure 13. Large-scale grid map ICPO path planning diagram
图13. 大规模栅格地图ICPO路径规划图
Figure 14. Large-scale grid map CPO algorithm iteration chart
图14. 大规模栅格地图CPO算法迭代图
具体数据如表4所示。
Table 4. Large-scale grid map algorithm iteration data
表4. 大规模栅格地图算法迭代数据
算法名称 |
收敛代数 |
迭代最优值 |
CPO |
131 |
61.1287 |
ICPO |
111 |
81.5205 |
Figure 15. Large-scale grid map CPO path planning diagram
图15. 大规模栅格地图CPO路径规划图
在本次针对大规模栅格地图的路径规划实验中,CPO和ICPO的表现尤为引人注目。实验结果显示,CPO求解出的最佳路径长度为81.5205,而ICPO求解出的最佳路径长度仅为61.1287。这一显著的差距直观地反映了两种算法在大规模地图环境下的性能差异。
从图中的数据可以清晰地看出,在大规模的栅格地图中,ICPO相较于CPO展现出了更快的算法迭代收敛速度。具体而言,CPO需要131次迭代才能达到收敛,而ICPO仅需111次迭代即可完成。这表明ICPO在处理复杂的大规模地图时,能够更高效地探索解空间,更快地找到接近最优解的路径,从而显著减少了计算资源的消耗和时间成本。
在求解最优路径方面,ICPO不仅在求解路径的长度方面表现优秀,其求解出的路径可靠性和稳定性也优于CPO。ICPO求解出的路径更加平滑、直接,避免了很多不必要的绕行。这种稳定高效的路径特征在实际应用中的优势会更加明显。
ICPO相较于CPO,其优化效果提升可达25%。这一显著的提升不仅体现在路径长度上的缩短,还体现在ICPO能够更好地适应大规模栅格地图中的复杂环境,如密集的障碍物以及更加复杂多变的地形,从而提供更加可靠和高效的路径规划解决方案。
综上所述,在大规模栅格地图路径规划中,ICPO不仅在寻优能力上表现得更为出色,能够找到更短的路径,同时,在算法迭代收敛速度方面也显著高于CPO。这使得ICPO在处理大规模路径规划问题时更具优势,能够在实际应用过程中提供更加高效、精准的路径规划方案,尤其适用于对路径质量以及规划效率要求较高的场景。
4.4. 仿真结果比较
CPO和ICPO在小规模、中等规模、大规模栅格地图中的求解表现如表5所示。
从表中数据可以清晰地看到,在不同规模的地图环境中,ICPO相较于CPO均展现出了显著且稳定的性能提升。具体来说,在小规模地图中,ICPO的性能提升为1.9%;在中等规模地图中,提升幅度达到了17.04%;而在大规模地图中,ICPO的优化提升效率更是高达25%。这一系列数据充分证明了ICPO在不同应用场景下的强大适应性和优化能力。
Table 5. The performance of CPO and ICPO in solving small-scale, medium-scale, and large-scale raster maps.
表5. CPO和ICPO在小规模、中等规模、大规模栅格地图中的求解表现
地图规模 |
CPO最佳路径长度 |
ICPO最佳路径长度 |
优化提升效率 |
小规模 |
29.1776 |
28.6274 |
1.9% |
中等规模 |
53.4587 |
44.3488 |
17.04% |
大规模 |
81.5205 |
61.1287 |
25% |
进一步分析,随着栅格地图规模的不断扩大,ICPO的求解能力表现得愈发优秀。在小规模栅格地图中,ICPO已经展现出优于CPO的性能,而在中等规模栅格地图以及大规模栅格地图中,这一优势变得更为明显。这表明ICPO在处理复杂环境时,能够有效利用多种算法优势,快速收敛到更为优秀的解。这种随着问题规模不断增加而愈发显著的性能优势,使得ICPO在面对大规模、高精度的地图路径规划任务时,可以提供更加高效、可靠的解决方案。
综上所述,ICPO非常适合于求解精度要求更高、规模更大的地图路径规划问题。在这些复杂场景中,ICPO不仅能够显著缩短最优路径的长度,提高路径规划的效率,还能够提供更加平滑、稳定的路径,减少不必要的迂回和转向。在实际应用中,ICPO可以有效应用于如机器人路径规划、无人机导航、物流配送等领域,能够更好地满足高精度、高效率的路径规划需求,为相关行业提供技术支持和优化保障。
5. 结论
本文针对如今电子商务的“大动脉”电商物流中采用的智能仓库AGV的路径规划问题进行研究,旨在增加智能仓库的运行效率,以提高电商物流的运作效率。在本文中,冠豪猪优化算法作为一种新型的启发式算法,在各个优化领域都有着优秀的表现。该算法通过模拟冠豪猪在遇到捕食者时采取的四种防御策略进行寻优,同时通过引进循环种群缩减技术,在保证种群多样性的基础上,加快算法的收敛速度。本文则在冠豪猪优化算法的基础上,通过引进改进Sine混沌映射来为冠豪猪优化算法提供混沌特性更加明显的初始可行解。最后,再将冠豪猪优化算法搜索出的节点带入A*算法进行局部搜索,既保证了算法在大规模地图中的搜索速度,又保证了局部栅格地图中的最优解。仿真实验结果证明,改进后的冠豪猪优化算法相较于冠豪猪优化算法有着更加优秀的寻优表现,同时,随着地图规模的不断增加,改进冠豪猪优化算法的寻优优势更加明显。
在未来的研究中,将更加进一步优化算法的寻优性能,增加算法的鲁棒性,以适应更加复杂的路径寻优问题,例如多AGV路径寻优问题、动态智能仓库路径寻优问题。除此之外,还将算法引入更多的领域,例如无人机路径规划与调度,AGV调度等问题,进一步解决算法在实际问题中的应用问题。
基金项目
国家自然科学基金资助项目(72271161, 72331006);上海市2021度“科技创新行动计划”宝山转型发展科技专项项目(21SQBS01404);上海理工大学科技发展项目(2020KJFZ038)。