一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法

文档序号:29159398发布日期:2022-03-08 23:14阅读:257来源:国知局
一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法

1.本发明涉及海陆联运的运输决策领域,具体为一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法。


背景技术:

2.泊位是码头沿岸线用以船舶停靠的区域,岸桥的作用是装卸船舶上进出口的集装箱。船舶的到港时间、装卸工作时间等都具有不确定性,并且恶劣天气、码头设施故障等这些不确定性因素往往使得紧耦合模式下的泊位岸桥调度计划难以执行,进而会中断原本的泊位岸桥计划,并对港口的整体效率产生负面影响。
3.现有技术将船舶到港时间看做变量,构建了泊位岸桥联合调度两阶段模型,设计自适应粒子群算法对模型进行求解,得出给定计划期内的泊位-岸桥联合调度计划,然而在实际码头作业过程中,当计划期较长时,泊位和岸桥的实际工作情况会与计划的有所出入,缺少对长期泊位岸桥计划的考虑。
4.现有技术中把船舶到港时间作为决策变量来考虑,建立了船舶到港时间可变和到港时间固定策略下的泊位—岸桥联合调度模型,利用lingo11求解,但不适合求解大规模和计划期较长的泊位岸桥问题。尽管目前对泊位岸桥分配问题求解的模型和算法很多,在模型与算法的寻优精度方面也有了一定的改进,但面对大规模、计划期较长且实际环境可能会发生变化的情况,泊位岸桥问题的模型与算法仍有进一步改进的空间;为此提供了一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法。


技术实现要素:

5.本发明的目的是针对现有技术的缺陷,提供一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,以解决上述背景技术提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,具体步骤如下:
7.s1:构建离散概率分布矩阵m:
[0008][0009]
p(i,j|t
ce
)的含义是在第t
ce
次迭代时将泊位i分配给船j的概率,p(i,j|t
ce
)初始化(当t
ce
=0时)的更新公式为:
[0010][0011]
满足的约束如公式:
[0012][0013]
h(i,j)的含义是初始时是否满足将泊位i分配给船舶j的条件,满足则为1,否则为0;
[0014]
s2:生成样本,其编码方式如下:船舶号:1、2、3、4、5、6;靠泊顺序oj:1、3、5、2、4、6;靠泊泊位xj:2、1、1、2、3、4;岸桥数量yj:3、5、2、4、1、2;
[0015]
s3:计算最早靠泊时间tbj(es):将样本按照第一行编码靠泊顺序升序排序,从而得到s
ijk
矩阵,对于船舶j,计算tbj(es)公式如下:
[0016][0017]
s4:插入缓冲区;
[0018]
s5:计算样本的目标函数值;即样本的在港时间,公式如下:
[0019][0020]
s6:选择h个精英样本,更新m矩阵:为提高样本的多样性,改善cea过早收敛的现象,提高算法的局部搜索能力,对搜索过程中找到的h个精英解的邻近区域进行更深入的搜索;
[0021]
s7:令t
ce
=t
ce
+1,判断是否满足m矩阵中只有0、1元素的终止条件,是则终止迭代输出最优解,否则返回第s2步继续迭代。
[0022]
作为本发明的一种优选技术方案,所述s2中oj代表船舶的靠泊顺序,1到n之间整数随机排列;xj代表船舶的靠泊泊位,根据离散概率分布矩阵生成;yj代表分配给船舶的岸桥数量,在船舶最少和最多需要的岸桥数之间随机生成。
[0023]
作为本发明的一种优选技术方案,所述s4中的插入缓冲区的具体步骤如下:
[0024]
s41:计算最晚靠泊时间tbj(ls);
[0025]
对于船舶j,若存在与其在同一泊位靠泊且邻接在其后靠泊的船舶为j

,则令t=tb
j'
(ls),若不存在这样的船舶则令t=tdj,计算tbj(ls)的公式如下:
[0026][0027]
s42:更新权重系数wj;
[0028]
权重系数代表船舶的服务优先权,对于船舶j,若存在使得所求tbj(es)与tbj(ls)方案中有时间和空间有冲突的船舶j',即{xj=x
j'
,tb
j'
(es)<tbj(es)<tb
j'
(ls)+tw
j'
|j,j'∈v},则wj设为1,否则设为0;
[0029]
s43:计算累计权重;
[0030]
计算两个关键参数,分别是对某艘船舶j,在同一泊位其先前靠港的船舶的累积权重αj和在其后靠港的船舶的累积权重βj;
[0031]
在泊位岸桥方案中,不仅要考虑过渡的前任和后任船舶,还要考虑共享同一码头空间的其他船舶,因此,定义集合fa(j)记录与船舶j在同一泊位靠泊且在其前靠泊的船舶,定义集合fb(j)记录与船舶j在同一泊位靠泊且在其后靠泊的船舶,定义w作为所有船舶的总权重,则计算αj和βj的公式如下:
[0032][0033]
s44:得到较鲁棒的泊位岸桥方案;
[0034]
最终得到的插入缓冲区后的船舶靠泊时间tbj由tbj(es)、tbj(ls)、αj、βj求得:
[0035][0036]
作为本发明的一种优选技术方案,所述s6中将h个精英个体随机两两分组,根据问题特征和编码设计以下邻域搜索策略:
[0037]
s61:交叉;采用两点交叉的方式,随机生成交叉点位,交叉点位中间的部分互换,生成两个新的个体,经交叉操作产生h个新个体;
[0038]
s62:变异;对于每个精英个体,采用以下两种变异策略产生2h个新个体,
[0039]
s621:倒置;从样本中随机选择两列,将包含所选两列及其之间的部分进行逆序排列;
[0040]
s622:泊位变异;找出靠泊船舶数最多的泊位,随机选择在该泊位靠泊的船舶,在满足约束条件下随机生成新的靠泊泊位;
[0041]
对于经过如上邻域搜索策略生成的3h个新个体,与初始的h个个体组成4h个个体,从4h个个体中选择h个精英个体更新m矩阵:
[0042][0043][0044]
本发明的有益效果是:本方法解决现有泊位岸桥分配方法中存在难以求解计划期长、船舶数量较多和未考虑到实际场景中的不确定因素的问题,以提高集装箱码头作业效率。
附图说明
[0045]
图1为本发明的流程图;
[0046]
图2为本发明不同船舶数量下5种算法指标1值对比图;
[0047]
图3为本发明两点交叉策略示意图;
[0048]
图4为本发明倒置策略示意图;
[0049]
图5为本发明泊位变异策略示意图。
具体实施方式
[0050]
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易被本领域人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
[0051]
请参阅图1,本发明提供一种技术方案:一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,具体步骤如下:
[0052]
s1:构建离散概率分布矩阵m:
[0053][0054]
p(i,j|t
ce
)的含义是在第t
ce
次迭代时将泊位i分配给船j的概率,p(i,j|t
ce
)初始化(当t
ce
=0时)的更新公式为:
[0055][0056]
满足的约束如公式:
[0057][0058]
h(i,j)的含义是初始时是否满足将泊位i分配给船舶j的条件,满足则为1,否则为0;
[0059]
s2:生成样本,其编码方式如下:船舶号:1、2、3、4、5、6;靠泊顺序oj:1、3、5、2、4、6;靠泊泊位xj:2、1、1、2、3、4;岸桥数量yj:3、5、2、4、1、2;
[0060]
oj代表船舶的靠泊顺序,1到n之间整数随机排列;
[0061]
xj代表船舶的靠泊泊位,根据离散概率分布矩阵生成;
[0062]
yj代表分配给船舶的岸桥数量,在船舶最少和最多需要的岸桥数之间随机生成;
[0063]
s3:计算最早靠泊时间tbj(es):将样本按照第一行编码靠泊顺序升序排序,从而得到s
ijk
矩阵,对于船舶j,计算tbj(es)公式如下:
[0064][0065]
s4:插入缓冲区:
[0066]
s41:计算最晚靠泊时间tbj(ls);
[0067]
对于船舶j,若存在与其在同一泊位靠泊且邻接在其后靠泊的船舶为j

,则令t=tb
j'
(ls),若不存在这样的船舶则令t=tdj,计算tbj(ls)的公式如下:
[0068][0069]
s42:更新权重系数wj;
[0070]
权重系数代表船舶的服务优先权,对于船舶j,若存在使得所求tbj(es)与tbj(ls)方案中有时间和空间有冲突的船舶j',即{xj=x
j'
,tb
j'
(es)<tbj(es)<tb
j'
(ls)+tw
j'
|j,j'∈v},则wj设为1,否则设为0;
[0071]
s43:计算累计权重;
[0072]
计算两个关键参数,分别是对某艘船舶j,在同一泊位其先前靠港的船舶的累积权重αj和在其后靠港的船舶的累积权重βj;
[0073]
在泊位岸桥方案中,不仅要考虑过渡的前任和后任船舶,还要考虑共享同一码头空间的其他船舶,因此,定义集合fa(j)记录与船舶j在同一泊位靠泊且在其前靠泊的船舶,定义集合fb(j)记录与船舶j在同一泊位靠泊且在其后靠泊的船舶,定义w作为所有船舶的总权重,则计算αj和βj的公式如下:
[0074][0075]
s44:得到较鲁棒的泊位岸桥方案;
[0076]
最终得到的插入缓冲区后的船舶靠泊时间tbj由tbj(es)、tbj(ls)、αj、βj求得:
[0077][0078]
s5:计算样本的目标函数值;即样本的在港时间,公式下:
[0079][0080]
s6:选择h个精英样本,更新m矩阵:为提高样本的多样性,改善cea过早收敛的现象,提高算法的局部搜索能力,对搜索过程中找到的h个精英解的邻近区域进行更深入的搜索,将h个精英个体随机两两分组,根据问题特征和编码设计以下邻域搜索策略:
[0081]
s61:交叉:采用两点交叉的方式,随机生成交叉点位,交叉点位中间的部分互换,生成两个新的个体,经交叉操作产生h个新个体,如图3所示;
[0082]
s62:变异:对于每个精英个体,采用以下两种变异策略产生2h个新个体,
[0083]
倒置:从样本中随机选择两列,将包含所选两列及其之间的部分进行逆序排列,如图4所示;
[0084]
泊位变异:找出靠泊船舶数最多的泊位,随机选择在该泊位靠泊的船舶,在满足约束条件下随机生成新的靠泊泊位,如图5所示;
[0085]
对于经过如上邻域搜索策略生成的3h个新个体,与初始的h个个体组成4h个个体,
从4h个个体中选择h个精英个体更新m矩阵:
[0086][0087][0088]
s7:令t
ce
=t
ce
+1,判断是否满足m矩阵中只有0、1元素的终止条件,是则终止迭代输出最优解,否则返回第s2步继续迭代。
[0089]
实施例1:考虑在集装箱码头上,港口负责人根据下一个计划周期内所有将停靠港口的船舶的预计信息(如船舶的数量、预计到港时间、预计离港时间、载箱量等)和码头设备信息(如泊位个数、泊位长度、岸桥总数量),提前制定泊位岸桥分配方案。对于每只船舶,应为其做以下三个安排:一是靠泊时间(或开始工作时间),二是靠泊泊位,三是分配的岸桥个数。
[0090]
设如下集合、参数和变量:
[0091]
b:码头沿岸线的泊位集合,i∈b={1,2,...,m};
[0092]
v:到港的船舶集合,j∈v={1,2,...,n};
[0093]
vlj:船j的安全长度(含安全距离);
[0094]
t:计划周期,t为单位时间索引
[0095]
tn:交叉熵算法的迭代次数,tn为次数索引
[0096]
qli:泊位i的长度;
[0097]
r:岸桥的工作效率;
[0098]
q:岸线上的岸桥个数;
[0099]
pj:船j的偏好泊位;
[0100]
taj:船j的预计到港时间;
[0101]
tdej:船j的预计离港时间;
[0102]
nj:船j运载的集装箱的个数;
[0103]
船j最少需要的岸桥数;
[0104]
船j最多需要的岸桥数;
[0105]
nj:船j运载的集装箱的个数;
[0106]
xj:船舶j的靠泊泊位;
[0107]
yj:分配给船舶j的岸桥个数;
[0108]
oj:船舶j的靠泊顺序;
[0109]
tbj:船j的靠泊时间;
[0110]
tdj:船j的离港时间;
[0111]
twj:船j的工作时间;
[0112]sijk
:如果船j在泊位i上第k个靠泊则为1,否则为0;
[0113]sjt
:如果船j在t时刻被服务则为1,否则为0;
[0114]
本发明以最小化船舶的在港时间为目标,建立的优化模型如下:
[0115][0116]
约束条件:
[0117][0118][0119][0120][0121][0122][0123][0124][0125][0126][0127][0128][0129]
约束条件(2)表示船舶到港后才能靠泊,约束条件(3)表示船舶只能停泊在大于船长的泊位,约束条件(4)表示船舶只有一次靠泊机会,约束条件5)表示一个泊位最多同时服务一艘船舶,约束条件(6)表示为船舶分配的岸桥数在给定的范围内,约束条件(7)保证了船舶工作的连续性,约束条件(8)定义了船舶的工作时间,约束条件9)定义了船舶的离港时间,约束条件(10)表示任意时刻作业的岸桥数不能超过码头岸桥总数。约束条件(11)-(13)定义了某些变量的取值范围;按照上述技术方案,对上述泊位岸桥分配问题求解,即可得到最终的分配调度方案。
[0130]
验证实验:为了验证本发明泊位岸桥分配问题的性能,需进行大量的数值实验分析与对比。本专利对比现有技术中的hcea、传统交叉熵算法(ce)、遗传算法(ga)、粒子群算法(pso)这4种算法,6种不同规模的船舶在200个随机场景下,求得船舶靠泊延误时间和延误数量这两个鲁棒性指标和目标函数值上的性能。
[0131]
由于目前还没有泊位岸桥分配问题的标准测试集,参考现有技术中的参数设置,海岸线长1200m,4个泊位,1~4泊位长度分别为200m,300m,300m,400m,单位长度20m,单位时间t=5min,12台岸桥,岸桥的工作效率3.33teu/t,预计到港时间ta在[0,2016]内随机生
成,船长在[6,20]之间随机生成,船舶的参数设计如下表所示,工作时间记为tw,预计离港时间在[ta+tw,ta+tw+60]之间随机生成。
[0132]
表1船舶参数设置
[0133]
船舶等级船长集装箱数量岸桥范围小船[6,10][800,1500][3,5]中船[11,15][1500,2500][3,5]大船[16,20][2500,4000][5,7]
[0134]
将在插入缓冲区之前所求泊位岸桥分配方案记为s1,插入缓冲区之后所求鲁棒性泊位岸桥分配方案记为s2。为模拟真实场景,令实际工作时间在[tw,1.1tw]内随机生成,如果某只船在预计靠泊时间因前一艘船的离港时间延迟而不能靠泊工作,则等待至前一艘船离港且有足够的岸桥来保证船只工作后靠港,其实际靠泊时间为tba。
[0135]
为了评价icea对测试问题的求解能力,设定6种船舶规模n=10,15,20,25,30,35,每种规模下随机生成ω=200个场景,设定两个鲁棒性指标,分别为:
[0136]
指标1:船舶靠泊延误时间之和:
[0137][0138][0139][0140]
其中,δs(s1)表示s1延误靠泊时间之和,δs(s2)表示s2延误靠泊时间之和,ir为指标1的改善率。
[0141]
指标2:船舶靠泊延误数量:
[0142][0143][0144]
其中,δn(s1)为表示s1延误靠泊数量之和,δn(s2)为表示s2延误靠泊数量之和。
[0145]
所求实验结果如表2所示:
[0146]
表2实验结果
[0147]
[0148]
[0149][0150]
由表2可知,在不同的船舶数量和算法的算例下,本发明所提算法的目标函数值均明显低于对比算法。在指标1上δs(s2)始终是明显小于δs(s1)的,在指标2上δn(s2)始终是小于δn(s1)的,由图2可以看出,随着船舶数量的增多,δs(s1)与δs(s2)整体呈上升趋势,ir整体呈下降趋势,而且本发明所提出的icea所求δs(s1)与δs(s2)都是低于其他算法的,ir值除船舶数量为30时低于对比算法cea,整体均高于其他对比算法,这说明随着船舶数量的增多,船与船之间安排的越来越紧密,某一艘船舶延误靠泊或离泊对在其后续靠泊的船舶影响越来越大,使得延误靠泊的船舶数量和时间逐渐增多,本发明所提出的icea可以更有效减少实际泊位岸桥方案的延误靠泊时间和数量,进而提高方案的鲁棒性和整体作业效率,且可以有效解决计划期长和大规模泊位岸桥分配问题。
[0151]
上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1