CN104063778A - 一种在立体货仓中为货物分配货位的方法 - Google Patents

一种在立体货仓中为货物分配货位的方法 Download PDF

Info

Publication number
CN104063778A
CN104063778A CN201410323431.1A CN201410323431A CN104063778A CN 104063778 A CN104063778 A CN 104063778A CN 201410323431 A CN201410323431 A CN 201410323431A CN 104063778 A CN104063778 A CN 104063778A
Authority
CN
China
Prior art keywords
individuality
goods yard
group
goods
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410323431.1A
Other languages
English (en)
Inventor
曾甲楚
彭保
王刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Invengo Information Technology Co Ltd
Original Assignee
Invengo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Invengo Information Technology Co Ltd filed Critical Invengo Information Technology Co Ltd
Priority to CN201410323431.1A priority Critical patent/CN104063778A/zh
Publication of CN104063778A publication Critical patent/CN104063778A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种在立体货仓中为货物分配货位的方法,包括如下步骤:得到初始群种;对每个以位置坐标表示的货位使用加权平均的方法计算其个体适应度;比较并记录最高适应度的个体;对初始群种中的个体使用遗传算法进行个体复制、交叉和变异以及个体变异,得到新的群种;判断是否达到设定的迭代次数,如是,对新的群种使用加权平均算法计算其个体适应度;比较并记录最高适应度的个体;比较新的群种和初始群种的最高适应度,选择最大的一个适应度对应的个体,得到其表示的货位;否则,得到的新的群种作为初始群种再次进行处理。实施本发明的一种在立体货仓中为货物分配货位的方法,具有以下有益效果:其查找货仓的时间变短,成本较低。

Description

一种在立体货仓中为货物分配货位的方法
技术领域
本发明涉及仓库货物管理,更具体地说,涉及一种在立体货仓中为货物分配货位的方法。
背景技术
立体仓库或立体货仓是现代物流系统中迅速发展的一个重要组成部分,它具有节约用地、减轻劳动强度、消除差错、提高仓储自动化水平及管理水平、提高管理和操作人员素质、降低储运损耗、有效地减少流动资金的积压、提高物流效率等诸多优点。但是,自从立体货仓出现以来,其货位的分配就一直是一个较为困扰使用者或管理者的问题,具体来讲,就是如何将货物在立体货仓中摆放才能节省进出仓的成本。因为一个摆放货物不合理的立体货仓不仅会消耗大量的人力成本,而且还会导致货物进出仓的时间增加。在货物流动量极大的今天,较差的货仓管理将会极大地增加物流的成本和时间。在现有技术中,也采取了一些方法或算法对这种立体货仓进行管理。例如,蚁群算法、粒子群算法、人工网络神经网算法等等。这些方法虽然也能够在一定程度上解决立体货仓的管理混乱问题,但是其一直不能达到较为理想的管理,其人力成本和花费时间依然较多。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述在进出仓步骤中的人力成本和花费时间较多的缺陷,提供一种人力成本和花费时间较少的一种在立体货仓中为货物分配货位的方法。
本发明解决其技术问题所采用的技术方案是:构造一种在立体货仓中为货物分配货位的方法,包括如下步骤:
A)在立体货仓中状态为空闲的货位集合或存放出仓货物的货位集合中任意选择设定数量个个体,得到初始群种;其中,所述立体货仓中的货位由分别表示该货位的行、列和层的二进制编码表示;
B)对所述选中的每个货位进行二进制解码,得到其十进制表示的位置坐标;对每个以位置坐标表示的货位使用加权平均的方法计算其个体适应度;比较并记录最高适应度的个体;
C)对初始群种中的个体使用遗传算法进行个体复制、交叉和变异以及个体变异,得到新的群种;
D)判断是否达到设定的迭代次数,如是,执行下一步骤,否则,返回步骤B),将得到的新的群种作为初始群种再次进行处理;
E)对新的群种使用加权平均算法计算其个体适应度;比较并记录最高适应度的个体;比较新的群种和初始群种的最高适应度,选择最大的一个适应度对应的个体,得到其表示的货位。
更进一步地,所述步骤A)中进一步包括如下步骤:
A1)设置货物的参数,所述参数包括货物的周转率、名称和进出仓类型;
A2)取得空闲货位的集合或存放出仓货物的货位集合。
更进一步地,所述步骤B)中进一步包括:
B1)判断是否货物进仓,如是,执行步骤B2;否则,执行步骤B3);
B2)将分配给入仓时涉及的各规则的加权值与将该货位参数代入该规则表达式的得到的值加一的倒数相乘,再将各规则按照上述步骤得到的值相加,得到该货位总的适应度;入仓涉及的规则包括:货架稳定性原则、效率最高原则、相邻原则和交货期优先原则;
B3)判断是否货物出仓,如否,退出本次分配;如是,将分配给出仓时涉及的各规则的加权值与将该货位参数代入该规则表达式的得到的值加一的倒数相乘,再将各规则按照上述步骤得到的值相加,得到该货位总的适应度;出仓涉及的规则包括:先进先出原则和效率最高原则。
更进一步地,所述步骤B)中还进一步包括:
B4)对所述入仓或出仓的原则重新按照其被赋予的权值由小到大进行排序,并对其重新进行权值设定,其权值为其排名的位数加1的倒数。
更进一步地,所述步骤C)中进一步包括:
C1)对初始群种中的个体按照轮盘原理进行个体复制,得到复制群种;
C2)对得到的复制群种进行交叉互换处理,得到交叉群种;
C3)对得到的交叉群种中的个体进行变异处理,得到新的群种。
更进一步地,所述步骤C1)中还进一步包括:
C11)逐个计算初始群种中每个个体的被复制率,根据得到的复制率确定该个体在0到1之间的概率区域;所述个体的被复制率是该个体的适应度值与该群种中所有个体适应度值之和的比值;
C12)产生0到1之间的随机数,并将该随机数所在区域对应的初始群种中的个体复制到交叉群种中,得到交叉群种;其中,所述随机数的个数等于所述初始群种中个体的个数。
更进一步地,所述步骤C11)中进一步包括:
C111)按照得到所述初始群种的总适应度;其中,fi是初始群种中第i个个体的适应度,N是所述初始群种中的个体总数,i=1,2,3...N;
C112)按照pi=fi/F得到所述初始群种中每个个体的被复制概率;并按照得到所述每个个体的被复制累计概率,其中j=1,2,…,i。
更进一步地,所述步骤C12)进一步包括:
C121)产生N个其值在0到1之间的随机数,得到一个随机数系列:R1,R2,...,RN;其中,0<Rk<1,k=1,2,...,N;
C122)若Qi-1<Rk<Qi,则个体i被选中复制到复制群种。
更进一步地,所述步骤C2)中还进一步包括:
C21)取得设定的交叉概率;
C22)通过对个体产生其值在0-1之间的随机数并比较该随机数与所述交叉概率的大小,选中需要交叉的个体;
C23)对一对交叉的个体分别产生两个随机数,使其与个体编码的位数相乘,向上取整分别得到其个体编码上的交叉点,将该交叉点上的个体编码相互交换,并判断得到的交叉后的编码代表的货位是否空闲或存放出仓货物,如是,交叉有效,交叉后得到的个体放入交叉群种;否则,选择原个体放入交叉群种。
更进一步地,所述步骤C3)进一步包括:
C31)取得个体的变异概率,并将所述交叉群种中所有个体的编码依次排列,得到N*M个编码队列;产生个数与上述编码队列位数相同的、其值在0到1之间的随机数,使其形成与上述编码队列相对应的随机数队列,每个随机数对应于上述编码对列中的一位;
C32)选择所述随机数中其值小于所述变异概率的随机数,查找该随机数对应的编码位并将其值改变;
C33)取出被改变的编码位所在编码对应的个体,并判断改变后的编码所对应的个体是否为空闲状态或存放出库货物,如是,将改变值后的个体作为新个体加入变异群种;否则,选择未改变前的编码所对应的个体加入变异群种。
实施本发明的一种在立体货仓中为货物分配货位的方法,具有以下有益效果:由于选择空闲状态或存放出仓物品的货物形成集合,并由其中任意选择设定数量的表示货位的二进制编码集合,然后使用个体适应度,并通过遗传算法的个体复制、交叉和变异等遗传算法而得到新的群种,使得其查找货仓的时间变短,成本较低。
附图说明
图1是本发明一种在立体货仓中为货物分配货位的方法实施例中该方法的实现流程图;
图2是所述实施例中复制步骤的进一步流程图;
图3是所述实施例中变异步骤的进一步流程图;
图4是所述实施例中一对编码在一个交叉例子中交叉前的内容示意图;
图5是图4中的编码在交叉后的内容示意图。
具体实施方式
下面将结合附图对本发明实施例作进一步说明。
如图1所示,在本发明在立体货仓中为货物分配货位的方法实施例中,该方法包括如下步骤:
步骤S11设置参数,选择货位个体形成初始群种:在本实施例中,立体货仓或仓库是指采用高层货架配以货箱或托盘储存货物,用巷道堆垛起重机及其他机械进行作业的仓库;一般来讲,这些仓库中包括多个货架,货架包括多层;货物放置在货架上,货架上不同位置、不同层数的放置货物的地方就是货位。这些货位通常用坐标来表示。这种仓库有多种形式。在现有技术中,货位坐标需按照仓库形状、货架摆放及出入口设置等情况来设置。例如,当仓库出入口设在所有货架的同一边时,设共有货架a排,每排为b列c层,则位于第ak排bk列ck层的货位可直接表示为(ak,bk,ck)(ak=1,2,…,a;bk=1,2,…,b;ck=1,2,…,c;),例如第3排5列3可表示为(3,5,3);坐标(0,0,0)表示的就是仓库的出入口。而当仓库的出入口设在货架之间时,仓库的出入口设在仓库货架列方向的中部位置,出入口左右两边对称的货位相对仓库出入口应具有同等的出入库优势,仓库左边货架相对仓库出入口货位列设置为从第i+1列到第b列,右边货架相对仓库出入口货位列设置从第1列到第i列。则位于第ak排bk列ck层的货位可表示为(ak,bk,ck)(ak=1,2,…,a;bk=1,2,…,b;ck=1,2,…,c;),坐标(0,0,0)表示的就是仓库的出入口。在本实施例中,货位分配的目标是要使货物存储在合理的货位上,因此货物与货位之间是相互影响的关系,货位是用来存放货物的,那么首先二者的承重、尺寸规格、类别要求相互匹配。除此之外货位的优劣分配也应该与周转率密切相关。这些关于货物的参数和仓库的参数都是需要事先设置的。因此,在本实施例中,本步骤首先设置货物的参数,所述参数包括货物的周转率、名称和进出仓类型;然后,取得空闲货位的集合或存放出仓货物的货位集合(入库时是取得空闲货位的集合,出库时是取得存放出仓货物的集合);之后,在立体货仓中状态为空闲的货位集合或存放出仓货物的货位集合中任意选择设定数量个个体,得到初始群种;其中,所述立体货仓中的货位由分别表示该货位的行、列和层的二进制编码表示;这里使用二进制编码表示货位实际上就是将上述货位坐标的十进制数转换为二进制数,然后再将其按照一定的规律排列在一起,就得到货位的二进制编码表示。
步骤S12对群种中个体逐个计算其适应度,并比较、记录其适应度最大的个体:在本步骤中,对所述选中的每个货位进行二进制解码,得到其十进制表示的位置坐标;对每个以位置坐标表示的货位使用加权平均的方法计算其个体适应度;比较并记录最高适应度的个体。具体而言,对于适应度的计算,首先要按照设置的参数判断货物的流向,是进仓还是出仓,这是由于进出仓的适应度的计算是不同的。所以,首先判断是否货物进仓,如是,将分配给入仓时涉及的各规则的加权值与将该货位参数代入该规则表达式的得到的值加一的倒数相乘,再将各规则按照上述步骤得到的值相加,得到该货位总的适应度;入仓涉及的规则包括:货架稳定性原则、效率最高原则、相邻原则和交货期优先原则。如果货物不是进仓,则判断是否货物出仓,如否,表示参数设置出现问题,因为不可能出现货物既不进仓,又不出仓的情况,所以退出本次分配;如果货物是出仓,则将分配给出仓时涉及的各规则的加权值与将该货位参数代入该规则表达式的得到的值加一的倒数相乘,再将各规则按照上述步骤得到的值相加,得到该货位总的适应度;出仓涉及的规则包括:先进先出原则和效率最高原则。此外,在本步骤中,除了上述处理外,当对于货物的进出仓的处理完成后,还会对所述入仓或出仓的原则重新按照其被赋予的权值由小到大进行排序,并对其重新进行权值设定,其权值为其排名的位数加1的倒数。
步骤S13对群种中个体进行复制、交叉和变异处理,得到新的群种:在本步骤中,对初始群种中的个体使用遗传算法进行个体复制、交叉和变异以及个体变异,得到新的群种;具体来讲,在本步骤中,执行遗传算法,大体上分为三个步骤得到新的群种,首先,对初始群种中的个体按照轮盘原理进行个体复制,得到复制群种;在此基础上,对得到的复制群种进行交叉互换处理,得到交叉群种;最后,对得到的交叉群种中的个体进行变异处理,得到新的群种。关于这三个步骤中更进一步的详细情况,稍后描述。
步骤S14判断是否达到设定的迭代次数:在本步骤中,迭代是指对于一个群种中的个体进行上述步骤S12-S13的处理,每处理一次,即由一个群种得到一个新的群种,称为进行一次迭代。在本实施例中,进行上述处理的次数是事先设定的,即迭代次数是事先设定的。在本步骤中,判断是否达到设定的迭代次数,如果是,执行步骤S16,否则,执行步骤S15。
步骤S15将得到的群种视为初始群种:在本步骤中,由于未执行完迭代次数,所以将该次迭代而得到的新的群种,视为初始群种,返回步骤S12,开始下一次的迭代或处理。
步骤S16对新的群种中的个体逐个计算其适应度,并比较记录其适应度最大的个体:在本步骤中,对本次迭代得到的新的群种进行其个体适应度的计算,基本上来讲,该计算与步骤S12中的适应度计算是大致相同的,只不过针对的是一个新得到的群种而已。
步骤S17选择新的群种和初始群种中适应度最大的一个个体作为本次分配的货位:在本步骤中,上述初始群种是上一次迭代得到的群种。本步骤中将二个群种(这两个群种时间上是两次相邻的迭代得到的群种)中的最大适应度做出比较,选择其适应度值较大的一个作为本次分配的结果。这个被选择的个体实际上就表示了库中最适于本次入库或出库的货位,可以通过其二进制编码转换为货位坐标而得到其实际的位置。
如图2所示,在本实施例中,上述对群种进行复制的具体步骤如下:
步骤S21得到群种的总适应度:在本步骤中,按照得到初始群种(包括经过迭代得到但迭代次数尚未达到设定迭代次数时的群种)的总适应度;其中,fi是初始群种中第i个个体的适应度,N是所述初始群种中的个体总数,i=1,2,3...N;也就是说,在本步骤中,将群种中多个个体的适应度值相加,得到该群种的总适应度。
步骤S22得到群种中每个个体的被复制概率,进而得到其被复制累计概率:在本步骤中,先按照pi=fi/F得到上述初始群种中每个个体的被复制概率;然后,按照得到所述每个个体的被复制累计概率,其中j=1,2,…,i;也就是说,如果一个个体是第3个,则其被复制的累计概率就是其本身的被复制概率和前面两个个体的被复制累计概率之和。
步骤S23生成与群种对应的随机数系列:在本步骤中,产生N个其值在0到1之间的随机数,得到一个随机数系列:R1,R2,...,RN;其中,0<Rk<1,k=1,2,...,N;换句话说,在本步骤中,产生了一个随机数系列,该随机数系列中的每个随机数的值在0-1之间,该系列同样包括N个随机数,对应于初始群种中的N个个体,每个随机数对应于一个个体。
步骤S24选择被复制的个体并将其复制到新的群种:在本步骤中,若Qi-1<Rk<Qi,则个体i被选中复制到复制群种。即将上述随机数系列中的每个随机数分别与其对应的初始群种中的个体的被复制累计概率进行比较,当该随机数的值大于其对应个体的前一个个体的复制累计概率且小于其对应个体的复制累计概率时,该随机数对应的个体被选择,将该个体复制到新的群种。
值得一提的是,上述步骤S21-S24指出了一个复制过程,在本实施例中,按照上述步骤,重复进行,选择N个个体复制,得到复制群种。
如图3所示,在本实施例中,上述交叉的具体步骤包括:
步骤S31取得交叉概率:在本步骤中,取得设定的交叉概率Pc;该交叉概率是在进行参数设置时设定的。
步骤S32选择需要交叉的个体:在本步骤中,对父代的每条染色体(即上述表示每个货位的、经过复制处理得到的种群中的二进制编码)生成一个(0,1)之间的随机数r,若随机数r小于交叉率Pc,则对应的染色体被选中,按照此方式从父种群中随机选取偶数条染色体,然后每两条染色体进行交叉操作。。
步骤S33产生随机数,得到个体编码上的交叉点:在本步骤中,生成两个不同的随机数r1和r2,这两个随机数均服从[0,1]的均勾分布,将这两个随机数乘以染色体中基因的个数M,经过向上取整可得到两个在[1,M]之间的正整数,由此确定两个等位交叉点。在本实施例中,该交叉点是指表示货位的二进制编码中的某个位置或某个位,在交叉时,该位置的二进制编码进行交换,而其他的二进制编码不动。例如,假设两条染色体P1和P2,执行本步骤后得到的交叉点分别是C1=4和C2=7,请参见图4和图5,图4是交叉前的基因(或二进制编码)内容的示意图,图5是交叉后的基因内容的示意图。
步骤S34对个体编码的交叉点的编码进行交叉,并将交叉后或原个体编码放入交叉种群:在本实施例中,将二个需要交叉的个体的二进制编码中该交叉点的编码相互交换,并判断得到的交叉后的编码代表的货位是否空闲或存放出仓货物,如是,交叉有效,交叉后得到的个体放入交叉群种;否则,选择原个体放入交叉群种。
此外,在本实施例中,变异的步骤为:取得个体的变异概率,并将所述交叉群种中所有个体的编码依次排列,得到N*M个编码队列;产生个数与上述编码队列位数相同的、其值在0到1之间的随机数,使其形成与上述编码队列相对应的随机数队列,每个随机数对应于上述编码对列中的一位;选择所述随机数中其值小于所述变异概率的随机数,查找该随机数对应的编码位并将其值改变;取出被改变的编码位所在编码对应的个体,并判断改变后的编码所对应的个体是否为空闲状态或存放出库货物,如是,将改变值后的个体作为新个体加入变异群种;否则,选择未改变前的编码所对应的个体加入变异群种。换句话说,在本实施例中,依照突变运算规则,假设个体变异概率为Pm,亦即群种内所有基因(即个体二进制编码中的每一位)都有Pm的概率进行变异;之后,按照G=N(个体数)×M(个体基因位)计算群种总的基因数;则每一代有G'=PmG个变异基因,每个基因的变异概率是均等的;然后,在[0,1]区间产生G个随机数(需编号),然后将该随机数小于Pm的个体选出,并将其对应的基因值(二进制编码值)加以翻转。
总体上来讲,在本实施例中,通过使用上述技术方案,其在某大型仓库中试验的结果表明:其具有更低的出错率:传统仓储货物管理采用人工操作的错误率明显高于条码系统,而本方法可以使整个管理精度从条码系统的5%错误率降低到0.05%;节省人力成本:更少的操作人员,减少约30%;更高的仓库周转率,普遍提高30%以上;更高的工作效率,平均提高50%以上。
在本实施例中,实际使用时,货位的分配遵循一定的原则,如入库需遵循货架稳定性原则、效率最高原则、相邻原则等,出库需遵循先进先出原则、效率优先原则等。下表示出了在本实施例中使用的出入库原则及其数学模型:
此外,在本实施例中,上述各原则的权重的设定兼具了人工和计算机智能两种优势,通过计算机智能选择给出不同权重的估值,并由人工确认或修正后直接进行出入库货位优化管理。该技术特征的引入,将极大程度地提高仓储管理的自动化、智能化水平,为大型区域物流中心的建立提供了重要技术积累。具体权重设定方法为:计算cre_eri=min(abs(li-li_min),abs(li_max-li)),其中li为规则S的重要性次序,li_min为最不重要的规则次序值,li_max为最重要的规则次序值;当所有待出/入库货物计算完毕之后,对所有的cre_eri进行从小到大的排列,根据排名,他们的权值为排名的倒数,即:如果规则s在cre_eri中排名为第k,那么cres=1/(k+1);(因为只有满足li_min=li=li_max条件的可信值才为1).
对于进仓或入库四个原则的目标函数,按照权重再计算总的适应度值。总的适应度函数如下所示:
F ( x , y , z ) = 1 f ( x , y , z ) + 1 = 1 w 1 * min f 1 ( x , y , z ) + w 2 * min f 2 ( x , y , z ) + w 3 * min f 3 ( x , y , z ) + 1
出库只涉及到两个原则,出库的总的适应度函数如下所示:
F ( x , y , z ) = 1 w 1 * min f 1 ( x , y , z ) + w 2 * min f 2 ( x , y , z ) + 1
以下通过一个具体的例子,对本实施例中的方法加以进一步的说明。
设定货架上货位的长宽高均为L0=1米,货架之间的过道宽为L1=1.5米。坐标(1,2,1)表示该货位的位置为第一排,第二列,第一层。货物摆放需遵循效率最高原则和相邻原则,两个原则对应的权重分别是0.4和0.6。假设初始群种的规模数为10个。终止的条件为迭代次数Gen=500。具体的执行详细的步骤如下:
设已有货物的货位,其状态值为1。其他真实货位中,随机将没有货物的货位状态设为0,已有货物的货位的状态设为1,同时特别将状态为1的货位中的货物定义为A类货物。设置群种规模M=10,迭代次数Gen=500。定义新进货物为A类货物,其周转率为PA=0.45。货架上货位的长宽高均为L0=1,货架之间的过道宽为L1=1.5。之后,初始化Gen,令Gen=0。
按照二进制编码进行货位的编码。因此在这里,一条染色体(即一个货位的二进编码)则是一个货位。把染色体划分为三段,第一段代表排x,第二段表示列y,第三段表示层z。考虑货架的排数的取值范围是[1,7],因此设置其二进制长度为3,则取值从001到111;考虑列数的取值范围是[1,15],因此设置其二进制长度为4,则取值从0001到1111;考虑层数的取值范围是[1,3],因此设置其二进制长度为2,则取值从01到11。
因此一条染色体的二进制长度为9,前三位数表示排,中间四位数表示列,后两位数表示层。把排x、列y、层z的十进制数值分别转化为二进制后组合起来则为一整条染色体,如货位(2,5,3)的编码为010010111。
对所有的货位进行编码,并搜索所有状态为0的空货位,把空货位的编码整理成集合。
将染色体按照排列层的长度按比例进行拆分,本例按3:4:2的比例拆分为三个字串,把三个字串分别转化为十进制,并分别对应x、y、z。例如:110101101拆分为110/1011/01,x:110=4+2=6;y:1011=8+2+1=11;z:01=1,则是货位(6,11,1)。
在上述已经搜索到的空货位集合中随机产生一个拥有10个个体的群种,110101101,110101001,110100101,100101101,100101001,110101100,110100100,100100101,100101100,110101010。
利用解码方法把群体中的所有个体进行解码,得到相应的x,y,z值。计算完各个个体的目标函数值后,使用加权平均算法计算各个个体的适应度。对各个个体的适应度进行对比,记录最高适应度的个体。
令循环i=0,计算各个个体的被复制率,根据复制率确定个体的概率区域。依次随机产生10个(0,1)之间的随机数,随机数落在哪个个体的区间,则把此个体复制到新的群种中。(轮赌盘原理)当i=10被满足后,则放弃原有群种,利用新群种转向个体交叉。
根据余弦改进型的自适应交叉率可得本例Pc计算方法:
p c = p c max + p c min 2 + p c max - p c min 2 cos ( f &prime; - f avg f max - f avg &pi; ) f &prime; &GreaterEqual; f avg p c max f &prime; < f avg
Pcmin和Pcmax分别表示交叉率取值的下限和上限;fmax表示群种的最大适应度,favg表示群种的平均适应度,f’表示参与交叉的两个个体中较大的适应度,f表示变异个体的适应度。在此设pcmin=0.5,pcmax=0.9
根据上述公式确定交叉互换概率为pc,则算法希望能够交叉的对象个数为10*pc个,做整数处理。
随机产生10个(0,1)之间的随机数,并对应群种的各个个体。
计算机随机产生一个1~9的整数,该整数对应个体染色体的基因位置(染色体的基因共9位),在该位置把染色体拆分为两个部分,把后半部分进行互换即可。
例如需交叉的两个染色体分别为011101010及101110011,随机产生整数为5,则两个染色体需交叉的后半部分为1010及0011,则交叉完后为011100011及101111010。交叉完后,对交叉完成的个体进行货位状态判断,检查该编码的货位状态,确定其是否为空位。若交叉完成后其中任意一个状态为1,则放弃交叉,选择原有的个体。若状态均为0,则交叉成功,交叉后个体替代原有个体。
得到形成新的群体,转向个体变异。
根据余弦改进型的自适应变异率可得本例Pm的计算方法:
p m = p m max + p m min 2 + p m max - p m min 2 cos ( f - f avg f max - f avg &pi; ) f &GreaterEqual; f avg p m max f < f avg
Pmmin和Pmmax分别表示变异率取值的下限和上限;fmax表示群种的最大适应度,favg表示群种的平均适应度,f’表示参与交叉的两个个体中较大的适应度,f表示变异个体的适应度。在此设pmmin=0.005pmmax=0.05
在此确定个体变异概率pM,将所有个体的染色体按照顺序排列,则其二进制编码也进行了顺序排列,形成一个具有90个基因队列。随机产生10*9=90个0~1之间的随机数(这些随机数分别对应顺序上的基因)。记录低于变异概率pM的基因位置P,对P/9向上取整,并对P%9取余。把所得的整数及余数定义为第i条染色体j位置需进行变异(这里是把整数赋值给i,余数赋值给j)(0变为1,或者1变为0)。变异后,对变异的个体(即已记录的需进行变异的染色体)进行货位状态判断,检查该编码的货位状态,确定其是否为空位。若变异完成后个体对应的货位状态为1,则放弃变异,选择原有的个体。若状态为0,则变异成功,变异后个体替代原有个体。完成变异即形成一个新的群种。
设为迭代次数Gen=500,满足即对新的群种个体的适应度进行计算,并与上次最高记录进行对比,高于上次记录则取代上次,低于上次记录则选取上次记录,选取完成后读取该记录的染色体编码,并进行解码,得到相应的货位。否则继续上述循环的操作。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种在立体货仓中为货物分配货位的方法,其特征在于,包括如下步骤:
A)在立体货仓中状态为空闲的货位集合或存放出仓货物的货位集合中任意选择设定数量个个体,得到初始群种;其中,所述立体货仓中的货位由分别表示该货位的行、列和层的二进制编码表示;
B)对所述选中的每个货位进行二进制解码,得到其十进制表示的位置坐标;对每个以位置坐标表示的货位使用加权平均的方法计算其个体适应度;比较并记录最高适应度的个体;
C)对初始群种中的个体使用遗传算法进行个体复制、交叉和变异以及个体变异,得到新的群种;
D)判断是否达到设定的迭代次数,如是,执行下一步骤,否则,返回步骤B),将得到的新的群种作为初始群种再次进行处理;
E)对新的群种使用加权平均算法计算其个体适应度;比较并记录最高适应度的个体;比较新的群种和初始群种的最高适应度,选择最大的一个适应度对应的个体,得到其表示的货位。
2.根据权利要求1所述的在立体货仓中为货物分配货位的方法,其特征在于,所述步骤A)中进一步包括如下步骤:
A1)设置货物的参数,所述参数包括货物的周转率、名称和进出仓类型;
A2)取得空闲货位的集合或存放出仓货物的货位集合。
3.根据权利要求2所述的在立体货仓中为货物分配货位的方法,其特征在于,所述步骤B)中进一步包括:
B1)判断是否货物进仓,如是,执行步骤B2;否则,执行步骤B3);
B2)将分配给入仓时涉及的各规则的加权值与将该货位参数代入该规则表达式的得到的值加一的倒数相乘,再将各规则按照上述步骤得到的值相加,得到该货位总的适应度;入仓涉及的规则包括:货架稳定性原则、效率最高原则、相邻原则和交货期优先原则;
B3)判断是否货物出仓,如否,退出本次分配;如是,将分配给出仓时涉及的各规则的加权值与将该货位参数代入该规则表达式的得到的值加一的倒数相乘,再将各规则按照上述步骤得到的值相加,得到该货位总的适应度;出仓涉及的规则包括:先进先出原则和效率最高原则。
4.根据权利要求3所述的在立体货仓中为货物分配货位的方法,其特征在于,所述步骤B)中还进一步包括:
B4)对所述入仓或出仓的原则重新按照其被赋予的权值由小到大进行排序,并对其重新进行权值设定,其权值为其排名的位数加1的倒数。
5.根据权利要求4所述的在立体货仓中为货物分配货位的方法,其特征在于,所述步骤C)中进一步包括:
C1)对初始群种中的个体按照轮盘原理进行个体复制,得到复制群种;
C2)对得到的复制群种进行交叉互换处理,得到交叉群种;
C3)对得到的交叉群种中的个体进行变异处理,得到新的群种。
6.根据权利要求5所述的在立体货仓中为货物分配货位的方法,其特征在于,所述步骤C1)中还进一步包括:
C11)逐个计算初始群种中每个个体的被复制率,根据得到的复制率确定该个体在0到1之间的概率区域;所述个体的被复制率是该个体的适应度值与该群种中所有个体适应度值之和的比值;
C12)产生0到1之间的随机数,并将该随机数所在区域对应的初始群种中的个体复制到交叉群种中,得到交叉群种;其中,所述随机数的个数等于所述初始群种中个体的个数。
7.根据权利要求6所述的在立体货仓中为货物分配货位的方法,其特征在于,所述步骤C11)中进一步包括:
C111)按照得到所述初始群种的总适应度;其中,fi是初始群种中第i个个体的适应度,N是所述初始群种中的个体总数,i=1,2,3...N;
C112)按照pi=fi/F得到所述初始群种中每个个体的被复制概率;并按照得到所述每个个体的被复制累计概率,其中j=1,2,…,i。
8.根据权利要求7所述的立体货仓中为货物分配货位的方法,其特征在于,所述步骤C12)进一步包括:
C121)产生N个其值在0到1之间的随机数,得到一个随机数系列:R1,R2,...,RN;其中,0<Rk<1,k=1,2,...,N;
C122)若Qi-1<Rk<Qi,则个体i被选中复制到复制群种。
9.根据权利要求8所述的立体货仓中为货物分配货位的方法,其特征在于,所述步骤C2)中还进一步包括:
C21)取得设定的交叉概率;
C22)通过对个体产生其值在0-1之间的随机数并比较该随机数与所述交叉概率的大小,选中需要交叉的个体;
C23)对一对交叉的个体分别产生两个随机数,使其与个体编码的位数相乘,向上取整分别得到其个体编码上的交叉点,将该交叉点上的个体编码相互交换,并判断得到的交叉后的编码代表的货位是否空闲或存放出仓货物,如是,交叉有效,交叉后得到的个体放入交叉群种;否则,选择原个体放入交叉群种。
10.根据权利要求9所述的立体货仓中为货物分配货位的方法,其特征在于,所述步骤C3)进一步包括:
C31)取得个体的变异概率,并将所述交叉群种中所有个体的编码依次排列,得到N*M个编码队列;产生个数与上述编码队列位数相同的、其值在0到1之间的随机数,使其形成与上述编码队列相对应的随机数队列,每个随机数对应于上述编码对列中的一位;
C32)选择所述随机数中其值小于所述变异概率的随机数,查找该随机数对应的编码位并将其值改变;
C33)取出被改变的编码位所在编码对应的个体,并判断改变后的编码所对应的个体是否为空闲状态或存放出库货物,如是,将改变值后的个体作为新个体加入变异群种;否则,选择未改变前的编码所对应的个体加入变异群种。
CN201410323431.1A 2014-07-08 2014-07-08 一种在立体货仓中为货物分配货位的方法 Pending CN104063778A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410323431.1A CN104063778A (zh) 2014-07-08 2014-07-08 一种在立体货仓中为货物分配货位的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410323431.1A CN104063778A (zh) 2014-07-08 2014-07-08 一种在立体货仓中为货物分配货位的方法

Publications (1)

Publication Number Publication Date
CN104063778A true CN104063778A (zh) 2014-09-24

Family

ID=51551477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410323431.1A Pending CN104063778A (zh) 2014-07-08 2014-07-08 一种在立体货仓中为货物分配货位的方法

Country Status (1)

Country Link
CN (1) CN104063778A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976054A (zh) * 2016-04-29 2016-09-28 国家电网公司 一种计量器具仓储系统的货位优化方法
CN106021700A (zh) * 2016-05-17 2016-10-12 西安建筑科技大学 基于分散式出/入库布局模式下的货位分配模型建立方法
CN107368984A (zh) * 2017-06-09 2017-11-21 意欧斯智能科技股份有限公司 一种基于遗传算法的上架货位分配方法
CN108399127A (zh) * 2018-02-09 2018-08-14 中国矿业大学 一种类集成测试序列生成方法
CN109073217A (zh) * 2016-04-28 2018-12-21 日立造船株式会社 计算装置、计算装置的控制方法、控制程序以及存储介质
CN109165778A (zh) * 2018-08-10 2019-01-08 南通大学 应用于长物料存储的悬臂梁式立体仓库货位分配方法
CN109190806A (zh) * 2018-08-15 2019-01-11 浙江优尼家装饰科技有限公司 一种面向仓储的板材零部件动态货位优化方法
CN109325721A (zh) * 2018-10-10 2019-02-12 江苏电力信息技术有限公司 一种基于智能分析算法的物资上下架方法
CN110120121A (zh) * 2018-02-07 2019-08-13 长沙行深智能科技有限公司 用于空间可变柜的基于最多物品方案的空间分配方法
CN110120131A (zh) * 2018-02-07 2019-08-13 长沙行深智能科技有限公司 用于空间可变柜的基于密度优先的空间分配方法
CN110146088A (zh) * 2019-06-17 2019-08-20 安徽大学 一种智能仓储管理系统中的室内定位导航方法及导航模型
CN110861925A (zh) * 2019-10-10 2020-03-06 广州秉优信息科技有限公司 一种用于相同货物的码垛方法及系统
CN110942555A (zh) * 2019-12-12 2020-03-31 北京云厨科技有限公司 一种自动售卖机的储位分配方法
CN111815019A (zh) * 2020-06-04 2020-10-23 厦门汉印电子技术有限公司 生产物料存放方法、装置、设备及可读存储介质
CN114435816A (zh) * 2020-11-06 2022-05-06 国网江苏省电力有限公司营销服务中心 一种立体库房盘点的储位分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹萌萌: "《汽车零部件自动化立体仓库货位布局优化策略研究》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109073217A (zh) * 2016-04-28 2018-12-21 日立造船株式会社 计算装置、计算装置的控制方法、控制程序以及存储介质
CN105976054A (zh) * 2016-04-29 2016-09-28 国家电网公司 一种计量器具仓储系统的货位优化方法
CN106021700A (zh) * 2016-05-17 2016-10-12 西安建筑科技大学 基于分散式出/入库布局模式下的货位分配模型建立方法
CN107368984A (zh) * 2017-06-09 2017-11-21 意欧斯智能科技股份有限公司 一种基于遗传算法的上架货位分配方法
CN110120121A (zh) * 2018-02-07 2019-08-13 长沙行深智能科技有限公司 用于空间可变柜的基于最多物品方案的空间分配方法
CN110120131A (zh) * 2018-02-07 2019-08-13 长沙行深智能科技有限公司 用于空间可变柜的基于密度优先的空间分配方法
CN108399127B (zh) * 2018-02-09 2020-06-23 中国矿业大学 一种类集成测试序列生成方法
CN108399127A (zh) * 2018-02-09 2018-08-14 中国矿业大学 一种类集成测试序列生成方法
CN109165778A (zh) * 2018-08-10 2019-01-08 南通大学 应用于长物料存储的悬臂梁式立体仓库货位分配方法
CN109190806A (zh) * 2018-08-15 2019-01-11 浙江优尼家装饰科技有限公司 一种面向仓储的板材零部件动态货位优化方法
CN109325721B (zh) * 2018-10-10 2020-08-21 江苏电力信息技术有限公司 一种基于智能分析算法的物资上下架方法
CN109325721A (zh) * 2018-10-10 2019-02-12 江苏电力信息技术有限公司 一种基于智能分析算法的物资上下架方法
CN110146088A (zh) * 2019-06-17 2019-08-20 安徽大学 一种智能仓储管理系统中的室内定位导航方法及导航模型
CN110146088B (zh) * 2019-06-17 2020-10-27 安徽大学 一种智能仓储管理系统中的室内定位导航方法及导航模型
CN110861925A (zh) * 2019-10-10 2020-03-06 广州秉优信息科技有限公司 一种用于相同货物的码垛方法及系统
CN110942555A (zh) * 2019-12-12 2020-03-31 北京云厨科技有限公司 一种自动售卖机的储位分配方法
CN111815019A (zh) * 2020-06-04 2020-10-23 厦门汉印电子技术有限公司 生产物料存放方法、装置、设备及可读存储介质
CN114435816A (zh) * 2020-11-06 2022-05-06 国网江苏省电力有限公司营销服务中心 一种立体库房盘点的储位分配方法

Similar Documents

Publication Publication Date Title
CN104063778A (zh) 一种在立体货仓中为货物分配货位的方法
Ma et al. A novel integrated production-distribution planning model with conflict and coordination in a supply chain network
CN106779153B (zh) 一种智能立体仓库货位分配优化方法
CN106897852A (zh) 用于物流的订单排序优化方法
CN114417696B (zh) 一种基于遗传算法的自动化立体仓库货位分配优化方法
CN101271543A (zh) 一种应用了基于精英解池的遗传算法的生产排程系统和方法
CN107944616A (zh) 一种鱼骨型立体仓库的货位分配方法
Ventura et al. Grouping parts and tools in flexible manufacturing systems production planning
CN107578119A (zh) 一种智能调度系统的资源分配全局优化方法
CN107808215A (zh) 一种应用于Flying‑V型非传统布局仓库的货位分配优化方法
CN106021700A (zh) 基于分散式出/入库布局模式下的货位分配模型建立方法
CN109165778B (zh) 应用于长物料存储的悬臂梁式立体仓库货位分配方法
CN107967586A (zh) 一种电网物资仓储优化方法
CN101118611A (zh) 基于遗传算法的业务过程模型资源配置优化方法
CN105550753B (zh) 基于两层遗传整数规划的复杂系统设计结构矩阵重构方法
CN103246941A (zh) 一种出口集装箱码头堆存空间调度方法
CN112100861B (zh) 基于入侵杂草优化算法的卷烟生产物料货位分配方法
CN109815541A (zh) 轨道交通车辆产品零部件模块划分方法、装置与电子设备
CN116402185A (zh) 基于aga多目标液压泵装配车间立体仓库货位分配优化方法
CN100495434C (zh) 钢铁产品散装货运船舶积配载方法
Dong et al. Energy supply network design optimization for distributed energy systems
CN109190806A (zh) 一种面向仓储的板材零部件动态货位优化方法
CN117408604A (zh) 一种基于智能计算的大规模立体仓库货位分配方法
CN115841230A (zh) 一种基于改进nsga-ⅱ算法的应急资源统筹调配方法
CN113222272B (zh) 基于双层遗传编码的应急物资运输与装载协同优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140924

RJ01 Rejection of invention patent application after publication