spss期末论文公交车调度问题的数学建模.docx
《spss期末论文公交车调度问题的数学建模.docx》由会员分享,可在线阅读,更多相关《spss期末论文公交车调度问题的数学建模.docx(27页珍藏版)》请在冰豆网上搜索。
spss期末论文公交车调度问题的数学建模
数学模型期末论文
题目:
公交车调度问题的数学建模
摘要
本篇论文将对公交车的调度方式(发车间隔时间,发车数量)进行建模,分别从公交公司和乘客的满意度方面进行考虑。
我们选择了从简到繁的方法,整个建模过程分为三个阶段:
第一阶段做好最基本的假设(包括行驶速度等),统计在上下行的过程中车上人数的变化,先提出能让大多数人都能够满足的想法,随后在第二、第三阶段中逐渐增加条件(即考虑到公交公司的盈利状况、车辆的负载情况以及实时路况),并通过线性规划(整数规划)、计算机模拟的方式来寻求正确的解决办法,从而制定使双方都满意的公交调度方案。
从顾客角度考虑,顾客做希望的是公交等待时间较少、公交上超载程度越小越好;从公交公司的角度考虑,公交公司希望在能满足交通需求的条件下,公交公司所安排的公交数量越少越好,从而满足公交公司利润最大。
仅考虑提高公交公司的利益,只要提高公交车的满载率即可,运用数据分析法很容易得到其分配方案;仅考虑方便顾客出行,增加公交车数量即可,运用统计法,我们可以很容易的得到其调度方案。
在对这两方面进行分析以后,我们考虑公交公司和顾客的满意度,在保障运行通畅的情况下,我们选用最合理的调度方案。
关键字公交车调度满意度数学模型计算机模拟
正文
一、课题背景
公共交通是城市交通的重要组成部分,作好公交车的调度对于完善城市交通环境、改进市民出行状况、提高公交公司的经济和社会效益,都具有重要意义。
在我们的日常生活中,公交车更是众多公共交通中不可或缺的一部分。
而实际生活中,我们也经常面临因公交的调度问题导致的“需要乘车时一辆没有,刚打到出租车公交就来了”的现象。
因此本文针对公交车的调度问题进行探究。
下面考虑一条公交线路上公交车的调度问题,其数据来自我国一座特大城市某条公交线路的客流调查和运营资料。
该条公交线路上行方向共14站,下行方向共13站,下面的表格给出的是典型的一个工作日两个运行方向各站上下车的乘客数量统计。
公交公司配给该线路同一型号的大客车,每辆标准载客100人,据统计客车在该线路上运行的平均
速度为20公里/小时。
运营调度要求,乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟,车辆满载率不应超过120%,一般也不要低于50%。
我们尝试来根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;将这个调度问题抽象成一个明确、完整的数学模型,指出求解模型的方法;根据实际问题的要求,考虑如果想要设计更好的调度方案,更合适的采集运营数据的方法。
某路公交汽车各时组每站上下车人数统计表上行方向:
A13开往A0
站名
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
站间距(公里)
1.6
0.5
1
0.73
2.04
1.26
2.29
1
1.2
0.4
1
1.03
0.53
5:
00-6:
00
上
371
60
52
43
76
90
48
83
85
26
45
45
11
0
下
0
8
9
13
20
48
45
81
32
18
24
25
85
57
6:
00-7:
00
上
1990
376
333
256
589
594
315
622
510
176
308
307
68
0
下
0
99
105
164
239
588
542
800
407
208
300
288
921
615
7:
00-8:
00
上
3626
634
528
447
948
868
523
958
904
259
465
454
99
0
下
0
205
227
272
461
1058
1097
1793
801
469
560
636
1871
1459
8:
00-9:
00
上
2064
322
305
235
477
549
271
486
439
157
275
234
60
0
下
0
106
123
169
300
634
621
971
440
245
339
408
1132
759
9:
00-10:
00
上
1186
205
166
147
281
304
172
324
267
78
143
162
36
0
下
0
81
75
120
181
407
411
551
250
136
187
233
774
483
10:
00-11:
00
上
923
151
120
108
215
214
119
212
201
75
123
112
26
0
下
0
52
55
81
136
299
280
442
178
105
153
167
532
385
11:
00-12:
00
上
957
181
157
133
254
264
135
253
260
74
138
117
30
0
下
0
54
58
84
131
321
291
420
196
119
159
153
534
340
12:
00-13:
00
上
873
141
140
108
215
204
129
232
221
65
103
112
26
0
下
0
46
49
71
111
263
256
389
164
111
134
148
488
333
13:
00-14:
00
上
779
141
103
84
186
185
103
211
173
66
108
97
23
0
下
0
39
41
70
103
221
197
297
137
85
113
116
384
263
14:
00-15:
00
上
625
104
108
82
162
180
90
185
170
49
75
85
20
0
下
0
36
39
47
78
189
176
339
139
80
97
120
383
239
15:
00-16:
00
上
635
124
98
82
152
180
80
185
150
49
85
85
20
0
下
0
36
39
57
88
209
196
339
129
80
107
110
353
229
16:
00-17:
00
上
1493
299
240
199
396
404
210
428
390
120
208
197
49
0
下
0
80
85
135
194
450
441
731
335
157
255
251
800
557
17:
00-18:
00
上
2011
379
311
230
497
479
296
586
508
140
250
259
61
0
下
0
110
118
171
257
694
573
957
390
253
293
378
1228
793
18:
00-19:
00
上
691
124
107
89
167
165
108
201
194
53
93
82
22
0
下
0
45
48
80
108
237
231
390
150
89
131
125
428
336
19:
00-20:
00
上
350
64
55
46
91
85
50
88
89
27
48
47
11
0
下
0
22
23
34
63
116
108
196
83
48
64
66
204
139
20:
00-21:
00
上
304
50
43
36
72
75
40
77
60
22
38
37
9
0
下
0
16
17
24
38
80
84
143
59
34
46
47
160
117
21:
00-22:
00
上
209
37
32
26
53
55
29
47
52
16
28
27
6
0
下
0
14
14
21
33
78
63
125
62
30
40
41
128
92
22:
00-23:
00
上
19
3
3
2
5
5
3
5
5
1
3
2
1
0
下
0
3
3
5
8
18
17
27
12
7
9
9
32
21
某路公交汽车各时组每站上下车人数统计表下行方向:
A0开往A13
站名
A0
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
站间距(公里)
1.56
1
0.44
1.2
0.97
2.29
1.3
2
0.73
1
0.5
1.62
5:
00-6:
00
上
22
3
4
2
4
4
3
3
3
1
1
0
0
下
0
2
1
1
6
7
7
5
3
4
2
3
9
6:
00-7:
00
上
795
143
167
84
151
188
109
137
130
45
53
16
0
下
0
70
40
40
184
205
195
147
93
109
75
108
271
7:
00-8:
00
上
2328
380
427
224
420
455
272
343
331
126
138
45
0
下
0
294
156
157
710
780
849
545
374
444
265
373
958
8:
00-9:
00
上
2706
374
492
224
404
532
333
345
354
120
153
46
0
下
0
266
158
149
756
827
856
529
367
428
237
376
1167
9:
00-10:
00
上
1556
204
274
125
235
308
162
203
198
76
99
27
0
下
0
157
100
80
410
511
498
336
199
276
136
219
556
10:
00-11:
00
上
902
147
183
82
155
206
120
150
143
50
59
18
0
下
0
103
59
59
246
346
320
191
147
185
96
154
438
11:
00-12:
00
上
847
130
132
67
127
150
108
104
107
41
48
15
0
下
0
94
48
48
199
238
256
175
122
143
68
128
346
12:
00-13:
00
上
706
90
118
66
105
144
92
95
88
34
40
12
0
下
0
70
40
40
174
215
205
127
103
119
65
98
261
13:
00-14:
00
上
770
97
126
59
102
133
97
102
104
36
43
13
0
下
0
75
43
43
166
210
209
136
90
127
60
115
309
14:
00-15:
00
上
839
133
156
69
130
165
101
118
120
42
49
15
0
下
0
84
48
48
219
238
246
155
112
153
78
118
346
15:
00-16:
00
上
1110
170
189
79
169
194
141
152
166
54
64
19
0
下
0
110
73
63
253
307
341
215
136
167
102
144
425
16:
00-17:
00
上
1837
260
330
146
305
404
229
277
253
95
122
34
0
下
0
175
96
106
459
617
549
401
266
304
162
269
784
17:
00-18:
00
上
3020
474
587
248
468
649
388
432
452
157
205
56
0
下
0
330
193
194
737
934
1016
606
416
494
278
448
1249
18:
00-19:
00
上
1966
350
399
204
328
471
289
335
342
122
132
40
0
下
0
223
129
150
635
787
690
505
304
423
246
320
1010
19:
00-20:
00
上
939
130
165
88
138
187
124
143
147
48
56
17
0
下
0
113
59
59
266
306
290
201
147
155
86
154
398
20:
00-21:
00
上
640
107
126
69
112
153
87
102
94
36
43
13
0
下
0
75
43
43
186
230
219
146
90
127
70
95
319
21:
00-22:
00
上
636
110
128
56
105
144
82
95
98
34
40
12
0
下
0
73
41
42
190
243
192
132
107
123
67
101
290
22:
00-23:
00
上
294
43
51
24
46
58
35
41
42
15
17
5
0
下
0
35
20
20
87
108
92
69
47
60
33
49
136
二、符号说明
i=1
表示上行状态
i=-1
表示下行状态
j=1,2,3,…,18
表示公交车在运营过程中的时间段
a,b
分别表示上下车人数
k=0,1,…,13
各站的站号
l
发车间隔
Sk,Sk+1
分别表示时间间隔为k,k+1的发车次数
𝜑车𝑖(𝑗)
上行/下行(某时间段内)公交公司的满意度
Ni车
上行/下行过程中发车次数
Ni人
一个周期中上行/下行的乘客峰值
Pij
上/下行中某时间段的乘客数量
Bi
高峰期占用车辆数(所需安排最小车辆数)
三、模型假设
(1)假设道路状况良好,车辆全程以20km/h的速度匀速行驶,不考虑到站停车及加速减速时间,不考虑红绿灯、拥堵以及其他可能发生的意外情况,公交车之间不能超车。
(2)在某一时间段内上下车的乘客在这个时间段内呈均匀分布。
(3)乘客按顺序上下车。
在负载量允许的情况下,能上车的乘客均乘坐到达车站后遇到的第一辆车。
四、建立模型与求解
(一)第一阶段:
模型的建立
I.计算最大客容量:
为了能够满足所有乘客的需求,我们按照以下公式分别算出各个时间段内公交车行驶的全程中乘客数量的峰值:
13
𝑁1,𝑗=max∑(𝑎1,𝑗,𝑘−𝑏1,𝑗,𝑘)
𝑘=𝑚
𝑚
𝑁−1,𝑗=max∑(𝑎−1,𝑗,𝑘−𝑏−1,𝑗,𝑘)
𝑘=0
m=0,1…13;j=1,2,3…18
经过计算得出如下表格:
时段
5
6
7
8
9
10
11
12
13
上行
701
2943
5018
2705
1528
1193
1355
1200
1040
下行
27
1039
2752
3223
1822
1093
986
830
891
时段
14
15
16
17
18
19
20
21
22
上行
881
871
2133
2772
897
464
410
275
19
下行
1017
1302
2196
3612
2417
1091
781
714
337
表1各时间段内乘客量
为了更直观地看出数据所反映的事实,使用Excel绘图可得:
由图1可知,在上行过程中,车内人数最多发生在7点的时间段,人数
在5018左右;下行过程中,车内人数最多发生在5点的时间段,人数在
3612左右。
数据的整体分布也基本符合我们对于“早高峰”与“晚高峰”的认识。
II.计算最少发车次数
我们根据得到的在某一时间段内公交车上人数的最大值,求出在这一时间段内发车次数的最小值。
根据题目要求,车辆满载率不应超过120%,一般也不要低于50%,所以我们此时要求车辆全部满载,即每辆车装120
个人,据此可得最小发车次数。
同时我们假设发车时间间隔不大于20
分钟,所以N1车,N-1车≥3。
一般情况下满足下述公式:
𝑁
N1车
=⌈1人⌉(向上取整,若得出结果<3,则直接记为3)
120
根据计算结果作出相应表格如下:
时间
上行
下行
时间
上行
下行
5:
:
00—6:
00
6
3
14:
:
00—15:
00
8
9
6:
:
00—7:
00
25
9
15:
:
00—16:
00
8
11
7:
:
00—8:
00
42
23
16:
:
00—17:
00
18
19
8:
:
00—9:
00
23
27
17:
:
00—18:
00
24
31
9:
:
00—10:
00
13
16
18:
:
00—19:
00
8
21
10:
:
00—11:
00
10
10
19:
:
00—20:
00
4
10
11:
:
00—12:
00
12
9
20:
:
00—21:
00
4
7
12:
:
00—13:
00
10
7
21:
:
00—22:
00
3
7
13:
:
00—14:
00
9
8
22:
:
00—23:
00
3
3
表2各时段发车次数
根据表2的数据,将各时间段的发车次数相加,可得一天内最小总发车次数为460。
III.发车间隔l的计算
由表2我们已经知道了每个时间段的所需车辆的数目,由假设可知,每
次发车的时间间隔可直接用60除以发车次数。
得出下表:
时段
5:
00-
6:
00
6:
00-
7:
00
7:
00-
8:
00
8:
00-
9:
00
9:
00-
10:
00
10:
00-
11:
00
11:
00-
12:
00
12:
00-
13:
00
13:
00—
14:
00
上行
10
2.4
1.4
2.6
4.6
6
5
6
6.7
下行
20
6.7
2.6
2.2
3.8
6
6.7
8.6
7.5
时段
14:
00-
15:
00
15:
00-
16:
00
16:
00-
17:
00
17:
00-
18:
00
18:
00-
19:
00
19:
00-
20:
00
20:
00-
21:
00
21:
00-
22:
00
22:
00-
23:
00
上行
7.5
7.5
3.3
2.5
7.5
15
15
20
20
下行
6.7
5.5
3.2
1.9
2.9
6
8.6
8.6
20
表3各时段发车间隔
为了方便实际操作,我们希望发车时间间隔为整数且尽量统一,所以上述表格并不合理。
对此,在保证每个时间段内的平均发车间隔不变的前提下,我们进行如下近似:
对于某个时间段内的发车间隔,其必介于某两整数K和K+1之间。
按照不同的取整方式,我们将其分成两类:
假设发车间隔为K的有Sk次,发车间隔为K+1的有Sk+1次。
则需满足如下方程:
𝑘𝑆𝑖,𝑘+(𝑘+1)𝑆𝑖,𝑘+1=60
{𝑆𝑖,𝑘+1
+𝑆𝑖,𝑘
=𝑁
𝑖,车
其中𝑖=1,−1
对以上数据利用python编程进行处理,我们可以得到每小时内发车的次数与发车间隔。
将这些发车间隔按间隔相近者尽量排在一起的原则进行排序,得到如下发车时间表:
上行:
下行:
5:
00-6:
00
每10分钟发车一次
5:
00-6:
00
每20分钟发车一次
6:
00-6:
30
每2分钟发车一次
6:
00-6:
42
每7分钟发车一次
6:
30-7:
00
每3分钟发车一次
6:
42-7:
00
每6分钟发车一次
7:
00-7:
36
每2分钟发车一次
7:
00-7:
42
每3分钟发车一次
7:
36-8:
00
每1分钟发车一次
7:
42-8:
42
每2分钟发车一次
8:
00-8:
18
每2分钟发车一次
8:
42-9:
12
每3分钟发车一次
8:
18-9:
00
每3分钟发车一次
9:
12-10:
00
每4分钟发车一次
9:
00-9:
40
每5分钟发车一次
10:
00-11:
00
每6分钟发车一次
9:
40-10:
00
每4分钟发车一次