第17卷第2期 湖南城市学院学报(自然科学版)V ol.17 No.2 2008年6月 Journal of Hunan City University (Natural Science) Jun. 2008公交最优路径选择的数学模型及算法雷一鸣(广东工业大学华立学院,广州 511325)摘要:在公交出行查询系统中,最关键的部分是寻找两站点间乘车的出行最优路径问题.建立了以最小换乘次数为第一目标,最小途经站点为第二目标的公交出行最优路径模型.同时,设计了一种算法以确定最优公交线路序列,分析了线路相交的几种情况,给出了换乘点选择方法.关键词:最优路径;换乘次数;公交网络中图分类号:O232文献标识码:A文章编号:1672–7304(2008)02–0050–03公交最优路径问题一直是应用数学、运筹学、计算机科学等学科的一个研究热点.对公交最优路径问题的理论研究主要包括公交网络的数学描述和设计最优路径算法.在公交网络描述方面,Anez等用对偶图描述能够涵盖公交线路的交通网络,Choi等讨论了利用GIS技术从街道的地理数据产生公交线路和站点的问题;在设计最优算法方面,常用的算法[1]有Dijkstra算法、Floyd 算法、Moore-pape算法等.Moore-pape算法计算速度较快,适用于大型网络,但它无法进行“一对一”的计算.Floyd算法虽然可以快速地进行“多对多”的计算,但它不能应用于大型网络,而Dijkstra算法是目前公认的最好的算法,但它数据结构复杂、算法时间长,不适合公交线路的查询.本文首先对公交网络进行了数学描述,考虑到公交乘客出行时所面临的各种重要因素,包括换乘次数、途径站点、出行耗时和出行费用等,选择以换乘次数最少作为最优路径算法的第一约束目标,而出行耗时虽难以准确测算但它与途径站点数相关,所以选择易于量化的途经站点数最少作为第二约束目标,建立公交乘车数学模型,设计相应的算法,并利用有关实验数据验证了它的有效性和可行性.1 模型的建立及其算法1.1 模型假设及符号规定为了更好地建立数学模型,首先对公交网络及出行者作出以下假设[2]:1)不考虑高峰期、道路交通堵塞等外界因素对乘车耗时的影响.2)假设出行者熟悉公交站点及附近地理位置,并且知道可乘的各种公汽和地铁以及到达目的地有哪几种不同选择的机会.在公交线路网中,不同的公交线路在行程上一定会有重叠,也就是说不同的线路上一定会有同名站点.在进行网络分析时,把空间上相近的异线同名站点合理抽象成一个节点.3)假设出行者对公汽和地铁的偏好程度不一样.在不换乘的情况下,宁愿乘地铁,以求舒适;在路途较近的情况下,宁愿坐公汽而放弃乘地铁.出行者可根据自己的偏好结合自己的出行需求(换乘次数、最短路程、费用等),可在各种出行方案中选出满足自己出行需求的乘车方案.设()L I为经过点A或其附近的公交线路集,其中1,2,...,I m=;()S J为经过点B或其附近的公交线路集,其中,,...,J12n=;(,)E I U为线路)(IL上的站点,其中,,...,U12p=;(,)F J V为线路)(JS上的站点,其中,,...,V12q=;()X K为经过站点),(UIE的线路,其中,,...,K12w=;()Y O 为经过站点),(VJF的线路,其中,,...,O12v=;(,)d E F M≤表示从站点E步行到站点F之间的距离不超过乘客换车时步行的最大心理承受值M,其中M表示乘客在换车时步行的最大心理承受值.通常,M与公交站点间的平均距离呈线性正相关.AiZ表示站点A的下行第i个站点;BjZ表示站点B的上行第j个站点;另外,公交的可行线路的集合可表示为:{|i iTR TR TR== 0112,1,,,,,,i i i i da p a p a−< ,}id dp a>,其中,{}01,1,,,,i i d da a a a−为站点集合,{}12,1,,,,i i i d dp p p p−为公交车次的集合,iTR收稿日期:2008-03-10作者简介:雷一鸣(1972-),男,湖南临武人,助教,硕士,主要从事数学模型及经济信息管理研究.雷一鸣:公交最优路径选择的数学模型及算法第17卷51表示在起始站点0a 通过乘坐公交到达终点站d a 的可行的一条路线表示线路)(J S .1.2 模型描述设线路i TR 的换乘次数为i N ,出行费用为i X ,路上总耗时为i T ,则该线路途经总站数为d ,不包括起始站点.出行费用、路上总耗时与途径站点正相关.在日常生活中,公交乘客的个人偏好往往是要求换乘次数少、出行费用低、出行耗时短,但在实践中这3个要素往往很难同时满足,所以选择效用函数()U •作为目标函数为:(),,max iiTR i i N X T U ,目标函数具有以下性质:0i U N ∂<∂,0i U X ∂<∂,0iUT ∂<∂,i i U U N X ∂∂〉〉∂∂. 在上式,设相邻公汽站点间的平均行驶时间(包括停站时间)为1t ,公汽换乘公汽平均耗时为2t .总行程时间i T 与换乘次数i N 的函数关系为:21t N dt T i i +=.设第一次换乘前的价格为0X ,第i 次换乘后到第1+i 次换乘前这段线路的价格为i N X ,则有 01ij N i N j X X X ==+∑.1.3 最优路径算法根据公交路线的现实情况,一般乘客转乘次数不会超过3次[3],如图1所示.假设起始站点为A ,终点站点为B .从A 、B 两点出发,寻找出分别经过该两点的所有的线路,再进行比较分析,看是否能找出直接到达的路线,有则停止搜索,没有则选择两点中经过该路线中较少的站点的所有下一个站点,再进行线路搜索,再跟没有选中站点的线路进行比较,选择最优的站点.没有相同的线路则再进行同样的搜索,直到同样的路线出现才停止搜索.最后比较所有可行的结果,从中选择最优的方案.图1 公交线路换乘方案示意图公交路线选择的最优方案的算法步骤,如下所示:Step 1:输入乘车起始站点A 和终止站点B ;Step 2:分别求经过站点A 和B 的所有车次组成的集合)(I L 和)(J S ;Step 3:判断φ≠∩)()(J S I L 是否成立? 若成立,则)()(J S I L ∩中的元素即为直达车次,即乘坐该车次可由起始站点A 直达终点站点B ,输出)()(J S I L ∩的结果,计算)()(J S I L ∩中各直达车次经过的站点数,站点数最少的车次即为最优选择,终止算法.若不成立,则执行下一步.Step 4:判断两条公交线路是否有相同站点,即),(),(V J F U I E =或存在紧邻站点,即满足Μ≤),(F E d .如果满足),(),(V J F U I E =,则线路)(I L 、)(J S 即为转乘一次的线路,),(U I E 即为转乘站点;如果),(),(V J F U I E ≠,但满足Μ≤),(F E d ,说明乘客可以步行到邻近的站点转乘一次车到达目的地.乘客可从站点),(U I E 下车,然后步行到邻近的站点),(V J F 换乘下一条线路的车,否则转入下一步.Step 5:设))((x L C 表示经过站点x 线路的条数.比较))((A L C 与))((B S C 的大小,即)(A L 与)(B S 集合中元素个数的多少.若))(())((B S C A L C ≤,则查找经过站点A 的车次中的下一站点1+i A Z ,这些所有站点1+i A Z 构成一个集合,记为)(1+i A Z G ,查找经过)(1+i A Z G 中的元素(比如站点1+i A Z )的所有车次,组成一个集合)(1+i A Z L ,分别判断集合)(1+i A Z L 中的元素是否与),(V J F 有交集.若有交集,则),(V J F 为第二中转站点,即乘客在站点1+i A Z 转乘一次,然后在站点),(V J F 第二次转乘即可到达终点站B .若没有交集,再看下一个站点.若))(())((B S C A L C ≥,则查找经过站点B 车次的前一个站1−i B Z ,所有这些站点构成一个集合,记为)(1−i B Z G ,查找经过)(1−i B Z G 中的元素(比如站点1−i B Z )的所有车次,组成一个集合)(1−i B Z S ,分别判断集合)(1−i B Z S 中的元素是否与),(U I E 有交集.若有交集,则),(U I E 为第二中转站点,即乘客在站点),(U I E 转乘一次,然后在站点1−i B Z 第二次转乘即可到达终点站B .若没有交集,则转入下一步.湖 南 城 市 学 院 学 报(自然科学版) 2008年第2期52Step 6:判断φ≠∩)()(O Y K X 是否成立?若成立,不妨设交集中的站点为(,)(1,2,)i Z X Y i = ,则找到了转乘3次的线路,如图1中所示.若不成立,把1+i A Z 作为起始站点,1−i B Z 作为终止站点,转入Step 5继续类推搜索.1.4 算法中的程序 算法中用Matlab 求交集的程序[4]如下: %求集合A 与B 的交集A=[ ]; %输入A 的元素B=[ ]; %输入B 的元素1111(max((),()));();(2);();(2);C zeros size A size B n size A n n m size B m m ===== for i=2:nfor j=1:mif A(i)==B(j)C=[C(1:i-1),B(j)] end end end2 模型的拓广上述模型可以推广到以下情况:在城市交通网络系统中,同时有公共汽车和地铁.为了节约出行时间,乘客不是立即搭乘公共汽车,而是选择步行到临近的一个或两个站点在选择交通工具.由于地铁可以给乘客带来舒适、便捷,人们也会选择转乘地铁,而放弃路途遥远的直达公汽.当然考虑到地铁转乘公汽以及公汽转乘地铁所耗时间较长,在没有地铁直达或是距离地铁遥远的站点,乘客只有选择公汽,甚至不得不需要转乘几次.在考虑存在地铁的情况下,可以把地铁线路作为一条特殊的公汽线路.地铁线上有许多站点,地铁出口及其附近的所有公交站点可构成一个集合,本文把该集合作为一个站点来看待.如果经过起始点的某条公汽线路上的站点属于这个集合,说明乘客可以在该地铁站转乘地铁.如果地铁站旁的某公汽站点属于经过目的地的某条公汽线,说明乘客可以在该地铁站点出站转乘公汽到达目的地.其算法基本与不存在地铁的情形一样.当然,如果进一步考虑乘客在路途行走时间、公汽上所耗时间、地铁上所耗时间以及最后转乘公汽所耗时间等4部分的时间,可以考虑在上述模型的目标函数中加入时间变量,在约束条件中加入一个时间的限制条件,其算法依然满足这种情形.另外,由于在上下班的高峰期,车流量比较多,可以根据实际的情况给出一个关于时间的分段函数加入到约束条件中,这样,可使模型更加接近实际情况. 3 结束语本文深入分析了一般公交网络系统的特点,建立了以换乘次数最小为第一目标,途径站数最少为第二目标的最优公交出行路径模型.对这一组合优化模型,设计了双向优先搜索算法.当然,公交出行的实际情况要复杂的多,本文对这一问题进行了相当程度的简化,从提供最优出行计划的角度进行了初步研究.目前还有许多问题,如环行线路、换乘的难易、时间的因素、非线性费用结构以及个人偏好等因素,都需要进一步研究.参考文献:[1]陈宝林. 最优化理论与算法[M]. 北京: 清华大学出版社, 2005.[2]姜启源. 数学模型[M]. 第3版. 北京: 高等教育出版社, 2003. [3]Johnsonbaugh R. 离散数学[M]. 石纯一, 译. 北京: 人民邮电出版社, 2003.[4]王正东. 数学软件与数学实验[M]. 北京: 科学出版社, 2004.Optimum Route Mode and Its Algorithm to Public Traffic NetworkLEI Yi-ming(Huali College, Guangdong University of Technology, Guangzhou 511325, China )Abstract: The key portion in the travel query system for public transportation is the problem of seeking optimum travel route based on two transportation ports provided. A mathematic model of optimum route with minimal transfer times as primary goal and the minimal stops as the second goal was built in the paper. And an algorithm was designed to find the lines serial of the optimum route. The transferring was determined based on the analysis of some class of interconnectivity of line . The optimum route was comprised of lines serial and transfers.Key words: Optimum route; transfer time; public traffic network(责任编校:曾 伟)。