移动机器人旅行商优化方法技术

技术编号:13046384 阅读:52 留言:0更新日期:2016-03-23 14:15
本发明专利技术公开了一种移动机器人旅行商优化方法,主要解决现有蚁群算法容易陷入局部最优、运行速度慢、在信息处理前期收敛速度慢的问题。其规划步骤为:对移动机器人工作环境进行建模;计算各个城市之间的距离,并根据距离信息对信息素浓度进行初始化,给蚂蚁提供导向;利用优化过的蚁群算法让移动机器人逐个去访问城市;根据优化结果输出移动机器人的运动路径。本发明专利技术通过改进信息素更新方式有效避免局部最优解,以及克服了传统蚁群算法收敛速度慢的问题。

【技术实现步骤摘要】

本专利技术涉及智能移动机器人
,具体涉及一种基于改进蚁群算法的移动机器人旅行商优化方法
技术介绍
“旅行商问题(TSP)”常被称为“旅行推销员问题”,是指一名推销员要拜访多个地点时,如何找到在拜访每个地点一次后再回到起点的最短路径。规则虽然简单,但在地点数目增多后求解却极为复杂。以42个地点为例,如果要列举所有路径后再确定最佳行程,那么总路径数量之大,几乎难以计算出来;例如在物流中的描述是对应一个物流配送公司,欲将n个客户的订货沿最短路线全部送到,如何确定最短路线。旅行商问题(TSP)是典型的NP完全问题,即其最坏情况下的时间复杂度随着问题规模的增大按指数方式增长,到目前为止还未找到一个多项式时间的有效算法。目前研究经典TSP常用算法有遗传算法、粒子群算法、模拟退火算法、神经网络算法等。使用遗传算法前期收敛速度过快,容易陷入局部最优解;使用粒子群算法虽然操作简单,且能够快速收敛,但是随着迭代次数的不断增加,在种群收敛集中的同时,各粒子也越来越相似,可能在局部最优解周边无法跳出;使用模拟退火算法具有收敛速度慢,执行时间长,算法性能与初始值有关及参数敏感等缺点;使用神经网络算法很难在较复杂的环境下实现。蚁群算法最早是由意大利学者MarcoDorigo于1991年在其博士论文中提出,其真实地模拟了自然界蚂蚁群体的觅食行为。蚁群算法是一种自组织的、并行的、正反馈算法,具有较强的鲁棒性。把蚁群算法应用于研究TSP问题,能够有效解决此类问题,虽然许多科学家也对传统的蚁群算法做了许多改进,而且大多是将蚁群算法与其他算法相结合来解决前期收敛速度过慢的问题,前期收敛速度慢就必然导致效率非常低。
技术实现思路
本专利技术要解决的技术问题是针对现有技术中的不足,提出了一种基于改进蚁群算法的移动机器人旅行商优化方法,在算法前期具有快速的收敛性,减少迭代次数,提高搜索效率,缩短路径长度,符合人工规划意图,适用于移动机器人在静态环境中的自主导航。实现本专利技术目的的技术方案是提供一种移动机器人旅行商优化方法,包括如下几个步骤:①利用移动机器人自带的摄像头、声呐环、红外传感器采集移动机器人的工作环境信息,包括所有的“城市”坐标信息,并进行地图建模;②利用各“城市”的坐标信息,计算城市间的相互距离,并根据距离信息对信息素浓度进行初始化;③利用改进后的蚁群算法,进行路径寻优;其具体过程包括:(a)对环境进行坐标处理;(b)设置初始参数,包括蚁群规模m,信息素重要程度因子α,启发函数重要程度因子β,信息素挥发因子ρ,信息素释放总量Q,最大迭代次数iter_max,迭代次数初值iter=1;(c)构建解空间,将蚂蚁随机置于不同的城市,按照一定的概率随机选择下一个待访问的城市,直到访问完所有的城市为止;(d)对所走路径进行局部信息素浓度初次更新,局部信息素浓度更新的目的是削弱已走过路径的信息素浓度,从而使蚂蚁对未走过路径有更强的探索能力;(e)所以蚂蚁都完成一轮迭代后,对局部信息素浓度进行全局更新生成二次更新后的局部信息素浓度τij(t+n);对信息素浓度进行全局更新的公式如下:τij(t+n)=(1-ρ)τij(t)+Δτij+ξΔτij*,]]>Δτij=Σk=1nΔτijk,]]>其中,ρ表示信息素的挥发程度,ξ是一个参数,表示对最短路径和最长路径额外更新的信息素增量;表示第k只蚂蚁在城市i与城市j连接路径上释放的局部信息素浓度;Δτij表示所有蚂蚁在城市i与城市j连接路径上释放的局部信息素浓度之和,ξ∈(0,1),Q为常数,表示蚂蚁循环一次所释放的局部信息素释放总量;Lk为蚂蚁k经过路径的长度,Lbest为该次迭代中最短路径长度,Lworst为该次迭代中最长路径长度,n为城市数目;(f)若没有达到最大迭代次数,转至步骤(c);否则,终止迭代,输出最优解,也就是蚂蚁经过最优路径的路线图;④根据步骤③得到的优化结果输出最优路径的路线图。进一步的,步骤①中,地图建模的要求如下:(a)移动机器人的活动范围在有限的二维空间;(b)将移动机器人和各个城市看做质点,便于分析研究;(c)将移动机器人和各个城市按照二维坐标系建模;城市的总数量为n。进一步的,步骤②中,用dij表示任意城市i和城市j之间的距离,计算公式如下:dij=(xi-xj)2+(yi-yj)2,]]>其中城市i在二维坐标系的坐标为(xi,yi),城市j在二维坐标系的坐标为(xj,yj);根据距离信息对信息素浓度进行初始化得到的初始信息素浓度为τ0ij,τ0ij=1/dij。进一步的,步骤③的过程(b)中,信息素挥发因子的数值选取为0.1。进一步的,步骤③的过程(c)中,蚂蚁k在t时刻从城市i转移到城市j的概率的计算公式为:Pijk=[τij(t)]α·[ηij(t)]βΣs∈allowk[τis(t)]α.[ηis(t)]β,s∈allowk0,s∉allowk,]]>式中:allowk(k=1,2,...,m)为蚂蚁k待访问城市的集合,开始时,allowk中有(n-1)个元素,即包括除了蚂蚁k出发城市的其他所有城市,随着时间的推进,allowk中的元素逐渐减少,直至为空,即表示所有的城市均访问完毕;τij(t)表示在t时刻城市i、j间路径上的信息素浓度;α为信息素重要程度因子,其值越大,表示信息素的浓度在转移中起的作用越大;β为启发函数重要程度因子,其值越大,表示启发函数在转移中的作用越大,即蚂蚁会以较大的概率转移到距离短的城市;ηij(t)为启发函数,表示t时刻蚂蚁从城市i转移到城市j的期望程度,计算公式如下:dij表示任意城市i和城市j之间的距离。进一步的,步骤③的过程(c)中,计算完一次城市间的转移概率后,采用轮盘赌方法选择下一个待访问的城市。进一步的,步骤③的过程(d)中,局部信息素浓度初次更新公式如下:τij(t+1)=(1-ε)τij(t)+ετ′0,其中,τij(t+1)为初次更新后的局部信息素浓度,ε是一个参数,ε∈(0,1),τ′0=c/dij,c为常数。本专利技术具有积极的效果:(1)本发本文档来自技高网
...

【技术保护点】
一种移动机器人旅行商优化方法,其特征在于包括如下几个步骤:①利用移动机器人自带的摄像头、声呐环、红外传感器采集移动机器人的工作环境信息,包括所有的“城市”坐标信息,并进行地图建模;②利用各“城市”的坐标信息,计算城市间的相互距离,并根据距离信息对信息素浓度进行初始化;③利用改进后的蚁群算法,进行路径寻优;其具体过程包括:(a)对环境进行坐标处理;(b)设置初始参数,包括蚁群规模m,信息素重要程度因子α,启发函数重要程度因子β,信息素挥发因子ρ,信息素释放总量Q,最大迭代次数iter_max,迭代次数初值iter=1;(c)构建解空间,将蚂蚁随机置于不同的城市,按照一定的概率随机选择下一个待访问的城市,直到访问完所有的城市为止;(d)对所走路径进行局部信息素浓度初次更新,局部信息素浓度更新的目的是削弱已走过路径的信息素浓度,从而使蚂蚁对未走过路径有更强的探索能力;(e)所以蚂蚁都完成一轮迭代后,对局部信息素浓度进行全局更新生成二次更新后的局部信息素浓度τij(t+n);对信息素浓度进行全局更新的公式如下:τij(t+n)=(1-ρ)τij(t)+Δτij+ξΔτij*,]]>Δτij=Σk=1nΔτijk,]]>其中,ρ表示信息素的挥发程度,ξ是一个参数,表示对最短路径和最长路径额外更新的信息素增量;表示第k只蚂蚁在城市i与城市j连接路径上释放的局部信息素浓度;Δτij表示所有蚂蚁在城市i与城市j连接路径上释放的局部信息素浓度之和,ξ∈(0,1),Q为常数,表示蚂蚁循环一次所释放的局部信息素释放总量;Lk为蚂蚁k经过路径的长度,Lbest为该次迭代中最短路径长度,Lworst为该次迭代中最长路径长度,n为城市数目;(f)若没有达到最大迭代次数,转至步骤(c);否则,终止迭代,输出最优解,也就是蚂蚁经过最优路径的路线图;④根据步骤③得到的优化结果输出最优路径的路线图。...

【技术特征摘要】
1.一种移动机器人旅行商优化方法,其特征在于包括如下几个步骤:
①利用移动机器人自带的摄像头、声呐环、红外传感器采集移动机器人的工作环境
信息,包括所有的“城市”坐标信息,并进行地图建模;
②利用各“城市”的坐标信息,计算城市间的相互距离,并根据距离信息对信息素
浓度进行初始化;
③利用改进后的蚁群算法,进行路径寻优;其具体过程包括:
(a)对环境进行坐标处理;
(b)设置初始参数,包括蚁群规模m,信息素重要程度因子α,启发函数重要程
度因子β,信息素挥发因子ρ,信息素释放总量Q,最大迭代次数iter_max,迭代次数
初值iter=1;
(c)构建解空间,将蚂蚁随机置于不同的城市,按照一定的概率随机选择下一个
待访问的城市,直到访问完所有的城市为止;
(d)对所走路径进行局部信息素浓度初次更新,局部信息素浓度更新的目的是削
弱已走过路径的信息素浓度,从而使蚂蚁对未走过路径有更强的探索能力;
(e)所以蚂蚁都完成一轮迭代后,对局部信息素浓度进行全局更新生成二次更新
后的局部信息素浓度τij(t+n);对信息素浓度进行全局更新的公式如下:
τij(t+n)=(1-ρ)τij(t)+Δτij+ξΔτij*,]]>Δτij=Σk=1nΔτijk,]]>其中,ρ表示信息素的挥发程度,ξ是一个参数,表示对最短路径和最长路径
额外更新的信息素增量;表示第k只蚂蚁在城市i与城市j连接路径上释放的局部
信息素浓度;Δτij表示所有蚂蚁在城市i与城市j连接路径上释放的局部信息素浓度之
和,ξ∈(0,1),Q为常数,表示蚂蚁循环一次所释放的局部信息素释放总量;Lk为蚂蚁
k经过路径的长度,Lbest为该次迭代中最短路径长度,Lworst为该次迭代中最长路径长度,
n为城市数目;
(f)若没有达到最大迭代次数,转至步骤(c);否则,终止迭代,输出最优解,也
就是蚂蚁经过最优路径的路线图;
④根据步骤③得到的优化结果输出最优路径的路线图。
2.根据权利要求1所述的移动机器人旅行商优化方法,其特征在于:步骤①中,
地图建模的要求如下:(a)移动机器人的活动范围在有限的二维空间;(b)将移动机器
人和各个城市看做质点,便于分析研究;(c)将移动机器人和各个城市按照二维坐标系
建模;城市的总数量为n。
3.根据权利要求1或2所述的移动机器人旅行商优化方法...

【专利技术属性】
技术研发人员:贺乃宝陆毅高倩沈琳俞烨
申请(专利权)人:江苏理工学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1