数学建模:公交公司司机排班方案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题 1 中,以月份总班次最少为目标函数,将公司对司机的 3 点要求作为约
束条件,建立了单目标优化模型。经计算得到最少需要 2463 班次,且各类别的
班次如下表所示:
类别
天数
排班间隔
每天班次
节假日
11 天
10 分钟每班
73 班次
工作日高峰期
20 天
8 分钟每班
48 班次
工作日非高峰期
20 天
10 分钟每班
由于总时间充裕,所以当司机开了接近 4 小时的车的时候就换司机,或者没 开班 1 次就休息一次,这样就可以满足该约束条件。 (3)每名司机每月至少完成 120 班次
平均每天至少完成 3 班次,每天至少要 60 个班次,而每天至少有 73 个班次, 所以可以满足该约束条件。
综上所述,上述模型结果可以满足约束条件。 5.4 结果分析
本问要求在问题 2 的基础上,计算出每天需要的司机人数,在假设每个司机 每周连续工作五天,休息两天。确定使得司机总数最少的排班方案。
在本文中,将司机看作特殊的乘客,让司机进行排队上车,安排司机的排班 方案。
5、问题 1 模型的建立与求解
5.1 问题的分析 2011 年 5 月份共包含节假日 11 天,正常工作日 20 天,以总发车次数最少
4、问题分析
4.1 问题 1 的分析 本问要求根据 5 月份节假日情况,求出当月最少班次总数。由于节假日与正
常工作日发车间隔与运行时间均相互独立,所以分开考虑两种情况。当两种情况 均达到最小发车次数时,总发车班次此时最小。
将公交公司对司机工作时间的 3 条规定可以看成约束条件,总发车次数最少 为目标函数,进而可建立非线性优化模型。 4.2 问题 2 的分析
⎪
s.t.
⎪ ⎨
⎪
⎪
⎪
m1
∑ xijk cijk ≤ 480
j =1
2
∑ xi, j+ p,k < 3
p=0
⎪ ⎪
31
∑ xijk ≥ 120
⎪
i =1
⎪ ⎧0
⎪ xijk ⎪
=⎨ ⎩1
第i天第j班次司机k开车 第i天第j班次司机k不开车
⎪ ⎪ ⎩⎪
⎧⎪cijk ∼ U (80,85) 正常 ⎨⎪⎩cijk ∼ U (100,120) 高峰
35 班次
月度总班次
2463 次
问题 2 中,为了合理安排 5 月份司机排班方案,将司机班次的方差和工作时
间的方差作为衡量合理性的标准,由于两个方差不同且难以进行归一化处理,故
2 者均作为目标函数;将公司对司机的 3 点要求作为约束条件建立了多目标规划
模型,考虑到该模型约束条件的复杂性,并不直接对模型进行编程求解,而是首
节假日每天开班 73 次,则每天工作时间介于区间[5840, 6205](单位:分钟,
下同)。
平时每天开班共 83 次,每天工作时间介于区间[7560,8665] 。
司机每天上班不超过 8 小时就是 480 分钟,20 个司机就是 9600 分钟,故该 约束条件可以满足。 (2)司机连续工作不能超过 4 小时
为目标函数,公交公司的规定作为约束条件,建立单目标优化模型。 5.2 模型的建立 5.2.1 目标函数的确定 1、节假日开班次数的确定
用 x1 表示节假日排班时间间隔,由于节假日的排班间隔为 5~10 分钟一班,
-4-
且服从均匀分布,所以
x1 ∼ U (5,10) 夏令开收班时间为 6:15—18:20,共 725 分钟,所以节假日每天开班次数
非高峰期共包括 3 个时间段:8:30~11:30;13:30~16:30;18:00~18:20,共计 380 分钟,所以非高峰期每天开班次数
⎡380 ⎤
m2 = ⎢ ⎣
x2
⎥ +1 ⎦
高峰期共包括 3 个时间段:6:00~8:30;11:30~13:30;16:30~18:00,共计 360 分钟,然而夏令开班时间是从 6:15 开始,因此高峰期实际只有 345 分钟,所以 高峰期开班次数
本问要求合理设计 5 月份的排班方案,如何突出合理性是本文的一大关键。 公交司机作为公交公司的员工,每位司机的工作班次和工作时间应该尽量相等, 因此可用工作班次和工作时间的方差来衡量合理性指标,由于工作班次与工作时 间的量纲差异性较大,也不宜进行归一化处理,因此可建立多目标规划模型。 4.3 问题 3 的分析
5 月份最少班次的排班方案如下表所示:
表 1:5 月份总班次最少的排班方案示意表
类别
问题 3 中,在问题 2 的基础上,将司机看成“乘客”进行排队上车,从而得
到总共需要 26 名司机,又司机每连续工作 5 天就休息 2 天,故每天安排 24 位司
机,最后给出了该月的司机排班方案。
在模型改进中,进一步考虑了实际发车中可能出先的 2 种问题:1、某班车
发车时处于正常时段,但在本班次中后处于高峰时段; 2、某班车发车时处于高
数模训练
公交公司司机排班方案
指导老师: 陈 作 清
组员:
王青春 王诗怡
朱倩
2011 年 8 月 23 日
-1-
基于优化模型和计算机仿真的公交司机排班方案 摘要
本文建立了优化模型,并利用计算机仿真设计了公交司机排班方案,确定了
ຫໍສະໝຸດ Baidu
2011 年 5 月份某线路的司机排班方案。并根据排班方案优化了需要的司机人数。
第 i 天第 j 班次第 k 号司机此班次所用时间(当 xijk = 0 时, cijk = 0 ;当 cijk
xijk = 1时, cijk 服从均匀分布)
σ1,σ 2 司机月份班次次数和月份工作时间的方差
σ
* 1
,
σ
* 2
司机月份班次次数和月份工作时间的理想方差(精度)
α 公交车的运行时间修正参数
-6-
5.3 模型的求解 考虑 2011 年 5 月份的班次,2011 年 5 月份共有节假日 11 天,工作日 20 天,
所以 α1 = 11,α2 = α3 = 20
5.3.1 模型算法复杂性分析及求解思路分析 本模型直接用软件编程求解非常困难,单 xijk 的取值就超过 10000 种情况,
⎧0
xijk
=
⎨ ⎩1
第i天第j班次司机k开车 第i天第j班次司机k不开车
用 cijk 表示第 i 天第 j 班次第 k 号司机此班次所用时间,则
⎧⎪cijk ∼ U (80,85) 正常 ⎨⎪⎩cijk ∼ U (100,120) 高峰
-5-
其中 i = 1, 2,...,31 ; j = 1, 2,..., mi ; k = 1, 2,..., 20 ; mi 表示第 i 天公交班次
⎡ 345 ⎤
m3 = ⎢ ⎣
x3
⎥ +1 ⎦
3、目标函数的确定 总发车次数为上述 3 种情况的和,所以目标函数
3
∑ M = αimi
i =1
其中α1 表示节假日的天数,α2,α3 表示正常工作日的天数。 5.2.2 约束条件的确定
定义标识符 xijk ,表示第 i 天第 j 班次第 k 号司机是否开车,其中
2、模型假设
1、假设行车路上不发生任何行车时间超过题目给出的范围的事件; 2、线路的排班间隔、车辆的运行时间服从均匀分布; 3、工作日高峰期和非高峰期间隔是单独发车。
3、符号说明
符号 xi mi
xijk
意义 不同类型的时间段排班间隔( i = 1表示节假日; i = 2 表示工作日非高 峰期; i = 3 表示工作日高峰期) 不同类型的时间段应发车班数( i 的意义同上)
= 11(⎢ ⎣
x1
⎥ +1) +12(⎢
⎦
⎣
x2
⎥+⎢ ⎦⎣
x3
⎥ + 2) ⎦
由于 xi 均服从均匀分布,所以当
时, M 取最小值,且
x1 = 10, x2 = 10, x3 = 8
M min = 2463
此时的排班方案为: (1)节假日(共 11 天)每天开 73 班,每 10 分钟一班; (2)工作日(共 20 天)平时每天开班 35 次,每 10 分钟一班; (3)工作日(共 20 天)高峰期每天开班 48 次,每 8 分钟一班。 2、约束条件满足性验证 (1)每名司机每天工作时间不超过 8 小时
1、司机每天上班时间不超过 8 小时约束 该约束等价于
m1
∑ xijkcijk ≤ 480
j =1
2、司机连续开车不超过 4 小时 由于每班次至少 80 分钟,最多 120 分钟,所以连续开车不超过 4 小时等价
于不能连续开车 3 班次,即
3、司机每月至少完成 120 班次 该约束等价于
2
∑ xi, j+ p,k < 3
求目标函数的次优值,转 Step(2); Step(4):若一直存在约束条件无法满足,则该问题无解。
其算法流程图如下:
图 1:问题 1 模型的算法流程图
5.3.2 模型的求解 1、无约束条件下目标函数最优解
目标函数
-7-
M = 11m1 + 20(m2 + m3 )
⎡ 725⎤
⎡380 ⎤ ⎡345⎤
⎡ 725⎤
m1 = ⎢ ⎣
x1
⎥ +1 ⎦
其中[ x] 为高斯函数,表示不超过 x 的最大整数。
2、工作日开班次数的确定 用 x2 , x3 分别表示非高峰期和高峰期排班时间间隔,均服从均匀分布,而非
高峰期 8~10 分钟每班,高峰期 4~8 分钟每班,所以 x2 ∼ U (8,10) x3 ∼ U (4,8)
又 cijk 服从均匀分布,取值无法确定。因此,该模型不宜直接求解。 鉴于此,本文采取如下的方法进行模型求解: Step(1):不考虑约束条件,求出无约束条件下目标函数的最大值; Step(2):将 Step(1)中的理想情况用约束条件进行检验,若满足约束条
件,则计算终止,Step(1)确定的最优值即为所求;否则转 Step(3); Step(3):剔除 Step(1)最优值满足的约束条件,保留不满足的约束条件,
峰时段,但一段时间后处于正常时段;针对这 2 种情况,引进公交车的运行时间
修正参数α ,对在车上的运行时间进行修正,修正后班次的反差为 0.1961,工作
时间的方差为 9.60,模型的精度进一步提高。
问题 2 中将司机工作时间和工作班次的方差看作衡量合理性的标准以及在
问题 3 中将司机看成乘客进行排班是本文最大的两个亮点。
p=0
31
∑ xijk ≥ 120
i =1
5.2.3 模型的得到 综上所述,得到总发车班次最少的优化模型
3
∑ min M = αimi
i=1
⎧
⎡725 ⎤
⎪ ⎪
m1 = ⎢ ⎣
x1
⎥ +1 ⎦
⎪ ⎪ ⎪
⎡380 ⎤
m2 = ⎢ ⎣
x2
⎥ +1 ⎦
⎪
⎪ ⎪ ⎪
⎡345 ⎤
m3
=⎢ ⎣
x3
⎥ +1 ⎦
⎪
先设定目标函数的精度,用 MATLAB 对约束条件进行循环模拟排班,当排班方
案对应的目标函数满足精度要求时,运算终止。经循环 17 次达到精度要求,此
时该月共运行班次 3015 班,工作班次的方差为 0.1961,工作时间的方差为 12.62,
具有较高的精度。并在附录中给出了 3015 班次的发车时间。
第 i 天第 j 班次第 k 号司机是否开车, xijk = 0 时表示不开车; xijk = 1时
表示开车( i = 1, 2,..., d ; j = 1, 2,..., mi ; k = 1, 2,..., n ; d 表示所研究
-3-
的月份的总天数; mi 表示第 i 天公交班次; n 表示司机的总人数)
关键词:公交排班,多目标规划,计算机仿真
-2-
1、问题重述
随着武汉市经济进一步的发展,道路变得越来越多。公交优先,百姓优先, 为此武汉市公交总公司开辟了各种线路以满足老百姓出行需要。而现实却是经常 出现司机数量不足、工作时间过长、因堵车扰乱行车计划等问题。一般而言,公 交公司按月给司机排班。
现有某条线路基本情况如下: 1、开收班时间:冬令(12 月—3 月)6:20—18:10;夏令(4 月—11 月)6:15 —18:20。 2、司机人数:20 人。 3、排班间隔:工作日:高峰期 4—8 分钟每班;非高峰期期 8—10 分钟一班; 节假日:5—10 分钟一班 [注:高峰期为 6:00—8:30,11:30—13:30,16:30—18:00]。 4、运行时间:高峰期:100—120 分钟每班次;非高峰期(包括节假日):80 —85 分钟每班次。 同时,公司对司机工作时间有如下规定: 1、司机每天上班时间不超过 8 小时; 2、司机连续开车不得超过 4 小时; 3、每名司机每月至少完成 120 班次。 结合上述情况,请完成如下 2 个问题: 问题 1:根据五月份的节假日情况,求出当月最少班次总数 问题 2:阐述你对上述规定的理解,并根据你的理解建立适当的数学模型, 合理地设计五月份该线路的司机排班方案。