文档库 最新最全的文档下载
当前位置:文档库 › 公交最优乘车路径模型

公交最优乘车路径模型

公交最优乘车路径模型
公交最优乘车路径模型

北京市公交最优乘车路径选择的数学模型

摘要

2008年8月,奥运圣火将在北京点燃。盛大的奥运赛事聚焦了全世界人民的目光,明年的北京将绽放最绚丽的光彩。届时,客流量将会大幅上升,环境、交通、城市建设都将面临很大考验。怎样才能更好的解决奥运期间市民和游客的出行问题呢?针对这样的实际问题,我们设计了一个城市公交线路的自主查询系统,建立了关于城市公交最优乘车路径选择的数学模型和算法,巧妙的运用Java语言编写程序,解决了现实生活中乘车路径选择的问题。

针对问题 1,在只考虑公汽线路时,首先求出起始站和终到站所有公交线路集合的交集,若此交集为非空交集,则选择所有直达线路中途经站点数最少,即花费最少的线路出行;若交集为空,选择起始站附近的站点,求出此站和终到站所有公交线路集合的交集,若为非空交集,则可选择换乘一次的方法出行;否则,换乘两次,换乘三次……直到找到换乘N次的乘车方案为止。存在多条乘车线路时,考虑途经站点最少的乘车方式。在此基础上,通过运用Java语言编程,确定了所需的最优乘车路径:(1)乘坐L436路公交车从S3359到S1784站,在S1784站换乘L167或L217路到S1828站,全程换乘一次,耗时101分钟,乘车费用为3元;

(2)乘坐L84路公交车从S1557到S1919站,在S1919站换乘L189到S1402站,在S1402换乘L460到S0481站,全程换乘两次,耗时112分钟,乘车费用为3元;

(3)乘坐L13路公交车从S0971到S2184,在S2184站换乘L417路到S0485站,全程换乘一次,耗时128分钟,乘车费用为3元;

(4)乘坐L43路公交车从S0008到S1383,在S1383站换乘L282路到S0073站,全程换乘一次,耗时113分钟,乘车费用为3元;

(5)乘坐L308路公交车从S0148到S0302,在S0302站换乘L427到S2027站,在S2027站换乘L469到S0485,全程换乘两次,耗时118分钟,乘车费用为3元;

(6)乘坐L454路公交车从S0087到S3469,在S3469站换乘L209路到S3676站,全程换乘一次,耗时65分钟,乘车费用为2元;

针对问题 2,要求同时考虑公汽线路和地铁线路,在同一地铁站对应的任意公汽站间可免费换乘,利用问题1的思想建立数学模型,运用Java语言编程,得到同时考虑公汽和地铁时的最优乘车路径:前五对起始站→终到站的最优乘车路径的选择与问题1一致。而起始站S0087到终到站S3676可通过选乘T2地铁线路直达,耗时25分钟,费用为3元。

针对问题 3,鉴于问题1和问题2都是基于能乘车就不选择步行的出行方式建立的模型,故没有在真正意义上满足乘客出行的各种不同需求。如起始站到终到站需经过21个站点,且按分段计费的方式计价,那么对以费用为主要考虑因素的顾客而言,他将会选择在第20站的位置下车步行抵达目的地,这样即可节省一元钱的费用。

[关键词] 最优乘车路径换乘次数 Java编程

一、问题重述

明年,第29届奥运会将在我国首都举行,明年的北京将成为全世界的焦点。为了能身临其镜的享受奥运的精彩赛事,来自各个国家的观众都将于明年相聚北京,相约奥运。与此同时,北京市的客流量将大幅提高,交通成为了众人关心的首要问题。如今,虽然城市的公交系统有了很大发展,仅北京市的公交线路就已超过800条,但要很好的解决奥运期间市民和游客的出行问题,仅仅靠增加公交车的线路是远远不够的,最重要的是要帮助民众选择一条既省时又省钱的最优乘车路径,使得大家在奥运期间的出行畅通无阻。

从城市的实际情况出发,为了满足大家的各种不同需求,设计一个城市公交线路的自主查询系统,帮助出行者快速地选择出行路径、换乘路线等,解决以下几个问题:1、仅考虑公汽线路,当给出任意两个公交站点时,怎样才能很快找到连接两个公交站点之间的最优乘车路径呢?如果已经给出以下6对起始站→终到站,通过清晰的分析说明,并建立数学模型和算法,帮助出行者选择出最佳的出行方式。

(1) S3359→S1828 (2) S1557→S0481 (3) S0971→S0485

(4) S0008→S0073 (5) S0148→S0485 (6) S0087→S3676

2、同时考虑公汽线路和地铁线路,解决上面的问题。

3、假设知道所有站点之间的步行时间,给出任意两个站点之间线路选择问题的数学模型。

二、问题分析

如果已经获取起始站A和终到站B的相关信息,需要确定从A到B的最优乘车路径,我们可以这样分析讨论:

首先,求出经过起始站A和终到站B的所有公交线路的集合,求这两个集合的交集,如果为非空交集,则存在直达线路,可优先选择直达线路乘车。若存在多条直达线路,应考虑途经站点最少或花费乘车费用最少的乘车方式出行。

如果交集为空集,则可选择与A邻近的某一线路上的站点C,求出经过C站的所有公交线路的集合与经过B站的所有公交线路集合求交集。若为非空交集,则可选择换乘一次的方法出行。否则,可依次类推,换乘两次,换乘三次……直到找到换乘N次的乘车方案为止。如果每种乘车方式都存在多条乘车线路时,同样我们应考虑使途经最少站点或花费最少乘车费用的方法出行。

针对问题 1,在仅考虑公汽线路时,只要使换乘次数最少、途经的公交站点数最少,乘车费用即可降到最低,所选择的路径便可达到省时或省钱的目的。

针对问题 2,在问题1 的基础上综合考虑公汽线路和地铁线路。因在同一地铁站对应的任意公汽之间通过地铁站进行公汽的换乘而无需支付额外的地铁费用,可将经过地铁站换乘的所有公汽站点的公交线路都考虑在集合之内,忽略通过地铁站转乘公汽在路上所耗费的时间,进行模型的建立和求解。

针对问题 3,鉴于问题1和问题2都是基于能乘车就不选择步行的出行方式建立的模型,故没有在真正意义上满足乘客出行的各种不同需求。例如起始站到终到站需经过21个站点,且按分段计费的方式计价,为了节省乘车费用,一些乘客会选择在第20站的位置下车步行抵达目的地,这样即可节省一元钱。按照这样的思维模式,如需在第22站下车,选择在20站下车步行至目的地的方法乘客同样可以接受。依次类推,随着步行站点的增多,选择此方法的乘客将会越来越少。因此,对分段计价的公交线路,站点数目在20-40之间或在40个以上的站点进行加权。

三、模型的建立和求解

模型Ⅰ

(一)模型假设

1、当任意两站之间存在多条公交线路时,我们一般考虑选择换乘次数最少的公交线路出行,当存在多条这样的路线时,我们则选择途经站点数最少的路线;

2、假设城市交通运行正常,不考虑交通拥堵的情况;

3、假设在能乘车的情况下就不选择步行的出行方式。

(二)符号说明

)(A S :经过起始站A 的所有公交线路的集合; )(B S :经过终到站B 的所有公交线路的集合;

i A :经过起始站A 的第i 条公交线路;

ij A :经过起始站A 的第i 条公交线路的第j 个站点;

)(ij A S :经过起始站A 的第i 条公交线路的第j 个站点的所有公交线路的集合; u j i A ),(:经过起始站A 的第i 条公交线路的第j 个站点的所有公交线路的集合的第u 条公交线路;

uv j i A ),(:经过起始站A 的第i 条公交线路的第j 个站点的所有公交线路的集合的第u 条公交线路的第v 个站点;

)),((uv j i A S :

经过起始站A 的第i 条公交线路的第j 个站点的所有公交线路的集合的第u 条公交线路的第v 个站点所有公交线路的集合;

x :从起始站A 到终到站B 的公交线路上,途经的所有公交站点的数量(包括起始站和终到站);

K y :??

?->=站数。

次换乘途经的所有公交次换乘到第表示从第时当站数;

站时,途经的所有公交表示从起始站直达终到时当k k y k y k k k )1(,0,0 (包括起始站和终到站);

k M :实现换乘N 次的第k 次到第)(1+k 次换乘所花费的乘车费用;单位:元(其中第1+N 站表示终到站)

注:其中0≥N ,],0[N k ∈,v u j i ,,,均为正整数。

(三)模型的建立

1、根据题目所提供的信息,实现N 次换乘的算法如下: 1)获取起始站A 和终到站B ;

2)求出经过起始站A 的所有公交线路的线路集)(A S 和经过终到站B 的所有公交线路的线路集)(B S ; 3)求)(A S ?)(B S ,

如果)(A S ?)(B S ≠φ,则结束运算,输出结果; 如果)(A S ?)(B S =φ,则继续下一步运算;

4)顺序取出集合)(A S 中线路i A ,分别取出i A 中的第j 个站点ij A ,求出经过第j 个站点的所有公交线路的线路集)(ij A S ; 5)求算)(ij A S ?)(B S 的结果,

如果)(ij A S ?)(B S ≠φ,则结束运算,输出结果; 如果)(ij A S ?)(B S =φ,则继续下一步运算;

6)顺序取出集合)(ij A S 中线路u j i A ),(,分别取出u j i A ),(中的第v 个站点uv j i A ),(,求出经过第v 个站点的所有公交线路的线路集)),((uv j i A S ; 7)求)),((uv j i A S ?)(B S ,

如果)),((uv j i A S ?)(B S ≠φ,则结束运算,输出结果。 如果)),((uv j i A S ?)(B S =φ,则继续下一步运算。

8)依次类推,直到找到经N 次换乘后从起始站到达终到站的公交线路为止。

2、实现N 次换乘的公交线路所耗费时间就等于公汽在各个站点之间行驶的总时间与换乘公汽所耗费的总时间的和,即 ()N x T ?+-?=513

3、实现N 次换乘的公交线路所花费的乘车费用的函数可表示为: ∑==N

k k M M 0(0≥k )

当公汽采用单一票价方式收费时,k M 即为乘车的实际票价; 当公汽采用分段计价方式收费时,k M 为一个分段函数;

??

?

??=>-=≤-<=≤-;

3,40)1(;2,40)1(20;1,20)1(k k k k k k M y M y M y 时当当时当

(四)模型的求解

在已经建立的数学模型和算法的基础上,运用Java 进行编程(程序见附表),输出结果后经过简单筛选处理,得到部分可行路线如下表所示,表中的黑体部分为最优乘车路径:

起始站→终到站 换乘次 数(次) 耗费时间(分钟)

途经公 交站点数 换乘站 点名称 乘坐 线路 费用

(元)

乘车 时间 换乘

时间

S3359——S1828

1 10

2 5 34 S1241 L436 3

1 96 5 3

2 S1784 L436

L167或 L217

3

1 13

2 5 44 S0304 L469

3 1 135 5 45 S0519 L469

4 S1557——S0481 2 147 10 49 S0028 L84 4 2 156 10 52 S0029 L84 4 2 16

5 10 55 S0029 L84 4 2 132 10 44 S0978 L84 4

2 11

3 11 38 S0978 L8

4 6

2 108 10 36 S1919 L84 3

2 102 10 34 S1919

S1402

L84

L189 L460

3

S0971——S0485 1 126 5 42 S992 L13 3

1 123 5 41 S2184 L13

L417

3

1 144 5 48 S087

2 L119

3 S0008——S0073 1 132 5 4

4 S1064 L29 4

1 108 5 36 S1383 L43

L282

3

S0148——S0485 2 153 10 51 S0345 S0993 L24

L13 4

2 150 10 50 S0325 S2184 L24

L13 5

2 171 10 57 S0345 S0872 L24

L119 4

2 120 10 40 S0345 S3037 L24

L140 3

2 114 10 38 S1487 S202

3 L24

L378

3

2 111 10 37 S1487 S2027 L24 L378

3 2 108 10 36 S0302 S2027 L308 L427 L469 3 S0087——S3676

1

60 5 20 S3496 L454 L209 2 1

66

5

22

S1893

L454 L209

2

注:换乘站点和乘坐线路依次向下。

模型Ⅱ

(一)模型假设

1、当任意两站之间存在多条公交线路时,我们一般考虑选择换乘次数最少的公交线路出行,当存在多条这样的路线时,我们则选择途经站点数最少的路线;

2、假设城市交通运行正常,不考虑交通拥堵的情况;

3、假设在同一地铁站对应的任意两个公汽站之间进行换乘时,可将地铁站作为两公汽站的连接通道,无需再支付额外的地铁费用;

4、在同一地铁站对应的任意两个公汽站之间进行换乘时,不考虑在换乘过程中步行所耗费的时间;

5、假设在能乘车的情况下就不选择步行的出行方式。

(二)符号说明

()A E :可通过地铁免费到达起始站A 的所有公交站点的集合; ()B E :可通过地铁免费到达终到站B 的所有公交站点的集合;

()A S :经过()A E 中站点的所有公交线路的集合; ()B S :经过()B E 中站点的所有公交线路的集合; i A :经过()A S 中的第i 条公交线路;

ij A :经过()A S 中的第i 条公交线路的第j 个站点; )(ij A E :可通过地铁免费到达ij A 的所有公交站点的集合; ()ij A S :经过)(ij A E 中站点的所有公交线路的集合; 1x :在所确定的乘车线路中,经过的公汽站点的数量; 2x :在所确定的乘车方式中,经过的地铁站点的数量;

3x :在所确定的乘车方式中,公汽换乘公汽的次数; 4x :在所确定的乘车方式中,地铁换乘地铁的次数;

5x :在所确定的乘车方式中,地铁换乘公汽的次数; 6x :在所确定的乘车线路中,公汽换乘地铁的次数;

K y :?

?

?->=站数次换乘途经的所有公交次换乘到第表示从第时当途经的所有公交站数

表示从起始站到终到站时当k k y k y k k k )1(,0,0 (包括起始站和终到站);

k M :针对公汽换乘而言,从第k 次换乘到第

)(1+k 次换乘所花费的乘车费用;单位:元

注:其中0≥N ,],0[N k ∈,j i ,均为正整数。

(三)模型的建立

1、根据题目所提供的信息,实现N 次换乘的算法如下: 1)获取起始站A 和终到站B ;

2)求可通过地铁免费到达起始站A 的所有公交站点的集合()A E 和可通过地铁免费到达终到站B 的所有公交站点的集合()B E ;

3)求出经过()A E 中站点的所有公交线路的集合()A S 和经过()B E 中站点的所有公交线路的集合()B S ; 4)求()A S ?()B S ,

如果()A S ?()B S ≠φ,则结束运算,输出结果; 如果()A S ?()B S =φ,则继续下一步运算;

5)顺序取出集合()A S 中线路i A ,分别取出i A 中的第j 个站点ij A ,求可通过地铁免费到达ij A 的所有公交站点的集合)(ij A E ;

6)求出经过)(ij A E 中站点的所有公交线路的集合()ij A S ; 7)求()ij A S ?()B S ,

如果()ij A S ?()B S ≠φ,则结束运算,输出结果;

如果()ij A S ?()B S =φ,则继续下一步运算;

8)依次类推,直到找到经N 次换乘后从起始站到达终到站的公交线路为止;

2、实现N 次换乘的公交线路所耗费时间就等于公汽在各个站点之间行驶的总时间、公汽换乘公汽所耗费的总时间、地铁换乘地铁所耗费的总时间、公汽换乘地铁所耗费的总时间、地铁换乘公汽所耗费的总时间和地铁在各个站点之间行驶的总时间的和,即

65432216745)1(5.2)(3x x x x x x x T ++++-+-=;

3、实现N 次换乘的公交线路所花费的乘车费用为乘坐公汽的费用与乘坐地铁的费用,则费用的函数可表示为: 33

0+=∑=x k k M M (0≥k )

当公汽采用单一票价方式收费时,k M 即为乘车的实际票价; 当公汽采用分段计价方式收费时,k M 为一个分段函数;

??

?

??=>-=≤-<=≤-;

3,40)1(;2,40)1(20;1,20)1(k k k k k k M y M y M y 时当当时当

(四)模型的求解

在已经建立的数学模型和算法的基础上,运用Java 进行编程(程序见附表),输出后的结果经简单筛选处理,得到部分可行路线如下表所示,表中的黑体部分为最优乘车路径:

起始站→终到站 换乘次 数(次) 耗费时间(分钟)

途经公 交站点数 换乘站 点名称 乘坐 线路 费用

(元)

乘车 时间 换乘

时间

S3359——S1828

1 10

2 5 34 S1241 L436 3

1 96 5 3

2 S1784 L436

L167/ L217

3

1 13

2 5 44 S0304 L469

3 1 135 5 45 S0519 L469

4 S1557——S0481 2 147 10 49 S0028 L84 4 2 156 10 52 S0029 L84 4 2 16

5 10 55 S0029 L84 4 2 132 10 44 S0978 L84 4

2 11

3 11 38 S0978 L8

4 6

2 108 10 36 S1919 L84 3

2 102 10 34 S1919

S1402

L84

L189 L460

3

S0971——S0485 1 126 5 42 S992 L13 3 1 123 5 41 S2184

L13

L417

3 1 14

4

5 48 S0872 L119 3

S0008——S0073 1 132 5 44 S1064 L29 4 1 108 5 36 S1383

L43

L282

3

S0148——S0485 2 153 10 51

S0345

S0993

L24

L13

4 2 150 10 50

S0325

S2184

L24

L13

5 2 171 10 57

S0345

S0872

L24

L119

4 2 120 10 40

S0345

S3037

L24

L140

3 2 11

4 10 38

S1487

S2023

L24

L378

3 2 111 10 37

S1487

S2027

L24

L378

3 2 108 10 36

S0302

S2027

L308

L427

L469

3

S0087——S3676 0 25 0 10 / T2 3 注:换乘站点和乘坐线路依次向下。

模型Ⅲ

鉴于问题1和问题2都是基于能乘车就不选择步行的出行方式建立的模型,故没有在真正意义上满足乘客出行的各种不同需求。例如起始站到终到站需经过21个站点,且按分段计费的方式计价,为了节省乘车费用,一些乘客会选择在第20站的位置下车步行抵达目的地,这样即可节省一元钱。按照这样的思维模式,如需在第22站下车,选择在20站下车步行至目的地的方法乘客同样可以接受。依次类推,随着步行站点的增多,选择此方法的乘客将会越来越少。因此,对分段计价的公交线路,站点数目在20-40之间或在40个以上的站点进行加权。

四、模型的优缺点

根据题目所给信息进行了合理假设,问题的分析由简到难;从仅考虑公汽线路的乘车方式入手,进一步综合考虑公汽线路和地铁线路,最后再加入步行时间,模型层次结构清晰;巧妙的运用了Java语言编程,从而得到了最优乘车路径的选择方案;鉴于问题1和问题2都是基于能乘车就不选择步行的出行方式建立的模型,在模型Ⅲ中考虑了此因素,在真正意义上了满足乘客出行的各种不同需求。但是,由于没有考虑到现实生活中可能出现交通拥堵等类似的客观原因,从而使得乘车时间有所延长。

[参考文献]

[1] 印旻,Java与面向对象程序设计教程,北京:高等教育出版社[M], 1999年。

[2] Bruce Eckel,Java编程思想,北京:机械工业出版社[M],2007年6月。

[3] 王朝晖、杨洁,公交线路中最优路线的查询算法设计,电子政务与地理信息技术论

文专辑[J],149-152,2005年。

[4] 吴永军、蔡永香、郭庆胜,城市公交查询系统的设计与实现,测绘信息与工程[J],

40-42,2006年。

[5] 廖楚江、蔡忠亮、杜清运、王长耀,基于最少换乘的公交最优路径算法的设计与实

现,武汉大学学报[J],第31卷第10期,904-907,2006年。

附表

package 公交查询;

import java.io.DataInputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

public class 公交查询系统 {

static node cline[]=new node[500];

static boolean[] fflag=new boolean[3957];

static int then=0;

static String luxin[][];

static String huan[]=new String[500];

public static void main(String[] args) {

for(int i=0;i<3957;i++) {

String s;

fflag[i]=new Boolean(false);

if(i<10)s=new String("S000"+(i+1));

else if(i<100)s=new String("S00"+(i+1));

else if(i<1000)s=new String("s0"+(i+1));

else s=new String("s"+(i+1));

}

luxin=new chaxun1().getS();

cline[0]=new node();

String s1=new String("S0870"),s2=new String("S3120");

cline[0].pre=-1;

cline[0].s=new String(s1);

cline[0].then=0;

int i=1;

boolean ff;

do{

ff=findline(s1,s2,cline,0,0,huan,luxin,i++,fflag);System.out. println(i);

}

while(ff==false);

}

static boolean findline(String s1,String s2,node[] cline,int then,int th,String[] huan,String[][] luxin,int chishu,boolean[] fflag) {

String sname;

boolean flag=false;

if(chishu<1)return false;

int i;

for(i=0;i<3957;i++) {

if(i<10)sname=new String("S000"+(i+1));

else if(i<100)sname=new String("S00"+(i+1));

else if(i<1000)sname=new String("s0"+(i+1));

else sname=new String("s"+(i+1));

if(fflag[i])return false;

if(sname.equalsIgnoreCase(s1)==true){

fflag[i]=true;

break;

}

}

String[] xianji=luxin[i];

for(int j=0;j

xianlu s=new xianlu(xianji[j]);

tongxing tong = new tongxing(s,s1,s2);

if(tong.flag==true) {

then++;

huan[then]=new String(https://www.wendangku.net/doc/2c7596292.html,);

cline[then]=new node();

cline[then].pre=th;

cline[then].s=s2;

cline[then].shijian=tong.shijian;

cline[then].jiage=tong.jiage;

cline[then].then=th+1;

flag=true;

putout(cline[then],cline,huan);

}

}

if(flag==false&&chishu>1)

for(int j=0;j

// s1站点一;s2;站点二;cline;数组;then;数组中位置;th;深度;huan;

//环行数组;luxin;路线详细;chishu

xianlu x=new xianlu(xianji[j]);

boolean flag1 = false,flag2 = false;

for(int k=0;k

flag1=findline(x.xian1[k],s2,cline,then,th+1,huan,luxin,chish u-1,fflag);

for(int k=0;k

flag2=findline(x.xian2[k],s2,cline,then,th+1,huan,luxin,chish u-1,fflag);

flag=flag1||flag2;

}

return flag;

}

static void putout(node lin,node[] cline,String[] huan) { node l=lin;

node[] line = new node[lin.then+1];

int i;

for(i=0;i<=lin.then;i++)line[i]=new node();

i=lin.then;

while(i!=-1) {

line[i].s=new String(l.s);

line[i].shijian=l.shijian;

line[i].jiage=l.jiage;

if(i>0)

l=cline[l.pre];

i--;

}

System.out.println("line:");

for(i=0;i<=lin.then;i++) {

System.out.println(huan[i]+" "+line[i].s);

}

}

}

class node {

public int pre;

public String s;

public int shijian;

public int jiage;

public int then;

}

class chezhan {

String name;

public xianlu[] line;

public chezhan(String name) {

int i=0;

https://www.wendangku.net/doc/2c7596292.html, = name;

xianlu[] jline;

xianlu[] line = new xianlu[50];

for(int j=1; j<=520; j++) {

String s;

if(j<10)

s = new String("L00"+j);

else if(j<100)

s = new String("L0"+j);

else s = new String("L"+j);

xianlu xian = new xianlu(s);

if(xian.exit(https://www.wendangku.net/doc/2c7596292.html,)) {

line[i]=new xianlu(s);

i=i+1;

}

}

jline = new xianlu[i];

for(int j=0; j

jline[j]=line[j];

}

}

}

class tongxing {

int xflag=12;

xianlu line;

String s1,s2;

int jiage;

int shijian;

public boolean flag=false;

public tongxing(xianlu line,String s1,String s2) { int len=1;

if(line.flag==1) {//根据上下行车方式计算时间和价格int i,j;

for(i=0; i

if(s1.equalsIgnoreCase(line.xian1[i])) break;

for(j=0;j

if(s2.equalsIgnoreCase(line.xian1[j])) break;

if(i

if(j<=i) {

for(i=0; i

if(s1.equalsIgnoreCase(line.xian2[i])) break;

for(j=0;j

if(s2.equalsIgnoreCase(line.xian2[j])) break;

}

if(xflag==11)

if(j>=line.xian1.length)len=0;

if(xflag==12)

if(j>=line.xian2.length)len=0;

if(i

flag=true;

shijian=(j-i)*3;

if(line.jiflag==1) jiage=1;//统一记价

else {//分段记价

if(j-i<=20)jiage=1;

else if(j-i<=40)jiage=2;

else jiage=3;

}

}

}

else if(line.flag==2) {//根据环行行车方式计算时间和价格int i,j,l;

for(i=0; i

if(s1.equalsIgnoreCase(line.xian1[i])) break;

for(j=0;j

if(s2.equalsIgnoreCase(line.xian1[j])) break;

//System.out.println(""+i+j);

if(j

if((j

flag=true;

shijian=l*3;

if(line.jiflag==1) jiage=1;

else {

if(l<=20)jiage=1;

else if(l<=40)jiage=2;

else jiage=3;

}

}

}

else {//根据可逆行车方式计算时间和价格

int i,j,l;

for(i=0; i

if(s1.equalsIgnoreCase(line.xian1[i])) break;

for(j=0;j

if(s2.equalsIgnoreCase(line.xian1[j])) break;

if(i!=j&&i

flag=true;

if(l<0){

l=j-i;

}

shijian=l*3;

if(line.jiflag==1) jiage=1;

else {

if(l<=20)jiage=1;

else if(l<=40)jiage=2;

else jiage=3;

}

}

}

}

}

class xianlu {

int jiflag;//记价方式

int flag;//行车方式

String name;

public String[] xian1,xian2,xian0;

xianlu(String name) {

https://www.wendangku.net/doc/2c7596292.html, = name;

String[] str;

chaxun s = new chaxun(https://www.wendangku.net/doc/2c7596292.html,);

str = s.getS();

String regex = new String(" ");

xian0 = str[0].split(regex);

xian1 = str[1].split(regex);

xian2 = str[2].split(regex);

if(xian0[0].equalsIgnoreCase("danyipiaozhi"))

jiflag = 1; //单一票价

else jiflag = 0;//分段记价

if(xian1[0].equalsIgnoreCase("shangxing"))

flag = 1;

else if(xian1[0].equalsIgnoreCase("huanxing"))

flag = 2;

else flag = 3;

}

public Boolean exit(String sname) {//找出公交线路中是否经过站点sname

if(flag==3) {

for(int i=1; i

if(sname.equalsIgnoreCase(xian1[i]))return true;

for(int i=1; i

if(sname.equalsIgnoreCase(xian2[i]))return true;

}

else {

for(int i=1; i

if(sname.equalsIgnoreCase(xian1[i]))return true;

}

return false;

}

}

class chaxun {

String[] st = new String[3];

public chaxun(String name) {

try

{

FileInputStream fin=new FileInputStream(new File("D://JavaProject/公交查询/公汽线路信息.txt"));

DataInputStream di=new DataInputStream(fin);

while(true) {

if(name.equalsIgnoreCase(di.readLine()))break;

}

for(int i=0; i<3; i++) {

st[i]=di.readLine();

}

di.close();

}

catch(FileNotFoundException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

public String[] getS() {

return st;

}

}

class chaxun1 {

public String[] st = new String[3957];

public chaxun1() {

try

{

FileInputStream fin=new FileInputStream(new File("D://JavaProject/公交查询/站点信息.txt"));

DataInputStream di=new DataInputStream(fin);

for(int j=0;j<3957;j++) {

st[j]=di.readLine();

}

di.close();

}

catch(FileNotFoundException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

public String[][] getS() {

String st1[][]=new String[3957][];

for(int i=0;i

String regex=" ";

st1[i]=st[i].split(regex);

}

return st1;

}

}

1、公交线网优化

1、公交线网优化 公交优先项目提出了成都市中心城区公交线网优化方案、骨干线网优化方案,同时对天府新区公交线网进行优化和规划。 成都市常规公交目前已初步形成“环形+放射状”的“快、干、支、微”四级线网体系。 城市公交骨架线路是在公交网络体系中起支架作用的线路,它衔接区域内公交客流需求较大的枢纽点,主要满足直达客流的需要,以实现乘客快速、便捷的转移。公交骨架线路效率的高低直接影响整个网络运行效率。 成都市公交线网概念骨架图 按照城市任何两个公交服务区之间均应提供快速公交服务的理念,构筑抽象的理想快线网络。通过网络拟合,筛选可行网络,考虑对策略发展区快线支持,补充得到近期快线实施网络。以实施网络为基础,对现有线网进行改造,得到近期快线方案,如下图。

成都市近期公交快线网络规划图 线网优化实例图 随着2014年四川天府新区正式成立,天府新区成都直管区与中心城区形成双核发展;成都市第十三次党代会报告提出:“推动天府新区产城融合,突出国际化服务和创新型引领,突出天府国际空港新城的国际门户功能和龙泉山现代化

产业基地的集聚优势,把天府新区打造成为新兴增长极核。”因此,将天府新区成都直管区与中心城区的快捷连通作为公交快线布设的重要因素,同时兼顾天府新区内部各核心组团(天府新城、成都科学城、南部特色优势产业功能区)的连通性,规划布局多条公交干线。 天府新区新增/调整快线布局

天府新区公交干线布局 2、交通集成模型数据库 交通模型数据库项目的开展形成了多个预测模型和各项交通指标数据库,使得成都在机动化快速发展中的交通模式向智慧出行、绿色出行和可持续发展方向转变。 数据库建设一览表

公交车排班模型

公交车排班模型中的线性规划求解问题 摘要 本文研究的是在满足各时段(早高峰、日间平峰、晚高峰,晚平峰四个时段)时间,公交车以一定间隔连续发车的条件下,排班的最优问题。根据各小题的约束条件,用运筹学中的线性规划知识建立模型,再利用Lingo求解,分别算出所需公交车总数以及单班车、双班车各需求量,制定排班的优化方案。 对于题目条件,我们有三个设想,其一,根据现实生活经验可知,公交车发车间隔相对固定,方便市民安排计划候车出行;其二,从简化模型的角度考虑,每辆车的司机固定,即司机间不允许换车开车;其三,单班车一天不超过5个班次,即认定为所有单班车一天总班次相加不超过5班。 对于题目一,从各班次发车间隔相等这一假定条件出发,要使在早高峰时段运行的车辆数最少,只需发车间隔尽可能大,于是我们取早的最大发车间隔5 分钟来安排发车,由于该题无对单班车数量的其他要求,我们假定单班车在早高峰时段安排2辆,同时考虑到车辆要完成一个班次的运行后才可进行下一班次,建立相关模型,用Lingo编程求解得早高峰时段总共运行24个班次,所需的最少公交车数为16辆。 对于问题二,在已有模型的基础上,综合考虑全天的工作安排,发车间隔仍取每个阶段的最大发车间隔,同样的,考虑到单班车只在高峰期运行,在早高峰运行2到3个班次,在晚高峰运行2到3个班次,且每天运行不超过五个班次,,根据资源利用的最大化原则,我们知道单班车数不能超过3辆,这里我们仍假设单班车数为2辆,根据题目要求,我们要使每辆公交车的工作时间和上下午司机的工作时间尽可能均匀,且要使车辆的利用率得到最大,根据以上条件建立公交车排班模型,用Lingo编程求解得全天总共运行120个班次,所需的最少公交车数为16辆。具体公交车排班计划表见表2—1。 对于问题三,该题约束了单班车数量不少于3辆,由问题二的分析既得单班车数量为3辆,改变问题二模型中的相关参数,用Lingo编程求解得全天总共运

2007数模竞赛B题,城市公交线路选择优化模型你要的

2007B题:乘公交,看奥运(数据有变化)我国人民翘首企盼的第29届奥运会明年8月将在北京举行,届时有大量观 众到现场观看奥运比赛,其中大部分人将会乘坐公共交通工具(简称公交,包括公汽、地铁等)出行。这些年来,城市的公交系统有了很大发展,北京市的公交线路已达800条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。针对市场需求,某公司准备研制开发一个解决公交线路选择问题的自主查询计算机系统。 为了设计这样一个系统,其核心是线路选择的模型与算法,应该从实际情况出发考虑,满足查询者的各种不同需求。请你们解决如下问题: 1、仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。并根据附录数据,利用你们的模型与算法,求出以下6对起始站→终到站之间的最佳路线(要有清晰的评价说明)。 (1)、S3769→S2857 (2)、S1557→S0481 (3)、S1879→S2322 (4)、S0008→S0073 (5)、S0148→S0485 (6)、S0087→S3676 2、同时考虑公汽与地铁线路,解决以上问题。 3、假设又知道所有站点之间的步行时间,请你给出任意两站点之间线路选择问题的数学模型。 【附录1】基本参数设定 相邻公汽站平均行驶时间(包括停站时间):3分钟 相邻地铁站平均行驶时间(包括停站时间): 2.5分钟 公汽换乘公汽平均耗时:6分钟(其中步行时间2分钟) 地铁换乘地铁平均耗时:5分钟(其中步行时间2分钟) 地铁换乘公汽平均耗时:8分钟(其中步行时间4分钟) 公汽换乘地铁平均耗时:6分钟(其中步行时间4分钟) 公汽票价:分为单一票价与分段计价两种,标记于线路后;其中分段计价的票价为:0~20站:1元;21~40站:2元;40站以上:3元 地铁票价:3元(无论地铁线路间是否换乘) 注:以上参数均为简化问题而作的假设,未必与实际数据完全吻合。 【附录2】公交线路及相关信息(见公汽线路信息,对原数据文件B2007data.rar 有少量更改)

公交站优化设计意义

公交站优化设计意义 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

公交站优化设计意义 公交停靠站点相对于城市道路及用地来说,虽然仅仅只是一个点,但由于其在公交系统中必不可缺的重要性,使其广泛的分布在城市各处,公交停靠站的布局、设置和设计不仅关系到公共交通运输的质量和效率,而且影响道路交通的运行质量和城市环境,牵扯到方方面面的问题。论文通过较为全面的交通调查和深入的理论分析,在总结公交运行、停靠特征规律的基础上,研究探讨了路段和交叉口不同类型公交停靠站点与其他交通流之间的相互作用和影响机理,建立了路段及交叉口不同类型公交站点车辆停靠延误模型及公交停靠对其他交通流延误和道路通行能力的影响模型,在比较分析、综合优化的基础上,研究发展了一套比较系统的公交停靠站布局、设置和设计的优化技术和方法。论文首先对公交停靠的最基本特征指标-公交车辆到达分布、加减速时间分布、公交停靠时间分布特征进行了分析,并给出了分布拟合函数,找出了各种特征分布所遵循的规律。在公交停靠站点对路段交通流的影响研究方面,论文选取了最常见的三幅路和四幅路沿机非分隔带和沿人行道设置的五种类型的公交站点。通过制定详细的调查方案,分别对各种类型公交站点对路段交通流的影响因素进行了全面细致的调查,然后根据调查数据,分析了各种影响因素对交通流运行的影响程度和态势,选取主要影响因素,构建了不同类型公交站点车辆停靠对道路交通流影响的理论模型,进而根据调查数据对所建模型进行回归拟合,确定了各类影响模型的回归参数和拟合效果。在公交停靠站点对信号交叉口交通流的影响研究方面,根据公交车辆停靠对不同类

基于时间价值和经济价值的公交线路选择研究

基于时间价值和经济价值的公交线路选择研究 在对公交乘客出行心理特征进行分析的基础上,考虑了乘客选择公交线路决策的因素,建立了基于时间价值和经济价值的公交线路选择合理的模型。运用C 语言或方法,把数据库导入内存,基于Dijkstra算法的思想,利用邻接点算法对Dijkstra算法进行了优化,并得到了实现,有较强的实际应用价值。 标签: 时间价值;经济价值;内存Dijkstra算法 0 引言 在此我所设计的公交车查询系统就是为了方便人员在数据查询方面的操作,使得他们在日常生活中都会达到事半功倍的效果,减轻了人力的负担,方便了数据的存储,增加了安全性。 它在不考虑换乘地铁、步行以及其他因素的影响下,可以给乘客提供在起始站与终点站之间,能否直达或者换乘一站、换乘两站及三站的详细信息,最后能准确的显示最优化直达或者换乘路线。 1 系统设计关键技术 1.1 图 图是一种重要且复杂的数据结构。在线形表中,数据元素之间仅有着线性关系,每个数据元素只有一个直接前驱和一个直接后继;在树性结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素(即其孩子结点)相关,但只能和上一层中一个元素(即其双亲结点)相关;而在图形结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。 一个图由两部分组成,一部分是结点,图的术语中也称之为顶点(vertex);另一部分是顶点的偶对,称之为边(edge)。通常,图的任意一对顶点间都允许有一条边。 在本文中,我主要用图来表示地图上一组坐标以及坐标之间的距离,以求得最短路径从而对交通网中的公共交通信息进行查询。 1.2 数组 数组在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数

城市公交线网优化的非线性模型_姚本伦

《交通标准化》2006年第10期 COMMUNICATIONSSTANDARDIZATION.No.10,2006 报告认为该段路堑处于古滑坡前缘,最大开挖坡高为13m左右。根据勘探地质资料,路堑开挖后可能诱发古滑坡复活,故在滑体中部设14根抗滑桩。由于对该路段土性的误判,即将残坡积层下伏厚层河流阶地沉积物判为上部滑坡堆积物,滑动面为基岩面,人为增加了滑体厚度及滑坡规模。当施工第一根抗滑桩挖到设计标高处时,设计人员到现场验槽,发现下部挖桩废渣为卵石土,主要成分为砂岩、花岗岩、 石英岩等,成分杂乱,砂质充填,不是残坡积成因堆积物;但二级坡开挖面仍为残坡积物,为谨慎起见,施工方暂停抗滑桩施工,局部开挖一级坡断面,开挖后发现下部卵石层为河流堆积物,卵石排列韵律明显,且无变形迹象。根据揭露地层情况,滑坡残坡积堆积物厚度薄,上部山体基岩出露,后缘残留物较少,重新分析路堑开挖后稳定性,认为不可能复活,因而取消原抗滑桩措施及有关附属工程措施,只 进行一般边坡防护,为工程建设挽回直接经济损失200多万元。 4结语 4.1公路工程设计是一系统性 工程,边坡工程是公路工程中重要的组成部分,同时受建设区域自然地质环境、路线设计、施工等多因素的影响,不确定因素较多,需认真分析研究。 4.2山区公路工程病害的发生, 主要受坡体地质条件(时代成因、物力力学性质等)控制,而人工切坡、降水等外在条件为诱发因 城市公交线网优化的 非线性模型 姚本伦1,张卫华2 (1.合肥城市规划设计研究院,安徽合肥230001;2.合肥工业大学交通研究所,安徽合肥230009) 摘要:通过对城市公交线网优化的整体研究,给出其优化的主要内容、优化原则以及线网优化的主要因素,提出公交线 网优化的约束条件和三大优化目标,并给出相应的数学表达式使约束条件和优化目标定量化,同时建立公交线网整体优化的模式,并对其进行讨论和评价,有助于提高城市公交线网的优化效率,同时可使约束条件和优化目标定量化。 关键词:公共交通;线网优化;整体模式;中图分类号:U22 文献标识码:A 文章编号:1002-4786(2006)10-0094-04 ANon-lineOptimumModelofUrbanPublicTrafficNetwork YAOBen-lun1,ZHANGWei-hua2 (1.HefeiUrbanPlanning&DesignInstitute,Hefei23001,China;2.TrafficInstitute,HefeiUniversityofTechnology, Hefei230009,China) Abstract:Basedonthestudyofurbantrafficlinenetworkoptimizationandthediscussiononthe content,principleandmainfactorsforoptimizationwithrelativemathematicalexpressionsfordistinctopti-mumobjectsfunctionformandrestrictconditions,avariedobjectivesandprogrammingmodelofpublictrafficlinenetworkoptimizationcanbebuilt.Itishelpfulforimprovingtheoptimizingefficiencyofurbantrafficlinenetwork. Keywords:publictraffic;linenetworkoptimization;integermodel""""""""""""""""""""""""""""""""""""""""""""" 94

公交最优路径选择的数学模型及算法_雷一鸣

第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为线路 ) (I L上的站点,其中,,..., U12p =;(,) F J V为线路) (J S上的站点,其中,,..., V12q =;() X K为经过站点) ,(U I E的线路,其中,,..., K12w =;() Y O 为经过站点) , (V J F的线路,其中,,..., O12v =;(,) d E F M ≤表示从站点E步行到站点F之间的距离不超过乘客换车时步行的最大心理承受值M,其中M表示乘客在换车时步行的最大心理承受值.通常,M与公交站点间的平均距离呈线性正相关. Ai Z表示站点A的下行第i个站点; Bj Z表示站点B的上行第j个站点;另外,公交的可行线 路的集合可表示为:{| i i TR TR TR == 0112,1 ,,,,,, i i i i d a p a p a ? < ,} id d p a>,其中,{} 01,1 ,,,, i i d d a a a a ? 为站点集合,{} 12,1 ,,,, i i i d d p p p p ? 为公交车次的集合, i TR 收稿日期:2008-03-10 作者简介:雷一鸣(1972-),男,湖南临武人,助教,硕士,主要从事数学模型及经济信息管理研究.

公交车调度的方案优化设计

公交公交车调度方案优化设计 摘要 本文利用某一特大城市某条公交路线上的客流调查运营资料,以乘客的平均抱怨度、公司运营所需的总车辆数、公司每天所发的总车次数以及平均每车次的载客率为目标函数,建立了的分时段等间隔发车的综合优化调度模型。在模型求解过程中,采用了时间步长法、等效法以及二者的结合的等效时间步长法三种求解方法,尤其是第三种求解方法既提高了速度又改善了精度。结合模型的求解结果,我们最终推荐的模型是分时段等间隔发车的优化调度方案。 在建立模型时,我们首先进行了一些必要假设和分析,尤其是针对乘客的抱怨程度这一模糊性的指标,进行了合理的定义。既考虑了乘客抱怨度和等待时间长短的关系,也照顾了不同时间段内抱怨度对等待时间的敏感性不同,即乘客在不同时段等待相同时间抱怨度可能不一样。 主要思想是通过逐步改变发车时间间隔用计算机模拟各个时间段期间的系统运行状态,确定最优的发车时间间隔,但计算量过大,对初值依赖性强。等效法是基于先来先上总候车时间和后来先上的总候车时间相等的原理,通过把问题等价为后来先上的情况,巧妙地利用“滞留人数”的概念,把原来数据大大简化了。很快而且很方便地就可求出给定发车间隔时的平均等待时间,和在给定平均等待时间的情况下的发车间隔,但该方法只能对不同时段分别处理。结合前两种方法的优点提出等效时间步长法,即从全天时段内考虑整体目标,使用等效法为时间步长法提供初值,通过逐步求精,把整个一天联合在一起进行优化。通过对模型计算结果的分析,我们发现由于高峰期乘车人数在所有站点都突然大量增加,而车辆调度有滞后效应,从而建议调度方案根据实际情况前移一段适当的时间。在模型的进一步讨论和推广中,我们还对采集运营数据方法的优化、公共汽车线路的通行能力以及上下行方向发车的均衡性等进行了讨论。 在求具体发车时刻表时,利用等效时间步长法,较快地根据题中所给出的数据设计了一个较好的照顾到了乘客和公交公司双方利益的公交车调度方案,给出了两个起点站的发车时刻表(见表二),得出了总共需要49辆车,共发440辆次,早高峰期间等待时间超过5分钟的人数占早高峰期间总人数的0.93%,非早高峰期间等待时间超过10分钟的人数占非早高峰期间总人数的3.12%。引入随机干扰因子,使各单位时间内等车人数发生随机改变。在不同随机干扰水平下,对推荐的调度方案进行仿真计算,发现平均抱怨度对10%的随机干扰水平相对改变只有0.53%,因此该方案对随机变化有很好的适应性,能满足实际调度的需要。 1.问题的提出

公交车调度的优化模型

公交车调度的优化模型 摘要 公共交通是城市交通的重要组成部分,做好公交车的调度对于完善城市交通环境、改进市民出行状况、提高公交公司的经济和社会效益,都具有重要意义。本文就是通过对我国一座特大城市某条公交线路的一个工作日两个运行方向各站上下车的乘客数量统计进行分析,建立公交车调度方案的优化模型,使公交公司在满足一定的社会效益和获得最大经济效益前提下,给出了理想公交车调度方案。 对于问题一,模型I 中建立了最大客容量,发车车次数的数学模型,运用决策方法给出了各时间段最大客容量数,在满足客车载满率及载完各时段所有乘客情形下,得出每天最少车次数为460次,最少车辆数为54辆,并给出了整分发车时刻表(见表6、表7)。 对于问题二,模型II 进行了满意度分析。满意度包含公交公司的满意度A i 和乘客的满意度i B ,通过分析得到公交公司的满意度公式(7)和乘客的满意度公式(12),然后求出当公交车最大载客量为120时,公交公司和乘客的满意度为:上行方向:11A =0.9686,B 0.7165=,下行方向:2A2=0.9563,B 0.7138=。再算出当公交车最大载客量分别为100、50时对应的公交公司和乘客的满意度,最后通过二次拟合得出乘客和公交公司满意度对应的关系式为: 上行方向:21111.8709 2.10170.4361B A A =-++ 10.41020.9686A ≤≤ 下行方向:22222.2995 2.63450.2974B A A =-++ 20.41060.9563A ≤≤ 使双方满意度之和达到最大,同时双方满意度之差最小,得到上下行的最优满意度分别为()110.8599,0.8599A B ==,()220.8610,0.8610A B ==,此时公交车调度

公交线路选择的优化模型

龙源期刊网 https://www.wendangku.net/doc/2c7596292.html, 公交线路选择的优化模型 作者:张俊丽 来源:《价值工程》2015年第28期 摘要:本文针对城市公交线路选择问题建立了相应的数学模型。将公共自行车看作独立于公汽、地铁的第三种交通方式。利用网络图,主要从换乘次数、出行花费和出行总时间三个方面来确定最佳线路,分别考虑了各单目标,增加不同的上限约束,建立了任意两站点的最佳线路相应的网络流模型。 Abstract: In this paper, the corresponding mathematical model is established for the problem of urban public transportation route selection. The public bicycle as independent of the bus, the subway third modes of transport. Using the network diagram, three main factors are considered to find the best route, the number of trips, travel expenses and travel time.The network flow model of the best optimal line between any two sites, which considers the single objective and the different upper bound constraints. 关键词:公交系统;最佳线路;最小费用流;优先因子 Key words: bus system;best line;minimum cost flow;priority factor 中图分类号:U491.1+7 文献标识码:A 文章编号:1006-4311(2015)28-0206-02 0 引言 城市公共交通网络是城市交通网络的重要组成部分,提高城市交通系统的利用率被公认为是改善交通拥堵的有效途径之一。而如何优化城市现有公交网络以提高城市公交系统的利用率,是当今倍受关注的一个重要课题。公交汽车和城市轨道交通在城市公共交通体系中发挥着大动脉的作用,但是由于线路和站点布局的限制,是无法覆盖城市每一个角落的。即在公共交通体系的末端,缺少一套针对每个乘客特定的短途出行需求的公共交通微循环系统。为了解决这一问题,一种能够实现城市公共交通微循环的公共自行车租赁系统被引入我国。西安市区也常规地在轨道交通站点、公交站点、社区门口设置租赁点,通过“公共自行车管理系统”来管理这些租赁点的自行车。对租赁站点的发展规模预测、追加投资额的分配问题进行探讨,对政府建设城市公共自行车租赁系统具有一定的指导意义。但是在如何将公共交通中地铁、公共汽车、公共自行车租赁有效结合一直是个空白。 本文给出了城市中任意两站点最佳线路方案。本文认为所谓最佳线路,应该从乘车费用、公共自行车骑行时间、换乘次数、出行时间四个方面来理解。对于任意两站点的最佳线路,建立了网络流模型。 1 模型准备:构造容量费用网络图N=(V,E,C,B)

数学建模-全国一等奖 公交线路

11701 B 本科 2001年全国大学生数学建模竞赛答卷 (全国一等奖) 学员:叶云周迎春齐欢指导老师:朱家明 公交车调度方案的优化模型 摘要 本文建立了公交车调度方案的优化模型,使公交公司在满足一定的社会效益和获得最大经济效益的前提下,给出了理想发车时刻表和最少车辆数。 并提供了关于采集运营数据的较好建议。 在模型Ⅰ中,对问题1建立了求最大客容量、车次数、发车时间间隔等模型,运用决策方法给出了各时段最大客容量数,再与车辆最大载客量比较, 得出载完该时组乘客的最少车次数462次,从便于操作和发车密度考虑,给 出了整分发车时刻表和需要的最少车辆数61辆。模型Ⅱ建立模糊分析模型, 结合层次分析求得模型Ⅰ带给公司和乘客双方日满意度为(0.941,0.811) 根据双方满意度范围和程度,找出同时达到双方最优日满意度 (0.8807,0.8807),且此时结果为474次50辆;从日共需车辆最少考虑,结果 为484次45辆。对问题2,交待了综合效益目标模型及线性规划法求解。对 问题3,采集方法是遵照前门进中门出的规律,运用两个自动记录机对上下 车乘客数记录和自动报站机(加报时间信息)作录音结合,给出准确的各项数 据,返站后结合日期储存到公司总调度室。 关键词:公交调度模糊优化法层次分析满意度

一、问题的提出 公交公司制定公交车调度方案,要考虑公交车、车站和乘客三方面因素。我国某特大城市某条公交线路情况,一个工作日两个运营方向各个站上下车的乘客数量统计见表1。已知运营情况及调度要求如下: 1、公交线路上行方向共14站,下行方向共13站; 2、公交公司配给该线路同一型号的大客车,每辆标准载客100人,据统计客车在该线路上运营的平均速度为20公里/小时。车辆满载率不应超过120%,一般也不低于50%; 3、乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟。 现提出以下三个问题: 1、试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;等等。 2、如何将这个调度问题抽象成一个明确完整的数学模型,并指出求解方法。 3、据实际问题的要求,如果要设计好更好的调度方案,应如何采集运营数据。 二、符号约定 a:上或下行第j时段第k站上车人数 ijk b:上或下行第j时段第k站下车人数 ijk l上或下行第j时段最大客容量 ij k上或下行时第j时段平均载客量 ij C日所需总车次 c上或下行第j时段的车次 ij s上或下行第j时段平均发车时差 ij p上或下行第j时段平均载客量 ij t上或下行的平均发车时间间隔 ij

浅析港湾式公交停靠站..

城市道路与交通工程公交停靠站课程设计 专业土木工程 班级1009053班 学号101006231 姓名王岩

公交停靠站课程设计 【摘要】现在的市政道路中,车流量大,尤其是上下班时间经常会出现堵车情况,在这种状况下,研究和发展一种既能有效缓解城市交通拥挤又经济合理,且能与环境保护、节约能源相协调的可持续的城市交通运输方式成为人们关注的重点。而公交车作为公共交通,有效的缓解了市政交通压力。公交站点虽然只占城市道路中很短的一段,却是公交和道路包括交叉口通行能力的重要的影响因素。 【关键字】公交停靠站现状公交停靠站设置不足公交站点选型设计公交站点站间距布局设计 城市交通拥挤和由此带来的环境与能源问题已严重制约城市经济的发展,影响到我国城市居民的生活。在这种状况下,研究和发展一种既能有效缓解城市交通拥挤又经济合理,且能与环境保护、节约能源相协调的可持续的城市交通运输方式成为人们关注的重点。 公交站点虽然只占城市道路中很短的一段,却是公交和道路包括交叉口通行能力的重要的影响因素。目前我国城市公交站点的建设并没有得到充分重视,站点建设还存在许多问题,如公交站点间距过长或过短,交叉口附近公交停靠站位置选择不合理,路段公交停靠站类型选择不合理等,导致公交车辆和其它非公交车辆相互干扰严重,道路通行能力下降,使得公交停靠站停靠延误增大。造成这些现象的原因除了经济、管理等方面的因素之外,站点优化设计不足是十分重要却未引起足够重视的方面。 由于公交站点的建设与设计涉及到道路以外的用地、道路条件、站点与站点之间以及其它交通方式站点之间的关系、站点内的布局形式等多方面的因素,仅仅有宏观规划层面的站点数、站场选址、用地规模技术标准等是不够的,还需要在微观层次上提高公交站点的设计水平,为交通管理的高效实施创造条件。 公交站点作为公共交通系统的子系统,承担着客流集散的功能,对于公共交通服务的方便度与舒适度都有着巨大的影响。公交站点选址、站点形式的选择、站点的容量设计和站点设施的完善等不仅影响到公共交通本身的运营效

公交车调度方案的优化模型

第三篇公交车调度方案的优化模型 2001年 B题公交车调度Array公共交通是城市交通的重要组成部分,作好公交车的调度对 于完善城市交通环境、改进市民出行状况、提高公交公司的经济 和社会效益,都具有重要意义。下面考虑一条公交线路上公交车 的调度问题,其数据来自我国一座特大城市某条公交线路的客流 调查和运营资料。 该条公交线路上行方向共14站,下行方向共13站,表3-1 给出的是典型的一个工作日两个运行方向各站上下车的乘客数量统计。公交公司配给该线路同一型号的大客车,每辆标准载客100人,据统计客车在该线路上运行的平均速度为20公里/小时。运营调度要求,乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟,车辆满载率不应超过120%,一般也不要低于50%。 试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;等等。 如何将这个调度问题抽象成一个明确、完整的数学模型,指出求解模型的方法;根据实际问题 的要求,如果要设计更好的调度方案,应如何采集运营数据。

公交车调度方案的优化模型* 摘要:本文建立了公交车调度方案的优化模型,使公交公司在满足一定的社会效益和获得最大经济效益的前提下,给出了理想发车时刻表和最少车辆数。并提供了关于采集运营数据的较好建议。 在模型Ⅰ中,对问题1建立了求最大客容量、车次数、发车时间间隔等模型,运用决策方法给出了各时段最大客容量数,再与车辆最大载客量比较,得出载完该时组乘客的最少车次数462次,从便于操作和发车密度考虑,给出了整分发车时刻表和需要的最少车辆数61辆。模型Ⅱ建立模糊分析模型,结合层次分析求得模型Ⅰ带给公司和乘客双方日满意度为(0.941,0.811)根据双方满意度范围和程度,找出同时达到双方最优日满意度(0.8807,0.8807),且此时结果为474次50辆;从日共需车辆最少考虑,结果为484次45辆。对问题2,建立了综合效益目标模型及线性规划法求解。对问题3,数据采集方法是遵照前门进中门出的规律,运用两个自动记录机对上下车乘客数记录和自动报站机(加报时间信息)作录音结合,给出准确的各项数据,返站后结合日期储存到公司总调度室。 关键词:公交调度;模糊优化法;层次分析;满意度 3.1 问题的重述 3.1.1 问题的基本背景 公交公司制定公交车调度方案,要考虑公交车、车站和乘客三方面因素。我国某特大城市某条公交线路情况,一个工作日两个运营方向各个站上下车的乘客数量统计见表3-1。 3.1.2 运营及调度要求 ⑴公交线路上行方向共14站,下行方向共13站; ⑵公交公司配给该线路同一型号的大客车,每辆标准载客100人,据统计客车在该线路上运营的平均速度为20公里/小时。车辆满载率不应超过120%,一般也不低于50%; ⑶乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟。 3.1.3 要求的具体问题 ⑴试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益,等等; ⑵如何将这个调度问题抽象成一个明确完整的数学模型,并指出求解方法; ⑶据实际问题的要求,如果要设计好更好的调度方案,应如何采集运营数据。 3.2 问题的分析 本问题的难点是同时考虑到完善城市交通环境、改进市民出行状况、提高公交公司的经济和社会效益等诸多因素。如果仅考虑提高公交公司的经济效益,则只要提高公交车的满载率,运用数据分析法可方便地给出它的最佳调度方案;如果仅考虑方便乘客出行,只要增加车辆数的次数,运用统计方法同样可以方便地给出它的最佳调度方案,显然这两种方案是对立的。于是我们将此题分成两个方面,分别考虑到:⑴公交公司的经济效益,记为公司的满意度;⑵乘客的等待时间和乘车的舒适度,记为乘客的满意度。

公交车调度方案的优化设计

公交车调度 公共交通是城市交通的重要组成部分,作好公交车的调度对于完善城市交通环境、改进市民出行状况、提高公交公司的经济和社会效益,都具有重要意义。下面考虑一条公交线路上公交车的调度问题,其数据来自我国一座特大城市某条公交线路的客流调查和运营资料。 该条公交线路上行方向共14站,下行方向共13站,第3-4页给出的是典型的一个工作日两个运行方向各站上下车的乘客数量统计。公交公司配给该线路同一型号的大客车,每辆标准载客100 人,据统计客车在该线路上运行的平均速度为20公里/小时。运营调度要求,乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟,车辆满载率不应超过120%,一般也不要低于50%。 试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;等等。 如何将这个调度问题抽象成一个明确、完整的数学模型,指出求解模型的方法;根据实际问题的要求,如果要设计更好的调度方案,应如何采集运营数据。

公交车调度方案的优化设计 摘要 本文利用某一特大城市某条公交路线上的客流调查运营资料,以乘客的平均抱怨度、公司运营所需的总车辆数、公司每天所发的总车次数以及平均每车次的载客率为目标函数,建立了的分时段等间隔发车的综合优化调度模型。在模型求解过程中,采用了时间步长法、等效法以及二者的结合的等效时间步长法三种求解方法,尤其是第三种求解方法既提高了速度又改善了精度。结合模型的求解结果,我们最终推荐的模型是分时段等间隔发车的优化调度方案。 在建立模型时,我们首先进行了一些必要假设和分析,尤其是针对乘客的抱怨程度这一模糊性的指标,进行了合理的定义。既考虑了乘客抱怨度和等待时间长短的关系,也照顾了不同时间段内抱怨度对等待时间的敏感性不同,即乘客在不同时段等待相同时间抱怨度可能不一样。 主要思想是通过逐步改变发车时间间隔用计算机模拟各个时间段期间的系统运行状态,确定最优的发车时间间隔,但计算量过大,对初值依赖性强。等效法是基于先来先上总候车时间和后来先上的总候车时间相等的原理,通过把问题等价为后来先上的情况,巧妙地利用“滞留人数”的概念,把原来数据大大简化了。很快而且很方便地就可求出给定发车间隔时的平均等待时间,和在给定平均等待时间的情况下的发车间隔,但该方法只能对不同时段分别处理。结合前两种方法的优点提出等效时间步长法,即从全天时段内考虑整体目标,使用等效法为时间步长法提供初值,通过逐步求精,把整个一天联合在一起进行优化。通过对模型计算结果的分析,我们发现由于高峰期乘车人数在所有站点都突然大量增加,而车辆调度有滞后效应,从而建议调度方案根据实际情况前移一段适当的时间。在模型的进一步讨论和推广中,我们还对采集运营数据方法的优化、公共汽车线路的通行能力以及上下行方向发车的均衡性等进行了讨论。 在求具体发车时刻表时,利用等效时间步长法,较快地根据题中所给出的数据设计了一个较好的照顾到了乘客和公交公司双方利益的公交车调度方案,给出了两个起点站的发车时刻表(见表二),得出了总共需要49辆车,共发440辆次,早高峰期间等待时间超过5分钟的人数占早高峰期间总人数的0.93%,非早高峰期间等待时间超过10分钟的人数占非早高峰期间总人数的3.12%。引入随机干扰因子,使各单位时间内等车人数发生随机改变。在不同随机干扰水平下,对推荐的调度方案进行仿真计算,发现平均抱怨度对10%的随机干扰水平相对改变只有0.53%,因此该方案对随机变化有很好的适应性,能满足实际调度的需要。

城市公交线路选择优化模型

城市公交线路选择优化模型 摘要 本文针对城市公交线路选择问题建立了两个模型,一个是基于集合寻线算法模型,另一个是图论模型。 基于集合寻线算法模型中,首先固定换乘次数n,通过集合论的相关知识把确定换乘点的具体位置, 转化成确定一些集合间的交集,从而建立集合寻线算法,再根据集合相关公式,得到所有可行线路;进一步考虑时间和费用等因素,对可行线路进行处理比较,得出最佳线路。 图论模型中,通过图论的知识将整个北京市交通线路构建出一个有向图,每个站点与有向图的顶点一一对应,同一线路上的相邻站点对应为有向边,通过不同目标(时间、费用)给有向图进行不同的赋权,分别将不同目标转化为赋权有向图寻找最短有向路,根据最短路径算法,得到最佳线路。最后综合评价了两个模型的优缺点。 关键词:集合寻线算法;最短路算法;换乘点;赋权有向图

1 问题提出 北京将于2008年举行奥运会,届时会有从四面八方而来观看奥运比赛观众,其中大部分人将会乘坐公共交通工具(简称公交,包括公汽、地铁等)出行。随着现代化的步伐加快,城市的公交系统有了很大发展,北京市的公交线路已达800条以上,使得公众的出行更加通畅、便利,但同时也面临多条线路的选择问题。在现实生活中,公交线路以及其相应经过的站点非常多且密,乘客往往难以知道如何选择公交线路,所以针对市场需求以及公交线路选择上的问题,某公司准备研制开发一个解决公交线路选择问题的自主查询计算机系统。 该系统的核心在于线路选择的模型与算法,应该从实际情况出发,满足查询者的各种不同需求。根据附录1、附录2,解决如下问题: 1.仅考虑公汽线路,给出任意两公汽站点之间线路选择问题的一般数学模型与算法。并根据附录数据,利用建立的模型与算法,求出以下6对起始站→终到站之间的最佳线路。 (1) S3359→S1828(2) S1557→S0481(3)S0971→S0485 (4) S0008→S0073 (5)S0148→S0485 (6)S0087→S 3676 2.同时考虑公汽与地铁线路,解决以上问题。 3.假设知道所有站点之间步行时间,给出任意两站点之间线路选择的数学模型。 2 问题分析 为了研制开发一个解决公交线路最佳选择(即乘客在多条公交线路中根据自己的需求获得最适合自己的线路)问题的自主查询计算机系统,只要乘客给出起点站A和终点站B两个站点,系统就给出最佳交通线路,使得公众出行更加通畅、便利。而问题核心是如何在多条线路选择中获得最佳线路。 乘客往往不能只乘一辆公交便直达终点,而是要通过换乘一辆或多辆公交才能到达终点站,但若多次换乘公交,可能导致乘客所花时间及其费用的增加,更会给乘客造成不便。在奥运将在北京举行的背景下,我们知道乘客前往观看奥运比赛时,主要注重的是能否及时到达,所以在为乘客选择线路时,力求乘坐花费的时间尽可能少以及路程尽可能短的线路,同时考虑换乘车辆以及乘车费用尽量少的最佳线路,而现实是很难同时满足上面三个目标的。为了使问题简单化,我们分别以乘车时间、乘车费用以及换乘次数为目标函数,得到各自的较优线路,再通过对比,有效地处理这些线路,最终得出查询系统给出的结果。 3 模型准备 3.1 模型假设 1.假设同一地铁站对应的任意两个公汽站之间可以通过地铁站换乘(无需支付地铁费); 2.假设所有交通线路都不出现停运或者线路变动; 3.假设公汽的环行行驶线路是单向的。 3.2符号约定 c:相邻公汽站平均行驶时间(包括停站时间),min c; = 3 d; = d:相邻地铁站平均行驶时间(包括停站时间),min 5.2 e:公汽换乘公汽平均耗时,min e(其中步行时间2min); 5 = f(其中步行时间2min); = 4 f:地铁换乘地铁平均耗时,min

公交线路选择优化问题

公交线路选择优化问题 摘要本文针对公交线路选择问题进行了讨论。最佳路线的选择受时间和票价两个因素的影响,将题目已知的公交线路信息转化成线路矩阵处理。 首先,从时间角度分析,所要寻找的路线经过的站点数和转车次数应该尽可能的少,考虑到所选择线路到达终点站所用的时间包括公交经过线路上各站点的时间、转车时间和步行时间,建立以所需时间最少为目标函数的线性优化模型一,从实际出发限制转车次数最多为2次,根据搜索算法利用MATLAB编程,求得问题一中S3359→S1828(其余见正文)之间的最佳路线为:L436下行-S1784-L167下行和L436下行-S1784-L217下行,所用时间为101分钟,总车费为3元;问题二中S3359→S1828之间的最佳路线为:L015 上行-S3068-D08-T1上行-D18-T2-D38-S3262-L041上行,所用时间为73分钟,总车费为5元。 其次,从票价角度分析,寻找的路线应尽可能是单一票价车路线或经过站点数尽可能少的分段计价车路线,考虑到所选择线路需要的总车费包括公汽费用和地铁费用,建立以所需车费最少为目标函数的线性优化模型二,根据搜索算法利用MATLAB编程,求得问题一中S3359→S1828之间存在L436下行-S1784-L167下行等10条最佳路线(其余见正文),所用时间为101分钟,总车费为3元;问题二中S3359→S1828之间的最佳路线为:L015上行-S3068-D08-T1上行-D18-T2-D38-S3262-L041上行,所用时间为73分钟,总车费为5元。 再次,根据乘客的不同需求可以赋予时间和票价两个因素不同的权值,建立以所需时间与所用票价在各自权值下的和最小为目标函数的线性优化模型三,当取权值皆为0.5时得问题一中S3359→S1828之间的最佳路线为:L436下行-S1784-L167下行和L436下行-S1784-L217下行,所用时间为101分钟,总车费为3元;问题二中S3359→S1828之间的最佳路线为:L015上行-S3068-D08-T1上行-D18-T2-D38-S3262-L041上行,所用时间为73分钟,总车费为5元。 最后,对模型进行了评价,并将该模型推广到路径选择问题中。 关键词公交线路选择;线性优化模型;搜索算法

相关文档