俞丹俊
(福建船政交通职业学院 经济与管理学院,福建 福州 350007)
海港作为国际运输链的一部分,在保证货物快速周转方面发挥着关键作用,是船只运输货物的转运基础设施。在港口码头的转运服务期间,集装箱被临时存放在堆场上,存放时间称为停留时间,这是评价集装箱码头作业效率的关键指标[1]。由于确切的装卸顺序事先不知道,因此在集装箱再次作业时,经常会发生搬运阻塞,即需要搬运的集装箱被压在底下,需要进行倒箱操作。因此,确定一个堆垛策略以减少此类非必要的倒箱操作,进而最大限度地降低停留时间显得尤为重要。
研究集装箱堆垛方法的文章较多[2-4]。有些方法考虑将决策分为两个阶段,第一阶段进行集装箱聚合,第二阶段进行集装箱确切位置实施决策[5]。Hee最早提出集装箱装卸作业决策支持系统(decision support system,DSS)[6],Héctor等对集装箱码头堆垛作业的研究进行了文献综述[7]。学者们不断进行并丰富着相关研究[8-9]。然而,虽然停留时间是港口码头的一个关键性能指标,但现有文献中关于停留时间预测的研究较少。
笔者提出了一种考虑集装箱停留时间的决策支持系统(decision support system considering dwell time,DSS-DT),采用数学规划及启发式算法,利用历史数据预测集装箱停留时间,并设计有效的堆垛规则,实现最大限度地减少再搬运次数,以降低运营成本,提升港口服务水平。
首先,笔者为DSS-DT做了2点假设:一是假设进出口集装箱的堆放区域是分开的,这是集装箱码头常见的分区方式;二是假设集装箱的出场顺序未知,在没有实行预约制的情况下,集装箱出场顺序取决于收货人的物流,表现出不可预测性,这在中小型港口中较为普遍存在这种情况。基于以上2点假设,提出了本文的DSS-DT(构架如图1所示)作为集装箱码头操作层面的一个终端系统,旨在解决进口集装箱进场堆垛问题。
图1 DSS-DT架构
DSS-DT包括2个模块:第1个模块是一个利用高级分析技术对集装箱停留时间进行预测的模型,可以在几秒钟内完成分析预测任务;第2个模块是一个堆垛策略模型,结合上一模块预测的集装箱停留时间,考虑船舶、泊位和堆场的状态信息,使用数学模型将集装箱分配到具体位置,这一规划模型的运行速度也非常快。
关于停留时间预测这个模块,笔者主要参考Fayyad等提出的KDD(knowledge discovery in databases)方法[10],利用历史数据进行预测。KDD包括数据选择、预处理、转换、数据挖掘、评估和信息提取等步骤。利用多元线性回归、决策树、随机森林等方法可对近3~5年的集装箱运输数据进行拟合,并实现对集装箱停留时间的预测。根据预测的停留时间可将集装箱分为不同的类别,并依托数据设置不同类别阈值的具体参数(如百分位数)。由于单一的预测模型并不总能保证预测的准确性,因此,本文对停留时间的预测分别采用多元线性回归(通常使用最小二乘法)、决策树(使用if-then规则递归分析)和随机森林(多个决策树联合预测)3种方法,并对预测结果进行评价比较,选取较为可靠的预测结果。用于比较分析各方法预测准确性的指标为平均绝对百分比误差(mean absolute percentage error,MAPE)和平衡精度(balanced accuracy,BA)。MAPE用于评价回归模型,表征预测值与实际值之间的百分比误差;BA用于评价多类分类问题,并计算所有类的平均召回率,平均召回率=正确的类别匹配数/实际的类别事例总数。
关于第二个模块(集装箱堆垛规划),以尽量减少再搬运为目标,通过两个步骤实现:首先,进行集装箱分区,进站集装箱被分配到若干个不同的区域里;然后,利用启发式算法,计算集装箱在该区域里的精确位置。
2.2.1 集装箱分区
这一步涉及将集装箱分配到某一特定区域里,笔者参考了Chen等建立的规划模型[5],并从中提取出一些元素建立了一种新的数学规划模型。Chen等的模型中既包括最小化行驶距离,也包括港口的平衡工作负载。DSS-DT模型中港口的平衡工作负载问题包含在下文的堆垛策略中,这里仅考虑行驶距离作为最优化的目标。由于DSS-DT模型是在Chen的基础上变化而来,而且本文关注的重点是各个区域内集装箱堆垛的问题,因此在这里不做详细介绍。
2.2.2 集装箱堆垛
由于集装箱在各个区域内的合理堆垛问题为典型的NP-Hard问题,较难寻求精确解,因此,可以利用启发式算法对模型进行求解。较为常用的启发式算法有:基于标称预测的序列叠加、基于数值预测的序列叠加以及基于标称和数值预测的序列叠加。
集装箱在各个区域内的BaRoTi(位bay、排row、层tier)坐标系中进行三维堆放。堆放顺序既可以是水平,也可以是垂直,主要取决于码头管理政策和可用的堆场设备。在水平方案中,集装箱被逐层放置,整层被填满后,下一个集装箱便需要放置在上一层的相应位置上。另一方面,如果采用垂直策略,集装箱将被逐排堆放,一旦某一排被填满,下一个集装箱需要放置在下一排的相应位置。堆场设备限制了可采用的策略,当使用轮胎式龙门吊时,可以按照水平和垂直策略堆垛集装箱;然而,如果使用叉车等设备时,只能使用垂直堆码策略,因为车辆只能进入区域中没有集装箱堆放的位置。图2显示了2两种堆垛策略的区别。
图2 水平堆垛策略和垂直堆垛策略示意图
那么,如何利用预测的集装箱停留时间来支持堆垛策略呢?笔者将预测的停留时间视为将一个集装箱放置在另一个已堆叠的集装箱之上的依据,或者反过来,可以根据停留时间预测值使用数据分块将集装箱分类。这两种情况下,集装箱的堆放方式使预计停留时间较长的集装箱位于停留时间较短的集装箱下方。图3以颜色表示集装箱的停留时间类别,颜色越深,表示停留时间越长。这一堆垛策略可以同时应用于水平堆垛和垂直堆垛,本文笔者仅描述了水平堆垛方案的启发式算法,且假设停留时间只分为短、中、长3个类。
图3 按停留时间长短进行水平堆垛示意图
算法的相关变量、参数的定义如表1所示。
表1 算法的相关变量、参数的定义
显然,船只s上的集装箱i的预估二次搬运时间可表示为:
以堆场上需要二次搬运的集装箱的总数量NR最小为目标,对3种集装箱堆垛策略进行评估,其中NR可表示为:
算法代码如下所示:
采用数值模拟的方法验证本文提出的DSSDT的有效性,数值模拟的基本参数设置如下。
(1)模拟总时长为700h(约为一个月),期间到港有中转箱业务的船只6艘(随机分布在模拟时间内),每艘船只可容纳集装箱总量为300个;
(2)码头设置区域20个,共有集装箱贝位200个,可堆垛标准集装箱2 600个,每个集装箱贝位可容纳集装箱的数量随机生成,且最大占用率为70%(多数码头在货运高峰情况下的常用做法);
(3)码头内可供船只停泊装卸的泊位共6个,每个泊位的船只均可利用任何有空余的集装箱贝位。
设计两种需求场景。1)平峰需求场景:初始时刻,港口中堆放集装箱数量为500个,模拟时长(700 h)内到港集装箱数量为250个(随机分布在到港的6艘船只上);2)高峰需求场景:初始时刻,港口中堆放的集装箱数量为1 000个,模拟时长(700 h)内到港集装箱数量为500个(随机分布在到港的6艘船只上)。
每种需求场景中每个集装箱到港停留时间以正态分布(期望30 h,方差为10)的形式随机给出。在每种需求场景中分别利用两种集装箱叠放方法(水平优先、垂直优先)对集装箱进行堆垛模拟。同时,在计算叠放策略时,分别采用考虑集装箱停留时间和不考虑集装箱停留时间(顺序堆放)两种算法。
分别对合计8种情况(需求场景2种、堆垛方法2种、策略算法2种)进行100次仿真模拟,取平均值。两种不同需求场景的仿真模拟结果见表2、表3。
表2 平峰需求场景下集装箱到港堆垛倒箱次数模拟结果
表3 高峰需求场景下集装箱到港堆垛倒箱次数模拟结果
从仿真结果可以看出:1)高峰需求场景下集装箱的倒箱次数要高于平峰需求场景(大约高出平峰需求1倍);2)相比垂直优先堆放方法,水平优先堆放可有效降低集装箱倒箱次数;3)利用考虑停留时间算法计算得到的堆垛策略可有效降低集装箱倒箱次数,尤其是采用水平优先堆垛方法,同时,其计算结果稳定性也较高(方差较小)。
提出了一种考虑集装箱停留时间的码头堆垛决策支持系统,利用集装箱停留时间的历史数据信息预测每个集装箱的停留时间。基于此,针对水平堆垛制定了区域内集装箱堆垛策略,并利用数学模型和启发式算法将集装箱分配至堆场中的对应位置。通过仿真模拟,验证了该系统可实现最大限度地减少再搬运次数,降低运营成本,提升港口服务水平。但由于客观因素,本系统尚未经过实践检验,在未来的研究中可选取典型港口进行算例验证并作出适当优化。