内容发布更新时间 : 2024/12/28 23:48:20星期一 下面是文章的全部内容请认真阅读。
数学与统计学院
2011-2012学年第一学期课程论文
《数学建模*》
我们选择的题号是(从A/B/C/D/E中选择一项填写): D 所属班级(请填写完整的全名): 2009级数学与应用数学(师范)2班 成员 (打印并签名) :1. 57 2. 77 3. 4. 日期: 2011 年 12 月 30 日
评阅成绩:
公交司机排班方案
摘要
本文要研究公交司机排班方案,这须考虑的制约条件很多,使其成为较为繁
琐的工作。
对于问题二,首先要分为节假日与非节假日进行研究。解决问题的关键在于把一天内每位司机的排班方案求出,进而可容易地得到整个五月份的排班方案。而其中非节假日分高峰时段和非高峰时段,使得情况较为复杂。要使公司的利益最大,就要求出在满足要求的情况下求出最少的司机数。本文通过寻找所有的约束条件,设置适当的目标和决策变量,,并用Lingo软件解得最优排班方案。
对于问题三,本文建立的数学模型为一个32×7且仅含“1”“0”元素的矩阵(“1”代表司机当天工作,“0”代表休息),用其代表一周内的排班表,从而将问题简化。然后按照问题要求设计出一种算法,通过C语言程序对矩阵做一系列的变换。这样便可得到最终的排班表,整个排班过程由C语言自动完成,快速而准确。最终可得司机总数最少为23人。
关键词: MATLAB;LIGO;多目标优化;交通运输;最优化求解
一、问题重述
在新的时代背景下,随着市区经济飞速发展,人们的生活和交通也有较大的改变,道路也变得越来越多。为此某市公交总公司打着“公交优先,百姓优先”,开辟了各种线路,有市内线,近郊线,远郊线,旅游线,机场线,社区线等140多条线路,以满足老百姓出行需要,使人们的出行更加方便。然而现实遇到了不理想的情况,例如:有的线路司机不足,常常存在向其他车队借调司机和车辆跑班,影响其他线路的排班秩序;有的线路司机需要每天开车12~13小时,影响司机的休息,从而给交通留下安全隐患;有的线路因经常堵车,打乱了线路调度计划,使得交接班司机和乘客怨声载道。针对这些问题,公交公司按月给司机排班时,根据实际情况,有如下的条件要求: (1)司机每天上班时间不超过8小时; (2)司机连续开车不得超过4小时; (3)每名司机至少每月完成120班次。
根据某条线路的基本情况(附件),和有关的数据完成下列问题:
问题一:考虑该条线路的基本情况和五月份的节假日情况,设计得出当月排班的方案,使得该月的排班数最少。
问题二:对规定的合理理解,并根据理解建立适当的数学模型,合理地设计五月份该线路的司机排班方案。
问题三:假如规定每个司机每周连续工作五天,休息两天。根据五月份该线路的司机排班方案,计算出每天需要的司机人数。并通过某周(周一至周日)需要司机人数求出司机总数最少的排班方案,又达到最佳的经济效益。 附件:
1、该线路的开收班时间:
夏令(12月~3月):6:15~18:20, 冬令(4月~11月):6:20~18:10 2、该线路的司机人数:15人 3、该线路排班间隔: 平时:8~10分钟/班;
高峰(上下班):
6:00~8:30,11:30~13:30,16:30~18:00:4~8分钟/班 节假日:5~10分钟/班 4、该线路的运行时间: 正常:80~85分钟/班
高峰:100~120分钟/班
二、问题的分析
(一) 问题1的分析
问题一要求根据五月份的节假日情况:五月份共 31 个日,其中节假日 11 日,非节假日 20 日,并按照五月份公交车的开班情况: 6:20-18:10 为开收班时间,排班间隔平时为 8-10 分钟/班,上下班 为 4-8 分钟/班,节假日为 5-10 分钟/班。 建立合适的线性规划模型,使得五月份的班次最小。
由于非节假日分为正常时段与高峰时段,排班间隔不同,所以我们考虑把非节假日的正常工作时间分为 6 个时段。在每个时段按照每个时段的间隔规定,取间隔时间最大时,使得班次最小,考虑到利民的情况下,在时段交接处,如果剩余时间能按照该时间规定的间隔处理,则再出发一班车。而在节假日都按照高峰时段来看待,发车间隔时间是相同的,所以只要发车时间间隔最大,班次就最小。结合题目中的其它约束条件可分析出五月份的最少班次。 (二) 问题的2分析 问题二的分析
对于问题二,设计五月份该线路的司机排班方案,但就此排班方案过程会受到很多方面因素的影响,也就是不可能总是按照司机按点发车,准时到站,又考虑到公司要有更高的利益,每个司机每月的工资是固定的,肯定只有每个月的司机尽量的少公司才有更高的利益,那就是满足条件的情况下班次尽量的少,且我们也要让每位司机有较高的满意度,就是让他们有足够的休息时间。所以在上班的高峰期车辆间发车的间隔时间为4~8分钟/班,我们规定其间隔时间为8分钟;在平时车辆班次间隔规定为8~10分钟/班,我们取间隔时间为10分钟;要让班次尽量少,那么在非节假日规定有72个班次;在节假日规定有82个班次。结合题目中的所有约束条件,应用lingo求解五月份该路线的司机排班方案。 (三)问题3的分析
由于本文在问题二已经求出每天需要的司机人数,即非节假日须17人,节假日(双休日)须13人,所以问题的关键在于合理安排一周内每位司机的工作日和休息日,让他们的工作日和休息日彼此错开,在保证每天工作人数达到要求前提下,使一周内工作的司机人数最少。
三、模型的假设
1、假设从起始站出发到终点站,再终点站回到起点站记作一个班次; 2、假设每次发车时间和运行时间都以整分钟计;
3、假设某一班车在运行时只要有高峰时段就按高峰的运行时间; 4、假设最后一班发车时间不是收班时间,再加发一班;
5、假设各司机的身体状况基本健康稳定,公交车能车正常出行; 6、假设不考虑因天气变化带来的客流量变化;
7、假设即使高峰时期班次的时长也不会超过所规定时段;
8、假设公交车按调度时间表准时进站和出站;
9、假设车速恒定,保持匀速行驶,途中没有堵 车和意外事故; 10、假设各公交车为同一车辆类型;
11、假设忽略个别交通事故引起的交通阻塞,和公交车因老化引起的负外效应; 12、假设乘客量是均匀分布的。
四、符号说明
Z:五月份的总的最小班次;
Xi:五月份节假日总的最小班次; Yk:五月份非节假日总的最小班次
t1:节假日的发车时间间隔;
t2:非节假日高峰时段的发车时间间隔; t3:非节假日正常时段的发车时间间隔;
ai : 非节假日一天内第i个司机工作的高峰班次数 bi : 非节假日一天内第i个司机工作的非高峰班次数 R1 : 非节假日一天内需要的最少司机人数 R2 : 节假日一天内需要的最少司机人数 S1 : 非节假日所有汽车运行时间之和 S2 : 节假日所有汽车运行时间之和 YJ: 代表被安排为第j种情况的司机数 xijk:第i个司机第j天的第k个班次
Cijk:第i个司机跑第j天的第k个班次所用的时间
?t:前后两班车次的时间间隔; Qi:每个司机每天工作 K : 纵向不规则度
R : 每天规定的司机人数
五、模型的建立与求解
问题一模型建立:
根据问题分析,可以建立如下每天的班次最少的目标函数
根据附件中给的节假日、平时、高峰各个时段该线路排班间隔有如下的约束条件: 模型一的求解: 节假日情况:
根据假设,节假日不分高峰时间段和平时间段,全天客流量可以看作是均匀分布,统一按照时间间隔:5min?t1?10min,则当且仅当?t1?max=10时,达到每日班次最小。
五月份的运行时段是6:15—18:20,共710分钟,取?t1?max=10时,考虑到公交车为两点对接,所以节假日每天的最少班次为: 因此,五月节假日的最少班次总数: 非节假日情况:
710?1=72 10根据问题一的分析,非节假日分为高峰时段(发车间隔4min?t2?8min)和正常时段(发车间隔8min?t3?10min)这两个时段,显然全天的客流量不能均匀分布,则当且仅当?t2?max?8min和?t3?max?10min时,达到每日班次最小。
由于非节假日分的时段太多,为了方便,则公交排班方案用下面的表来描述 运行时间段 时间间班次说明 隔 数 6:20—8:30(高峰) 8 (130min) 17 6:20发首班车,以后每8min发一班。第17班次在8:28发车,2 min?4min, 4min为最小间隔,所以在8:28后开始按平时段来进行。 第18班次按照正常车次在8:38出发,第35班次在11:28出发,2 min?8 min,8min为最小间隔,所以在11:28后开始按高峰时段来进行。 第36班次按照高峰车次在11:36出发,每8min发一班,第50班次在13:28出发。2min<4min,4min为最小间隔,所以第51班次车将按照正常时段发车。 第51班次按照正常车次在13:38出发,每10min发一班,第68班次在16:28出发2min<8min,8min为最小间隔,所以第69班次车将按照高峰时段发车。 第69班次按照高峰车次在16:36出发,每8min发一班,第79班次在17:56出发,4min=4min,能够按照高峰最小间隔进行,所以第80班次车,在18:00发车。 第81班次车载18:00发车,再隔10min, 18:10发出82班车,发车结束。 公交发车为 8:30—11:30(平10 时) (180min) 11:30—13:30(高8 峰) (120min) 13:30—16:30(平10 时) (180min) 16:30—18:00(高8 峰) (110min) 18:00—18:10(平 10 时) (10min) 总班次数 / 天 18 15 18 12 2 82 由上表可以知道五月份非节假日得最小班次总数: 所以,考虑到节假日情况下,五月份最少排班总数:
=792+1640=2432(班次)
即考虑到节假日情况,五月份最少排班总数是2432班次。五月份非节假日每天发班时间表见表一、节假日每天发班时间表见表二。