基于模拟退火对货仓拣货的优化
2020-11-26陈博文李雨尘李雪莲袁芏楷
陈博文 李雨尘 李雪莲 袁芏楷
(1.西华大学 理学院,四川 成都 610039;2.西华大学 电气与电子信息学院,四川 成都 610039)
1 问题重述
某电商公司客户订单下达仓库后,商品开始下架出库,出库主要包含5 个流程如下所示:
定位-->组单-->拣货-->复核-->打包
现有一个仓库,仓库数据见附件1,包括4 个表格,前3个表格为仓库信息,包括货架、货格、复核台的位置及大小,货格和货架的关系。第4 个表格为任务单信息,一个任务单包含多个订单,一个订单商品包含多个货格,一个货格需要拣多件商品。
根据仓库数据附件1 和附件2,仓库有13 个复核台,4排货架,其中每排25 组货架,每组2 个货架,共50 个货架,每个货架包含15 个货格。水平方向每组货架之间的距离为1500 毫米,竖直方向相邻两排货架纵向距离为2000 毫米,货格长宽都是800 毫米,复核台长宽都为1000 毫米。备注:货架和复核台为障碍物,不可通行,其余位置均可通行。不用考虑拣货车尺寸,货架和复核台高度。
说明:
(1)当绕障碍物折线行走时横向和竖向偏移都取d=750mm;
(2)复核台之间距离简化为两复核台坐标差的绝对值之和,如复核台,复核台,则两复核台的距离为;
(3)货格与复核台距离简化为货格中点到复核台最近一条边中点的距离;
根据已知条件和要求,请完成以下问题:
问题1:当拣货员在仓库中拣货时,需要在货格之间、货格与复核台之间、复核台与复核台之间行走。由于这些行走通常要绕过障碍物,不能直接采用坐标计算欧几里得距离。请你按照图中距离标示,设计一种计算3000 个货格和13 个复核台,总共3013 个元素之间距离的方法,并将3013个元素之间的最短距离矩阵填入表单 Ques1。
问题2:假设所有复核台正常工作,任务单 T0001 等待拣货,拣货员P 在复核台 FH10 领取了任务单 T0001。请给P 规划理想的拣货路线,包括货格访问顺序、返回的复核台,计算完成出库花费的时间(拣货员拣货开始到所有任务复核打包完成花费的时间)。
问题3:假设2 个复核台 (FH03,FH11) 正常工作,5 个任务单(T0002-T0006)等待拣货,继续由拣货员P 负责拣货,P初始位置为 FH03。通过建模和优化,请给P 指定任务领取顺序,规划理想的拣货路线,使得这些任务尽快出库。请计算完成出库需要花费的时间和每个复核台利用率。
问题4:假如4 个复核台(FH01,FH03,FH10,FH12)正常工作,49 个任务单(T0001-T0049)等待拣货,9 个拣货员(P1-P9 负责拣货,请给每个拣货员分配任务单、起始拣货复核台,并分别规划理想的拣货路线,使得49 个任务单尽快完成出库,并计算完成出库需要花费的时间和每个复核台利用率。
问题5:在问题4 中,有4 个复核台(FH01,FH03,FH10,FH12)正常工作,请评估增加一个正常工作的复核台对出库时间的影响。
问题6:商品在货架中的摆放位置,会影响拣货效率。若将畅销品放置在离复核台较近的位置,拣货员行走距离相应减少,但畅销品所在货架可能拥挤,反而降低拣货效率。对于仓内商品摆放问题,你有什么建议?
注:在问题 3,4,5 中,当一个人有多个任务时,只能一个一个任务完成,不能在完成一个任务过程中拣另一个任务的货。
2 模型假设
为了本题的的研究需要,做以下假设:
(1)不存在缺货与紧急插入新订单的情况;
(2)拣货人员或车辆移动速度保持不变;
(3)每个订单的订货重量不超过拣货车的容量;
(4)拣选单上物品的存储货位是已知的;
(5)拣选人员或拣选设备数量充足;
(6)领拣货车和任务单与复核台对订单复核可以同时进行;
3 符号说明
4 问题一的分析和解答
4.1 问题的分析
由于当拣货员在仓库中拣货时,需要在货格之间、货格与复核台之间、复核台与复核台之间行走。由于这些行走通常要绕过障碍物,所以不能直接采用坐标计算欧几里得距离。仓库一共四排,每排25 组货架,每组2 个货架,共50个货架,每个货架包含15 个货格,由于货架数量过多,为了方便计算,故考虑将一组货架看成两个货架,每排的货架从左到右开始排序,将每排的货架分为奇数列和偶数列,分析在货格之间、货格与复核台之间、复核台与复核台之间的距离关系,由距离关系和曼哈顿距离得到相应的距离表达式,然后用MATLAB 计算表达式,从而得到3000 个货格和13 个复核台,总共3013 个元素之间的距离。
4.2 模型的建立与求解
4.2.1 曼哈顿距离简介
曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。[1]
(1)二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离:
(2)两个n 维向量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的曼哈顿距离
由于本题都是在二维平面进行讨论,故只参考曼哈顿距离(1)的关系式。
4.2.2 货格与货格之间的距离
(1)如果货格不在同一排货架,分以下2 种情况讨论货格与货格之间的距离D:
当货格所在列同为偶数或奇数时:
当货格所在列为一奇一偶或者一偶一奇时:
(2)如果货格在同一排货架,对x,y 的值分以下4 种情况讨论货格与货格之间的距离D:
将上述中的表达式,用MATLAB 编程,得出货格与货格之间的距离矩阵。(相关数据在Ques1 的表单中)
4.2.3 货格与复刻台之间的距离
(1)如果不在同一排货架时,分以下几种情况讨论:
当货架所在列为奇数时:
当货架所在列为偶数时:
(2)如果在同一排货架时,对x,y 的值分以下4 种情况讨论:
将上述中的表达式求解,得出货格与复刻台之间的距离矩阵。(相关数据在Ques1 的表单中)4.2.4 复刻台与复刻台之间的距离
复核台之间距离简化为两复核台坐标差的绝对值之和:
将上述中的表达式求解,得出复刻台与复刻台之间的距离矩阵。(相关数据在Ques1 的表单中)
5 问题二的分析与解答
5.1 问题的分析
在问题2 中规划拣货员 P 在复核台FH10 领取了任务单 T0001 理想的拣货路线,拣货员p 在仓库内的移动,可以将其移动看做TSP 问题,但由于障碍物的作用和终点与起点不在同一处,故不能用一般的TSP 计算。由问题1 计算出的最短距离矩阵为基础,将拣货员p 的路线拆分为复核台FH10 →任务单T0001 所有货格为最优路径1 和最优路径1的最后一个货格→复刻台为最优路径2。我们为了保证结果的精确度,没有采用基于2-OPT 的普通模拟退火算法,而是对模拟退火算法进行改进,这种改进的模拟退火算法的改进之处在于引入多种算子 (如:移位,交换,倒置等等)来产生新解空间,并且以一定的概率来决定运用哪种算子来产生新的解空间。用改进后的模拟退火算法分别计算出路径1 和路径2 的最优路径,再将两条最优路径合并得到拣货员p 的最佳路径,然后在最佳路径的基础上计算出库花费的时间。
5.2 旅行商问题的背景
旅行商问题(TravelingSalesmanProblem,TSP)是一个经典的组合优化问题。经典的TSP 可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton 回路。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,它是一个NP 完全问题。由于其在交通运输、电路板线路设计以及物流配送等领域内有着广泛的应用,国内外学者对其进行了大量的研究。早期的研究者使用精确算法求解该问题,常用的方法包括:分枝定界法、线性规划法、动态规划法等。但是,随着问题规模的增大,精确算法将变得无能为力,因此,在后来的研究中,国内外学者重点使用近似算法或启发式算法,主要有遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、贪婪算法和神经网络等。[2]
5.3 模型的建立与求解
对于模拟退火算法,它是一种通用概率算法,用来在一定时间内寻求在一个大的搜寻空间内找到的最优解.
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis 准则,粒子在温度T 时趋于平衡的概率为,其中E 为温度T 时的内能,ΔE 为其改变量,k 为Boltzmann 常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T 演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i 和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t 值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程,退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值T0及其衰减因子、每个T 值时的迭代次数L 和停止条件S。[3]算法的步骤如下:
(1)给定一个初始温度0T,并随机生成一个初始路径x0,并计算相应目标函数值f(x0);
(2)令当前温度T 等于冷却进度表中的下一个值iT;(第一次迭代时T0T);
(3)在当前路径ix的附近随机产生一个新路径ix,计算新解的目标函数值f(xj)(随机产生产华部格方法有的换法、移位法、例法);
(4)如果f(xj)f(xi),则接受新路径xj;如果则计算;ff(xj)f(xi),并计算,然后随机生成一个在区间[0,1]上服从均匀分布的随机数r,如果r
(5)在温度T 下、将步骤(3)和(4)重复iL次;
(6)判断是否满足退出条件,如果满足则输出当前解作为最优解,结束程序。(终止条件通常取为连续若干个新解都设有被接受时终止算法);
(7)iT逐渐减少,且0iT,然后转第二步。控制参数的确定:
在使用普通的模拟退火算法解决 TSP 时,一般采用 2-opt 算法来产生新的解空间,导致算法效率低下,为了增进模拟退火算法解决 TSP 问题的效率。故引入多种算子(如:移位,交换,倒置等等)来产生新解空间。改进后的模拟退火算法效率明显提高,在收敛性和运算结果上都有较大的进步,这种改进的模拟退火算法的改进之处在于引入多种算子(如:移位,交换,倒置等等)来产生新解空间,产生新解的方法如下。并且以一定的概率来决定运用哪种算子来产生新的解空间,改进后的算法在运算效率,收敛性和运算时间上都优于2-OPT的模拟退火算法,从而求得问题的最优解。在改进的算法中,以 50%的概率选择位移,25%的概率选择置换和25%的概率选择倒置来产生新解空间可以使算法的效果比较好。[4]
新解产生的三种方法:
(1)交换法:随机选择两个点,交换这两个点的位置。
(2)移位法:随机选择三个点,将前三个点之间的点移位到第三个点后。
(3)倒置法:随机选择两个点,将这两个点之间的顺序完全颠倒。
我们以问题一的距离矩阵为基础,用模拟退火算法建模和MATLAB 编程求得最优路径和最优路径的距离(具体程序见附录2),拣货员 P 在复核台FH10 领取了任务单 T0001理想的拣货路线如表5-3 所示:
表5-3 最优拣货路线
由MATLAB 计算的最优路径的最短距离为238460mm,由题目可得到拣货员p 的行走速度为 1.5m/s,在商品下架过中程,对任意一个货格,若下架商品数量小于 3 件,每件完成下架花费5 秒,否则每件花费4 秒,当复核台正常工作时,才可以进行复核打包操作,每个订单复核和打包花费30 秒,从上述信息可计算任务单T0001 出库花费的时间:
拣货员p 在行走过程中需要下架货物,在任务单T0001中任意货格中需要下架三件及三件以上的货格共六个,其中六个货格所包含的商品数量共18 件,三件以下的货格共17 个,其中17 个货格所包含的商品数量有21 件,故可算出拣货员p 下架任务单T0001 所有商品所需时间
复核台每个订单复核和打包花费30 秒,任务单T0001总共包含10 个订单,复核台所需时间:
综上所述,任务单T0001 出库花费的时间为t:
6 问题三的分析与求解
6.1 问题三的分析
问题三在问题二的基础上,增加到五个任务单(T0002-T0006),并限制复核台正常工作的数量为两台(分别为FH03,FH11),由拣货员 P 负责拣货,P 初始位置为 FH03.该问题与问题2 相似,也是终点和起点不在同一点,有障碍物的TSP 问题,故也可采用问题二中改进后的模拟退火方法来进行问题三的运算。
首先,因为问题三需要找到拣货员p 完成五个订单的最优路径,根据附件中所对应的资料,我们考虑整体直接求出任务单T0002-T0006 的理想路径比较困难,所以我们将这五个订单的整体最优路径拆分为完成每个订单的理想路径,记为理想路径1-5,计算完毕后再合并从而得到任务单T0002-T0006 的整体最优路径。我们先用改进后的模拟退火模型作为建模方法,然后用MATLAB 编程分别计算这五个任务单内货格与货格之间的最优路径,经过计算可得到五条最优路径,然后从这五条最优路径中分别找出路径两端的端点(货格),这五条最优路径可找出十个端点,从题目中P 初始位置为 FH03,基于问题一的最短路径矩阵,将FH03到十个端点的距离做比较,与FH03 距离最小的点所对应的订单为拣货员p 处理的第一个订单,复核台首先进入该端点所对应的货格,该订单的另一个端点作为最后经过的货格,然后找第一个订单最后经过的货格与复核台FH03,FH11 的最短距离,最小距离所对应的复刻台为理想路径1 的终点。此时第一个订单拣货完成,到达复核台后拣货员无需等待,继续领取拣货车和任务单,开始下一个任务单拣货流程,理想路径1 所到达的最终复核台作为理想路径2 的起点,将该起点与剩余的八个端点的距离作比较,距离最小的端点所对应的订单为拣货员p 处理的第二个订单,复核台首先进入该端点所对应的货格,该订单的另一个端点作为最后经过的货格,然后找第二个订单最后经过的货格与复核台FH03,FH11的最短距离,最短距离最小所对应的复刻台为理想路径2 的终点,此时第二个订单拣货完成。然后不断重复上述过程,下个理想路径的起始复核台与任务端的两端端点比较,端点数量将会变为6、4、2,在这个过程中,可找到理想路径3、4、5,最后根据上述的数据,将理想路径1-5 进行合并,可得到拣货员p 完成任务单T0002-T0006 的完整理想路径。
根据拣货员p 完成任务单T0002-T0006 的完整理想路径先计算距离,然后分类计算完成出库需要花费的时间,最后根据时间计算每个复核台利用率。
6.2 问题三的建模与求解
问题三用的模型是问题二改进后的模拟退火模型,该模型在问题二中已经详细介绍过了,在这里就不继续介绍。根据6.1 中做出的分析,先用改进后的模拟退火模型作为建模方法用MATLAB 编程分别计算T0001-T0006 任务单内货格与货格之间的最优路径,经过计算可得到五条最优路径,然后继续以改进后的模拟退火模型作为建模方法用MATLAB编程得到每个订单的理想路径1-5,计算完毕后再将其合并从而得到任务单T0002-T0006 的整体最优路径:FH03 →T 0005→FH03→T0004→FH11→T0003→FH11→T0006→FH03→T0002→FH11。(详细路径在Ques3)
根据拣货员p 完成任务单T0002-T0006 的完整理想路径先计算复核台到任务单的第一个订单距离和任务单的最后一个订单到复核台的距离和任务单内的距离。(详细距离见表6-1)
表6-1
由题目可得到拣货员p 的行走速度为 1.5m/s,在商品下架过中程,对任意一个货格,若下架商品数量小于 3 件,每件完成下架花费5 秒,否则每件花费4 秒,当复核台正常工作时,才可以进行复核打包操作,每个订单复核和打包花费30 秒,从上述信息可计算任务单T0002-T0006 出库花费的时间:
拣货员p 完成任务单T0002-T0006 的完整理想路径行走距离:8400+227990+10900+18700+283390+55200+40400+295250+45000+57200+215490+5900+70700+263960+71400=1669880(mm)=1669.88(m)
拣货员p 在行走过程中需要下架货物,在任务单T0002-T0006 中任意货格中需要下架三件及三件以上的货格共26 个,其中26 个货格所包含的商品数量共78 件,三件以下的货格共93 个,其中93 个货格所包含的商品数量有112 件,故可算出拣货员p 下架任务单T0001 所有商品所需时间
复核台每个订单复核和打包花费30 秒,任务单T0002-T006 总共包含65 个订单,复核台所需时间
综上所述,任务单T0001 出库花费的时间为t:
若一个复核台完成该复核台所有任务单的复核和打包,没有新任务前,该复核台将处于空闲状态。从 0 时刻到 TOTAL_TIME 时刻,若一个复核台总空闲时间为 IDLE_TIME,则该复核台利用率=1-IDLE_TIME/TOTAL_TIME。
由以上信息可推出IDLE_TIME=TOTAL_TIME-work_TIME,TOTAL_TIME=3935.25s;
对于FH03:work_TIME=840s;对于FH04:work_TIME=1110s;
对于FH03:IDLE_TIME=3935.25-840=3095.25s;
对于FH11:IDLE_TIME=3935.25-1110=2825.25s;
复核器利用率:FH03:1-IDLE_TIME/TOTAL_TIME=1-3095.25/3935.25 ≈21.35%;
FH11:1-IDLE_TIME/TOTAL_TIME=1-2825.25/3935.25 ≈28.21%;
7 问题四的分析与求解
7.1 问题的分析
问题四在问题三的基础上,进一步扩展,任务单、人数、复核台的数量都增加了,使问题更加复杂,需要考虑到给9 个拣货员(P1-P9)分配订单的问题.在题中4 个复核台(FH01,FH03,FH10,FH12)正常工作,49 个任务单(T0001-T0049)等待拣货,9 个拣货员(P1-P9)负责拣货,还是继续采用问题二中改进后的模拟退火方法,以问题三的计算思路作为基本思路来进行问题四的运算。
首先,因为问题四需要找到完成任务单T0001-T0049 的整体理想路径,根据附件中所对应的资料,我们考虑整体直接求出任务单T0001-T0049 的理想路径比较困难,所以我们将这49 个订单的整体最优路径拆分为完成每个订单的理想路径(记为理想路径1-49),计算完毕后再合并从而得到任务单T0001-T0049 的整体最优路径。我们先用改进后的模拟退火模型作为建模方法,然后用MATLAB 编程分别计算这49 个任务单内货格与货格之间的最优路径,经过计算可得到49 条最优路径,然后从这49 条最优路径中分别找出路径两端的端点(货格),这49 条最优路径可找出98 个端点。由于本题的初始出发位置未知,基于问题一的最短路径矩阵,将4 个复核台到98 个端点的距离做比较,找出距离最小所对应的订单和复核台为拣货员处理的第一个订单和理想路径起点,复核台首先进入该端点所对应的货格,该订单的另一个端点作为最后经过的货格,然后找第一个任务单订单最后经过的货格与4 个复核台的最短距离,距离最小所对应的复刻台为理想路径1的终点。此时第一个订单拣货完成,到达复核台后拣货员无需等待,继续领取拣货车和任务单,开始下一个任务单拣货流程,理想路径1 所到达的最终复核台作为理想路径2 的起点,将该起点与剩余的96 个端点的距离作比较,距离最小的端点所对应的订单为拣货员处理的第二个订单,复核台首先进入该端点所对应的货格,该订单的另一个端点作为最后经过的货格,然后找第二个任务单最后经过的货格与4 个复核台的最短距离,最短距离最小所对应的复刻台为理想路径2的终点,此时第二个订单拣货完成。然后不断重复上述过程,下个理想路径的起始复核台与任务端的两端端点比较,端点数量将会变为96、94、92…,直到端点数量变为0,在这个过程中,可找到理想路径3-49,最后根据上述的数据,将理想路径1-49 进行合并,可得到完成任务单T0001-T0049 的完整理想路径。最后用MATLAB 编程求得任务单T0001-T0049 的完整理想路径,先计算完整理想路径的距离然后计算完成所有任务单出库需要花费的时间,最后根据时间计算每个复核台利用率。
表8-1
在对任务单进行合理分配问题上,将按照任务单T0001-T0049 的完整理想路径进行分配,完整理想路径的第一个任务单是完成拣货时间最短的,将第一个任务单分配给拣货员1,按照理想路径顺序依次给拣货员P2-P9 分配任务单,因为拣货员P1 的拣货时间比另外8 个拣货员的时间都短,故拣货员P1 最快完成所分配任务单的拣货,然后按照理想路径顺序再次给拣货员P1 分配任务单,拣货员P2 的拣货时间比另外6 个拣货员(不包含拣货员P1)的时间都短,故拣货员2 第二快完成所分配任务单的拣货,然后按照整体理想路径顺序再次给拣货员P2 分配任务单,按照上面的规律,分配剩余的任务单,直至49 个任务单全部被完成。
7.2 问题四的建模与求解
问题四用的模型是问题二改进后的模拟退火模型,其思路在问题三的思路上再做进一步改进。根据7.1 中做出的分析,先用改进后的模拟退火模型作为建模方法用MATLAB编程分别计算T0001-T00049 任务单内货格与货格之间的最优路径,经过计算可得到49 条最优路径,然后继续以改进后的模拟退火模型作为建模方法用MATLAB 编程得到每个订单的理想路径1-5,计算完毕后再将其合并从而得到任务单T0001-T0049 的整体理想路径,再按照任务单T0001-T0049 的完整理想路径进行分配拣货员。(整体理想路径在表单Ques3)
每个拣货员规划理想的拣货路线如表7-1 所示:
从题目中可得到拣货员的行走速度为 1.5m/s,在商品下架过中程,对任意一个货格,若下架商品数量小于3 件,每件完成下架花费5 秒,否则每件花费4 秒,当复核台正常工作时,才可以进行复核打包操作,每个订单复核和打包花费30 秒,从上述信息可计算任务单T0001-T0049 出库花费的时间。
拣货员(P1-P9)完成任务单T0001-T0049 的完整理想路径行走距离:3657m;任务单T0001-T0049 出库花费的时间为t=29169s。
若一个复核台完成该复核台所有任务单的复核和打包,没有新任务前,该复核台将处于空闲状态。从 0 时刻到 TOTAL_TIME 时刻,若一个复核台总空闲时间为 IDLE_TIME,则该复核台利用率=1-IDLE_TIME/TOTAL_TIME。
TOTAL_TIME=29169s ;
复核器利用率:FH01:1-IDLE_TIME/TOTAL_TIME=10.59%;
FH03:1-IDLE_TIME/TOTAL_TIME=14.25%;
FH10:1-IDLE_TIME/TOTAL_TIME=26.55%;
FH12:1-IDLE_TIME/TOTAL_TIME=16.25%;
8 问题五的分析与解答
8.1 问题的分析
问题5 是在问题4 的基础上进一步拓展,现有4 个复核台(FH01,FH03,FH10,FH12)正常工作,评估增加一个正常工作的复核台对出库时间的影响。在题中有9 个复核台未工作,所以再增加一个正常工作的复核台有9 种可能,故我们要分别对这9 个复核台分析,用MATLAB 编程,分别计算出这增加9 个复核台其中的一个对出库时间的影响。
8.2 模型的建立与求解
通过MATLAB 编程,求得增加9 个复核台其中的一个对出库时间的影响,结果如表8-1:
在没有增加复核台时,仓库花费的时间为26169s。无论增加哪个复核台,都能够减少花费时间,有效增加仓库完成拣货的效率,其中增加复核台FH04 仓库完成拣货花费的时间最短。
9 问题六的建议
随着信息技术及移动互联网的迅速发展,人们对于网上购物需求越来越大,不管是在网上购物还是在实体店购物,仓库都起着至关重要的作用,可以用来存储商品,也是物流系统中的重要节点。每位顾客在购买商品时,都希望能尽快拿到货,拿到货的时间越短,顾客的满意度越高,商品能否尽快从仓库出货是顾客能否在短时间内拿到货的重要因素,在一定时间内,某种商品数量出库最多可称为畅销品。商品在货架中的摆放位置,会影响商品出库的效率,若将畅销品放置在离复核台较近的位置,拣货员行走距离相应减少,但畅销品所在货架能拥挤,反而降低拣货效率。减少拣货员在拣货过程中的耗时对提高仓库运作效率有着至关重要的影响。
在问题三、四中对复核台利用率计算时,发现这些复核台的利用率都小于30%,复核台的利用率较小,可能是由于商品在仓库中的摆放位置比较随意导致仓库运作效率较低,为了提高仓库运用效率,我们提出如下建议:
将商品按照销售数量分等级,可分为一等品,二等品,三等品…(一等品出库数量最高,二等品出库数量比一等品少),然后根据仓库内的货架离复核台的距离分成几个区域,离复核台距离越近的区域放一等品,离复核台距离较近的区域放二等品,直至所有等级的商品被放完。每个等级存在很多种类的商品,商品的摆放可以考虑商品之间的相关性,其相关性越强,商品之间的摆放距离就越近,同种种类的畅销品,可以分散开放置在该畅销品所对应区域的多个货架中,由此可以解决畅销品所在货架拥挤的问题。
10 模型的评价、改进与推广
10.1 模型的评价
10.1.1 模型优点
(1)本文的特色体现在引入多种算子改进后的模拟退火算法,相比于传统的采用2-opt 算法的模拟退火效率明显提高,在收敛性和运算结果上都有较大的进步,增加了解题的精确度,将改进后的模拟退火算法与TSP 理论相结合给出问题的最优解。
(2)模拟退火算法不仅能处理连续优化问题,还能很方便的处理组合优化问题,且编程简单易于实现,目标函数的收敛速度较快。在本题相关条件的约束下,通过此模型可以较容易求得问题的最优解。
(3)通过该模型求解的最佳路径,可以有效提高仓库的拣选效率,缩短拣选时间和减少工人在仓库的行走距离。
10.1.2 模型缺点
(1)模拟退火算法参数的选择至关重要,初始参数的合理选取是保证算法的全局收敛性和效率的关键,选择不当得到的结果可能会很差。
(2)在本题的解答过程中,因为对题的分类情况较多,所以可能有部分因素没考虑进来,从而影响结果的正确性。
10.2 模型算法的改进及推广
(1)可以引入粒子算法等优化算法对改进后的模拟退火模型再次优化,增加模型的精确度。
(2)对问题进行细分,将各种可能影响问题的因素,带入题中分析,以此来保证结果的正确性。
(3)在仓库管理的问题中,可以考虑将订单用总合计量,时窗,固定量订单分批等方法,可以进一步有效提高仓库的拣选效率和扩大使用范围。
该模型可以推广于中小型仓库,可以有效提高仓库的拣选效率,缩短拣选时间和减少工人在仓库的行走距离。