粒子群-快速模拟退火算法在路径规划中的应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021 年第 6 期 15
计算机应用 信息技术与信息化
从图 6 中可以看出,PSO-FSA 和 PSO 收敛速度均快于文 献 [24] 中的改进 PSO 算法,且也可明显地观察到 PSO-FSA 算 法的收敛精度高于 PSO 算法和改进 PSO 算法,可见在粒子群 迭代中引入快速退火机制能够增强粒子寻找最优解的精确程 度。进一步验证了本文算法有良好的收敛性和精确性。
敛性强,精确度高的结果。
“惯性”部分代表粒子有保持自己上一时刻速度的趋势;“认
1. 西南交通大学机械工程学院 四川成都 611756 [ 基金项目 ]2020 年大学生创新创业训练计划项目 ( 省部级 ) (编码:2020027)
知”部分代表粒子有向迭代历史中最佳位置靠近的趋势;“社 会”部分代表个体粒子有临近粒子群中历史最优解的趋势 。 [11] 当粒子群处于动态搜索时,动态化的惯性权重更符合粒子群
doi:10.3969/j.issn.1672-9528.2021.06.002
0 引言
1 粒子群 - 快速模拟退火算法
随着时代的发展,路径优化问题广泛地存在于各行各业 1.1 粒子群(PSO)算法
中,物流需要规划最优路径来保证路途最短,驾车出行需要
粒子群算法 (PSO) 是群体智能优化算法中普通的一种。
探究内部机理等优点,但该算法也容易陷入早熟和局部最优
个粒子截至目前搜索到的最优解为 pi = ( pi1, pi2 ,..., piD ) ,整个
的状态。
种群的最优解为 p = ( p1, p2 ,..., pD ) 。于是 PSO 算法迭代公式为:
关于粒子群的路径规划,祖锡华引入交叉变异和改变粒
vij (t +=1) wvij (t) + c1r1( pij (t) − xij (t))
信息技术与信息化 计算机应用
摘 要 关键词
粒子群-快速模拟退火算法在路径规划中的应用
王星童 1 吴林鸿 1 赵启宇 1 曾祥光 1 WANG Xingtong WU Linhong ZHAO Qiyu ZENG Xiangguang
路径规划一般包括环境建模、路径搜索、路径平滑三个步骤,但在路径搜索过程中规划结果往往受到障 碍物大小、地理位置差异等不定因素的影响。针对避障小车在两个地点间寻找无碰撞路径的问题,提出 了 PSO-FSA,即粒子群-快速模拟退火算法。算法将传统粒子群算法中的惯性权重改变为正弦自适应的 形式,同时采用快速退火的模式解决模拟退火过程中迭代速度过慢问题,从而得到避障小车的最优路径。 结果表明:与传统粒子群算法相比,粒子群 - 快速模拟退火算法能够增强粒子群搜索过程中跳出局部最 优解的能力,提高了算法的收敛精度,同时也能够保证粒子群的多样性不受影响,具有良好的应用性。 粒子群;快速模拟退火; 路径规划;智能优化算法
(1)
子惯性权重 [8],刘伯超将物流中物理量加入惯性权重中变为
+c2r2 ( pgj (t) − xij (t))
平方根形式 [9]。但研究结果存在收敛性差,易陷入局部最优
xij (t + 1=) xij (t) + vij (t + 1)
(2)
的缺点。为了改善粒子群的缺点,本文提出粒子群 - 快速模 式中:c1,c2 为加速因子,通常 c1+c2 < 4 ;r1,r2 为相互独立
拟退火融合算法,引入正弦机制的惯性权重和快速高温退火 模式,将其应用于避障小车路径规划中,寻找避障小车运行
的随机数, r1, r2 ∈ (0,1) ,w 为惯性权重,通常 w∈ (0,1) ,vij 为 第 i 个粒子在第 j 维上的速度,xij 为第 i 个粒子在第 j 维上的
的最短路径,并与传统算法进行对比,该融合算法得到了收 位置。式(2)分别由“惯性”“认知”“社会”三个部分组成,
1.2 快速模拟退火算法 模拟退火算法 [14-15](SA)从初始温度开始,在搜索空间
上生成一个初始解,然后对环境进行干扰,此时模拟粒子在
一定温度下的移动状态。将扰动后产生的新解与原来的旧解 进行对比,在 Metropolis 准则 [16] 下进行替换。Metropolis
准则定义了物体在某一温度下从状态 i 转移到状态 j 的内能 概率,其表达式为:
路径规划的目标函数即是粒子群 - 快速模拟退火算法的
适应度函数。这是本算法的重要部分,为小车挑选最优路径 提供依据 [23]。本文对小车路径所形成的平滑曲线进行 L 等分,
设等分路径点为 lik,其中路径起点 li0=qi0,终点 li,m+1=li,d+1, 适应度目标函数值为小车在工作状态下的行驶距离,适应度
法有效地解决复杂的优化问题。因此,需要对传统的智能优 群的适应度函数值和该粒子飞翔的位移和速度 [10]。进行迭代
化算法进行改进,通过融合其它算法或者改变本身的参数来 后,粒子下一时刻的速度和位移将进行更新,最终寻找到最
改善传统算法的不足。在路径规划的研究中,目前常用的方 优解。
法有 Dijkstra 算法 [4],粒子群算法,A* 算法 [5] 等。粒子群 算法是由 Eberhart 和 Kennedy 博士 [6-7] 于 1995 年一起提出 的一种基于鸟群捕食行为的演化计算方法。在该算法中,个
图 1 PSO-FSA 流程图 Step1:设置粒子群和模拟退火的基本参数,初始化粒 子速度及位置; Step2:更新粒子速度及位置; Step3:计算各粒子适应度; Step4:计算粒子最优适应度,与历史最优适应度比较, 若存在新的最优解,则进行退火处理,反之,前往 Step2; Step5:根据 Metropolis 准则以概率接受优解和差解来 进行极值更新; Step6:如果满足粒子群 - 快速模拟退火算法的终止条件, 算法结束,反之,前往 Step2。
1.3 粒子群-快速模拟退火算法 粒子群算法在迭代过程中,陷入局部最优,精度不高,
易出现早熟 [18-20] 等特征,而模拟退火算法则具有很强的全 局搜索能力,同时以一定概率接受较差解来跳出局部最优, 精度较高,但收敛速度较慢,因此,可以将两种算法融合起 来,形成 PSO-FSA 算法,将各自的优点结合起来。以粒子群 算法为主体,引入快速模拟退火算法中的退火及概率判断机 制,有效改善粒子群的早熟缺点和模拟退火的收敛速度较慢 特征,从而提升了算法的综合性能。粒子群-快速理地在一群障碍间安排 学者们将鸟群视为粒子群,将其演变为一种迭代寻优算法。
最短路径是必要的,而如遗传算法 [1],模拟退火算法 [2],粒 子群算法 [3] 等在早期所提出的传统的群体智能优化算法已无
PSO 算法首先随机产生一群粒子,即初始化粒子群。其中每 一个粒子都是空间的潜在解。同时每个粒子都具有适应于种
2021 年第 6 期 13
计算机应用 信息技术与信息化
算法的本质,本文引入自适应正弦惯性权重 [12-13],用以调节
粒子的速度和位置,其表达式为:
=w
wmax
(1
−
sin(
πt 2 MaxIt
))
(3)
+rand
(
wmin
sin(
πt 2MaxIt
))
算法流程图如图 1 所示。
式中:wmax,wmin 分别为惯性权重的最大值和最小值,MaxIt 为 粒子群算法设定的最大迭代次数,算法迭代超过该值即停止。 利用正弦函数不断变化的规律,上述公式能使粒子群快速收 敛,提高算法性能,但易陷入局部最优解,难以跳出。因此, 需要融入新的算法来改善粒子群算法。
平均适应度 36.277 6 34.354 8 33.853 1
表 2 寻优结果比较 2
算法 PSO 改进 PSO PSO-FSA
成功收敛 18 18 19
收敛失败 2 2 1
由表 1 和表 2 即可看出,PSO-FSA 算法在路径规划中得 出的平均路径长度均短于 PSO 算法和改进 PSO 算法,最小 路径长度为 33.717 0,同时在收敛性方面,PSO-FSA 算法成 功收敛了 19 次,而其余两种算法仅成功收敛了 18 次。可见 PSO-FSA 算法从适应度值和收敛成功次数均优于其它两种算 法。接下来给出小车不同的路径轨迹和三种算法的适应度曲
图 5 路径 3 从图 3 ~图 5 可以发现,因为粒子群算法的智能性,会 在迭代过程中生成不同的避障路径,其中路径 1 与路径 3 为 次优路径,路径 2 为最优路径。在 PSO 算法和改进 PSO 算法中, 当粒子群初始选择了一条次优路径时,将继续沿着次优路径 优化,很难跳出局部最优的情况。而 PSO-FSA 算法中,粒子 每一次寻找路径时均有快速退火机制的存在,每个粒子都从 高温退火冷却,故将很快跳出局部最优,即跳出次优路径, 最后得到最优路径。
图 6 三种智能算法的适应度曲线
部最优解,有效地避免了粒子出现收敛过快,精度不高的现
象。由于模拟退火算法的最优解常出现在退火低温区,所以
温度更新函数表达式改进为:
T (k) = T0
(5)
1+ αk
式中:T0 为退火初始温度,α 为退火常数,常取 0.3 ~ 0.6, k 为模拟退火迭代次数。通过快速退火的方式,能够大大提 升算法的运行速度,更快地得到最优解。
为了验证本文算法的优良性,需保证三种算法的初始 参数一致。算法初始参数设置为:种群维度 D=3,个体学习 因子与全局学习因子相同,即 c1=c2=1.95,惯性权重最大值 wmax=0.9,最小值 wmin=0.4,粒子种群数 N=30, 最大迭代次 数 MaxIt=800,退火初始温度 T0=1000,退火常数 α=0.3,退 火结束温度 T'=0.01。小车起点为 (0,0),终点为 (20,26)。
图 2 路径障碍建模
14 2021 年第 6 期
信息技术与信息化 计算机应用
将小车视为一个质点,上图中的圆形是小车工作环境中 的障碍物,设置 START 为小车的出发点 ,GOAL 为小车的目标 点,小车在工作状态下,需要绕过这些障碍物才能顺利到达。
线,如图 3 ~图 5 所示。
2.2 适应度目标函数
函数为:
L
∑ = f (i)
l i,k +1 − li,k
(6)
k =0
式中: l i,k+1 − li,k 为 li,k +1 和 li,k 之间的路径距离。
3 实验仿真
图 3 路径 1
3.1 仿真参数设置 在障碍物不发生移动的静态工作环境下采用 MATLAB 进
行避障小车路径规划的仿真实验。分别采用本文 PSO-FSA 算 法、改进 PSO 算法 [24]、PSO 算法 [25] 进行实验运算。
1
E( j) ≤ E(i)
(4)
pijT
=
exp(−
E(
j) − E(i)) KT
= e(− ∆E ) others KT
式中: E(i), E( j) 分别为粒子在状态 i,j 下的内能, ∆E 为内能 增量,K 表示温度衰减系数。该式根据内能最低条件去接受 新的状态,相反的情况下以一定概率接受差解,即以概率 1 接受最优解,但也会以某种概率接受差解 [17],以此来跳出局
2 基于 PSO-FSA 的路径规划
2.1 避障小车路径空间建模 在小车的路径上有若干的障碍物,小车需要避开障碍
物才能向前行驶。本文假设小车在平地上运动,不考虑 z 轴 的移动,即可建立平面的运动路径模型。传统的建模有栅格 法 [21-22]。本文采用随机设置大小不一的圆形障碍物的方法建 立路径模型,如图 2 所示。
图 4 路径 2
3.2 实验结果及分析 由于群体智能算法得到的结果在一个范围内变动,故在
MATLAB2020a 环境中运行 20 次,得到结果如表 1 和表 2。
算法 PSO 改进 PSO PSO-FSA
表 1 寻优结果比较 1
最大适应度 41.889 5 38.742 5 35.044 8
最小适应度 33.981 2 33.718 8 33.717 0
假 设 在 一 个 D 维 的 搜 索 空 间 中, 有 一 个 由 N 个 粒 子 组 成 的 种 群, 第 i 个 粒 子 的 空 间 位 置 为
体粒子与粒子群的迭代过程简单,收敛速度快,不需要= 过多 xi (= xi1, xi2 ,..., xiD ) i 1, 2,..., N ; 速度为 vi = (vi1,vi2 ,...,viD ) ;第 i