v1.0可编辑可修改1公交司机排班方案程晨药学院1040714公交司机排班方案v1.0可编辑可修改2一摘要公交司机如何排班影响到了公交客运是否健康的发展。合理的排班方案有利于司机调度与乘客的出行。为了使各方利益达到最大化,现在我们利用均匀分布模型给出公交司机排班方案的最优化。为了给出公交司机排班方案的最优化解,首先针对问题一,我们将节假日与非节假日的发车时间一览表排出来其次求出当月最少班次总数。然后,对于问题二,我们先利用matlab随机给数,得出正常期与高峰期的平均发出时间间隔。再建立0,1模型,每一个司机对于这一班车只有两种情况,开或不开。对于问题三,只是比问题二多了几个条件,只需将模型优化一下即可。关键词:最优化解随机给数0,1模型v1.0可编辑可修改3二问题重述问题重述目前,随着南京市经济进一步的发展,道路变得越来越多。公交优先,百姓优先,为此南京市公交总公司开辟了各种线路,有市内线,近郊线,远郊线,旅游线,机场线,社区线等140多条线路,以满足老百姓出行需要。而现实是有的线路司机不足,常常存在向其他车队借调司机和车辆跑班,影响其他线路的排班秩序;有的线路司机需要每天开车12~13小时,影响司机的休息,从而给交通留下安全隐患;有的线路因经常堵车,打乱了线路调度计划,使得交接班司机和乘客怨声载道。一般,公交公司按月给司机排班。下面是某条线路的基本情况(附件),请你根据有关数据完成下列问题。规定:(1)司机每天上班时间不超过8小时;(2)司机连续开车不得超过4小时;(3)每名司机至少每月完成120班次。问题一:根据五月份的节假日情况,求出当月最少班次总数;问题二:阐述你对上述规定的理解(模型假设),并根据你的理解建立适当的数学模型,合理地设计五月份该线路的司机排班方案;问题三:根据五月份该线路的司机排班方案,计算出每天需要的司机人数,假如规定每个司机每周连续工作五天,休息两天。请你通过某周(周一至周日)需要司机人数求出司机总数最少的排班方案。附件:1、该线路的开收班时间:v1.0可编辑可修改4夏令(12月~3月):6:15~18:20,冬令(4月~11月):6:20~18:102、该线路的司机人数:15人3、该线路排班间隔:平时:8~10分钟/班;10高峰(上下班):6:00~8:30,11:30~13:30,16:30~18:00:4~8分钟/班节假日:5~10分钟/班104、该线路的运行时间:正常:80~85分钟/班85高峰:100~120分钟/班120问题分析城市城际公交拥有运量大、速度较快、污染低、安全、便宜、方便等优势,逐渐成为全国各城市客运交通系统的骨干。目前,基于节能减排新观点深入人心,我国正在大力推行城市公交系统的建设,而公交司机的排班成为了公司领导、司机、百姓最为关注的问题。随着人们时间观、舒适观、及权利的维护观相对提升,制定高效的司机排班方案越来越难,其不仅要考虑社会效益、节假日安排、乘客乘坐能力,还要考虑公交公司的收益状况、公交司机的跑班时间安排等情况。司机跑班制度安排将直接影响公交公司的利益及普通百姓的上班出行情况,不合理的排班方案会是公交资源的浪费,也会使百姓对公交怨声载道失去信心。因此,城市公交司机排班方案的制定是一项比较复杂的系统工程,并且受到政府、公交公司和百姓的热情关注。传统的排班制度的制定大多依赖于临时客运量的变化随即安排的,这种做法导致了诸多问题,如:司机过度跑班引起安全隐患、百姓等车过长或过度拥挤乘车,怨声载道……这种传统的排班制度不能带来双赢甚至多赢。高效的司机排班制度要考虑到各方的利益,采取分层分段的方式进行研究,从而能达到各方利益共同兼顾的目标。v1.0可编辑可修改5三模型假设1.公交司机的身体状况良好2.不裁剪也不增加该路公交司机的人数3.即使高峰时期班次的时长也不会超过120分钟4.每日的乘客量基本相同5.公交车排除各种故障的影响6.不考虑其它的外界因素7.本论文涉及时间的数据均以整分钟计8.班次时长是指来回的时间9.五月有9个休息日无假日四符号说明it1------这班车高峰期的发车时间间隔it2-----这班车正常期的发车时间间隔n----------每日发车班次总数1it--------第i班车的上一班车发车时间t高峰期总的时间间隔t2-----------正常期总的时间间隔T----------一天的工作时间m---------每天发车的时间ijkx------第i个司机跑第j天是否跑第k个班次ijkC---------第i个司机跑第j天的第k个班次所用的时间。t----------前后两班车次的时间间隔v1.0可编辑可修改6P-------公交司机人数五模型的建立与求解问题一的模型非节假日公交最少班次表高峰平时高峰平时高峰平时时间班次时间班次时间班次时间班次时间班次时间班次6:2018:461911:443713:465216:447018:10816:2828:562011:523813:565316:52716:3639:062112:003914:065417:00726:4449:162212:084014:165517:08736:5259:262312:164114:265617:16747:0069:362412:244214:365717:24757:0879:462512:324314:465817:32767:1689:562612:404414:565917:40777:24910:062712:484515:066017:48787:321010:162812:564615:166117:56797:401110:262913:044715:266218:04807:481210:363013:124815:36637:561310:463113:204915:46648:041410:563213:285015:56658:121511:063313:365116:06668:201611:163416:1667v1.0可编辑可修改78:281711:263516:26688:361811:363616:3669节假日公交最少班次表时间班次时间班次时间班次时间班次时间班次6:2019:201912:203714:505217:50706:3029:302012:303815:005318:00716:4039:402112:403915:105418:10726:5049:502212:504015:20557:00510:002313:004115:30567:10610:102413:104215:40577:20710:202513:204315:50587:30810:302613:304416:00597:40910:402713:404516:10607:501010:502813:504616:20618:001111:002914:004716:30628:101211:103014:104816:40638:201311:203114:204916:50648:301411:303214:305017:00658:401511:403314:405117:10668:501611:503417:20679:001712:003517:30689:101812:103617:4069v1.0可编辑可修改8模型一的分析:首先本文假设5月有9个休息日,而无假日,其次,问题一是‘根据五月份的节假日情况,求出当月最少班次总数’,所以我们在时间数据方面都是以最长时间作为参考数据的。5月最少班次总数:72*9+81*22=2430次模型二发车的时间间隔是在一定范围内浮动的,不确定的。司机会根据等待人数的多少来选择间隔时间。如,高峰期,发车间隔为4-8min,当等待的人数较多时,司机就会选择较短的时间间隔4min发车,而较少的人数时则会选择8min。在一天之内,发车的时间间隔大致服从随机均匀分布函数,运用此函数分别算出高峰期与正常期的发车时间间隔的随机均匀分布,并把数据分别保存在数组it1和it2中,以备后期计算使用。为了计算非节假日每日发车班次总数n,首先,我们用1it表示第i班车的上一班车发车时间,it1表示这班车高峰期的发车时间间隔,t1表示高峰期总的时间间隔。it2表示这班车正常期的发车时间间隔,t2表示正常期总的时间间隔。T表示一天的工作时间。m表示每天发车的时间,初始值设为0。用数学式子表达如下:4《it1《88《it2《10t1+t2》710iiittt11或者iiittt21此式子由MATLAB编程可解出每天需要的班次数n。由于每次运用随机均匀分布函数所产生的数据不同,则结果n也不同。故我们采样了40个结果数据,数据如下:次数班次数次数班次数次数班次数次数班次数1981198219931100v1.0可编辑可修改92991297229932983981399239733101410114972499349959915100251013596699169826983699797171012798371008991898289738999101199929993910110982010130974098为了使一天的班次数更接近现实,我们采用取平均值的方法来求出每天总的班次数为,整为99。故每天的总班次数为99次。同理,节假日的班次数也可以如此计算,次数班次数次数班次数次数班次数次数班次数198119321933194294129722983296397139723983397498149324953491596159525933595695169526943693796179527101371008971895289838999931993299639921099209730984095为了使一天的班次数更接近现实,我们采用取平均值的方法来求出每天总的班次数为,整为96。故节假日每天的总班次数为96次。v1.0可编辑可修改102.为了求解需要的司机数及排班方案,我们建立如下0,1模型:个班次天的第个司机不跑第第个班次天的第个司机跑第第kjikjixijk,0,1ijkC:第i个司机跑第j天的第k个班次所用的时间。t:前后两班车次的时间间隔数学表达示如下:目标函数minP31,2,19911jxpinkijk%每天至少99班次nkmjpixxxijkijkijk,2,1;2,1;2,1321%司机不能连续开三班pixmjnkijk,2,112011%每个司机每月至少开120班次mjpicxnkijkijk,2,1;,2,14801%每个司机每天的工作时间不超过8小时71011nkiitt%不存在加班情况模型三要求每个司机每周连续工作五天,休息两天,通过一周需要司机人数给出司机总数最少的排班方案。所以无论是正常期还是高峰期,公交往返一次的时间我们都去取最小值,而发车时间间隔都取最大值,这样就可以使排班司机总数最少。非节假日:个班次天的第个司机不跑第第个班次天的第个司机跑第第kjikjixijk,0,1ijkC=80,第k班在正常期内所用的时间v1.0可编辑可修改11100,第k班在高峰期内所用的时间t=8,第k班在正常期内前后两班车次的时间间隔10,第k班在高峰期内前后两班车次的时间间隔nkmjpixxxijkijkijk,2,1;2,1;2,1321%司机不能连续开三班pixmjnkijk,2,112011%每个司机每月至少开120班次mjpicxnkijkijk,2,1;,2,14801%每个司机每天的工作时间不超过8小时71011nkiitt%不存在加班情况0nkijkx01nkkijx02nkkijx03nkkijx04nkkijx05nkkijx06