自动化仓库为当前物流、仓储和自动化技术集成的产物, 不仅存储货品多、占地面积小, 而且节省人力物力, 成为当前企业物力的关键组成[1,2]。自动化仓库的效率主要取决于货位分配, 因此, 需研究一种有效的货位实时分配技术[3]。
文献[4]提出一基于COI (cube-per-order index) 策略的方法对仓库货位进行分配, 但不适合解决多货架情形。文献[5]提出了基于粒子群算法相结合的决策模型, 但模型中货架稳定性目标数量略显不足, 且优化模型过于简单。文献[6]提出了改进粒子群算法以解决AR/RS货位分配问题, 但是该方法忽略了货位载重问题, 导致货架不稳定。针对上述问题, 提出一种货位载重约束下自动化仓库货位实时分配方法, 通过对货位分配问题进行分析, 依据出库时间目标构建货架稳定性模型等方法实现仓库货位的最优分配。
针对有货位载重约束的货位实时分配问题, 需把重量超过货位载重的货物拆分为符合载重约束的若干货品堆。
假设m种货品被拆分后获取m'个货品, 需对上述m'个货物系进行货位分配, 如图1所示。
自动化仓库共qr (偶数) 排货架, 所有货架的规格都是gs层gb列, 离出口最近的列被视作第1列, 货架底层被视作第1层。所有货位载重都是G。需确定一种有效的货位实时分配策略, 在符合约束条件的情况下, 令货品出库效率和货架稳定性达到最高。
主要考虑以下几个约束条件。
(1) 假设堆垛机容量用U进行描述, 则一次作业周期内堆垛机可承载货物质量需符合以下约束条件:
式 (1) 中, v用于描述货品类别的下标;a用于描述各类中货品的下标;Nv用于描述第v类货品的总数;wva用于描述第v类第a个货品的质量。
(2) 在多任务作业周期内, 需遵循先存后取的原则[7]。在任意两点 (x1, y1) 和 (x2, y2) 执行存储任务时, 存储需符合由近及远原则:
(3) 对货品进行存储时, 需确保货位为空, 即:
当对货品进行提取时, 需确保此货位存放的是待出库的货品, 即:
式 (4) 中, E (x, y) 表示货位 (x, y) 的货品;A表示此自动化仓库内的货品集。
选择两个目标, 即出库时间目标和货架稳定性目标。
式 (1) 描述的是出库时间目标函数, 在考虑货品出库频率的状态下, 令货品出库时间达到最小:
式 (5) 中, tout为货品出库时间;bi为货品系i重心所在货位的层数;si为货品系i重心所在货位的列数;s为堆垛机水平方向移动速度;b为堆垛机纵向方向移动速度;L为货位长度;Fout为出库频率。
货架稳定性模型为
式 (6) 中, ω1、ω2、ω3为加权系数, 且ω1+ω2+ω3=1;ε1、ε2为调节系数;Qf为货架重心稳定性目标;Qd为货架纵深稳定性目标;Qb为货架抗倾覆性目标;由于Qd求的是最大值, 因此对其求倒数。可采用调节ε1、ε2的方法使Qf、Qd、Qb保持在同一数量级。
通过遗传方法对目标函数进行求解, 求解过程包括染色体编码、染色体解码、适应度函数和种群选择、交叉和遗传, 下面进行详细分析。
选用货位编号的编码方式, 依据货品种类将其划分成多个片段[8]。设计的种类和任务类型的辅助字符串用图2进行描述, 其中, 0代表出库, 1代表入库。
染色体解码主要是为了把货位编号变成可用于适应度值求解的坐标[9]。在形成染色体前, 对和所有货品货位编号集合相应的货位坐标集合进行保存。形成染色体后, 按照相应货位坐标, 获取行列坐标, 完成染色体的解码[10]。
将目标函数的倒数作为适应度值, 依据约束条件实现种群选择。
为防止出现不可行解, 通过依据固定交配位的双亲双子方法实现交叉[11,12], 如图3所示。随机选择1~K个基因, 其中K代表染色体编码基因片段数, 将两个父代第n个基因片段交换, 获取两个子代。任意选择染色体片段中某货位, 通过和该片段相应的可用货位对其进行替代, 实现变异, 提高种群多样性[13,14]。
(1) 随机形成初始种群, 同时获取最大允许进化代数Rmax, 确定自动化仓库中目前库存信息和初始种群规模λ0。
(2) 建立适应度函数, 同时求出所有点的适应度, 获取任务类型[17]。
(3) 通过非劣点的定义对种群进行分级, 获取种群数目δ、最大遗传代数Rmax、编码长度lc、交叉概率pcro、变异概率pmut等参数。
(4) 完成编码操作, 并随机生成初始种群。
(5) 对种群进行分组, 依次求解目标函数。
(7) 按照适应度值从种群中选择部分优良个体, 同时对分组的种群进行合并。
(8) 完成种群的重组, 实现交叉和变异, 形成新的种群。
(9) 为了防止最优解的遗失, 通过Pareto解集过滤器完成对所有解的过滤处理, 将支配解删除, 保证子代都是非支配解[20]。
(10) 在遗传代数达到最大遗传代数Rmax, 或Pareto解集过滤器中的个体连续若干代未更新, 则停止迭代, 同时输出最优解集, 获取自动化仓库货位实时分配策略。
为便于分析, 实验以某自动化仓库中的一部分为例, 如图4所示, 该部分共有4排货架和2台堆垛机, 共1 200个货位, 设定每天最高入库量是760盘, 每天最高出库量是540盘, 最大货位载重为150 kg。通过安装两个记录器对自动化仓库各实体状态进行统计。巷道堆垛机从入库缓冲区取货, 将待输送货物置于出库缓冲区。
分别将本文方法、蚁群方法、模拟退火方法应用于上述自动化仓库, 对货架1货位进行实时分配, 三种方法分配结果如图5所示。
图5中, #、*、+、□、×依次代表五种不同货物的入库货位, ·代表已经存放货物的货位。图5可直观地体现三种方法的货位分配状态。分析图5可以看出, 与蚁群方法、模拟退火方法相比, 本文方法分配货物更加有规律, 货架中心偏低, 存货位置较为集中, 同时优先在出入库台存放, 缩短存取时间, 大大增强了出入库效率。
针对其他三个货架, 按照上述过程进行同样的分析, 对蚁群方法、模拟退火方法分配下, 四个货架的当前库存量、入库量、出库量、最大库存量、最大载重量、平均库存量和平均停留时间进行统计, 结果分别如表1和表2所示。
分析表1可知, 蚁群方法四排货架入库总量是854 p, 出库总量是589 p, 高于既定入库和出库量。模拟退火方法四排货架总入库量是862 p, 出库总量是577, 也高于既定入库和出库量;不仅如此, 这两种方法均存在最大载重高于既定载重的情况, 说明这两种方法分配效果不佳, 稳定性差。
将研究区域入库缓冲区和出库缓冲区从上到下依次编号为5~8, 蚁群方法和模拟退火方法入/出库缓冲区输出数据统计结果如表2所示。
分析表2可知, 针对蚁群方法货位分配结果, 其入库缓冲区5流量为货架1和2的入库量之和, 出库缓冲区6流量是货架1与2的出库总量之和;入库缓冲区7流量为货架3和4的入库量之和, 出库缓冲区8流量是货架3与4的出库总量之和。分析模拟退火方法可得到相同的结论。模拟退火方法入库缓冲区阻塞时间百分比很高, 而蚁群方法较低, 所以主要对模拟退火方法下入库缓冲区5与入库缓冲区7的数量曲线图进行绘制, 分析阻塞原因, 如图6所示, 5代表额定量, 下方数据代表时间。
分析图6可知, 入库缓冲区7峰值数量高于入库缓冲区5, 且主要集中在某一时间段, 说明阻塞主要是因为货位中货品最低停留时间长, 导致集中出货。除此之外, 由表1可知, 货架2和货架4的入库与出库量依次是430 p和292 p, 货架1和货架3的入库与出库量依次是432 p和285 p, 前者都高于后者, 货架3和货架4货物出库比例一旦升高, 则会导致货品在入库缓冲输送机7的滞留时间升高, 造成阻塞。
针对蚁群方法和模拟退火方法的弊端, 采用本文方法对自动化仓库货位进行实时分配, 各货架输出数据用表3进行描述。
对比表1和表3可知, 本文方法分配下, 四排货架最大库存高于蚁群方法和模拟退火方法, 平均停留时间更长, 更符合实际情况。且因为本文方法分配下入库总量是746 p, 出库总量是522 p, 最大载重为131 kg, 均在既定范围内, 达到预期要求, 分配稳定性高。
本文方法分配下入/出库缓冲区输出数据如表4所示。
对比表4和表2可知, 本文方法分配下入库缓冲区阻塞时间明显降低, 平均等待时间降低。下面通过进一步分析确定缓冲区周转量, 图7描述的是本文方法下入库缓冲区数据图。
分析图7可知, 本文方法分配下, 两个缓冲区的货品最大值均未达到额定量5, 也就是当前仓库吞吐率还有上升空间, 说明本文方法分配效果佳。
提出了一种新的自动化仓库货位实时分配方法。对货位分配问题进行描述, 建立目标函数并求解。经实验验证, 所提方法稳定性和出入库效率高、缓冲区阻塞时间短。
标签: