买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:南京林业大学
摘要:本专利解决了港口多资源设备QC、YT和YC的集成调度问题。为此提出了一种MIP模型,由于大量的变量和约束条件,MIP模型难以处理大型实际问题。为此,开发了一种遗传算法,该算法结合了所提出的一般化算法框架。在GA中,设计了三维染色体,其将三个子问题相互关联起来。基于染色体的结构特征,引入了三对交叉算子和变异算子,每对交叉和变异算子只针对其中一个子问题。GA中的这种机制很好地匹配了集成问题的属性。此外,为了提高所提出的遗传算法的效率,设计了一种新的启发式变异算子。通过并行地应用三对交叉算子和变异算子,可以找到更好的解决方案。通过计算结果显示了所提出的算法能够较好地解决港口集成调度问题。
主权项:1.岸桥QC、集卡YT和龙门吊YC的集成调度的优化方法,其特征在于,集成调度方法通过i_QCYTYC模型来实现,i_QCYTYC模型的最终结果由QC,YT和YC的具体调度表组成,包括:1在QC,YT和YC上每个集装箱的开始时间和结束时间;2每台QC、YT和YC上的集装箱加工顺序,以及3YT分配和YC分配;所述i_QCYTYC模型所建立的MIP模型如下:MinimizeCmax1 公式1描述了模型的目标函数;约束2定义了所有集装箱的总完工时间;约束3计算每个作业的完成时间,并表明在通过YT将该作业转移到相应QC之后,QC可以立刻对该作业进行装载;其中,ci-hqc为任务i在QCi上的开始时间;约束4确保在通过YC将集装箱转移到储位的转移点之后,YT可以开始进行转移,其中,Tyti-DBiQCisyt为YT开始执行任务i的开始时间;约束5a,5b定义了系统停滞状态:约束5a描述了在YCe上作业i排在了作业j之前进行处理,约束5b描述了在YTk上作业i排在了作业j之前进行处理;当工作i被其后面操作所需要的设备从当前设备YC或YT中释放之后,该设备便可以为其后续任务j进行服务;否则,工作i将不得不留在当前的处理设备上,直到工作i所需的下一台设备从当前的处理设备中将其释放出来;其中,Tyti-DBiQCisyt为YT开始执行任务i的开始时间,Tycj-hyc为YC开始执行任务j的开始时间;并且,此约束条件同时保证了任意一台YT或YC不能同时处理两项任务i和j;约束6a,6b分别限制了每个YT和每个YC从其初始位置开始其第一项任务;约束7a,7b确保QCq上不能同时处理任务对i,j所包含的工作i和j;约束8a,8b确保每个作业仅分配给一个YT和一台YC;约束9a描述了如果作业i和j由YTk先后进行运送,即yijk=1,则必须将作业i和j分配给YTk,即uik=1且ujk=1;约束9b针对YC限定了同样的约束;约束10a,10b分别确定了每个YT和每个YC的第一个执行任务;约束11a描述了如果作业i是YTk的第一个任务,则必须将作业i分配给YTk;约束11b描述了如果作业i是YCe的第一个任务,则必须将作业i分配给YCe;约束12a-12c确定每个YT上的作业顺序;约束13a-13c确定每台YC上的作业顺序;约束14对0-1整数决策变量进行了限定;其中的符号表示如下:i,j表示岸桥、集卡或者龙门吊移转、运送某集装箱的任务,i,j=1,2,…,Njob,Njob=任务总数,q表示岸桥QC的编号,q=1,2,…,Nqc,Nqc=岸桥总数,QCq表示编号为q的岸桥QC,k表示集卡YT的编号,k=1,2,…,Nyt,Nyt=集卡总数,YTk表示编号为k的集卡YT,e表示龙门吊YC的编号,e=1,2,…,Nyc,Nyc=龙门吊总数,YCe表示编号为e的龙门吊YC,m,n表示岸桥QC和各堆场区的所在位置;参数表示如下:QCi表示分配给任务i的岸桥QC,Bi表示在任务i中所处理的集装箱被存放的堆场区,iptk为集卡YTk的初始位置,ipce为龙门吊YCe的初始位置,Dmn为从位置m到位置n的距离,hqc为岸桥将集装箱从集卡转移到货船上所需要的平均处理时间,hyc为龙门吊将集装箱从堆场转移到集卡上所需要的平均处理时间,syt为集卡YT的移动速度,syc为龙门吊YC的移动速度,M为一个非常大的常数,i,j任务对,包括分配给同一台QC所有任务中,其中任意两个任务i,j的组合,即QCi=QCj;集合表示如下:L为出口集装箱集合,SQ岸桥QC集合,ST集卡YT集合,SC龙门吊YC集合,SPq任务对i,j的集合;决策变量表示如下:Cmax为所有任务的总完工时间,Tyti为任务i被其所分配的集卡YT运送到QCi对应的转移点的到达时间,Tyci为任务i被其所分配的龙门吊YC运送到Bi对应的转移点的到达时间,ci为任务i的完成时间,即任务i在QCi上的完成时间, 优化方法包括以下的步骤:读取输入数据开始,根据输入数据,创建和评估初始种群;在每一次迭代中,并行地执行三对交叉算子和变异算子来产生后代,然后对其进行评估;新种群通过混合选择策略来选择;当满足终止条件时,则算法运行结束;种群解中的每一个单解称为染色体;每个染色体表示一个为3×Njob的数组,记作π,它有三个维度且具有相同的长度:作业的装载顺序,名为π1;π1中每个工作的YT分配,记为π2;π1中每个工作的YC分配,命名为π3;将πa定义为πa={πa1,πa2,…,πaNjob},其中a=1,2,3;根据π1中QC的装载顺序,YT和YC上的作业序列分别从π2和π3获得;染色体π中每个作业π1ii=1,2,…,Njob的完成时间的计算过程如下:a初始化:a.1设置i=1,a.2设置pyc[e]=ipcefor并且pyt[k]=iptkfora.3设置fyc[e]=fyt[k]=fqc[q]=ryc[e]=ryt[k]=0for b计算工作π1i在YCπ3i上的完成时间:b.1计算YCπ3i的到达时间和完成时间:ayc[π3i]=ryc[π3i]+Dpyc[π3i],Bπ1isycfyc[π3i]=ayc[π3i]+hycb.2将YCπ3i的所在位置更新为Bπ1i,pyc[π3i]=Bπ1ic计算工作π1i在YTπ2i上的结束时间:c.1计算YTπ2i的到达时间:ayt[π2i]=ryt[π2i]+Dpyt[π2i],Bπ1isytc.2对出口集装箱而言,当任务集装箱即工作π1i被放置于YTπ2i时,设备资源YCπ3i被释放,因此,YCπ3i在被释放后的处于可用状态的时间可计算为:ryc[π3i]=max{ayt[π2i],fyc[π3i]}然后,YTπ2i的完成时间可计算为:fyt[π2i]=ryc[π3i]+DBπ1iQCπ1isytc.3则YTπ2i所处位置可更新为QCπ1i,pyt[π2i]=QCπ1ic.4对于出口集装箱而言,当任务集装箱π1i被所分配的QC从YTπ2i中转移走后,设备YTπ2i被释放处于待用状态,因此,设备YTπ2i的释放时间可计算为:ryt[π2i]=max{fyt[π2i],fqc[QCπ1i]}d计算工作π1i在其所指定QC上的装载完成时间:cπ1i=fqc[QCπ1i]=ryt[π2i]+hqce计算所有任务的总完工时间Cmax:如果i=Njob,则Cmax=max{cπ1i|i=1,2,…,Njob},否则,设置i=i+1,算法跳转到步骤b;初始种群解的生成方法:随机初始化π1中Njob个作业的QC装载序列,随机产生π2中的每个YTkk∈ST,随机产生π3中的每个YCee∈SC;新一代种群解的产生方法:基于三维染色体,设计了三对交叉算子和突变算子:Crossover_1和Mutation_1,Crossover_2和Mutation_2,Crossover_3和Mutation_3;Crossover_1和Mutation_1应用于π1,同时保持其YT和YC的分配不变;对π2上执行Crossover_2和Mutation_2,同时保持π1和π3不变;在π3上执行Crossover_3和Mutation_3,同时保持π1和π2不变;在每一次迭代中,以并行的方式执行三对交叉算子和突变算子以产生新一代的种群解;变异算子Mutation_2或者Mutation_3采用启发式变异算子;在Mutation_2中,固定父代染色体的π1和π3,通过将分配给作业π1ii=1,2,…Njob的YT逐个变换为其余的Nyt-1YT中任何一个;通过Mutation_2来改变一个工作的YT分配,产生Nyt-1个邻域解;因此,在Mutation_2中共生成Njob×Nyt-1个邻域解;对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体;变异算子Mutation_3采用启发式变异算子;在Mutation_3中,固定父代染色体的π1和π2,通过将分配给作业π1ii=1,2,…Njob的YC逐个变换为其余的Nyc-1YC中任何一个;通过Mutation_3来改变一个工作的YC分配,产生Nyc-1个邻域解;因此,在Mutation_3中共生成Njob×Nyc-1个邻域解;对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体。
全文数据:岸桥QC、集卡YT和龙门吊YC的集成调度模型及其GA算法技术领域本发明涉及港口核心资源集成调度模型及算法。背景技术贸易全球化促进了全球物流和运输业的发展,特别是海运集装箱港头containerterminals,简称CT,港口的运营效率对国际贸易和国家经济的增加有直接的影响。船舶周转时间是船舶在泊位上所花费的总时间,是评价港口效率的一个关键指标[1],能够使船舶周转时间短的高效港口更具有竞争力并将在世界上保持领先地位。为实现这一目标,需要港口内部各资源的相关活动开展密切的合作。在大多数港口中,集装箱的标准尺寸为20英尺等效单位,主要使用三种大型设备来完成集装箱的转移[2],他们分别是岸桥quaycrane,简称QC,集卡yardtruck,简称YT和龙门吊yardcrane,简称YC。QC位于码头区,负责将集装箱装载到船上或者从船上卸下集装箱。YC在堆场中用于将集装箱从YT放入其相应的存储位,或者将集装箱放置到YT上,YT工作于QC和YC之间运送集装箱。由于起重机QC和YC与YT之间没有缓冲空间,因此港口中可能会出现停滞状态。例如,当QC或YC吊起集装箱时,它需要将集装箱放在可用的YT上而不是直接将其放在地上,因为YT需要起重机的帮助才能装载集装箱。因此,如果没有空载YT将起重机吊起的集装箱进行转移,QC和YC则无法继续下一个任务,直到有空载YT到达。而在另一方面,集装箱只能一直保持在YT上,直到有QC或YC将集装箱吊起,将其装载入船或堆放至储位中。由于起重机和YT之间的存在前后配合不协调的情况,从而导致系统发生停滞情况。忽视起重机和YT之间的这种相互协作关系会导致不能保证全局最优性,因此,当在港口集成模型中同时考虑QC,YT和YC三大主要设备的运作过程时,能够大大提升港口系统的整体性能。随着港口系统重要性的日益增加,目前针对港口资源的相关问题已有了大量研究。适当安排QC,YT和YC等有限资源会直接影响港口的运营效率,但以往的研究主要集中在港口单资源调度问题,如QC调度问题,YT调度问题,YC调度问题。李等[3]研究了考虑QC不可跨越这一约束条件的QC调度问题,并建立了MIP模型和开发了GA来解决此问题。文中作者指出QC调度问题是NP-complete。Tavakkoli-Moghaddam等[4]研究了QC调度和分配问题。鉴于对QC调度问题的研究越来越多,Meisel和Bierwirth[5]提出了一个一般化的的方法来评估不同的QC调度模型和相应的求解过程。Bish等[6]针对港口单艘货船研究了车辆调度问题,目标函数是船舶总完工时间最短,重点工作是调查车辆的分派或部署对港口吞吐量的影响。对于港口的其他方面,包括卸载集装箱的储位选择,车辆移动路线和交通控制等,都作为给定的已知数据。Ng等[7]对一组卡车调度问题进行了研究,问题中考虑了与序列相关的设备处理时间和不同的准备时间,其目标是尽量减少总完工时间。Ng和Mak[8]求解了港口单台YC的调度问题,目标是最小化作业总等待时间,其中考虑了装载作业和卸载作业具有不同的准备时间这一约束条件。Jung和Kim[9]将单台YC调度问题扩展到多台YC调度问题,他们仅考虑了装载作业,目标函数是最小化总完工时间。Heetal.[10]设计了一种混合遗传算法来解决港口YC调度问题,与以往很多论文不同的是,他们考虑的YC需要在不同的堆场区之间移动以便充分利用YC。上述所有研究主要针对港口中单一资源的调度问题,而忽略了与此资源作业过程中具有关联性的其他资源设备。这通常会不能保证港口的整体性能,因此,一些研究人员已经开始对港口中不同设备资源的集成问题展开了研究工作。Bierwirth和Meisel[11]对港口中的泊位分配和QC调度集成问题进行了相关文献的总结。他们指出,港口集成问题将受到更多关注,并成为未来港口问题研究的新趋势。Cao等[12]提出了YT和YC在出口集装箱装载作业中的集成调度问题,建立了MIP模型并利用Bender分解方法来解决该集成模型。在文献[1,13-14]中均阐述了在港口中研究多种类型设备资源集成问题的重要性。Chenetal.[1]提出了一种基于TS的算法来求解QC、场地车辆和YC的集成调度问题,他们假设每个堆场区都有特定的YC,YC不需要在堆场区之间进行移动,并且每台YC只能负责一种操作模式,即将出口集装箱运出堆场或者将进口集装箱放入其相应储位。在Lau和Zhao[13]的论文中,提出了一个QC、自动导引车和自动YC的集成调度模型,在他们的模型中,假设每个堆场区都具有指定的YC。上述两种模型对改善港口中不同装卸设备工作中的协作性有很大益处。然而,Chenetal.[1]和Lau和Zhao[13]所采用的假设对于一些具有多个堆场区但资金支持相对有限的中小型港口而言,在现实中具有一定执行难度,由于YC设备价格高昂,而不同存储区共享YC不会增加YC的潜在成本。此外,Heetal.[10]在他们的研究中也已经提到过,有限的设备资源YC在很多港口并没有得到很充分的利用。在港口中,有一种被广泛使用的YC,即橡胶轮胎龙门起重机rubbertiredgantrycranes,简称RTGC,它装有橡胶轮,可以在堆场区之间进行移动,使用RTGC可以大大提高港口运营的灵活性。由于其具有移动性和灵活性的特征,RTGC已经成为香港以及世界各地的港口中最常用的装卸设备之一[15-17]。由于YC设备非常昂贵,因此在某些港口中不能满足每个堆场区都具有一台YC。为了充分利用YC并克服堆场区之间的工作负载不平衡,YC需要通过共享和再分配以缓解工作负载[10]。此外,YC的调度计划通常由港口管理人员根据他们的工作经验制定,但这种方式不能保证每个班次的安排效率。而低效的YC调度计划可直接降低堆场区中的生产效率,从而影响港口的整体性能。发明内容本发明的目的的是提供一种岸桥QC、集卡YT和龙门吊YC的集成调度模型,它是一种港口核心资源集成调度模型,它考虑了堆场区之间YC移动和YC分配,能够改善港口中不同装卸设备工作中的协作性,提升港口的整体性能。为解决上述问题,本岸桥QC、集卡YT和龙门吊YC的集成调度模型为:MinimizeCmax1其中:公式1描述了模型的目标函数;约束条件2定义了所有集装箱的总完工时间;约束条件3计算每个作业的完成时间,并表明在通过YT将该作业转移到相应QC之后,QC可以立刻对该作业进行装载;约束条件4确保在通过YC将集装箱转移到储位的转移点之后,YT可以开始进行转移;约束条件5a,5b定义了系统停滞状态:约束条件5a描述了在YCe上作业i排在了作业j之前进行处理,约束条件5b描述了在YTk上作业i排在了作业j之前进行处理;约束条件6a,6b分别限制了每个YT和每个YC从其初始位置开始其第一项任务;约束条件7a,7b确保QCq上不能同时处理任务对i,j所包含的工作i和j;约束条件8a,8b确保每个作业仅分配给一个YT和一台YC;约束条件9a描述了如果作业i和j由YTk先后进行运送,则必须将作业i和j分配给YTk;约束条件9b针对YC限定了同样的约束;约束条件10a,10b分别确定了每个YT和每个YC的首任务。约束条件11a描述了如果作业i是YTk的第一个任务,则必须将作业i分配给YTk;约束条件11b描述了如果作业i是YCe的第一个任务,则必须将作业i分配给YCe;约束条件12a-12c确定每个YT上的作业顺序;约束条件13a-13c确定每台YC上的作业顺序;约束条件14对0-1整数决策变量进行了限定。本发明同时提供了一种集成调度模型的GA算法,它一种基于GA的优化算法,能够在合理的计算时间范围内找到最优解或满意解。为解决上述问题,本发明所述的集成调度模型求解的GA算法,其步骤包括:读取输入数据开始,根据输入数据,创建和评估初始种群;在每一次迭代中,并行地执行三对交叉算子和变异算子来产生后代,然后对其进行评估;新种群通过混合选择策略来构建;当满足终止条件时,则算法运行结束。作为对上述的GA算法的进一步改进,种群解中的每一个单解称为染色体;每个染色体表示一个为3×Njob的数组,记作π,它有三个维度且具有相同的长度:作业的装载顺序,名为π1;π1中每个工作的YT分配,记为π2;π1中每个工作的YC分配,命名为π3;将πa定义为πa={πa1,πa2,…,πaNjob}a=1,2,3;根据π1中QC的装载顺序,YT和YC上的作业序列分别从π2和π3获得;染色体π中每个作业π1ii=1,2,…,Njob的完成时间的计算过程如下:a初始化:a.1设置i=1.a.2设置并且a.3设置b计算工作π1i在YCπ3i上的完成时间:b.1计算YCπ3i的到达时间和完成时间:ayc[π3i]=ryc[π3i]+Dpyc[π3i],Bπ1isycfyc[π3i]=ayc[π3i]+hycb.2将YCπ3i的所在位置更新为Bπ1i.pyc[π3i]=Bπ1ic计算工作π1i在YTπ2i上的结束时间:c.1计算YTπ2i的到达时间:ayt[π2i]=ryt[π2i]+Dpyt[π2i],Bπ1isytc.2对出口集装箱而言,当任务集装箱即工作π1i被放置于YTπ2i时,设备资源YCπ3i被释放,因此,YCπ3i在被释放后的处于可用状态的时间可计算为:ryc[π3i]=max{ayt[π2i],fyc[π3i]}然后,YTπ2i的完成时间可计算为:fyt[π2i]=ryc[π3i]+DBπ1iQCπ1isytc.3则YTπ2i所处位置可更新为QCπ1i.pyt[π2i]=QCπ1ic.4对于出口集装箱而言,当任务集装箱π1i被所分配的QC从YTπ2i中转移走后,设备YTπ2i被释放处于待用状态,因此,设备YTπ2i的释放时间可计算为:ryt[π2i]=max{fyt[π2i],fqc[QCπ1i]}d计算工作π1i在其所指定QC上的装载完成时间:cπ1i=fqc[QCπ1i]=ryt[π2i]+hqce计算所有任务的总完工时间Cmax:如果i=Njob,则Cmax=max{cπ1i|i=1,2,…,Njob},否则,设置i=i+1,算法跳转到步骤b。作为对上述的GA算法的进一步改进,初始种群解的生成方法:随机初始化π1中Njob个作业的QC装载序列,随机产生π2中的每个YTkk∈ST,随机产生π3中的每个YCee∈SC;新一代种群解的产生方法:基于三维染色体,设计了三对交叉算子和突变算子:Crossover_1&Mutation_1,Crossover_2&Mutation_2,Crossover_3和Mutation_3;Crossover_1和Mutation_1应用于π1,同时保持其YT和YC的分配不变;对π2上执行Crossover_2和Mutation_2,同时保持π1和π3不变;在π3上执行Crossover_3和Mutation_3,同时保持π1和π2不变;在每一次迭代中,以并行的方式执行三对交叉算子和突变算子以产生新一代的种群解。作为对上述的GA算法的进一步改进,Crossover_1使用顺序交叉算子,Crossover_2和Crossover_3采用两点交叉算子。作为对上述的GA算法的进一步改进,使用确定性选择和轮盘赌选择在内的混合选择策略来选择后代染色体。作为对上述的GA算法的进一步改进,变异算子Mutation_2或者Mutation_3采用启发式变异算子;在Mutation_2中,固定父代染色体的π1和π3,通过将分配给作业π1ii=1,2,…Njob的YT逐个变换为其余的Nyt-1YT中任何一个;通过Mutation_2来改变一个工作的YT分配,产生Nyt-1个邻域解;因此,在Mutation_2中共生成Njob×Nyt-1个邻域解;对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体。作为对上述的GA算法的进一步改进,变异算子Mutation_3采用启发式变异算子;在Mutation_3中,固定父代染色体的π1和π2,通过将分配给作业π1ii=1,2,…Njob的YC逐个变换为其余的Nyc-1YC中任何一个;通过Mutation_3来改变一个工作的YC分配,产生Nyc-1个邻域解;因此,在Mutation_3中共生成Njob×Nyc-1个邻域解;对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体。作为对上述的GA算法的进一步改进,Mutation_1是基于交换突变实现。本发明的有益效果:本专利提出的集成模型中考虑了堆场区之间YC移动和YC分配,并建立了混合整数规划模型和一种基于GA的优化算法,以获得总体最优或近似最优解。本专利对港口三种核心设备资源QC,YT和YC的集成调度模型,我们将其命名为i_QCYTYC,其目标函数是总完工时间最小化,此目标能够直接反映船舶的周转时间。我们提出并求解港口多资源QC,YT和YC的集成调度问题,在此问题中,我们考虑了YC在不同堆场区的分配和移动,而也可将它看作是每个堆场区都有一台专用YC的一般化模型。对于设定专用YC的这种特殊情况,则不需要分配YC,可以通过在约束条件中对YC的选择进行具体的限定,便可以使用本模型进行求解。目前大多数港口采用分别安排装载和卸载的方式即装载操作在所有卸载操作完成后开始,在专利中,仅针对出口集装箱的装载过程进行集成性研究。但是此专利所提出的方法不仅限于装载操作,同时对于卸载操作过程也是适用的。在本集成问题中,假设各船舶的QC分配已经确定,而且根据集装箱的类型和集装箱的运输目的地,每个集装箱在船上的位置也是预先指定的。也就是说,每个集装箱都有一个预先指定好的QC,我们需要做的是确定每台QC上各集装箱的装载序列。而在分配决策方面,除了需要确定YT分配,还要确定YC在不同堆场区之间的分配问题,因为YC并不指定给某一个堆场区,为的是充分利用资源YC并降低其潜在的投资成本[10]。可见,i_QCYTYC的目的是对三个相关子问题同时做出决策:每台QC上集装箱的装载顺序,集装箱的YT分派,堆场区的YC分派。为求解此集成问题,开发了一个混合整数规划模型MIP以找到最佳调度方案。然而,由于单独一个子问题YT调度问题属于NP-hard[7],i_QCYTYC也是NP-hard问题,因为当其他两个子问题被视为已知数据时,它便可以简化为YT调度问题。通过使用数学规划模型,很难解决大型的港口实际调度问题,因此,我们提出了一种易于实现的基于GA的优化算法。最后的实验结果表明,该算法能够有效地为i_QCYTYC找到了优质解或满意解。此集成调度问题需要同时对三个子问题做出决策:QC的装载顺序,YT调度计划和YC调度计划。为了匹配该集成问题的结构特征,在所提出的算法中设计了一个三维解方案表达式,该表达式是通过考虑三个装卸设备的相互协作关系将三个子方案进行集成。因此,相对应地设计了三对交叉算子和突变算子,其中每对交叉算子和突变算子应用到其中一个子问题中。同时,我们提出了一种新的启发式突变算子,它能够提高GA寻找更好解方案的效率。本专利提出的集成调度模型及其GA算法的求解结果,减少设备空载行程和等待时间,提高各设备的利用率和协作性,从而尽快完成所有集装箱的装载工作。本专利的技术内容是名称为“碳排放约束下集装箱港口核心资源集成调度问题研究”的国家自然科学基金青年项目71701099的部分内容。附图说明图1是集装箱港口典型布局的示意图。图2是GA算法的流程图。图3是π1执行Crossover_1的过程具体示例图。图4是π2执行Crossover_2的过程具体示例图。图5是π1执行Mutation_1的过程具体示例图。图6是算法GA_HM和GA_SM的收敛性分析图。具体实施方式下面结合具体实施例及附图对本发明进行详细说明。一、问题描述和数学公式图1给出了集装箱港口典型布局的示意图。货船沿着海边在泊位上停靠,并将一定数量的QC分配给各货船,集装箱存储地被分为几个储位区,并在每台QC和每个储位区之前均设有一个集装箱转移点。YT在转移点接收或者卸载集装箱。以出口集装箱为例,完成将集装箱装载到货船上这一过程需要经历三个阶段:首先,一组YC在存储区域内移动以从储位中获取所需的集装箱并将它们转移至到YT上;然后,YT将集装箱按照一定的路径运送至QC处;最后,QC将集装箱装载到货船上。这里假设每台YT或YC从其初始位置开始进入工作状态,且任何两个转移点之间的距离是预先给定的。为了完成出口集装箱的装载操作,需要前后顺序地利用YC,YT和QC来运送集装箱。因此,在i_QCYTYC中,一个作业或任务被定义为一个集装箱完整的传送过程。集装箱的起始点和终止点分别是其储位区和被分配的QC,此处每个集装箱的指定储位、被分配的QC以及所有YT和YC的初始位置都是已知的。i_QCYTYC模型的假设条件介绍如下:1在港口中使用均相同的YT和YC,每个集装箱可以使用任何一台YT或YC进行运输;2假设负载YT或YC和空载YT或YC以相同的速度移动;3YT使用单位容量,即每个YT一次只能运送一个20英尺标准当量的集装箱;4模型中将QC或YC处理一个集装箱的平均工作时间作为设备的操作时间,起重机QC,YC和YT之间的交接时间包含在起重机的操作时间之内。5不考虑特殊集装箱例如危险品,动物或冷冻物品的集装箱的装载,且前往同一目的地的出口集装箱装有相同或同类别的货物。所有集装箱可以堆叠在彼此的顶部,并且分配给相同QC的集装箱由该QC装载原则为先到先服务。6港口具有足够的空间用于装卸设备的移动,并且模型中不考虑诸如YT和YC的交通堵塞等控制问题。每个作业的完成时间是其QC和YC的处理时间,YT从作业的起点到目的地的行程时间以及等待时间的总和。当所需的装卸设备不可用或处于忙碌状态时,待处理集装箱则处于等待状态。通过减少每个集装箱的等待时间和YT和YC的空载行驶率,可以大大提高港口运营效率。而合理的QC装载顺序以及恰当地将YT和YC分配给集装箱则可以显着减少空载行程和等待时间。i_QCYTYC模型的最终结果由QC,YT和YC的具体调度表组成,包括:1在QC,YT和YC上每个集装箱的开始时间和结束时间;2每台QC、YT和YC上的集装箱加工顺序,以及3YT分配和YC分配。本专利使用以下数学符号对i_QCYTYC模型进行数学描述:符号:i,j表示岸桥、集卡或者龙门吊移转、运送某集装箱的任务,i,j=1,2,…,Njob,Njob=任务总数q表示岸桥QC的编号,q=1,2,…,Nqc,Nqc=岸桥总数QCq表示编号为q的岸桥QCk表示集卡YT的编号,k=1,2,…,Nyt,Nyt=集卡总数YTk表示编号为k的集卡YTe表示龙门吊YC的编号,e=1,2,…,Nyc,Nyc=龙门吊总数YCe表示编号为e的龙门吊YCm,n表示岸桥QC和各堆场区的所在位置参数:QCi表示分配给任务i的岸桥QCBi表示在任务i中所处理的集装箱被存放的堆场区iptk集卡YTk的初始位置ipce龙门吊YCe的初始位置Dmn从位置m到位置n的距离hqc岸桥将集装箱从集卡转移到货船上所需要的平均处理时间hyc龙门吊将集装箱从堆场转移到集卡上所需要的平均处理时间syt集卡YT的移动速度syc龙门吊YC的移动速度M一个非常大的常数i,j任务对,包括分配给同一台QC所有任务中,其中任意两个任务i,j的组合,即QCi=QCj集合:L出口集装箱集合SQ岸桥QC集合ST集卡YT集合SC龙门吊YC集合SPq任务对i,j的集合决策变量:Cmax所有任务的总完工时间Tyti任务i被其所分配的集卡YT运送到QCi对应的转移点的到达时间Tyci任务i被其所分配的龙门吊YC运送到Bi对应的转移点的到达时间ci任务i的完成时间,即任务i在QCi上的完成时间下面列出了所建立的MIP模型:MinimizeCmax1公式1描述了模型的目标函数。约束2定义了所有集装箱的总完工时间。约束3计算每个作业的完成时间,并表明在通过YT将该作业转移到相应QC之后,QC可以立刻对该作业进行装载。其中,ci-hqc为任务i在QCi上的开始时间。约束4确保在通过YC将集装箱转移到储位的转移点之后,YT可以开始进行转移,其中,Tyti-DBiQCisyt为YT开始执行任务i的开始时间。约束5a,5b定义了系统停滞状态:约束5a描述了在YCe上作业i排在了作业j之前进行处理,约束5b描述了在YTk上作业i排在了作业j之前进行处理。当工作i被其后面操作所需要的设备从当前设备YC或YT中释放之后,该设备便可以为其后续任务j进行服务。否则,工作i将不得不留在当前的处理设备上,直到工作i所需的下一台设备从当前的处理设备中将其释放出来。其中,Tyti-DBiQCisyt为YT开始执行任务i的开始时间,Tyci-hyc为YC开始执行任务i的开始时间。并且,此约束条件同时保证了任意一台YT或YC不能同时处理两项任务i和j。约束6a,6b分别限制了每个YT和每个YC从其初始位置开始其第一项任务。约束7a,7b确保QCq上不能同时处理任务对i,j所包含的工作i和j。约束8a,8b确保每个作业仅分配给一个YT和一台YC。约束9a描述了如果作业i和j由YTk即yijk=1先后进行运送,则必须将作业i和j分配给YTk即uik=1且ujk=1。约束9b针对YC限定了同样的约束。约束10a,10b分别确定了每个YT和每个YC的第一个执行任务。约束11a描述了如果作业i是YTk的第一个任务,则必须将作业i分配给YTk。约束11b描述了如果作业i是YCe的第一个任务,则必须将作业i分配给YCe。约束12a-12c确定每个YT上的作业顺序。约束13a-13c确定每台YC上的作业顺序。约束14对0-1整数决策变量进行了限定。二、解决方法由于i_QCYTYC属于NP-hard问题,使用精确方法解决港口的实际大型问题非常困难。因此,我们开发了一个基于GA的优化算法,希望能够在合理的计算时间范围内找到最优解或满意解。此集成调度问题需要同时对三个子问题做出决策:QC的装载顺序,YT调度计划和YC调度计划。为了匹配该集成问题的结构特征,在所提出的算法中设计了一个三维解方案表达式,该表达式是通过考虑三个装卸设备的相互协作关系将三个子方案进行集成。因此,相对应地设计了三对交叉算子和突变算子,其中每对交叉算子和突变算子应用到其中一个子问题中。同时,我们开发了一种新的启发式突变算子,以提高GA寻找更好解方案的效率。GA设计的目标是减少设备空载行程和等待时间,提高各设备的利用率和协作性,从而尽快完成所有集装箱的装载工作。GA的流程图如图2所示。GA从读取输入数据开始,根据输入数据,创建和评估初始种群。在每一次迭代中,并行地执行三对交叉算子和变异算子来产生后代,然后对其进行评估。新种群通过混合选择策略来构建。当满足终止条件时,则算法运行结束。1、染色体表示GA算法是从问题的初始种群解开始搜索的,种群解中的每一个单解称为染色体。针对i_QCYTYC模型结构,每个染色体表示一个为3×Njob的数组,记作π,它有三个维度且各维度具有相同的长度:作业的装载顺序,名为π1;π1中每个任务的YT分配,记为π2;π1中每个任务的YC分配,命名为π3。将πa定义为πa={πa1,πa2,…,πaNjob}a=1,2,3。根据π1中QC的装载顺序,YT和YC上的作业序列分别从π2和π3获得。在每个解方案π中,每列中的基因对应给出了每个任务的YT和YC分配,而每行中的基因组则给出了QC,YT和YC上的作业序列。此处使用三维染色体的潜在好处是,通过将每项作业对应的YT和YC分配组合在同一列每个作业具有预先设定的QC,为每个作业对应的QC,YT和YC的协作过程建立了联系。在执行交叉和变异算子之后,这些子解之间的连接关系有助于保持染色体中具有高适应度的基因组合。而这些优质染色体模式的保留相比独立的只考虑单一资源的解方案更有助于GA趋于收敛。下面通过一个具体示例问题来说明所提出的三维染色体。某港口具有三台QC和由三个堆场区。在表1中有10个作业,每个作业都有已分配的QC和储位。第一行中的数字1-10表示各作业的编号,第二行和第三行提供有关每个作业所分配的QC和储位区,数字1-3代表QC的编号,数字4-6代表堆场区编号。在这个例子中,总共有三台YT和两台YC,且每个YT和YC的初始位置在表2中给出。表110个任务QC和储位分配表Jobi12345678910QCi2321332231Bi4655644564表2YT和YC的初始位置对于这个例子问题,一个可行的染色体π可以定义为3×10矩阵,其中π1={2,4,1,6,3,8,9,7,10,5},π2={2,1,1,3,2,3,1,2,2,3},π3={1,1,2,2,1,2,1,2,2,1},如表3所示。π1是各作业在QC上的装载顺序,π2表示了π1中各作业的YT分配,π3表示了π1中各作业的YC分配。例如,从染色体的第一列基因中可以得知,YT2和YC1被分配给了作业2,而根据每个作业给定的QC和指定储位信息,由该染色体我们可以得出表4所示的QC,YT和YC的作业序列。表3一个针对示例问题的可行染色体π表4由表3所示问题解中所得到的各设备资源上任务的执行顺序表5显示了完成10个任务各YT和YC的行走路径。从中可以看出,当YT前往新任务或者YC在不同的堆场区之间移动以获取任务集装箱时,会发生空载行程,在表中用下划线做了标记。表5由表3所示问题解中所得到的YT运输路径和YC行走路径注意:表中数字表示岸桥QC和各个堆场区域,其中1-3代表岸桥,4-6代表堆场区域。__:YT或YC的空载路径2、初始种群解的生成群体中每个染色体的初始化包括三个部分:π1初始化,π2初始化和π3初始化。随机初始化π1中Njob个作业的QC装载序列,随机产生π2中的每个YTkk∈ST,随机产生π3中的每个YCee∈SC。3、检验适应度对于每个染色体,目标函数值等于最后一个作业的完成时间。由于i_QCYTYC是最小化问题并且其目标函数值即完工时间总是正数,因此在此问题中,我们将每个染色体πn对应的适应度fitnessn设置为总完工时间的倒数,即fitnessn=1Cmax。下面对染色体π中每个作业π1ii=1,2,…,Njob的完成时间的计算过程描述如下:YCπ3i:执行作业π3i的YCYTπ2i:执行作业π2i的YTQCπ1i:执行作业π1i的QCpyc[π3i]:YCπ3i当前所在位置pyt[π2i]:YTπ2i当前所在位置ayc[π3i]:YCπ3i为执行任务π1i的到达时间ayt[π2i]:YTπ2i为执行任务π1i的到达时间ryc[π3i]:YCπ3i释放掉任务π1i的时间,即YCπ3i可被使用的时间ryt[π2i]:YTπ2i释放掉任务π1i的时间,YTπ2i可被使用的时间fyc[π3i]:任务π1i在YCπ3i上的结束时间fyt[π2i]:任务π1i在YTπ2i上的结束时间fqc[QCπ1i]:任务π1i在QCπ1i上的结束时间Dpyc[π3i],Bπ1i表示YCπ3i从当前位置到达所要执行任务π1i所在存储区位置的距离,由上可知,syc是YC的移动速度,因此,Dpyc[π3i],Bπ1isyc表示YCπ3i从当前位置出发到达执行任务π1i所在存储区所需要的时间。Dpyt[π2i],Bπ1i表示YTπ2i从当前位置到所要执行任务π1i所在存储区位置的距离,由上可知,syt是YT的移动速度,因此,Dpyt[π2i],Bπ1isyt表示YTπ2i从当前位置出发到达执行任务π1i所在存储区所需要的时间。DBπ1iQCπ1i表示YTπ2i从执行任务π1i所在存储区位置Bπ1i将其运输到其所分配岸桥QCπ1i处,所需要移动的距离,而syt是YT的移动速度,因此,DBπ1iQCπ1isyt表示YTπ2i将任务π1i从存储区转移到岸桥位置所需要的移动时间。由于生成的染色体π满足MIP模型中的约束条件4.2.6a-4.2.12c,根据约束条件4.2.1-4.2.5b和π1中任务的装载顺序来逐一计算每个作业π1ii=1,2,…,Njob的完成时间。由于每个作业接连由三个装卸设备YC,YT和QC进行转移,计算完成时间的核心程序包括以下三个步骤:1集装箱由YC完成转移的结束时间的计算,2集装箱由YT完成运输的结束时间的计算,以及3集装箱在QC上装载到货船上的完成时间的时间。而对于每个出口集装箱而言,其任务的最终完成时间就等于该集装箱所分配QC的装载结束时间。a初始化。a.1设置i=1.a.2设置并且a.3设置b计算工作π1i在YCπ3i上的完成时间。b.1计算YCπ3i的到达时间和完成时间。ayc[π3i]=ryc[π3i]+Dpyc[π3i],Bπ1isycb.2将YCπ3i的所在位置更新为Bπ1i.pyc[π3i]=Bπ1ic计算工作π1i在YTπ2i上的结束时间。c.1计算YTπ2i的到达时间。ayt[π2i]=ryt[π2i]+Dpyt[π2i],Bπ1isytc.2对出口集装箱而言,当任务集装箱即工作π1i被放置于YTπ2i时,设备资源YCπ3i被释放,因此,YCπ3i在被释放后的处于可用状态的时间可计算为:ryc[π3i]=max{ayt[π2i],fyc[π3i]}然后,YTπ2i的完成时间可计算为:fyt[π2i]=ryc[π3i]+DBπ1iQCπ1isytc.3则YTπ2i所处位置可更新为QCπ1i.pyt[π2i]=QCπ1ic.4对于出口集装箱而言,当任务集装箱π1i被所分配的QC从YTπ2i中转移走后,设备YTπ2i被释放处于待用状态,因此,设备YTπ2i的释放时间可计算为:ryt[π2i]=max{fyt[π2i],fqc[QCπ1i]}d计算工作π1i在其所指定QC上的装载完成时间。cπ1i=fqc[QCπ1i]=ryt[π2i]+hqce计算所有任务的总完工时间Cmax。如果i=Njob,则Cmax=max{cπ1i|i=1,2,…,Njob},否则,设置i=i+1,算法跳转到步骤1。4、新一代种群解的产生在提出的GA中,基于三维染色体,相应地设计了三对交叉算子和突变算子Crossover_1&Mutation_1,Crossover_2&Mutation_2,Crossover_3和Mutation_3广泛搜索解空间,从而提高算法的寻优能力。Crossover_1和Mutation_1应用于π1,同时保持其YT和YC的分配不变。对π2上执行Crossover_2和Mutation_2,同时保持π1和π3不变。在π3上执行Crossover_3和Mutation_3,同时保持π1和π2不变。在每一次迭代中,以并行的方式执行三对交叉算子和突变算子以产生新一代的种群解。通过引入这种寻优机制,来改进GA的探索能力,并且降低错过具有优良属性解的可能性。交叉算子基于πaa=1,2,3的结构特征,分别针对性的开发了三种交叉算子。由于π1具有排列型结构,通过简单的交叉算子无法保证可行的后代,因此Crossover_1使用顺序交叉算子ordercrossover以保证工作装载序列的可行性。对于π2和π3,Crossover_2和Crossover_3采用简单的两点交叉算子two-pointcrossover。关于顺序交叉算子和两点交叉算子的具体过程可参照文献Gen和Cheng[18]。图3通过示例对π1执行Crossover_1的过程给出了具体说明。基于父代染色体Parent1,通过在两个选定的父代染色体Parent1和Parent2上执行Crossover_1来生成子代染色体Child1。在图3a中,随机选择父代染色体Parent1中π1的子序列并将其复制到相应的Child11中的位置。Child1的其余空位由父代染色体Parent2中π1剩余工作填写,而且保持这些工作在父代染色体Parent2中的序列顺序。需要注意的,子代染色体Child1继承了其父代染色体Parent1中每个工作的YT和YC分配。例如,在父代染色体Parent1中,YT1和YC2被分配给作业4。因此,子代染色体Child1的作业4具有相同的分配,即YT1和YC2。同样,基于父代染色体Parent2,通过在Parent1和Parent2上执行Crossover_1,来生成子代染色体Child2,如图3b所示。在执行Crossover_1的过程中,更改π1中装载顺序的同时,保留了每项工作的YT和YC分配关系。图4显示了对于π2,Crossover_2的执行过程。以父代染色体Parent1为基准,通过在两个选定的父代染色体Parent1和Parent2上执行Crossover_2来产生子代染色体Child1。在图4a中,随机地确定两个分割点:分割点cutpoint1和分割点cutpoint2。对于这两个分割点之间的任务集装箱,父代染色体Parent1的YT分配π2被复制到子代染色体Child1中。而对于子代染色体Child1中其他集装箱的YT分配则与父代染色体Parent2相同。子代染色体Child1直接继承父代染色体Parent1中的π1和π3。以相同的方式,以父代染色体Parent2为基准,通过对父代染色体Parent1和Parent2执行Crossover_2,产生子代染色体Child2,如图4b所示。对于π3,Crossover_3使用两点交叉算子的过程与Crossover_2相同,不同点是保持π1和π2不变。变异算子变异算子的使用使得GA有机会跳出当前搜索区域转到解空间的其他区域。这里为πaa=1,2,3设计了不同的变异算子。对于π1,Mutation_1是基于交换突变swapmutation[19]来实现的,它通过交换π1中两个随机选择的作业以及它们所指定的YT和YC分配来改变当前所选择的父代染色体。图5以一个小实例说明了Mutation_1的执行过程。针对π2和π3,分别设计了变异算子Mutation_2和Mutation_3,它们是一种新式的基于启发式的突变,在所提出的启发式变异算子中,基于所选择的父代染色体来生成邻域染色体,然后通过选择由此生成的所有邻域染色体中的最佳染色体来寻求改进。在Mutation_2或Mutation_3中,固定父代染色体的π1和π3或π1和π2,通过将分配给作业π1ii=1,2,…Njob的YT或YC逐个变换为其余的Nyt-1YTorNyc-1YC中任何一个。则通过Mutation_2来改变一个工作的YT分配,产生Nyt-1个邻域解,同样,通过Mutation_3来改变一个工作的YC分配,产生Nyc-1个邻域解。因此,在Mutation_2中共生成Njob×Nyt-1个邻域解,并且在Mutation_3中共生成Njob×Nyc-1个邻域解。对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体。由于每一代的染色体质量对产生的下一代染色体有重要影响,因此设计的基于启发式的变异算子在此算法中起到了局部搜索的作用,通过在每一代染色体中搜索邻域解的方式找到更好的突变染色体,从而来提高种群染色体质量。选择算子在此算法中,使用确定性选择和轮盘赌选择在内的混合选择策略来选择后代染色体。将上一代群体解和所有生成的后代染色体按适应度值的大小进行降序排列。其中,部分新种群解通过确定性选择策略来形成,即选择具有不同适应度值且最佳的前K个染色体。此处,popsize表示GA中种群规模的大小,而剩余的popsize-K个染色体则使用最常用的轮盘赌选择规则来产生。基于初步实验,若仅使用确定性选择即K=popsize,其缺点是只保留好的后代染色体,很可能舍弃了的较差个体中优良基因以及失去解的多样性,从而导致算法过早收敛。而另一方面,由于精英个体可能被交叉和变异算子破坏,而确定性选择迫使GA在每一代中保留前K个精英个体,而若仅使用轮盘赌选择,则可能丢失优质解。许多研究人员已经证实了精英染色体在改善遗传算法中的重要作用[20]。仅使用轮盘赌选择的另一个缺点是可能导致在下一代中选择许多类似或相同的染色体,而种群中存在太多相同染色体的现象是早熟收敛的另一个重要原因[18]。因此,利用这种混合选择策略有助于克服仅使用确定性选择或轮盘赌选择的缺点。终止条件算法中的终止条件是所允许的最大迭代数Max_Gen,即达到Max_Gen时,GA终止,输出最终结果。5、算例分析为了评估所设计GA的性能,本文基于来已发表文献[12-13]中的数据生成了25个e1-e25问题算例。在此问题的港口布局中,有6台QC,在堆场中有20个存储区,随机产生每个作业所需要的QC和储位,YT和YC的初始位置也是随机生成的,此港口中YT和YC的移动速度分别为4ms和3ms,并假定QC和储位区的任何两个位置之间的距离是依据最短路径计算的。假定QC的平均处理时间为60秒,YC的平均处理时间为100秒。表6列出了25个算例问题中的工作,QC,YT和YC的数量关系。表625个问题算例的输入数据本算法使用C语言实现编程,MIP模型通过ILOGCPLEX9.0进行求解。所有算例在具有InterCore2,3.30GHzCPU和4GBRAM的PC上进行了测试。GA的参数包括种群大小popsize,交叉概率Pc,突变概率Pm,每次迭代中所要选择的优良染色体的数目K和总迭代次数Max_Gen。基于初步实验,选择其中一组最佳参数集用于下面的算例实验,如表7所示。表7GA算法的参数设置为评估所提出GA的性能,对于每个算例问题,算法运行10次,将GA所获得的最优总完工时间和相应的CPU时间作为最终结果与MIP所得结果进行比较分析。表8显示了MIP与GA之间的比较结果。对于小型问题e1和e2,MIP能够找到问题的最优解。由于其他算例问题无法在合理的计算时间内找到最优解,因此将CPLEX的运行时间限制为36小时,将在MIP在36小时内获得的最优解作为其最终结果。从表8可以看出,即使对于小型问题,MIP也难以找到最优解。而对于大型问题,MIP在36小时内已无法找到可行的解方案。MIP可以为其中7个算例问题找到最佳或可行的解方案。对于e3-e7,GA在几秒钟内找到的解方案要优于MIP在36小时内找到的解方案,且计算了两者之间的差距值。表8中的结果表明MIP无法在合理的时间段内解决中型或大型i_QCYTYC,而所提出的GA可以有效地为i_QCYTYC找到较好的解决方案。表8MIP和GA算法所得实验结果对比“-”表示无法得到可行解。为了验证所提出的启发式变异算子的有效性,将具有启发式变异算子的GAGA_HM和具有一般变异算子的GAGA_SM所得的结果进行比较。在GA_SM中,通过在所选择的父代染色体中随机地选择某个作业并将其YT或YC随机地改变为不同的YT或YC。将相同的参数集用于GA_HM和GA_SM来解决25个算例问题,对每个问题将算法运行10次,将所得最佳结果进行比较。表4.14给出了GA_HM和GA_SM获得的最终结果及二者之间的差距值。从表9可以看出,GA_HM和GA_SM在短时间内为小型算例问题e1-e8找到相同质量的解方案。然而,随着问题规模的增加,两个结果的差距值从0.17%增长到36.32%。可见,GA_HM相对GA_SM可以找到更好的结果,特别是对于实际大型问题。但是,GA_HM需要更多的计算时间,这是因为随着问题规模的增加,在启发式变异算子中产生的邻域染色体的数量随之增大。对于三个规模最大的算例问题e23-e25,需要花费一个多小时的计算时间才能获得大约30%的改进。鉴于船舶到达港口前几个小时需要制定出详细的调度时间表,在实际情况下这样的计算时间仍然是合理的。表9算法GA_HM和GA_SM所得实验结果对比在图6中,以算例e25为例,可以看出GA_HM和GA_SM所获得的目标函数值随算法的迭代次数逐渐收敛,并且GA_HM和GA_SM均可以在1000代内达到收敛状态。尽管如此,可以明显看出GA_HM可以找到比GA_SM更好的解方案,这是因为启发式变异算子通过找到具有潜在良好基因模式的最佳邻域染色体来提高解方案的质量。总之,比较结果表明两种GA能够有效求解i_QCYTYC,并且GA_HM相比GA_SM能够找到更好的解方案,尤其对于大规模实际问题。由于只优化一种装卸设备可能无法保证系统的全局最优解,因此提出了港口多资源设备QC,YT和YC的集成调度问题。为此集成问题,提出了一种MIP模型,由于大量的变量和约束条件,MIP模型难以处理大型实际问题。为此,开发了一种遗传算法,该算法结合了所提出的一般化算法框架。在GA中,设计了三维染色体,其将三个子问题相互关联起来。基于染色体的结构特征,引入了三对交叉算子和变异算子,每对交叉和变异算子只针对其中一个子问题。GA中的这种机制很好地匹配了集成问题的属性。此外,为了提高所提出的遗传算法的效率,设计了一种新的启发式变异算子。通过并行地应用三对交叉算子和变异算子,可以找到更好的解决方案。通过计算结果显示了所提出的算法能够较好地解决港口集成调度问题。参考文献:1.Chen,L.,Bostel,N.,Dejax,P.,Cai,J.andXi,L.,Atabusearchalgorithmfortheintegratedschedulingproblemofcontainerhandlingsystemsinamaritimeterminal.EuropeanJournalofOperationalResearch,2007.1811:pp.40-58.2.Steenken,D.,Voβ,S.andStahlbock,R.,Containerterminaloperationandoperationsresearch-aclassificationandliteraturereview.ORSpectrum,2004.26:pp.3-49.3.Lee,D.H.,Wang,H.Q.andMiao,L.,Quaycraneschedulingwithnon-interferenceconstraintsinportcontainerterminals.TransportationResearchPartE:LogisticsandTransportationReview,2008.441:pp.124-135.4.Tacakkoli-Moghaddam,R.,Makui,A.,Salahi,S.,Bazzazi,M.andTaheri,F.,Anefficientalgorithmforsolvinganewmathematicalmodelforaquaycraneschedulingproblemincontainerports.Computers&IndustrialEngineering,2009.561:pp.241-248.5.Meisel,F.andBierwirth,C.,Aunifiedapproachfortheevaluationofquaycraneschedulingmodelsandalgorithms.Computers&OperationsResearch,2011.38:pp.683-693.6.Bish,E.K.,Chen,F.Y.,Leong,Y.T.,Nelson,B.L.,Ng,J.W.C.andSimchi-Levi,D.,Dispatchingvehiclesinamegacontainerterminal.ORSpectrum,2005.27:pp.491-506.7.Ng,W.C.,Mak,K.L.andZhang,Y.X.,Schedulingtrucksincontainerterminalsusingageneticalgorithm.EngineeringOptimization,2007.391:pp.33-47.8.Ng,W.C.andMak,K.L.,Yardcraneschedulinginportcontainerterminals.AppliedMathematicalModeling,2005.29:pp.263-276.9.Jung,S.H.andKim,K.H.,Loadingschedulingformultiplequaycranesinportcontainerterminals.JournalofIntelligentManufacturing,2006.17:pp.479-492.10.He,J.,Chang,D.,Mi,W.andYan,W.,Ahybridparallelgeneticalgorithmforyardcranescheduling.TransportationResearchPartE:LogisticsandTransportationReview,2010.461:pp.136-155.11.Bierwirth,C.andMeisel,F.,Asurveyofberthallocationandquaycraneschedulingproblemsincontainerterminals.EuropeanJournalofOperationalResearch,2010.202:pp.615-627.12.Cao,J.X.,Lee,D-H.,Chen,J.H.andShi,Q.,Theintegratedyardtruckandyardcraneschedulingproblem:Benders’decomposition-basedmethods.TransportationResearchPartE:LogisticsandTransportationReview,2010.463:pp.344-353.13.Lau,H.Y.K.andZhao,Y.,Integratedschedulingofhandlingequipmentatautomatedcontainerterminals.AnnalsofOperationsResearch,2008.159:pp.373-394.14.Zeng,Q.andYang,Z.,Integratingsimulationandoptimizationtoscheduleloadingoperationsincontainerterminals.Computers&OperationsResearch,2009.36:pp.1935-1944.15.Linn,R.,Liu,J.,Wan,Y.,Zhang,C.andMurtyK.G.,Rubbertiredgantrycranedeploymentforcontaineryardoperation.Computers&IndustrialEngineering,2003.45:pp.429-442.16.Murty,K.G.,Liu,J.,Wan,Y.andLinn,R.,Adecisionsupportsystemforoperationsinacontainerterminal.Decisionsupportsystems,2005.39:pp.309-332.17.Zhang,C.,Wan,Y.,Liu,J.andLinn,R.,Dynamiccranedeploymentincontainerstorageyards.TransportationResearchPartB,2002.36:pp.537-555.18.Gen,M.andCheng,R.,GeneticAlgorithmsandEngineeringOptimization.1999:NewYork,Wiley.19.Goldberg,D.E.,Geneticalgorithmsinsearch,optimizationandmachinelearning.1989:Boston,MA,AddisonWesleyLongman.20.Mitchell,M.,Anintroductiontogeneticalgorithms.1999:Cambridge,MA,MITPress.
权利要求:1.岸桥QC、集卡YT和龙门吊YC的集成调度模型,其特征是:所述模型为:MinimizeCmax1其中:公式1描述了模型的目标函数;约束条件2定义了所有集装箱的总完工时间;约束条件3计算每个作业的完成时间,并表明在通过YT将该作业转移到相应QC之后,QC可以立刻对该作业进行装载;约束条件4确保在通过YC将集装箱转移到储位的转移点之后,YT可以开始进行转移;约束条件5a,5b定义了系统停滞状态:约束条件5a描述了在YCe上作业i排在了作业j之前进行处理,约束条件5b描述了在YTk上作业i排在了作业j之前进行处理;约束条件6a,6b分别限制了每个YT和每个YC从其初始位置开始其第一项任务;约束条件7a,7b确保QCq上不能同时处理任务对i,j所包含的工作i和j;约束条件8a,8b确保每个作业仅分配给一个YT和一台YC;约束条件9a描述了如果作业i和j由YTk先后进行运送,则必须将作业i和j分配给YTk;约束条件9b针对YC限定了同样的约束;约束条件10a,10b分别确定了每个YT和每个YC的首任务。约束条件11a描述了如果作业i是YTk的第一个任务,则必须将作业i分配给YTk;约束条件11b描述了如果作业i是YCe的第一个任务,则必须将作业i分配给YCe;约束条件12a-12c确定每个YT上的作业顺序;约束条件13a-13c确定每台YC上的作业顺序;约束条件14对0-1整数决策变量进行了限定。2.对权利要求1所述的集成调度模型求解的GA算法,其特征是:读取输入数据开始,根据输入数据,创建和评估初始种群;在每一次迭代中,并行地执行三对交叉算子和变异算子来产生后代,然后对其进行评估;新种群通过混合选择策略来选择;当满足终止条件时,则算法运行结束。3.如权利要求2所述的GA算法,其特征是:种群解中的每一个单解称为染色体;每个染色体表示一个为3×Njob的数组,记作π,它有三个维度且具有相同的长度:作业的装载顺序,名为π1;π1中每个工作的YT分配,记为π2;π1中每个工作的YC分配,命名为π3;将πa定义为πa={πa1,πa2,…,πaNjob}a=1,2,3;根据π1中QC的装载顺序,YT和YC上的作业序列分别从π2和π3获得;染色体π中每个作业π1ii=1,2,…,Njob的完成时间的计算过程如下:a初始化:a.1设置i=1.a.2设置并且a.3设置b计算工作π1i在YCπ3i上的完成时间:b.1计算YCπ3i的到达时间和完成时间:ayc[π3i]=ryc[π3i]+Dpyc[π3i],Bπ1isycfyc[π3i]=ayc[π3i]+hycb.2将YCπ3i的所在位置更新为Bπ1i.pyc[π3i]=Bπ1ic计算工作π1i在YTπ2i上的结束时间:c.1计算YTπ2i的到达时间:ayt[π2i]=ryt[π2i]+Dpyt[π2i],Bπ1isytc.2对出口集装箱而言,当任务集装箱即工作π1i被放置于YTπ2i时,设备资源YCπ3i被释放,因此,YCπ3i在被释放后的处于可用状态的时间可计算为:ryc[π3i]=max{ayt[π2i],fyc[π3i]}然后,YTπ2i的完成时间可计算为:fyt[π2i]=ryc[π3i]+DBπ1iQCπ1isytc.3则YTπ2i所处位置可更新为QCπ1i.pyt[π2i]=QCπ1ic.4对于出口集装箱而言,当任务集装箱π1i被所分配的QC从YTπ2i中转移走后,设备YTπ2i被释放处于待用状态,因此,设备YTπ2i的释放时间可计算为:ryt[π2i]=max{fyt[π2i],fqc[QCπ1i]}d计算工作π1i在其所指定QC上的装载完成时间:cπ1i=fqc[QCπ1i]=ryt[π2i]+hqce计算所有任务的总完工时间Cmax:如果i=Njob,则Cmax=max{cπ1i|i=1,2,…,Njob},否则,设置i=i+1,算法跳转到步骤b。4.如权利要求3所述的GA算法,其特征是:初始种群解的生成方法:随机初始化π1中Njob个作业的QC装载序列,随机产生π2中的每个YTkk∈ST,随机产生π3中的每个YCee∈SC;新一代种群解的产生方法:基于三维染色体,设计了三对交叉算子和突变算子:Crossover_1&Mutation_1,Crossover_2&Mutation_2,Crossover_3和Mutation_3;Crossover_1和Mutation_1应用于π1,同时保持其YT和YC的分配不变;对π2上执行Crossover_2和Mutation_2,同时保持π1和π3不变;在π3上执行Crossover_3和Mutation_3,同时保持π1和π2不变;在每一次迭代中,以并行的方式执行三对交叉算子和突变算子以产生新一代的种群解。5.如权利要求4所述的GA算法,其特征是:Crossover_1使用顺序交叉算子,Crossover_2和Crossover_3采用两点交叉算子。6.如权利要求5所述的GA算法,其特征是:使用确定性选择和轮盘赌选择在内的混合选择策略来选择后代染色体。7.如权利要求4所述的GA算法,其特征是:变异算子Mutation_2或者Mutation_3采用启发式变异算子;在Mutation_2中,固定父代染色体的π1和π3,通过将分配给作业π1ii=1,2,…Njob的YT逐个变换为其余的Nyt-1YT中任何一个;通过Mutation_2来改变一个工作的YT分配,产生Nyt-1个邻域解;因此,在Mutation_2中共生成Njob×Nyt-1个邻域解;对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体。8.如权利要求4所述的GA算法,其特征是:变异算子Mutation_3采用启发式变异算子;在Mutation_3中,固定父代染色体的π1和π2,通过将分配给作业π1ii=1,2,…Njob的YC逐个变换为其余的Nyc-1YC中任何一个;通过Mutation_3来改变一个工作的YC分配,产生Nyc-1个邻域解;因此,在Mutation_3中共生成Njob×Nyc-1个邻域解;对每个邻域解进行评估,并选择其中具有最小完工时间的邻域解作为后代染色体。9.如权利要求4所述的GA算法,其特征是:Mutation_1是基于交换突变实现。
百度查询: 南京林业大学 岸桥QC、集卡YT和龙门吊YC的集成调度模型及其GA算法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。