基于动态学习的泊位调度方案优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于动态学习的泊位调度方案优化
王军;郭力铭;杜剑;王美蓉
【摘要】泊位调度方案的制定要依据在泊船舶的占用泊位情况及预计在泊时间,确定其他待泊船舶的靠泊位置与靠泊时间.然而,预计在泊时间受水文气象等多种复杂因素的影响,且影响程度是随时间动态变化的,给泊位调度方案的制定增加了难度.对此,本文采用动态学习方法对在泊时间计算函数进行更新,再基于所得函数对泊位调度方案进行优化.并设计了包含船舶在泊时间动态学习及泊位调度方案优化的并行算法,前者为后者提供更新的在泊时间计算函数,后者的实际执行结果为前者提供学习样本.通过算例对模型有效性进行了验证,结果表明:加入动态学习过程,船舶在泊时间的计算偏差得以降低;优化方案的平均在泊时间缩短2.4 h,总成本降低11.1%.【期刊名称】《交通运输系统工程与信息》
【年(卷),期】2018(018)005
【总页数】7页(P197-203)
【关键词】水路运输;泊位调度方案优化;动态学习;船舶在泊时间;并行算法
【作者】王军;郭力铭;杜剑;王美蓉
【作者单位】大连海事大学交通运输工程学院,辽宁大连116026;大连海事大学交通运输工程学院,辽宁大连116026;大连海事大学交通运输工程学院,辽宁大连116026;大连海事大学交通运输工程学院,辽宁大连116026
【正文语种】中文
【中图分类】U691.3
0 引言
为充分利用码头资源,保证船舶能够顺利靠泊,码头通常需要依据计划期内预计到港船舶的船型尺寸、到港时间、装卸货量,制定包括船舶靠泊位置、靠泊时间、分配岸桥数量的泊位调度方案.泊位调度方案的合理与否,对码头与船方均会产生影响.对码头而言,由于泊位与岸桥资源是有限的,泊位调度方案的不合理会造成严
重的资源浪费;对船方而言,泊位调度方案不合理会导致船舶装卸时间的延长,甚至严重扰乱后续船期计划.对此,本文将对泊位调度方案优化问题展开研究.
在优化泊位调度方案时,码头需要根据在泊船舶的占用泊位情况及预计在泊时间,确定其他待泊船舶的靠泊位置与靠泊时间.在计算预计在泊时间时,曾庆成等[1]用船舶装卸箱量与岸桥装卸效率相除;Zhen等[2]考虑了航道中船舶流量的影响;常祎妹等[3]认识到岸桥作业时存在相互干扰;Golias[4]和Han[5]假设在泊时间分布的概率密度已知.为减少在泊时间的计算偏差,Xu等[6]为靠泊船舶设置了缓冲时间,并提出了处理随机干扰的响应恢复策略;Karafa等[7]从历史数据中挖掘船舶延误概率,再基于此概率函数进行在泊时间计算;Zhen[8]当在泊时间分布已知时构建了泊位分配的随机优化模型,未知时则构建了鲁棒优化模型.然而,上述文献
中的在泊时间分布都是固定不变的,而实际中各种因素对在泊时间的影响程度却是动态变化的.如风力通过影响岸桥吊具的摇摆幅度,海浪通过影响船舶的摇摆幅度,导致岸桥装卸效率的降低.而不同季节的平均风级与平级浪高存在明显差异,所以
对装卸效率的影响程度并不相同.
本文设计了在泊时间计算函数的动态学习方法,再基于所学习函数进行泊位调度方案优化.即利用泊位调度方案的实际执行结果,借助神经网络方法对在泊时间计算
函数进行逐天修正,以实现计算函数随环境的动态更新.另外,本文设计了包含在
泊时间动态学习及泊位调度方案优化的并行算法,前者为后者提供更新的在泊时间
计算函数,后者的实际执行结果为前者提供学习样本.
1 问题描述
泊位调度方案优化问题是个二维背包问题,泊位调度方案可以用二维图表示,如图1所示.图1的横轴为时间轴,纵轴为岸线轴;用矩形框表示到港船舶,矩形内阴影正方形的个数为分配岸桥数量;矩形左下角的横纵坐标分别为船舶的靠泊时间、靠泊位置,矩形的长宽分别为船舶在泊时间、所占岸线长度.
在制定泊位调度方案时,同一时刻同一位置只能安排一艘船舶,同一时刻所有船舶所占岸线长度之和不能超过码头的岸线总长度.任意船舶的分配岸桥数量不能超过该船舶允许的岸桥数量区间,且所有船舶的分配岸桥数量不超过码头的岸桥总数量.为吸引船舶挂靠,当码头的计划离泊时间超过船舶的要求离泊时间,码头需向船舶支付延误赔偿.对此,虽然通过增加岸桥数量可以缩短在泊时间,但岸桥使用成本是随之增加的.为了降低泊位调度方案的总成本,需要对上述两种成本进行权衡. 本文采用神经网络方法来拟合在泊时间计算函数,将船舶的靠泊时间、装卸箱量、分配岸桥数量、岸桥装卸效率、泊位水深、平均风级及平均浪级作为输入参数,实际在泊时间作为目标参数.通过不断减小在泊时间的计算结果与目标参数间偏差,帮助拟合高质量的在泊时间计算函数.进一步地,借助泊位调度方案及其实际执行结果对计算函数进行逐天修正,可以实现计算函数随环境的动态更新.
图1 泊位调度方案二维图Fig.1 Two-dimensional chart of berth scheduling scheme
2 基于动态学习的泊位调度方案优化模型
2.1 研究假设
(1)以集装箱码头的连续型泊位为研究对象.
(2)码头的岸线长度已知,前沿水深能满足所有船舶的吃水要求.
(3)码头的岸桥总数量已知,每台岸桥的装卸效率已知,不考虑岸桥的移动时间.
(4)船舶到港计划已知,每艘到港船舶都必须被服务,且只服务1次.
(5)船舶到港后才被安排靠泊,每艘船舶靠泊后就不能移泊.
(6)任意两艘靠泊船舶间要留有固定的安全距离.
(7)船舶装卸箱量均以标准箱计数,不考虑因配积载问题产生的倒箱时间.
2.2 模型参数
S={1,…,i,…,I}——计划期内的到港船舶集合,I为到港船舶总数量,i为第i艘到港船舶;
Q={1,…,j,…,J}——码头的岸桥集合,J为岸桥总数量,j为第j台岸桥;
T={1,…,t,…,N}——计划期的时间段集合,N为时间段总数量,t为第t时间段;li——船舶i的长度;
Wi——船舶i的装卸箱量;
Ai——船舶i的预计到港时间;
di——船舶i的要求离泊时间;
q1i——船舶i允许的最小岸桥数量;
q2i——船舶i允许的最大岸桥数量;
L——码头的岸线总长度;
r——船舶间安全距离;
η——每台岸桥的装卸效率;
c2——每台岸桥的单位时间使用成本;
c1i——船舶i未满足要求离泊时间时,码头向船舶支付的单位时间赔偿成本;P——泊位调度方案的总成本;
f1i——神经网络训练前船舶i的计算在泊时间;
F()——神经网络训练后的在泊时间计算函数,括号内是输入参数;
f2i——神经网络训练后船舶i的计算在泊时间;
Di——神经网络训练后船舶i的计算离泊时间;
Qit——第t时间段内船舶i的分配岸桥数量;
λi——船舶i靠泊位置的水深;
O1——计划期内平均风级;
O2——计划期内平均浪级;
M——一个足够大的数.
决策变量:
Bi——船舶i的靠泊位置;
Hi——船舶i的靠泊时间;
Zitq——0-1变量,若第t时间段内船舶i被岸桥q服务则为1,否则为0;Xij——0-1变量,若船舶i早于船舶j停靠则为1,否则为0;
Yij——0-1变量,若船舶i停靠在船舶j左侧则为1,否则为0.
2.3 模型构建
式(1)为目标函数,模型以最小化码头的延迟离港赔偿与岸桥使用成本之和为目标.
式(2)表示任意时间段内船舶分配岸桥数量之和不超过码头的岸桥总数量;式(3)用
于计算第t时间段内船舶i的分配岸桥数量;式(4)要求船舶到港后才能被安排靠泊;式(5)根据船舶装卸箱量及岸桥装卸效率,计算训练前的船舶在泊时间;式(6)采用
动态学习后的计算函数,重新计算船舶在泊时间;式(7)用于计算船舶离泊时间;
式(8)保证任意船舶的装卸箱量都能得到满足;式(9)约束任意船舶的离泊时间在计
划期内;式(10)~式(14)用于约束岸线同一位置同一时间段内只靠泊1艘船舶;式(15)保证任意船舶i的靠泊位置在岸线长度范围内;式(16)和式(17)保证船舶i的
分配岸桥数量在其允许的岸桥数量区间内;式(18)定义了0-1变量;式(19)定义了变量所属集合.
3 算法设计
3.1 算法流程
本文设计了包含动态学习过程的智能启发式算法.算法分为2个独立运算部分:第1部分运用粒子群算法进行泊位调度方案优化,第2部分运用神经网络算法进行在泊时间计算函数的动态学习.其中,第1部分是算法主体.计划期开始前,将第2部分拟合完毕的在泊时间计算函数提取至第1部分,进行泊位调度方案优化模型的求解;计划期结束后,将泊位调度方案的实际执行结果反馈至第2部分,作为学习样本继续对已有在泊时间计算函数进行动态修正.基于此并行运算流程,泊位调度方案优化模型的求解时间不会增加,但在泊时间的计算准确性与调度方案的优化效果却在持续提升.具体的算法流程如图2所示,图2的左侧为第1部分,右侧为第2部分.
图2 算法流程图Fig.2 Algorithm flow chart
3.2 关键步骤
(1)泊位调度方案优化的粒子群算法.
粒子群算法中,解方案采用表1的编码方式.以船舶1为例做解释:1号船舶在第10个时间段,停靠在岸线200单位长度处,被分配2台岸桥.
表1 编码方式示例Table 1 Example of encoding method船舶编号岸桥数量1234靠泊时间10 13 7 22靠泊位置200 300 500 150 2321
算法步骤如下:
Step 1 从动态学习部分中提取更新的在泊时间计算函数,输入船舶到港计划及码头相关信息.
Step 2 设置并行解个数,并对初代解进行随机初始化.
Step 3 计算每个解方案的评价值,如果解方案不满足模型约束,将评价值赋值为无限大.
Step 4 更新解方案的当代最优位置与历史最优位置.
Step 5 计算解的改善方向与步长,并更新并行解中每个解方案的当前位置.
Step 6 判断是否满足算法的迭代终止条件,满足则输出最满意解方案,否则返回Step3.
(2)船舶在泊时间的神经网络训练.
神经网络有8个输入参数,需要在输入层设置8个节点.目标参数为实际在泊时间,输出层只设置1个节点.为了提升神经网络拟合能力,增加了隐含层.神经网络训练步骤如下:
Step 1 输入1组学习样本,从数据库中提取输入层、隐含层、输出层的节点数、
权值wij与阈值θ.
Step 2 根据公式计算各神经元的输出.
Step 3 计算输出层的计算结果与目标参数间偏差,判断偏差是否符合要求,是则
执行Step5.
Step 4 使用梯度下降法对权值与阈值进行更新,再返回Step2.
Step 5 将训练完毕的神经网络结构参数存入数据库.
4 算例分析
4.1 在泊时间动态学习有效性的分析
通过动态学习过程中在泊时间计算偏差的变化情况,验证动态学习可以提升在泊时间的计算准确性.将2017年某码头的泊位调度方案与实际执行结果按周分为52组,每组包括100个样本.随机抽取连续的6组样本,第6组作为测试样本,第1-3组、2-4组与3-5组依次作为学习样本.假设训练前在泊时间服从正态分布.基于训练前
计算函数,对第1-3组样本进行第1次动态学习;再基于第1次更新的计算函数,对第2-4组样本进行第2次动态学习.依此类推,始终基于最新函数进行动态学习,以实现计算函数随环境的动态更新.
基于训练前计算函数,以及动态学习后的3个计算函数,计算100个样本的输出
结果与目标参数间平均偏差,作为1次实验.连续进行10次实验,并绘制各次实验中4组平均偏差的柱形图,平均偏差越小则计算越准确.由图3可知:各次实验中,动态学习后的平均偏差有所下降,越后期更新的计算函数的平均偏差越小.可见,
动态学习过程是有效的.
4.2 泊位调度方案优化效果的对比分析
码头岸线长度800 m,岸桥总数量6台,岸桥作业效率35 TEU/h;岸桥使用成本300 USD/h,船舶延误赔偿20 000 USD/h;计划期开始时间为2018年1月1
日0点,共48 h;计划期内的船舶到港计划如表2所示.
表2 船舶到港计划Table 2 Vessels arrival plan船舶编号最大岸桥数/台最小岸桥数/台1234567计划到达时间/h 2.1 5.0 7.5 12.3 15.9 16.5 20.4装卸需求量/TEU 752 1 216 825 980 1 532 687 1 052船舶长度/m 129 170 138 162 191 132 195 2323424 1111111
图3 动态学习中在泊时间计算的平均偏差Fig.3 The mean deviation of handling time calculation in dynamic learning
对上述52组样本进行动态学习,得到最新的在泊时间计算函数.基于最新计算函数制作推荐方案,简称为方案1;基于训练前计算函数制作对比方案,简称为方案2.将方案1绘制于图4,方案2绘制于图5.图中的矩形框表示到港船舶,矩形左下
角的横纵坐标分别为船舶靠泊时间、靠泊位置,矩形内阴影正方形的个数为分配岸桥数量.将方案1与方案2的结果差值列于表3,可知:方案1和2存在较大差异,两方案中7条船舶的平均在泊时间相差2.0 h,总成本相差71 511美元.由于训练前在港时间计算函数的准确性有限,导致计算离泊时间、分配岸桥数量及方案总成本均不准确.可见,动态学习过程是必要的.
图4 泊位调度方案1Fig.4 Berth scheduling scheme 1
图5 泊位调度方案2Fig.5 Berth scheduling scheme 2
表3 方案1与方案2的结果差值Table 3 Difference in results between scheme 1 and scheme 2船舶编号方案成本结果差/USD 1234567在泊时间结果差/h 5.2 2.6 5.2 0.6-2.9 6.2-2.9离泊时间结果差/h 5.2 2.8 5.2 2.0 3.4 7.7 4.0
71 511
由于方案2的计算准确性有限,与方案1的结果差值不能真实地反映优化效果.对此,基于最新的在泊时间计算函数,在不改变方案2的靠泊时间、靠泊位置及岸
桥数量的前提下,对各船的在泊时间、离泊时间及方案总成本进行重新评估,得到方案3.将方案2与方案3的结果差值列于表4,由表4可知:方案3中各船的在
泊时间、离泊时间及方案总成本均在增加,说明训练前函数的计算结果偏小,这主要是因为其未考虑冬季风高浪大对装卸效率的影响;在泊时间的增加导致多条船舶不能按时离泊,造成了延误赔偿的急剧增加.进一步地对比方案优化效果,将方案
1与方案3的结果差值列于表5,由表5可知:方案1比方案3的平均在泊时间
缩短2.4 h,成本降低11.1%,且两方案的求解时间仍均小于1 min.可见,在求解时间不会增加的前提下,动态学习可以提升泊位调度方案优化效果.
表4 方案2与方案3的结果差值Table 4 Difference in results between scheme 2 and scheme 3船舶编号方案成本结果差/USD 1234567在泊时间结果差/h-6.8-4.4-4.7-2.8-2.4-6.4-3.1离泊时间结果差/h-6.8-4.4-4.7-2.8-2.4-6.4-3.1-109 758
表5 方案1与方案3的结果差值Table 5 Difference in results between scheme 1 and scheme 3?
5 结论
本文构建了基于在泊时间动态学习的泊位调度方案优化模型,在提升在泊时间计算准确性的基础上,降低了方案总成本.设计了包含动态学习过程的智能启发式算法,
在保证泊位调度方案优化模型的求解时间不会增加的前提下,可以提升泊位调度方案的优化效果.但考虑到动态学习过程可能遭遇样本数量少及质量差的情况,后续研究会尝试借助强化学习方法,对动态学习过程的学习能力进行增强.
【相关文献】
[1]曾庆成,赵孝峰,胡祥培,等.集装箱码头泊位计划的鲁棒优化模型[J].运筹与管理,2015,25(2):71-77.[ZENG Q C,ZHAO X F,HU X P,et al.Robust optimization model for berth planning problem in container terminals[J].Operations Research and Management
Science,2015,25(2):71-77.]
[2]ZHEN L,LIANG Z,ZHUGE D,et al.Daily berth planning in a tidal port with channel flow control[J].Transportation Research Part B,2017,106(2017):193-217.
[3]常祎妹,朱晓宁,闫柏丞,等.集装箱码头铁水联运装卸设备协同调度[J].交通运输系统工程与信息,2017,17(4):40-47.[CHANG Y M,ZHU X N,YAN B C,et al.Integrated scheduling of handling operations in container terminal under rail- water intermodal transportation[J]. Journal of Transportation Systems Engineering and Information
Technology,2017,17(4):40-47.]
[4]GOLIASMM.bi- objective berth allocation formulation to account for vessel handling time uncertainty[J].Maritime Economics&Logistics,2011,13(4):419-441.
[5]HAN X,LU Z.A proactive approach for simultaneous berth and quay crane scheduling problem with stochastic arrival and handling time[J].European Journal of Operational Research,2010,207(3):1327-1340.
[6]XU Y,CHEN Q,QUAN X.Robust berth scheduling with uncertain vessel delay and handling time[J].Annals of Operations Research,2012,192(1):123-140.
[7]KARAFA J,GOLIAS M M,IVEY S,et al.The berth allocation problem with stochastic vessel handling times[J].International Journal of Advanced Manufacturing Technology,2013,65(1-4):473-484.
[8]ZHEN L.Tactical berth allocation under uncertainty[J].European Journal of Operational Research,2015,247(3):928-944.。