关于公交车调度的数学模型公交车调度关于公交车调度的数学模型摘要:本文根据典型的一个工作日两个运行方向各站上下车的乘客数量统计,首先探讨了如何利用平滑法来确定一个有价值并且效率高的车辆运行时刻表,使其满足乘客的舒适性和公交公司低成本的服务;接着,又利用最优化的基本思想,对此问题进行了进一步的讨论,得到了最小配车辆的数量,然后针对满意度的评价水平问题,建立了几个良好刻画公司以及乘客满意度的满意度函数并求出了乘客与公交公司双方的满意度。
最后,我们对新提出的模型进行了模型的评价和模型改进方向的讨论,并对如何采集公交车客运量的数据,提出了几个中肯的建议,完成了对关于公交车调度问题的较为详细而合理的讨论。
(一)问题重述公共交通是城市交通的重要组成部分,作好公交车的调度对于完善城市交通环境、改进市民出行状况、提高公交公司的经济和社会效益,都具有重要意义。
下面考虑一条公交线路上公交车的调度问题,其数据来自我国一座特大城市某条公交线路的客流调查和运营资料。
该条公交线路上行方向共14站,下行方向共13站,第3-4页给出的是典型的一个工作日两个运行方向各站上下车的乘客数量统计。
公交公司配给该线路同一型号的大客车,每辆标准载客100 人,据统计客车在该线路上运行的平均速度为20公里/小时。
运营调度要求,乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟,车辆满载率不应超过120%,一般也不要低于50%。
试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;等等。
如何将这个调度问题抽象成一个明确、完整的数学模型,指出求解模型的方法;根据实际问题的要求,如果要设计更好的调度方案,应如何采集运营数据。
(二)定义与符号说明1、T( I )------ 第I个时段( I=1、2……18 )2、A( J )------ 第J个公交车站(J=1、2……15 )3、P( I )------ 在第I个时段内的配车量4、L( I )------ 在第I个时段内的客流量5、G( I )------ 在第I个时段内的满载率6、S( I )------ 在第I个时段内的乘客候车时间期望值7、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=1、2…14),在T(3)时段(7:00~8:00)处,均达到客流量的最高峰。
2)对于不同的车站A( J) (J=1、2…14),在T(13)时段(17:00~18:00)处,均达到客流量的次高峰3)在其余时段内,客流量分布较为平缓。
图一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::i时段内的日最高流通量Hi::i时段内的小时最高流通量C:车的最大容量E(G(i)):i时段内的期望满载率Ni:i时段内的期望占用量(人)Qi:i时段内的乘客周转量(人km )步骤1:我们从题目所给的典型工作日两个运行方向各站上下车的乘客数量统计表转化为便利于我们计算的基础数据表。
(我们取定几个时间段作为分析样本,结果见下表)注:表1中的断面客流量Li算公式:(上行)Li=max{Ri,0} (下行)Li=max(Ri,0)Ri=R(i-1)+ui-di ;Ri=R(i+1)+ui-diRi—第i个站的断面客流量R(i-1)—第i-1个站的断面客流量Ui--第I个站点的上客量di—第i个站点的下客量基础客流量数据表(下行)站距(km) 站名06:00~07:0007:00~08:0008:00~09:0009:00~10:00A0 795 2328 2706 15561.56 A2 868 2414 2814 16031 A3 995 2985 3148 17770.44 A4 1039 2752 3223 18221.2 A5 1006 2462 2877 1647 0.97 A6 989 2317 2537 14442.29 A7 903 1740 2014 11081.3 A8 893 1538 1830 9752 A9 930 1495 1817 9740.73 A10 866 1177 1509 7741 A11 844 1050 1425 7370.5 A12 752 722 1435 5451.62 A13 / / / /周转量(人公里)12628.57 26627.54 30514.11 17445.41平均断面通过量(人)866.2 1828.3 2092.9 1196.5车容量(人)120 120 120 120期望满载率96% 99.5% 99.8% 98.75%期望占用量(人)115.4 119.7 119.7 119.5表2步骤2:确定时段配车数Pi(车次), 间隔Hd(min) (上行数据)时间段方法1 方法2 方法3Pi Hd(min) Pi Hd(min)Pi Hd(min)06:00~07:006.00 10 6.00 10 5.84 10.2707:00~08:0023.92 2.5 24 2.5 24.52 2.4508:00~09:0041.09 1.43 42 1.43 42.12 1.4310:00~11:0021.64 2.73 22 2.73 22.54 2.66表3步骤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 min。
所以,求得后一时间段内第一辆车发车时间为8:02 。
几种不同的间隔确定方法:方法1:采用公式(*2):Pi=Hi/(ki*C)=Hi/Ni方法2:采用公式(*3),同时增加了限制时间段内通过量大于Pi*C的线路长度:Pi=max {Qi/(E(G(i)*C*L),Hi/C) = max {Qi/(Ni*L),Hi/C}方法3:综合运用法:该方法的特点是将不同的方法运用于不同的时间段以确定时段配车数。
它最大的好处就是能够根据实际情况作灵活的动态调度。
比如可以根据高峰期和平峰期到来的时间段及流动数量的多少来选择不同的方法确定理想的配车数。
模型2:根据基本假设1~4,我们着手建立关于总配车量A=∑(Pi+ Pi) (I=1~18) 的优化模型1)确定决策变量易见,Pi 可作为模型的决策变量,但注意到:Pi= 60 / ΔT( i ) (*5)Pi= 60 / ΔT( i ) (*6)其中,ΔT( i )为上行线路i 时段内的发车间隔时间(单位:分钟)ΔT( i )为下行线路i 时段内的发车间隔时间(单位:分钟)所以:可以等价地将ΔT( i )作为决策变量。
2) 确定目标函数问题(1)的目的是为了寻找在满足乘客和公交公司双方的一定利益的情况下,总配车量A=∑(Pi+ Pi)的最小值,将(*5)、(*6)式代入,可得总配车量A为:A=∑{[60 / ΔT( i )]+[60 / ΔT( i )] } (i=1~18)3) 确定约束条件[1] 首先,乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟。
由假设条件4,乘客的到来满足均匀分布,则在第I个时段内的流通的乘客候车时间期望值E[S(i)]满足:E[S(i)]= [(t-(k-1)ΔT(i) )dt]/ΔT(i) (i=1~18)= ΔT( i )/2所以我们有:ΔT( i )/2≦10 (i ∈U)ΔT( i )/2≦10 (i ∈U)ΔT( i )/2≦5 (i∈V)ΔT( i )/2≦5 (i∈V)其中,集合U为上行早高峰期的时段集合、U为下行早高峰期的时段集合V为上行非早高峰期的时段集合、V为下行非早高峰期的时段集合为了获得对早高峰期的明确时间范围,我们将客流量的数据进行了线性插值处理,并将14个车站作为14个样本,利用聚类分析的方法可以得出如下早高峰期定义:上行早高峰期为6:00~9:00下行早高峰期为7:00~10:00[2 ] 其次,车辆满载率G( i )不应超过120%,一般也不要低于50%,即:G( i )≦ 1.2 (*7)E(G( i ))≧0.5(*8)又因为在每个时段内都应该尽量满足乘客的最大客流量,所以G( i )*C*[ 60/ ΔT( i )] = Hi(*9)我们将(*9)代入(*8)、(*7)再区分上下行可以得出相应的约束条件如下:Hi/{C*[60 / (ΔT( i ))]≦ 1.2(i=1~18)Hi/{C*[60 / (ΔT( i ))]≦ 1.2 (i=1~18)E( Hi/{C*[60/ (ΔT( i ))]} )≧0.5 (i=1~18)E( Hi/{C*[60/ (ΔT( i ))]} )≧0.5 (i=1~18)4)优化模型的建立通过1)~3)的分析,我们建立优化模型(*)如下式:min A=∑{[60 / ΔT( i )]+[60 / ΔT( i )] }(i=1~18)st ΔT( i )/2≦10 (i∈U)ΔT( i )/2≦10 (i∈U)ΔT( i )/2≦5 (i∈V)ΔT( i )/2≦5 (i∈V)Hi/{C*[60 / (ΔT( i ))]≦ 1.2(i=1~18)Hi/{C*[60 / (ΔT( i ))]≦ 1.2 (i=1~18)E( Hi/{C*[60/ (ΔT( i ))]} )≧0.5 (i=1~18)E( Hi/{C*[60/ (ΔT( i ))]} )≧0.5 (i=1~18)4)优化模型的求解方法1:由于(1)中含有决策变量以及其期望值,属于非线性概率规划范畴,不利于显式求解,可以利用时间步长法进行模拟,进而获得最优值方法2:将(*)中的约束条件E( Hi/{C*[60/ (ΔT( i ))]} )≧0.5 (i=1~18)E( Hi/{C*[60/ (ΔT( i ))]} )≧0.5 (i=1~18)修改为:Hi/{C*[60/ (ΔT( i ))]} ≧0.5 (i=1~18)Hi/{C*[60/ (ΔT( i ))]} ≧0.5 (i=1~18)并且令B( i )=1 /ΔT ( i )则原规划(*)可以化为如下线性规划(**):min A=∑{[60 * B( i )]+[60 *B( i )] }(i=1~18)st B( i )≧1/20 (i∈U)B( i )≧1/20 (i∈U)B( i )≧1/10 (i∈V)B( i )≧1/10 (i∈V)1/0.5≦{C*[60*B( i )]}/ Hi≦1/1.2(i=1~18)1/0.5≦{C*[60 *B( i )]}/ Hi≦1/1.2 (i=1~18)利用数学规划软件Lindo可以获得其解模型31}我们在这一小节将讨论:我们的方案以怎样的程度照顾到了乘客和公交公司双方的利益。