论文关键词:铁路车站 行包 装配 编程实现
论文摘要:行包装配是铁路行包管理的重难点之一,在铁路行包运输中出现的大部分问题均是由行包装配不当引起的。影响行包装配的因素较多,通过对铁路行包装配的流程和影响行包装配的主要因素进行分析,建立了铁路车站行包装配问题的条件约束模型,提出铁路行包装配的目标函数,最后给出了铁路行包装配问题的编程实现方法。
铁路行李包裹运输(以下简称行包运输)是利用铁路客运设施,以随挂旅客列车的行李车为载体的一种运输形式[1],其业务流程如图1所示。近年来,随着行包运输业务量的增长,大部分车站在承运、交付、中转和综合统计报表打印等都实现了计算机的自动化管理。但是,在整个业务流程中的装车单生成部分,现如今依然采用人工或半人工的方式进行处理。由于与“装车”相关的因素较多,所以大多的铁路行包管理系统对此采取回避的办法。如今,在行包运输中出现的大部分问题如货物漏装、错装、中转不畅、快件不快等问题均是由行包装配不当引起的[2]。为此,解决好行包配装问题,优化运载设备的利用率,降低运输成本是一个非常有价值的研究课题。本文从行包管理软件编程的实际出发,提出了一种优化的行包配装算法,并给出了实现方法。
1 行包配装问题分析
行包装配主要是指合理制定待装行包的装配计划。在现有运能一定的条件下,根据行包运达的要求,通过计算机科学的辅助决策,使行李车的利用效率最大[3],最大可能的减少和避免装车错误。铁路车站行包配装归属背包问题,但又与普通的背包问题有一定的不同。普通的背包问题是一对多的关系,而对于本问题的映射是多对多的关系,约束条件需要考虑客运车次、行包到站、运到期限、保价金额、货物优先级和车次的运量、容积、沿途站装卸作业能力等因素,行包配装单的生成流程如图2所示。铁路行包装配问题在学术上属于复杂约束条件的组合优化间题。从图2可以得出铁路行包配装可分解为三步。
Step 1:根据车次和行包到站生成待装车的行包集
行包的到站与车次的停靠站之间有两种情况,一是货物的到站属于当前车次的停靠站,此行包直接加入到备装货物集;二是货物到站不在本次车的停靠站中,但又无直达车,经计算装此趟车进行中转的距离最短,则此到站的行包加入到备装货物集中。
Step 2:根据行包运达要求,生成当前车次的装车单
第一步生成的是应装车的货物清单,目前铁路行包运输还达不到应运即运的程度,因此还应根据行包运达的要求,通过计算机科学的辅助决策,使行李车的利用效率最大,最大可能的减少和避免装车错误[8]。装车单生成的约束条件主要有重量和体积等方面。
Step 3: 人工调整确认装车单
计算机辅助生成的装装配计划应基本达到了最佳优化装车方案,但由于车站运输的某些临时特殊要求,车站行李员可对装车单在一定许可范围内进行调整。
2 行包配装问题的数学模型令待运行包集合为X,车站发车车次集合T。二者的映射定义为:
ƒ:X → T (1)
现在要为每一趟车进行配装,生成每一车次的装车单:x ∈ X。为了求解x,首先要确定映射关系ƒ。由公式(1)可以看出,即使确定了ƒ,也很难最终求解x,如果能求出T中一个车次的结果,则其他车次依此类推,便可求出全部解。由此将公式(1)简化为:
ƒ(x) →Ti (1 £ i £ m,共有m趟车) (2)