四、自动化立体仓库的货位优化研究
本章,我们将按照前两章所提出的货位分配优化理论以及遗传理论基础,对蒙牛自动化立体仓库的货位优化研究加以详细的阐述。
4.1货位优化的目标和约束
所谓货位优化就是根据一定的存储策略和几个货位分配原则对仓库中的初始货位进行调整使之处于最合理的状态(最合理状态指通过货位优化,使得货位达到提高拣选效率和降低仓库操作成本的目的)。
货位优化的目标和约束在实施优化过程中是必不可少的。
目标决定了优化的方向,而约束则规定了优化的方式。
货位优化并不是随心所欲的优化,必须满足一定的客观约束条件。
如:
货品重量、货位大小、拣货准确率要求等。
一般来说,货位优化的约束条件有如下几条。
1、考虑到承能力,在存放货品的时候应遵循“货架承重均匀,上轻下重"原则,即重物放置在货架靠近地面的层位上。
2、根据货物的尺寸规格选择相应的货位:
大容量使用大货位,小容量使用小货位;高货物使用高货位的层面储存,低货物使用低货位的层面储存。
3、根据不同的拣货方式选择货品的储存区域:
对于人工操作方式应该将易混淆的货品储放于不同的区域;对自动化操作方式则不必要强调易混淆物品的储存区域。
综上所述,货位优化的约束条件在一定程度上对自动化立体仓库的作业效率有影响,我们在研究立体仓库货位优化时,需要兼顾提高作业效率和满足限制条件两方面的因素。
4.2AS/RS货位优化建模分析
所谓数学建模就是对现实世界的实际研究对象和目的建立模型的过程,也就是对于现实世界的一个特定对象(原始参照物),为了某种特定的目的,根据该对象特有的内在规律,做出一些必要的简化假设,运用适当的数学工具得到一个数学结构。
本文研究的重点就是将立体仓库的货架结构、货品信息等经过抽象建立一个合理的数学模型,并为之求解。
4.2.1物流系统建模的方法
物流系统的研究已经有较长的历史,其建模与分析设计的方法有很多,简单来说主要有以下几种:
(1)决策系统分析与建模法。
该方法以概念参考模型为基础,将系统分解为物理、信息和决策三部分,采用自上而下的分析方法清楚地表明决策系统内部间的决策职能以及在决策和信息上的相互联系。
该方法适合于决策功能层的优化,但仿真实现比较困难;
(2)功能模型。
该模型结构化地描述了所研究系统的活动和处理进程;(3)信息模型。
该模型表达了制造系统环境的信息结构和语义;(4)仿真模型设计。
该模型表述了环境或系统时常变化的行为特征,常用于系统模拟,建立动态模型;(5)面向对象问题分解法。
面向对象设计方法的基本思想就是寻找并处理问题域中的对象以及各对象间的关系,采用分解问题的方法将建模问题分解为“三要素”:
初始态、目标态和过程。
自动化立体仓库作为物流系统中的重要组成部分,对其进行研究时同样可以采用以上的物流系统建模方法。
接下来应用该方法对自动化立体仓库货位优化问题进行分解。
货位优化的实际本质是将仓库中货品的当前货位进行调整使之处于最合理的位置,从而使得仓库中货物的周转效率最高。
那么如何实现初始货位布局到合理货位布局的转化呢,根据前面提到的货位存储策略以及仓库特征,我们决定采用分类随机存放的存储策略对货位进行优化。
优化的过程需要在满足限制条件的原则下提高作业效率。
由此可见,货位优化问题实际上是一个多目标决策问题,从经济学角度分析,既要满足限制条件实现货位布局最佳又要降低物流成本这本身就是一个“效益背反”问题。
同时,货位优化的目标也不是唯一的,各优化目标间存在相互矛盾、相互制约、相互竞争。
例如,为了实现“常用易取”的目标,我们系统将物流动性高的货物放置在靠近出入口的货位上;同时,为了保证货架的稳定性采用的“重物应在下”的目标,则要求重量大的货物应放在靠近地面的位置上。
这样两个互不相关的属性就存在竞争,满足“常用易取”的目标势必会在一定程度上削弱货架的稳定性。
同理,满足了“重物应在下”的目标势必会在一定程度上降低“常用易取”的实现。
实际的工程优化问题大多数是多目标优化问题,目标之间一般都是相互冲突的。
多目标优化问题总是以牺牲一部分目标的利益来换取令一些目标利益的改善,因此在研究货位优化时,应充分考虑到各个约束条件的制约关系,设定合适的权值。
4.2.3货位优化模型的确立
模型的确立在货物优化研究中起关键作用,一个好的模型会给研究工作带来事半功倍的效果。
本小节将以模型的设计、问题假设以及模型的确立等三部分内容对货位优化模型的确立过程进行详细的阐述。
4.2.4模型的设计
通过以上的分析,我们现在已经对货位优化的目的有了很深刻的认识。
货位优化的目的就是通过倒库等作业方式对货位进行调整,使得仓库中每一个货位都能处于一个最合理的位置。
自动化立体仓库货位分配的运行方式可以简单的描述为:
堆垛机根据一定的规则将货品运送到指定的货位。
货位优化的执行是指为每一个货物确定一个最有效合理的货位的过程。
可见,在整个货位分配优化过程中涉及到三个关键的对象:
货品、货位、堆垛机,其中堆垛机在货位优化过程中起到中介的作用,每一个货物通过堆垛机被送达到优化后的货位上。
所以货位优化问题的研究对象为货品、堆垛机和货位。
4.2.5问题假设
模型假设是与问题分析紧密衔接的一个重要步骤。
根据对象的特征和建模目的,在问题分析基础上对问题进行必要的、合理的取舍简化,并使用精确的语言做出假设,这是建模至关重要的一步。
为了建立一个易求解且符合实际的货位优化模型,我们需要做如下假设。
(1)货位与货品的存放尺寸相适应
假设在为货品进行货位分配时,不存在货品尺寸与货位尺寸不匹配的情况。
也就是说,规定将空间大的货位分配给体积大的货品。
(2)假设所有货架上的托盘尺寸规格是相同的。
立体仓库中的托盘分为两种:
木托盘与塑木托盘,规格为1200x1200mm承载重量为1500kg。
假设在我们建的模型中,所有托盘的尺寸规格与最大承载重量是相同的。
但是在承载范围内,托盘上存放的货物重量可以各不相同。
(3)假设货格长宽尺寸相同
相关资料显示,高架立体仓库在设计货格时有两种参数规格:
货格长宽比例1:
1型与5:
3型。
为了模型简单起见,设货格长:
货格宽:
巷道宽比例为1:
1:
1型。
(4)货位优化区域定义
假设优化区域为l排P列q层的货架区域,将距离巷道口的最近一排记为第1排,最近的列记为第1列,最低一层记为第1层,处于第i排j列k层的货位记为(i,j,k),出库台位置记为(0,0,1)。
(6)假设货格中货物无混放的情况
不考虑货格上货物混放的情况,即在同一个货格上放的是相同的货品,它们的质量是相同的。
4.3数学模型建立
在数学模型建立的开始,我们需要对变量进行定义。
假设,m代表托盘货物的基于遗传算法的自动化立体仓库的货伊优化研究重量;f代表货物的存取频率;n代表货位上货品的数量;vx代表传送带的运算速度;vy代表堆垛机的纵向运行速度;vz代表堆垛机的垂直上升速度(注:
vx:
vy:
vz=1:
5:
1)
(1)模型建立
货位分配的策略有多种,针对本文的货位优化研究我们只考虑两个原则“货架承重均匀,上轻下重”与“加快周转,先入先出”。
在模型的建立过程中需要同时考虑这两个原则,即在使得仓库出入库效率最高的前提下同时要满足货架的承载均匀条件。
可见,模型是一个多目标优化模型,需要同时满足两个目标函数。
1得货架的重心最小——“货架承重均匀,上轻下重”
目标函数的意义:
为了使货架的承载能力均匀,不至于出现倾覆性倒塌,需要遵循“货架承重均匀,上轻下重”的原则。
货架的稳定性可以等价为使得货架的重心最低,也就是说使得每排货架上所放货物的总的重心最低。
②使货物的配送量最小——“提高效率,就近入出库
目标函数的意义:
货位优化的目的在于提高生产率,将无用运动减低到最小。
根据货品的物流动性使货物的配送量最小。
(2)约束条件
注:
前面假设本文货位优化的区域为l排P列q层的货架区域。
将距离巷道口的最近排记为第1排,最近的列记为第1列,最低层记为第1层。
i表示货位处于第i排;J表示货位处于第j列;k表示货位处于第k层。
本题中l=2,p=20,q=10,即研究2排20列10层的仓库存储优化问题。
为研究方便,设L=H=4,即货格长和高分别为4,且vx=vz,即堆垛机的走行速度和升降速度相同。
而且本题是一个多目标优化问题的求解,而求解难度较大,故将多目标问题的求解转化为大把目标的求解,目前,将多目标优化问题转换为单目标或一系列单目标优化问题的方法有效用函数法、权重和法、妥协法等。
本文采用权重法进行解答。
现有六名专家对上述两个目标函数权重进行打分,得到如下表
专家1
专家二
专家三
专家四
专家五
专家六
加权和
0.12
0.18
0.2
0.16
0.12
0.22
1
1
0
1
1
1
0
0.6
2
0
1
0
0
0
1
0.4
那么货位分配的目标函数可表示为
,其中X表示货品在货架上的位置
考虑最小化问题。
由于后悔值越小个体越好,因此需要将后悔值转换为适应值从而确保优秀个体具有较大的适应值。
设r(x)表示个体x的后悔值,‰戤表示当前代中的最大后悔值,‰表示当前代中的最小后悔值。
变换方式如下
其中,y是正实数,通常被限制在开区间(0,1)中。
该系数有两个作用,一个是为了避免式(4.14)产生被零除错误;另一个是可以将选择方式从适应值比例选择调整到纯粹随机选择。
五、算法设计与实现
5.1确定染色体编码方法
本文所研究的货位优化问除了是多目标优化问题外,还应该是一种组合优化问题,它需要组合两个约束目标来寻找满足约束项目的最佳组合,所以本文决定采用整数排列编码方式对染色体进行编码。
采用整数排列编码方式,我们将货物与货位的从属关系进行编码如下。
(1)整个一条染色体代表一种货位分配方案
(2)染色体中基因的个数表示在优化区域内货品的个数(将货位所存放的货物打包视为一个货物),将每条染色体分为m段,m就表示在该优化区域内货物的总数。
(3)基因的值表示货物存储的货位,基因的位置表示存放在该货位上的货物的编号。
每段基因用整数表示要存储的货位坐标(排,列,行)。
假设在2排4列3层的优化区域内共有5个物品,其中1号货物存放在坐标(1,1,2)的货位上;2号货物存放在坐标(1,2,1)的货位上;3号货物存放在坐标(2,3,2)的货物上;4号货物存放在坐标(2,4,3)的货位上:
5号货物存放在坐标(1,3,3)的货位上。
那么染色体“112121232243133”就形成了一个解,表示一种货位分配方案。
如图5.1所示。
5.2适应度函数的确定
本文研究的是目标函数的最小化问题,孤儿后悔值函数只要去目标函数的倒数就可以变为适应度函数,并通过适应度大小来评价个体优劣程度,为防止溢出,我在目标函数整体上加1,从而得到本文目标函数所对应的后悔值函数如下:
适应度函数如下
其中r是正实数,通常被限制在开区间(O,1)中,在这里我们令r=O.08
5.3选择、交叉和变异
遗传算法是一种群体型操作,以群体中所有个体为对象。
选择、交叉和变异是遗传算法的3个主要操作算子,由这三个操作算子构成了遗传操作,使得遗传算法具有了其他传统算法没有的特点。
(1)遗传算子
①选择运算使用比例选择算子
比例选择因子是利用比例于各个个体适应度的概率决定其子孙的遗留可能性。
若设种群数为M,个体f的适应度为f,则个体i被选择的概率为
当个体选择的概率给定后,产生【0,1】之间的均匀随机数来决定哪个个体参加交配。
若个体的选择概率大,则能被多次选中,它的遗传基因就会在种群中扩大;若个体的选择概率小,则被淘汰。
②交叉运算使用单点交叉算子
只有一个交叉点位置,任意挑选经过选择操作后种群中两个个体作为交叉对象,随机产生一个交叉点位置,两个个体在交叉点位置,两个个体在交叉点位置互换部分基因码,形成两个子个体,如图5.2所示。
变异运算使用基本位变异算子或均匀变异算子。
为了避免问题过早收敛,对于二进制的基因码组成的个体种群,实现基因码的小概率翻转,即0变为1,而1变为0,如图5.3所示。
5.4遗传算法操作过程
第一步,初始化。
采用实数编码方案进行染色体编码,确定种群规模为N,应用MATLAB遗传算法工具箱函数crtbp产生种群规模为N的初始种群。
初始种群的产生意味着产生了N个初始货位的分配方案,将种群中坐标重复的或者超过优化区域的染色体去掉,并补充新的染色体,使之满足种群的规模为N。
第二步,种群适应度评价。
评价初始种群的目标函数值和适应值。
第三步,通过选择、交叉、变异操作,产生新一代群体。
第四步,对产生的新种群中的个体进行评价,计算目标函数值和适应值。
第五步,记录本带群体中的最优个体,保留最优解。
第六步,完成预先设定的进化代数后算法停止。
5.5系统仿真
考虑到现在所学知识的限制,现在只研究单排货架,并且假设堆垛机一直匀速行驶,且其行驶速度和升降速度Vx=Vy=1m/s,现在对这是类货物的出入库频率重量和所占货格数假设如下
货品编号
出入库频率
重量
所占货格数
1
0.1
100
50
2
0.2
50
30
3
0.16
40
20
4
0.24
80
40
5
0.1
90
15
6
0.05
100
5
7
0.05
60
10
8
0.04
80
10
9
0.03
70
6
10
0.03
60
14
该计算中燃热提供有200个基因位,每个基因长度为,每个基因长度为4,染色体长度为200*4,在计算中假设染色体种群代数为M=400,进化代数为T=400,交叉概率Pc=0.8,变异概率Pm=0.2
选择:
我们应用MATLAB遗传算法工具箱中的crtbase函数与crtbp函数产生初始种群格式如下示:
NIND=400;
BaseV=crtbase(800,4);
Chrom=crtbp(Nnm3,BaseV)+ones(NrYD,800);
将目标函数转换为可是别的形式如下:
根据目标函数的适应度值进行选择与基因重组工作。
本文采用MATLAB遗传算法工具箱函数中的轮盘选择(rws)函数进行选择操作;采用单点交叉(xovsp)函数进行基因的重组。
格式如下所示:
SelCh=select('rws’,Chrom,FitnV);
SelCh=recombine('Xovsp’,SelCh,0.8);
变异
f=rep([1:
20】,[1,10】);
SelCh=mutbga(SelCh,f