公交查询系统最佳路线设计(2)

2020-02-21 00:55

在分段计价路线上经过的站不超过A?B经过的共站点,即:

?xi?1y1?1i?x

只考虑换乘次数不超过两次的情况下的乘车路线,得:

y1?2

综上得问题一的多目标优化模型为:

??minY?minT ??minW?y1?1?xi?x s.t??i?1??y1?2

5.2模型求解:

5.2.1求出换乘次数最少的可行路径

设S(A) 、S(B)分别为经过起点A、终点B的所有公汽线路的集合,即

S(A)?{Ai|i?1,2,3?a},S(B)?{Bj|j?1,2,3?b} 设第i条线路Ai?Ai1,Ai2,Ai3?Aim,其中Ai1,Aim分别表示第i条线路的起点和终点;第j条线路Bj?Bj1,Bj2,Bj3?Bjn,其中Bj1,Bjn分别表示第j条线路的起点和终点。算法如下:

1、 若S(A)?S(B)??,即存在i,j使Ai?Bj,表示站点A,B间可以通过一次乘车直接到达,线路如:

ijA????B

找出经过站点最少的路线作为最优路线。

2、 若S(A)?S(B)=?,则A,B两站点间没有直达路线,需要换乘。模型只考虑换成两次的情况:

① 一次换乘:经过起点站A的某条公汽线路与经过终点B的某条公汽线有公共站点Aip(Bjq),得出线路如:

A?BAijA???Aip(Bjq)???B

B若可以一次转乘,则计算出起始站与终点站间经过站点最少的路线为最优路

线。

② 二次换乘:设S(C)为S(A)中所有能转乘车次的集合

S(C)?{Cr|r?1,2,3?c}

如果S(C)?S(B)??,即存在Crp?Bjq,则找出此交集,并按顺序找出这个交集中的车由哪些车次转来,可知经两次转车可达到目的站点。路线如下:

BjAiCrA???Ai(Cr)???Crp(Bjq)???B 计算出A,B之间所经站点最少的路线作为最优路线。

5.2.2算法步骤:

首先我们将文本数据按行存在一个元胞矩阵的每一行中,然后从外部输入要

查询线路的起点与终点。

查找线路时,我们先考虑能否直达,步骤如下: a. 建立一个记录经过某一点的所用线路的函数; b. 然后将输入的点分别代到上述函数中,分别得到经过起点A和终点B的所有线路S(A),S(B);

c. 判断两者是否在S(A)=S(B)。如果存在,将A,B两之间经过的站点数n记录下来,与初始A,B间站点数n0(初始值设为无穷大)比较。如果n?n0,则记录次线路,同时将n0赋值为n;否则舍去此线路;

d. 以此循环,直到找出所有S(A)=S(B)且n最小的情况。 考虑转乘一次,步骤如下:

a. 先输入始发站A,搜索经过A的所有线路S(A);

b. 然后在上述线路上分别用A之后的每个站点搜索经过它的所有线路; c. 重复直达的情况下的算法步骤。

考虑转乘两次和上面一样,不同的是在转乘一次的基础上增加一个搜索线路。

5.2.3模型结果

依照以上的算法步骤,运用matlab编程进行求解。在路线的选择时,首先考虑换乘次数最少的,其次是经过站点最少(所用时间最少),最后考虑的是费用。问题一的具体结果如下:

①从S3359→S1828转乘次数最少的,经过站点较少的选择路径,如下表1.1: 转乘经过站所花时间所用费路线 次数 点数 (分钟) 用(元) 1 1 ②从S1557→S0481转乘次数最少的,经过站点较少的选择路径,如下表1.2:

所花时转乘经过站所用费路线 间(分次数 点数 用(元) 钟) L084(下)L080(下)S1557?????S3389?????S2361 2 40 130 3 L312(下)?????S0481L084(下)L157(上)S1557?????S3389?????S2361 2 40 130 3 L312(下)?????S0481L084(下)L279(下)S1557?????S3389?????S2361 2 40 130 3 L312(下)?????S0481L084(下)L348(下)S1557?????S3389?????S2361 2 40 130 3 L312(下)?????S0481 ③从S0971→S0485转乘次数最少的,经过站点较少的选择路径,如下表1.3: 转乘经过站所花时间所用费路线 次数 点数 (分钟) 用(元)

L436(下)L167(下)S3359?????S1784?????S1828 L436(下)L217(下)S3359?????S1784?????S1828 32 32 101 101 3 3

1 L013(下)L417(下)S0971?????S2184?????S0485 41 128 3 ④从S0008→S0073转乘次数最少的,经过站点较少的选择路径,如下表1.4: 转乘经过站所花时间所用费路线 次数 点数 (分钟) 用(元) 1 1 ⑤从S0148→S0485转乘次数最少的,经过站点较少的选择路径,如下表1.5: 所花时转乘经过站所用费路线 间(分次数 点数 用(元) 钟) L024(环)L140(下)S0148?????S0345?????S3037 2 40 130 3 L104(下)?????S0485L024(环)L140(下)S0148?????S1609?????S3037 2 40 130 3 L104(下)?????S0485L308(下)L140(下)S0148?????S0345?????S3037 2 40 130 3 L104(下)?????S0485 ⑥从S0087→S3676转乘次数最少的,经过站点较少的选择路径,如下表1.6: 转乘经过站所花时间所用费路线 次数 点数 (分钟) 用(元) 1 L216(下)L506S0087?????S0145????S3676 L159(下)L058下)S0008?????S2683?????S0073 26 26 83 83 2 2 L159(下)L058(下)S0008?????S0291?????S0073 40 125 3 5.3结果分析

从以上六个表中的数据可以看出,根据模型求出的任意两点之间所用时间和费用均相等,乘车路线也无太大差异,所以以上所有路线均可供乘客选择。

6、 问题二的解答

6.1模型建立

将地铁与相邻公交站点抽象为同一站点,结合问题一,建立以转乘次数最少为第一目标,所用时间和费用最少分别第二、三目标的多目标优化模型。 6.1.1确定目标函数 目标一:换乘次数最少

总换乘次数为两种交通工具互转乘次数的和,得转乘次数最少的目标函数:

minY??(y1?y2?y3?y4) 目标二:所花时间最少

总时间包括转乘时间和经过站点所用时间,其中乘公交所用时间

T1?xt

乘地铁所用时间

T2?x?t?

则所用总时间最少的目标函数:

minT?T1?T2?(y1t1?y2t2?y3t3?y4t4)

目标三:所花费用最少

总费用等于各条路线上所花费用之和。判断线路i是公交线还是地铁线;若i为公交线,判断线路i是单一票价还是分段计价

??1公交(单一票价) ui??wi公交(分段计价)地铁??3

得总费用最少的目标函数:

minW??ui

i?1Y+16.1.2确定约束条件

总转乘次数少于两次:0?Y?2(Y?N) 综上得问题二多目标模型为:

??minY?minT ??minWS.t0?Y?2(Y?N)

6.2模型求解

依照问题一的算法步骤,运用matlab编程进行求解得出题中6对起始站→终到站之间的最佳路线。

7、 问题三的解答

7.1模型建立:

根据分析,当步行时间在某一范围之内乘客时才会选择步行。以乘客所在的站点为中心,以步行时间上限为半径,找出在范围内的所有站点(邻近点)。同问题二,将这些点抽象为同一点,如下图:

步行抽象邻近站点这些站点之间均通过步行到达。

7.1.1确定目标函数

目标一:换乘次数最少

minY??(y1?y2?y3?y4)

目标二:所花时间最短 乘公交所用时间:

T1?xt

乘地铁所用时间:

T2?x?t?

步行所花时间:

T3??x??tpq

其中xpq?1站点p,q间步行

0站点p,q间不步行得出从始发站到终点站所用时间最少的目标函数为:

minT?T1?T2?T3?(y1t1?y2t2?y3t3?y4t4)

?目标三:所花费用最少

同问题二,总花费最少的目标函数:

minW??ui

i?1Y+1

7.1.2确定约束条件:

从站点p到站点q所花时间不超过乘客步行时间上限:

tpq?t??

总转乘次数不超过两次:

0?Y?2(Y?N)

综上得问题三的多目标优化模型:

??minY?minT ??minW0?Y?2s.tt?t??

pq?

8、 模型的评价、改进及推广

8.1模型评价


公交查询系统最佳路线设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:20m空心板桥计算书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: