公交转车问题(数学建模)_第1页
公交转车问题(数学建模)_第2页
公交转车问题(数学建模)_第3页
公交转车问题(数学建模)_第4页
公交转车问题(数学建模)_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

公交转车问题南京邮电大学理学院杨振华制作yangzhenhua@公交转车问题针对市场需求,某公司准备研制开发一个解决北京市公交线路选择问题的自主查询计算机系统。为了设计这样一个系统,其核心是线路选择的模型与算法,应该从实际情况出发考虑,满足查询者的各种不同需求。公交:指公共交通工具,包括公共汽车与地铁。南京邮电大学数理学院杨振华制作yangzhenhua@公交转车问题1、仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。并根据附录数据,利用你们的模型与算法,求出以下6对起始站→终到站之间的最佳路线(1)S3359→S1828(2)S1557→S0481(3)S0971→S0485(4)S0008→S0073(5)S0148→S0485(6)S0087→S36762、同时考虑公汽与地铁线路,解决以上问题。南京邮电大学数理学院杨振华制作yangzhenhua@基本参数设定相邻公汽站平均行驶时间(包括停站时间):3分钟相邻地铁站平均行驶时间(包括停站时间):2.5分钟公汽换乘公汽平均耗时:5分钟(其中步行时间2分钟)地铁换乘地铁平均耗时:4分钟(其中步行时间2分钟)地铁换乘公汽平均耗时:7分钟(其中步行时间4分钟)公汽换乘地铁平均耗时:6分钟(其中步行时间4分钟)公汽票价:分为单一票价与分段计价两种,标记于线路后;其中分段计价的票价为:0~20站:1元;21~40站:2元;40站以上:3元地铁票价:3元(无论地铁线路间是否换乘)注:以上参数均为简化问题而作的假设,未必与实际数据完全吻合。南京邮电大学数理学院杨振华制作yangzhenhua@公汽线路信息公汽运行方式(1)环形(2)上下行(有可能上下行路线一致)公汽收费方式(1)分段计价(2)单一票制1元南京邮电大学数理学院杨振华制作yangzhenhua@公汽线路信息文件列出了520条公汽线路,下面是其中的一条:L001分段计价。S0619-S1914-S0388-S0348-S0392-S0429-S0436-S3885-S3612-S0819-S3524-S0820-S3914-S0128-S0710该线路是分段计价,且上下行路线一致的。南京邮电大学数理学院杨振华制作yangzhenhua@地铁线路信息T1票价3元,本线路使用,并可换乘T2。D01-D02-D03-D04-D05-D06-D07-D08-D09-D10-D11-D12-D13-D14-D15-D16-D17-D18-D19-D20-D21-D22-D23T2票价3元,本线路使用,并可换乘T1。环行:D24-D25-D26-D12-D27-D28-D29-D30-D31-D32-D18-D33-D34-D35-D36-D37-D38-D39-D24南京邮电大学数理学院杨振华制作yangzhenhua@地铁T1线换乘公汽信息D01:S0567,S0042,S0025D02:S1487D03:S0303,S0302D04:S0566D05:S0436,S0438,S0437,S0435D06:S0392,S0394,S0393,S0391D07:S0386,S0388,S0387,S0385D08:S3068,S0617,S0619,S0618,S0616D09:S1279D10:S2057,S0721,S0722,S0720D11:S0070,S2361,S3721D12:S0609,S0608D13:S2633,S0399,S0401,S0400D14:S3321,S2535,S2464D15:S3329,S2534D16:S3506,S0167,S0168D17:S0237,S0239,S0238,S0236,S0540D18:S0668D19:S0180,S0181D20:S2079,S2933,S1919,S1921,S1920D21:S0465,S0467,S0466,S0464D22:S3457D23:S2512南京邮电大学数理学院杨振华制作yangzhenhua@地铁T2线换乘公汽信息D24:S0537,S3580D25:S0526,S0528,S0527,S0525D26:S3045,S0605,S0607D12:S0609,S0608D27:S0087,S0088,S0086D28:S0855,S0856,S0854,S0857D29:S0631,S0632,S0630D30:S3874,S1426,S1427D31:S0211,S0539,S0541,S0540D32:S0978,S0497,S0498D18:S0668D33:S1894,S1896,S1895D34:S1104,S0576,S0578,S0577D35:S3010,S0583,S0582D36:S3676,S0427,S0061,S0060D37:S1961,S2817,S0455,S0456D38:S3262,S0622D39:S1956,S0289,S0291南京邮电大学数理学院杨振华制作yangzhenhua@问题分析从实际情况考虑,不同的查询者有不同的要求。在数学上体现出目标的不同。一般可以考虑转车次数、乘车费用、乘车时间这3个目标。问题可以归结为多目标优化问题。南京邮电大学数理学院杨振华制作yangzhenhua@问题分析如何处理上面的多个目标?多目标的处理最常用的方法是单目标化,即采用加权平均等方法将多个目标结合形成一个单一的目标。本问题中,单目标化并不合适,比较适当的方法是对每个目标寻求最佳线路,然后让乘客按照自己的需求进行选择。南京邮电大学数理学院杨振华制作yangzhenhua@模型建立我们先仅考虑公汽线路的情况。设N表示问题中的公汽站点数,即N=3957,A0=(a(i,j,0))N×N是直达最小站数矩阵,当存在公共汽车从站点直达站点时,表示从直达的最小站数。否则该元素取为+∞。南京邮电大学数理学院杨振华制作yangzhenhua@模型建立令Am=(a(i,j,m))N×N是m次转乘最小站数矩阵,其元素a(i,j,m)表示m次转车情形下,从Si到Sj的最小站数。显然南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型对于给定的公汽站点Si与Sj,最小转车次数模型可以写为南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型转车次数为m时,从Si到Sj的总时间为5m+3a(i,j,m),(转一次车5分钟,每乘一站,用时3分钟)下面是最小乘车时间模型:南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车费用模型最小乘车费用模型可以写为如下的形式:该模型是形式上的,对于求解没有实质性的作用。南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解对于给定的公汽站点Si与Sj,只要逐次求出(a(i,j,m)),直到其为有限值即可。在实际求解时,先根据公汽线路的数据将a(i,j,0)的数据存储在矩阵A0中。南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解算法一(逐次查找)对于给定的i,j,(1)若a(i,j,0)<+∞,表明转车次数为0,否则转(2);(2)k从1到N进行搜索,若a(i,k,0)<+∞,a(k,j,0)<+∞,则转车次数为1,否则转(3);(3)k1,k2从1到N进行搜索,若a(i,k1,0)<+∞,a(k1,k2,0)<+∞,a(k2,j,0)<+∞,则转车次数为2.南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解逐次查找算法的复杂度若只要转一次车,则循环的步数为N;若要转2次车,循环的步数为N2;若要转3次车,循环的步数为N3……由于N=3957,N3≈6.2×1010,普通计算机运行时间较长,若要转4次车,很难承受计算量!南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解算法二(存储逐次查找)(1)若a(i,j,0)<+∞,表明转车次数为0,否则转(2);(2)求出矩阵A1=(a(i,j,1))N×N,其每个元素通过上面的表达式,用k从1到N循环求得.若对给定的i,j,有a(i,j,1)<+∞,表明转车次数为1;类似可以计算多次转车的情况注:矩阵A0,A1等计算后存储在计算机中,南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解存储逐次查找算法的复杂度矩阵A1的计算:一共计算N2个元素,每个元素的计算要循环N步,计算量为N3.运行时间依然较长。优点:矩阵Am(m>1)的计算工作量与A1一致!有可能计算转多次车.南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解在前面的两个算法中,每次循环都要进行N次.事实上,对给定的i,满足a(i,k,0)<+∞的k是很少的,我们只要对这些k进行循环.在实际问题中,任何一个城市中,任何一个公汽站点所能到达的公汽站点只是城市中的一些“线”,相对于整个城市而言,数目是比较少的.南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解算法三(有限搜索逐次查找)给出矩阵B,其第i行记录的是满足a(i,k,0)<+∞的所有的“k”.将存储逐次查找算法中的k从1到N循环改为正对矩阵B第i行中的“k”进行循环.南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解有限搜索逐次查找算法的复杂度矩阵Am的计算:一共计算N2个元素,每个元素的计算要循环的步数大大小于N,大约为N/10,计算量约为N3/10.一般的计算机可以实现.南京邮电大学数理学院杨振华制作yangzhenhua@最小转车次数模型求解对于题目中给出的六组公汽站点,其最小转车次数分别为(1)S3359→S1828 1(2)S1557→S0481 2(3)S0971→S0485 1(4)S0008→S0073 1(5)S0148→S0485 2(6)S0087→S3676 1南京邮电大学数理学院杨振华制作yangzhenhua@转车次数由于算法复杂性的问题,许多参赛队都假设“最多转2次车”,少数参赛队考虑转3次车,个别的参赛队考虑转4次车或更多.由于所给的6组站点最小转车次数为1或2,似乎假设最多转2次车是合理的.根据题目中的数据,北京市的任意两个公汽站点之间一般需转几次车?南京邮电大学数理学院杨振华制作yangzhenhua@转车次数N=3957,一共有N(N-1)

=15653892对公汽站点,我们给出它们的最小转车次数转车次数站点对数03965351587599328274263310866064203855110根据题目中的数据,北京市的公汽站点转5次车可以全部到达.根据表中的数据,假设转最多2次车是不合理的,假设转最多3次车有一定的合理性.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车费用左边的表给出的时最小转车次数,即对应的一种乘车方案的乘车费用.点对换乘次数费用(元)S3359→S182813S1557→S048123S0971→S048513S0008→S007312S0148→S048523S0087→S367612关于最小乘车费用,其模型一般只有形式上的,对求解没有直接的作用.我们对具体的六对站点给出讨论的结果.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车费用易见,第二,四,五,六对站点对应的费用是最小费用(为什么?)点对换乘次数费用(元)S3359→S182813S1557→S048123S0971→S048513S0008→S007312S0148→S048523S0087→S367612南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车费用对于第一个点对S3359→S1828,如果换乘次数大于等于2,显然费用至少为3.若换乘次数为1,采用枚举方法将乘车方案全部列出.一共由9种方案,其中8种费用为3元,一种费用为4元.因此,最小乘车费用为3.类似,第三个点对的换乘次数为1的11种方案的最小费用也是3.点对换乘次数费用(元)S3359→S182813S0971→S048513南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解根据上面的模型,若已知a(i,j,m)的值,则可以求出tS(i,j,m)关于m的最小值.由于m的取值从0到无穷大,必须采用一定的技巧来求出最小值.注:参赛队一般选取m从0到2(或0到3),是不合理的,不过也“成功”避免了求解的困难.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解考虑第一对公汽站点1)S3359→S1828最小转车次数为1,a(i,j,0)=∞,tS(i,j,0)=∞;a(i,j,1)=32,tS(i,j,1)=101;由于a(i,j,m)≥m+1,有tS(i,j,m)≥8m+3.若m≥13,则tS(i,j,m)≥105>tS(i,j,1).因此,我们可以将m的范围放在0到12内求最优.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解若m的范围过大,求解会有一定困难.能否缩小m的范围?在上页的讨论中,不等式a(i,j,m)≥m+1的含义是总站数比转车次数至少大一.我们可以给出a(i,j,m)更好的下界,从而缩小m的范围.南京邮电大学数理学院杨振华制作yangzhenhua@两站点之间的最小站数a(i,j,m)表示m次转车下,从Si到Sj的最小站数.设nS(i,j)表示站点Si到Sj的最小站数(可以转车任意次).显然 a(i,j,m)≥nS(i,j)我们有tS(i,j,m) =5m+3a(i,j,m)

≥5m+3nS(i,j)南京邮电大学数理学院杨振华制作yangzhenhua@两站点之间的最小站数将公汽站点设为有向图中的结点.若Si乘公汽1站可以到达Sj,我们就设一条有向边从结点i指向结点j.对于每一条有向边,指定其权为1,显然求nS(i,j)就转化为有向图中结点到结点的最短路径问题.对任意给定的i,j,我们可以采用Dijkstra算法求得nS(i,j).南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解对于第一对公汽站点i=3359,j=1828,nS(i,j)=13,我们给出求解过程.a(i,j,0)=∞,tS(i,j,0)=∞;a(i,j,1)=32,tS(i,j,1)=101; m

≥2时,tS(i,j,m)≥5×2+3×13=49.因此,最小乘车时间在区间[49,101]上.为求精确的最优解,必须接着求解.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解a(i,j,2)=18,tS(i,j,2)=64; m

≥3时,tS(i,j,m)≥5×3+3×13=54.最优解位于区间[54,64];a(i,j,3)=18,tS(i,j,3)=69; m

≥4时,tS(i,j,m)≥5×4+3×13=59.最优解位于区间[59,64];南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解a(i,j,4)=17,tS(i,j,4)=71; m

≥5时,tS(i,j,m)≥5×5+3×13=64.重复上述过程:tS(i,j,0)=∞,tS(i,j,1)=101,tS(i,j,2)=64,tS(i,j,3)=69,tS(i,j,4)=71,m

≥5时,tS(i,j,m)≥64.可以看出,最小乘车时间为64,在转2次车时可以在此时间到达.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解算法由上面的例子,我们只要找到一个转车次数m,转车次数不大于m时,最小乘车时间为TS(i,j,m)=min{tS(i,j,k)|k≤m}转车次数大于m时,乘车时间的下界为5(m+1)+3nS(i,j)若TS(i,j,m)≤5(m+1)+3nS(i,j),则TS(i,j,m)为最优解.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解算法Step1用Dijkstra算法求出nS(i,j),令m=0;Step2求出a(i,j,m),令tS(i,j,m)=5m+3a(i,j,m);Step3若TS(i,j,m)=min{tS(i,j,k)|k≤m}≤5(m+1)+3nS(i,j),则TS(i,j,m)即为最短乘车时间;否则令m:=m+1,转Step2.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解第四对公汽站点S0008-S0073的求解过程可以用下面的表格表示(nS(i,j)=13):m01234ts(i,j,m)∞83676359Ts(i,j,m)∞836763595(m+1)+3ns(i,j)

4449545964最小乘车时间为59,需转4次车.其它答案参见评阅要点(该要点给出的答案中包含了起始的3分钟)南京邮电大学数理学院杨振华制作yangzhenhua@综合考虑公汽与地铁(1)最小转车次数将地铁线路看成公汽线路.最小转车次数这一目标的讨论难度没有增加,只是增加了几条公汽线路.对于题中给的六组站点,其前5组站点都不在地铁边,因此增加地铁后,最小乘车次数没有变化,仍然是原来的1或2.第6组2个站点都在地铁线上,最小转乘次数为0.南京邮电大学数理学院杨振华制作yangzhenhua@综合考虑公汽与地铁(2)最小乘车费用对于一般的两个站点之间的最小乘车费用,仅考虑公汽时讨论就很复杂,增加了地铁之后讨论还是差不多复杂,要用枚举法来求解.也可以说,难度没有增加.对于题中给的六组站点,仅考虑公汽时,最小费用为2元或3元,因此在综合考虑公汽与地铁时依然是最优解(乘一次地铁3元)南京邮电大学数理学院杨振华制作yangzhenhua@综合考虑公汽与地铁(3)最小乘车时间增加了地铁后乘车时间的讨论变得相当复杂.注:如果假设换成次数最多为2或3,会将问题大大简化.在此,为了将问题合理的简化,我们首先研究这样一个问题:在考虑时间最少时,线路中是否存在先乘地铁,再转公汽,再乘地铁这样的乘车方案?南京邮电大学数理学院杨振华制作yangzhenhua@地铁-公汽-地铁?考察下面两种方案(A)从地铁站Dk乘地铁到地铁站Dk1然后由公汽站Ss1乘到公汽站Ss2,再转地铁站Dl1,乘地铁到地铁站Dl;(B)直接乘地铁由地铁站Dk到Dl。直观认识:(A)的时间>(B)的时间南京邮电大学数理学院杨振华制作yangzhenhua@地铁-公汽-地铁?设tDB(i,j)表示乘地铁由地铁站Di到地铁站Dj的最短时间,nSA(i,j)表示可以由地铁站Di转乘的公汽站乘公汽到可以由地铁站Dj转乘的公汽站的最小公汽站数。于是,TB=tDB(k,l)如果(A)方案中没有公汽转车TA=tDB(k,k1)+3nSA(k1,l1)+tDB(l1,l)+1313表示换车时间如果有公汽转车,等号要换成大于等于号南京邮电大学数理学院杨振华制作yangzhenhua@地铁-公汽-地铁?TA-TB

tDB(k,k1)+3nSA(k1,l1)+tDB(l1,l)+13-tDB(k,l)=[3nSA(k1,l1)+13-tDB(k1,l1)]+[tDB(k,k1)+tDB(k1,l1)+tDB(l1,l)-tDB(k,l)]最后一个中括号中的式子是非负的.因此TA-TB

≥3nSA(k1,l1)+13-tDB(k1,l1)如果右式非负,则有TA-TB

≥0.南京邮电大学数理学院杨振华制作yangzhenhua@地铁-公汽-地铁?3nSA(k1,l1)+13-tDB(k1,l1)≥0?一共有39个地铁站,我们通过计算机程序(k1,l1对从1到39进行遍历搜索)来判断上式左边的值,发现有四组地铁站对应的值为负,分别是(13,30),(16,30),(30,15),(30,16),这四组站点对应的nSA(k1,l1)值均为1.对这四组点,再观察TA-TB

tDB(k,k1)+3nSA(k1,l1)+tDB(l1,l)+13-tDB(k,l)右端的值南京邮电大学数理学院杨振华制作yangzhenhua@地铁-公汽-地铁?tDB(k,k1)+3nSA(k1,l1)+tDB(l1,l)+13-tDB(k,l)=tDB(k,k1)+tDB(l1,l)+16-tDB(k,l)对于前面四组k1,l1,对k,l进行循环搜索,可以得到tDB(k,k1)+tDB(l1,l)+16-tDB(k,l)的最小值都是2.最终得到TA-TB

≥0.结论:对于题中给的数据,为了时间最省,不存在“地铁-公汽-地铁”这种换乘方案.换言之:地铁一次乘完!南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型对于任意两个公汽站点,不乘地铁的时间最小方案在问题一中已经求得.下面考虑必须乘地铁的方案:乘p次(转p-1次)公汽,再乘地铁,最后乘次q(转q-1次)公汽到达终点的方案,下面将这样的方案记为pDq。注:该方案包含了仅乘地铁的情况(p=q=0).南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型下面主要针对题中前5组站点进行研究.这五组站点均不能由地铁站直接转乘,因此p,q≥1.求任意公汽站点Si到公汽站点Sj在方案下的最短时间,即对任意的p,q,以及任意的地铁站Dk,Dl,求出起点乘p次公汽到可以直接转乘地铁站Dk的公汽站的最短时间,加上Dk到Dl的最短时间,再加上可以由地铁站Dl直接转乘的公汽站乘q公汽次到达终点公汽站的最短时间.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型(1)站数:N1(i,k,p-1),乘车时间:3N1(i,k,p-1),转车时间5(p-1)SiDkSjDl(1)p次(3)q次(3)站数:N2(l,j,q-1),乘车时间:3N2(l,j,q-1),转车时间5(q-1)(2)(2)乘车时间:tD(k,l)(4)公汽转地铁,地铁转公汽时间:13总时间:tSDS(i,j,p,q,k,l)=3N1(i,k,p-1)+5(p-1)+tD(k,l)+3N2(l,j,q-1)+5(q-1)+13南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型数学模型min{tSDS(i,j,p,q,k,l)|1≤p,q<∞,1≤k,l≤39,k≠l}在tSDS(i,j,p,q,k,l)表达式中,地铁乘坐时间tD(k,l)是很容易计算的.若没有转车,tD(k,l)=2.5nD(k,l)(每站2.5分钟)若转1次车,tD(k,l)=2.5nD(k,l)+4.不存在转2次以上的情况.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解tSDS(i,j,p,q,k,l)=3N1(i,k,p-1)+5(p-1)+tD(k,l)+3N2(l,j,q-1)+5(q-1)+13对于固定的i,j,我们要遍历p,q,k,l来求上式的最小值.对于k,l进行遍历是比较简单的.为了缩小p,q的取值范围,可以类似于问题一来给出站数(公汽与地铁)的下界.南京邮电大学数理学院杨振华制作yangzhenhua@下界设nSDS(i,j)表示从Si乘车(公汽或地铁,可以转车任意次)到Sj的最小乘车站数.我们可以用Dijkstra求最短路径来求出这个数.记M=N1(i,k,p-1)+N2(l,j,q-1)为乘车方案中公汽的站数.根据公汽的站数加地铁站数不小于最小乘车站数,有M+nD(k,l)≥nSDS(i,j).南京邮电大学数理学院杨振华制作yangzhenhua@下界将M=N1(i,k,p-1)+N2(l,j,q-1)

代入tSDS(i,j,p,q,k,l)=3N1(i,k,p-1)+5(p-1)+tD(k,l)+3N2(l,j,q-1)+5(q-1)+13得tSDS(i,j,p,q,k,l)=3M+tD(k,l)+5(p+q)+3由于tD(k,l)=2.5nD(k,l)或2.5nD(k,l)+4,有tSDS(i,j,p,q,k,l)≥3M+

2.5nD(k,l)+5(p+q)+3=0.5M+2.5M+

2.5nD(k,l)+5(p+q)+3M+nD(k,l)≥nSDS(i,j)南京邮电大学数理学院杨振华制作yangzhenhua@下界tSDS(i,j,p,q,k,l)≥0.5M+2.5M+

2.5nD(k,l)+5(p+q)+3再由M+nD(k,l)≥nSDS(i,j)得tSDS(i,j,p,q,k,l)≥0.5M+2.5nSDS(i,j)+5(p+q)+3另外,M表示乘公汽的站数,显然M≥p+q,(一共乘了p+q次公汽,每次至少一站).我们最终得到tSDS(i,j,p,q,k,l)≥2.5nSDS(i,j)+5.5(p+q)+3根据这一下界,搜索不多的p,q就得到最小时间.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解对第一个点对,i=3359,j=1828,nSDS(i,j)=12(由于增加了地铁,最小站数小了).(1)p+q=2,p=1,q=1t=84.5,p+q

≥3时,下界2.5nSDS(i,j)+5.5(p+q)+3=49.5(2)p+q=3,p=1,q=2,t=71; p=2,q=1,t=75.5p+q

≥4时,下界2.5nSDS(i,j)+5.5(p+q)+3=55南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解(3)p+q=4,p=1,q=3,t=76;p=2,q=2,t=62;p=3,q=1,t=80.5p+q

≥5时,下界2.5nSDS(i,j)+5.5(p+q)+3=60.5南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解(3)p+q=5,p=1,q=4,t=77;p=2,q=3,t=67;p=3,q=2,t=67p=4,q=1,t=85.5p+q

≥6时,下界2.5nSDS(i,j)+5.5(p+q)+3=66p+q≤5时,t*=62,p+q

≥6时,t≥66因此,最优解在p=q=2时取得.南京邮电大学数理学院杨振华制作yangzhenhua@最小乘车时间模型求解Step1用Dijkstra算法求出nSDS(i,j),令h=2;Step2计算下界 A(h+1,i,j)=2.5nSDS(i,j)+5.5(h+1)+3;Step3p从1到h-1循环,q=h-p,计算tSDS(i,j,p,q,k,l),对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论