从国外对驾驶员调度问题的研究来看,最先对这个问题进行深入分析的是英国利兹大学 Weaver、Wren 和美国的 Elias[3]等人。在 60 年代时,Elias 就使用启发式方法将行车计划划分成一个连续驾驶段的集合,然后再组合两个连续驾驶段生成班次,在生成的所有班次中成本最低的解决方案就是驾驶员调度问题的最佳解决方案。 TRACS[4]系统是英国利兹大学的 Weaver 和 Wren 在前人研究的基础上开发出来的,此系统可以分为两个部分,第一部分是对程序进行初始化,主要是对问题生成好的初始解,第二部分是有一些优化程序,对初始解进行改进。这个系统是针对特定的问题建造的,它在适应性的问题上有着极大的缺陷,如要更改问题的需要则要对系统进行重新设计。 RUCUS[5]系统是由 MITRE 公司设计的驾驶员和车辆的调度系统,该公司得到了美国公交公司的支持,其后,很多加拿大和美国的公交公司都引入了这个系统。这个系统和 TRACS 系统有很多类似地方,它也是首先生成一个初始解决方案,再把这个解决方案进行改进,针对初始解的生成 RUCUS 系统使用只有一个连续驾驶段,然后把没有分配的小班次加进去,初始解生成后,调整班次的换班机会来降低其成本。这个系统的算法也被称作是转换与交换。 到了 70 年代的后期,英国利兹大学研制开发了 IMPACS[6]系统,该系统使用集合覆盖的模型,由于该问题的变量大和约束条件多,系统使用了启发式的方法,并针对问题模型来增加一些软规则。这些软规则可避免一些无效班次和不好的班次产生。该系统使用启发式方法减少了工作块和班次的数量,最后使用整数规划的方法选取最优解。 为了满足公共交通驾驶员调度和铁路调度这两个问题的需求,在 1994 开始研发 TRACSⅡ[7]系统。TRACSⅡ和 IMPACS 的方法几乎一样,但该系统经过重新的设计其组成部分,并且融入了一些新的算法。它主要包括了三个主要阶段,第一个阶段是班次的生成,用来建立所有的可能班次;第二个阶段是对上一个阶段所生成的班次的做进一步的处理;第三个阶段是使用算法来对问题的模型进行求解。TRACSⅡ系统在国外已有很多的成功案例,它使用集覆盖的模型使得最终的解决方案中可能会有交错的驾驶段,导致人员的在班时间增加了,对于这个问题通常会在生成的班次实施之前利用人工来对其进行排除。
第二章 驾驶员调度问题分析
公交公司与一般的企业的工作特点和性质并不是完全相同。运营的车辆是连续作业的单车。每组车的运营时间和在时间上的车辆数都不相同,还有劳动班型和排班数也不尽相同,导致每位驾驶员在不同的时间和班次去完成相应的营运任务。这个营运任务是根据行车计划和驾驶员调度表相连接的。驾驶员调度问题在通常情况下都是在已经分配好的行车计划上面,对驾驶员进行分配工作。简单的说就是安排哪一位驾驶员负责哪一个车辆在那一条路线上如何驾驶。
2.1 驾驶员调度问题的基本概念
驾驶员调度问题是依据行车计划安排驾驶员,它需要满足以下几个方面的要求:所有驾驶员的工作要包含所有车辆的行驶计划,即驾驶员的工作集合需要完全覆盖运营车辆的任务,一天里单个驾驶员的工作通常由一辆或多辆运营车辆的几个工作段组成。不难看出,驾驶员调度问题是个比较复杂的组合优化问题。下面我们对驾驶员调度问题中的相关概念做一下简单的介绍:
2.1.1 行车计划
行车计划(Route Plan)就是车辆的发车时刻表,它需要保障运营车辆的有序的进行工作。行车计划含有某条线路车辆调度时刻表,运营的车辆从一个车场开始直到车辆驶回同一车场才能作为结束。一条线路的行车计划是需要由多辆车的发车情况组成。在一般情况下发车的类型分为三种:正常发车、区间发车、空始发车。
正常发车:运营的车辆在线路上的首站或末站发车,载客运营,到达末站或首站,这种发车类型即为正常发车;
区间发车:运营的车辆在线路上的首站或末站发车,载客运营,在未到达末站或首站之前就返回,这种发车类型即为区间发车;
空始发车:车辆由车场驶出到达线路上开始运营及车辆结束运营工作后驶回车场,其途中一般不会载客,这种发车类型即为空始发车;
驾驶员调度就是合理的把时间表里的运营的车辆工作进行合理的划分,并把划分好的工作分配给驾驶员的过程,整个过程要达到的目标就是让班次的数量最少和运营成本尽可能的低。下面对驾驶员调度的相关定义做一下介绍: 小驾驶段(Piece of Work):又被称作是工作块,是两个临近换班地点之间
的工作。 连续驾驶段(Spell):由多个小驾驶段组成,连续工作不能够被中途打断,也就是说在这个工作之中不能够更换运营车辆以及驾驶员。 图 2-4 描述了行车计划、小驾驶段和连续驾驶段的关系。
第三章 基本蝙蝠算法及其改进
3.1 基本蝙蝠算法(Bat Algorithm)
3.2 类电磁机制算法(Electromagnetism-like Mechanism)
3.3 结合类电磁机制的蝙蝠算法 EMBA
3.4 EMBA 算法的参数设置实验
3.5 本章小结
第四章 基于 EMBA 的驾驶员调度问题模型与求解
4.1 驾驶员调度问题模型
4.2 构建初始解
4.3 基于 EMBA 算法求解驾驶员调度问题
4.4 实验对比
4.5 本章小结
第五章 总结与展望
本文首先介绍了驾驶员调度问题的国内外发展现状以及驾驶员调度问题的相关概念,驾驶员调度问题是极其复杂的交通规划系统的一部分,有效的优化驾驶员调度能提高公交的运行效率的和降低公交运行的成本。通过对驾驶员调度问题数学建模,明确了问题的约束和优化目标,并对蝙蝠算法和类电磁机制算法进行了详细分析,再用类电磁机制算法来改进蝙蝠算法。本文基于 EMBA 算法来解决驾驶员调度问题,即在考虑驾驶员调度问题的换班机会、车辆行车计划、劳动规则要求等约束条件下找到能覆盖所有行车计划的最少班次的基础上,借助EMBA 算法对建立的驾驶员调度问题进行求解。在最后,本文结合北京市公交集团的数据,进行了实验分析。通过论文的实验分析和研究,我们可以得出以下结论:
(1) 通过对驾驶员调度问题的研究越来越深入,驾驶员调度问题的解法变得越来越多样化,本文针对蝙蝠算法局限性,对蝙蝠算法中引入了类电磁机制算法,并将改进后的蝙蝠算法引入到了驾驶员调度问题中去。
(2) 通过实例的计算和其结果的分析,说明改进后的蝙蝠算法在求解驾驶员调度问题上可控制在合理的时间范围内。
(3) 基于类电磁机制的蝙蝠算法的参数设置对算法的性能有着一定的影响,可通过实验分析和研究的方式来指导算法的参数及其设置,以便获得更好的性能。