专利名称:一种多目标点路径规划方法和装置的制作方法
技术领域:
本发明涉及一种多目标点的路径规划方法和装置,尤其涉及应用在个人自主 导游系统中的利用蚁群算法搜索路径的多目标点路径规划方法和装置。
背景技术:
掌上导游系统面向个人用户,以导游功能为核心,拥有路线指引、景点介绍、 景区内导游、城市信息查找等功能。它能根据全球定位系统给出的位置,匹配出相 应的单位或景点名;或由游客直接选择单位名称或景点名,以该单位或景点名为中 心,通过人机界面,显示选定半径范围内的电子地图;用户还根据其兴趣作进一步 选择,从而获得以文字、图片和声音为媒体的关于所选单位或景点的信息。从某种 程度来说,系统将取代人工导游的作用,真正实现自主旅游。
近年来的车载导航系统虽然在导航能力上相当出色,但是对于旅游常用的路
径规划功能却没有足够的支持。在旅游中通常需要对两点甚至多点之间的路径做出 合理的规划,目前尚没有一种足够好的电子导游产品来支持这种路径规划功能。
发明内容
本发明的目的在于解决上述问题,提供了一种多目标点的路径规划方法,解
决了自主导游中的单目标点和多目标点的路径规划问题。
本发明的另一目的在于提供了一种多目标点的路径规划装置,解决了自主导 游中的单目标点和多目标点的路径规划问题。
本发明的技术方案为本发明揭示了一种多目标点路径规划方法,包括
(1) 从地理信息数据中读取地理数据中网络层的属性数据集信息,其中该属 性数据集信息包括各个路径上的信息素浓度;
(2) 按定义的数据结构存储数据,同时初始化各个路径上的信息素浓度;
(3) 接收用户路径规划的请求;(4) 获取输入的路径规划的起始点和所有的终止点的信息并存储;
(5) 通过蚁群算法搜索从起点到终点的路径,其中该起点的初始值是步骤(4) 中输入的该路径规划的起始点,该终点的初始值是步骤(4)输入的该些终止点中 的第一个;
(6) 判断是否搜索到路径,如果搜索到则进入步骤(7),否则转入步骤(10);
(7) 记录最优路径信息,并更新起点信息为当前终点的信息;
(8) 判断是否存在下一个终止点,如果存在则进入步骤(9),否则转入步 骤(11);
(9) 更新终点信息为下一个终止点,返回步骤(5);
(10) 搜索失败,反馈失败的信息,流程结束;
(11) 搜索结束,反馈路径搜索的结果。 上述的多目标点路径规划方法,其中,步骤(5)进一步包括
(a) 初始化迭代次数NC;
(b) 判断迭代次数NC是否到达最大循环迭代次数,如果未到最大循环迭代 次数则进入步骤(c),否则结束对当前终点的路径搜索;
(c) 设置蚁群算法中的参数值,初始化所有的蚂蚁状态为运行状态,蚂蚁已 经访问的结点数置为1;
(d) 判断是否有运行状态的蚂蚁,如果有则进入步骤(e),否则更新信息 素浓度和最优路径信息,迭代次数NC加1,然后返回步骤(b);
(e) 选择一只运行状态的蚂蚁将其编号为k,得到与蚂蚁k当前位置相邻的、 未到达过的结点集合;
(f) 获得蚂蚁k到每一个相邻点的距离以及对应路径上的信息素浓度,计算 出蚂蚁到每一个相邻点的概率;
(g) 判断是否有可移动的结点,如果有则进入步骤(h),否则蚂蚁k的状 态置为死亡然后转入步骤(d);
(h) 选择一个概率值最大的相邻点作为蚂蚁k要移动到的下一个结点;
(i) 判断是否存在两个或者两个以上的概率最大的相邻点,如果存在则进入
步骤(j),否则进入步骤(k);
(j)用随机数确定蚂蚁移动到的结点;
7(k)蚂蚁k移动到选定的概率最大的结点;
(1)判断蚂蚁k所在的结点是否为终点,如果不是终点则进入步骤(m), 否则将蚂蚁k的状态设为到达并转入步骤(d);
(m)判断蚂蚁经过的路径长度是否小于最大搜索范围,如果小于最大搜索 范围则返回步骤(f),否则蚂蚁k的路径搜索过程结束并返回步骤(d)。
上述的多目标点路径规划方法,其中,步骤(d)中更新信息素浓度和最优路 径信息并对迭代次数NC加1的过程进一步包括.-
(d.l)判断是否有运行状态的蚂蚁,如果有则进入步骤(d.2),否则进入步 骤(d.3);
(d.2)选择一只运行状态的蚂蚁将其编号为k,得到与蚂蚁k当前位置相邻 的、未到达过的结点集合,该过程结束;
(d.3)判断是否有没有访问过的到达状态的蚂蚁,如果没有则进入步骤(d.4), 否则进入步骤(d.5);
(d.4)将迭代次数NC的值加1,继续下一次的迭代,该过程结束;
(d.5)计算蚂蚁经过的路径长度;
(d.6)判断该路径长度是否小于已有的最优长度,如果小于则进入步骤(d.7), 否则进入步骤(d.8);
(d.7)更新最优路径的信息;
(d.8)更新蚂蚁所经过的路径上的信息素浓度。
上述的多目标点路径规划方法,其中,该属性数据集信息还包括网络层中的 道路对象标识、路径起始点和终止点的标识。
上述的多目标点路径规划方法,其中,步骤(f)中蚂蚁到每一个相邻点的概
率的计算公式为
公式有所修改
其中参数Pijk表示蚂蚁k由结点i转移到结点j的概率,参数Tij(t)表示t时刻
8在结点i、 j连线上残留的信息量,参数Tlij为结点i转移到j的启发信息,参数(X为
在路径ij上残留信息的重要程度,参数e为启发信息的重要程度,参数tabuk用以 记录蚂蚁k当前所走过的城市。
上述的多目标点路径规划方法,其中,步骤(d.8)中对蚂蚁所经过的路径上
的信息素浓度的更新公式为
^(t)二(l一/ )7y(t) + ;OAfij
m
k=l
o,其他
A《
,当第k只蚂蚁在时刻t和t+l之间经过z)'时,
其中参数(1-P)表示信息素消逝程度,参数Tij(t)表示t时刻在结点i、 j连线 上残留的信息量,参数A Tijk表示第k只蚂蚁在本次循环中留在路径ij上的信息量, 参数ATij表示本次循环中路径ij上的信息量的增量,参数Q为常数,参数Lk表示 第k只蚂蚁在本次循环中所走过的路径的长度。
本发明另外揭示了一种多目标点路径规划装置,包括
地理信息数据模块,存储地理数据中网络层的属性数据集信息,其中该属性 数据集信息包括各个路径上的信息素浓度;
网络层属性数据集读取模块,从该地理信息数据模块中读取地理数据中网络 层的属性数据集信息;
初始化模块,按定义的数据结构存储数据并初始化各个路径上的信息素浓度;
接收请求模块,接收用户路径规划的请求;
起点终点信息获取模块,获取输入的路径规划的起始点和所有的终止点的信 息并存储;
蚁群算法搜索模块,通过蚁群算法搜索从起点到终点的路径,其中该起点的 初始值是该起点终点信息获取模块获取到的该路径规划的起始点,该终点的初始值 是该起点终点信息获取模块获取到的该路径规划的所有终止点中的第一个;
路径査找判断模块,判断是否搜索到路径;
搜索失败反馈模块,根据该路径查找判断模块判断出没有搜索到路径,反馈 失败的信息;
最优路径信息记录模块,在该路径查找判断模块判断出搜索到路径后,记录最优路径信息,并更新起点信息为当前终点的信息;
下一终点存在性判断模块,判断是否存在下一个终止点;
路径搜索结果反馈模块,根据该下一终点存在性判断模块判断出不存在下一 个终止点,反馈路径搜索的结果;
终点信息更新模块,根据该下一终点存在性判断模块判断出仍存在下一个终 止点时,更新终点信息为下一个终止点,然后返回该蚁群算法搜索模块进行运作。
上述的多目标点路径规划装置,其中,该地理信息数据模块中的属性数据集 信息还包括网络层中的道路对象标识、路径起始点和终止点的标识。
本发明对比现有技术有如下的有益效果本发明借助蚁群算法实现了自主导 游系统中单目标点和多目标点的路径规划。蚁群算法不仅利用了正反馈原理,在一 定程度上也加快进化进程,而且本质上是一种并行的算法。蚁群算法通过在不同个 体之间不断进行信息交流和传递,从而相互协作,有利于发现较好的解决方案。对 比现有技术,借鉴蚁群算法后的路径搜索在搜索效率和搜索结果上都取得了长足的 进步。
图1是本发明的多目标点路径规划方法的较佳实施例的流程图。 图2是图1所示流程中的其中一个步骤的子流程图。 图3为是图2所示流程中的其中一个步骤的子流程图。 图4是本发明的多目标点路径规划装置的较佳实施例的原理图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的描述。
图1示出了本发明的多目标点路径规划方法的总体流程。请参见图1,下面 是对方法中各个步骤的详细描述。
步骤S101:从地理信息数据100中读取地理数据中网络层的属性数据集信息。
地理信息数据100的存储是非常重要的,在进行路径规划之前需要处理好数 据的存储问题,这一过程通常称为地理信息的预处理。
在地理信息系统(GIS)中,空间的物被抽象为点、线、面,复杂地物通过点、
10线、面的组合进行表达。点、线、面是GIS系统中地图数据的最基本数据类型,在 系统中分层管理。例如,系统中的地图数据采用S叩erMap Deskpro工具来管理, SuperMap Deskpro是基于SuperMap GIS核心技术研制的通用桌面地理信息处理平 台和GIS应用工具。
在地理信息的预处理阶段,系统主要应用DeskPro工具的地图编辑功能,完 成地图数据的预处理。在该软件中读入的地图数据是矢量化的,地图的信息被分类 保存在不同的数据集当中,比如点数据集,线数据集,面数据集,文本数据集。对 每个层的地图可以进行单独操作、修改、添加、删除等操作,最后根据需要选择合 并图层以制成地图。
为了能够实现路径査找,在地图数据中需要添加一层网络层的属性数据集, 这个过程称为拓扑发现。在该属性数据集中存储了网络层中的道路对象标识、路径 起始点和终止点的ID,路径上的信息素浓度等信息。其中,Trail (路径上的信息 素浓度)是为了适应蚁群算法的需要而添加的。在进行数据处理时,需要借助 Deskpro工具中的拓扑结构生成功能,产生网络层属性数据集的各个数据。关于该 图层的属性数据的结构请参考表一。
SmID简单线对象的标识
SmUserID内置的标识字段
SmFNode SmTNode地图起始结点的ID 地图终止结点的ID
SmResistanceA SMResistanceB SmLength默认正向阻抗系数 默认反向阻抗系统 路径的长度
Trail路径上信息素的浓度
SmTopoErrorTopo错误的类型序号
网络层属性数据集的 属性数据说明
表一
步骤S102:在内存中按定义好的数据结构存储数据,同时初始化各条边的十 息素浓度。
步骤S103:接收用户路径规划的请求。
步骤S104:获取路径规划的起始点和所有的终止点信息,并加以存储。
'、■-
11步骤S105:通过蚁群算法搜索从起点到终点的路径,其中起点的初始值是步 骤S104中输入的该路径规划的起始点,该终点的初始值为步骤S104中输入的该些 终止点中的第一个。
步骤S106:判断在步骤S105中是否搜索到路径,如果搜索到则进入步骤S107, 否则转入步骤SllO。
步骤S107:记录最优路径信息,并将起点信息更新为当前终点的信息。
步骤S108:判断是否存在下一个终止点,如果存在则进入步骤S109,否则转 入步骤Slll。
步骤S109:将终点信息更新为下一个终止点,返回步骤S105。 步骤S110:反馈搜索失败的信息,流程结束。
步骤S111:反馈路径搜索的结果,流程结束。
上述步骤中的步骤S105应用现有的蚁群算法来搜索路径,其进一步的细化请
参见图2。在说明图2的步骤之前,对蚁群算法的原理做一概述。
蚁群优化(Ant Colony Optimization, ACO)算法源于模拟自然界中真实蚁群的觅
食行为,是20世纪90年代意大利的M.Dorigo等学者提出的。近10年来的研究
成果表明ACO作为随机搜索算法,在组合优化等领域很有潜力,具有如下优点
(l)较强的鲁棒性对基本蚁群算法模型稍加修改,便可以应用于其它问题;(2)
分布式计算蚁群算法是一种基于种群的进化算法,具有本质并行性,易于并行实
现;(3)分布式计算蚁群算法是一种基于种群的进化算法,具有本质并行性,
易于并行实现;(4)易于与其它方法给合蚁群算法很容易与多种启发式算法结
合,以改善算法的性能;(5)在动态环境下,表现出高度的灵活性和健壮性。
为了弄清什么是蚂蚁优化算法,首先对自然界的蚁群觅食做一个简短的说明。
蚂蚁在觅食过程中能够在所经过的路径上分泌一种称为信息素的物(pheromone),
而且蚂蚁在觅食过程中能够感知这种物质的存在及其强度,并以此指导自己的运动
方向,它们倾向于朝着该物质强度高的方向移动。因此,由大量蚂蚁组成的集体觅
食行为就表现出一种信息正反馈现象某一路径越短,该路径上走过的蚂蚁就越多,
所留下的信息素(pheromone)强度也就越大,后来者选择该路径的概率因此也就
越大。蚂蚁个体之间依赖其在网络中的经历修改路由表,并选择最短路径以达到搜
索食物的目的。蚁群优化算法就是模拟蚁群这一觅食行为的优化算法。为了便于理解,以求解平面上n个城市的TSP问题为例。为了模拟实际蚂蚁的行为,首先引进如下参数设m是蚁群中蚂蚁的数量,*(^=1,2,...,11)表示城市1和城市j之间的距离,bi(t)表示t时刻位于城市i的蚂蚁的个数,则有
m
=2>(t)
i=l
Tij(t)表示t时刻在城市i, j连线上残留的信息量。初始时刻,各条路径上信息
量相等,设Tij(0^C(C为常数)。蚂蚁^1^=1,2,...,111)在运动过程中,根据各条路径上
的信息量决定转移方向。Pijk(t)表示在t时刻蚂蚁k由城市i转移到城市j的概率
h(麵
z阔U
0, y' e ta6
其中T!ij为先验知识或称为能见度,在TSP问题中为城市i转移到城市j的启发信息, 一般取Tl『l/dij; (X为在路径ij上残留信息的重要程度;P为启发信息的重
要程度;与实际蚁群不同,人工蚁群系统具有记忆功能,tabuk(]^1, 2,...,m)用以记录蚂蚁k当前所走过的城市,称为"禁忌表"(下一步不允许选择的城市)。集合tabuk随着进化过程作动态调整。经过n个时刻,所有蚂蚁都完成了一次周游。它们本次周游的"禁忌表"将满,此时应清空,将当前蚂蚁所在城市置入tabUk,准备下一次周游。这时计算每只蚂蚁走过的路径Lk,并保存最短路径Lkmin(Lkmin=minLk,k=l,...,m)。随着时间的推移,以前留下的信息逐渐消逝,用参数1-P表示信息消逝程度,即可以理解为是在模拟信息素(pheromone)随时间挥发的过程。蚂蚁完成一次循环以后,各路径上的信息量要作调整
A《
A,当第k只蚂蚁在时刻沐t+l之间经过々对,
(0,其他
其中,A Tijk表示第k只蚂蚁在本次循环中留在路径ij上的信息量,A Tij表示本次
13循环中路径ij上的信息量的增量,Q为常数,U表示第k只蚂蚁在本次循环中所走过的路径的长度。 一般设置周游次数计数器NC,当达到设定值时结束,最短路径为Lmin=minLkminl(l= 1,2,... ,NC)。
这里有几个问题值得注意(1)在蚂蚁的实际觅食过程中所经过的地方都会
留下信息素(pheromone),但在AC0中,仅仅在"蚂蚁"沿原路返回"蚁窝"(即起始点)时才会"留下人工信息素(pheromone)"(更新信息的重要程度);(2)蚂蚁在觅食时, 一般不一定或不会完全按原路返回的,但在ACO中,"人工蚂蚁"会沿原路返回;无论是自然界的蚁群觅食还是ACO,尽管存在差异,但都存在信息素的挥发问题。
基于上述的蚁群优化算法的原理,结合图2的流程,对蚁群算法搜索起点到终点的路径的过程作进一步的描述。
步骤S200:初始化迭代次数NC,可初始化为0。
步骤S201:判断迭代次数NC是否到达最大循环迭代次数,例如判断NC是否小于最大循环迭代次数,如果NC小于最大循环迭代次数则进入步骤S202,否则转入步骤S217。
步骤S202:设置参数值,初始化所有的蚂蚁状态为活动状态(Running),将蚂蚁已经访问的结点数置为1。
步骤S203:判断是否有Running状态的蚂蚁,如果有则进入步骤S205,否则进入步骤S204。
步骤S204:更新信息素浓度和最优路径信息,迭代次数NC加1,然后返回步骤S201。
步骤S205:选择一只Running状态的蚂蚁并将其编号为k,得到与蚂蚁k当前位置相邻的、未到达过的结点集合。
步骤S206:获得蚂蚁k到每一个相邻点的距离,以及对应路径上的信息素浓度,根据公式计算出蚂蚁k到每一个相邻点的概率。公式如下
14<formula>formula see original document page 15</formula>
其中参数表示蚂蚁k由结点i转移到结点j的概率,参数Tij(t)表示t时刻在结点i、 j连线上残留的信息量,参数Tlij为结点i转移到J的启发信息,为先验知
识或称为能见度,参数a为在路径ij上残留信息的重要程度,参数P为启发信息的重要程度,参数tabuk用以记录蚂蚁k当前所走过的城市。
步骤S207:判断是否有可移动的结点。如有有则进入步骤S208,否则进入步骤S215。
步骤S208:选择一个概率值最大的相邻点作为蚂蚁k要移动到的下一个结点。步骤S209:判断是否存在两个或者两个以上的概率最大的相邻点。如果存在则进入步骤S210,否则转入步骤S211。
步骤S210:用随机数确定蚂蚁移动到的结点。步骤S211:蚂蚁k移动到选定的概率最大的结点。
步骤S212:判断蚂蚁k所在的结点是否是终点。如果是则转入步骤S216,否则进入步骤S213。
步骤S213:判断蚂蚁k经过的路径长度是否小于最大搜索范围。如果是则返回步骤S203,否则进入步骤S214。
步骤S214:蚂蚁k路径搜索过程结束,返回步骤S203。步骤S215:将蚂蚁k的状态置为死亡(DEAD),然后返回步骤S203。步骤S216:将蚂蚁k的状态置为到达(REACH),然后返回步骤S203。步骤S217:结束对当前终点的路径搜索,流程结束。
上述步骤中,步骤S204的进一步细化请参见图3。下面结合图3,对更新信
息素浓度和最优路径信息的过程作进一步的说明。
步骤S300:判断是否有Running状态的蚂蚁。如果有则转入步骤S306,否则进入步骤S301。
步骤S301:判断是否存在未访问过的REACH状态的蚂蚁,如果存在则进入步骤S302,否则转入步骤S307。
步骤S302:计算蚂蚁经过的路径长度。
步骤S303:比较步骤S302中计算出的路径长度是否小于已有的最优长度。如果是则进入步骤S304,否则转入步骤S305。步骤S304:更新最优路径的信息。
步骤S305:根据公式更新蚂蚁所经过的路径上的信息素浓度。
信息素更新的公式如下、(0 = 0-p)r,j(t)十/ Arij
k=l
l f A,当第k只蚂蚁在时刻t和t+l之间经过々'时,
A《=jLk
0,其他
其中参数(l-p)表示信息素消逝程度,即可理解为是在模拟信息素随着时间挥发的过程,参数^(t)表示t时刻在结点i、 j连线上残留的信息量,即为最新的信息素浓度,参数ATijk表示第k只蚂蚁在本次循环中留在路径ij上的信息量,参数
A Tij表示本次循环中路径ij上的信息量的增量,参数Q为常数,表示播撒信息素的总量,参数Lk表示第k只蚂蚁在本次循环中所走过的路径的长度。
步骤S306:选择一只Running状态的蚂蚁将其编号为k,得到与蚂蚁k当前位置相邻的、未到达过的结点集合,该过程结束。
步骤S307:将NC加1,继续下一次的迭代,该过程结束。
在具体实现时参数a、 0、 P的取值对程序运行的结果有很大的影响,应根据不同地图的比例尺大小而进行更改。当a变大时则表明信息素在对蚂蚁进行路径寻找时的作用变大,而参数e则是表示路径长度对蚂蚁选择路径的影响。参数P是挥发比例,P过大,算法的多样性越大,不稳定性也越强,挥发的越少则算法的多样性越少,寻找到的路径比较单一,而且最优率低。
基于上述的方法,本发明还揭示了一种多目标点路径规划装置,装置原理请参见图4所示。
装置包括地理信息数据模块400、网络层属性数据读取模块401、初始化模块402、接收请求模块403、起点终点信息获取模块404、蚁群算法搜索模块405、路
16径查找判断模块406、搜索失败反馈模块407、最优路径信息记录模块408、下一 终点存在性判断模块409、路径搜索结果反馈模块410、终点信息更新模块411。
地理信息数据模块400存储地理数据中网络层的属性数据集信息,该属性数据 集中存储了网络层中的道路对象标识、路径起始点和终止点的ID,路径上的信息 素浓度等信息。其中,Trail (路径上的信息素浓度)是为了适应蚁群算法的需要 而添加的。在进行数据处理时,需要借助Deskpro工具中的拓扑结构生成功能,产 生网络层属性数据集的各个数据。关于该图层的属性数据的结构请参考上述的表
网络层属性数据集读取模块401从地理信息数据模块400中读取地理数据中网 络层的属性数据集信息。初始化模块402按定义的数据结构存储数据并初始化各个 路径上的信息素浓度。接收请求模块403接收用户路径规划的请求。起点终点信息 获取模块404获取输入的路径规划的起始点和所有的终止点的信息并加以存储。蚁 群算法搜索模块405通过蚁群算法搜索从起点到终点的路径,其中起点的初始值是 起点终点信息获取模块404获取到的路径规划的起始点,终点的初始值是起点终点 信息获取模块404获取到的路径规划的所有终止点中的第一个。蚁群算法搜索模块 404执行如图2和图3所示的步骤。路径査找判断模块406判断是否搜索到路径, 如果判断出没有搜索到路径则由搜索失败反馈模块407反馈失败信息。如果判断出 搜索到路径则由最优路径信息记录模块408记录最优路径信息,并更新起点信息为 当前终点的信息。下一终点存在性判断模块判断是否还存在下一个终止点,如果判 断出不存在下一个终止点则由路径搜索结果反馈模块410反馈路径搜索的结果,如 果判断仍存在下一个终止点时则由终点信息更新模块将终点信息更新为下一个终 止点,然后返回蚁群算法搜索模块405进行运作。
总之,本发明借助蚁群优化算法来搜索路径,相对于传统的路径搜索算法具有 更强的鲁棒性和灵活性,在城区和景区地图的搜索过程中能较好的解决路径搜索的 问题。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通 技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变 化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
权利要求
1、一种多目标点路径规划方法,包括(1)从地理信息数据中读取地理数据中网络层的属性数据集信息,其中该属性数据集信息包括各个路径上的信息素浓度;(2)按定义的数据结构存储数据,同时初始化各个路径上的信息素浓度;(3)接收用户路径规划的请求;(4)获取输入的路径规划的起始点和所有的终止点的信息并存储;(5)通过蚁群算法搜索从起点到终点的路径,其中该起点的初始值是步骤(4)中输入的该路径规划的起始点,该终点的初始值是步骤(4)输入的该些终止点中的第一个;(6)判断是否搜索到路径,如果搜索到则进入步骤(7),否则转入步骤(10);(7)记录最优路径信息,并更新起点信息为当前终点的信息;(8)判断是否存在下一个终止点,如果存在则进入步骤(9),否则转入步骤(11);(9)更新终点信息为下一个终止点,返回步骤(5);(10)搜索失败,反馈失败的信息,流程结束;(11)搜索结束,反馈路径搜索的结果。
2、 根据权利要求1所述的多目标点路径规划方法,其特征在于,步骤(5) 进一步包括(a) 初始化迭代次数NC;(b) 判断迭代次数NC是否到达最大循环迭代次数,如果未到最大循环迭代 次数则进入步骤(C),否则结束对当前终点的路径搜索;(c) 设置蚁群算法中的参数值,初始化所有的蚂蚁状态为运行状态,蚂蚁已 经访问的结点数置为1;(d) 判断是否有运行状态的蚂蚁,如果有则进入步骤(e),否则更新信息 素浓度和最优路径信息,迭代次数NC加1,然后返回步骤(b);(e) 选择一只运行状态的蚂蚁将其编号为k,得到与蚂蚁k当前位置相邻的、未到达过的结点集合;(f) 获得蚂蚁k到每一个相邻点的距离以及对应路径上的信息素浓度,计算 出蚂蚁到每一个相邻点的概率;(g) 判断是否有可移动的结点,如果有则进入步骤(h),否则蚂蚁k的状 态置为死亡然后转入步骤(d);(h) 选择一个概率值最大的相邻点作为蚂蚁k要移动到的下一个结点;(i) 判断是否存在两个或者两个以上的概率最大的相邻点,如果存在则进入 步骤(j),否则进入步骤(k);(j)用随机数确定蚂蚁移动到的结点;(k)蚂蚁k移动到选定的概率最大的结点;(1)判断蚂蚁k所在的结点是否为终点,如果不是终点则进入步骤(m), 否则将蚂蚁k的状态设为到达并转入步骤(d);(m)判断蚂蚁经过的路径长度是否小于最大搜索范围,如果小于最大搜索 范围则返回步骤(f),否则蚂蚁k的路径搜索过程结束并返回步骤(d)。
3、根据权利要求2所述的多目标点路径规划方法,其特征在于,步骤(d) 中更新信息素浓度和最优路径信息并对迭代次数NC加1的过程进一步包括(d.l)判断是否有运行状态的蚂蚁,如果有则进入步骤(d.2),否则进入步 骤(d.3);(d.2)选择一只运行状态的蚂蚁将其编号为k,得到与蚂蚁k当前位置相邻 的、未到达过的结点集合,该过程结束;(d.3)判断是否有没有访问过的到达状态的蚂蚁,如果没有则进入步骤(d.4), 否则进入步骤(d.5);(d.4)将迭代次数NC的值加1,继续下一次的迭代,该过程结束;(d.5)计算蚂蚁经过的路径长度;(d.6)判断该路径长度是否小于已有的最优长度,如果小于则进入步骤(d.7), 否则进入步骤(d.8);(d.7)更新最优路径的信息;(d.8)更新蚂蚁所经过的路径上的信息素浓度。
4、 根据权利要求l所述的多目标路径规划方法,其特征在于,该属性数据集 信息还包括网络层中的道路对象标识、路径起始点和终止点的标识。
5、 根据权利要求2所述的多目标路径规划方法,其特征在于,步骤(f)中蚂蚁到每一个相邻点的概率的计算公式为公式有所修改.[7〃 ] ) gS阔U附g /Cf6w,o,y e励w其中参数Pijk表示蚂蚁k由结点i转移到结点j的概率,参数Tij(t)表示t时刻在结点i、 j连线上残留的信息量,参数iiij为结点i转移到j的启发信息,参数a为 在路径ij上残留信息的重要程度,参数e为启发信息的重要程度,参数tabuk用以 记录蚂蚁k当前所走过的城市。
6、根据权利要求3所述的多目标路径规划方法,其特征在于,步骤(d.8)中对蚂蚁所经过的路径上的信息素浓度的更新公式为 ni(一(l-yO)rij(t) + pArijm k=l旦0,其他,当第k只蚂蚁在时刻t和t+1之间经过々'时,其中参数(1-p)表示信息素消逝程度,参数Ty(t)表示t时刻在结点i、 j连线 上残留的信息量,参数A Tijk表示第k只蚂蚁在本次循环中留在路径ij上的信息量, 参数ATij表示本次循环中路径ij上的信息量的增量,参数Q为常数,参数U表示 第k只蚂蚁在本次循环中所走过的路径的长度。
7、 一种多目标点路径规划装置,包括地理信息数据模块,存储地理数据中网络层的属性数据集信息,其中该属性数据集信息包括各个路径上的信息素浓度;网络层属性数据集读取模块,从该地理信息数据模块中读取地理数据中网络层的属性数据集信息;初始化模块,按定义的数据结构存储数据并初始化各个路径上的信息素浓度;接收请求模块,接收用户路径规划的请求;起点终点信息获取模块,获取输入的路径规划的起始点和所有的终止点的信息并存储;蚁群算法搜索模块,通过蚁群算法搜索从起点到终点的路径,其中该起点的初始值是该起点终点信息获取模块获取到的该路径规划的起始点,该终点的初始值是该起点终点信息获取模块获取到的该路径规划的所有终止点中的第一个;路径查找判断模块,判断是否搜索到路径;搜索失败反馈模块,根据该路径查找判断模块判断出没有搜索到路径,反馈失败的信息;最优路径信息记录模块,在该路径査找判断模块判断出搜索到路径后,记录最优路径信息,并更新起点信息为当前终点的信息;下一终点存在性判断模块,判断是否存在下一个终止点;路径搜索结果反馈模块,根据该下一终点存在性判断模块判断出不存在下一个终止点,反馈路径搜索的结果;终点信息更新模块,根据该下一终点存在性判断模块判断出仍存在下一个终止点时,更新终点信息为下一个终止点,然后返回该蚁群算法搜索模块进行运作。
8、根据权利要求7所述的多目标点路径规划装置,其特征在于,该地理信息数据模块中的属性数据集信息还包括网络层中的道路对象标识、路径起始点和终止点的标识。
全文摘要
本发明公开了一种多目标点的路径规划方法和装置,解决了自主导游中的单目标点和多目标点的路径规划问题。其技术方案为该方法包括1)读取地理数据中网络层的属性数据集信息;2)按定义的数据结构存储数据,初始化信息素浓度;3)接收路径规划请求;4)获取起始点和终止点并存储;5)用蚁群算法搜索起点到终点的路径;6)判断是否搜索到路径,如是则进入步骤7),否则转入步骤10);7)记录最优路径信息,并更新起点信息为当前终点信息;8)判断是否存在下一个终止点,如是则进入步骤9),否则转入步骤11);9)更新终点信息为下一个终止点,返回步骤5);10)反馈搜索失败的信息,流程结束;11)反馈路径搜索的结果。
文档编号G01C21/26GK101493329SQ200810032948
公开日2009年7月29日 申请日期2008年1月23日 优先权日2008年1月23日
发明者吴春元, 王丽苹, 军 董 申请人:华东师范大学