Page 153 - 《软件学报》2020年第9期
P. 153

2774                                 Journal of Software  软件学报 Vol.31, No.9,  September 2020

                                            d
                                        f mn .  =  ( + f i  + f  I  − j  + f  J −i  j ) + f  f c  (4)
                                            v
             f other 主要包括两个部分:一个是物品间相关度计算,用于物品的分类;另外一个就是货架优化算法的时间消
         耗,此处 i+1<G,见公式(5):
                                                 G  G
                                               =
                                           f other ∑∑  f  , i g g  +  f s                     (5)
                                                 i=  1 j i =  +  1  j
             下面我们将从货品相似度算法、多 AGV 路径规划算法、货位规划和 AGV 路径规划协同优化算法这 3 部
         分详细描述本文提出的货位规划与 AGV 路径规划协同优化算法的实现思路.货品相似度算法和多 AGV 路径
         规划算法将为最终的货位路径协同优化算法提供支持.
         2.2   货品相似度算法
             本文对实际正在运维的仓储货物数据进行处理,清洗去除操作时间、货品名称等无关数据,抽取货品编号
         (即货品的唯一标示)、批次(同一批次货品可理解为在同一时间内执行出入库)等数据进行数据分析,以 0 和 1
         标识是该编号货品否在该批次出货,每个货品都是一个由批次数各维度组成的向量.通过余弦相似度算法计算
         该向量间的相似度,获得货品相似度.具体来说,基于余弦相似度的货品相似度计算方法具体流程如图 1 所示.

                                                  计算货品           计算两两货品
                                   开始           出货次数向量            间的相似度

                                  抽象仓储           统计各货品            根据货架
                                  数据信息            出货批次            容量分组

                                                  将货品和
                                 统计关键值                              结束
                                                批次列成矩阵

                            Fig.1    Flowchart of proposed product similarity solving algorithm
                                         图 1   货品相似度算法流程图

             首先,根据仓储数据信息计算最大出货批次数.将货品的出货信息记录下来,形成向量表.例如,1 号货物的向
         量值为[0,1,1,0,1],分别代表在 2 批次、3 批次、5 批次出货,其他货品以此类推.在此基础上累加货品出库总次数,
         计算出库频率.基于余弦公式(公式(6))计算两两货物间的余弦值:
                                                    ∑ n  x  * y
                                        cos( , ) =    i= 1 i  i                               (6)
                                           xy
                                                  ∑  i=  n  1 i 2  * ∑  n i=  1 y i 2
                                                     x
             由于货品和它本身和的余弦值为 1,代表两货物最为相似.因此,我们将货物余弦值减去 1 再求其绝对值,和
         1 的差值越小,证明相似度越高.以这个新的值代表两货物间的相似度,最终会获得一个货品和货品相似的上三
         角矩阵.根据这个矩阵的值,即可计算出一个货品组.
         2.3   路径规划算法

             基于对遗传算法的改进,本文设计的基于遗传算法的多 AGV 路径规划算法,将路径长度、转弯数加入适应
         度函数,即转弯次数越少,路径总长越短,该个体越优秀.同时,采用改进的静态地图法来解决多 AGV 路径冲突问
         题.路径的规划是货位路径协同优化的基础,是本文的重要内容之一,主要使用遗传算法执行规划路径的操作,
         其伪代码如下所示.
             输入:地图信息、起点、终点;
             输出:规划完成的路径点集合.
             1.   funcation GA_path(Map,start,end)
             2.    P k ←init(⋅)                        /*初始化种群*/
             3.    k←0                                 /*初始化遗传代数*/
   148   149   150   151   152   153   154   155   156   157   158