钢铁产品散装货运船舶积配载方法

文档序号:4116855阅读:598来源:国知局
专利名称:钢铁产品散装货运船舶积配载方法
技术领域
本发明涉及货运船舶货物配载方法,适用于钢铁企业产成品的船舶配载,用于计算卷、板等产品在散装货运船舶各个船舱的分布和具体摆放方法,确定配载方案。
背景技术
钢铁产品的出厂一般采用大型散装货运船舶运输的方式,为了保证航行安全和在各个港口装卸货物的顺畅,考虑船舶稳性、纵强度和吃水差等性能指标,船方要根据货物和船舶的具体情况确定各舱货物的到港和允许重量;从港方的角度来说,为保证货物运输质量,对货物在船舱中的具体摆放方式有严格的要求。
大型钢铁企业一个船批的货物数量庞大,种类繁多,并且货物的配载存在上述的到港、船舱允许重量和货物的摆放要求等许多约束,因此完成整船货物的配载方法是一个复杂的组合优化问题,属于NP-hard问题(nondeterministic polynomial time hard problem)。
现在的散装货运船舶运输的配载大都由配载员一般凭经验手工制定配载方案,工作量大,工作效率较低,并且由于无法考虑到货物在船舱中的具体摆放顺序,货物运输质量难以保证。

发明内容
本发明的目的在于提供一种钢铁产品散装货运船舶积配载方法,根据船方确定的各舱货物的到港和允许重量,以及不同货物的摆放要求,确定货物在各舱中的分布和具体摆放方法,以保证货物运输质量,提高装船效率。
本发明方法的核心是配载计算,由于船方已经指定了各舱货物的到港,因此可以对每个港口的货物分别配载,即选定一个港口的货物关单和对应船舱后,确定这些关单在各舱的分布和具体摆放顺序。由于钢铁产品船舶配载问题属于NP-hard问题,为求解此问题,运用了混合遗传算法用启发式方法确定各舱货物的具体摆放方式,满足货物装载质量要求;遗传算法调用启发式方法,计算配载指标,来确定货物在各舱的分布,以满足各舱的仓容限制,制定合理的货物配载方案。
下面先介绍遗传算法的相关设计,再说明配载计算的具体过程,然后说明启发式方法的设计。
遗传算法是求解复杂组合优化问题常用的局域搜索方法,已经形成较完整的理论,有许多工具软件可以直接使用,如在本方法中使用的GALib。遗传算法主要包括4部分编码、解码、适应度函数和遗传算子。
编码指将所求解问题的解描述成遗传算法要求的形式,即将问题的解编译成染色体。
解码指将遗传算法经过若干次进化后得到的染色体转换为问题的解,这是编码的逆过程;适应度函数用来描述染色体的适应性,即解的优劣;遗传算子用来实现迭代过程中染色体的进化,即解的改进,包括选择算子、交叉算子和变异算子等。
运用遗传算法求解实际问题时,主要是根据问题的特点设计编码、解码方式以及适应度函数,而各种遗传算子都有多种方法来实现,并且在工具软件中可以直接使用,只需根据问题的特点选择合适的方法。
遗传算法的特点我们知道,传统的优化方法主要有三种枚举法、启发式算法和搜索算法(1)枚举法,枚举出可行解集合内的所有可行解,以求出精确最优解。对于连续函数,该方法要求先对其进行离散化处理,这样就可能因离散处理而永远达不到最优解。此外,当枚举空间比较大时,该方法的求解效率比较低,有时甚至在目前先进计算工具上无法求解。
(2)启发式算法,寻求一种能产生可行解的启发式规则,以找到一个最优解或近似最优解。该方法的求解效率比较高,但对每一个需求解的问题必须找出其特有的启发式规则,这个启发式规则一般无通用性,不适合于其他问题。
(3)搜索算法,寻求一种搜索算法,该算法在可行解集合的一个子集内进行搜索操作,以找到问题的最优解或者近似最优解。该方法虽然保证不了一定能够得到问题的最优解,但若适当地利用一些启发知识,就可在近似解的质量和效率上达到一种较好的平衡。
遗传算法是从代表问题因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码。初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度(丘tness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(geneticoperators)进行组合交叉(crossover)和变异(mutatton),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更女口适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
遗传算法采纳了自然进化模型,如选择、交叉、变异、迁移、局域与邻域等。图1表示了基本遗传算法的过程。计算开始时,一定数目N个个体(父个体1、父个体2、父个体3、父个体4……)即种群随机地初始化,并计算每个个体的适应度函数,第一代也即初始代就产生了。如果不满足优化准则,开始产生新一代的计算。为了产生下一代,按照适应度选择个体,父代要求基因重组(交叉)而产生子代。所有的子代按一定概率变异。然后子代的适应度又被重新计算,子代被插入到种群中将父代取而代之,构成新的一代(子个体1、子个体2、子个体3、子个体4……)。这一过程循环执行,直到满足优化准则为止。
尽管这样单一种群的遗传算法很强大,可以很好地解决相当广泛的问题。但采用多种群即有子种群的算法往往会获得更好的结果。每个子种群像单种群遗传算法一样独立地演算若干代后,在子种群之间进行个体交换。这种多种群遗传算法更加贴近于自然中种族的进化,称为并行遗传算法。
随着问题种类的不同以及问题规模的扩大,要寻求一种能以有限的代价来解决搜索和优化的通用方法,遗传算法正是为我们提供的一个有效的途径,它不同于传统的搜索和优化方法。主要区别在于
①自组织、自适应和自学习性(智能性)。应用遗传算法求解问题时,在编码方案、适应度函数及遗传算子确定后,算法将利用进化过程中获得的信息自行组织搜索。由于基于自然的选择策略为“适者生存,不适应者被淘汰”,因而适应度大的个体具有较高的生存概率。通常,适应度大的个体具有更适应环境的基因结构,再通过基因重组和基因突变等遗传操作,就可能产生更适应环境的后代。进化算法的这种自组织、自适应特征,使它同时具有能根据环境变化来自动发现环境的特性和规律的能力。自然选择消除了算法设计过程中的一个最大障碍,即需要事先描述问题的全部特点,并要说明针对问题的不同特点算法应采取的措施。因此,利用遗传算法的方法,我们可以解决那些复杂的非结构化问题。
②遗传算法的本质并行性。遗传算法按并行方式搜索一个种群数目的点,而不是单点。它的并行性表现在两个方面,一是遗传算法是内在并行的(inherent parallelism),即遗传算法本身非常适合大规模并行。最简单的并行方式是让几百甚至数千台计算机各自进行独立种群的演化计算,运行过程中甚至不进行任何通信(独立的种群之间若有少量的通信一般会带来更好的结果),等到运算结束时才通信比较,选取最佳个体。这种并行处理方式对并行系统结构没有什么限制和要求,可以说,遗传算法适合在目前所有的并行机或分布式系统上进行并行处理,而且对并行效率没有太大影响。二是遗传算法的内含并行性(implicit parallelismm)。由于遗传算法采用种群的方式组织搜索,因而可同时搜索解空间内的多个区域,并相互交流信息。使用这种搜索方式,虽然每次只执行与种群规模n成比例的计算,但实质上已进行了大约O(n3)次有效搜索,这就使遗传算法能以较少的计算获得较大的收益。
③遗传算法不需要求导或其他辅助知识,而只需要影响搜索方向的目标函数和相应的适应度函数。
④遗传算法强调概率转换规则,而不是确定的转换规则。
⑤遗传算法可以更加直接地应用。
⑥遗传算法对给定问题,可以产生许多的潜在解,最终选择可以由使用者确定(在某些特殊情况下,如多目标优化问题不止一个解存在,有一组pareto最优解。这种遗传算法对于确认可替代解集而言是特别合适的)。
遗传算法的基本操作遗传算法包括三个基本操作选择、交叉和变异。这些基本操作又有许多不同的方法,下面逐一进行介绍。
1、选择(selection)选择是用来确定重组或交叉个体,以及被选个体将产生多少个子代个体。首先计算适应度①按比例的适应度计算(proportional fitness assignment);②基于排序的适应度计算(rank-based fitness asslgranent)。
适应度计算之后是实际的选择,按照适应度进行父代个体的选择。
①轮盘赌选择(roulette wheel selection);②随机遍历抽样(stochastic universal sampling)③局部选择(local selection)④截断选择(truncation selection);⑤锦标赛选择(tournament selection)。
2、交叉或基因重组(crossover/recombination)基因重组是结合来自父代交配种群中的信息产生新的个体同,可以有以下的算法①实值重组(real valued recombination)·离散重组(discrete recombination);·中间重组(intermediate recombination);·线性重组(linear recombination);·扩展线性重组(extended linear recombination)。
②二进制交叉(binary valued crossover)·单点交叉(single-point crossover);·多点交叉(multiple-point crossover);·均匀交叉(uniform crossover);·洗牌交叉(shuffle crossover);·缩小代理交叉(crossover with reduced surrogate)。
3.变异(mutation)交叉之后子代经历的变异,实际上是子代基因按小概率扰动产生的变化。依据个体编码表示方法的不同,可以有以下的算法①实值变异;②二进制变异。
下面结合一个简单的实例考察一下二进制编码的轮盘赌选择、单点交叉和变异操作。
图2所示的是一组二进制基因码构成的个体组成的初始种群,个体的适应度评价值经计算由括号内的数值表示,适应度越大表示这个个体越好。
轮盘赌选择方法类似博彩游戏中的轮盘赌,如图3所示,个体适应度按比例转化为选中概率,将轮盘分成10个扇区,因为姚进行10次选择,所以产生10个
之间的随机数,相当于转动10次轮盘,获得10次转盘停止时指针位置,指针停止在在某一扇区,该扇区代表的个体即被选中。
假设产生随机数序列为0.070 221,0.545 929,0.784 567,0.446 93,0.507 893,0.291 198,0.716 34,0.272 901,0.371 435,0.854 641,将该随机序列与计算获得的累积概率比较,则依次序号为1,8,9,6,7,5,8,4,6,10个体被选中。显然适应度高的个体被选中的概率大,而且可能被选中;而适应度低的个体则很有可能被淘汰。在第一次生存竞争考验中,序号为2的个体(0101111001)和3的个体(0000000101)被淘汰,代之以适应度较高的个体8和6,这个过程被称为再生(reproduction)。再生之后重要的遗传操作是交叉,在生物学上称为杂交,可以视为生物之所以得以进化之所在。我们以单点交叉(one-pointcrossover)为例,任意挑选经过选择操作后种群中两个个体作为交叉对象,即两个父个体经过染色体交换重组产生两个子个体,如图4所示。随机产生一个交叉点位置,父个体1和父个体2在交叉点位置之右的部分基因码互换,形成子个体1和子个体2。类似地完成其他个体的交叉操作。
如果只考虑交叉操作实现进化机制,在多数情况下是不行的,这与生物界近亲殖影响进化历程是类似的。因为,种群的个体数是有限的,经过若干代交叉操作,因为源于一个较好祖先的子个体逐渐充斥整个种群的现象,问题会过早收敛(premature convergence),当然,最后获得的个体不能代表问题的最优解。为避免过早收敛,有必要在进化过程中加入具有新遗传基因的个体。解决办法之一是效法自然界生物变异。生物性状的变异实际上是控制该性状的基因码发生了突变,这对于保持生物多样性是非常重要的。模仿生物变异的遗传操作,对于二进制的基因码组成的个体种群,实现基因码的小概率翻转,即达到变异的目的。
如图5所示,对于个体1001110100产生变异,以小概率决定第4个遗传因子翻转,即将1换为0。
一般而言,一个世代的简单进化过程就包括了基于适应度的选择和再生、交叉和变异操作。
将上面的所有种群的遗传操作综合起来,初始种群的第一代进化过程如图1.6所示。初始种群经过选择操作,适应度较高的8号和6号个体分别复制出2个,适应度较低的2号和3号遭到淘汰,接下来按一定概率选择了4对父个体分别完成交叉操作,在随机确定的位置实行单点交叉生成4对个体。最后按小概率选中某个个体的基因码位置,产生变异。这样经过上述过程便形成了第一代的群体。以后一代一代的进化过程如此循环下去,每一代结束都产生新的种群。演化的代数主要取决于代表问题解的收敛状态,末代种群中最佳个体作为问题的最优近似解。
遗传算法进化模式如图7所示,搜索空间中个体演变为最优个体,其在高适应度上的增殖概率是按世代递增的,图中表现个体的色彩浓淡表示个体增殖的概率分布。
遗传算法的一般流程如图8所示第1步随机产生初始种群,个体数目一定,每个个体表示为染色体的基因编码;第2步计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算;否则转向第3步;第3步依据适应度选择再生个体,适应度高的个体被选中的概率高,适应度低的个体可能被淘汰;第4步按照一定的交叉概率和交叉方法,生成新的个体;第5步按照一定的变异概率和变异方法,生成新的个体;第6步由交叉和变异产生新一代的种群,返回到第2步。
遗传算法中的优化准则,一般依据问题的不同有不同的确定方式。例如,可以采用以下的准则之一作为判断条件①种群中个体的最大适应度超过预先设定值;②种群中个体的平均适应度超过预先设定值;③世代数超过预先设定值。
基于上述发明思路,本发明的技术方案是,钢铁产品散装货运船舶积配载方法,其包括如下步骤(1)数据准备,确定货物信息、船舱信息和船方预配信息;货物以关单形式组织,包括关单信息和货物明细信息等,这些信息以数据表的形式存放在数据库中;(2)选择一个港口的货物关单和对应船舱;(3)遗传算法初始化,置进化代数t=0,最大进化代数为T,按编码方法对选定的关单进行编码,并随机生成M个染色体,作为初始种群POP(0);(4)计算配载指标,对每个染色体,应用解码方法得到一个对应的货物分布方案,根据该方案,对每个船舱中的货物,应用货物摆放计算方法确定货物在船舱中的具体摆放方式,并计算该舱的舱容利用率,由各舱的舱容利用率计算货物分布方案的配载指标;(5)进化,对初始种群POP(t)中的染色体,根据其配载指标,运用选择算子、交叉算子和变异算子生成pRepl*M个个体,组成临时种群tmpPOP(t);将初始种群POP(t)与临时种群tmpPOP(t)合并,从中淘汰掉差的个体,使种群规模恢复到M,得到下一代种群t=t+1;(6)遗传算法终止准则判断,如果t<T,则转到第4步;否则输出POP(t)中最优的解,作为该港口货物的配载方案;(7)如果还有港口货物没有进行配载计算,则转到第2步,否则停止。
其中,整个配载计算过程直接运用遗传算法中求解TSP问题的计算过程,在该计算过程的目标函数中调用货物摆放计算方法,计算配载指标。
货物摆放计算方法如下a.对遗传算法的染色体进行解码,得到货物关单在各舱的分布方案;
b.对每个船舱,根据该舱货物的关单明细信息和船舱信息,运用启发式方法确定货物的具体摆放顺序,计算该舱的舱容利用率;c.根据各舱的舱容利用率计算货物分布方案的配载指标,将配载指标返回遗传算法,进行下一步迭代。
其中,关单信息包括关单号、船批号、合同到港、到港序号、产品名称、品种编号、净重、毛重、件数等。
货物明细信息包括关单号、提单号、产品名称、品种编号、合同号、准发号、厚度、宽度、长度、净重、毛重、件数。
提单号给出了货物装船前存放仓库的信息,一个关单包含可以多个提单,一个提单中又可包含多个合同,同一个合同的货物中,厚度、宽度、长度、重量相同的分为一组,称为一个准发。
船舱信息包括船舶代码,船名,舱号,舱底宽度1,舱底宽度2,高度,长度。
船方预配信息即船方要求在各个船舱的具体位置堆放的货物到港和允许重量,包括编号,船批号,舱号,到港序号,允许重量,起始位置,结束位置。
1、编码由于货物以关单形式组织,给定每个关单一个唯一的编号后,这些编号的一个全排列就可以作为一种货物分布方案的编码,又称为染色体。例如有10个关单,编号依次为1,2,...,10,则一种货物分布方案可以表示为{2,1,4,5,7,8,10,3,6,9}。因此解的编码形式,即染色体为P={P1,P2,...,Pn},n为关单数,基因Pi为1至n的正整数,互不相等,表示关单编号,以上文中的解为例,则P1=2,P2=1,...,P10=9。在遗传算法的进化过程中,遗传算子对染色体进行的操作实际上就是改变编码的排列顺序,从而产生不同的分布方案。
2、解码解的编码,即染色体必须通过解码才能成为货物的分布方案。船方信息中给出了船舱的数量和每个船舱允许装载的重量及误差,在解码时按照编码中基因,即关单编号的排列顺序和各舱允许重量,分组计算关单的重量之和,就可以从解的编码得到对应的货物在各舱中的分布方案。例如,设有3个船舱,允许重量分别为2000,3000,2000(单位吨),误差为100。对于上文中的那组编码,如果编号为{2,1,4}的3个关单的重量之和在第1舱的允许范围([1900,2100])内,这3个关单可以放在1舱;同样,如果{5,7,8},{10,3,6,9}这两组关单的重量分别在2,3舱的允许范围内,这时就得到了一个可行的货物分布方案。也有可能某个解是不可行的,例如,假设{2,1,4}的重量小于1900,而{2,1,4,5}的重量大于2100,则说明这个编码对应的分布方案是不可行的,它的配载指标可以设为一个极大的值。
通过解码得到货物关单的分布方案后,对各舱的货物分别调用启发式方法,就能得到各舱货物的具体摆放和舱容利用率,将各舱的舱容利用率相加,则可计算得到该分布方案的配载指标。
3、适应度fitness(配载指标)。
船舱中的货物摆放以排为单位,根据每排的舱底宽度计算这一排可以摆放的最大件数,而每排的填充率=实际摆放件数/最大件数。例如钢卷在船舱中一般以品字形堆放成一排,如果根据仓底宽度和卷径算出第一层可以放10件,则第二、三层为9件、8件,这一排可以摆放的最大件数=10+9+8=27件,但在摆放过程中由于质量约束只摆放了25件,则这一排的填充率=25/27=0.926。一舱中各排的填充率之和为该舱的舱容利用率,而各舱空间利用率之和则为该配载方案的舱容利用率,用来评价该方案的优劣。我们定义一个配载方案的配载指标=1-该配载方案的舱容利用率以配载指标作为染色体的适应度,配载指标越小,则在满足堆放规则的条件下舱容利用率越大,该分布方案也就越优。
通过以上三部分的设计,我们将配载问题转换成了一个循环旅行商问题(TSP问题)一个解的编码就相当于n个城市之间的一条遍历路径,配载指标相当于路径长度,通过改变编码的顺序来求一个最短路径,即配载指标最小的分布方案。而求解TSP问题在GALib中有直接的方法可以使用。
4、遗传算子各个遗传算子在GALib中有多种方法实现,我们针对配载问题的特点,经过大量的数据实验,为每个遗传算子分别选择了合适的方法,下面分别说明。
(1)选择算子本发明方法采用轮盘赌选择算子和稳定态遗传算法,既能保证较优的个体遗传到下一代,又能保证有较高的全局收敛性。
轮盘赌选择算子(Roulette-wheel Selector)的基本思想是给较优的个体,也就是配载指标较小的分布方案,赋予较大的选择概率,使它以较大的概率遗传到下一代,再计算累积概率。按均匀分布产生一个0~1之间的随机数,根据它落入的累积概率区间来确定要选择的个体。稳定态遗传算法(steady-state genetic algorithm)是从原有的群体中用选择算子选择个体进行交叉、变异得到一个临时群体,将它与原有的群体合并,从中淘汰差的个体后恢复到原有群体的规模,作为下一代群体。临时群体的大小由参数pRepl(0<pRepl<1)决定,设原有群体的规模为M,则临时群体的规模为pRepl*M。这种算法相邻的两代群体之间会有一定的重叠(overlapping),这是遗传算法收敛到全局最优解的重要条件。
(2)交叉算子对于类似TSP问题的以符号编码的染色体P,交叉方式有部分映射交叉、顺序交叉、循环交叉和边重组等。本方法采用边重组方式。
(3)变异算子本方法采用的变异算子是以较小的概率Pm交换染色体P中基因的顺序。
(4)终止准则进化T代后停止计算,输出最好的解作为求得的最优解。
配载计算过程如下第1步数据准备包括关单信息、船舱信息和船方预配信息;第2步选择一个港口的货物关单和对应船舱;第3步遗传算法初始化置进化代数t=0,最大进化代数为T,按编码方法对选定的关单进行编码,并随机生成M个染色体,作为初始种群POP(0);第4步计算配载指标。对每个染色体,应用解码方法得到一个对应的货物分布方案,根据该方案,对每个船舱中的货物,应用货物摆放计算方法确定货物在船舱中的具体摆放方式,并计算该舱的舱容利用率,由各舱的舱容利用率计算货物分布方案的配载指标;第5步进化对POP(t)中的染色体,根据其配载指标,运用选择算子、交叉算子和变异算子生成pRepl*M个个体,组成临时种群tmpPOP(t);将POP(t)与tmpPOP(t)合并,从中淘汰掉差的个体,使种群规模恢复到M,得到下一代种群;t=t+1;第6步遗传算法终止准则判断。如果t<T,则转到第4步;否则输出POP(t)中最优的解,作为该港口货物的配载方案;第7步如果还有港口货物没有进行配载计算,则转到第2步,否则停止。
整个配载计算过程的框架如下图所示,可以直接运用GALib中求解TSP问题的计算过程,在该计算过程的目标函数中调用货物摆放计算方法,计算配载指标。
货物摆放计算方法如下遗传算法迭代过程中,在得到关单在各舱的分布方案后,要根据货物的具体信息和摆放质量要求,调用各舱中货物的摆放计算方法,以确定货物的具体摆放顺序,计算舱容利用率和配载指标。具体过程如下第1步对遗传算法的染色体进行解码,得到货物关单在各舱的分布方案;第2步对每个船舱,根据该舱货物的关单明细信息和船舱信息,运用启发式方法确定货物的具体摆放顺序,计算该舱的舱容利用率;第3步根据各舱的舱容利用率计算货物分布方案的配载指标,将配载指标返回遗传算法,进行下一步迭代。
仍以上文中的配载方案为例,设编号为{2,1,4}的3个关单放在1号舱中,则启发式方法根据这3个关单的货物明细信息以及船舱信息,确定货物的具体摆放顺序,计算该舱的舱容利用率。对各舱的货物都进行计算后,得到该货物分布方案的配载指标。在遗传算法的目标函数中调用启发式方法,再将配载指标返回遗传算法,进行下一步迭代。
本发明的有益效果根据船方的配载要求和不同货物的摆放要求,迅速计算货物在各舱中的分布和具体摆放顺序,实现了货物的自动配载,保障了货物运输质量;根据配载计算的结果确定货物的发货顺序,提高了装船效率。


图1为遗传算法的过程示意图;图2为遗传算法的初始种群分布示意图;图3为遗传算法的轮盘赌选择示意图;图4为遗传算法的单点交叉示意图;图5为遗传算法的变异示意图;图6为遗传算法的进化过程示意图;图7为遗传算法的进化模式示意图;图8为遗传算法的一般流程图;图9为本发明的配载过程的流程图;图10为本发明的一实施例钢卷的配载流程图;图11为本发明的另一实施例钢板的配载流程图。
具体实施例方式
下面通过实施例和附图对本发明做进一步说明。
参见图9,本发明的配载过程的流程图;表1给出了货物信息,共33个关单,有卷和板两个种类,卷又包括多个品种。表中给出了每个关单的件数和重量,每件货物的具体重量和尺寸由于篇幅有限,就不一一列出了。表4是船方信息,船方为这批货物提供了3个区域,分别在2,3,4舱,开始位置和结束位置指沿纵轴各个区域在船舱中的起止位置。
对关单进行编码,即给每个关单一个编号,如表1中编号列所示,编号的任意一个全排列就是一个染色体。对染色体按照解码规则进行解码,就得到对应的货物关单分布方案,例如表5中的货物分布方案就是由染色体{1,4,6,7,8,13,17,24,25,26,29,32,3,9,12,16,19,20,31,2,5,10,11,14,15,18,21,22,23,27,28,30,33}解码得到。根据货物分布方案,对各舱中的货物使用不同货物的摆放计算方法,得到货物的具体摆放顺序和每排的填充率,如表2所示1排货物的摆放顺序和填充率。再计算各舱的舱容利用率和货物分布方案的配载指标。遗传算子根据配载指标生成新的一组货物分布方案,这样不断迭代直到达到最大迭代次数,输出配载指标最小的配载方案,如表2和表3所示。表5给出了关单分布情况和各区域装载重量、占用仓容长度;表3给出其中一排货物的具体摆放方法,这排货物位于区域1的第3排,沿横轴船舱宽度为24米,货物实际摆放的宽度为23.1米,可摆放19+18+17=54件,实际摆放51件。可以看出,摆放方式是满足堆装规则的,如层次要求、上重下轻、上大下小等。
表1 货物信息

表2 船方信息

表3 计算结果-关单分布

表4 计算结果-货物具体摆放(部分)

由于各种货物有不同的特性,因此需要为每种货物设计相应的启发式方法。下面分别说明。
实施例--卷类装配方法钢卷成品外观为圆柱体,由薄钢板卷成,我们称钢卷圆柱体的横截面直径为卷径,圆柱体的高为钢卷的宽度。
根据钢板的不同材质,钢卷分为不同的品种,如热轧卷、酸洗卷、冷轧卷、轧硬卷、彩涂卷、电工卷、镀锡卷和不锈钢卷等。钢卷的宽度由用户的订货合同决定,不同的合同钢卷的宽度可能不同。钢卷的重量也是由合同决定的,钢卷越重,卷径越大。
当用船舶运输钢卷时,首先要解决的问题就是钢卷在船舱中如何摆放。船舱的横断面为梯形,舱底为矩形或梯形,一般船头和船尾的两个舱舱底为梯形,中间的舱为矩形。
在船舱中装载钢卷时,钢卷在垂直于船行方向以品字型堆放成排,用捆带、木方等材料绑扎固定,每排1至4层,由钢卷品种决定,排与排之间保留一定间隔。为保证运输质量,对钢卷的装载有一定的要求(1)堆高要求,如热轧卷、酸洗卷可以堆放3层高,冷轧卷、轧硬卷可以堆放2层高,热锌卷、电锌卷等只能堆放1层高;(2)堆放次序不同种类的卷堆放在同一排时,对堆放次序有要求,如酸洗卷可以放在热轧卷上,冷轧卷可以放在酸洗卷上,彩涂卷可以放在冷轧卷上,反过来则不允许,等等;(3)重量要求重量大的卷放在下层,重量小的卷放在上层;(4)宽度要求宽度大的卷放在下层,宽度小的卷放在上层。
船方在靠船之前,会根据航程和整船配载平衡,给出本港货物装载的舱号和区域范围及各舱可分配吨位,此时港方要根据船方给出的区域信息以及货物的装载要求,制订货物的装载次序,即货物配载方案。由于出口船舶货物量一般很大,并且品种繁多,规格、重量不一,要手工制订一个合理的配载方案十分困难,需要借助计算机,设计有效的算法来解决该问题。
配载方法,参见图10。
第1步确定每个品种的卷的层次号和最大层高,层次号大的卷可以放在层次号小的卷上,反之则不允许,如下表所示表4钢卷的层次号与最大层高

第2步设置重量、宽度的档距,计算各个卷的重量规格和宽度规格。所谓档距是指配载员设定的一个数量单位,如重量档距设为500公斤,宽度档距设为100毫米。
重量规格=[重量/重量档距],宽度规格=[宽度/宽度档距]([]表示取整)。
例如某个卷的重量为12665公斤,宽度为1310毫米,则它的重量规格为25,宽度规格为13,这样可以忽略不同卷重量和宽度之间的细微差别,有利于在保证装载质量的同时提高空间利用率。
第3步对放在同一个区域的卷按照层次号、品种号、重量规格、宽度规格进行分类汇总,这4个属性相同的卷视为同一组。
第4步完成一排卷的装配计算第4.1步计算本排船舱舱底的宽度,根据未装配卷的平均卷径估算本排最底层卷的件数,并根据未装配卷中的最小层次号确定本排的最大层高;第4.2步按照4、3、2、1的顺序分别用四个层次号的卷从上到下填充本排。具体方法为先选择层次号为4的组,同层次号的组再按照重量规格、宽度规格从小到大选择填充本排,直到达到本层次号允许的最大层高,再选择下一个层次号的组,按照相同的方法进行填充,直到达到本排的最大层高。
之所以选择这种从上到下的填充方法,出于以下考虑·先考虑允许层高小的层次号大的卷,这样更易于找到重量规格、宽度规格比它大的卷放在下层,以便提高空间利用率;·先考虑更易于受损的层次号大的卷,这样它们就被优先堆放在了里舱,使受损的可能性减小;·先装的卷在里舱,叉车运距较大,后装的卷更靠近舱口,叉车运距较小,因此先装重量轻的卷,先装重量大的卷,有利于提高叉车效率。
第5步如果还有未装配的卷,则返回第4步,否则结束并计算总的空间利用率。
实施例--板类装配方法钢板成品外观为立方体,由薄钢板堆叠绑扎而成,根据钢板的不同材质分为不同的品种,如热轧板、酸洗板、冷轧板、轧硬板、彩涂板、电工板、镀锡板和不锈钢板等。钢板的宽度和长度由用户的订货合同决定,考虑运输的方便,同一个合同的各个捆包的高度一般一致。当用船舶运输钢板时,首先要解决的问题就是钢板在船舱中如何摆放。船舱的横断面为梯形,舱底为矩形或梯形,一般船头和船尾的两个舱舱底为梯形,中间的舱为矩形。
在船舱中装载钢板时,钢板在垂直于船行方向压缝堆放成排(并且长度方向垂直于船行方向),用捆带、木方等材料绑扎固定,每排4至6层,由钢板品种决定,排与排之间保留一定间隔。为保证运输质量,对钢板的装载有一定要求层高要求,如热轧板、酸洗板、冷轧板可以堆放6层高,轧硬板、热锌板、电锌板等可以堆放4层高;重量要求重量大的板放在下层,重量小的板放在上层;宽度要求宽度大的板放在下层,宽度小的板放在上层。
由于一个船批的钢板一般品种较少,而同品种的件数很多,并且不同品种的板尺寸差异较大,无法相互堆叠,因此各个品种的板一般是单独堆放。
配载方法,参见图11。
第1步确定每个品种的板的层次号和最大层高,如下表所示表5钢板的层次号与最大层高

第2步设置重量、宽度的档距,计算各个板的重量规格和宽度规格。所谓档距是指配载员设定的一个数量单位,如重量档距设为100公斤,宽度档距设为100毫米。
重量规格=[重量/重量档距],宽度规格=[宽度/宽度档距]([]表示取整)。
例如某个板的重量为2051公斤,宽度为944毫米,则它的重量规格为20,宽度规格为9,这样可以忽略不同板重量和宽度之间的细微差别,有利于在保证装载质量的同时提高空间利用率。
第3步对放在同一个区域的板按照品种号、重量规格、宽度规格进行分类汇总,这3个属性相同的板视为同一组。
第4步完成一排板的装配计算第4.1步计算本排船舱舱底的宽度,根据未装配板的平均长度估算本排最底层板的件数,并根据未装配板中的最小层次号确定本排的最大层高;第4.2步按照重量规格、宽度规格从小到大的顺序用本品种的板从上到下填充本排。
第5步如果还有未装配的板,则返回第4步,否则结束并计算总的空间利用率。
权利要求
1.钢铁产品散装货运船舶积配载方法,其包括如下步骤(1)数据准备,确定货物信息、船舱信息和船方预配信息;货物以关单形式组织,包括关单信息和货物明细信息等,这些信息以数据表的形式存放在数据库中;(2)选择一个港口的货物关单和对应船舱;(3)遗传算法初始化置进化代数t=0,最大进化代数为T,按编码方法对选定的关单进行编码,并随机生成M个染色体,作为初始种群POP(0);(4)计算配载指标对每个染色体,应用解码方法得到一个对应的货物分布方案,根据该方案,对每个船舱中的货物,应用货物摆放计算方法确定货物在船舱中的具体摆放方式,并计算该舱的舱容利用率,由各舱的舱容利用率计算货物分布方案的配载指标;(5)进化对种群POP(t)中的染色体,根据其配载指标,运用选择算子、交叉算子和变异算子生成pRepl*M个个体,组成临时种群tmpPOP(t);将初始种群POP(t)与临时种群tmpPOP(t)合并,从中淘汰掉差的个体,使种群规模恢复到M,得到下一代种群t=t+1;(6)遗传算法终止准则判断如果t<T,则转到第4步;否则输出POP(t)中最优的解,作为该港口货物的配载方案;(7)如果还有港口货物没有进行配载计算,则转到第2步,否则停止。
2.如权利要求1所述的钢铁产品散装货运船舶积配载方法,其特征是,整个配载计算过程直接运用遗传算法中求解TSP问题的计算过程,在该计算过程的目标函数中调用货物摆放计算方法,计算配载指标。
3.如权利要求2所述的钢铁产品散装货运船舶积配载方法,其特征是,货物摆放计算方法如下a.对遗传算法的染色体进行解码,得到货物关单在各舱的分布方案;b.对每个船舱,根据该舱货物的关单明细信息和船舱信息,运用启发式方法确定货物的具体摆放顺序,计算该舱的舱容利用率;c.根据各舱的舱容利用率计算货物分布方案的配载指标,将配载指标返回遗传算法,进行下一步迭代。
4.如权利要求1所述的钢铁产品散装货运船舶积配载方法,其特征是,关单信息包括关单号、船批号、合同到港、到港序号、产品名称、品种编号、净重、毛重、件数等。
5.如权利要求1所述的钢铁产品散装货运船舶积配载方法,其特征是,货物明细信息包括关单号、提单号、产品名称、品种编号、合同号、准发号、厚度、宽度、长度、净重、毛重、件数。
6.如权利要求1所述的钢铁产品散装货运船舶积配载方法,其特征是,提单号给出了货物装船前存放仓库的信息,一个关单可以包含多个提单,一个提单中又可包含多个合同,同一个合同的货物中,厚度、宽度、长度、重量相同的分为一组,称为一个准发。
7.如权利要求1所述的钢铁产品散装货运船舶积配载方法,其特征是,船舱信息包括船舶代码,船名,舱号,舱底宽度1,舱底宽度2,高度,长度。
8.如权利要求1所述的钢铁产品散装货运船舶积配载方法,其特征是,船方预配信息即船方要求在各个船舱的具体位置堆放的货物到港和允许重量,包括编号,船批号,舱号,到港序号,允许重量,起始位置,结束位置。
全文摘要
钢铁产品散装货运船舶积配载方法,运用了混合遗传算法用启发式方法确定各舱货物的具体摆放方式,满足货物装载质量要求;遗传算法调用启发式方法,计算配载指标,来确定货物在各舱的分布,以满足各舱的仓容限制,制定合理的货物配载方案。本发明根据船方的配载要求和不同货物的摆放要求,迅速计算货物在各舱中的分布和具体摆放顺序,实现了货物的自动配载,保障了货物运输质量;根据配载计算的结果确定货物的发货顺序,提高了装船效率。
文档编号B63B25/22GK1903655SQ20051002837
公开日2007年1月31日 申请日期2005年7月29日 优先权日2005年7月29日
发明者陈通强, 吴君梁, 马建华, 沈益军, 肖海平, 吴正祥, 周家富 申请人:宝山钢铁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1