1.一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,其特征在于:具体步骤如下:S1:构建离散概率分布矩阵M:
p(i,j|tce)的含义是在第tce次迭代时将泊位i分配给船j的概率,p(i,j|tce)初始化(当tce=0时)的更新公式为:
满足的约束如公式:
h(i,j)的含义是初始时是否满足将泊位i分配给船舶j的条件,满足则为1,否则为0;
S2:生成样本,假设有6艘船舶,其编码方式如下:船舶号: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;
S3:计算最早靠泊时间tbj(ES):将样本按照第一行编码靠泊顺序升序排序,从而得到sijk矩阵,对于船舶j,计算tbj(ES)公式如下:S4:插入缓冲区;
S5:计算样本的目标函数值;即样本的在港时间,公式如下:S6:选择H个精英样本,更新M矩阵:为提高样本的多样性,改善CEA过早收敛的现象,提高算法的局部搜索能力,对搜索过程中找到的H个精英解的邻近区域进行更深入的搜索;
S7:令tce=tce+1,判断是否满足M矩阵中只有0、1元素的终止条件,是则终止迭代输出最优解,否则返回第S2步继续迭代。
2.根据权利要求1所述的一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,其特征在于:所述S2中Oj代表船舶的靠泊顺序,1到n之间整数随机排列;xj代表船舶的靠泊泊位,根据离散概率分布矩阵生成;yj代表分配给船舶的岸桥数量,在船舶最少和最多需要的岸桥数之间随机生成。
3.根据权利要求1所述的一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,其特征在于:所述S4中的插入缓冲区的具体步骤如下:S41:计算最晚靠泊时间tbj(LS);
对于船舶j,若存在与其在同一泊位靠泊且邻接在其后靠泊的船舶为j',则令t=tbj'(LS),若不存在这样的船舶则令t=tdj,计算tbj(LS)的公式如下:S42:更新权重系数wj;
权重系数代表船舶的服务优先权,对于船舶j,若存在使得所求tbj(ES)与tbj(LS)方案中有时间和空间有冲突的船舶j',即{xj=xj',tbj'(ES)<tbj(ES)<tbj'(LS)+twj'|j,j'∈V},则wj设为1,否则设为0;
S43:计算累计权重;
计算两个关键参数,分别是对某艘船舶j,在同一泊位其先前靠港的船舶的累积权重αj和在其后靠港的船舶的累积权重βj;
在泊位岸桥方案中,不仅要考虑过渡的前任和后任船舶,还要考虑共享同一码头空间的其他船舶,因此,定义集合Fa(j)记录与船舶j在同一泊位靠泊且在其前靠泊的船舶,定义集合Fb(j)记录与船舶j在同一泊位靠泊且在其后靠泊的船舶,定义W作为所有船舶的总权重,则 计算αj和βj的公式如下:S44:得到较鲁棒的泊位岸桥方案;
最终得到的插入缓冲区后的船舶靠泊时间tbj由tbj(ES)、tbj(LS)、αj、βj求得:
4.根据权利要求1所述的一种基于改进交叉熵算法的鲁棒泊位岸桥分配方法,其特征在于:所述S6中将H个精英个体随机两两分组,根据问题特征和编码设计以下邻域搜索策略:
S61:交叉;采用两点交叉的方式,随机生成交叉点位,交叉点位中间的部分互换,生成两个新的个体,经交叉操作产生H个新个体;
S62:变异;对于每个精英个体,采用以下两种变异策略产生2H个新个体,S621:倒置;从样本中随机选择两列,将包含所选两列及其之间的部分进行逆序排列;
S622:泊位变异;找出靠泊船舶数最多的泊位,随机选择在该泊位靠泊的船舶,在满足约束条件下随机生成新的靠泊泊位;
对于经过如上邻域搜索策略生成的3H个新个体,与初始的H个个体组成4H个个体,从4H个个体中选择H个精英个体更新M矩阵: