关于公交车调度的数学模型
摘要:本文根据典型的一个工作日两个运行方向各站上下车的乘客 数量统计,首先探讨了如何利用平滑法来确定一个有价值并且效率高的车 辆运行时刻表,使其满足乘客的舒适性和公交公司低成本的服务;接着, 又利用最优化的基本思想,对此问题进行了进一步的讨论,得到了最小配 车辆的数量,然后针对满意度的评价水平问题,建立了几个良好刻画公司 以及乘客满意度的满意度函数并求出了乘客与公交公司双方的满意度。最 后,我们对新提出的模型进行了模型的评价和模型改进方向的讨论,并对 如何采集公交车客运量的数据,提出了几个中肯的建议,完成了对关于公 交车调度问题的较为详细而合理的讨论。
(一)问题重述
公共交通是城市交通的重要组成部分,作好公交车的调度对于完善城 市交通环境、改进市民出行状况、提高公交公司的经济和社会效益,都具 有重要意义。下面考虑一条公交线路上公交车的调度问题,其数据来自我 国一座特大城市某条公交线路的客流调查和运营资料。
该条公交线路上行方向共14站,下行方向共13站,第3-4页给出的 是典型
的一个工作日两个运行方向各站上下车的乘客数量统计。公交公司 配给该线路同一型号的大客车,每辆标准载客100人,据统计客车在该 线路上运行的平均速度为20公里/小时。运营调度要求,乘客候车时间一 般不要超过10分钟,早高峰时一般不要超过5分钟,车辆满载率不应超 过120% ,—般也不要低于50%。
试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日) 的公交车调度方案,包括两个起点站的发车时刻表;—共需要多少辆车; 这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;等等。
如何将这个调度问题抽象成一个明确、完整的数学模型,指出求解模型的 方法;根据实际问题的要求,如果要设计更好的调度方案,应如何采集运 营数据。
(二)定义与符号说明
T(
I
)--
第
I
个
时
1、
段
(1=1、2.… …18) 2、
A( J )-- 第 J 个公交车
站
(J=k 2.… ..15)
3、 4、 5、 6、 7、
P( I)- —在第I个时段内的配车量
L( I)- —在第I个时段内的客流量
G( I)- --在第I个时段内的满载率
S( I)- -在第I个时段内的乘客候车时间期望值
—客车在该线路上运行的平均速度 v———
8、 △ L (J)-—第J-1个公交车站到第J个公交车站之间的距离 9、 △ T(I)-第I个时段内相邻两辆车发车间隔时间 10、 L—— 收、发车站之间的距离
(三) 模型的假设
基本假设:1、乘客在各个时段内到达公交车站的时间均服从均匀分布
2、 乘客上车的时间可以忽略不计。
3、 公共汽车在每个时段内发车的时间间隔相同 4、 公共汽车始终以大小为V的速率匀速前进
5、 公交车和乘客的到来都是随机现象。被调查的线路上的客
流量不会受到其它线路上客流量的影响。 6、如果产生拥挤现象,那么仅可能是在车站发生。
(四) 模型的分析
1、数据的特征分析
为了加深对数据变化情况的了解,我们对数据进行了插值,并绘出〃公交 车上行客流量数据总图\"(图一),由图中我们可以直观地看到:
1 )对于不同的车站A( J ) (J=lx 2…14),在T(3)时段(7:00~&00)处z均 达到客流量的最高峰。
2)对于不同的车站A(J)(J=1、2... 14),在T(13)时段(17:00~1&00)处, 均达到客流量的次高峰
3 )在其余时段内,客流量分布较为平缓。
F Ki gurc No. 2 File Edit Tools Window Help
□少la昌I A
4000、,梟莎 3500、 3000 v. 2500^ 2000^ 1500、 1000^
O 图一
2. 模型的初步分析
由于编制车辆运行时刻表的复杂性,传统的时刻表一般是采用经验法。 即参考路线的客流量情况和路线计划配车数,确定运行时间,周转时间及 间隔。以下是应用于计算的理论公式:
运行时间=(运行线路长度/车速)*60*2 周转时间二运行时间+规定站停站时间(=0) 行车时间二小时/小时通过的车次 配车数=—次周转时间/行车间隔 发车间隔=周转时间/配车数
通过以上的计算公式计算出各个参数,然后考虑早晚高峰,首末班车
的发车时间”路上行车的实际情况等若干因素,并结合以往丰富的经验确 定行之有效的运行时刻表
(五) 模型的建立与求解
模型1:平滑法模型
采用确定公交调动中发车间隔的方法来寻求最优的发车间隔时间, 进而求得整条线路的最小配车数,编制出一套较为实用的车辆运行时刻 表。 (1) 发车间隔的具体计算方法讨论
确定发车间隔的原则是:
正确处理好车辆的供给和乘客的需求关系:既要保证有足够 的服务质量,又要保证配车数最小。
应用于计算的具体公式:
Pi=Di/(ki*C)=Di/Ni
(*1 )
Pi=Hi/(ki*C)=Hi/Ni
(*2)
Pi=max {Qi/(E(G(i)*C*L),Hi/C)=max {Qi/(Ni*L),Hi/C}
(*3)
其中:Pi: : i时段内的配车数(车次)
Di: : j时段内的日最高流通量 Hi: : i时段内的小时最高流通量 C:车的最大容量
E(G(i)) : i时段内的期望满载率 Ni : i时段内的期望占用量(人)
Qi : i时段内的乘客周转量(人km )
步
骤1 :我们从题目所给的典型工作日两个运行方向各站上下车的乘客数 量统计表转化为便利于我们计算的基础数据表。(我们取定几个时间段 作为分析样本,结果见下表)
注:表1中的断面客流量Li算公式:
(上行)Li=max{Ri,O} Li=max(Ri,O)
Ri=R(i-l)+ui-di Ri=R(i+l)+ui-di
; (下行)
Ri—第i个站的断面客流量 R(i-l)一第i-1个站的断面客流量 Ui-第I个站点的上客量 di—第i个站点的下客量
站 站名 距 (km) 基础客流量数据表(下行)
06:00〜07 07:00〜08 0&00 〜09: 09:00〜10 :00 :00 00 :00 795 868 995 1039 1006 989 903 893 930 866 844 752 / 12628.57 2328 2414 2985 2752 2462 2317 1740 1538 1495 1177 1050 722 / 26627.54 2706 2814 3148 3223 2877 2537 2014 1830 1817 1509 1425 1435 / 30514.11 1556 1603 1777 1822 1647 1444 1108 975 974 774 737 545 / 17445.41 1.56 1 0.44 1.2 0.97 2.29 1.3 2 0.73 1 0.5 1.62 A0 A2 A3 A4 A5 A6 A7 A8 A9 A10 All A12 A13 周转量(人公 里) 平均断面通过 量(人) 866.2 1828.3 2092.9 1196.5 车容量(人) 120 96% 115.4 120 99.5% 119.7 120 99.8% 119.7 120 98.75% 119.5 期望满载率 期望占用量 (人)
表2
步骤2 :确定时段配车数Pi(车次),间 隔Hd(min)(上行数据)
方法2 方法3 时间段 方法1 Pi Hd(m Hd(m Pi Hd(m Pi in) in) in) 5.84 10.27 06:00〜07 6.00 10 6.00 10 :00
07:00-08 23.92 2.5 24 :00 08:00^09 41.09 1.43 42 :00 10:00~11 21.64 2.73 22 :00 表3
2.5 24.52 2.45 1.43 42.12 1.43 2.73 22.54 2.66 步骤3 :确定相邻时间段的间隔
从表面观察数据可知,两个相邻时间段之间有一定的联系,我们的目标就 是要找出相邻时间段(如5 : 00~6 : 00与6 : 00~7 : 00 )之间的转换段内 的发车时间。
基本思路:
对于相邻的两个时间段来说,前一时间段内发的车是有可能运载后一 时间段内的乘客,这是因为一个时间段为一个小时,在这么长的时间里, 如果发车时间跟时间段的上限值接近(如5 : 00〜6 : 00中6 : 00就是上限 值,发车时间若为5 : 50则它就很接近6 :00)则该趟车还未走完上行或 下行的路线就已经进入下一个时间段。
基本原理:
确定两相邻时间段的发车数和发车时间的相互影响,平均间隔法是一 种最简单但又粗略的方法,它计算出来的结果有可能导致在一条运行路线 上出现过分拥挤或者车辆利用率不足的现象。下面采用的是平滑法。使用 平滑法将运用到步骤2中的计算结果。根据步骤2计算的时段配车数,先 确定在前一时段内第一辆车的发车时间,而在相邻时段之间的转换段内综 合考虑前后两种配车数,设置平均期望占用量而不是平均间隔。
例如,在7:00-8:00,8:00-9:00两个时间段内(假设:第一辆车为7:00 发车),根据表3,两个时段内的配车数和发车间隔分别为23.92车次,2..5 min ;42车次,1.43 min.前一段时间所须要的配车数的0.92车次被留在7:57 之后,与下一时段的0.08车次结合。因此,0.92车次的期望占用量为116.8 人,0.08车次的期望占用量为120.35 ,后一时间每分钟需求的配车数(斜 率为42/60 ),相应的0.08车次要运行0.08 / ( 42/60 ) =1.15 mino所以, 求得后一时间段内第一辆车发车时间为&02 o
几种不同的间隔确定方法: 方法1 :采用公式(*2):
Pi=Hi/(ki*C)=Hi/Ni
方法2 :采用公式(*3 ),同时增加了限制时间段内通过量大于Pi*C的线 路长度:
Pi=max {Qi/(玖G(i)*C*L),Hi/C) = max {Qi/(Ni*L),Hi/C}
方法3 :综合运用法:
该方法的特点是将不同的方法运用于不同的时间段以确定时段配 车数。它最大的好处就是能够根据实际情况作灵活的动态调度。比如可以 根据高峰期和平峰期到来的时间段及流动数量的多少来选择不同的方法 确定理想的配车数。
模型2:
根据基本假设1~4我们着手建立关于总配车量A=5(□+ +PH 01-18) 的优化模型
1) 确定决策变量
易见,Pi可作为模型的决策变量,但注意到:
Pi +
(*5)
Pi -
(*6)
其中,△ T+( i)为上行线路i时段内的发车间隔时间(单位:分钟) △
T-( i)为下行线路i时段内的发车间隔时间(单位:分钟)
所以:可以等价地将△ T( i)作为决策变量。 2) 确定目标函数
问题(1 )的目的是为了寻找在满足乘客和公交公司双方的一定利 益的
情况下,总配车量A=1 (Pi+ + Pi-)的最小值,将(*5 1 ( *6 )式代入, 可得总配车量A为:
A=X {[60 / △ T + ( i )田60 / A T-( i )] }
(i=l~18)
3) 确定约束条件 [1]
首先,乘客候车时间一般不要超过10分
=
60
/ A T -
( i )
=
60
/
△ T + ( i )
钟,早高峰时一般不要 超过5分钟。由假设条件 f 4,乘客的到来满足均匀分布,则在第 I个时段内的流通的乘客 候车时间期望值E[S(i)]满足:
E[S(i)]= [(t-(k-l)A T(i) )dt]/A T(i)
(i=l~18)
△ T( i)/2
所以我们有:
△ T( i )+/2W 10
(i
eu)
+
△ T( i )-/20 10
(i
eu-)
△ T( i )+/2W 5
(i
ev+)
△ T( i )-/2W 5 (i
ev-)
其中,集合U+为上行早高峰期的时段集合、U-为下行早高峰期的时 段集合
V+为上行非早高峰期的时段集合、V-为下行非早高峰期的时 段
集合
为了获得对早高峰期的明确时间范围,我们将客流量的数据进行 了线性插值处理,并将14个车站作为14个样本,利用聚类分析的方 法可以得出如下早高峰期定义:
上行早高峰期为6:00~9:00 下行早高峰期为7:00^10:00
[2 ]其次,车辆满载率G( i)不应超过120%,—般也不要低于50% ,
即:
G( i ) W 1.2
(*7)
E(G( i ))
(*8)
又因为在每个时段内都应该尽量满足乘客的最大客流量,所以
G( i )*C*[
(*9)
我们将(*9 )代入(紹L ( *7 )再区分上下行可以得出相应的 约束条件如下:
2 0.5
60/ A T( i )] = Hi
Hi + /{C*[60 /
(△ T + ( i ))] W
1.2
(i=l~18)
Hi -/{C*[60 /
(△ T -(
i ))] W
1.2
(i=l~18)
E( Hi + /(C*[60/ (△ T+ ( i
))]} )2
0. 5
(i=l~18)
E( Hi ~/(C*[60/ (△
T- ( i ))]} )2
0. 5
(i=l~18)
4) 优化模型的建立
通过1 ) ~3 )的分析,我们建立优化模型(* )如下式:
min A=X {[60 / A T+( i )]+[60 / A T-( i )] }
st
△ T( i ) + /2 W 10
(iUU+)
△
T( i
)
—
/2 W
10
deu-)
△
T( i
)
+
/2 W
5
(iuv+)
△
T( i
)
—
/2 W
5
(iev-)
Hi + /{C*[60
/
(△ T +
(i ))] W
1. 2
(i=l~18)
Hi -/{C*[60
/
(△ T -
(i ))] W
1.2
(i=l~18)
E( Hi + /{C*[60/
(i=l~18)
(△ T + ( i ))]} )2
0. 5
E( Hi-/{C*[60/ (A T-( i ))]} ) 2 0.5
(i=l~18)
4)优化模型的求解
方法1 :由于(1 )中含有决策变量以及其期望值,属于非线性概 率规划范畴,不利于显式求解,可以利用时间步长法进行模拟,进而获得 最优值
方法2 :将(* )中的约束条件
E( Hi + /{C*[60/
( △ T + ( i ))]}
)2 0.5
E( Hi - /{C*[60/ ( A T - ( i ))]} ) 2 0. 5
(i=l~18)
修改为:
Hi + /{C*[60/
(i=l~18)
Hi - /(C*[60/
(i=l~18)
并且令 B(i)=l/A T(i)
则原规划(* )可以化为如下线性规划(和):
min A=2 {[60 * B + ( i )]+[60 *B -( i )] } (i=l~18) st
( △ T + ( i ))]} 2 0.5
( A T - ( i ))]} 2 0.5
B( i )+2 1/20
(iUU+)
B( i )-2 1/20
(i
eu-)
B( i )+2 1/10
(i
UV+)
B( i )-2 1/10
(i
ev-)
1/0.5 w {C*[60*B +
(i )]}/ Hi + W 1/1.2
(i=l~18)
1/0.5 W {C*[60 *B - ( i )]}/ Hi - W 1/1.2 利用数学规划软件Lindo可以获得其解 模型3
1}我们在这一小节将讨论:我们的方案以怎样的程度照顾到了乘 客
和公交公司双方的利益。
为了评价不同方案对乘客和公交公司双方的利益的照顾水平, 我们将着手建立乘客和公交公司的满意度函数。 1 )乘客满意度函数Y1