运用遗传算法解决铁路货运乘务员调度问题
1. 引言
随着国际贸易的持续扩张,企业致力于提高运输可靠性并降低环境影响,铁路货运需求逐年递增,铁路货运运营商也在努力提升运营效率。在铁路货运运营成本中,乘务员成本占比达 20 - 25%,仅次于燃料成本。因此,调度流程的微小改进都可能为企业每年节省数百万英镑。
铁路货运行业的乘务员调度问题(CSP)旨在为火车司机制定日程安排,即“运行图”。每个运行图需涵盖司机当天驾驶的所有列车,且必须在同一车站开始和结束,同时遵守所有劳动法律和工会协议。这些规则规定了运行图的最大时长、连续和累计驾驶时间上限以及最短休息时间。
司机通常从车辆段出发和结束工作,车辆段在英国分布较为均匀。有时,为了连接起止地点不同的两个行程,司机可能需要乘坐客运列车、出租车或其他司机驾驶的货运列车,这种在职期间以乘客身份出行的情况被称为“空驶”。空驶成本因交通方式和运营公司间的商业协议而异,尽管可能产生成本,但有时空驶不可避免且有助于优化整体调度。
考虑到司机按工作时长支付相同小时费率,且每年有固定工作时长,企业有必要高效经济地利用这些约定工时。因此,运行图的运营目标如下:
- 最小化年末未使用和多余的合同工时,使运行图时长接近平均 8.5 小时(即年度合同工时除以工作日数量)。计算公式为:$T_{diagram} = T_{driving} + T_{deadheading} + T_{break} + T_{idle}$,且$T_{diagram} \to T_{average}$。
- 最大化油门时间,即实际驾驶列车时间在工作班次中的占比,排除空驶和行程间等待时间。计算公式为:$Throttle\ Time = \frac{T_