数学建模论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
公交车调度方案的模型
摘要:
关键词:
.1 问题的重述
公共交通是城市交通的重要组成部分,作好公交车的调度对于完善城市交通环境、改进市民出行状况、提高公交公司的经济和社会效益,都具有重要意义。
下面考虑一条公交线路上公交车的调度问题,其数据来自我国一座特大城市某条公交线路的客流调查和运营资料。
该条公交线路上行方向共14站,下行方向共13站,第3-4页给出的是典型的一个工作日两个运行方向各站上下车的乘客数量统计。
公交公司配给该线路同一型号的大客车,每辆标准载客100 人,据统计客车在该线路上运行的平均速度为20公里/小时。
运营调度要求,乘客候车时间一般不要超过10分钟,早高峰时一般不要超过5分钟,车辆满载率不应超过 120%,一般也不要低于50%。
试根据这些资料和要求,为该线路设计一个便于操作的全天(工作日)的公交车调度方案,包括两个起点站的发车时刻表;一共需要多少辆车;这个方案以怎样的程度照顾到了乘客和公交公司双方的利益;等等。
某路公交汽车各时组每站上下车人数统计表
如何将这个调度问题抽象成一个明确、完整的数学模型,指出求解模型的方法;根据实际问题的要求,如果要设计更好的调度方案,应如何采集运营数据。
.2 符号约定
n1,n2:发车的辆数
N1,N2每小时发车的辆数
.3 问题分析
本问题分三部分内容,一是求解两个起点站的发车时刻表,二是求解一共需要多少辆车,三是照顾到了乘客和公交公司双方的利益如何安排发车时间和车辆。
对于问题一,起点发车时间由等车人数决定,比如5:00—6:00等车人数是371人,6:00—7:00等车人数是1990人,那么在六点左右等车的人数就相对于五点左右等车的人数多,那么让车在快六点发车的车辆数就应该比在五点左右发车的车辆数多。
对顾客来说,车越多越好,等的时间越少越好,但对公交公司来说,满载最好,车辆越少越好,显然,这两个利益相互冲突!
.4 基本假设
.4.1 路况,天气等良好,没有堵车情况,终起点站公交车的掉头时
间为0;
.4.2 市民素质良好,遵循先上后下,先到先服务等规则;
.4.3 每个公交车的往返时间相等,中途到站时停车时间为0;
.5 模型建立与求解
1.51 模型一
{min=n;
50n<总人数<120n;
60/n<10;}
表1.51 从A13开往A0 从A0开往A13
时间总人
数1
车辆
数
时
间
总人
数
车辆
数2
车辆数1的中位
数N1
车辆数2的中位
数N2
5-6103595-65012117 6-76444546-7201817
7-810713897-8548946
8-95874498-9608351
9-103471299-
10
346729
10-1125992210-
11
221518
11-1229532511-
12
187615
12-1325692112-
13
159013
13-1422591913-
14
168214
14-1519351614-
15
193716
15-1619251515-
16
250721
16-1746333916-
17
429236
17-1860075017-
18
713660
18-1920961718-
19
497841
19-201051919-
20
218218
20-21863720-
21
158213
21-22617521-
22
154013
22-2357122-
23
6716
说明:总人数是每个时间段各站人数的和。
车辆数数是用lingo计算方程式(min=n;50*n<总人数<120*n;60/n<10;)得到。
Lingo程序如下:
min=n;
120*n>总人数;
50*n<总人数;
程序使用说明:把具体的值代入总人数后,直接运行就可以得出n的值。
经前面计算一辆车往返的平均时间是88分钟(A13-
A0):n1=N1*88/60;(A0-A13):n2=N2*88/60;
用excel绘制图标
从A0开往A13:
从A13开往A0
利用spss软件统计数据的基本信息表1.52从A0开往A13
变量个数平均值标准差1823.777816.37270
95%的置信区间
p下限上限
0.00015.635831.9197
表1.53从A13开往A0
变量个数平均值标准差
1826.444422.26900
95%的置信区间
p下限上限
0.00015.370337.5186
n1= N1*88/60=21*88/60=31 n2= N2*88/60=17*88/60=25
结论:从A13到A0需要21辆车。
从A0到A13需要17辆车。
1.5.2 模型二
在模型一的基础上加以改进,根据excel的曲线图把模型一的数据分为三个阶段,第一个阶段(5-6 19-20 20-21 21-22 22-23)[一般时间]第二阶段(15-16 16-17 17-18 18-19)[晚高峰期]第三阶段(6-7 7-8)[早高峰期]
表1.5.4从A13开往A0
阶段最大值权值q期望E1平均值m1
一202/165018
二505/1626
三909/1671
E1=m11*q11+m12*q12+m13*q13=2+8+40=50
表1.5.5从A0开往A13
阶段最大值权值q2期望E2平均值m2
一101/1213.4
二505/1239.5
三606/1231
E2=m12*q12+m22*q22+m23*q23=1.1+16.4+15.5=33
n1=55*88/60=81 n2=33*88/60=48
结论:从A13到A0需要81辆车。
从A0到A13需要48辆车。
.6 模型的进一步分析
.7 模型的评价与推广
参考文献
[1] 钱颂迪.运筹学第四版.北京:清华大学出版社,2013
[2] 吴建国.数学建模案精编.北京:中国水利水电出版社,2005
[3] 姚泽清.优秀建模论文.北京:国防工业出版社,2012
[]
附录
Lingo程序:
min=n;
120*n>57;
50*n<57;
Matlab程序:
(1)function y1=f1(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y1=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13;
(2)function y2=f2(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y2=(x1)^2+(x2)^2+(x3)^2+(x4)^2+(x5)^2+(x6)^2+(x7)^2+(x8)^2+(x10)^2+ (x9)^2+(x11)^2+(x12)^2+(x13)^2
(3)function y3=f3(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y3=(x1)^3+(x2)^3+(x3)^3+(x4)^3+(x5)^3+(x6)^3+(x7)^3+(x8)^3+(x10)^3+ (x9)^3+(x11)^3+(x12)^3+(x13)^3
(4)function y4=f4(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y4=(x1)^4+(x2)^4+(x3)^4+(x4)^4+(x5)^4+(x6)^4+(x7)^4+(x8)^4+(x10)^4+ (x9)^4+(x11)^4+(x12)^4+(x13)^4
(5)function y5=f5(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y5=(x1)^5+(x2)^5+(x3)^5+(x4)^5+(x5)^5+(x6)^5+(x7)^5+(x8)^5+(x10)^5+ (x9)^5+(x11)^5+(x12)^5+(x13)^5
(6)function y6=f6(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y6=(x1)^6+(x2)^6+(x3)^6+(x4)^6+(x5)^6+(x6)^6+(x7)^6+(x8)^6+(x10)^6+ (x9)^6+(x11)^6+(x12)^6+(x13)^6
(7)function y7=f7(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y7=(x1)^7+(x2)^7+(x3)^7+(x4)^7+(x5)^7+(x6)^7+(x7)^7+(x8)^7+(x10)^7+ (x9)^7+(x11)^7+(x12)^7+(x13)^7
(8)function y8=f8(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y8=(x1)^8+(x2)^8+(x3)^8+(x4)^8+(x5)^8+(x6)^8+(x7)^8+(x8)^8+(x10)^8+ (x9)^8+(x11)^8+(x12)^8+(x13)^8
(9)function y9=f9(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y9=(x1)^9+(x2)^9+(x3)^9+(x4)^9+(x5)^9+(x6)^9+(x7)^9+(x8)^9+(x10)^9+ (x9)^9+(x11)^9+(x12)^9+(x13)^9
(10)function y10=f10(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y10=(x1)^10+(x2)^10+(x3)^10+(x4)^10+(x5)^10+(x6)^10+(x7)^10+
(x8)^10+(x10)^10+(x9)^10+(x11)^10+(x12)^10+(x13)^10
(11)function y11=f11(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y11=(x1)^11+(x2)^11+(x3)^11+(x4)^11+(x5)^11+(x6)^11+(x7)^11+
(x8)^11+(x10)^11+(x9)^11+(x11)^11+(x12)^11+(x13)^11
(12)function y12=f12(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y12=(x1)^12+(x2)^12+(x3)^12+(x4)^12+(x5)^12+(x6)^12+(x7)^12+
(x8)^12+(x10)^12+(x9)^12+(x11)^12+(x12)^12+(x13)^12
(13) function y13=f13(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13)
y13=(x1)^13+(x2)^13+(x3)^13+(x4)^13+(x5)^13+(x6)^13+(x7)^13+
(x8)^13+(x10)^13+(x9)^13+(x11)^13+(x12)^13+(x13)^13
(14) function x=qg(a)
f=@(x)x.^21-x.*(a+1)+a;
x=fzero(f,2);
(15) a=input('a=')
p=[1 0 0 0 0 0 0 0 0 -(a+1) a];
roots(p);
disp(roots(p))。