公交查询系统的最佳乘车方案设计(含程序) 联系客服

发布时间 : 星期二 文章公交查询系统的最佳乘车方案设计(含程序)更新完毕开始阅读bed8183510661ed9ad51f3ff

I换乘次数

设Ri表示有序集TRi??v0,pi1,vi1,pi2,vi2,?,vd?中的元素的个数,为便于区别,现标记Ri?CardTRi,换乘次数可表示为

iNi?Ri?1?12

II所通过的总站数

设非环行线路pik上的两个站点vik?1和vik在沿着公交工具行进方向上的站数按照正整数从小到大的排序分别为k(pik,vik?1)和k(pik,vik),其中仍然记

vi0?v0;viNi?1?vd,于是由数据处理中的相关统计结果可知:

min(k(pik,vik))?k(pik,vik?1)?k(pik,vik)?max(k(pik,vik))

当线路pik为环行线路时,设该环行路线上的总站数为Kik,vi1为pik上的任意一站,vi0,vi2分别为公交工具在沿着pik行进方向上的最后一站和前一站,于是可标记

k(pik,vi0)?Kik;k(pik,vi1)?1;k(pik,vi2)?2;?;k(pik,vij)?j;? 所以出行者乘坐pik线路的公交所经过的站点数目为:

pik为非环行线路;??k(pik,vik)?k(pik,vik?1)pik(vik?1,vik)??.??k(pik,vik)?k(pik,vik?1)?Kikpik为环行线路

所以,出行者途经的总站数为共条行车路线上车站数的总和,即

Si?III乘客所用时间

Ni?1k?1?pik(vik?1,vik)

设出行者选择第i条线路从起始站v0到达终到站vd所耗的平均总时间为ti,换乘一次所耗的平均时间为to=5分钟,相邻两站点之间乘车的平均时间为to=3分钟。则有

*ti?t0Ni?t0??(Si?1)

IV乘车总费用

公汽线路上的单一制票价为1元,分段计价的票价标准为出行者通过本线路0~20个站:1元;21~40站:2元;40站以上:3元。公汽的单一票价为Qi0,出行者在所选择的出行线路中所应支付的车旅费为Qi,所乘同一公交线路上的

最高收费为Qi1,分段计价时加价的最少站数为L0,于是有:

??pik(vik?1,vik)??Qi?Qi0?(Ni?1)??L(pik)?min???,Qi1?1? Lk?10????Ni*其中?A?表示取不超过A的最大整数,参数:Qi0?1(元),Qi1?3(元),L0?20.

?0线路pik为单一票制线路;L(pik)??. ?1线路pik为分段记价线路综上所述,对问题一建立多目标优化分层求解模型

*minU(Ni,ti,Qi)

TRi?TR??TRi|TRi??v0,pi1,vi1,pi2,vi2,?,vd??;?TRi;?Ri?Cardi??N?Ri?1?1;?i2?Ni?1 s..t?Si??pik(vik?1,vik).?k?1?*?ti?t0Ni?t0?(Si?1)?N???pik(vik?1,vik)???Q?Q?N?iL*(p)?min?,Q?1????i1?i0iik?iLk?1??0?????7.2模型的求解 7.2.1线路的抽象处理

从A站到B站的行车路线时,首先考虑是否有经过A站直接到达B站。如果存在不只一条的直达线路,在考虑所走路线的远近,选择距离最近的乘车方案;如果没有直达车,就会考虑换一次车的方案。即经过A站的车与经过B站的车是否有公共站点C。如果有,则可在公共站点C处转车到达站点B。如果没有换一次车的方案,则又要考虑乘坐经过A点的车到某一站C下车,经过C站点的车与经过B站点的车是否有公共站点D,如果有,就到公共站点D转车,两次转车可到达站点B;如果没有,则需要转乘三次或三次以上才可到达目的地。在上述情况中如果存在不止一种的选择方案,则在考虑乘车距离,选择路程最短的乘车方案。

x C A B A B A C D B C D A B (a)直达的情况 (b)换乘一次车的情况 (c)换乘两次车的的情况 (d)换乘多次车的情况

图2 公交线路换乘方案示意图

运用matlab求解如下(具体程序见附录一)

表1问题一的结果

路径 L436L167S3359????S1784????S1828 换乘次数 时间(分) 费用(元) 总站数 1 2 1 1 2 1 95 97 122 77 97 59 3 3 4 2 3 2 33 33 42 27 33 21 L084L189460S1557????S1919????S3186???S0481 L013L485S0971????S2184????S0417 L159L474S0008????S0400????S0073 L308L156L417S0148????S0036????S2210????S0485 L454L209S0087????S3496????S3676 7.3结果分析

我们以换乘次数为第一目标,假设乘客可以接受的换乘次数不超过2次,将问题简化。只考虑乘公汽,所求的6条路径没有直达的其中第1,3,4,6条要换乘一次;第2,5条路径要换乘2次。

8问题二的解答

8.1多目标最优化分层求解模型的建立 8.1.1确定目标函数

问题二在问题一的基础上考虑可以搭乘地铁。乘客的选择更加灵活。其主要变化的因素有:1地铁票价稍高但是固定且在地铁航线之间换乘而不需另外支付交通费用,相邻站点之间的距离较公汽站点大,而运行时间却相对减少

2地铁与公汽之间进行换乘时,由于地铁站点不可能与公汽站点都建在同一个地方,因此从地铁站到公汽站的步行时间相对较多,而且位于与地铁换乘的公汽站点还可以通过本地铁站进行免费换乘到下一个公汽站。

minU(Ni,ti,Qi)

TRi8.1.2确定约束条件

?U?U?U?U ?0,?0,??ti?ti?Ni?ti8.1.3变量的确定

当并入地铁公汽的交通网络时,增加地铁站与其周围的公汽站之间的步行线连接转换后,本问题可转化为问题一中的模型求解,同样有出行者通过公汽换乘、地铁换乘、公汽与地铁之间的换乘后从起始站v0到达终到站vd的可行路径集为:

TR??TRi|TRi??v0,pi1,vi1,pi2,vi2,?,vd??

其中pik的属性将被扩大,它将表示公汽、地铁、步行这三类交通路线中的某一类交通路线;而vik的含义与问题一中vik的含义相同,仍表示公交站点或地铁站点。

I换乘次数与途经总站数

同样设路径TRi的换乘次数为Ni,途经总站数为Si,同问题一对Ni,Si仍然有:

Ni?1Ri?1Ri?CardTRi,Ni??1,Si??pik(vik?1,vik)

i2k?1II出行者乘公交所用时间

在地铁——公汽的公交系统中,出行者将会表现在公汽运行耗时,地铁运行耗时,地铁换乘公汽耗时,公汽换乘地铁耗时,公汽换乘公汽耗时,地铁换乘地铁耗时,公汽通过指定地地铁换乘公汽耗时。为简化变量,考虑出行者的异站步行也纳入到公交线的行列中,则所消耗的时间可归结为:交通工具运行耗时,交通线路换乘耗时两类。

设出行者从起始站v0到达终到站vd所用的总时间为ti,从公交站点vik?1乘

pik线路公交工具到达公交站点vik所消耗的时间(包括相邻两站点间的停站时间)为:t(vik?1,vik),由pik线路的公交工具换乘到pik?1线路的公交工具所消耗的