一种基于改进遗传算法的仓库物资货位规划方法及系统
文献发布时间:2024-04-18 19:58:30
技术领域
本发明涉及仓库入库货位规划相关技术领域,具体涉及一种基于改进遗传算法的仓库货位规划方法及系统。
背景技术
随着科技的高速发展和工业化程度的持续提升,仓储管理,作为产品流通的关键部分,在物流领域和供应链网络中起着调节和联接的功能,同时也在公司的生产和经营活动中起着关键作用。
然而现阶段,仓库的存储混乱、进出库效率不高、空间使用效率低下,以及由于货物摆放不当导致的货架压顶倒塌等问题普遍存在。因此,对仓库进出库货位进行合理优化的方案显得极其重要。
发明内容
本发明的目的是提供一种基于改进遗传算法的仓库货位规划方法及系统,对仓库多类别的货物同时存入仓库时进行入库规划方法,建立相应的优化算法模型并引入层次分析法,将多目标优化统一为一个多目标优化模型,降低问题的复杂度,并且,在基于改进遗传算法的寻优过程下有利于寻找到全局最优解。
为解决上述技术问题,本发明采用了以下方案:
一种基于改进遗传算法的仓库物资入库货位规划方法,所述方法具体包括以下步骤:
S1:建立仓库数学模型,并根据仓库数学模型得到多目标优化模型,所述仓库数学模型包括三维坐标系以及在三维坐标系下的若干个货位的坐标;
S2:初始化种群,将货位的坐标进行十进制编码,生成若干个染色体;
S3:根据多目标优化模型对每个染色体进行适应度值计算,得到每个染色体的适应度值,并根据适应度值将染色体进行升序排序;
S4:判断种群的迭代次数是否满足迭代终止条件,若是,则将排序最前的染色体进行解码并输出最优解,若不是,则转到步骤S5;
S5:根据轮盘选择从染色体中选择父代染色体并采用自适应交叉框进行交叉操作,得到子代染色体,再采用自适应变异框对子代染色体进行变异操作,得到新的子代染色体,并转到步骤S3。
进一步的,所述染色体采用多维矩阵表示,一个染色体包括多个基因,四个基因表示一个货物,其中,前三个基因(x,y,z)表示该货物所在货位的坐标,最后一个基因(i)表示该货物的类别,具体为:
其中,k表示染色体的多维矩阵的行数,也是本次入库货物的个数,t表示当前的迭代次数,j表示该染色体的序号,j={1,2,3,...,N}。
进一步的,所述S5具体包括以下步骤:
S51:计算种群的总适应度值
S52:引入自适应交叉框,根据自适应交叉框的坐标标记在父代染色体中进行定位,并根据自适应交叉框的框大小得到位于自适应交叉框中父代染色体的基因,将不同染色体的位于自适应交叉框中父代染色体的基因进行交换,得到交换后的子代染色体;
S53:引入自适应变异框,根据自适应变异框的坐标标记在子代染色体中进行定位,并根据自适应变异框的框大小得到位于自适应交叉框中子代染色体的基因,将与自适应变异框中变异标记对应的子代染色体的基因进行变异,得到新的子代染色体。
进一步的,所述自适应交叉框的框大小或自适应变异框的框大小都根据自适应策略进行变化,所述自适应策略即框的行数A和列数B随着迭代次数的变化而变化,具体公式为:
其中,k表示本次入库货物的个数,T为总迭代次数。
进一步的,所述自适应变异框中变异标记的个数为自适应变异框中基因的个数的三分之一。
进一步的,在S1中,建立仓库数学模型包括以下参数:a表示仓库货架排数,b表示仓库货架列数,c表示仓库货架层数,L0表示货位的单元格长度,m
并根据仓库出入口为原点,建立以仓库货架排数a为x轴、仓库货架列数b为y轴、仓库货架层数c为z轴的三维坐标系,在该三维坐标下的第x排第y列第z层的货位的坐标表示为(x,y,z),x={1,2,…,a},y={1,2,…,b},z={1,2,…,c}。
进一步的,在S1中,根据仓库数学模型提供的参数以及所需的目标条件分别生成用于将同类别货物存入相邻货位的同类货物相邻模型f
所述多目标优化模型F具体为:F(x,y,z)=ω
进一步的,假设仓库中已有n个货位存放了某单一类别的货物,那么这n个货位的坐标向量组为:
令第i类别的货物的货位中心坐标R
若当前有空货位,该货位的坐标为(x,y,z),如果现在想要在该货位上放置一个该货位类别的货物,那么该货物离所有同类货物的货位中心坐标的距离为:
则同类货物相邻模型f
则提高出库效率模型f
则货架重心最低模型f
其中,k
一种基于改进遗传算法的仓库物资入库货位规划系统,包括:
建立模型模块:建立仓库数学模型,并根据仓库数学模型得到多目标优化模型,所述仓库数学模型包括三维坐标系以及在三维坐标系下的若干个货位的坐标,
初始化种群模块:初始化种群,将货位的坐标进行十进制编码,生成若干个染色体;
计算模块:根据多目标优化模型对每个染色体进行适应度值计算,得到每个染色体的适应度值,并根据适应度值将染色体进行升序排序;
判定模块:判断种群的迭代次数是否满足迭代终止条件,若是,则将排序最前的染色体进行解码并输出最优解,若不是,则将进行遗传操作;
遗传操作模块:根据轮盘选择从染色体中选择父代染色体并采用自适应交叉框进行交叉操作,得到子代染色体,再采用自适应变异框对子代染色体进行变异操作,得到新的子代染色体。
进一步的,所述遗传操作模块中还包括以下模块:
选择模块:计算种群的总适应度值
自适应交叉模块:引入自适应交叉框,根据自适应交叉框的坐标标记在父代染色体中进行定位,并根据自适应交叉框的框大小得到位于自适应交叉框中父代染色体的基因,将不同染色体的位于自适应交叉框中父代染色体的基因进行交换,得到交换后的子代染色体;
自适应变异模块:引入自适应变异框,根据自适应变异框的坐标标记在子代染色体中进行定位,并根据自适应变异框的框大小得到位于自适应交叉框中子代染色体的基因,将与自适应变异框中变异标记对应的子代染色体的基因进行变异,得到新的子代染色体。
本发明的有益效果:
本发明的目的是提供一种基于改进遗传算法的仓库货位规划方法及系统,可以对仓库多类别的货物同时存入仓库时进行入库规划方法,并具备以下优点:
(1)使用十进制编码规则,大大降低搜索空间;
(2)采用可行解矩阵化表示染色体,可以进行综合寻优,不容易丢失全局最优解;
(3)交叉前,上代最优解替换当前最差解,便于寻找到全局最优解;
(4)基于矩阵可行解后,引入自适应交叉框和自适应变异框,使交叉和变异的概率不被固定,可以利于算法前后期的开发和探索;
(5)在自适应交叉框和自适应变异框中引入自适应策略,可以更好地平衡算法前期对解空间的探索,后期对局部的开发。
附图说明
图1为本发明实施例1中一种基于改进遗传算法的仓库物资入库货位规划方法的流程示意图。
图2为本发明实施例1中一种基于改进遗传算法的仓库物资入库货位规划方法的交互示意图。
图3为本发明实施例1中引入自适应交叉框进行交叉操作的交叉示意图。
图4为本发明实施例1中引入自适应变异框进行变异操作的变异示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
下面通过参考附图并结合实施例来详细说明本发明:
实施例1
如图1、图2所示,一种基于改进遗传算法的仓库物资入库货位规划方法,所述方法具体包括以下步骤:
S1:建立仓库数学模型,并根据仓库数学模型得到多目标优化模型,所述仓库数学模型包括三维坐标系以及在三维坐标系下的若干个货位的坐标;
具体的,建立如下的仓库数学模型:仓库中共有a排货架,每排货架有b列c层,并且,将距离仓库出入口最近的一排记为第1排,距货架入口最近的一列记为第1列,货架最底层记为第1层,第x排y列z层的货位坐标记为(x,y,z),其3中,x={1,2,…,a},y={1,2,…,b},z={1,2,…,c}。所以,所述三维坐标系以仓库出入口为原点,建立以仓库货架排数a为x轴、仓库货架列数b为y轴、仓库货架层数c为z轴。所述在该三维坐标下的第x排第y列第z层的货位的坐标表示为(x,y,z),x={1,2,…,a},y={1,2,…,b},z={1,2,…,c}。
其中,所述仓库数学模型中的相关参数包括以下:
a表示仓库货架排数,b表示仓库货架列数,c表示仓库货架层数,
L0表示货位的单元格长度,所述仓库中货架的长宽高都一致,
m
p
N表示货物的类别总数。
优选的,在S1中,根据仓库数学模型提供的参数以及所需的目标条件分别生成用于将同类别货物存入相邻货位的同类货物相邻模型f
所述多目标优化模型F具体为:F(x,y,z)=ω
由于,实际仓库存储中普遍按照以下规则进行存储:
(1)为减少在仓库中查询获取的时间,提高作业效率和保管效率,同类别的货物应该存入相邻货位;
(2)将货物周转率高的货物存入仓库出入口或易于作业的地方,并将流动性差的产品放在距离出入口较远的地方,以此缩短行进距离,提高工作效率;
(3)为了保证货架受力均匀,结构稳定,将货物单位质量较大的货物存入货架的低层货位,即满足货架的重心最低。
所以,基于上述规则,为减少算法计算的复杂度,引入层次分析法,确定各个目标所占权重,将多目标优化转换为单目标优化,使本发明的算法只需求解min(F(x,y,z))。
具体的,假设仓库中已有n个货位存放了某单一类别的货物,那么这n个货位的坐标向量组为:
令第i类别的货物的货位中心坐标R
若当前有空货位,该货位的坐标为(x,y,z),如果现在想要在该货位上放置一个该货位类别的货物,那么该货物离所有同类货物的货位中心坐标的距离为:
则同类货物相邻模型f
则提高出库效率模型f
则货架重心最低模型f
其中,k
S2:初始化种群,将货位的坐标进行十进制编码,生成若干个染色体;
由于,仓库中货位数量过多,现有技术中普遍选择采用二进制编码,但是,二进制编码不仅使问题解的维数过大,还增大了搜索空间,在解码的时候容易产生不可行解和冗余解,降低了编码效率。
而本发明选择采用十进制编码方式,在上述假设中,仓库中第x排y列z层的货位的坐标表示为(x,y,z),用十进制编码分别表示货位的x,y,z坐标,假设一共要分配N个货位,则问题解空间中一个基因的长度为3N。其中,一个货物坐标解的搜索空间大小为{a*b*c},相比较普通二进制编码搜索空间大小,对于中等仓库,每个货物的二进制编码需要6位,即需要{23*6=262,144},大大降低了搜索空间。
S3:根据多目标优化模型对每个染色体进行适应度值计算,得到每个染色体的适应度值,并根据适应度值将染色体进行升序排序;
具体的,使用适应度函数评价染色体,适应度越高表明染色体所代表的解质量越好。并且,根据适应度值将染色体进行升序排序,在交叉前,可以采用上代最优解替换当前最差解,使其利于寻找到全局最优解。
S4:判断种群的迭代次数是否满足迭代终止条件,若是,则将排序最前的染色体进行解码并输出最优解,若不是,则转到步骤S5;
S5:根据轮盘选择从染色体中选择父代染色体并采用自适应交叉框进行交叉操作,得到子代染色体,再采用自适应变异框对子代染色体进行变异操作,得到新的子代染色体,并转到步骤S3。目的是,使得改进后的遗传算法复杂度降低,提升计算速度;支持处理大维度问题;能同时处理所有不同类别的货物同时进行入库货位规划;算法寻优时能平衡好对解空间的探索与开发,有利于寻找到全局最优解,使货物可以存入到最匹配的货位中。
由于,传统遗传算法普遍采用一维矩阵表示,对于复杂问题,不利于解码,并且只能逐个单一种类物资进行规划,未进行综合寻优,容易丢失全局最优解。所以,本发明中染色体采用多维矩阵表示,一个染色体包括多个基因,四个基因表示一个货物,其中,前三个基因(x,y,z)表示该货物所在货位的坐标,最后一个基因(i)表示该货物的类别,具体为:
其中,k表示染色体的多维矩阵的行数,也是本次入库货物的个数,t表示当前的迭代次数,j表示该染色体的序号,j={1,2,3,...,N}。
并且,传统遗传算法中所需进行的交叉和变异操作比较重要的一点就是设置交叉概率值和变异概率值,使其达到设定的概率值后将种群中某两个染色体的部分基因进行随机互换,或随机突变。但这种操作对于处理复杂问题时,会引入较大的随机性,并且固定的交叉和变异概率不利于算法前后期的开发与探索。
所以,本发明基于上述矩阵化可行解,引入了自适应交叉框和自适应变异框来根据自适应策略进行遗传操作,目的是:使算法寻优时能平衡好对解空间的探索与开发,有利于寻找到全局最优解。
优选的,所述S5具体包括以下步骤:
S51:计算种群的总适应度值
S52:引入自适应交叉框,根据自适应交叉框的坐标标记在父代染色体中进行定位,并根据自适应交叉框的框大小得到位于自适应交叉框中父代染色体的基因,将不同染色体的位于自适应交叉框中父代染色体的基因进行交换,得到交换后的子代染色体;
优选的,所述自适应交叉框的坐标标记指的是自适应交叉框的左上角坐标(w,h),w≤n,w∈N
具体的,引入自适应交叉框进行交叉操作的具体过程为:
假设获得了两个经过轮盘赌选择到的父代染色体,根据自适应交叉框的坐标标记(2,2)在父代染色体中进行定位,并根据自适应交叉框的框大小(4,2)得到位于自适应交叉框中父代染色体的基因,将该两个父代染色体的位于自适应交叉框中父代染色体的基因进行交换,得到交换后的子代染色体,如图3所示,并且,通过计算交换后的子代染色体的适应度值,保存适应度值更优的染色体。
S53:引入自适应变异框,根据自适应变异框的坐标标记在子代染色体中进行定位,并根据自适应变异框的框大小得到位于自适应交叉框中子代染色体的基因,将与自适应变异框中变异标记对应的子代染色体的基因进行变异,得到新的子代染色体。
优选的,所述自适应变异框的坐标标记指的是自适应变异框的左上角坐标(w,h),w≤n,w∈N
具体的,引入自适应变异框进行变异操作的具体过程为:
由于,所述变异标记指的是与该变异标记对应的基因变异,可以用1或0表示,假设,用1表示该基因变异,用0表示该基因不变异,引入一个坐标标记为(2,2)、框大小为(4,2)的自适应变异框,具体为:
优选的,所述自适应变异框中变异标记的个数为自适应变异框中基因的个数的三分之一,并且,随机分布。
优选的,所述自适应交叉框的框大小或自适应变异框的框大小都根据自适应策略进行变化,所述自适应策略即框的行数A和列数B随着迭代次数的变化而变化,具体公式为:
其中,k表示本次入库货物的个数,T为总迭代次数。
具体的,所述自适应交叉框和自适应变异框的框大小的变化规则一致。
综上所述,本发明提出一种基于改进的遗传算法对仓库多类物资同时入库时进行入库货位规划方法。根据当前仓储物资摆放中所存在的上面所述的问题,以及实际仓储中所使用的规则:1、同类物资相邻;2、高出库效率;3、货架重心最低。建立相应的优化算法模型并引入层次分析法,将多目标优化转为单目标优化模型,降低问题的复杂度。针对遗传算法在计算高维复杂问题时,容易出现二进制编码解码困难、收敛速度慢、局部搜索能力差等问题。故针对实际问题对遗传算法引入定制化的改进策略:
(1)使用十进制编码规则,大大降低搜索空间;
(2)采用可行解矩阵化表示染色体,可以进行综合寻优,不容易丢失全局最优解;
(3)交叉前,上代最优解替换当前最差解,便于寻找到全局最优解;
(4)基于矩阵可行解后,引入自适应交叉框和自适应变异框,使交叉和变异的概率不被固定,可以利于算法前后期的开发和探索;
(5)在自适应交叉框和自适应变异框中引入自适应策略,可以更好地平衡算法前期对解空间的探索,后期对局部的开发。
基于此,使得改进后的算法复杂度降低,提升计算速度;支持处理大维度问题;能同时处理所有不同种类的物资同时进行入库货位规划;算法寻优时能平衡好对解空间的探索与开发,有利于寻找到全局最优解。
实施例2
一种基于改进遗传算法的仓库物资入库货位规划系统,包括:
建立模型模块:建立仓库数学模型,并根据仓库数学模型得到多目标优化模型,所述仓库数学模型包括三维坐标系以及在三维坐标系下的若干个货位的坐标,
初始化种群模块:初始化种群,将货位的坐标进行十进制编码,生成若干个染色体;
计算模块:根据多目标优化模型对每个染色体进行适应度值计算,得到每个染色体的适应度值,并根据适应度值将染色体进行升序排序;
判定模块:判断种群的迭代次数是否满足迭代终止条件,若是,则将排序最前的染色体进行解码并输出最优解,若不是,则将进行遗传操作;
遗传操作模块:根据轮盘选择从染色体中选择父代染色体并采用自适应交叉框进行交叉操作,得到子代染色体,再采用自适应变异框对子代染色体进行变异操作,得到新的子代染色体。
优选的,所述遗传操作模块中还包括以下模块:
选择模块:计算种群的总适应度值
自适应交叉模块:引入自适应交叉框,根据自适应交叉框的坐标标记在父代染色体中进行定位,并根据自适应交叉框的框大小得到位于自适应交叉框中父代染色体的基因,将不同染色体的位于自适应交叉框中父代染色体的基因进行交换,得到交换后的子代染色体;
自适应变异模块:引入自适应变异框,根据自适应变异框的坐标标记在子代染色体中进行定位,并根据自适应变异框的框大小得到位于自适应交叉框中子代染色体的基因,将与自适应变异框中变异标记对应的子代染色体的基因进行变异,得到新的子代染色体。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
- 一种基于遗传算法的仓库货位分配方法及系统
- 一种基于遗传算法的自动化立体仓库货位分配优化方法