公交路线选择模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于换乘次数优先的公交路线选择模型
中国地质大学(武汉)方俊赵志江赵科指导教师朱小宁湖北省二等奖
摘要:随着城市建设的飞速发展及公交系统的不断完善,公交车已成为城市居民出行的主要交通工具。
但由于城市公交线路四通八达,且随着城市扩建而快速发展。
新的公交线路在不断延伸和开辟,再加上单行道、禁左等道路交通约束,即使是当地居民也不一定能找到到达目的地的最佳线路,外地游客更是难以获取公交出行的路径信息。
因此,建立适合于公交线路查询特点的公交数据模型,开发操作直观、便捷、快速、准确的城市公交查询系统,为出行者提供全面、准确的公交信息,是城市公交建设与发展的迫切需要。
影响乘客公交出行路线的选择主要有以下四个因素:换乘次数、出行距离、出行时间和出行费用。
通过查找资料和分析,得出它们对乘客的影响大小依次为:换乘次数、出行时间、出行距离和出行费用。
其中出行时间和出行距离可以看做一个整体用出行时间来衡量。
本文针对人们的出行心理并根据以上三个因素的重要程度和公交线网的实际布线情况,建立基于最优换乘次数条件下出行时间最短、出行费用最小的换乘算法模型。
在模型中,判断的原则是优先考虑换乘次数少的路径,在换乘次数相同的情况下,再考虑出行时间最短。
这种基于最优换乘次数算法能够更好的满足实际应用的需求,很好的解决了居民出行公交路线选择的问题,使公众的出行更加通畅、便利。
一、对于公汽网络中最佳路线的选择问题,我们首先定义了两个矩阵line[][]、stat_line[][],分别存储各条线路的站点信息和通过各站点的线路信息,建立了一个完整、详细的公交网络。
然后利用广度优先搜索(BFS)及类似于递归的方法,从解空间中依次查找满足约束条件零次换乘(直达),一次换乘,两次换乘的时间最优路线。
多次换乘路线的选取则可以综合利用启发式搜索算法和递归原理进行查找。
广度优先搜索得到的结果更准确,但是效率较低。
启发式搜索则提高了效率和方向性。
在换乘次数相同的情况下,考虑出行时间最少的路线,最后将得到的各种换乘次数最少、出行时最短路线输出,并给出各种路线的出行费用,提供给用户参考选择。
二、对于在公汽地铁混合的公交网络中查寻最优路线的问题,我们先把地铁线和公汽线输入到问题一建立的两个矩阵line[][]、stat_line[][]中(重新定义),从而构成一个大的公交网络,再建立一个矩阵stat_stat[][],用于存储站点的邻接点,即不需要乘车,可以直接联系起来的站点。
先编写出直达的程序,然后利用类似于递归的方法,查找出最优换乘次数的路线。
由于多次换乘实际应用价值较小且数据量大我们不予考虑。
三、对于考虑步行后出行路线选择的问题,它的解决模型是问题二的模型的扩展。
虽然知道了所有站点之间的步行时间,但是我们根据实际情况只考虑步行一站,站点的邻接点增多,最优路线增多。
关键词:换乘次数广度优先搜索公交网络
递归算法启发式搜索邻接点
一、问题的提出
一、一、
一、
我国人民翘首企盼的第29届奥运会明年8月将在北京举行,届时有大量观
众到现场观看奥运比赛,其中大部分人将会乘坐公共交通工具(简称公交,包括公汽、地铁等)出行。
这些年来,城市的公交系统有了很大发展,北京市的公交线路已达800条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。
针对市场需求,可准备研制开发一个解决公交线路选择问题的自主查询计算机系统。
设计这样一个系统,其核心是线路选择的模型与算法,应该从实际情况出发考虑,满足查询者的各种不同需求。
需要解决如下问题:
1、仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。
并根据附录[1]提供的数据,利用本文建立的模型与算法,求出以下6对起始站→终到站之间的最佳路线。
(1)、S3359→S1828(2)、S1557→S0481(3)、S0971→S0485
(4)、S0008→S0073(5)、S0148→S0485(6)、S0087→S3676
2、同时考虑公汽与地铁线路,解决以上问题。
3、假设又知道所有站点之间的步行时间,给出任意两站点之间线路选择问题的数学模型。
二、问题的分析
乘车方案选择的最终目的是尽最大可能地满足乘客的出行需求。
所以建立合理的乘客出行路线选择模型很重要的一点是通过对居民出行心理进行研究,以确定模型的优化目标和约束条件。
居民公交出行需求是居民对公交服务的期望,故应首先分析乘客出行考虑的因素及其重要性。
我们通过查找资料(参考文献[4])得到石家庄在市内主要公交站点进行的一次居民公交需求问卷调查的结果:34.47%的居民希望换乘次数最少;其次是时问最短为25.31%;路程最短为l8.59%;出行费用最低为12.44%;其他为6.19%。
可见影响居民公交出行的主要因素有以下3个:换乘次数、出行距离和出行时间。
图1:重要性比例图
换乘次数是指乘客完成一次出行过程所需的换乘次数。
调查结果表明,换乘次数对公交的选择影响最大,若换乘次数较多,出行者会放弃对公交的选择。
转向其他更便捷的方式。
此外,换乘次数的增多往往也意味着出行费用的增加。
换乘比例高是我国城市公交出行的一个普遍现象,换乘次数的多少已成为影响居民公交出行的首要因素。
出行时间是影响居民公交出行的另一主要因素。
当其中任何一种出行方式时
间过长时,居民都有可能改选其他出行方式。
出行距离尤其是车外距离对居民公交出行影响也比较明显,但是出行距离往往与出行时间成正比,而出行时间更能反映心理中出行距离的远近,故综合起来只考虑出行时间,即出行距离和出行时间看作一个因素考虑。
出行费用对居民出行路线选择的影响最小,因为一般情况下,换乘次数是不会超过两次的,不同路线的出行费用相差很小,在乘客的承受范围之内。
根据以上分析,确定选定乘车路线的原则为:首先选择换乘次数最少的路线,其次是时间最短。
最后将得到的换乘次数最少、出行时间最短的路线输出,并给出各路线的出行费用,供乘客参考选择。
其次我们对公共交通工具进行分析。
公共交通工具简称公交,本题中包括公汽、地铁两种。
其中公汽又可以分为三种:环线车、往返车,上下线车。
因为车的种类很多,线路各有特点,比如上下线车的上下线路站点不完全一样,环行车的起始点和终点一样等,为了研究的方便必须进行统一的处理,然后建立一个完整、详细的公交网,利用这个公交网进行查询。
我们利用公交网可以查找到换乘次数最少的路线,但是换乘次数相同的路线往往不止一条,在换乘次数相同的情况下,还需要考虑出行时间。
公交的出行时间由三部分组成,即公共交通乘行时间、步行时间、候车时间,计算时间时按部分分开计算。
分析了以上问题后,我们对具体问题进行具体分析。
问题一只考虑公汽的换乘,利用已经建立的公交网络,建立查询模型相对容易。
搜索的方法可以采用启发式搜索算法、广度优先搜索算法及类似于递归的方法进行查找。
得到换乘次数最少的路线后,再计算出行时间,最后给出供选择路线的出行费用,供乘客参考。
问题二加入了地铁线路,地铁线和公汽线构成了一个大的公交网络。
但是在问题二中不同站点间可不乘车而通过地铁站联系起来,即不同站点近似成一个站点了。
因为这些站点是通过地铁站联系起来的,而不是通过线路连接起来的,它们间的关系在公交网中无法体现出来,所以我们应该建立一个矩阵来存储站点间的关系,该矩阵要能反映出可以通过地铁站联系起来的站点间的关系。
然后根据该矩阵,利用地铁线路和公汽线构成的公交网络进行查找,原理同问题一的一样,即可以得到结果。
问题三又考虑了步行的情况。
它比问题二的范围更广,也更符合现实情况。
问题一中只有当不同线路之间具有公共点时才能进行转车,问题二可以通过地铁站在不同的站点换乘,但是它们计算出来的结果有时并不符合实际情况,比如在实际出行时只需换乘两次便可以到达目的地,但是计算出来的结果却需要乘三次或四次。
出现这种情况的原因就是忽视了现实生活中人们步行小段距离再转车的现象。
具体地说,人们在转车时,并不是下车后直接在下车的站点处转车,往往需要步行一小段距离到附近的站点去转车。
问题三即考虑了这种情况,它和问题二都是同一类的问题,即不同站点间可以转车,只是它的联系方式有两种:地铁站和步行。
我们只需将问题二建立的矩阵扩大一下,加入步行后站点间的关系,就可以利用问题二的模型计算出结果。
三、模型假设
考虑实际问题情况和解决问题的方便,我们对问题进行了简化,做出如下的假设:
(1)乘客出行路线的选择依据的先后顺序都为:换乘次数、出行时间、出行费用。
(2)不考虑道路交通运行条件的影响;
(3)公汽、地铁等相邻站点间运行时间相同,不考虑各站间距离、交通状况对行驶时间的影响,即:
相邻公汽站平均行驶时间(包括停站时间):3分钟
相邻地铁站平均行驶时间(包括停站时间):2.5分钟
(4)各种公交在不同地点的换乘所需时间都统一处理,即不考虑各种公交的发车频率、行驶速度以及其他一些因素的影响。
即:
公汽换乘公汽平均耗时:5分钟(其中步行时间2分钟)
地铁换乘地铁平均耗时:4分钟(其中步行时间2分钟)
地铁换乘公汽平均耗时:7分钟(其中步行时间4分钟)
公汽换乘地铁平均耗时:6分钟(其中步行时间4分钟)
(5)乘坐各种公交时所需的等待时间一定。
即:乘坐公汽需要的等待时间为3分钟、乘坐地铁所需要的等待时间为2分钟。
(6)地铁站点相对应的公汽站点间的换乘时间是由从一对应公汽站走到地铁站的4分钟、再由地铁站走到另一对应的公汽站的4分钟以及乘坐公汽所需的等待时间3分钟组成。
即通过地铁站点相对应的公汽站点间的换乘时间为11分钟。
四、参数定义
S:起始点;
F:终到点;
C:中转站;
line[][]:存储各条线路的站点信息的矩阵;
stat_line[][]:存储通过各站点的线路信息的矩阵;
stat_stat[][]:存储邻接点的矩阵;
type[]:保存存储的路线的收费情况:分段计费或单一制1元计费;
L:公汽线路;
S:公汽站点;
T:地铁线路;
D:地铁站点。
五、模型的建立及求解
五、
五、五、
1. 1.问题一模型的建立及求解
本问题的建模思路为:首先对题目所给的数据进行处理、输入,建立公交网络;然后根据公交网络进行搜索,找到换乘次数最少的路线;再算出各路线的出行时间,找出出行时间最短的路线;最后算出路线的出行费用,将换乘次数最少、出行时间最短的路线输出,并输出其出行费用。
公交网络路线查询算法:
1)1)读入数据,建立公交网络存储的数据结构。
将原始数据进行特殊处理,便于存储。
每一条线包括4-5行,如下:
第一行:线路的编号,在存储的时候将分成两条线来存储;
第二行:线路的类型,0:分段计价,1:单一制1元计价;
第三行:线路的条数,1:往返线,2:上下行线,3:环形线;
第四行:线路经过的节点(若有上下行线则还有第五行);
公交路线的存储:建立line[]矩阵,如表一所示:
a .上下行线:对于上行和下行分别当成两条路线来处理,且编号相差520。
例如上行线为L1,则下行线编号L521;
b .往返线:把往返线也当作两条线来处理,编号相差520;
c .环形线:只当成一条线,但在存储时仍然占用两条线的存储空间。
路线编号
0123……n L1
节点个数S619S1914S0388……S710L2
节点个数S3748S2160…..S0004L3
节点个数S0417S0272……S2488L4
节点个数S3010S0582S0579…..S2488…..
…..…..…..…..…..…..…..
L1040节点个数S1848S2645S1344…..
S0600表一:公汽路线的存储结构图公汽站与路线的对应关系:建立stat_line[]矩阵,如表二所示:
每一个公汽站有多路公汽路线通过,每一条路线通过多个公汽站,stat_line[i][j]=1表示第i 个公汽站有第j 路公汽车通过,相反若为0则表示没有该路车通过。
公汽站名
0L1L2L3L4……L1040S1
--0001……0S2
--1000……0……
--0100……1S3957--0010
0
表二:公汽站和公汽路线对应关系存储结构图2)2)零次换乘算法设计:对于给定的起点站S 和终点站F ,在公汽网络中S 若能通过一路公汽车直达F ,则必存在同时经过两站点的公汽路线。
因此,在查旬S 到F 能否直达时只要在stat_line[][]中从第1列到最1040列搜索,若stat_line[S][i]和stat_line[F][i]同时为1则说明S 和F 有可能直达,对于该算法还需考虑几点:a.
a.有可能同时存在不同的公汽线路通过S 和F ;
b.
b.在单向行驶路线中起点站S 必须在终点站F 的前面,而环线可以,因此对于环线应该特殊处理;
c.
c.搜索交通线路时,同时求出该条公汽路线从S 到F 经过的站点个数,据此可以求出S 到F 花费的时间=乘车等待时间+行驶时间;
d. d.对于环线我们的算法是同时在公汽路线的节点顺序和逆序搜索两次,经过的
公汽站个数取两次搜索的较小值,具体说明如图二:
图二:环线处理说明图
在公汽路线中存在如上图所示的路线图(例如L17),即在给定的公汽站点中存在环的情况(站点B在路线中出现两次),把B当做S,A当做F,在统计经过的路线时,我们可能得到:B-C-D-B-A,经过的站点个数num=4;而实际上路线B-A才是我们希望得到的,经过的站点个数num=1。
e. e.算法实现函数:int num_0(int s,int f,int L[],int*mi,int*sch);mi指向的空
间存储经过站点的个数,sch指向的空间存储在最小值条件下路线方案的个数。
f. f.时间复杂度:O(L*N),其中L为公汽线的条数,N为公汽线中最大的节点
个数。
3)3)一次换乘算法设计:
一次换乘即在S和F之间没有公汽车直接往返,用户需要在途径的某个站点下车,然后转乘另一线路公汽车才能达到目的站点。
算法的关键在于找到一个中转站点C,从而可以转化成两次S-C,C-F查询零次换乘的公汽路线。
a. a.中转站C的查找:与S在同一公汽路线的站点都可能作为中转站,但必须
经过两次检验:第一必须保证从S可乘L1路车到达C;第二必须保证C能够乘L2路车到达F;
b. b.路线花费总时间=乘车等待时间+L1的行驶时间+换乘时间+L2的行
驶时间;
c. c.路线方案有多种:存在n条L1和m条L2(n,m=1,2,3…)情况,则总的路
线总数为n*m条,如图三所示,即存在4条路线;
d. d.中转站不能重复,即在搜索路线L1中的所有节点后,当搜索路线L2中的
节点时,若存在一站点C在L1中出现,则不应把C再当做中转站。
e. e.算法实现函数:int num_1(int s,int f,int L1[],int L2[],int*mi,int c[],int
*sch);
f. f.时间复杂度:O((L*N)2);
当找到中转站C后,可以递归的调用零次换乘算法的函数:num_0(S,C,L1, &min1,&sch1)和num_0(C,F,&min2,&sch2)。
若两函数都返回1,则说明通过中转站C可以从S换乘一次车到达F。
min1和min2分别保存了从S-C,C-F路线的经过站点的最小值。
sch1和sch2分别保存了从S-C,C-F在最小值条件下路线的条数。
4)4)两次换乘算法设计:
两次换乘即从S到F中间经过了两个中转站,对于该算法完全可以按照一次换乘的实现过程。
首先查找中转站C,再分别调用一次零次换乘的函数和一次一次换乘的函数。
具体过程不再赘叙。
算法实现函数:int num_2(int s,int f,int L1[],int L2[],int L3[],int*mi,int c1[], int c2[],int*sch);
时间复杂度:O((L*N)3),由此可知当查找两次换乘路线时,时间效率不高,但是经过一定的优化可以在理想的实践内查找到,合适的方案来,比如第二组和第五组数据都要用两次换乘算法查找到最优的路线。
虽然两次换乘的算法在时间效率方面不高,但是大部分查询通过两次换乘就可以得到最优路线。
5)5)多次换乘算法设计:
由两次换乘可以看出n次换乘的实践复杂度成指数增长,为O((L*N)n-1);
当n超过3时,可以想象查询效率会慢的让人无法忍受,因此应该寻找更加优越的算法,启发式搜索就是一种很好的解决方法。
启发式搜索就是在状态空间中的搜索前对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。
三次换乘算法中,我们可以统计出各个站点通过的线路数,在进行路线搜索时,可以直接找通过起始点的所有线路上通过的线路数最多的站点,然后调用二次换乘的程序进行搜索,这样省略了大量无畏的搜索路径,增加了目的性,提到了效率。
更多次换乘的搜索原理和三次换乘原理相同。
6)6)算法实现流程图:
根据以上算法思想,我们可以做出如图四所示的流程图:
7)7)问题一的最优选择路线:
线路说明如下:
路线:S3359->L436->S1784->L167->S1828表示从S3359站经过L436路车在S1784站下后,换乘L167路车在站点S1828下车;
时间:104表示从起始站到终到站耗费的时间为104min,包括等待时间+换乘时间+行驶时间;
路线L436->L167===3表示从起始站到终到站的总票价为3元。
本模型给出的6对起始站到终到站的最优换乘方案如下:
1. 1.S:F=S3359S1828
有2种换乘方案:
换乘一次车1:线路S3359->L436->S1784->L167->S1828,时间104
换乘一次车2:线路S3359->L436->S1784->L217->S1828,时间104
方案1:路线L436->L167===3
方案2:路线L436->L217===3
2. 2.S:F=S1557S481
有2种换乘方案:
换乘两次车1:线路S1557->L84->S1919->L189->S3186->L460->S481,时间:109换乘两次车2:线路S1557->L363->S1919->L189->S3186->L460->S481,时间:109方案1:路线L84->L189===3
方案2:路线L363->L189===3
3. 3.S:F=S971S485
有1种换乘方案:
换乘一次车1:线路S971->L13->S2184->L417->S485,时间131
方案1:路线L13->L417===3
4. 4.S:F=S8S73
有14种换乘方案:
换乘一次车1:线路S8->L159->S3315->L58->S73,时间86
换乘一次车2:线路S8->L159->S2559->L464->S73,时间86
换乘一次车3:线路S8->L159->S2559->L58->S73,时间86
换乘一次车4:线路S8->L159->S491->L58->S73,时间86
换乘一次车5:线路S8->L159->S3614->L58->S73,时间86
换乘一次车6:线路S8->L159->S291->L58->S73,时间86
换乘一次车7:线路S8->L159->S2683->L58->S73,时间86
换乘一次车8:线路S8->L159->S3053->L474->S73,时间86
换乘一次车9:线路S8->L159->S2633->L474->S73,时间86
换乘一次车10:线路S8->L159->S400->L474->S73,时间86
换乘一次车11:线路S8->L355->S2303->L345->S73,时间86
换乘一次车12:线路S8->L355->S3917->L345->S73,时间86
换乘一次车13:线路S8->L463->S2083->L57->S73,时间86
换乘一次车14:线路S8->L355->S2263->L345->S73,时间86
方案1:路线L159->L58===3
方案2:路线L159->L464===3
方案3:路线L159->L58===3
方案4:路线L159->L58===2
方案5:路线L159->L58===2
方案6:路线L159->L58===2
方案7:路线L159->L58===2
方案8:路线L159->L474===2
方案9:路线L159->L474===2
方案10:路线L159->L474===2
方案11:路线L355->L345===2
方案12:路线L355->L345===2
方案13:路线L463->L57===2
方案14:路线L355->L345===2
5. 5.S:F=S148S485
有3种换乘方案:
换乘两次车1:线路S148->L308->S36->L156->S2210->L417->S485,时间109换乘两次车2:线路S148->L308->S36->L156->S3332->L417->S485,时间109换乘两次车3:线路S148->L308->S36->L156->S3351->L417->S485,时间109方案1:路线L308->L156===3
方案2:路线L308->L156===3
方案3:路线L308->L156===3
6. 6.S:F=S87S3676
有1种换乘方案:
换乘一次车1:线路S87->L454->S3496->L209->S3676,时间68
方案1:路线L454->L209===2
7.程序实际运算截屏示意图:
8)8)评价分析:6对起始站→终到站之间输出的最佳路线,其中有4对需要换乘
一次车、,还有2对需要换乘2次车,说明它们之间没有直达车,而且除了第3、6对只有一种方案外,其他都有多种方案可供选择。
a)a)本问题建立的模型是按换乘次数由少到多进行循环的,输出的为换乘
次数最少的路线,这样花在转车上的时间将会减少,步行时间和距离也会
减少;
b)b)找到换乘次数最少的路线后,再计算出各路线的出行时间,选出时间
最短的路线,时间越短则浪费的时间越少,对当代人来说无疑是很重要
的;
c)c)模型输出最佳路线有4对不止一条,这样给乘客提供了更多的选择空
间,使乘客可以根据实际公交运行情况和自身情况进行选择。
2、问题二模型的建立及求解
本问题的实现过程整体上与问题一的求解过程相同,读入数据建立公交网络(包括公汽网络和地铁网络),并存储地铁站与公汽站的对应关系。
模型建立的关建在于通过地铁站可在地铁站与公交站之间,或公交站与公交站之间进行联系(通过步行),即从一个站点到达另一个站点可以通过步行,并假定通过步行达到
另一站点时,并不累计到换乘次数中。
1)1)从S到F的零次换乘路线包括如下四种情况:
图五:问题二零次换乘路线四种不同情况
对于情况一和问题一中的模型一样,直接通过公交线路联系。
在情况二中首先从S步行到C,从C乘车到F。
这样就相当于在S这个站点增加了多条交通线路。
在搜索最优解的过程中,满足相同约束条件的交通线路增多,因此对于某些起始点和终到点之间就可以通过较少的换乘次数或花费较少的时间的交通路线相连通(从S到达F),也就是说可以得到更优的解,通过程序的运行结果可以很好的看到这一点。
2)2)问题二的最优选择线路:
本模型给出的六对起始站到终到站的最优换乘方案如下:
1. 1.S:F=S3359S1828
有2种换乘方案:
换乘一次方案1:->S3359->L436->S1784->L167->S1828,时间:104.00
换乘一次方案2:->S3359->L436->S1784->L217->S1828,时间:104.00
2. 2.S:F=S1557S481
有2种换乘方案:
换乘两次方案1:->S1557->L84->S1919->L189->S3186->L460->S481,时间:109.00
换乘两次方案2:->S1557->L363->S1919->L189->S3186->L460->S481,时间:109.00
3. 3.S:F=S971S485
有1种换乘方案:
换乘一次方案1:->S971->L13->S2184->L417->S485,时间:131.00
4. 4.S:F=S8S73
有14种换乘方案:
换乘一次方案1:->S8->L159->S3315->L58->S73,时间:86.00
换乘一次方案2:->S8->L159->S2559->L464->S73,时间:86.00
换乘一次方案3:->S8->L159->S2559->L58->S73,时间:86.00
换乘一次方案4:->S8->L159->S491->L58->S73,时间:86.00
换乘一次方案5:->S8->L159->S3614->L58->S73,时间:86.00
换乘一次方案6:->S8->L159->S291->L58->S73,时间:86.00
换乘一次方案7:->S8->L159->S2683->L58->S73,时间:86.00
换乘一次方案8:->S8->L159->S3053->L474->S73,时间:86.00
换乘一次方案9:->S8->L159->S2633->L474->S73,时间:86.00
换乘一次方案10:->S8->L159->S400->L474->S73,时间:86.00
换乘一次方案11:->S8->L355->S2303->L345->S73,时间:86.00
换乘一次方案12:->S8->L355->S3917->L345->S73,时间:86.00
换乘一次方案13:->S8->L463->S2083->L57->S73,时间:86.00
换乘一次方案14:->S8->L355->S2263->L345->S73,时间:86.00
5. 5.S:F=S148S485
有1种换乘方案:
换乘两次方案1:->S148->L24->S1487->D2->T1->D22->S3457->L51->S485,时间:93.00
6. 6.S:F=S87S3676
有1种直达方案:
直达方案1:->S87->D27->T2->D36->S3676,时间:33.00
7.程序实际运算截屏示意图:
3)3)结果分析:考虑地铁后,乘客出行可供选择的线路更多了,最佳路线的
情况也可能发生改变。
本模型输出的6对起始站→终到站之间最佳路线,虽然前4对没有任何改变,但是第5、6对的最佳路线则有了很大的优化。
第5对现在只需要换乘一次车就可以到达终到站,而且时间少要了13分钟,第6对的体现更加明显,不仅可以直达,而且时间减少了一半多,很好的体现出了地铁的联系作用。
比如:S:F=S148S485;
在问题一中的求解结果为:
有3种换乘方案:
换乘两次车1:线路S148->L308->S36->L156->S2210->L417->S485,时间109换乘两次车2:线路S148->L308->S36->L156->S3332->L417->S485,时间109换乘两次车3:线路S148->L308->S36->L156->S3351->L417->S485,时间109方案1:路线L308->L156===3
方案2:路线L308->L156===3
方案3:路线L308->L156===3
而在问题二中的求解结果为:
有1种换乘方案:
换乘两次方案1:->S148->L24->S1487->D2->T1->D22->S3457->L51->S485,时间:93.00。