1. 引言
加快构建以国内大循环为主体、国内国际双循环相互促进的新发展格局下,内河集装箱班轮运输作为内陆城市对外贸易的重要纽带,实现了持续快速增长。为保证班轮运营稳定,班轮公司往往通过价格折扣等方式吸引客户长期合作,除该部分客户外也存在现货市场中的普通客户,其运输需求较合同客户而言具有不确定性。此外,集港过程中海关临时抽检和外集卡到达失约也会导致待装船出口箱箱量发生变化。以上因素增加了内河集装箱班轮航线配载决策的难度,如何考虑随机需求扰动制定班轮航线配载决策,对保障集装箱运输效率和港航利益均很是重要。
针对内河集装箱船配载,Li等[1]针对内河集装箱船舶航线问题,提出可分割需求和不可分割需求下船舶航线和运输策略的混合整数规划模型;郑斐峰等[2]提出0~1整数规划模型,通过cplex求解软件获得精确解;赵雅洁等[3]采用改进的非支配遗传算法,以灰熵并行关联度作为适应度值进行问题求解;段雪妍等[4]建立低碳内河班轮航线配船优化模型,并提出一种基于效用加性方法的多目标线性优化求解方法。
针对班轮运输中存在的不确定因素扰动,余冠桥等[5]考虑班轮运输中市场供需波动导致起讫港需求量的不确定,构建多面体不确定集合与两阶段鲁棒优化模型,采用C&CG算法对模型进行求解;李俊等[6]考虑海关抽检导致外贸箱箱量变化这一随机事件,设计一种包含混合整数规划模型、破坏器与修复器的精确启发式算法完成模型求解;Zhao等[7]关注不同细分客户带来的需求不确定下集装箱船箱位分配问题,利用基本的描述性统计量构建鲁棒优化模型。
综上,本文将箱量随机扰动纳入决策考虑,同时考虑航道水深季节性变化、桥梁通行高度等现实约束,研究箱量随机扰动下内河集装箱班轮航线配载决策优化方法。结合随机规划方法和滚动策略,构建了内河集装箱班轮航线配载决策的随机规划模型。为实现模型有效求解,结合鲁棒优化中的区间预测方法,将随机规划模型转化为等价的混合整数规划模型。同时,设计基于深度强化学习的MDQN算法实现了问题高效寻优。最后结合算例研究论证了所构建模型与算法的有效性。
2. 问题描述与建模分析
在内河集装箱班轮航线运输场景下,为确保航行安全,除了桥梁通行高度限制外,枯水期和丰水期交替带来航道水深季节性变化等因素也需要纳入配载决策考虑,如图1所示。在班轮航线配载决策中,受箱量随机扰动的影响,运输需求在不同时段和不同港口可能出现波动,导致配载决策呈现多阶段特性。具体来说:对于当前港口的出口箱而言,在集港过程中普通客户需求的临时到达可能导致待装船箱量的增加,而外集卡到达失约或是海关抽检导致外贸箱延误等均可带来待装船箱量的减少。
Figure 1. Schematic diagram of container ship navigation restrictions
图1. 集装箱船航行限制示意图
为此,从内河集装箱班轮航线配载决策实际需求出发,将内河场景下的桥梁通行高度和航道水深等限制纳入考虑,并考虑箱量随机扰动影响依次制定班轮航线所有港口待装船集装箱的配载计划。考虑到箱量随机扰动这一事件带来的多阶段特性,综合保证班轮运输经济性和配载计划的鲁棒性,以最小化班轮堆栈占用数量和相邻阶段间配载计划偏差为目标进行优化。
3. 模型构建
考虑到班轮航线配载具有无后效性,基于多阶段决策方法,将其决策过程按遍历港口先后顺序依次展开。同时,针对内河集装箱班轮运输中出口箱箱量变化特点,采用一种滚动式调度策略,该策略依据箱量随机扰动事件来动态调整配载方案,将当前港口的配载决策分解为多个阶段,考虑相邻阶段的决策偏差最小,并在每个阶段选择最优决策,以实现整体最优化[6]。
3.1. 模型假设
考虑到内河集装箱班轮航线配载问题特征,基于现实场景约束,做出以下假设:
1) 考虑同一尺寸的标准集装箱;
2) 集装箱集港过程中存在普通客户需求临时到达和外集卡到达失约的情况;
3) 集装箱集港后存在海关临时抽检导致外贸箱延误的情况;
4) 鉴于内河航运去程和回程之间货物流量存在不平衡的情况,为了简化问题,只考虑航运的去程阶段;
5) 在任意港口集装箱均可全部装船,不存在集装箱选择问题。
3.2. 模型建立
参数和变量设定如下:
1) 集合。
表示航线港口集合;
表示船舶的一组航程,通常称为“航程腿”;
表示航线上港口i对应的
副集合,
;
表示航线上途径港口i的
副集合,
;
表示航线上从港口i始发的
副集合,
;
分别表示班轮前半部、班轮后半部堆栈的集合,
;
分别表示班轮左半部、班轮右半部堆栈的集合,
;
表示集装箱重量等级集合(轻、中、重);
:当前港口i的阶段数集合,
。
2) 参数说明。
表示当前港口i截港时的最后阶段;
表示t阶段,从当前港口i流向后续港口d的重量等级为g的待装船集装箱箱量
;
表示在t阶段,由合同客户确定需求从当前港口i到后续港口d的重量等级为g的待装船集装箱箱量
,
;
表示在t阶段,受普通客户需求临时到达、外集卡到达失约或外贸箱因海关检查延误影响下从当前港口i到后续港口d的重量等级为g的待装船集装箱箱量
,
;
表示船舶在航程腿m上必须满足的高度限制
,
;
表示船舶在航程腿m上必须满足的水深极限
,
;h表示集装箱的高度使船舶的货舱平均增加
;
表示集装箱的重量会使船舶的吃水平均增加
;S表示座舱与货舱之间的相对高度
;Q表示当船没有装载集装箱时,驾驶舱与河面之间的相对高度
;F表示当船舶未装载集装箱时的吃水
;
表示船舶允许的最大纵向重量差
;
表示船舶允许的最大横向重量差
;
表示堆栈b的最大箱位容量
,
;
表示堆栈b的最大载重量
,
;
表示重量等级为g的集装箱的平均重量
;K表示一个大数。
3) 决策变量。
表示在t阶段,堆栈b内a流向下重量等级为g的集装箱箱量
,
;
为0~1变量,若航程腿m上有集装箱流通,则
为1;否则为0,
;
为0~1变量t阶段,若港口i的堆栈b被占用,则y为1;否则为0,
;
为0~1变量t阶段,若港口i的堆栈b被a流向下的集装箱占用,则y为1;否则为0,
。
4) 模型
基于以上描述,构建随机规划模型(Stochastic Programming Model, SPM)为:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
式(1)为优化目标,式(2)和式(3)为各目标计算表达式。式(2)表示航线中任意阶段船舶堆栈占用数量;式(3)表示当前港口相邻阶段的配载计划偏差。式(4)~式(21)为约束条件。式(4)表示任意港口的所有集装箱都可以装船;式(5)表示当前港口在任何阶段都需要满足集装箱流量平衡;式(6)表示船舶到港时已装船集装箱的箱位固定;式(7)和式(8)表示船舶任意堆栈满足最大箱位容量和载重量约束;式(9)表示当前港口任意起始港到目的港(O-D)副航线上的集装箱至少占用一个堆栈;式(10)表示船舶任意堆栈最多只能被来自一个起始港到目的港(O-D)副航线的集装箱占用;式(11)为决策变量约束,当
时,在t阶段,港口i的堆栈b被a流向下的集装箱占用,则在该阶段港口i的堆栈b中存在从起始港到目的港(O-D)流向集装箱,即
;当
时,堆栈未装载集装箱,此时
;式(12)表示确保当前港口任意阶段的船舶满足纵向重量差的约束;式(13)表示确保当前港口任意阶段的船舶满足横向重量差的约束;式(14)表示船舶货物的高度不高于船舶座舱的高度;式(15)表示船舶必须能够通过每条航程腿的桥梁;式(16)表示船舶必须满足每条航程腿的水深限制;式(17)和式(18)表示以该航段船舶的集装箱运输量为转移变量的约束。这些约束保证了在船舶选择了最后一个停靠港后,航行限制不会生效;式(19)~(21)定义了决策变量的取值范围。
3.3. 模型转化
以上构建的随机规划模型无法直接求解。基于鲁棒优化中的区间预测方法,将随机规划模型转化为等价的混合整数规划模型。将运输需求的不确定区间划分为多个范围,为每个区间设定名义值和最大偏差并用比例偏差衡量需求与名义值的偏离。
令运输需求的不确定区间为
,并将其划分为多个区间范围r,
。其中t阶段,区间范围r内的运输需求的名义值用
表示,区间范围r内的运输需求
与运输需求的名义值的最大偏差用
表示,
,
为运输需求的扰动水平。用0~1变量
表示t时间段的运输需求
是否在区间范围r内。其中
,式中
表示t时间段内不确定运输需求与其在区间范围r中的名义值
的比例偏差。不确定箱位数
限制了随机需求落在区间范围r内的最大数量,以及不确定箱位数
限制了偏离其给定范围内运输需求名义值的数量[8]。在模型SPM中,与集装箱项链有关的约束条件(5)基于以上参数设置,并参考文献[8]对其进行转化,转化后结果如下所示:
(22)
(23)
(24)
(25)
通过以上转换,得到了转化后的混合整数规划模型(Mixed Integer Programming Model, MIPM):
4. 算法设计
集装箱船舶配载问题为复杂的组合优化问题,数学模型难以保证在可接受时间开销内实现大规模问题有效求解,而近年来结合深度强化学习的组合方法已在多类优化问题中展现出良好性能,为组合优化问题的高效求解开辟了新的途径[9]-[12]。其中,作为深度强化学习算法的主要代表之一,DQN算法实现简单,通过引入经验回放和目标网络两大模板,显著提升了算法的实际应用效果,尤其适合于求解动作离散的问题场景。为此,本文考虑深度强化学习算法与数学规划方法结合,设计了一种初始解构造和基于均方误差评价函数的改进DQN算法。该算法由两部分组成:在第一部分,由于不存在上一阶段,松弛掉子目标(3)和约束(22),求解模型MIPM得到配载决策的高质量初始解;第二部分基于DQN算法对初始解进行预决策,通过持续评估与优化循环来提升算法性能。
4.1. 初始解生成
对模型MIPM,松弛掉子目标(3)和约束(22)可得到当前港口初始阶段的配载决策模型MIPM(0)如下,求解该模型得到当前港口的初始配载方案。
4.2. DQN算法设计
在配载问题中,决策者在每个时刻基于每个港口的货物装载情况做出合理安排货物装载后,系统转移到新状态,每次决策仅受当前状态影响,与历史决策无关,即无后效性,因此可将配载问题定义为马尔科夫决策过程(MDP)。图2显示了DQN算法框架[10]。算法主要思路如下。
Figure 2. Framework of reinforcement learning
图2. DQN算法基本框架
深度神经元网络通过最小化损失函数
来进行训练,在每次迭代中更新。
(26)
表示下一个状态,
表示下一个动作。
(27)
采用随机梯度下降法对损失函数进行优化,每次迭代后权值都会更新。
为在强化学习中处理以往未遇到的新状态,引入评价函数的近似函数,以提高强化学习算法的泛化能力。同时,引入一种经验回放的方法,将时间t的经验存储无经验历史队列D中的
中,然后D随机采样为
以进行小批量更新权重[13]。
(28)
D表示先前状态和动作的序列,
是经验序列D之间的均匀分布。
4.2.1. 配载问题的MDP
在MDP的基础上,建立了配载问题的MDP,见图3。
Figure 3. MDP for stowage planning problem
图3. 配载问题的MDP
1) 状态空间设计。在配载规划中,定义了一个时间步t表示配载的顺序,其中
表示班轮未装载集装箱时的初始状态,
表示装载第一个集装箱时的状态,以此类推。在图3中,状态表示为
,其中
表示整个船舱空时的初始状态,
表示装载第一个集装箱C1时的状态,以此类推。对于每个状态
都存在一组可选的动作。
2) 动作空间设计。在配载计划中,一个动作被定义为将一个集装箱与一个箱位相匹配,不同状态下可用的操作是不同的。
3) 奖励函数设计。在配载规划中,奖励主要体现为目标和约束的实现程度,配载奖励如下所示。
(29)
(30)
其中,公式(43)是可用性的奖励,(44)是重新配载的奖励。
4.2.2. 配载计划评价函数与行动评价函数
(31)
(32)
(33)
(34)
其中,
为配载策略;
为贴现因子,表示下一次配载变动对本次变动的影响;
是在状态s下采取动作a获得状态
的概率;
是在状态s下采取动作a获得状态
的奖励;
是在状态s下采取各种动作的与其奖励或在状态
后装载其他集装箱的预期奖励;
是在状态s下采取动作a的总奖励;
是在状态s下的最大奖励;
是在状态s下采取动作a的最大奖励。
综上,配载决策的改进DQN算法流程如图4所示。
Figure 4. Algorithm flow chart of the loading decision process
图4. 配载决策的改进DQN算法流程
5. 算例研究
5.1. 算例设计
根据国家标准GB/T 19283-2010,以长江集装箱运输为研究对象,基于文献[6]中表1~3的基础数据来生成算例。
5.2. 算例求解
采用文献[6]算例设置,模型MIPM使用Gurobi 11.0求解,首先设置求解时间为60 s,当结果不理想或无法求解时,调整为600 s。基本DQN算法和MDQN算法均基于python 3.8编程实现。参数选取结合文献[13]和实验调试,MDQN算法的参数设置见表1。神经网络模型采用PyTorch框架搭建,版本为1.12.1。所有算例均在8 GB内存笔记本电脑(Intel(R) Core(TM) i5-7300HQ, 2.50 GHz)上求解。
航线各港口均考虑5个阶段的箱量变化,各阶段下不同副流向下集装箱箱量可增可减且箱量变化随机生成。需求扰动下集装箱箱量占总体箱量的10%。由于模型SPM中含有两个子目标,引入权重系数
、
,目标系数设置参考文献[6]。不同算例求解结果见表2~4。其中:
为航线班轮堆栈占用数量,(单位:个);
为班轮航线配载计划偏差之和,(单位:个);t为算例求解时间(单位:秒)。
Table 1. M-DQN learning algorithm parameter settings
表1. MDQN学习算法参数设置
学习比率χ |
折现系数ζ |
随机探索率τ |
内部随机探索率更新 |
经验回放深度 |
隐藏层中的节点数 |
104 |
0.3 |
1至0.1,步长为−0.09 |
1% |
5000 |
128 |
5.2.1. 模型与算法结果
对MDQN算法而言,Q-leaning的目标函数是最优装载数量,由于优化目标
被松弛掉,最优装载数量映射到堆栈占用数量上,故MDQN算法的求解结果中不包含
。
模型MIPM和不同算法的求解结果见表2、表3和表4。三种不同求解方法下的目标函数和各算例编号的求解结果见图5和图6,总求解时间见图7,算例顺序与表2~4一致。在堆栈占用数量方面,由图5可见:除中型班轮S2中个别算例外,MDQN算法求解结果始终优于基本DQN算法。对于小型班轮而言,模型MIPM、DQN算法与MDQN算法求解结果平均偏差较大。但随着船舶体型的增大,伴随着深度强化学习的持续学习和优化,三种方法在中大型班轮的求解结果上逐渐接近。
在相邻阶段间配载计划偏差方面,由图6可得,随着算例规模的增加,模型MIPM与DQN算法的求解结果基本保持一致并在合理范围内波动,表明两种方法在配载计划的鲁棒性方面均表现较优。在求解时间方面,由图7可见:对小型班轮S1而言,Gurobi求解耗时最短,MDQN算法次之,均在5 s之内寻得最优解。对于中型班轮S2而言,三种方法的求解时间均有所增加,Gurobi求解时间仍是最优,但相较于DQN和MDQN算法有明显波动。对于大型班轮S3而言,Gurobi求解时间随算例规模的增加急剧增加,而DQN和MDQN算法仍可在较短时间内完成求解,且MDQN算法表现更好。
Table 2. Model and solution results of different algorithms-liner S1
表2. 模型与不同算法求解结果–班轮S1
算例 |
Gurobi |
DQN |
MDQN |
|
|
|
|
|
|
|
|
S1L1C45 |
66 |
3 |
0.44 |
70 |
4 |
6.3 |
69 |
4.5 |
S1L1C65 |
101 |
3 |
0.53 |
109 |
3 |
6.6 |
105 |
4.3 |
S1L1C85 |
118 |
3 |
1.1 |
133 |
4 |
6.2 |
121 |
5.0 |
S1L2C45 |
64 |
2 |
1.7 |
75 |
4 |
6.4 |
70 |
4.6 |
S1L2C65 |
92 |
3 |
2.1 |
104 |
4 |
6.8 |
104 |
4.3 |
S1L2C85 |
125 |
2 |
1.8 |
135 |
4 |
6.4 |
137 |
4.2 |
S1L3C45 |
70 |
6 |
1.6 |
74 |
6 |
6.1 |
70 |
4.6 |
S1L3C65 |
97 |
6 |
2.7 |
97 |
6 |
6.3 |
97 |
4.7 |
S1L3C85 |
130 |
4 |
2.8 |
144 |
5 |
6.2 |
137 |
5.1 |
S1L4C45 |
70 |
11 |
1.5 |
76 |
12 |
6.8 |
75 |
5.4 |
S1L4C65 |
103 |
10 |
3.3 |
114 |
10 |
7.5 |
113 |
6.2 |
S1L4C85 |
130 |
5 |
3.1 |
147 |
6 |
7.8 |
142 |
6.8 |
平均 |
97.2 |
4.8 |
1.9 |
106.5 |
5.7 |
6.6 |
103.3 |
5.0 |
Table 3. Model and solution results of different algorithms-liner S2
表3. 模型与不同算法求解结果–班轮S2
算例 |
Gurobi |
DQN |
MDQN |
|
|
|
|
|
|
|
|
S2L1C45 |
103 |
2 |
2.1 |
107 |
2 |
34.6 |
105 |
23.0 |
S2L1C65 |
154 |
2 |
3.3 |
154 |
2 |
30 |
154 |
22.8 |
S2L1C85 |
185 |
3 |
5.2 |
192 |
4 |
30.4 |
192 |
21.1 |
S2L2C45 |
104 |
2 |
7.2 |
105 |
3 |
32.9 |
105 |
24.6 |
S2L2C65 |
149 |
4 |
6.1 |
155 |
4 |
34.8 |
155 |
21.8 |
S2L2C85 |
200 |
2 |
18.9 |
204 |
2 |
33.1 |
203 |
34.7 |
S2L3C45 |
103 |
6 |
13.8 |
103 |
6 |
29.2 |
103 |
29.9 |
S2L3C65 |
140 |
5 |
26.7 |
140 |
8 |
30.3 |
140 |
25.5 |
S2L3C85 |
195 |
7 |
13.1 |
203 |
8 |
32.1 |
196 |
20.6 |
S2L4C45 |
100 |
8 |
17.3 |
103 |
8 |
32.2 |
100 |
20.6 |
S2L4C65 |
155 |
10 |
18.3 |
160 |
10 |
32.3 |
160 |
22.1 |
S2L4C85 |
205 |
6 |
15.0 |
205 |
6 |
33.4 |
206 |
22.2 |
平均 |
149.4 |
4.8 |
12.3 |
152.6 |
5.3 |
32.1 |
151.6 |
24.1 |
Table 4. Model and solution results of different algorithms-liner S3
表4. 模型与不同算法求解结果–班轮S3
算例 |
Gurobi |
DQN |
MDQN |
|
|
|
|
|
|
|
|
S3L1C45 |
160 |
2 |
22.5 |
164 |
2 |
33.2 |
160 |
27.9 |
S3L1C65 |
225 |
1 |
13.0 |
233 |
2 |
33.1 |
228 |
27.1 |
S3L1C85 |
307 |
3 |
62.2 |
307 |
3 |
29.5 |
307 |
28.5 |
S3L2C45 |
162 |
3 |
83.5 |
162 |
3 |
33.3 |
162 |
35.3 |
S3L2C65 |
228 |
1 |
83.3 |
230 |
1 |
32.3 |
230 |
37.6 |
S3L2C85 |
304 |
2 |
93.6 |
306 |
2 |
29.4 |
304 |
36.2 |
S3L3C45 |
163 |
4 |
97.2 |
164 |
4 |
30.3 |
164 |
27.8 |
S3L3C65 |
231 |
3 |
90.5 |
234 |
3 |
31 |
234 |
30.4 |
S3L3C85 |
304 |
4 |
125.3 |
304 |
5 |
30.4 |
304 |
30.6 |
S3L4C45 |
165 |
8 |
134.2 |
168 |
8 |
31.7 |
165 |
30.3 |
S3L4C65 |
235 |
8 |
122.6 |
245 |
8 |
30.1 |
240 |
30.5 |
S3L4C85 |
314 |
3 |
180.9 |
314 |
4 |
31.6 |
314 |
28 |
平均 |
233.2 |
3.5 |
92.4 |
235.9 |
3.8 |
31.3 |
234.3 |
30.9 |
Figure 5. Comparison of stack occupancy results of various methods
图5. 堆栈占用数量各方法求解结果对比
Figure 6. Comparison of loading plan deviations in adjacent stages
图6. 相邻阶段的配载计划偏差各方对比
Figure 7. Comparison of total solution time of each method
图7. 各方法总求解时间对比
5.3. 算法泛化能力分析
由于箱量随机扰动导致待出口集装箱箱量的不断变化,需求扰动下集装箱箱量占总体箱量的比例不稳定。因此,需要不断调整和优化配载计划,以应对这些变化。表5~7中展示了需求扰动下箱量占总体箱量5%、10%和15%时,MDQN算法的求解结果。从表中结果可以看出,算法在不同箱量扰动场景下,均在短时间内取得了较好结果。
为进一步说明算法泛化能力,分别绘制了算法求解结果随箱量扰动变化的趋势图,如图8和图9所示。其中,在堆栈占用数量方面,由图8可见:随着需求扰动下箱量占比增加,堆栈占用数量有所增加。在需求扰动下箱量占总体箱量5%和10%时,MDQN算法的求解结果差距较小,泛化能力较好。然而,当比例增加到15%时,需求波动的增加导致数据的复杂性和不确定性大幅增加,MDQN算法难以准确捕捉和预测这些变化,解的质量有所下降。
求解时间方面,由图9可见:对中小型班轮而言,3种比例下的求解时间均能在30 s内完成,表现较为稳定。对大型班轮而言,在需求扰动下箱量占总体箱量5%、10%时,随着班轮体型和班轮装载率的增加,MDQN算法仍可在较短时间内寻得最优解;当比例增加到15%时,求解耗时略有增加但不失稳定性,最大耗时51.1 s,平均耗时44.9 s。总而言之,所设计的算法一经训练完成,可以应用于不同规模下的类似问题,证明了其良好的泛化性。
Table 5. Solution results of M-DQN algorithm under different demand fluctuations-liner S1
表5. 不同需求波动下MDQN算法求解结果–班轮S1
算例 |
MDQN 5% |
MDQN 10% |
MDQN 15% |
|
|
|
|
|
|
S1L1C45 |
67 |
5.7 |
69 |
5.3 |
66 |
9.0 |
S1L1C65 |
102 |
4.6 |
105 |
4.3 |
120 |
7.4 |
S1L1C85 |
120 |
4.7 |
121 |
5.0 |
130 |
9.6 |
S1L2C45 |
68 |
4.9 |
70 |
4.6 |
67 |
7.9 |
S1L2C65 |
103 |
4.2 |
104 |
4.3 |
115 |
7.4 |
S1L2C85 |
133 |
8.6 |
137 |
4.2 |
150 |
6.5 |
S1L3C45 |
69 |
3.8 |
70 |
4.6 |
77 |
8.5 |
S1L3C65 |
94 |
4.4 |
97 |
4.7 |
105 |
8.6 |
S1L3C85 |
132 |
4.0 |
137 |
5.1 |
150 |
8.8 |
S1L4C45 |
73 |
5.8 |
75 |
5.8 |
86 |
10.8 |
S1L4C65 |
110 |
7.4 |
113 |
6.2 |
125 |
12.2 |
S1L4C85 |
140 |
6.7 |
142 |
6.8 |
160 |
14.5 |
平均 |
100.9 |
4.8 |
103.3 |
5.1 |
112.6 |
9.3 |
Table 6. Solution results of M-DQN algorithm under different demand fluctuations-liner S2
表6. 不同需求波动下MDQN算法求解结果–班轮S2
算例 |
MDQN 5% |
MDQN 10% |
MDQN 15% |
|
|
|
|
|
|
S2L1C45 |
102 |
22.3 |
105 |
23.0 |
111 |
24.5 |
S2L1C65 |
150 |
20.1 |
154 |
22.8 |
175 |
23.7 |
S2L1C85 |
186 |
18.8 |
192 |
21.1 |
210 |
32.5 |
S2L2C45 |
103 |
19.6 |
105 |
24.6 |
119 |
19.8 |
S2L2C65 |
152 |
17.7 |
155 |
21.8 |
156 |
33.5 |
S2L2C85 |
198 |
25.5 |
203 |
34.7 |
218 |
37.1 |
S2L3C45 |
101 |
23.1 |
103 |
29.9 |
105 |
33.4 |
S2L3C65 |
138 |
22.7 |
140 |
25.5 |
150 |
27.8 |
S2L3C85 |
192 |
25.4 |
196 |
20.6 |
208 |
35.4 |
S2L4C45 |
98 |
17.7 |
100 |
20.6 |
106 |
20.4 |
S2L4C65 |
156 |
18.1 |
160 |
22.1 |
163 |
33.5 |
S2L4C85 |
200 |
17.9 |
206 |
22.2 |
224 |
34.5 |
平均 |
148 |
20.7 |
151.6 |
24.1 |
162.1 |
29.7 |
Table 7. Solution results of M-DQN algorithm under different demand fluctuations-liner S3
表7. 不同需求波动下MDQN算法求解结果–班轮S3
算例 |
MDQN 5% |
MDQN 10% |
MDQN 15% |
|
|
|
|
|
|
S3L1C45 |
155 |
18.3 |
160 |
27.9 |
162 |
30.6 |
S3L1C65 |
225 |
20.6 |
228 |
27.1 |
240 |
32.9 |
S3L1C85 |
295 |
20.0 |
307 |
28.5 |
307 |
40.2 |
S3L2C45 |
158 |
17.8 |
162 |
35.3 |
164 |
42.3 |
S3L2C65 |
225 |
22.8 |
230 |
37.6 |
230 |
50.6 |
S3L2C85 |
300 |
25.0 |
304 |
36.2 |
340 |
49.8 |
S3L3C45 |
160 |
22.7 |
164 |
27.8 |
184 |
43.3 |
S3L3C65 |
230 |
21.9 |
234 |
30.4 |
238 |
52.6 |
S3L3C85 |
298 |
26.5 |
304 |
30.6 |
320 |
50.8 |
S3L4C45 |
160 |
20.7 |
165 |
30.3 |
184 |
51.1 |
S3L4C65 |
235 |
20.6 |
240 |
30.5 |
260 |
50.9 |
S3L4C85 |
310 |
23.1 |
314 |
28 |
360 |
43.4 |
平均 |
229.3 |
21.7 |
234.3 |
30.9 |
249.1 |
44.9 |
Figure 8. Comparison of M-DQN algorithm solution results under different demand fluctuations
图8. 不同需求波动下MDQN算法求解结果对比
Figure 9. Comparison of total solution time of M-DQN algorithm under different demand fluctuations
图9. 不同需求波动下MDQN算法总求解时间对比
6. 结论
针对箱量随机扰动下内河港口出口箱箱量波动的特点,对班轮航线配载决策优化方法展开研究。以最小化班轮堆栈占用数量和相邻阶段间配载计划偏差为目标,构建内河集装箱班轮航线配载决的多阶段随机规划模型,并采用区间预测方法对其进行等价转化。结合深度强化学习和数学规划方法设计了初始解构造和基于均方误差评价函数的MDQN算法。实验结果表明:MDQN算法可实现对不同规模算例的有效求解,在大规模算例下其求解效率相比模型MIPM和DQN算法更高,且具有良好的泛化能力。后续研究可针对集装箱船混装情况展开。
基金项目
湖北省自然科学基金计划资助项目(2023AFB071)。
NOTES
*通讯作者。