一种提高码头集装箱存取效率的预倒箱控制方法与流程

文档序号:12124809阅读:494来源:国知局
一种提高码头集装箱存取效率的预倒箱控制方法与流程
本发明属于信息
技术领域
,具体涉及一种提高码头集装箱存取效率的预倒箱控制方法。
背景技术
:集装箱堆场是集装箱运输过程中的重要缓冲环节,特别是在集装箱码头,如图1所示,作为连接陆路运输与海上运输的中转站,码头对其内部堆场的作业效率有极高的要求。在集装箱堆场中,垂直堆放的一列集装箱称为一个栈,并排堆放的多个栈组成一个贝。如果要提取的集装箱不处于所在栈的最上层,就必须首先将堆放在其上的所有集装箱翻倒到其它栈,这一过程称为倒箱。在堆场作业中,影响倒箱率的因素包括:到来集装箱的堆放位置、提箱顺序,以及翻倒集装箱的落箱位置。在确定集装箱的堆放位置时,应尽量避免使较早提走的集装箱被晚提走的集装箱压在下面。在确定提箱顺序时,应尽量使堆放在上层的集装箱先于堆放在其下的集装箱被提走。然而在很多情况下,集装箱到来的顺序是随机的,在收箱时尚不能确定其被提走的顺序,而提箱顺序往往受场内外各种因素的制约,不能任意设定或调整。由于这些现实因素的存在,策划所得的集装箱堆存位置和提箱顺序使提箱时不可避免地会出现一定数量的倒箱。因此需要在船只到达之前对堆场的集装箱的摆放位置进行优化,避免倒箱情况发生。另外提取顺序相同的集装箱应集中堆放,如此即可节省空间方便存放新入堆场的集装箱又能集中吊机提取操作减少其移动距离加快提取效率。近年来,随着集装箱吞吐量的不断攀升,倒箱问题对堆场运作效率的影响日益突出,如何有效避免或减少倒箱已成为提高堆场作业效率的关键问题之一。有很多文献研究了集装箱倒箱问题,比如《集装箱倒箱问题的启发式算法研究》中陈秋双和杨立志研究了如何通过启发式算法求解集装箱倒箱问题,但这些研究只考虑如何降低倒箱数,而没有考虑集装箱的集中堆放。综上所述,目前针对集装箱预倒箱问题的研究还显不足,在集装箱运输要求快捷化、节约化、简单化及标准化的前提下,提出一种提高码头集装箱存取效率的预倒箱控制方法,在船舶达到前进行集装箱位置优化,避免倒箱情况发生并将提取顺序相同的集装箱集中堆放,减少船舶达到后吊机提取时间,进而减少船舶停泊时间,降低物流成本提高码头竞争力。技术实现要素:针对现有技术的不足,本发明提出一种提高码头集装箱存取效率的预倒箱控制方法。本发明的技术方案是:一种提高码头集装箱存取效率的预倒箱控制方法,包括以下步骤:步骤1:从码头数据库中读取吊机负责贝区域的集装箱信息、栈信息和提取顺序要求,设定吊机指令数权重和集中性权重;所述集装箱信息,包括:集装箱号、集装箱所在栈号、集装箱层数和提取顺序;所述栈信息,包括:栈号、栈最大层数、栈实际层数和栈类型;所述栈类型包括:封锁栈和非封锁栈;所述提取顺序要求为堆放于上层的集装箱提取顺序要先于其下层集装箱提取顺序;步骤2:根据集装箱信息、栈信息和控制要求信息,对集装箱进行划分:将处于非封锁栈中的提取顺序相同集装箱划分为同一类型,并将提取顺序序号作为集装箱类型序号,得到集装箱划分类型数和各类型集装箱的总数;步骤3:确定需要的目标栈个数以及每个目标栈的目标高度;所述的确定需要的目标栈个数以及每个目标栈的目标高度的具体方法为:若当前集装箱总数除以栈最大层数的商无余数,则将该商值作为目标栈个数,目标栈的目标高度等于栈最大层数;否则,目标栈的个数等于该商值加1,最后一个目标栈的目标高度为其余数,其他的目标栈的目标高度等于栈最大层数。步骤4:从当前存放集装箱且处于非封锁状态的栈中依次选取目标栈,从而获得初始控制方案;所述的从当前存放集装箱且处于非封锁状态的栈中依次选取目标栈,从而获得初始控制方案的具体方法为:按照最底层集装箱类型序号从大到小顺次选取为目标栈,并排序,直至达到需要的目标栈个数,得到各目标栈序号。步骤5:根据当前控制方案对各目标栈进行模拟操作获得当前控制方案吊机指令信息,并确定当前控制方案的吊机指令的评价参数,所述吊机指令的评价参数为操作数指标和集中性指标之和,所述操作数指标为吊机指令数与吊机指令数权重之积,集中性指标为各类型集装箱所在栈个数之和与集中性权重之积;所述步骤5包括以下步骤:步骤5.1:选取第一个目标栈作为当前目标栈;步骤5.2:将当前目标栈的最低层作为当前目标层;步骤5.3:判断当前目标栈的当前目标层中是否具有集装箱,若是,则将该集装箱的类型序号作为目标序号,执行步骤5.4,否则,执行步骤5.6;步骤5.4:若当前目标栈的当前目标序号大于当前目标层上层集装箱的类型序号或者当前目标栈的当前目标层的上层无集装箱,则执行步骤5.5,否则,当前目标层中的集装箱设定为可移动集装箱,执行步骤5.8;步骤5.5:若小于等于当前目标栈的当前目标序号的所有未固定集装箱个数大于等于该目标栈的目标高度与当前目标层层号的差值,则当前目标层中的集装箱设定为可固定集装箱,执行步骤5.10,否则,当前目标层中的集装箱设定为可移动集装箱,执行步骤5.8;步骤5.6:若当前目标栈的当前目标层为最底层,则随机选取类型序号作为候选目标序号,若当前目标栈的当前目标层并非最底层,则选取小于当前目标层下层集装箱类型序号的类型序号作为候选目标序号;步骤5.7:判断小于等于候选目标序号的所有未固定集装箱个数是否大于等于当前目标栈的目标高度与当前目标层层号的差值,若是,则该候选目标序号作为当前目标序号,执行步骤5.9,否则,返回步骤5.6;步骤5.8:将当前可移动集装箱及其上层的集装箱依次从上到下移动至对应的放入栈,所选取的各集装箱的放入栈的原则为:从固定栈和当前目标栈以外的未满目标栈中以被移动集装箱序列号与选取的顶层集装箱序号差值最小,执行步骤5.10;步骤5.9:从未固定集装箱中选取类型序号与当前目标序号相同,且提取倒箱数最少的集装箱,进行操作放入当前目标栈的当前目标层,并将放入当前目标层的集装箱设定为可固定集装箱;步骤5.10:判断当前目标栈的当前目标层是否达到目标高度,若是,则当前目标栈为固定栈,执行步骤5.11,否则,将当前目标层的上一层作为更新的当前目标层,返回步骤5.3;步骤5.11:判断当前目标栈是否为最后一个目标栈,若是,则获得当前控制方案吊机指令信息,执行步骤5.12,否则,将下一个目标栈作为更新的当前目标栈,返回步骤5.2;步骤5.12:确定当前控制方案的吊机指令的评价参数。步骤6:根据当前控制方案吊机指令信息采用交换邻域搜索方法对控制方案进行迭代优化,得到最终控制方案;步骤6.1:将初始控制方案作为历史最优控制方案,设定优化方法最大迭代次数;步骤6.2:建立记录列表记录搜索对象,设定列表长度;所述搜索对象为交换任意一个目标栈和另一个栈次序的反操作;步骤6.3:交换当前控制方案中一个目标栈和另一个栈的次序,得到新的候选控制方案,迭代次数加1,执行步骤5得到新的候选控制方案的吊机指令信息和新的候选控制方案的吊机指令的评价参数;步骤6.4:判断新的候选控制方案是否在记录列表中,若是,执行步骤6.6,否则,执行步骤6.5;步骤6.5:将新的候选控制方案记入记录列表,判断新的候选控制方案是否优于历史最优控制方案,即新的候选控制方案的吊机指令评价参数是否小于历史最优控制方案的评价参数,若是,将新的候选控制方案作为历史最优控制方案,并将其作为当前控制方案,执行步骤6.7,否则,保留历史最优控制方案作为当前控制方案,执行步骤6.7;步骤6.6:判断新的候选控制方案是否优于历史最优控制方案,若是,将新的候选控制方案作为历史最优控制方案,并将其作为当前控制方案,否则,保留历史最优控制方案作为当前控制方案;步骤6.7:判断当前迭代次数是否达到最大迭代次数,若是,则将当前控制方案作为最终控制方案,执行步骤7,否则,返回步骤6.3;步骤7、将获得的最终控制方案转换为吊机的操作指令,将吊机的操作指令存储于数据库中,并通过网络将吊机的操作指令发送至吊机终端;步骤8、根据吊机终端获取的吊机的操作指令,控制吊机到达指定位置,实现对目标栈的依次操作;所述吊机操作指令包括集装箱号、起始栈号和目标栈号。本发明的有益效果:本发明提供一种提高码头集装箱存取效率的预倒箱控制方法,根据计划人员的控制要求迅速生成控制方案。该方法调整集装箱的摆放位置,使用最少的栈安全存放集装箱并保证船只达到时提取集装箱时无倒箱情况发生,且通过集中摆放可方便放入集装箱,集中吊机操作减少提取时间进而降低了船舶的停泊时间和集装箱运输物流成本,提高了集装箱码头的周转效率。附图说明图1为本发明码头堆场集装箱运输流程示意图;图2为本发明具体实施方式中提高码头集装箱存取效率的预倒箱控制方法的流程图;图3为本发明具体实施方式中码头集装箱堆场布局示意图;图4为本发明具体实施方式中码头集装箱堆场贝结构示意图;图5为本发明具体实施方式中初始方案执行后的1号贝布局示意图;图6为本发明具体实施方式中交换邻域搜索方法示意图;图7为本发明具体实施方式中最终方案执行后的1号贝布局示意图。具体实施方式下面结合附图对本发明具体实施方式加以详细的说明。本发明提出一种提高码头集装箱存取效率的预倒箱控制方法,如图2所示,包括以下步骤:步骤1:从码头数据库中读取吊机负责贝区域的集装箱信息、栈信息和提取顺序要求,设定吊机指令数权重和集中性权重。本实施方式中,实际码头堆场布局如图3所示,该堆场共有2个吊机,每个吊机负责对应部分的集装箱提取,本实施例中选取1#号吊机负责的1号贝进行操作,共有6个栈和24个集装箱。从数据库中读取吊机负责区域的集装箱信息、栈信息和控制要求信息,集装箱信息包括:集装箱号、集装箱所在栈号、集装箱层数和提取顺序,如表1所示:表1集装箱信息表集装箱号集装箱所在栈号集装箱层数提取顺序1A1112A1223A1334A1455A1546A2147A2238A2359A31110A32211A33212A34413A41214A42115A43316A51517A52218A53319A54520A61221A62422A63323A64124A652栈信息包括:栈号、栈最大层数、栈实际层数和栈类型如表2所示,栈类型包括:封锁栈和非封锁栈。如图4的码头集装箱堆场贝结构示意图所示,其栈最大层数为6。以栈A1为例,栈实际层数为5,每个集装箱的位置由栈加层数表示,比如栈A1底层位置用A11表示,顶层位置用A16表示。表2栈信息表序号栈号栈最大层数栈类型栈实际层数1A16非封锁栈52A26非封锁栈33A36非封锁栈44A46非封锁栈35A56非封锁栈46A66非封锁栈5提取顺序要求为堆放于上层的集装箱提取顺序要先于其下层集装箱提取顺序。设定的设定吊机指令数权重为10,集中性权重为1。步骤2:根据集装箱信息、栈信息和控制要求信息,对集装箱进行划分:将处于非封锁栈中的提取顺序相同集装箱划分为同一类型,并将提取顺序序号作为集装箱类型序号,得到集装箱划分类型数和各类型集装箱的总数。本实施方式中,得到集装箱划分类型数为5,各类型集装箱的总数具体如3表所示。表3各集装箱类型的集装箱总数表集装箱类型号12345集装箱数46544步骤3:确定需要的目标栈个数以及每个目标栈的目标高度:若当前集装箱总数除以栈最大层数的商无余数,则将该商值作为目标栈个数,目标栈的目标高度等于栈最大层数。否则,目标栈的个数等于该商值加1,最后一个目标栈的目标高度为其余数,其他的目标栈的目标高度等于栈最大层数。本实施方式中,栈最大层数为6,集装箱总数位24,可整除,因此目标栈个数为4,所有目标栈的目标高度为6。步骤4:从当前存放集装箱且处于非封锁状态的栈中依次选取目标栈,从而获得初始控制方案:按照最底层集装箱类型序号从大到小顺次选取为目标栈,并排序,直至达到需要的目标栈个数,得到各目标栈序号。本实施方式中,由图4中可知,A3和A5最底层集装箱类型序号都是5,则随机选择一个,比如A3作为第一个目标栈,如此选择直到满足目标栈个数,即获得初始控制方案,目标栈的操作顺序为A3-A5-A2-A4。步骤5:根据当前控制方案对各目标栈进行模拟操作获得当前控制方案吊机指令信息,并确定当前控制方案的吊机指令的评价参数,所述吊机指令的评价参数为操作数指标和集中性指标之和,所述操作数指标为吊机指令数与吊机指令数权重之积,集中性指标为各类型集装箱所在栈个数之和与集中性权重之积。步骤5.1:选取第一个目标栈作为当前目标栈。本实施方式中,图4中显示,A3为第一个目标栈。步骤5.2:将当前目标栈的最低层作为当前目标层。步骤5.3:判断当前目标栈的当前目标层中是否具有集装箱,若是,则将该集装箱的类型序号作为目标序号,执行步骤5.4,否则,执行步骤5.6。步骤5.4:若当前目标栈的当前目标序号大于当前目标层上层集装箱的类型序号或者当前目标栈的当前目标层的上层无集装箱,则执行步骤5.5,否则,当前目标层中的集装箱设定为可移动集装箱,执行步骤5.8。步骤5.5:若小于等于当前目标栈的当前目标序号的所有未固定集装箱个数大于等于该目标栈的目标高度与当前目标层层号的差值,则当前目标层中的集装箱设定为可固定集装箱,执行步骤5.10,否则,当前目标层中的集装箱设定为可移动集装箱,执行步骤5.8。第一次执行步骤5.1至步骤5.5时,对当前目标栈A3进行固定,可固定A31位置集装箱,随机选择目标序号为2。步骤5.6:若当前目标栈的当前目标层为最底层,则随机选取类型序号作为候选目标序号,若当前目标栈的当前目标层并非最底层,则选取小于当前目标层下层集装箱类型序号的类型序号作为候选目标序号。步骤5.7:判断小于等于候选目标序号的所有未固定集装箱个数是否大于等于当前目标栈的目标高度与当前目标层层号的差值,若是,则该候选目标序号作为当前目标序号,执行步骤5.9,否则,返回步骤5.6。步骤5.8:将当前可移动集装箱及其上层的集装箱依次从上到下移动至对应的放入栈,所选取的各集装箱的放入栈的原则为:从固定栈和当前目标栈以外的未满目标栈中以被移动集装箱序列号与选取的顶层集装箱序号差值最小,执行步骤5.10。本实施方式中,图4中显示,第一次执行此步骤时,根据最小差值原则,将A3栈顶层的集装箱调取到A1,之后A3栈顶层的集装箱类型序号为2,移动到A4栈,最后将类型序号为1的集装箱从A3栈提取摆放到A4栈。步骤5.9:从未固定集装箱中选取类型序号与当前目标序号相同,且提取倒箱数最少的集装箱,进行操作放入当前目标栈的当前目标层,并将放入当前目标层的集装箱设定为可固定集装箱。本实施方式中,图4中显示,第一次执行此步骤时,把A5栈顶层集装箱放到A3中。步骤5.10:判断当前目标栈的当前目标层是否达到目标高度,若是,则当前目标栈为固定栈,执行步骤5.11,否则,将当前目标层的上一层作为更新的当前目标层,返回步骤5.3。步骤5.11:判断当前目标栈是否为最后一个目标栈,若是,则获得当前控制方案吊机指令信息,执行步骤5.12,否则,将下一个目标栈作为更新的当前目标栈,返回步骤5.2。本实施方式中,获得的初始控制方案吊机指令信息如表4所示。表4初始控制方案吊机指令信息步骤5.12:确定当前控制方案的吊机指令的评价参数。本实施方式中,根据获得的初始控制方案吊机指令信息被执行后的1号贝布局如图5所示,初始控制方案的吊机指令的评价参数为48*10+10*1=490。步骤6:根据当前控制方案吊机指令信息采用交换邻域搜索方法对控制方案进行迭代优化,得到最终控制方案。步骤6.1:将初始控制方案作为历史最优控制方案,设定优化方法最大迭代次数。本实施方式中,优化方法最大迭代次数设定为50。步骤6.2:建立记录列表记录搜索对象,设定列表长度。所述搜索对象为交换任意一个目标栈和另一个栈次序的反操作。步骤6.3:交换当前控制方案中一个目标栈和另一个栈的次序,得到新的候选控制方案,迭代次数加1,执行步骤5得到新的候选控制方案的吊机指令信息和新的候选控制方案的吊机指令的评价参数,本实例中表长度为10。本实施方式中,如图6所示,将初始控制方案中的A4和A6进行交换,产生了新的候选控制方案。步骤6.4:判断新的候选控制方案是否在记录列表中,若是,执行步骤6.6,否则,执行步骤6.5。步骤6.5:将新的候选控制方案记入记录列表,判断新的候选控制方案是否优于历史最优控制方案,即新的候选控制方案的吊机指令评价参数是否小于历史最优控制方案的评价参数,若是,将新的候选控制方案作为历史最优控制方案,并将其作为当前控制方案,执行步骤6.7,否则,保留历史最优控制方案作为当前控制方案,执行步骤6.7。步骤6.6:判断新的候选控制方案是否优于历史最优控制方案,若是,将新的候选控制方案作为历史最优控制方案,并将其作为当前控制方案,否则,保留历史最优控制方案作为当前控制方案。步骤6.7:判断当前迭代次数是否达到最大迭代次数,若是,则将当前控制方案作为最终控制方案,执行步骤7,否则,返回步骤6.3。本实施方式中,得到的最终控制方案的吊机指令信息如表5所示。表5最终控制方案吊机指令信息通过对吊机指令数的优化,最终控制方案执行后的1号贝布局如图7所示,其吊机指令的评价参数为409,与初始控制方案吊机指令数490相比,提升了16.5%,且操作之后1号贝中的集装箱摆放位置全部到达了控制要求,最终提高了吊机使用效率和集装箱流通效率,缩短了船只的停泊时间,进而提高整个码头的周转效率。步骤7、将获得的最终控制方案转换为吊机的操作指令,将吊机的操作指令存储于数据库中,并通过网络将吊机的操作指令发送至吊机终端。步骤8、根据吊机终端获取的吊机的操作指令,控制吊机到达指定位置,实现对目标栈的依次操作。所述吊机操作指令包括集装箱号、起始栈号和目标栈号。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1