基于NSGA-II改进的场桥调度方法与流程

文档序号:14872597发布日期:2018-07-07 01:47阅读:445来源:国知局

本发明涉及一种基于nsga-ii改进的场桥调度方法。



背景技术:

船舶到港后根据泊位资源和船舶信息给其分配泊位,卸船时岸桥将集装箱从船上卸至集卡,由集卡将集装箱运送至堆场指定的箱区内,再由场桥将集装箱放到指定箱位。装船作业流程相反。集装箱堆场包括许多箱区,用于出口和进口集装箱的暂存。堆场中集装箱的装卸由场桥完成,运输由集卡完成,各箱区的作业量尽量在计划期内完成。

为了充分利用场桥资源来完成各箱区间不平衡的工作量,一台场桥通常需要在不同的箱区之间移动作业。场桥在堆场各箱区间的分配和转场称为场桥调度问题。本发明中场桥采用的是轮胎式龙门吊,在同一巷道方向转场移动较快,在不同巷道方向转场需要两次90度的转弯,耗时较长。因此,在提高场桥作业效率的同时也需要最大程度地降低场桥转场时间。

场桥调度包括场桥分配、转场和作业数量的确定,是一个np难问题。卢毅勤以作业完成时间最小为目标考虑了不确定条件下的场桥和集卡联合调度;严伟等以各时段剩余总工作量最小为目标,建立整数规划模型,提出了一种基于最佳优先搜索算法的场桥调度策略。

近年来产生了基于pareto最优思想的多目标遗传算法,其中deb提出的带精英策略的非支配排序遗传算法(elitistnon-dominatedsortinggeneticalgorithm,nsga-ii)以其良好的性能得到了广泛的关注和应用,刘鑫以场桥转场时间最短和场桥作业完成时间最短为目标,采用nsga-ii求解了集装箱堆场场桥优化问题,但直接采用nsga-ii并不能得到满意的结果。因此出现了在nsga-ii基础上对交叉算子、变异算子的改进以及分布性保持策略的改进。



技术实现要素:

本发明的目的在于提出一种基于nsga-ii改进的场桥调度方法,以减少堆场集装箱作业完成时间和场桥转场时间,为港口管理者提供决策支持。

本发明为了实现上述目的,采用如下技术方案:

基于nsga-ii改进的场桥调度方法,包括如下步骤:

s1.初始化场桥调度方案集合

随机产生堆场场桥对计划期内作业的n种可行调度方案的集合pt;

初始化参数t=1,迭代次数gen=1;

s2.集合pt中的解通过交叉、变异产生新的调度方案集;

对新的调度方案进行可行性检测,若可行则保存,否则按照如下方法修正:

依次搜索调度方案中场桥的作业顺序编号,将两种调度方案中同一台场桥重复操作的堆场顺序进行交换,确保同一台场桥对不同堆场作业顺序有先后;

其中,如果一种调度方案中同一台场桥在不同箱区的作业顺序不冲突,则表示可行;

修正后的方案集合为qt,令gen=gen+1;

s3.判断gen是否等于最大迭代次数:若是,则流程结束;否则执行步骤s4;

s4.将pt和qt中的解合并在一起,形成解的个数为2n的调度方案集合rt;

s5.将合并产生的调度方案集合rt进行快速非支配排序,每个解得到一个非支配序irank,同时根据作业完成时间和转场时间;

利用公式(1)计算每个非支配层中个体i的拥挤度i[i]d,个体拥挤度计算公式为:

其中,m表示目标函数个数;

l是当前调度方案集合中非劣等级的数目;

nl表示l非支配层中解的数目;

i[1]d=i[n]d=∞;

i[i,r]dl为点i左边的距离,即在第r个目标函数上i点和i-1点之间的距离;

i[i,r]dr为点i右边的距离,即在第r个目标函数上i+1点和i点之间的距离;

表示i点的第r个目标函数值;

s6.根据公式(2)计算每个等级j中所允许个体的最大数目nj:

其中,nj是当前等级中允许的解最大数;

j是调度方案中非劣等级级别;

α是一个自定义的参数;

p是为了控制调度方案集合中解的个数而设置的一个参数;

s7.根据种群rt中个体之间的非支配序irank和拥挤度i[i]d的大小依次选取irank小和irank同样时i[i]d大的非支配解放入对应等级中;

s8.判断选取的解的个数是否为n:

若是,令t=t+1,形成新的调度方案集合pt,执行步骤s2;

否则,执行步骤s9;

s9.若处理完调度方案集合rt中所有的解后,解的规模仍然小于n,则从等级1开始逐个填入剩余解,重复执行步骤s8;

其中,剩余解是指按照步骤s7中规则放入对应等级之后剩下的解。

本发明具有如下优点:

本发明在nsga-ii的基础上主要对拥挤度计算方法和精英范围的控制进行了改进,引入包含个体更多信息的拥挤度计算方法和精英范围得到了改进的nsga-ii算法。然后将该改进的nsga-ii算法应用到集装箱堆场场桥调度中,能够减少堆场集装箱作业完成时间和场桥转场时间,为港口管理者提供决策支持。此外,本发明还对改进的nsga-ii算法与nsga-ii以及nsga-ii+imp算法在4个测试函数上进行了实验,实验结果表明本发明改进的nsga-ii的pareto解集具有更好的分布性和收敛性,更好地维持了种群多样性。

附图说明

图1为本发明中基于改进的nsga-ii的场桥调度方法流程图;

图2为种群分布对个体拥挤度的影响示意图;

图3为本发明中改进的nsga-ii算法在zdt1上的pareto曲线图;

图4为传统nsga-ii算法在zdt1上的pareto曲线图;

图5为现有技术中nsga-ii-imp算法在zdt1上的pareto曲线图;

图6为本发明中改进的nsga-ii算法在zdt2上的pareto曲线图;

图7为传统nsga-ii算法在zdt2上的pareto曲线图;

图8为现有技术中nsga-ii-imp算法在zdt2上的pareto曲线图;

图9为本发明中改进的nsga-ii算法在zdt3上的pareto曲线图;

图10为传统nsga-ii算法在zdt3上的pareto曲线图;

图11为现有技术中nsga-ii-imp算法在zdt3上的pareto曲线图;

图12为本发明中改进的nsga-ii算法在zdt6上的pareto曲线图;

图13为传统nsga-ii算法在zdt6上的pareto曲线图;

图14为现有技术中nsga-ii-imp算法在zdt6上的pareto曲线图。

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

本发明实施例述及了一种基于nsga-ii改进的场桥调度方法,该方法将改进的nsga-ii算法应用于集装箱堆场场桥调度中,以减少堆场集装箱作业完成时间和场桥转场时间。

首先根据场桥作业特点建立了场桥调度模型。

模型参数和变量定义如下:

tmax为计划期内堆场箱区最后完成作业的时间;

tia为计划期内箱区i的等待时间tiw为计划期内箱区i的作业时间;

m为堆场内需要作业的箱区总数;

k为计划期内配置的场桥总数;

ta为场桥旋转90°需要的时间;

dij为箱区i与箱区j之间的距离;

vc为场桥的移动速度;

nck为场桥k装卸的集装箱数量;

nc为计划期内堆场需要装卸的集装箱总量;

ki为在第i个箱区作业的场桥的数量;

bk为场桥k作业的贝位位置;

bbuffer为两个场桥作业的安全距离;

bk为场桥k作业的箱区。

决策变量包括:为0/1变量,场桥k从箱区i直接转场到箱区j时取值为1,否则为0;αij为0/1变量,箱区i与箱区j位于不同巷道时取值为1,否则为0。

f1=mintmax(1)

tmax=max(tia+tiw)i=1,2,…,m(2)

ki≤kimaxi=1,2,…,m(6)

|bk-bk′|>>bbuffer当bk=bk′并且k≠k′k,k′=1,2,…,k(7)

式(1)是目标函数一,表示调度计划期内堆场所有作业完成时间最短;

式(3)是目标函数二,表示场桥转场时间最短;

式(4)表示任一台场桥从某箱区只能转场至一个目的箱区;

式(5)表示计划期内堆场的总任务量被完成;

式(6)表示每个箱区分配的场桥数量不能多于箱区允许的场桥的最大数目;

式(7)表示两台场桥位于同一箱区作业时,两台场桥的间距大于安全距离,且移动时不会出现跨越。本实施例建立的场桥调度模型主要根据场桥在堆场箱区的位置和各箱区的待作业量合理地调度场桥,减少堆场集装箱作业完成时间和场桥转场时间。

对于多目标函数优化问题,保持解的多样性能给决策者提供更多合理的选择。

解的多样性主要体现在均匀性和分布广度。有小生境技术、个体密度、信息熵等来刻画解的均匀程度和分布广度。在多目标遗传算法中,当非支配个体超过种群规模时,就需要对种群进行维护,种群维护是根据分布性保持策略进行的。

在经典多目标进化算法nsga-ii中,根据非支配序irank和个体拥挤度i[i]d一次性去除所有拥挤度较小的个体维持种群规模,这种分布性保持策略会出现个体之间的缺失。

如图2所示,个体b、c有相同的拥挤度,并且都较大,但是它们两个的距离又很小,那么b、c可能同时保留下来或者同时淘汰,如果一次都淘汰掉,个体a与d之间缺失个体,理想的结果是保留b、c中的一个个体;个体e、f、g分布较均匀,但是拥挤度较小,在种群维护过程中很可能都被淘汰,这样就使得解的分布性较差。

针对上述问题,本实施例给出了基于拥挤度的动态分布性保持策略来维持种群多样性。解决方法是每淘汰一个个体重新计算种群中剩余个体的拥挤度,也就是每分配一台场桥需要动态计算分配之后的各个目标函数值,以此决定之后的场桥分配情况。

例如上图中先淘汰e后重新计算f、g的拥挤度,f的拥挤度相对较大一些,再淘汰g,这时f的拥挤度就比较大,种群的分布性就比较好。

动态分布性保持策略在进行种群维护时,每次只淘汰外部集中拥挤度最小的一个个体,然后重新计算个体的拥挤度,避免了一次性淘汰多个个体造成某一区域缺失个体的现象,因而可以得到分布更为均匀的非支配个体。

在nsga-ii中,根据式(8)计算非边界个体的拥挤度,并根据拥挤度大小维持种群的多样性。如图2所示,个体b、c有相同的拥挤度,并且都较大,但是它们两个的聚集距离又很小,那么b、c可能同时保留下来或者同时淘汰。

实际上,如果考虑更多的因素,就能区分它们两个个体的拥挤度。

其中,i[i]d表示i点的拥挤度,m为目标函数个数,表示i点的第r个目标函数值,分别为第r个目标函数的最大值和最小值。

对于场桥调度问题,每一种调度方案代表种群中的一个个体,必须修改式(8)中拥挤度的计算方法,使其更加符合场桥调度过程。

本实施例提出了一种新的拥挤度计算方法,个体拥挤度根据式(9)进行计算:

其中,m为目标函数个数;

l是当前种群中非劣等级的数目;

nl表示l非支配层中个体的数目;

i[i,r]dl为点i左边的距离,即在第r个目标函数上i点和i-1点之间的距离。

i[i,r]dr为点i右边的距离,即在第r个目标函数上i+1点和i点之间的距离。

表示i点的第r个目标函数值。

式(9)只用于对非边界个体的拥挤度进行计算,为了保持解的分布广度,边界个体拥挤度被赋予一个非常大的数,即:i[1]d=i[n]d=∞,确保其进入下一代。

本实施例提出的新的拥挤度计算方法包含了个体更多的信息,它能反映个体在各维目标上与左右两边个体的聚集距离的大小。

例如图2中个体b、c,个体c的拥挤度要比个体b的拥挤度大,有更多的机会被保留。

nsga-ii采用的精英策略就是在种群进化过程中,从父代保留优秀个体至子代,与其子代种群组合,虽然子代种群经过交叉变异之后的优劣性是未知的,但是父代种群中始终保持交叉变异前的优良个体,从组合后的种群中挑选最优个体产生下一代种群,从而保持了父代种群中的优良个体。尽管这种精英策略可以防止产生的最优解在进化过程中丢失,有效保留最优个体到进化结束,提高优化结果的精度,但是通过对nsga-ii和相应的实验结果的分析,发现该算法中采用的精英策略仍然存在不足:假设一个种群的非支配解大部分都在非支配序为1的曲线上,但是这个曲线有可能远离真正的pareto最优曲线。采用上述精英策略,很可能会使得当前种群中选择的非支配解全是精英,非精英解也就不能被选择参与下一代的遗传操作,搜索过程将中止,这样就会导致种群提前收敛或者收敛于局部pareto最优解。

为了避免算法过早收敛陷入局部最优解,本实施例对nsga-ii中精英策略进行了改进。

在改进的精英策略中将控制精英的范围,从而非精英解也能参与到遗传操作中,确保搜索朝着全局pareto最优解方向进行。

在改进的精英策略中,每个等级允许的个体最大数的分布函数如下:

其中nj是当前等级中允许的个体最大数;

j是种群中非劣等级级别;

α是一个自定义的参数;

p是为了控制调度方案集合中解的个数而设置的一个参数。

式中确定了每个等级j中所允许个体的最大数目nj,假设等级1中有n′1个个体,如果n′1>n1,则根据个体的拥挤度选择算子选择n1个较好的个体。

但是有可能等级j中的个体数并没有达到nj,这将导致种群规模的减少,解决方法如下:如果n′1<n1,我们选取等级1中所有的个体,式中定义参数p=n1-n′1,等级2中所允许的个体最大数为n2=n2+p,然后比较n′2和n2,这个过程一直持续到种群规模达到n。

根据式(12)计算出每个等级中所允许个体的最大数,随着等级数的增大,等级中允许的个体最大数逐渐减少,这也体现了“优胜劣汰”的思想。等级1中允许的个体数是最多的,并且等级1中的个体是当前种群中最好的非劣个体,也就是精英个体。

这样可以保证绝大部分精英个体参与到下一代遗传操作中,避免全部精英个体参与到下一代中,从而可以确保种群的多样性,防止种群提前收敛或收敛于局部最优解。

在nsga-ii的基础上采用上述能反映个体在各维目标上与左右两边个体的聚集距离大小的拥挤度计算方法和控制精英范围的精英保持策略,包含了个体更多的信息,并采用动态分布性保持策略进行种群维护,如图1所示,改进后的算法如下:

输入:初始调度方案集p和迭代次数gen。

输出:最优非支配解集q。

s1.初始化场桥调度方案集合

随机产生堆场场桥对计划期内作业的n种可行调度方案的集合pt;

初始化参数t=1,迭代次数gen=1;

s2.集合pt中的解通过交叉、变异产生新的调度方案集;

对新的调度方案进行可行性检测,若可行则保存,否则按照如下方法修正:

依次搜索调度方案中场桥的作业顺序编号,将两种调度方案中同一台场桥重复操作的堆场顺序进行交换,确保同一台场桥对不同堆场作业顺序有先后;

其中,如果一种调度方案中同一台场桥在不同箱区的作业顺序不冲突,则表示可行;

修正后的方案集合为qt,令gen=gen+1;

s3.判断gen是否等于最大迭代次数:若是,则流程结束;否则执行步骤s4;

s4.将pt和qt中的解合并在一起,形成解的个数为2n的调度方案集合rt;

s5.将合并产生的调度方案集合rt进行快速非支配排序,每个解得到一个非支配序irank,同时根据作业完成时间和转场时间;

利用公式(1)计算每个非支配层中个体i的拥挤度i[i]d,个体拥挤度计算公式为:

其中,m表示目标函数个数;

l是当前调度方案集合中非劣等级的数目;

nl表示l非支配层中解的数目;

i[1]d=i[n]d=∞;

i[i,r]dl为点i左边的距离,即在第r个目标函数上i点和i-1点之间的距离;

i[i,r]dr为点i右边的距离,即在第r个目标函数上i+1点和i点之间的距离;

表示i点的第r个目标函数值;

s6.根据公式(2)计算每个等级j中所允许个体的最大数目nj:

其中,nj是当前等级中允许的解最大数;

j是调度方案中非劣等级级别;

α是一个自定义的参数;

p是为了控制调度方案集合中解的个数而设置的一个参数;

s7.根据种群rt中个体之间的非支配序irank和拥挤度i[i]d的大小依次选取irank小和irank同样时i[i]d大的非支配解放入对应等级中;

s8.判断选取的解的个数是否为n:

若是,令t=t+1,形成新的调度方案集合pt,执行步骤s2;

否则,执行步骤s9;

s9.若处理完调度方案集合rt中所有的解后,解的规模仍然小于n,则从等级1开始逐个填入剩余解,重复执行s8。

其中,剩余解是指按照步骤s7中规则放入对应等级之后剩下的解。

本发明将改进的nsga-ii(insga-ii)和nsga-ii以及nsga-ii(nsga-ii-imp)在4个经典的测试函数上进行对比,测试函数如表1所示。

参数设置:种群规模n=100,最大迭代次数gen=150,算法均采用实数编码,交叉概率为0.9,变异概率为0.01,结果如图3-图14所示。

表1测试函数

从图3-图14可以看出,nsga-ii的pareto曲线分布不均匀,有些区域个体密集甚至堆积,有些区域个体稀疏甚至缺失,尤其是在优化连续的mops时,如:zdt1、zdt2与zdt6,容易造成有些区域个体缺失和难收敛;nsga-ii-imp相对于nsga-ii有一定改进,但是仍有部分区域分布不均匀。而经过本发明改进后的insga-ii算法都比nsga-ii算法和nsga-ii-imp算法表现的好,尤其是在连续函数上分布性表现的比较明显。

多目标优化问题的解的优劣性主要表现在所求解与理论最优值之间的逼近程度。

采用世代距离(generationdistance,gd)来计算非支配解与pareto最优解集之间的距离,评价算法的收敛性,gd计算公式如下:

其中,n是所得pareto解集中的个体数目;

di是个体i到pareto最优解集的最小欧式距离。

gd值越小说明解集越接近pareto最优解集。

如果gd值为0,说明所得到的解集就是pareto最优解集。

采用schott提出的分布度计算方法来评价所得pareto解集的分布范围,其定义如下:

其中,di为pareto解集中两个个体的欧式距离的最小值,为di的平均值,n为算法得到的pareto解集中解的个数。dr越小,获得的pareto解集越接近pareto最优解集。

为了进一步验证上述改进的算法的性能,本发明将从算法的分布性和收敛性两方面,对改进的insga-ii和nsga-ii以及nsga-ii-imp的性能指标进行分析。

每个算法都独立运行20次,结果如表2和表3所示。

表2分布性指标dr

表3收敛性指标gd

表2给出了三种算法的分布性指标dr的均值和方差,表3给出了三种算法的收敛性指标gd的均值和方差,从表2和表3中可以看出:

经过本发明改进的算法(insga-ii)在4个测试函数上的分布性指标和收敛性指标的均值都小于nsga-ii和nsga-ii-imp,尤其是在连续函数zdt1、zdt2与zdt6上表现更明显一些,在zdt3上略微小于nsga-ii和nsga-ii-imp。因此,引入包含个体更多信息的拥挤度计算方法和精英范围得到的insga-ii算法的分布性和收敛性得到了提高。

最后将该算法应用到集装箱堆场场桥调度中,以计划期内堆场所有作业完成时间最短和场桥转场时间最短为目标进行了仿真实验,例证该算法的有效性和实用性。

通过对国内某集装箱港口的数据分析来说明上述改进的nsga-ii在场桥调度中的有效性。本发明实施例中染色体编码方式采用实数编码,每条染色体的长度为k,包括对应的作业箱区、作业顺序和作业量。

表4解的编码方式

编码形式如表4所示,场桥yc_1先在b01箱区作业136个集装箱,然后前往a01箱区作业120个集装箱;场桥yc_2先在b01箱区作业222个集装箱,然后前往c01箱区作业34个集装箱,省略部分同理。若场桥对应的作业箱量为0,则表示该场桥不在此箱区作业。算法中选择、交叉和变异算子同nsga-ii。

案例中选择堆场中常用的20个箱区为研究对象,包括集卡通道5巷道,配备18台场桥。场桥每装卸单个集装箱的平均用时约2min,移动速度为3m/s,同一巷道内相邻箱区转场需要12min,不同巷道内相邻箱区转场需要18min。某时段涉及到的各个箱区的工作量和初始场桥分布如表5所示。

表5各个箱区的工作量和初始场桥分布

表6给出了利用改进的nsga-ii求得pareto最优解中有代表性的一组解,其中--表示场桥没有转场。

表6场桥工作量和转场情况

本发明方法在场桥分配过程中,考虑每一个箱区的工作时间以及场桥转场的时间,20个箱区中工作时间最长的箱区是c05箱区,时间为550min,所有场桥转场总时间为162min。从实验结果来看,各个场桥的工作量是相对均衡的,而且场桥转场大部分是在巷道内移动,这样既保证了堆场集装箱作业完成时间,也避免了因场桥频繁转场带来的交通堵塞问题。

当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1