欢迎访问发表云网!为您提供杂志订阅、期刊咨询服务!

路径规划典型算法大全11篇

时间:2023-07-16 08:30:59

绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇路径规划典型算法范文,希望它们能为您的写作提供参考和启发。

路径规划典型算法

篇(1)

交通运输的现代化使人们享受便利的同时,也面临道路拥堵、事故频发等问}。近年来,智能交通系统越来越受到人们的重视,它涉及到交通领域诸多方面,如最优路径选择、车辆路径规划、动态车辆调度、交通流量控制等。其中一个重要的应用是一类典型的以数学理论为基础的组合优化问题,而蚁群算法具有内在的搜索机制及正反馈性,适合求解一系列的组合优化问题。

1 蚁群算法描述

蚁群算法源于20世纪90年代初意大利学者M.Dorigo首次提出的蚂蚁系统。它是基于种群的启发式放生进化系统,是通过对蚁群觅食过程中其行为的研究而得出的一种算法。主要思路是蚂蚁借助自己路径寻优的能力可以找到巢穴与食物之间最短的途径。在寻找过程中主要依靠的是每个蚂蚁在行进过程中留下的挥发性分泌物――信息素,依靠信息素,蚁群的蚂蚁之间可以相互合作,相互配合,因此形成的正反馈可以使每只蚂蚁找到所有路径中最短的路径。

蚂蚁a从节点j移动至k的转移概率可以从式(1)中获取:

(1)

(2)

(3)

2 蚁群算法的应用优势

蚁群算法,又名蚂蚁算法,蚂蚁可以利用信息素的浓度大小从而寻找到觅食的最优路径。该算法的优点可以总结为:

2.1 并行分布式计算

每个蚂蚁都是独立的个体,在觅食过程中属于多起点同时启动,互不影响,从根本上分析该过程属于分布式的多Agent系统,整体蚁群最终任务的顺利完成不会由于某些个体的缺陷而受到影响。该算法具有真实可用性,并且可用于解决对单目标的优化或者对多目标的优化等重要问题。此外,蚂蚁算法还可进行并行计算。

2.2 鲁棒性

蚁群算法的最终结果与蚂蚁最初选择的路径无太大关系,在利用人工仿真蚂蚁进行问题求解过程中,不需要对其进行人工的修整。把问题简单化,可以和其他算法相互结合求解最优问题。

2.3 自组织性

蚁群算法组织指令的来源为系统内部,它不受外界环境的干扰,因此该算法具有自组织性。

2.4 正反馈性

蚂蚁对于最优路径的选择主要依靠路径上信息素浓度的多少,信息素的堆积是正反馈的过程,路径上信息素的含量越多则该路径被选择的几率就会越大,正反馈的作用是使整体能够更快的寻找到最优途径,正反馈在蚁群算法中处于重要地位。

2.5 易于实现

它是一种启发示算法,其计算复杂性为,整个算法的空间复杂度是:。

3 蚁群算法在智能交通领域的应用空间

蚁群算法在解决组合优化问题方面有着明显的优势,从而在智能交通领域也有着广泛的应用空间。

3.1 车辆路径导航

根据行车人员的需要,根据对实时路况信息的统计,系统可以智能的为其推荐最优路径,节省时间,节省资源。

3.2 动态车辆调度

当客户需要调度中心为其进行车辆服务时,调度中心要考虑到客户的情况,要考虑到效率的问题,要考虑到行车路线、行驶时间等问题。蚁群算法便可迅速得到合理的解决方案,使客户和调度中心均可受益。

3.3 车辆路径规划

面对多个客户不同的要求时,配送中心要根据实际情况进行车辆的配送,通过蚁群算法系统获取整体的最优路线,根据路线规划,及时进行车辆出发以满足客户要求,同时充分利用了道路资源和车辆资源。

3.4 公共交通智能化调度

利用先进的技术手段、大型数据库技术等动态地获取实时交通信息,实现对车辆的实时监控和调度,最终建立集运营指挥调度、综合业务通信及信息服务等为一体的智能化管理系统。

3.5 交通流量控制

通过蚁群算法简化复杂的道路交通网络,尽量使交通流量在各个道路上分布均匀,避免因流量过大而造成车辆的阻塞。及时了解交通流量情况,缓解了交通拥挤,降低了交通事故的发生率。

参考文献

[1]M.Dorigo,V.Maniezzo,A.Colom.Ant System:Optimization by a colony of cooperating agents.IEEE trans on SMC,1996,26(01):28-41

[2]Eric BONABEAUB, Marco DORIGO,Guy THERAULAZ.AWARM intelligence: from natural to artificial systems[M].New York:Oxford University Press,1999

[3]杨海.蚁群算法及其在智能交通中的应用[D].济南:山东师范大学,2008:14-18

作者简介

白晓(1979-),女。工学硕士学位。现供职于厦门软件职业技术学院软件工程系。主要研究方向为软件工程、智能算法。

篇(2)

当前,智能电网的发展在一定程度上带动了电网技术的发展,并且成为了电网技术发展的重要方向。实际上,智能电网的重要组成部分在于智能配电网,智能配电网的主要特征为拥有完备的自愈能力,同时还能够最大程度的减少电网故障给用户带来的影响。而配电网故障的恢复是智能配电网自愈功能实现的重要过程,配电网故障恢复问题主要指配电网发生故障以后,在故障定位与故障隔离的基础之上,应用一定的故障恢复策略对其进行操作,从而确保供电的平稳与正常。

一、对最佳路径的分析

配电网故障区域恢复供电的最佳路径事实上是在故障情况下的配电网络重构。主要的目的在于,能够快速的将非故障区域供电恢复,与此同时,还能够有效的满足线路负载容量的要求以及线损最小等各个方面的条件。现阶段,在配网自动化领域中研究最多的在于怎样能够快速的实现故障隔离以及快速的恢复费故障区域的供电技术方法,因此,在恢复路径的最优化选择方面出现了较多的研究。

一般而言,配电网故障区域恢复供电的路径为多目标最佳路径问题,现阶段在最佳路径问题的研究上较多的便是城市交通网络中的最短路径问题的研究。由于问题解决的思路存在着极大的不同点,因此最短路径问题能够被分为单元最短路径算法与基于启发式搜索最短路径算法[1]。这与邓群,孙才新,周驳仍凇恫捎枚态规划技术实现配电网恢复供电》一文中的观点极为相似。其中,单元最短路径算法主要体现在几个方面,即:

第一,在GIS空间查询语言方面的最短路径。该职工路径的研究方法在当前还停留在理论研究方面,例如在MAX中定义了一套空间查询语言,该套语言对其完备性给予了相关证明,同时通过举证的方式,对范围查询与时态查询等进行了应用分析。

虽然,对于GIS空间发展研究GeoSQL为一种有效的处理最短路径的手段,但是GIS受到数据库技术发展的制约与影响,导致实际的应用领域和背景的不同,使其和商用之间还有很长的一段距离。

第二,在功能模块思想路径方面,需要按照不同的分类方法实施,而单元最短路径问题的算法能够被分为很多种,例如神经网络法与基于人工智能的启发式搜索算法等,对于不同的背景应用需求和具体软件应用的环境,各种算法在空间的复杂程度与时间的复杂程度等都有明显的体现[2],这与李振坤,周伟杰,钱啸等在《有源配电网孤岛恢复供电及黑启动策略研究》一文中有着相似的观点。并且各种算法在故障恢复方法中各具特色。

另外,启发式搜索最短路径算法也是一种有效的手段。基于启发式方向策略最短路径算法,其中包括空间有效方向的可控参数法,该方法能够有效的调节相关系数,在有效方向上路径无效的时候,能够确保得到有效的路径。

二、最佳路径的选择方法分析

事实上,配电网故障区域恢复供电的最佳路径并不是简单的路径问题,而是多目标最佳路径问题。为此,在研究配电网非故障区域恢复供电的最佳路径过程中,需要对其展开综合的分析。

首先,在多目标分析方面,通常在选择配电网非故障区域恢复供电最佳路径的时候,最为重视的目标为:

第一,在恢复供电路径的过程中,馈线负荷不能过载,同时,还需要确保恢复区域的电压质量能够与实际规定的标准要求相吻合。当供电质量可靠性最高的时候,那么恢复的时间将会很短[3];这与邓昆英,汪凤娇,饶杰等在《智能配电网有功自治互动建模研究》一文中的观点极为相似。另外,供电过程中,线损最低,证明开关拉合的次数最少,同时现场的操作点也会最少。

第二,在动态规划技术恢复供电的最短路径方面需要明确,动态规划主要是运筹学的一个分支,它是求解决策过程的最优的数学方式。早在很久以前,就已经有研究人员对多阶段过程转化问题转化为一系列的单阶段问题,并且逐一进行求解,这标志着解决这类过程优化问题的新方法的创立,即动态规划技术。

本文主要将一典型的复杂配电网络作为研究例子,该连通系包括10个电源点,8个分支点,同时联络开关有16个。将其加入到配网潮流方向和典型的运动方式中,将联络开关和电源点作为定点,那么可以将其分为26个定点。尽管从数量上顶点比较多,但是由于存在着较为复杂的网络关系,使得该问题成为一个极为简单的最短路径问题[4]。这与杨建在《配电网无功补偿系统的关键技术研究》一文中的观点有着相似之处。加之恢复路径主要指费故障区域相关的联络开关与相应路由,为此我们可以将其理解为从不同电源点出发到各个联络开关的最短路径问题,这样一来,故障恢复工作的实施便简单的多。

总结

本文主要从两个方面左手,共同分析了采用动态规划技术实现配电网恢复供电的方法与效果,一方面着手于最佳路径的分析,另一方面着手于最佳路径的选择方法。从这两个方面可以看出,利用动态规划技术去实现配电网恢复供电是一种可行的方法。但是,受到历史原因的影响,我国城市配电网络还缺少标准的规范要求,导致配电网常常出现一些事故。因此,恢复配电网供电已经成为当务之急。随着科技的发展,智能配电网已经被广泛的应用在供电方面,这为平稳供电提供了一定的保障,同时也为恢复配电网故障供电创建了良好的环境与条件等。

参考文献

[1]邓群,孙才新,周驳.采用动态规划技术实现配电网恢复供电[J].重庆大学学报(自然科学版),2006,29(3):40-44.

[2]李振坤,周伟杰,钱啸等.有源配电网孤岛恢复供电及黑启动策略研究[J].电工技术学报,2015,30(21):67-75.

[3]邓昆英,汪凤娇,饶杰等.智能配电网有功自治互动建模研究[J].机电工程技术,2014,(2):4-7.

篇(3)

为了减轻交通压力,人们越来越关心交通系统的智能化进程。智能交通系统主要的研究方向之一就是动态路径诱导系统,它可根据外出的人们的需求,为驾驶员提供最新的路况信息和最佳路径选择,以此避免交通拥堵现象的发生,从而优化交通状况,最终使交通时时地保持一个合理的动态分配。目前,最优路径选择的方法有很多,但是真正需要解决大型问题时,计算机需要搜索的选择范围太大,传统的动态算法基本上无法处理。1995年,神经动态规划算法被提出,该算法把复杂的问题分成若干子问题,这些子问题被拆分后更容易解决,使计算过程大幅简化,且更容易被计算机处理。采用这种方法,可准确、快速、实时、稳定地选择出最优路径,值得推广。

1 神经动态规划概述与核心思想

在解决多阶段决策问题时,动态规划大致思想为:将非常繁琐的原始问题分解为若干个阶段,这些阶段看似不相关,却是相互联系的子阶段,在找到上一阶段的解决方法以后才能处理下一个阶段,依次求出每个阶段的解,最后得到全局最佳的解。多阶段决策问题具备很强的顺序性,同时每个阶段所使用的解决方法也是随着阶段的变化而变化,所以“动态”意义就得以体现。其中交通网中最佳路径的求解就是典型的多阶段决策问题。

在路径优化中,动态规划是一种非常经典的计算方法,但在处理实际问题的时,我们肯定会遇到缺少一个完整信息或者维数灾等一系列问题,所以,引进神经网络对动态规划具有较大的解决实际问题的意义。神经动态规划如图1所示。

2 基于神经动态规划算法的最优路径实现

(1)将原来的问题分解成很多个小问题,即子阶段,并且找到每个子阶段的最优解决办法。求解多级问题的步骤为:根据每个问题的特点,划分子阶段。在划分子阶段时,必须按照一定的规则,比如根据执行决策的时间、空间的顺序等。本文用x来表示子阶段变量。

(2)求解状态和状态变量。每个子阶段具体的起始位置可以依靠自然状态来指导,其中客观条件阶段性数目的状态是自然状态中的一种,它传达每个子阶段的关键信息,此外,一组或者无后效性的变量同样可以用来表示状态变量。本文用Hx来表示第x级的状态变量。

(3)求解原问题决策变量和集合。从目前阶段到下一个阶段状态选择时,决策者需要做出恰当的决策,决策变量的范围称为集合。本文用Dx表示决策集合,用Ux表示决策变量。

(4)研究状态转移的方程。假设状态转移方程是:Hx+1=Tx(Hx,Ux)。次方程式中Tx不定,根据具体问题才能确定,如果Hx确定,一旦变量Ux确定,那么第x+1阶段状态变量(Hx+1)也将确定。

(5)研究指标函数。因为n和vi的递进性和可分离性,所以很容易找到指标函数n和vi之间的关系,显然,指标函数的求解也相对简单化。

(6)动态规划函数的基本方程。边界条件为;

,第x-m阶的最优动态规划函数是。

3 仿真结果

将上述模型,在Matlab仿真软件上进行模拟仿真,分解原始问题并确定各个子阶段的最佳方案,将这个问题用网格的形式如图2进行表示:A为起始地点,E为目标地点,从起始地点到目标终点有很多路径,假设经过每个节点需要一定的运输成本,在Matlab仿真软件上进行仿真后依据动态规则算法的要求,设定好相应的算法模型以及相应的计算公式,这样便可以找到最优路径。

由图2可以非常清楚的看出,成本最低的路线为:或者或者,成本都是110。仿真结果可以看出神经动态规划算法具有较多优点:得到清晰运算结果;很容易找到全局的最优路径;可以找到一组完善的解,有利进一步的分析。

4 结语

我们在使用神经动态规划算法来探索最优路径的时候,具有很多优势,首先其具有稳定、可靠的步骤,过程并不复杂,但是给予我们的结果十分清晰明确,且适用于现实生活。使用这种动态规划算法解决复杂的问题时,可以非常容易找到解决方案,而且效率很高。当然,该算法也有一定的局限,但只要我们不断地改进完善,日后继续研究神经动态规划算法,相信一定可以攻克更多的局限,能够使其更好地被应用。

参考文献

[1]谬慧芬,邵小兵.动态规划算法的原理及应用[J].中国科技信息,2006(23):32.

[2]杨琰,廖伟志,李文敬,杨文,李杰.基于Petri网的顾及转向延误的最优路径算法[J].计算机工程与设计,2013(10).

作者简介

篇(4)

关键词:多机器人;路径规划;强化学习;评判准则

Abstract:This paper analyzed and concluded the main method and current research of the path planning research for multirobot.Then discussed the criterion of path planning research for multirobot based large of literature.Meanwhile,it expounded the bottleneck of the path planning research for multirobot,forecasted the future development of multirobot path planning.

Key words:multirobot;path planning;reinforcement learning;evaluating criteria 

近年来,分布式人工智能(DAI)成为人工智能研究的一个重要分支。DAI研究大致可以分为DPS(distributed problem solving)和MAS(multiagent system)两个方面。一些从事机器人学的研究人员受多智能体系统研究的启发,将智能体概念应用于多机器人系统的研究中,将单个机器人视做一个能独立执行特定任务的智能体,并把这种多机器人系统称为多智能体机器人系统(MARS)。因此,本文中多机器人系统等同于多智能体机器人系统。目前,多机器人系统已经成为学术界研究的热点,而路径规划研究又是其核心部分。

机器人路径规划问题可以建模为一个带约束的优化问题,其包括地理环境信息建模、路径规划、定位和避障等任务,它是移动机器人导航与控制的基础。单个移动机器人路径规划研究一直是机器人研究的重点,且已经有许多成果[1~3],例如在静态环境中常见的有连接图法、可视图法、切线图法、Voronoi图法、自由空间法、栅格法、拓扑法、链接图法、DempsterShafer证据理论建图等;动态环境中常见的有粒子群算法、免疫算法、遗传算法、神经网络、蚁群算法、模拟退火算法、人工势场法等。然而,多机器人路径规划研究比单个机器人路径规划要复杂得多,必须考虑多机器人系统中机器人之间的避碰机制、机器人之间的相互协作机制、通信机制等问题。

1 多机器人路径规划方法

单个机器人的路径规划是找出从起始点至终点的一条最短无碰路径。多个机器人的路径规划侧重考虑整个系统的最优路径,如系统的总耗时间最少路径或是系统总路径最短等。从目前国内外的研究来看,在规划多机器人路径时,更多考虑的是多机器人之间的协调和合作式的路径规划。

目前国内外多机器人路径规划研究方法分为传统方法、智能优化方法和其他方法三大类。其中传统方法主要有基于图论的方法(如可视图法、自由空间法、栅格法、Voronoi图法以及人工势场方法等);智能优化方法主要有遗传算法、蚁群算法、免疫算法、神经网络、强化学习等;其他方法主要有动态规划、最优控制算法、模糊控制等。它们中的大部分都是从单个机器人路径规划方法扩展而来的。

1)传统方法 多机器人路径规划传统方法的特点主要体现在基于图论的基础上。方法一般都是先将环境构建成一个图,然后再从图中寻找最优的路径。其优点是比较简单,比较容易实现;缺点是得到的路径有可能不是最优路径,而是次优路径。薄喜柱等人[4]提出的一种新路径规划方法的基本思想就是基于栅格类的环境表示和障碍地图的。而人工势场方法的基本思想是将移动机器人在环境中的运动视为一种虚拟人工受力场中的运动。障碍物对移动机器人产生斥力,目标点产生引力,引力和斥力周围由一定的算法产生相应的势,机器人在势场中受到抽象力作用,抽象力使得机器人绕过障碍物。其优点是适合未知环境下的规划,不会出现维数爆炸问题;但是人工势场法也容易陷入局部最小,并且存在丢失解的部分有用信息的可能。顾国昌等人[5]提出了引用总体势减小的动态调度技术的多机器人路径规划,较好地解决了这个问题。

2)智能优化方法 多机器人路径规划的智能优化方(算)法是随着近年来智能计算发展而产生的一些新方法。其相对于传统方法更加智能化,且日益成为国内外研究的重点。

遗传算法是近年来计算智能研究的热点,作为一种基于群体进化的概率优化方法,适用于处理传统搜索算法难以解决的复杂和非线性问题,如多机器的路径规划问题。在路径规划中,其基本思想是先用链接图法把环境地图构建成一个路径节点链接网,将路径个体表达为路径中一系列中途节点,并转换为二进制串;然后进行遗传操作(如选择、交叉、复制、变异),经过N次进化,输出当前的最优个体即机器人的最优路径。遗传算法的缺点是运算速度不快,进化众多的规划要占据很大的存储空间和运算时间;优点是有效避免了局部极小值问题,且计算量较小。 

孙树栋等人[6,7]在这方面较早地展开了研究,提出的基于集中协调思想的一种混合遗传算法来规划多机器人路径方法较好地解决了避障问题。但不足的是该方法必须建立环境地图,在环境未知情况下的规划没有得到很好的解决;且规划只能保证找到一个比较满意的解,在求解全局最优解时仍有局限。

文献[8]中提出的一种基于定长十进编码方法有效降低了遗传算法的编码难度,克服了已有的变长编码机制及定长二进制编码机制需特殊遗传操作算子和特殊解码的缺陷, 使得算法更加简单有效。

智能计算的另一种常见的方法——蚁群算法属于随机搜索的仿生算法。其基本思想是模拟蚂蚁群体的觅食运动过程来实现寻优,通过蚂蚁群体中各个体之间的相互作用,分布、并行地解决组合优化问题。该算法同样比较适合解决多机器人的路径规划问题。

朱庆保[9]提出了在全局未知环境下多机器人运动蚂蚁导航算法。该方法将全局目标点映射到机器人视野域边界附近作为局部导航子目标,再由两组蚂蚁相互协作完成机器人视野域内局部最优路径的搜索,然后在此基础上进行与其他机器人的碰撞预测与避碰规划。因此,机器人的前进路径不断被动态修改,从而在每条局部优化路径引导下,使机器人沿一条全局优化的路径到达目标点。但其不足是在动态不确定的环境中路径规划时间开销剧增,而且机器人缺乏必要的学习,以至于整个机器人系统路径难以是最优路径。

强化学习[10,11] (又称再激励学习)是一种重要的机器学习方法。它是一种智能体从环境状态到行为映射的学习,使得行为从环境中获得积累奖赏值最大。其原理如图1所示。

强化学习算法一般包含了两个步骤:a)从当前学习循环的值函数确定新的行为策略;b)在新的行为策略指导下,通过所获得的瞬时奖惩值对该策略进行评估。学习循环过程如下所示,直到值函数和策略收敛:

v0π1v1π2…v*π*v*

目前比较常见的强化学习方法有:Monte Carlo方法、动态规划方法、TD(时间差分)方法。其中TD算法包含Sarsa算法、Q学习算法以及Dyna-Q算法等。其Q值函数迭代公式分别为

TD(0)策略: V(si)V(si)+α[γi+1+γV(si+1)-V(si)]

Sarsa算法: Q(st,at)Q(st,at)+α[γt+1+γQ(st+1,at.+1)-Q(st,at)]Qs′学习算法: Qπ(s,a)=∑Pαss′[Rass′+γVπ(s′)]

近年来,基于强化学习的路径规划日益成为国内外学者研究的热点。M. J. Mataric[12]首次把强化学习引入到多机器人环境中。而基于强化学习的多机器人路径规划的优点主要体现在:无须建立精确的环境模型,简化了智能体的编程;无须构建环境地图;强化学习可以把路径规划、避碰、避障、协作等问题统一解决。

张芳等人[13]提出了基于再激励协调避障路径规划方法,把再励函数设计为基于行为分解的无模型非均匀结构,新的再励函数结构使得学习速度得以提高且有较好的鲁棒性。同时,证明了在路径规划中,机器人的趋向目标和避障行为密切相关,对反映各基本行为的再励函数取加权和来表示总的再励函数要优于取直接和的表示方式,也反映了再励函数设计得合理与否及其确切程度将影响再励学习的收敛速度。王醒策等人[14]在动态编队的强化学习算法方面展开了研究。宋一然[15]则提出了分段再励函数的强化学习方法进行路径规划。其缺点是学习次数较多、效率不高,当机器人数目增加时,它有可能面临维数灾难的困难。所以,基于强化学习的路径规划在多机器人环境下的学习将变得比较困难,需要对传统的强化学习加以优化,如基于人工神经网络的强化学习[16]等。

3)其他方法 除了以上国内外几种比较常见且研究较多的方法外,还有唐振民等人[17]提出的基于动态规划思想的多机器人路径规划,把运筹学中的动态规划思想与Dijkstra算法引入到多机器人的路径规划中,用动态规划的基本思想来解决图论中的费用流问题和路径规划中的层级动态联盟问题。其选择距离邻近法作为联盟参考依据。一个机器人的邻居是指在地理位置上分布在这个机器人周围的其他机器人;与该机器人最近邻的机器人为第一层邻居,第一层邻居的邻居为该机器人的第二层邻居, 依此类推。那么层级越高(即越近)的邻居,它满足协作要求的可能性越大。动态规划算法实质上是一种以空间换时间的技术,它在实现的过程中,必须存储产生过程中的各种状态,其空间复杂度要大于其他算法,故动态规划方法比较适合多机器人的全局路径规划。

孙茂相等人[18]提出了最优控制与智能决策相结合的多移动机器人路径规划方法。其首先构造一个以各机器人最优运动状态数据库为核心的实时专家系统, 在离线状态下完成; 然后各机器人在此专家系统的支持下, 以最优规划策略为基础, 采用速度迁移算法, 自主决定其控制。该方法拥有较好的稳定性与复杂度。焦立男等人[19]提出的基于局部传感和通信的多机器人运动规划框架较好地解决了多机器人路径规划在局部在线规划的系统框架问题。沈捷等人[20]提出了保持队形的多移动机器人路径规划。以基于行为的导航算法为基础,把机器人队列的运动过程划分为正常运动、避障和恢复队形三个阶段。在避障阶段,引入虚拟机器人使队形保持部分完整;当队形被严重打乱时,规划机器人的局部目标位姿使队列快速恢复队形。其算法重点为避障机器人进入避障状态,暂时脱离队列,并以虚拟机器人代替避障机器人。

2 多机器人避碰和避障

避障和避碰是多机器人路径规划研究中需要考虑的重点问题之一。避障和避碰主要讨论的内容有防止碰撞;冲突消解、避免拥塞;如何避免死锁。在路径规划中常见的多机器人避障方法[21]有主从控制法、动态优先法(建立在机器人之间的通信协商上)、交通规则法、速率调整法,以及障碍物膨胀法、基于人工势场的方法等。

目前国内外对于多机器人避障展开的研究还不是很多,比较典型的有徐潼等人[22]以Th.Fraichard的思想为基础,扩充并完善了路径/速度分解方案来协调多机器人,设立集中管理agent进行整体规划,为每个机器人规划路径;并根据优先级规则对运动特征进行分布式规划以避免机器人间的冲突。周明等人[23]提出分布式智能避撞规划系统,将原来比较复杂的大系统转换为相对简单的子系统问题,由各智能机器人依据任务要求和环境变化, 独立调整自身运动状态,完成任务的分布式智能决策体系结构。任炏等人[24]提出了基于过程奖赏和优先扫除的强化学习多机器人系统的冲突消解方法。该算法能够显著减少冲突,避免死锁,提高了系统整体性能。欧锦军等人[25]提出了通过调整机器人的运动速度实现多机器人避碰,将避碰问题转换为高维线性空间的优化问题, 并进一步将其转换为线性方程的求解。该方法的缺点是系统的复杂度较高、计算量太大。

人工势场方法的特点是计算简洁、实时性强、便于数学描述,且适合于多自由度机器人环境,但容易产生抖动和陷入局部极小。为了克服其缺点,景兴建等人[26]提出了人工协调场的方法,在传统排斥力场中增加一个协调力,并将吸引力、排斥力和协调力与局部环境下机器人的运动状态和运动要求结合起来,有效地保证机器人的安全性,提高机器人在复杂动态环境下行为决策的准确性和鲁棒性。

3 多机器人协作和协调机制

多机器人间的运动协调[27~31]是多机器人路径规划的关键,也是多机器人与单机器人路径规划相区别的根本所在。多机器人系统在复杂动态实时环境下,由于受到时间、资源及任务要求的约束,需要在有限时间、资源的情况下进行资源分配、任务调配、冲突解决等协调合作问题,而机器人间的协调与协作,能够大大地提高整个系统的效率和鲁棒性,成为系统完成控制或解决任务的关键。

目前已有的协调方式分为集中式、分布式和混合式三种。在集中式协调中,集中规划器详细地规划出每个机器人的动作,通常的做法是将多个机器人看做一个多自由度的机器人进行规划;而分布式协调规划中,机器人之间进行合作,将一个任务分成多个子任务,根据各自的特点完成不同的子任务,从而共同完成总任务;混合式协调是集中式和分布式混合在一起的形式。

多机器人间典型的协调方法[32]有合同网协议[33]、黑板模型、结果共享的协同方法、市场机制。近年来强化学习在多机器人协作方面也得到很好的应用,陈雪江[32]在基于强化学习的多机器人协作方面展开了研究,提出了多智能体协作的两层强化学习方法来求解在多智能体完全协作、有通信情况下的协作问题。其主要通过在单个智能体中构筑两层强化学习单元来实现:第一层强化学习单元负责学习智能体的联合任务协作策略;第二层强化学习单元负责学习在本智能体看来是最有效的行动策略。陈伟等人[34]提出基于多目标决策理论的多机器人协调方法;通过对环境的拓扑建模,从基于行为的机器人学角度出发,对任务进行分解并设计目标行为,以多目标行为决策理论作为决策支持,从而达到多机器人运动协调的目的。

4 多机器人路径规划方(算)法的判优准则

通常评价机器人路径规划方(算)法的标准文献[35]有正确性、时间/空间复杂度、并行性、可靠性、扩展性、鲁棒性和学习。而多机器人的路径规划除了以上一些衡量标准之外,还需要考虑整个系统的最优化以及机器人间的协调性。

1)正确性 是分析算法的最基本的原则之一。一般来说算法的正确性是指:在给定有效的输入数据后,算法经过有穷时间的计算能给出正确的答案。但在多机器人路径规划算法中,正确性主要指:路径规划算法要生成多个机器人协调运动的无碰安全路径;这条路径是优化的。

2)安全性 一般指多机器人所生成的各路径中节点与障碍物有一定的距离。但在实际的应用背景下,有人认为安全性可以从两个方面来理解:a)狭义地讲,它就是机器人在行走过程中所做的功。在一定的条件下,它与路径长度准则是一致的。b)广义地讲,它是各种优化条件加权综合而得到的结果。

3)复杂度 一个算法的复杂性高低体现在该算法所需要的计算机资源的多少上面。所需要的资源越多,该算法的复杂性越高;反之,所需要的资源越少,该算法的复杂性就越低。算法的复杂性包括时间复杂度和空间复杂度。

在多机器人的路径规划算法中,算法的复杂度分析显得尤为重要。一般地,单机器人路径规划算法的时空复杂度已经颇高,它们的数量级至少是O(n2);多机器人的路径规划算法不仅是m-O(n2)(即m个机器人路径规划简单地叠加),它们之间还存在着对运动空间竞争的冲突,面对不断变化的冲突的协调需要花费大量的时间和空间。通常多机器人的路径规划算法与机器人的个数呈指数关系O(km×n2)(k为常数)。这对多机器人路径规划算法的时间/空间复杂度控制是一个很严峻的考验。

4)并行性 算法的并行性从算法设计、编写程序、编译和运行等多个不同的层次来体现。路径规划过程需要大量的计算,当处理的环境比较复杂,机器人工作的环境过于紧凑,尤其是机器人数量很多时,算法的时间/空间复杂度势必会成为算法效率的关键。因此,在算法设计和运行上的并行性是通常考虑的方法。对多个机器人的路径规划尽量采用分布式多进程的规划机制,以实现每个机器人路径规划的并行性。

5)可靠性 把多个机器人及其工作环境看成是一个系统,多机器人处于它们各自的起始点时,称该系统处于初始状态;当它们处于各自的目标点时,称该系统处于目标状态。多机器人的路径规划就是在该系统的这两个状态间建立一串合理的状态变迁。这一状态变迁过程可能会历经许多状态,如果在状态变迁过程中,路径规划算法控制不好各状态间的转移关系,就会导致系统紊乱,出现机器人间的碰撞、找不到路径等恶性后果,使任务失败。所以这就对算法的可靠性和完备性提出了挑战。为了很好地克服这一困难,需要对系统的各种可能状态建模,分析它们相互间的关系,建立有限状态自动机模型或Petri网模型,并以此为指导,按照软件工程的思想,构造恰当的算法输入来对算法的可靠性进行检验。

6)可扩展性 在多机器人的路径规划算法中,可扩展性主要是指一种路径规划算法在逻辑上,或者说在实现上能否容易地从2D空间扩展到3D空间,从低自由度扩展到高自由度,从较少的机器人数到更多的机器人数。可扩展性在各种路径规划算法之间没有一种量的比较标准,只能从实际的具体情况出发、从对环境描述的适宜程度出发、从算法解决这一问题的复杂度出发、从算法本身的自适应出发等来考虑。

7)鲁棒性和学习 鲁棒性对于多机器人系统非常重要。因为许多应用,如路径规划要求连续的作业、系统中的单个机器人出现故障或被破坏,要求机器人利用剩余的资源仍然能够完成任务。学习是在线适应特定的任务。虽然通用的系统非常有用,但将它用于特定应用上时,通常需要调整一些参数。具有在线调整相关参数的能力是非常吸引人的,这在将体系结构转移到其他应用时可以节省许多工作。尤其是多机器人系统中机器人的自身学习和相互间的学习能够大大提高整个系统的效率和系统的稳定性。

8)最优化 对动态环境有优化反应。由于有些应用领域涉及的是动态的环境条件,具有根据条件优化系统的反应能力成为能否成功的关键。

5 结束语

综上所述,国内外研究者在多机器人路径规划取得了一些成果,但是在协作、学习、通信机制等方面仍面临很大的困难和不足。如何进一步提高机器人间的协调性,增强机器人自身以及相互间的学习以提高多机器人系统的效率和鲁棒性都有待深入研究。近年来无线通信技术得到长足发展,但在目前的技术条件下,在多机器人系统中实现所有机器人之间的点对点实时通信还有较大困难,这也是大多数多机器人系统仍然采用集中通信方式的主要原因。因此,如何降低多机器人系统对通信速度的依赖程度也是一个非常重要的问题。

总之,多机器人路径规划设计和实现是一项极其复杂的系统工程,展望其能在结合计算智能方法,如差分进化、遗传算法、粒子群算法、免疫算法、模糊逻辑算法、BP网络、人工势场的改进、模拟退火和环境建模方法等方面取得新的突破。

参考文献:

[1]WEISS G.Multiagent systems:a modern approach to distributed modern approach to artificial intelligence[M].Cambridge, Massachusetts:MIT Press,1999:121-161.

[2]蔡自兴,徐光祐.人工智能及其应用:研究生用书[M].3版.北京:清华大学出版社,2004:124-198.

[3]谭民,王硕,曹志强.多机器人系统[M].北京:清华大学出版社,2005:6-81.

[4]薄喜柱,洪炳熔.动态环境下多移动机器人路径规划的一种新方法[J].机器人,2001,23(5):407-410.

[5]顾国昌,李亚波.基于总体势减小的动态调度技术解决多机器人的路径规划[J].机器人,2001,23(2):171-174.

[6]孙树栋,林茂.基于遗传算法的多移动机器人协调路径规划[J].自动化学报,2000,26(5):672-676.

[7]周明,孙树栋,彭炎午.基于遗传算法的多机器人系统集中协调式路径规划[J].航空学报,2000,21(2):146-149.

[8]CAI Zixing,PENG Zhihong.Cooperative coevolutionary adaptive genetic algorithm in path planning of cooperative multimobile robot systems[J].Journal of Intelligent and Robotic Systems:Theory and Applications,2002,33(1):61-71.

[9]朱庆保.全局未知环境下多机器人运动蚂蚁导航算法[J].软件学报,2006,17(9):1890-1898.

[10]SANDHOLM T W,CRITES R H.Multiagent reinforcement learning in the iterated prisoner’s dilemma[J].BioSystems,1996,37(1):147-166.

[11]高阳,陈世福,陆鑫.强化学习研究综述[J].自动化学报,2004,30(1):

86-100.

[12]MATARIC M J.Interaction and intelligent behavior[D].Massachusetls:Department of Electrical Engineering and Computer Science,MIT,1994.

[13]张芳,颜国正,林良明.基于再励学习的多移动机器人协调避障路径规划方法[J].计算机工程与应用,2003,39(3):80-83.

[14]王醒策,张汝波,顾国昌.多机器人动态编队的强化学习算法研究[J].计算机研究与发展,2003,40(10):1444-1450.

[15]宋一然.基于强化学习的多机器人路径规划方法[J].莆田学院学报,2006,13(2):38-41.

[16]韩学东,洪炳熔.基于人工神经网络的多机器人协作学习研究[J].计算机工程与设计,2002,23(6):1-3.

[17]唐振民,赵春霞,杨静宇,等.基于动态规划思想的多机器人路径规划[J].南京理工大学学报,2003,27(5):610-615.

[18]孙茂相,周明,王艳红,等.多移动机器人实时最优运动规划[J].控制与决策,1998,

13(2):125-130.

[19]焦立男,唐振民.基于局部传感和通讯的多机器人运动规划框架[J].计算机工程与应用,2007,43(17):89-93.

[20]沈捷,费树岷,郑波.多移动机器人保持队形路径规划[J].东南大学学报,2005,35(3):391-395.

[21]MANSOR M A,MORRIS A S.Path planning in unknown environment with obstacles using virtual window[J].Journal of Intelligent and Robotic Systems,1999,24(3):235-251.

[22]徐潼,唐振民.多机器人系统中的动态避碰规划[J].计算机工程,2003,29(17):

79-81,104.

[23]周明,孙茂相,尹朝万,等.多移动机器人分布式智能避撞规划系统[J].机器人,1999,21(2):139-143.

[24]任炏,陈宗海.基于强化学习算法的多机器人系统的冲突消解的方法[J].控制与决策,2006,21(4):430-434,439.

[25]欧锦军,朱枫.一种多移动机器人避碰规划方法[J].机器人,2000,22(6):474-481.

[26]景兴建,王越超,谈大龙.基于人工协调场的多移动机器人实时协调避碰规划[J].控制理论与应用,2004,21(5):757-764.

[27]PANAIT L,LUKE S.Cooperative multiagent learning:the state of the art[J].Autonomous Agents and MultiAgent Systems,2005,11(3):387-434.

[28]TZAFESTAS C S,PROKOPIOU P A,TZAFESTAS S G.Path planning and control of a cooperative three robot system manipulating large objects[J].Journal of Intelligent and Robotic Systems,1998,22(2):99-116.

[29]薛宏涛,叶媛媛,沈林成,等.多智能体系统体系结构及协调机制研究综述[J].机器人,2001,23(1):85-90.

[30]周风余,李贻斌,宋锐,等.基于混合式多智能体系统的协作多机器人系统研究[J].山东大学学报:工学版,2005,35(1):82-87.

[31]夏冰,张佐,张毅,等.基于多智能体系统的动态路径选择算法研究[J].公路交通科技,2003,20(1):93-96.

[32]陈雪江.基于强化学习的多机器人协作机制研究[D].杭州:浙江工业大学,2004.

篇(5)

我国目前白车身焊接机器人焊接路径规划方面仍处于落后水平,相关路径规划也极为不完善,机器人工作的过程中经常出现作业顺序不合理的状况,导致生产周期增长,影响整个焊接线路的发展。所以如何制定出一条合理的路径规划是当前首要目标,本文立足实际就针对这个问题提出一些有效性策略。

一、路径规划的意义

白车身焊接机器人焊接中制定出一条合理的路径规划可以有效缩短机器人生产时间,进而缩短整个工期,提高整个生产效率,某种程度上降低了生产成本。另一方面,白车身焊接机器人焊接路径规划具有一定的典型性,在自动驾驶、服务机器人、挖掘机器人等路径规划研究方面具有重要的借鉴意义,具有较高的社会价值和经济价值。

二、白车身焊接机器人焊接路径规划

(一)路径规划的基本任务

现代化工业生产的主要目标是为了获得较高的制造质量、取得较高的生产率,而付出较低的生产成本,这是现代企业提高自身竞争力的重要手段,也是路径规划中的主要任务之一,而在路径规划的过程中要想保证焊接质量主要取决于以下两点:

第一,最大程度的使用机器人工位。使用机器人工位能够有效降低工人的劳动强度,减少人为错误几率,提高焊接的准确性,保证焊接的顺利进行,从而保证焊接的稳定性。

第二,要完成所有的焊接点,保证焊接的工艺参数。

要想实现较低的制造成本就是最大化的利用现有资源,提高机器人的工作效率,缩短机器人工位的生产周期,减少机器人的使用数量。路径规划的重要方向就是提高生产率,保证生产环节的顺利进行,缩短生产周期,提高生产率。

(二)路径规划

白车身焊接机器人焊接路径规划主要有两个分支,一是改变工艺参数,使用新的工艺方法和辅助设备。二是要提高分配的合理性、提高焊接顺序的合理性,提高合理性的目标是为了减少机器人工位的生产周期。第二个分支实现的途径主要是通过提高机器人焊接路径的合理性,从而提高单个机器人的生产效率,最终缩短整个生产周期。

(三)遗传算法

遗传算法是进化算法中产生最早、应用最广泛的一种基本算法,在工程技术和经济管理领域都有广泛的应用。遗传算法有群体搜索和遗传算子两个基本特征,所谓的群体搜索打破了领域的限制,使信息可以广泛分布于整个空间。而遗传算子就是使染色体进行随机操作,以降低人机交互的依赖。两个特征保证了遗传算法具有最优的搜索能力、最简明的操作能力以及信息处理的隐秘能力。

白车身焊接路径规划主要问题如下:

第一,白车身中所需要焊接的焊接点众多。

第二,在生产的过程中常常追求没有意义的高精度。

第三,在解答相关问题时需要运用数学方法。

第四,因为方案最终应用于企业,所以数学方法最好要简洁明了,便于学习。

综上,在路径研究时需要运用遗传算法,主要优势在于:

第一,遗传算法的计算步骤比较简单明了,在实际操作时便于学习和使用。在计算时大大减少了计算量,从而节约时间。

第二,能够在很大程度上优化焊接作业顺序,减轻焊接的工作量。

第三,减少定量分析与定性分析的工作量。

第四,能够很好的掌控全局,在全局中找到最优解。

三、路径规划的仿真

(一)仿真系统的各要素

路径仿真系统一般要具有以下几个基本要素:

第一,对仿真问题的描述。模型和仿真运行控制共同组成了一个仿真系统,而一个特定的模型又是由一个参数和一组参数值构成。例如白车身点焊机器人焊接路径的参数模型一般包括家具模型、机器人模型、侧围模型,在这基础之上还加入了具体的参数值,就形成了特定的模型。

第二,行为产生器。模型确定以后就要对模型进行试验,这是一套试验的软件,行为产生器可以生成一组根据时间变化的数据,这类数据是仿真的物资基础。

第三,模型行为及对行为的处理。

模型行为可以大致分为三种:轨迹行为、结构行为以及点行为。

仿真系统中都要获取轨迹行为,这些行为的获取主要是根据时间的推移而产生的。

(二)仿真软件的选择

一个完善的机器人仿真系统可以依据机器人的运动学、动力学、行为轨迹等多项内容进行仿真计算,并可以根据机器人的实际操作内容进行仿真操作过程,并不依赖于真正的机器人。但目前最主要的工作是对机器人的路径规划做一个仿真方案,而不是设计出一个机器人的仿真系统。在进行机器人路径规划时需要一定的条件,在现实生活中可以有多个选择,最好的选择就是使用一些类似CAR这种专业软件,如果条件不允许可以选择VC++或者使用CATIA等软件进行仿真。VC++自主编写的优点在于针对性比较强,在做路径时可以考虑多方面因素,然而缺点是不能建立详细的三维模型,在实际操作时不能全方面的展现白车身焊接工位情况,且工作量较大。CATIA与VC++相比最大的优势就是可以建立详细的三维模型,能够全方位展现工位情况,仿真轨迹最为真实,在仿真过程中还可以检查是否干涉。而缺点也是比较明显的,在仿真的过程中不能将动力学和控制算法考虑在内。

四、小结

白车身主要是以钢结构为主的支架,是汽车中重要组成部分。而车身制造是整个环节中比较复杂又极为重要的一环,影响整个汽车的质量。我国研究白车身焊接机器人焊接路径仍处于落后阶段,为了提高综合竞争力需要加大技术投资,提高我国白车身制造综合竞争。

参考文献:

篇(6)

中图分类号:TP242 文献标志码:A

An Improved RRT Algorithm of Local Path Planning for Vehicle Collision Avoidance

SONG Xiaolin,ZHOU Nan,HUANG Zhengyu,CAO Haotian

(Stake Key Laboratory of Advanced Design and Manufacturing for Vehicle Body, Hunan University,Changsha 410082,China)

Abstract:The original Rapidly-exploring Random Trees(RRT) algorithm has a rapid exploring-speed and short required time in path planning though it has large randomness and lacks of constraints. Thus, an improved RRT was proposed where the expected paths were built in both straight and curved roads. The random points were accorded with normal distribution around the expected paths. Heuristic search method that led the random points to the goal with a certain probability was also used for improvement. Compared with the original RRT algorithm, it performs quite well in both time-efficient and path quality in the simulation. Meanwhile, the effectiveness of the improved RRT algorithm was verified in Prescan. The path can be followed well and the secure lateral acceleration was satisfied. In conclusion, the improved RRT is effective in the path planning for vehicle collision avoidance.

Key words: rapidly-exploring random trees; vehicle path planning; Gauss distribution; path following

近年来随着汽车向智能化的不断发展,无人驾驶汽车技术引得越来越多人开始关注.路径规划作为其中一项关键技术,许多学者开展了有益的探索,并取得了一些研究成果.比如A*算法[1]、D*算法[2]等启发式搜索算法,在复杂环境下有着很好的规划速度,但是路径并不理想;人工势场法[3]是一种虚拟力算法,其优点是规划的路径平滑,但是容易陷入局部最优解;人工势场法与弹性绳模型结合[4-6]在车辆局部路径规划时有理想的路径,但由于模型比较复杂,搜索效率低;此外蚁群算法、遗传算法、神经网络算法、水滴算法等智能仿生算法[7-10],在理复杂动态环境信息时有较好表现,但由于需迭代计算,时效性不够好.

快速搜索随机树算法(RRT)[11]由Lavalle于1998年提出,是一种基于树结构的典型算法,在移动机器人路径规划中有着较早应用.由于算法在进行路径规划时是随机采样,不需要预处理,因此有着很快的搜索速度.路径点之间可以经过运动学、动力学仿真生成可执行曲线,因此该方法可用于解决含有运动学约束的路径规划问题.但RRT算法存在一些不足:1)重现性差,对同一环境进行多次路径规划结果不同;2)寻找最优或者次优路径能力较差;3)随机采样点在整个可行域内随机寻点的搜索方式,存在很多不必要的运算,影响算法速度.

随着RRT算法的应用和改进,一些学者也提出了不同的方法.偏向RRT[12]以及双向RRT[13]的提出使得算法的搜索效率得到了提高;DRRT[14]与MP-RRT[15]原算法在搜索路径的稳定性上做出了改进.但上述改进之后的结果并不适用于汽车行驶路径.针对以上不足,本文将建立道路模型,考虑路径约束,改进RRT算法,使其规划出的路径能够适用于汽车运动.

1 道路环境建模

在环境已知的情况下,建立道路环境模型.直道环境模型根据道路长度以及车道宽即可得到,弯道环境模型如图1所示,位于道路上的惯性坐标系的原点选取在道路中心线上,道路宽度为W,规划起始点即主车位置A,目标点C,障碍车位置为B.高速路直线之间的缓和曲线通常采用回旋线来实现平滑过渡,回旋线的特征是其曲率变化为常数.假定长度为l的回旋线线段起始曲率为C1,终止曲率为Cf,变化常数为C2,则有C(l)=C1+C2×l成立,C2=(Cf-C1)/l.回旋线常采用多项式逼近的形式表示:

式中:R0为道路中心线初始横向偏移;C0为初始的方向角.根据图1,结合边界条件R(0)=0,R′(0)=0可以将R0和C0消除掉.

为了保持车道宽度一致,弯道的左右边界是通过中心线上点向着其法线方向上下平移单个车道宽度来得到.在道路坐标系下中心线上的点可由式(2)表示.

中心线上一点的切向量和法向量则可以表示成:

因此道路左右界则可以由(4)来表示

2 RRT算法原理

基本的RRT算法如图2所示,RRT算法以给定的起始点为随机树根节点,根据当前环境快速有效地搜索可行域空间,通过随机采样点,将搜索导向空白区域并增加随机树的叶节点直至目标点区域,从而生成从起始点到目标点的路径.

算法的一般步骤如下:

1)首先通过environment()函数建立环境数据模型,初始化各项参数;

2) 通过while循环来判断树节点是否达到目标点goal范围内,若没有,则开始扩展点.先生成随机采样点Prand,在树节点上通过函数Nearest()选择距离Prand最近的树节点作为扩展节点Pnear,通过扩展函数New得到新的树节点Tnew,并将其添加到随机树上,直到循环终止.

3)通过getpath()函数来得到生成的路径path.

原算法主体程序如下:

如图3所示,传统的RRT算法应用到车辆路径规划中存在以下问题:

1)由于随机采样点随机性大,导致搜索空间中有过多的冗余搜索,表现为搜索树布满了道路环境空间;

2)搜索出来的路径曲率变化过大,甚至出现小范围内直角变化,这样的路径并不能满足汽车行驶的正常状态;

3)路径在靠近障碍时才开始避障,对于运动中的汽车会造成失稳或者与障碍物发生碰撞.

道路长度/m

3 RRT算法的改进

3.1 期望路径模型

针对原RRT算法表现出来的问题,提出了一种随机采样点高斯分布的改进RRT算法.根据汽车行驶环境不同,设计了两种期望路径模型.

3.1.1 直道模型

驾驶经验丰富的驾驶员期望的避障路径模型如图4(a)所示.期望路径以函数Epz表示,其中各段均为直线段,start为起始点,goal为目标点.

提前避障在车辆避障路径规划中是必要的,故在模型中需要添加提前避障距离S,并根据车速调整大小.设V为当前车速,tc为换道时间,通常完成换道时间tc为1~2 s,ΔS为自定义安全提前量.

对于车速为V的汽车其刹车距离

则提前避障距离

图4(a)中fz2表示提前避障区域,区间长度为S,fz4区间长度也为S.

期望路径只是粗略的路径模型,在此基础上进行平滑得出的路径并不能满足汽车安全稳定行驶的要求.因此采用RRT算法进行路径寻优搜索.为了使随机采样点分布在期望路径周围,利用高斯分布函数生成的点集中在其均值周围的特点,结合期望路径函数则可以实现这一目的.在道路坐标系下随机采样点的高斯分布概率函数为:

令μ=Epz(x),则可以得到如图4(b)所示的随机采样点分布趋势图.

道路长度/m(a)期望路径模型

道路长度/m(b)随机采样点高斯分布

σ的大小决定了随机点在Epz(x)周围的集中程度,σ越小越靠近Epz(x).特别地,对于fz2与fz4周围的随机采样点,如图4(a)以fz2为例,通过相应水平范围的随机点高斯分布旋转处理得到,即对

旋转角度:

3.1.2 弯道模型

将弯道分为多段,采用直线代替弯道曲线的形式来完成期望路径模型的建立.如图5(a)弯道的期望路径以函数Epw来表示.

随机采样点在fw各段函数区间的分布同直道的处理相同,从而可以得到如图5(b)所示的分布趋势图.

3.2 约束条件

要使一条规划出来的路径有效地应用于汽车运动,即路径可跟踪,则规划路径时必须满足道路环境约束.首先,随机树节点的生成要满足道路环境约束,设Bleft,Bright分别为道路的左右边界,则树节点位置坐标要满足:

考虑到汽车是具有几何形体的,设其车宽为D,则上述y方向的约束变为:

假定汽车质心沿着规划的路径运动,为了保证行驶过程中的稳定性,规划出的路径的曲率变化不能过大.若在实际情况下前轮最大转角为θmax,则路径中子节点与其父节点的连线和父节点与其父节点的连线之间的夹角β必须满足β

其中:K1为直线TaTb的斜率;K2为TcTb的斜率.βT为夹角限制值.

为了保证所扩展的点不与障碍车有交集,即树节点不与障碍车碰撞的要求,采用安全椭圆包络障碍车,并适当放大安全椭圆以保证避障要求.若新节点与其父节点的连线不与安全椭圆相交,则所扩展的新点满足避障要求.取连线上的五等分点Pi(x,y),则约束方程表现为:

其中(xob,yob)为障碍车的位置,半车长a=2 m;半车宽b=1 m;s为安全椭圆放大系数,当s=2时,安全椭圆正好包络矩形的障碍车,因此从安全避障考虑,s≥2.

3.3 启发式搜索

原算法在扩展随机树时,由于缺乏导向机制,算法的收敛速度在一定程度上受到了影响,为了提高算法计算速度,引入启发式机制来对随机采样点以及随机树节点的选择进行处理.采样点Prand在随机生成过程中会以一定概率ρ0选择目标点,从而将随机树节点向目标点引导,通常ρ0=0.1.

其中,GaussRand()为随机采样点生成函数.

另外,在选择Pnear时不再单独以距离Prand最近作为选择标准,而是以随机树节点的择优系数Ch来决定,Pnear确定为Ch值最小所对应的树节点.

其中ωi,ωj为权重系数,且ωi+ωj=1;Dpr为树节点到Prand的距离,Dg为树节点到目标点goal的距离.当ωj>ωi时,选择出的Pnear具有向目说憧拷的趋势.通过以上启发式的处理,使得算法更快地收敛,减少计算时间.

3.4 平滑处理

RRT算法规划出来的路径通常会存在小范围内的曲折现象,路径并不连续.为了使得路径能够满足汽车在运动时的稳定性和安全性要求,需要对规划出来的路径进行光滑处理.B样条在处理路径光滑时能够不改变整个路径形状而进行局部调整[16],利用B样条这一特性,来对算法所规划出来的路径进行插值拟合,从而达到光滑路径的目的,通常所采用的为3次B样条曲线.

当有m+1个控制顶点Pi(i=0,1,…,m)时,3次B样条曲线表示为:

3.5 算法流程

随机树节点的扩展受到随机采样点的影响,通过以上方式的处理,随机采样点不再是在可行域内随机分布,而是具有一定的趋向性.这样使得随机树节点的分布也具有趋向性,算法的随机性得到了改善,所规划出来的路径质量得到提高.主体程序如下:

算法的实现过程如下:

1)初始化阶段,首先通过environment()函数建立道路环境模型,根据现有的环境模型,以expect()函数建立期望路径模型.

2) 路径求解阶段,进入while循环来判断树节点是否达到目标点goal范围内,若没有,则开始扩展点.随机采样点Prand通过Pick()函数在goal和GaussRand()函数所生成的点之间进行概率选择;根据当前Prand计算树节点的择优系数Ch,并由Fitbest()函数得出Pnear;通过函数New在Pnear的基础上扩展出新节点Tnew,当新节点满足约束函数constraint()时,新节点则添加到整个随机树Tree上,否则,返回循环重新寻点直到其终止.

3)路径处理阶段,getPath()函数从所得的Tree中获取最短路径,最后通过函数smoothing()对所得路径path进行光滑处理,得到一条平缓的路径.

4 仿真实验验证

改进的RRT在应用于信息多变的不确定环境时会存在建模困难的缺陷,本文主要对确定车道环境下的改进RRT开展研究.由于条件有限,不能在实际车辆中进行试验验证.而Prescan软件能够对实际场景进行建模,并且有根据实车建立的车辆模型数据库,能够模拟实际车辆行驶过程.因此,为验证改进RRT算法的有效性,在Prescan软件平台中搭建直道和弯道场景如图6所示,仿真实验硬件平台Win10+Core-i7@3.6Hz+ARM@8G.仿真参数如表1~表3所示.

4.1 规划时间的影响参数分析

影响算法计算效率的重要参数主要包括搜索步长ΔL、约束夹角βT.步长越小,为了搜索到目标点所需要的节点数目也就越多,计算时间越长;约束夹角βT越小,规划路径也越平缓,但计算时间也越长.改变步长以及约束夹角并进行大量仿真实验,统计表明:在ΔL=3,βT=15°时,改进RRT算法在规划时间以及路径效果上的综合表现较好.图7为ΔL=3时,不同角度下计算时间的统计,以20次计算时间平均值做一次统计.

4.2 规划路径对比

为说明改进RRT算法的效果,在直道场景中,采用了其余2种规划算法来进行对比.一种是蚁群算法[7],另一种是弹性绳算法[5].直道仿真对比结果如图8所示,改进前后的算法规划效果在弯道中的对比如图9所示,路径效果参数对比如表4所示.由图和表的结果对比可知:

1)相对于蚁群算法和原RRT算法,改进RRT算法与弹性绳算法规划的路径都更为平滑,不存在频繁的大曲率变化,且路径较短.

2)从直道的规划时间上看,传统的蚁群算法用时最长,而弹性绳算法平均计算时间为1.42 s.改进后的RRT算法平均计算时间0.25 s,相对于原RRT计算时间略有增加,这是由于增加了模型处理过程以及各约束条件所导致的.但与其余2种算法相比,改进RRT算法依然保持其在计算时间上的优势.

3) 原RRT算法在靠近障碍时才开始避障,改进RRT算法能够实现提前避障,并且根据车速不同自动调节避障提前量,这对安全行驶很重要.

4.3 路径跟随验证

对一条规划出来的路径,需要验证其有效性,即路径的跟随性,本文采用路径跟随时主车的侧向加速度曲线监测路径的稳定性,跟随速度20 m/s.直道和弯道仿真结果分别如图10、图11所示.

由图10(a)(b)可知,直道跟随路径基本和目标路径一致,跟随误差在0.2 m以内,误差较小;车辆保持稳定行驶时的最大侧向加速度由地面附着力决定,通常为0.8g.由图10(c)可知,跟随时的侧向加速度在0.4g以内,说明整个过程中都能够保证主车按照路径行驶时的稳定性.弯道仿真结果如图11所示,跟随误差都在0.1 m以内,跟随效果好;侧向加速度都在0.5g范围内,满足稳定性要求.

5 结 论

本文在将RRT算法应用到汽车避障局部路径规划时,针对原算法在随机性以及路径曲率变化上的不足,建立了直道和弯道的期望路径模型,使随机采样点在期望路径模型周围近似呈高斯分布,采用启发式搜索方式使采样点和随机树节点向目标点靠近,从而降低算法的随机性;并且在路径规划时加入约束,使得所规划出的路径更为合理.仿真实验结果表明:改进RRT算法不仅规划出的路径质量高、实时好、跟随性强,而且车辆的稳定性也满足要求.因此,改进RRT算法可以应用于实时汽车路径规划.

参考文献

[1] YAO J, LIN C, XIE X, et al. Path planning for virtual human motion using improved A* algorithm[C]//Proceedings of the Conference on Information Technology: New Generations (ITNG).Washington, DC: IEEE Computer Society, 2010: 1154-1158.

[2] DIJKSTRA E W. A note on two problems in connexion with graphs[J]. Numerische Mathematik, 1959, 1(1): 269-271.

[3] KHATIB O. Real-time obstacle avoidance for manipulators and mobile robots[J]. The International Journal of Robotics Research, 1986, 5(1): 90-98.

[4] SONG X, CAO H, HUANG J. Vehicle path planning in various driving situations based on the elastic band theory for highway collision avoidance[J]. Proceedings of the Institution of Mechanical Engineers, Part D: Journal of Automobile Engineering, 2013, 227(12): 1706-1722.

[5] SONG X, CAO H, HUANG J. Influencing factors research on vehicle path planning based on elastic bands for collision avoidance[J]. SAE International Journal of Passenger Cars-Electronic and Electrical Systems, 2012, 5(2):625-637.

[6] 肖浩, 宋晓琳, 曹昊天. 基于危险斥力场的自动驾驶汽车主动避撞局部路径规划[J]. 工程设计学报, 2012,19(5): 379-384.

XIAO Hao, SONG Xiaolin, CAO Haotian.Local path planning for autonomous vehicle collison avoidance based on dangerous repellant fields[J]. Chinese Journal of Engineering Design,2012, 19(5): 379-384.(In Chinese)

[7] 康冰, 王曦辉, 刘富. 基于改进蚁群算法的搜索机器人路径规划[J]. 吉林大学学报:工学版, 2014, 44(4):1062-1068.

KANG Bing, WANG Xihui, LIU Fu. Path planning of searching robot based on improved ant colony algorithm[J]. Journal of Jilin University:Engineering and Technology Edition, 2014, 44(4): 1062-1068.(In Chinese)

[8] HU Y, YANG S X. A knowledge based genetic algorithm for path planning of a mobile robot[C]//Proceedings of the Conference on Robotics and Automation. Washington,DC: IEEE Computer Society, 2004: 4350-4355.

[9] 吴乙万,黄智.基于动态虚拟障碍物的智能车辆局部路径规划方法[J].湖南大学学报:自然科学,2013,40(1):33-37.

WU Yiwan, HUANG Zhi. Dynamic virtual obstacle based local path planning for intelligent vehicle[J]. Journal of Hunan University: Natural Sciences, 2013,40(1):33-37.(In Chinese)

[10]SHAH-HOSSEINI H. Problem solving by intelligent water drops[C]// Proceedings of the Conference on Evolutionary Computation.Washington,DC: IEEE Computer Society, 2007: 3226-3231.

[11]LAVALLE S M.Rapidly-exploring random trees: A new tool for path planning[J]. Algorithmic & Computational Robotics New Directions, 1998:293-308.

[12]LAVALLE S M, KUFFNER J J. Rapidly-exploring random trees: progress and prospects[J]. Algorithmic & Computational Robotics New Directions, 2000:293-308.

[13]KUFFNER J J, LAVALLE S M. RRT-connect: An efficient approach to single-query path planning[C]// Proceedings of International Conference on Robotics and Automation.Washington,DC: IEEE Computer Society, 2003:995-1001.

[14]FERGUSON D, KALRA N, STENTZ A. Replanning with rrts [C]//Proceedings of International Conference on Robotics and Automation.Washington,DC: IEEE Computer Society, 2006: 1243-1248.

篇(7)

中图分类号:P208 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-02

1 概述

物流产业随着基础工业的不断壮大及消费市场的蓬勃发展而快速兴起。而中国的物流企业不论从技术装备还是管理水平与国外仍存在较大差距,概括起来有一下几个方面:对现代物流理念上的差距,企业规模方面的差距,社会需求方面的差距,管理体制方面的差距,专业手段方面的差距,专门人才方面的差距。据对美国物流业的统计与分析,以运输为主的物流企业年平均资产回报率为8.3%(irr),仓储为7.1%,综合服务为14.8%。在中国大部分物流企业的年平均资产回报率仅为1%。这一数据,不仅说明了中国物流效率低下,同时企业仍有很大的空间通过物流来降低成本。

如何应用先进的技术手段来提高物流业的经营效率,及时高效、经济地将商品配送到客户手中,成了大家探讨的话题,这也就是现代物流领域中备受关注的车辆路径问题(vehicle routing problem,VRP)。物流配送路径规划的优化与否,对物流配送效率、费用和服务水平影响较大。而此类问题都涉及如何处理大量的空间数据与属性数据而缩短物流时间、降低成本的问题。

地理信息系统作为不仅具有对空间和属性数据采集、处理和显示功能,而且可为系统用户进行预测,监测、规划管理和决策提供科学依据。它可以有效的结合最优路径、各种VRP模型、车辆行驶成本等要素,在可视化分析以及物流规划路径分析等方面具有不可替代的作用。GIS技术与现代物流工程技术相结合,给现代物流行业提供了巨大的发展空间,为物流企业完善管理手段、减低管理成本、提高经济效益、最终提升核心竞争力提供了机遇。

2 技术实现途径研究

物流配送车辆路线优化问题由Dautzig和Ramser于1959年首次提出,该问题一般定义为:对一系列给定的顾客(取货点或送货点),确定适当的配送车辆行驶路线,使其从配送中心出发,有序地通过它们,最后返回配送中心。并在满足一定的约束条件下(如车辆容量限制、顾客需求量、交发货时间等),达到一定的目标(如路程最短、费用最少等)。配送中心的每次配送活动通常面对多个非固定用户,并且这些用户分布在不同的地点,同时他们的配送时间和配送数量也都不尽相同。如果配送中心不合理规划车辆、货物的运输路线,常会影响了配送服务水平,还会造成运输成本的上升,因此对车辆及货物的配送路线进行规划是配送中心的一项重要工作。

车辆路线优化问题一般可根据空间特性和时间特性分为车辆路线规划问题和车辆调度问题。当不考虑时间要求,仅根据空间位置安排车辆的线路时称为车辆线路或车辆路径规划问题(VRP)。当考虑时间要求安排运输线路时称为车辆调度问题(VSP)。本文不考虑时间要求,主要针对第一类VRP问题,提出相应的技术实现方案研究。

典型的VRP具有以下特征:(1)所有车辆从仓库出发,并最终回到仓库;(2)所有车辆必须满足一定的约束;(3)多辆车负责多个客户;(4)每个客户由一辆车访问一次;(5)车辆的路线上可以取送货。目前研究的车辆路线规划的模型主要有两类,一类为网络图模型,另一类为数学模型。由于VRP难以用精确算发求解,启发式算法是求解车辆运输问题的主要方法,多年来许多学者对车辆运输问题进行了研究,提出了各种各样的启发式方法。

物流公司的业务一般具有配送范围广的特点,本文主要针对大范围跨省配送的案例进行智能路径规划,因此影响因素较多,主要包括:(1)大范围、跨省的配送交通网络图;(2)复杂的车辆运作规则,包括运行时间、运载能力、运行成本计算、驾驶员工作时间限制等;(3)复杂的道路选择优先级;(4)复杂的运输车辆优先级;(5)客户订单及运输车辆数据;(6)取货及分发过程;(7)繁杂的配送规则,如仓库、货物、客户的时间等;(8)运输车辆的重复利用,要求同一辆车在符合多个约束条件下尽可能多的参与到不同路线的配送中。

本文主要基于ArcObjects的网络分析和地图展示等组件进行二次开发,同时对其提供的车辆路径规划算法进行了拓展性研究。

3 功能模块设计方案

3.1 软件架构设计

系统建设遵循SOA架构,由数据资源层、组件层、服务层和表现层组成。数据资源层包括各种数据库、关系型数据库和空间数据库引擎ArcSDE,实现对物流业务数据的存储和管理;组件层包括接口协议、GIS组件、其他中间件;服务层实现计算功能,接受表现层的请求进行计算;表现层采用多种形式展现分析结果。

3.2 软件功能设计

本系统是物流业务管理系统的一部分,主要提供历史数据管理模块、线路优化分析模块、地图操作模块,同时提供与其他相关业务系统的扩展功能。

(1)线路优化分析模块

线路优化分析模块是系统的关键,提供两种分析结果:一种是基于AO自带的网络分析模块设计,计算分析结果;另一种是历次根据具体路况等信息的实际调度结果。

实际调度结果来自车辆GPS监控数据,并将实际调度结果作为输入,用来校正线路优化分析方法,最后生成最优路径规划。

(2)地图展示模块

地图展示模块,在配送交通网络图上展示道路基本信息、周边环境、仓库及客户地点、车辆位置信息等。同时将各种车辆路径规划分析结果以地图形式展示。基于ArcGIS提供的基础地图操作功能,实现地图缩放、浏览、鹰眼、图层控制、测量、选择、标注、信息查询等功能。

(3)历史数据管理模块

历史数据管理主要存储历史客户订单数据、实时路况信息、历史路径规划分析结果、实际运输路径等,可支持对历史数据的查询和修改。

(4)扩展功能模块

提供与其他相关业务系统、车载GPS设备、车辆监控设备等的接口,便于系统的扩展。

3.4 数据库设计

本系统中涉及的数据库主要包括元数据库、基础地理空间数据库、业务数据库、分析模型数据库、历史数据库等。

4 结束语

本文将物流车辆路径规划理论算法的研究与地理信息系统的网络分析模块相结合,经过二次开发,形成了用于实际的物流车辆路径规划信息系统。另外车辆路径规划设计约束较多,本文中不考虑时间要求,仅根据空间位置安排车辆的线路,同时不考虑装箱问题。

车辆路径规划问题是现代物流业的热点问题,但是基本停留在理论算法层面,随着技术的不断进步,必然出现考虑更多约束的先进算法,希望将这些算法真正与现代物流业结合,那将会是一个跨越式的进步。

篇(8)

DOI:10.16640/ki.37-1222/t.2016.21.135

0 前言

移动机器人的实现涉及自动控制、智能、机械等多种学科。它通常被应用在医疗领域、工业领域等方面。从整体角度来讲,移动机器人的应用促进了生产效率的显著提升。路径规划技术是移动机器人的关键技术之一,研究该技术具有一定的现实意义。

1 路径规划技术的作用

将路径规划技术应用在移动机器人中,能够产生的作用主要包含以下几种:

(1)运动方面。路径规划技术的主要作用是其能够保证移动机器人完成从起点到终点的运动。(2)障碍物方面。设计移动机器人的最终目的是将其应用在实际环境中,在实际环境下,移动机器人的运行路线中可能存在一定数量的障碍物,为了保证最终目的地的顺利达到,需要利用路径规划技术实现对障碍物的有效避开[1]。(3)运行轨迹方面。对于移动机器人而言,除了实现障碍物躲避、达到最终目的地这两种作用之外,应用路径规划技术还可以产生一定的优化运行轨迹作用。在移动机器人的使用过程中,在路径规划技术的作用下,机器人可以完成对最佳运行路线的判断,进而更好地完成相应任务。

2 移动机器人路径规划技术综述

移动机器人的路径规划技术主要包含以下几种:

2.1 局部路径规划方面

在局部路径规划方面,能够被应用在移动机器人中的技术主要包含以下几种:

(1)神经网络路径规划技术。从本质上讲,可以将移动机器人的路径规划看成是空间到行为空间感知过程的一种映射,因此,可以利用神经网络的方式将其表现出来。就神经网络路径规划技术而言,首先需要将相关传感器数据当成网络输入,并将网络输出看成是某固定场合中期望运动方向角增量。在这种情况下,原始样本集则可以用不同选定位置对应的数据代替。为了保证样本集数据的有效性,需要将原始样本集中的冲突样本数据以及重复样本数据剔除掉。对最终样本集应用模糊规则,实现神经网络的有效训练。当典型样本学习完成之后,移动机器人对规则的掌握水平发生了显著提升,进而使得移动机器人在产生智能性能的基础上,顺利完成相应运动[2]。

(2)人工势场路径规划技术。这种规划技术是指,将移动机器人在实际环境中的运动过程当成其在虚拟人工受力场中的一种运动。在虚拟人工受力场中,目标终点会对移动机器人产生一定的引力,而该受力场中的障碍物则会对其产生一定的斥力。在某固定算法的作用下,这两种不同的作用力会产生相应的势,进而形成势场。当移动机器人在该场中运动时,势场中的抽象力会作用在移动机器人上,使得其完成对障碍物的有效避开。在人工势场路径规划技术的实际应用过程中,由于结构简单等因素的影响,移动机器人在到达终点之前可能会停留在局部最优点位置上。对此,需要从数学的角度出发,对势场方程进行重新定义,通过这种方式排除势场中的局部极值,继而保证移动机器人运动的顺利进行[3]。

(3)遗传路径规划技术。这种路径规划技术建立在自然遗传机制等理论的基础上。这种技术通过变异、选择以及交叉对控制机构的正确计算程序进行合理编制,进而实现数学方式基础上生物进化过程的合理模拟。当移动机器人的适应度函数为正数时,允许适应度函数具有不连续或不可导特点。由于这种路径规划技术不涉及梯度信息,因此其能够更好地解决移动机器人在实际运动过程中遇到的问题。遗传路径规划技术的应用优势在于,它能够实现跟踪与规划的同时进行,因此,遗传路径规划技术通常被应用在具有时变特点的未知环境中。

2.2 全局路径规划方面

在该方面,可以被应用在移动机器人中的技术主要包含以下几种:

(1)栅格路径规划技术。这种技术是指,在将实际工作环境分成许多包含二值信息的网格单元的基础上,应用优化算法完成最佳路径的规划搜索。在这种规划技术中,其网格单元通常是由八叉树或者四叉树的方式表示出来。在该技术的应用中,栅格的作用是完成相关环境信息的记录。如果栅格中某位置的累计值相对较低,代表移动机器人可以从该位置通过;如果栅格中某个位置的累计值相对较高,则表示该位置存在障碍物,此时,移动机器人需要利用优化算法将该障碍物避开[4]。

(2)可视图路径规划技术。这种路径规划技术是指,将整个移动机器人看成一个点,然后分别将其与障碍物以及目标终点连接起来,上述连线要求为保证所连直线不会碰触障碍物。当所有连线都连完之后,即完成了一整张可视图。在该可视图中,由于起点到目标终点之间的连线都不涉及障碍物,因此上述所有连线都属于有效直线。在这种情况下,需要解决的问题主要是从这些连线中找出一条距离最短的连线。对此,需要应用优化算法将可视图中距离较长的连线删除,这种处理方式能够有效提升移动机器人的搜索时间。

(3)拓扑路径规划技术。这种规划技术是指,将移动机器人的移动范围,即规划区域分成多个具有拓扑特征的子空间,然后利用不同子空间之间的连通性完成拓扑网络的构建。当该网络构建完成后,直接从网络中找出能够使得机器人顺利从起点移动到终点的拓扑路径,将所得的拓扑路径作为参考依据完成几何路径的计算。这种规划技术的劣势主要表现为其拓扑网络的构建过程较为复杂。但这种规划技术可以实现移动机器人搜索空间的有效缩小[5]。

3 结论

路径规划技术主要分为局部规划和全局规划两方面。这两方面分别包含人工势场路径规划技术以及神经网络路径规划技术等。应用这些规划技术之后,移动机器人可以在避开障碍物的基础上,顺利完成起点到终点最优运行轨迹的运动。

参考文献:

[1]朱大奇,颜明重.移动机器人路径规划技术综述[J].控制与决策,2010(07):961-967.

[2]张捍东,郑睿,岑豫皖.移动机器人路径规划技术的现状与展望[J].系统仿真学报,2005(02):439-443.

[3]鲍庆勇,李舜酩,沈`,门秀花.自主移动机器人局部路径规划综述[J].传感器与微系统,2009(09):1-4+11.

篇(9)

中图分类号: TN911.1?34; TP312 文献标识码: A 文章编号: 1004?373X(2017)13?0181?03

Abstract: The path optimization is an important way to solve the traffic congestion and blocking. The traditional Dijkstra algorithm based on monophyletic shortest path can find the shortest path information from the starting point to other points, but its search time is long in the situation of various map obstacles. The A* algorithm with heuristic function in the field of artificial intelligence can select the optimum path by itself because of its memory function. With the increase of obstacle information and location information, the search efficiency of A* algorithm becomes higher. The A* algorithm and traditional Dijkstra algorithm were simulated and compared with experiments, and their search speed and search efficiency were compared. The simulation results show that the search effect of A* algorithm is more effective in the actual road network.

Keywords: shortest path; A* algorithm; Dijkstra algorithm; path optimization

最短路轿侍[1]是图论中网络分析的经典问题,近年来,随着路径搜索技术的不断发展,已经涌现出很多成熟的路径规划算法,比如,基于图论的Dijkstra算法[2?3],以及关于人工智能领域的启发式搜索算法和动态规划算法等。A*启发式搜索算法作为人工智能领域的重要组成部分,其针对网格数据有着更高的运算效率,而且利用启发信息大幅度提高了搜索速度。这种全新的启发式搜索算法[4]将会极大地改变现有的交通管理与服务模式。

1 A*算法原理

传统的BFS算法的评估函数只考虑当前点与终点的距离,其策略是选择与终点最近的点进行搜索。而Dijkstra算法则只关注当前点与起点的距离,选择与起点最近的点开始搜索。A*算法[5]则是将二者结合起来,其启发函数采用如下的计算公式:

式中:就是A*算法[5]对每个节点的评估函数[2],其包含两部分信息:是从起点到当前节点的实际代价,也就是从起点到当前节点的移动距离;相邻的两个点的移动距离是1,当前点距离起点越远,这个值就越大。是从当前节点到终点的距离评估值,这是一个从当前节点到终点的移动距离的估计值。

A*算法的搜索过程需要两个表:一个是OPEN表,存放当前已经被发现但是还没有搜索过的节点;另一个是CLOSE表,存放已经搜索过的节点,具体的算法流程图如图1所示。

1.1 常用的距离评估函数

是A*算法的距离估计值[6],A*算法需要一个距离评估函数来计算这个值。常用的距离评估函数有曼哈顿距离、欧式几何平面距离和切比雪夫距离。在没有障碍物的地图上,这三种距离评估函数得到的效果是一样的,但是在有障碍物的情况下,这三种距离评估函数的效果略有差异。当距离评估函数总是0时,A*算法就退化为Dijkstra算法[6]的效果。

1.1.1 曼哈顿距离

从数学上描述,曼哈顿距离是两个点在各个坐标轴上的距离差值的总和,维几何空间中曼哈顿距离的数学描述为:

对于二维平面上的两个点和,其曼哈顿距离为:

即欧式几何平面距离为在直角坐标系中两个坐标轴上的投影距离和。

1.1.2 欧式几何平面距离

欧式几何平面距离(Euclidean distance)又称为欧式距离或欧几里得距离[7],其数学定义是维空间中两个点之间的真实距离(几何距离),其数学符号可以描述为:

对于二维平面上的两个点和其欧式几何平面距离为:

即平面几何中两点之间的几何距离。

1.1.3 切比雪夫距离

切比雪夫距离(Chebyshev Distance)是由一致范数(或称上确界范数)衍生的度量,从数学角度上理解,对于两个向量和其切比雪夫距离就是向量中各个分量的差的绝对值中最大的那一个,用数学符号可以描述为:

特别情况下,对于平面上的两个点和,其切比雪夫距离为:

距离评估函数与A*算法的结果之间存在很微妙的关系,如果令始终为0,相当于一点启发信息都没有,则A*算法[5]退化为Dijkstra算法,这种情况即为最差的A*算法。的值越小,启发信息越少,搜索范围越大,速度越慢,但是越有希望得到最短路径;的值越大,启发信息越多,搜索的范围越大,但是其有可能得不到真正的最短路径。当大到一定程度时,公式中的就可以忽略不计,则A*算法演化成为BFS(广度优先搜索算法),速度最快,但是不一定能够得到最短路径。所以通过调整和函数,可以使得A*算法[6]在速度与准确性之间获得一个折中的效果。

1.2 A*算法的实现

A*算法实现的关键在于维护OPEN表和CLOSE表,其中对于OPEN表的主要操作就是查询最小的节点以及删除节点,因此考虑在算法实现时将OPEN表[7]设计为有序表。这样在OPEN列表存储数据时就可以自动将数据按照距离进行排序,这样算法的执行效率比较高。A*算法的参数设置见表1,参数的迭代次数见图2。

通过仿真实验分析可以得出,A*算法[5]在有障碍物的情况下中和了BFS算法和Dijkstra算法的优点,能够更有效地找到最终的最短路径。

2 A*算法与Dijkstra算法效率的比较

Dijkstra算法是典型的单源最短路径算法,其适用于求解没有负权边的带权有向图的单源最短路径问题。由于Dijkstra算法[2?3]使用了广度优先搜索的策略,它可以一次得到所有点的最短路径。但是,它只是简单地做广度优先搜索而忽略了很多有用的信息。盲目搜索的效率很低,耗费很多时间和空间。考虑到实际地图上面两点之间存在位置和距离等信息,A*算法既能够像Dijkstra算法那样搜索到最短路径,又能像BFS(广度优先搜索算法)一样使用启发式函数进行启发式搜索,是目前各种寻径算法中最受欢迎的选择。

将A*算法同Dijkstra算法[6]进行仿真比较,用于比较性能的主要指标有:时间复杂度分析;搜索到最短路径的成功率分析。利用C++语言编制了三种算法的最短路径搜索程序,运行在本地计算机上,并得出仿真模拟图。

搜索效率的对比结果如表2所示。

由表2可以看出:当地图节点的个数和弧的条数比较多时,A*算法[5]的搜索效率比Dijkstra算法快很多,当节点数不断增多时,其搜索最短路径的效率更高。在相同路网和位置信息的条件下进行仿真实验的结果如图3所示。

由图3可以看出,两种算法在相同障碍物条件下进行模拟仿真时,A*算法的搜索效率和时间复杂度要明显优于Dijkstra算法,并对不同实验场景下的效率进行对比,结果如图4所示。

3 结 语

从Dijkstra算法和A*算法[2]的实现可知,Dijkstra算法的时间复杂度是其中是有向图中顶点的个数。对于不含负权边的有向图来说,Dijkstra算法是目前最快单源最短路径算法。A*算法兼有Dijkstra算法和广度优先搜索算法的特点,在速度和准确性之间有很大的灵活性。除了调整和可以获得不同的效果外,A*算法还有很多可以提高效率的改进方法。比如,在地图比较大的情况下使用二叉堆来维护OPEN表以获得更好的运算效率。

参考文献

[1] WORBOYS M. Event?oriented approaches to geographic phenomena [J]. International journal of geographical information science, 2010, 19(1): 1?28.

[2] NARAYANASAMY V. Game programming gems 6 [EB/OL]. [2015?05?12]. /data.

[3] DYBSAND E. A finite state machine class [J]. Game programming gems, 2000(1): 237?248.

[4] 周郭许,唐西林.基于栅格模型的机器人路径规划快速算法[J].计算机工程与应用,2006,42(21):197?199.

[5] 李大生,刘欣,吴明华,等.基于动力学约束的机器人无碰运动规划[J].机器人,1990(5):14?19.

[6] VIDALVERD? F, BARQUERO M J, CASTELLANOSRAMOS J, et al. A large area tactile sensor patch based on commercial force sensors [J]. Sensors, 2010, 11(5): 5489?5507.

[7] 李得伟,韩宝明,韩宇.一种逆向改进型A*路径搜索算法[J].系统仿真学报,2007,19(22):5175?5177.

[8] 林丹.一种室内清洁机器人返回路径规划算法[J].重庆科技学院学报(自然科学版),2009,12(1):110?113.

篇(10)

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)21-5080-03

Research on Technology of Nodes Localization Based on Mobile Beacon for Wireless Sensor Network (WSN)

DING Hui, LI Bo-yong, AI Shu-liang

(Chenzhou Vocational and Technical College, Chenzhou 423000, China)

Abstract:Wireless sensor network has been used in many field. Nodes location of WSN has provided the basic information for many applications. Nodes location based on mobile beacon is one of the important research fields. Some basic principles and performance evaluating criterions of nodes localization based on mobile beacon for WSN are introduced. Some issues which need to be resolved in future are discussed.

Key words: wireless sensor network (WSN); mobile beacon; nodes localization

随着传感器技术、无线通信、微电子技术以及嵌入式计算等技术的发展,无线传感器网络(Wireless Sensor Network 简称WSN)得到了广泛应用,成为当今活跃的研究领域。无线传感器网络是新型的传感器网络,同时也是一个多学科交叉的领域,与当今主流无线网络技术一样,均使用802.15.4的标准,由具有感知能力、通信能力和计算能力的大量微型传感器节点组成,具有低成本、低功耗的优点和强大的数据获取和处理能力。

在无线传感器网络的众多应用中,如:国防军事、环境监测、交通管理、医疗卫生、目标跟踪、物流管理、入侵检测、交通流量监控和勘测应用等领域, 监测到事件之后需要确定事件发生的位置,信息融合后得到的相关数据信息如果不包含事件位置信息将毫无意义,只有带有标识位置信息的传感数据才有实际的意义。传感器节点自身的正确定位是提供事件位置信息的前提, 因此节点的精确定位基础而关键[1] 。

1 无线传感器网络节点定位的分类及基本方法

节点定位是指确定传感器节点的相对位置或绝对位置,节点所采集到的数据必须结合其在测量坐标系内的位置信息才有意义。人工部署传感节点和为所有节点安装GPS接收器都会受到成本、功耗、节点体积、扩展性等方面的限制,甚至在某些应用中是根本无法实现的。通常是为部分节点配置定位装置(如GPS接收器)或事先标定其准确位置,这些节点称为信标节点(也称锚节点),再利用信标节点的相关信息采用一定的机制与算法实现无线传感器网络节点的自身定位。目前人们提出了两类节点定位算法[2]:基于测量距离的定位算法与测量距离无关的定位算法。基于距离的定位方法首先使用测距技术测量相邻节点间的实际距离或方位,然后使用三边测量法、三角测量法、最小二乘估计法等方法进行定位。与测量距离无关的定位算法主要包括:APIT、质心算法、DV-Hop、Amorphous等。

1.1 基于无线传感器网络自身定位系统的分类[1,3-5]

1) 绝对定位与相对定位。绝对定位与物理定位类似,定位结果是一个坐标位置,如经纬度。而相对定位通常是以传感区域某点为参考,建立整个网络的相对坐标系统。

2) 物理定位与符号定位。经纬度就是物理位置;而某个节点在某街道的某门牌的建筑物内就是符号位置。一定条件下,物理定位和符号定位可以相互转换。与物理定位相比,符号定位在一些特定的应用场合更加便于使用。

3) 集中式计算与分布式计算定位。集中式计算是指把所需信息传送到某个中心节点,并在那里进行节点定位计算的方式;分布式计算是指依赖节点间的信息交换和协调,由节点自行计算的定位方式。

4) 移动信标与固定信标定位。移动信标节点是一类装备了GPS或其它定位装置的可移动节点,它在移动的过程中周期性自己的位置信息。基于移动信标的未知节点定位有很多优点,如定位成本低,容易达到很高的定位精度、可实现分布式定位计算、易于实现三维定位等。而固定信标节点是一类装备了GPS或其它定位装置的不可移动节点。

1.2 基于距离的节点坐标计算基本方法

待定位节点在获得与邻近信标节点的距离信息后,通常采用下列方法计算自身的位置[3]。

1) 三边测量法:利用网络中三个信标节点的位置坐标以及未知节点到这三个信标节点的距离,运用几何方法求出未知节点的坐标。

2) 三角测量法:利用网络中三个信标节点的位置坐标以及未知节点为角顶点角边分别为三个信标节点的角度,运用几何方法求出未知节点的坐标。

3) 最小二乘估计法:利用未知节点的相邻节点中的多个信标节点的位置坐标以及它们与未知节点的距离或角度,运用最小均方差估计方法求出未知节点的坐标。

1.3 常用的测距方法

1) 信号接收强度(RSSI)测距法

已知发射功率和天线接收增益,在接收节点测量信号接收功率,计算传播损耗,使用理论或经验的无线电传播模型由传播损耗计算出信源与接收者间的距离。通常使用下列对数-常态分布模型来计算节点间的距离[1]。

PL(d)=PL(d0)+10λ・log(d/d0)+X (1)

PL(d0)=32.44+10λ・log(d0)+ 10λ・log(f) (2)

RSSI=发射功率+天线增益-路径损耗(PL(d)) (3)

其中PL(d)[dB]是经过距离d后的路径损耗,X是平均值为0的高斯分布随机变数,其标准差取为4至10,λ为取衰减因子通常为2至3.5,f是频率,取d0=1(m),这样根据上述3式可得节点间的距离。

2) 到达时间测距法

到达时间(TOA)技术通过测量信号传播时间来测量距离,若电波从信标节点到未知节点的传播时间为t,电波传播速度为c,则信标节点到未知节点的距离为t×c。

3) 时间差测距法

TDOA测距是通过测量两种不同信号到达未知节点的时间差,再根据两种信号传播速度来计算未知节点与信标节点之间的距离,通常采用电波和超声波组合。

4) 到达角定位法

到达角(AOA)定位法采用阵列天线或多个接收器组合来获取相邻节点所处位置的方向,从而构成从接收机到发射机的方位线。两条方位线的交点就是未知节点的位置。

1.4 典型非测距算法

基于距离测量和角度测量的定位算法的缺点是对专用硬件有一定的要求,从而使传感器节点成本和体积加大,限制了它的实用性。非测距的算法不需要测量未知节点到信标节点的距离,在成本和功耗方面比基于测距的定位方法具有一定的优势,但是精度相对不足。

1) DV-hop算法

为了避免对节点间距离的直接测量, Niculescu等人提出了DV-hop算法[3]。该算法基本思想是:用网络中节点的平均每跳距离和信标到待定位节点之间的跳数乘积来表示待定位节点到信标节点之间的距离,再用三角定位来获得待定位节点的位置坐标。

2) 质心法

质心法由南加州大学Nirupama Bulusu等学者提出[3],该算法是未知节点以所有可收到信号的信标节点的几何质心作为自己的估计位置,它是一种基于网络连通性的室外节点定位算法。

3) APIT 算法

一个未知节点任选3个能够与之通信的信标节点构成一个三角形,并测试自身位置是在这个三角形内部还是在其外部;然后再选择另外3个信标节点进行同样的测试,直到穷尽所有的组合或者达到所需的精度。

4) Amorphous 算法

Amorphous 定位算法[3]采用与 DV-Hop 算法类似的方法获得距信标节点的跳数,称为梯度值。未知节点收集邻居节点的梯度值,计算关于某个信标节点的局部梯度平均值。Amorphous 算法假定预先知道网络的密度,然后离线计算网络的平均每跳距离,最后当获得3个或更多锚节点的梯度值后,未知节点计算与每个锚节点的距离,并使用三边测量法和最大似然估计法估算自身位置。

2 基于移动信标的无线传感器网络节点定位技术

无论是距离相关还是距离无关定位算法,常采用固定信标节点方式测量距离、相对角度、传播时间差及传播时间等进行节点定位[1]。通常参与定位的固定信标节点越多, 定位精度将越高。但是信标节点的成本远远高于普通节点,当定位工作完成后,信标节点将转成普通的传感器节点使用。因此信标点越多,布设整个网络的成本将会增大, 定位算法的计算负荷以及通讯负荷将会增大[1] ,过多的信标节点将会造成较大的浪费。所以利用移动节点发出的虚拟坐标点进行辅助定位的思想将成为节点定位研究的一个重要研究方向。

假定整个WSN由静止节点以及移动节点(如撒播节点完毕的飞机、运动的车辆、移动的小型机器人或普通的能移动的传感器节点等) 两种类型节点构成。根据传感器网络的规模大小, 可以配置一个或者多个移动节点。各移动节点均配置一个GPS接收器用于定位移动信标节点本身, 并有足够的能量自我移动或捆绑移动机器人、移动车辆或三维空间中的飞机等工具。移动节点在传感器区域内按照一定的运动路径移动, 并周期性地发送坐标位置信息, 待定位节点根据接收到的坐标信息与采用适当的定位算法完成定位[6] 。

近几年有一些研究者对移动锚节点路径规划展开研究,提出了一些比较好的路径规划方案。移动锚节点路径规划主要有两个目标:

1) 移动轨迹能够覆盖网络中的所有未知节点;

2) 为未知节点定位提供质量好的信标点。

如果满足网络节点均匀分布的条件,规划路径通常采用静态规划路径,移动锚节点都按照预先规划的路径移动,不具有根据节点分布状况灵活变化的性能。文献[7]针对移动锚节点的路径规划问题利用空间填充线理论提出了SCAN、DOUBLESCAN以及HILBERT路径规划方法,分别如图1、图2和图3所示。在节点通信距离小和空间填充线密度大的条件下, SCAN路径比HILBERT路径的定位结果准确。但是在节点通信距离大、空间填充线密度较小时,HILBERT路径明显优于SCAN路径。

SCAN路径存在明显的缺点就是提供了大量共线的信标点,HILBERT路径通过增加移动路径长度解决了信标点共线性的问题,只要达到一定的密度就可以为定位提供优质的不共线信标点。为了解决信标点存在共线性的问题,文献[8]提出了圆形规划路径和S形规划路径方法,如图4和图5所示。圆形规划路径完全覆盖方形网络区域时必须增加大圆路径,这很大程度增加了路径的长度。而圆形的直径非常大时,在局部带来了信标点的共线性问题。S形路径通过引入S形曲线代替直线,解决了信标点共线性问题。

而对于实际环境中节点非均匀分布的情况,文献[9]提出了提出了宽度优先和回溯式贪婪算法。这种方法能够根据网络信息自适应进行路径规划,规划路径不再是规则的图形,能够充分利用节点分布信息覆盖所有节点,保证路径最短,克服了静态路径规划的缺点。文献[10]提出让一个携带GPS的移动信标采用随机移动模型的方式尽量遍历传感区域,然后采用分布式算法为未知节点定位,该方法结合了基于测距方法的优点,并且无需布置固定的信标节点,节省了成本开销,但是由于移动信标的移动模型采用随机的方式,难以让其移动范围覆盖整个传感区域,从而有些未知节点无法定位。

3 定位算法的评价标准

定位算法设计的优劣通常以下列几个评价标准[11]来评价:

1)定位精度:一般用误差值与节点无线射程的比例表示,是定位技术首要的评价指标。

2)定位覆盖率:指利用定位算法能够进行定位的节点数与总的未知节点个数之比,它是评价定位算法的另外一个重要的指标。

3)信标节点密度:信标节点占所有节点的比例或者是单位区域内信标节点的数目。

4)节点密度:节点密度通常以网络的平均连通度来表示。

5)功耗:功耗是指传感器节点在单位时间内所消耗的能源的数量。由于传感器节点不会始终在工作的,有时候会处于休眠状态,但这同样也会消耗少量的能量,因此,传感器节点的功耗一般会有两个,一个是工作时的功耗,另一个是待机时的功耗。

6)成本:包括时间、空间和费用。时间指一个系统的安装、配置和定位所需的时间。空间包括一个定位系统或算法所需的基础设施和网络节点的数量、安装尺寸等。费用则包括实现某种定位系统或算法的基础设施、节点设备的总费用。

7)鲁棒性:定位系统和算法必须具有很强的容错性和自适应性,能够通过自身调整或重构纠正错误、适应环境、减小各种误差的影响,以提高定位精度。

上述的这些评价指标不仅是评价WSN自身定位系统和算法的标准,也是其设计和实现的优化目标。

4 结束语

使用移动信标节点来完成WSN所有节点的定位,就必须要足够的时间让移动信标节点遍历完整个网络, 为了减小所有节点定位所需的时间以及提高定位效率,如何进一步优化移动信标节点的运动路径将成为基于移动信标的WSN节点定位技术更研究的重要方向。

参考文献:

[1] 孙利民.无线传感器网络[M].北京:清华大学出版社,2005.

[2] A l-Karaki.JN, Kamal.AE. Routing Techniques in Wireless Sensor Networks: A Survey[J].In Wireless Communications,IEEE,Volume:11,Issue:6, Dec,2004:6-28.

[3] 王福豹,史龙,任丰原.无线传感器网络中的自身定位系统和算法[J].软件学报,2005,16(5):857-869.

[4] Kushwaha,M. Molnar,K. Sallai,J. Volgyesi, P. Maroti, M. Ledeczi, A. Sensor Node Localization Using Mobile Acoustic Beacons[C], In proc. 2005. IEEE International Conference on Mobile Adhoc and Sensor Systems Conference, Nov,2005.

[5] 倪巍,王宗欣.基于接收信号强度测量的室内定位算法[J].复旦学报(自然科学版),2004.43(1):72-76.

[6] Mihail L. Sichitiu ,Vaidyanathan Ramadurai. Localization of Wireless Sensor Networks with a Mobile Beacon[C].//IEEE 2004:174-182.

[7] Koutsonilas D, Das S M, Hu Y Charlie. Path Planning of mobile landmarks for localization in wireless sensor networks[J].Computer Communication.2007,30(13): 2577-259.

[8] Rui Huang,Zaruba Gergely V. Static Pathplanning for mobile beaeons to localize sensor networks[C] / /Proc of IEEE PerComW. Piscataway,NJ:IEEE,2007:323-330.

[9] Hongjun Li,Jianwen Wang,Xun Li and Hongxu Ma. Real-time Path Planning of Mobile Anchor Node in Localization for Wireless Sensor Networks[C].//Proeeedings of the 2008 IEEE International Conference on Information and Automation,Zhangjiajie,China,June,20-23,2008.

篇(11)

中图分类号:G642 文献标识码:B

1背景

数据结构和算法是计算机科学与技术、软件工程等相关专业的专业基础课,其重要性不言而喻,在教学过程中需要运用多种教学方法,让学生领会算法实现的过程和本质,加深对所学知识的理解、记忆和应用。在数据结构和算法课程教学中,图状结构的教学是一个难点,特别是涉及到图的具体应用时,更让学生难以掌握,本文将图示教学法应用到数据结构中关于图状结构的一个典型应用――最小生成树问题,给出该教学方法的基本方法和过程,取得了良好的教学效果。

最小生成树是图状(网络)结构中一个典型的实践应用,可以解决实际中诸如公路网的规划,即在n个城市中,如何规划n-1条公路,使得n个城市都可以连接起来,而所有城市间的连接线长度的总和最短(所要修建的公路长度最短,因而费用最少)。

对于这个典型的应用,绝大多数教科书均介绍了普里姆(Prim)算法,用于求最小生成树问题,然而教科书对这个算法实现的论述,一般是先介绍应用背景,然后就给出算法实现的过程,缺少形象的算法分析过程,课堂教学讲解如果按照这种方式去传授,学生在理解上十分吃力,而且不能有效地长期记忆。笔者结合自己在教学中的经验,将以上算法采用了图示教学法来分析其基本原理和实现过程,并给出算法实现过程,取得了良好的效果。

2教学方法

图示教学法就是用各种图形表示的方法描述问题、引导学生的思考,增强对新知识的记忆,并在教学中被广泛使用。最小生成树属于网络的实践应用,下面以图1为例,用图示教学法来对最小生成树算法进行图示过程分析。

假设某一区域内有n个城市,现要为这些城市修建城间公路,使得任意两城市间都能够相互通达(连通),由于要求所有的城市都在该公路网上,某两个城市间的道路称为一个路段,则修建的道路路段总数应等于n-1个(容易理解:如果路段总数小于n-1,则会有存在城市不能处在该道路网的节点上;如果路段总数大于n-1则会存在某两个城市间有至少两个路段,则路段距离的总和将不是最小),先从这些城市中任选一个作为种子,把剩下的城市用路段连接到由该种子城市为起始点的城市网络中,保证路段长度总和最小(最优路段网),则最后连接好的路段即为最小生成树。

如图1,每个带圈的数字表示一个城市,城市间的边表示城市间的距离,如果两城市间没有边存在,则表示这两个城市间不适宜修道路(如有山脉或河流隔断,造价太高),假设种子城市为数字1(选定的网络的起始顶点),通过图示教学法求最优路段网的过程如图2:

图中,Li-j表示城市i与城市j间的距离,例如在(b)中,当把城市2加入到最优路段网后,城市3、4、6与该最优路段网的距离发生了变化,例如城市3,由于由L1-3(=∞)> L2-3(=5),故其与最优路段网的距离由原先的∞也转变为5

首先构造一个初始最优路段网,但该网络只有一个节点,即“种子城市”,其位于图2(a)中的中心圆圈内,圈外的节点称为节点或城市。然后根据图1城市间的距离(网络节点间的边的权值),求其它所有城市(网络节点)与种子城市间的距离(通过访问网络的物理存储结构如邻接表获取),该图表示仅通过了种子城市来连接所有的其它城市,图中中心圆圈外的城市当前还没有加入到最优路段网规划中,圈外连接每个城市与中心圆圈的实线表示该城市如果按当前规划方案加入到该路段网时所需要建造的路段长度(即网络边的权),圈内的虚线表示当前城市通过某一个最优路段网中的某城市为“桥梁”,而进入到该网络中。例如,城市2如果通过城市1进入规划网,则需要修建长度为16(仅表示相对数值)的道路,城市5要修建长度19的道路,城市6要修建长度21的道路,而城市3和城市4无法通过城市1来连接到最优路段网中(距离为无穷大,∞),而必须通过其它城市作为“桥梁”,来进入该规划网络中。很明显,如果按照该方案来把所有的城市都加入到初始最优路段网,得到的路段网如图2(g),需要修建的路段网总长度为∞,显然不是最优路段网。

注意到为了使规划的路段网是最优的(路段长度总和最小),只要保证每次加入到最优路段网中的城市都具有最短路段长度,则最后的路段总长度也必然最小。在图2(a)中,城市2与种子城市具有最小的距离(16),因而不可能找到其它任何一个路段,实现“种子城市与其它城市实现互连时,种子城市到其它任意一个城市的路段距离小于该值”,因而路段②-①必然是满足种子城市连通其它城市的最优路段,将城市2加入到最优路段网后,得到图2(b)。注意到当城市2加入到最优路段网后,城市3、4、6如果是通过城市2为“桥梁”(图中的虚线所示),加入到该最优路段网中,可以使各自的路段长度由原先的∞、∞和21分别缩短到5、6、11(其它城市通过城市2无法实现路段长度缩短,因为保持不变),此时路段总长度也由原先的∞缩小到57(即16+5+6+19+11),较图2(a),该方案有了很大的进步。然而该网络仍不是最优路段网,因为其仅保证了路段②-①的最优性(注意圆圈内的网络是最优的),而其它城市到该网络中的路段并非最优,这样不能保证路段总长度最小。

进一步注意到,在所有的当前城市中,城市3距离最优路段网的距离最短(5),也就是为了使当前最优路段网(圆圈内的城市及连线)与其它城市能够实现连通,且连通后的路段总长度最小,所以当前应加入城市3(图2(c))。城市3的加入或许可以使得其它的城市通过该城市为“桥梁”,而缩短城市到最优路段网的距离(当然这里城市3的加入实际并没有使其它城市到最优路段网的距离缩小)。同样的道理,在第4步(图2(d)),将城市4加入到最优路段网中(因为在余下的城市中,城市4到最优路段网的距离最小),该城市的加入,也使得城市1以该城市为“桥梁”而到最优路段网的距离由原来的19缩短到18(其它路段不变)。第5步将城市6加入到最优路段网中(图2(e)),该城市的加入没有影响余下的城市(当前仅剩一个城市,即城市5),最后将城市5加入到最优路段网中(图2(f))。得到的最终的最优路段网如图2(h),其路段长度的总和为56(16+5+11+6+18)。

3算法求解

有了如上的图示教学法描述的计算最小生成树实现基本过程,在讲解算法时就比较容易了。算法在实现时需要构造三个辅助数组:第1个数组A[n](n为节点数)记录当前节点是节点还是已加入最短路段(路径)网的节点,数组元素A[i]=0或1,0表示节点i是一个节点,当加入到最短路段(路径)网后,A[i]=1;第2个数组B[n]记录各节点到最短路段(路径)网的距离,用B[n]表示;第3个数组C[n]记录节点通过最短路段(路径)网内的哪一个节点为“桥梁”而进入该路段(路径)网的。注意这里的路径R和路段L是两个不同的概念,路段是节点的边,而路径是具有共同节点的有序边起节点与尾节点首尾相连在一起的序列,如在图1中,其中的一个路径R1-3=L1-2+L2-3。下面结合图2和图3,给出这些数组的值在计算过程中的变化情况。

辅助数组的变化情况如下图3所示,其中图3(a)即对应于图2(a),图3(b)对应于图2(b),依此类推。在图3(a)中,首先只有第一个节点进入最短路段网,因此A[1]=1,其它的A元素均为0,节点与最短路段网的距离B[i]与图2(a)中的距离对应,这里节点1由于已在最短路段网,所以B[1]=0,由于所有的节点目前都是通过节点1与最短路段网连接,因而所有的C[i]的值都是1。在图3(b)中,由于节点2距最短路段网的距离最小(16),节点2进入最短路段网,因而A[2]=1,此时由于节点2已进入最短路段网,因而B[2]=0,而节点3和节点4通过节点2,使它们距最短路段网的距离由原先的∞缩短到5和6,节点6也通过节点2使B[6]由21缩小到11。图3(c)、3(d)、3(e)、3(f)的过程不再赘述。最后的结果(图3(f))表明,节点1通过其本身进入最短路段网,节点2通过节点1进入最短路段网,节点3、4、6均通过节点2为“桥梁”进入最短路段网,而节点5通过节点4进入最短路段网。

基于上述分析,不难给出以上算法的实现描述:

(1) 初始化数组A、B、C,结果如图2(a)、图3(a),这里假设以节点1为起始(源)节点,共有n个节点。

(2) 反复执行如下操作:将B[i]中值最小的元素对应的编号i(即节点i)放入A中(即修改A[i]为1),然后修改A[j]!=0(j!=i)对应的B[j]和C[j]的值,修改的依据是:如果B[j]>Li-j,则用B[j]的值更改为Li-j。直至所有的A[i](1

(3) 输出结果,将B、C的最后值输出即可以得到最后结果,B所有的元素最后都为0,表示所有的元素都进入了最短路段网(最小生成数网),而C中的元素值表示的是当前节点元素(即节点1、2、3、4、5或6)是通过C中表示的节点编号而进入最短路段网的,即:节点1是通过其自身进入路段网,节点2通过节点1进入路段网,节点3、4和6均通过节点2进入路段网,节点5通过节点4进入路段网。

4结论

本文提出将图示教学法可应用于数据结构和算法课程教学的多个环节中,有些算法在大多数教科书中有了一定的图示过程表示,而有些算法却没有给出形象的图示表示,因而需要在教学中应补充。本文以图状结构中的最小生成树算法为例,通过图示分析,详细地讲解这个算法的核心思想和实现过程,通过视觉刺激,使学生能够加深对这个算法过程的把握,取得了良好的教学效果。

参考文献:

[1] 戴敏,于长云,董玉涛. 高效学习数据结构[J]. 计算机教育,2006(2):59-60.