随着我国物流业的快速发展,物流公司的数量也在逐年增加,如何在物流资源有限的情况下合理优化物流流程,提高物流效率、降低物流成本是增强企业核心竞争力的主要因素。随着自动化立体仓库的普遍采用,面对种类繁多的物流商品,如何提高配送中心仓储效率将是企业不得不面对的现实问题。配送中心是接受并处理用户的货物需求信息,对加工生产企业配送过来的多种商品进行分类,根据客户订货需求进行选配、组合、包装等作业并进行送货的设施和机构。国内的中小企业已经逐渐认识到配送中心缩短响应时间和降低仓储成本是提高物流服务水平的关键,因此货位优化是不容忽视的重点之一。
货位优化是规定每一个货物在合适的储藏方法下的储存位置的设置,具有差别的设施种类的特性、货物划分、储位计划、内部劳动力成本等要素来完成最优的货位构造。在立体仓储系统诸多问题中,货位优化问题极为重要,与企业的生产力增长密切挂钩。最大化的利用可以使用的空间,也就是提高储存区的利用率,是研究配送中心储存区规划问题的目的所在,让劳动力和配置都发挥其应有的成效,装运货品要既安全又实惠,货物要做好保护和管理,这样才能降低物流中心的总成本。
货位优化是配送中心缩短响应时间、降低仓储成本和提高物流服务水平的关键环节。目前出现了许多货位优化算法,但是由于货位优化的特殊性,主要以遗传算法为主。当然相关学者也提出了一些其他优化方法。
遗传算法主要仿照自然界的生物演变规律并用计算机进行模拟研究,通过模拟自然算法来解决最优问题。该方法从问题解的串集方面进行搜索,涉及到更大的范围,且使用并行化方式,综合水平较高。
文献
在解决货位优化问题时,除了常见的遗传算法,还有粒子群算法、嵌套分区算法、蚁群算法、入侵杂草算法、穷举法、植物繁殖算法等。
文献
综上所述,本文主要考虑货物的重量和货物的周转率,并对这两个要素进行深入的探讨和研究。对于多目标函数问题,本文将穷举法和遗传算法进行比较分析,得出最优解。在此考虑货品周转率的优化原则为
本设计系统的假设条件为:
(1)该立体仓储系统属于单元货格式储存形式,现有堆垛机和货架。
(2)货架为矩形,总共有i列,j层,长度是L,高度是H。
(3)包含众多物品,货架上全部尺寸相同,且任何货位都随意摆放。
(4)系统中对不同货物的需求相对清楚,且不会改变,不同货物没有关联。
(5)堆垛机可以在两个方向,即水平和垂直方向上同时进行运动,本文假设水平和垂直方向上的最大速度分别为Vx和Vy。
多目标函数优化问题的一种表现形式就是货位优化问题,因此用权重系数法把多目标问题转化为单目标问题是解决货位优化问题的一种方法,本文仅考虑货物周转率和货物重量这两个关键要素在货位分配优化上产生的影响。
(1)立体仓库基本参数。立体仓库基本参数见文献
(2)目标函数。基于堆垛起重机运行时间最少的原则,堆垛起重机的运行时间和货物周转率相乘之值最小时,可以得到第一个优化目标条件:
式中,tij为堆垛起重机运行到第i列第j层货位时的运行时间;fij为第i列第j层货位对应的周转率。
基于上轻下重的原则,设地面底层为第1层,离I/O口最近的列为第1列,当每个货品的所在层与其质量的乘积之和最小时,得到第二个优化目标条件:
式中,Wij为第i列第j层货位对应的货物重量。
通过上述这些优化函数可以看出,在进行货位优化时,既要考虑货架是否稳定,也要考虑存取效率如何,这是把多个目标组合起来进行优化的问题。
在解决多目标函数问题转化成单目标函数问题时,可以运用权重系数法。假设a和b为两个函数的权重系数,然后分别对a和b进行赋值,令a+b=1,则所求的单目标函数公式为:
以5层10列的货架为例,计算堆垛起重机运行到第i列第j层货位时运行时间,公式为:
通过上述公式可以得出堆垛起重机从I/O站台到所有货位的单层运行时间tij(s)。
假定仓库内部存放10类物品,有关物品周转率以及重量数据参见表1。
表1 不同种类货物周转率和重量对应表
假定所有货位的使用率是80%,参考现实系统以往的数据可知,明确不同类型物品的预估最高存储量,把全部货物随意放置在库中,未放置物品的则是空货位。货位分配优化以前具体分布情况参见表2。当前,数字主要代表不同物品的编号,数字0代表货位没有放置产品。
仓储系统货位优化的主要思路是对货位交换的条件进行判断,首先任意选取货架上第i列第j层货物,假设已知其周转频率为fij,其对应的重量为Wij,利用该货物与第m列第n层货物进行比较,同样已知第m列第n层货物对应的周转频率为fmn,重量为Wij。计算两个货位对应货物的目标函数值的和P1:
然后再把货架上第i列第j层货物与第m列第n层货物进行交换,并通过求和计算P2值得到式(6):
把P1的值和P2的值进行比较,如果P1的值大于P2的值,则第i列第j层货品与第m列第n层货品进行交换,反之不进行交换。通过逐一比较,从而获得一个比较合理的货位分配方案。相应的穷举法流程如图1所示。
利用真实库存数据以及建立的优化数学模型,按照遗传算法操作步骤
(1)编码。使用遗传算法处理多目标优化问题的首要步骤是,针对参数完成编码,由于该方式无法解决参数,必须把上述参数全部变更成特殊的代码信息,相当于遗传学中的染色体。本文的约束标准表明i和j均为整数,故采用整数排列的编码方式。用(i,j)表示货品所在货位第i列第j层,一个货位代表染色体上的一个基因。
(2)适应度函数。在仓库出入库调度问题中,当任务量一定时,需要尽可能缩短整体仓储设备的运行时间,一般是使用目标函数中的适应度函数来完成目标,从而提高仓储运行效率。由于本文模型中的目标函数有多个,所以要把复杂函数变成简单函数。本文采用穷举法为多目标函数赋值来进行转换,即令a和b为两个目标函数的权重系数,且a+b=1。
在本文的优化模型中,目标函数的取值范围是(0,+∞),为了满足适应度函数输入结果为非负数,将原函数依次加1后再取倒数,这样可以满足遗传算法中适应度函数的特点,见式(7)。
图1 算法流程图
式中,f1=minQ,f2=minS。
(3)运算过程。运算过程主要包括选择、交叉和变异3个环节。
选择环节的主要基础是种群内不同个体的适应度评估,使用fitness代表个体k适应度,此时k的选择概率为:
Pk表示个体k在种群内,占据所有个体适应度的比值。由于某个体占比高,其被选择的可能性就更高。
交叉表示在生物遗传学领域进行基因重组,也是本系统最重要的操作。因编码表现模式不同,此算法各不相同。主要使用二进制交叉内的单点交叉完成求解任务,可能性为0.7。
变异是指为了找到最优解而改变群体内不同个体的基因值。变异率的选择与种群大小取决于染色体的长度,取值范围一般在0.001-0.1之间。本文将选取0.01为变异概率进行计算求解。
应用MATLAB对以上穷举法求解步骤编写程序,取a=0.5,b=0.5,并运行,记录总目标函数和两个子目标函数的每一次迭代变化情况,绘制函数值的收敛曲线如图2所示。
图2 总目标函数V值迭代曲线图
由图2中的收敛曲线就能了解到,总目标函数值随着迭代次数增多而降低,在降低到40到50区间时,具体数值并未出现明显的改变,可以看出迭代基本已经达到收敛。
优化前的总目标函数值为7 632,优化后的总目标函数值为5 464。
经优化后的仓库货物分布见表3。其中,数字代表不同货物的编号,数字0表示该货位为空。
从表中可以看出,同种货物被放置到了相近的储位,周转率或重量相似的货物也被放置到了相近的储位,距离I/O台较远的储位分配成空储位,明显提升了储位的储存效率,提升了储位的整体稳定性。
将原始数据代入MATLAB软件进行仿真计算,求解初始数据,为得到更接近最优解的数据,对其迭代50次,仿真结果如图3所示。
每次迭代都会产生不同的结果,影响货位的分布和拣选效率。根据数据和往常经验判断,当迭代次数达到一定时,所得结果可以当作是最优解。
优化前的总目标函数值为7 632,优化后的总目标函数值为7 068。
进行货位分配优化后,优化后的仓库货物分布见表4。
从优化结果可以看出,基于考虑货物重量和出库率的优化模型进行优化,较重的货物应该放置到货架的底部,较轻的货物尽量放置到货架的上部,货物周转率高的被分配到了离I/O台近的地方,周转率小的被分配到了离I/O台远的地方,从而保证货架的稳定性。
通过不同方法对相同目标函数进行计算,表明不同目标函数都可以得到全面的优化。在进行优化之后,周转率高的物品一般调节到离I/O台近的货位,重量大的货物则普遍存放于货架底层货位。经过对比,得出结果见表5。
综合比较可知,穷举法优化要好于遗传算法,但穷举法逻辑单一,通用性不强,后续研究可以通过改进遗传算法,使其优化数据更接近穷举法。
本文以立体仓储系统为研究对象,对目前较流行的两种货位优化方法进行了比较分析。基于Matlab语言分别进行了穷举法和遗传算法的货位优化算法仿真研究,给出了立体仓储系统考虑货物周转率、货物重量、取货机运行速度的货位优化模型最优解。本文在对货位进行优化时,只考虑了货物的重量和货物的周转率两个方面,没有考虑其他要素对货位优化的影响。今后可以结合实际情况,改变条件进行研究。
【本文标签】
【责任编辑】平文云仓