物品出库调度方法、装置以及存储介质

文档序号:8773 发布日期:2021-09-17 浏览:25次 英文

物品出库调度方法、装置以及存储介质

技术领域

本发明涉及电子商务

技术领域

,尤其涉及一种物品出库调度方法、装置以及存储介质。

背景技术

随着物流的不断发展和客户对时效性的要求越来越高,很多商家都选择自建物流或使用第三方物流仓库服务。由于SKU规模的不断增大、仓库面积和成本效率等原因,每种SKU一般存放在多个仓库中。目前,对于订单的仓库出库决策通常采用就近出库策略,这就为供应链协同备货带来很大难度,难以充分利用物流网络资源,并且具有拆单率较高、物流成本较大、运营成本高等缺点。

发明内容

有鉴于此,本发明要解决的一个技术问题是提供一种物品出库调度方法、装置以及存储介质。

根据本公开的一个方面,提供一种物品出库调度方法,包括:构建多目标物品配送优化模型;其中,所述多目标物品配送优化模型包括:目标分别为总拆单数最小、总配送时间最少、总配送成本最小的三个目标函数以及约束函数;获取与物品订单数据中的物品相对应的库存最小单位SKU以及SKU需求数量;使用多目标遗传算法并基于所述多目标物品配送优化模型,求解与所述物品订单数据相对应的帕累托解集合;其中,所述帕累托解集合中的每个帕累托解包括:与所述SKU相对应并满足所述SKU需求数量的出货仓库信息以及出货量;基于预设的选择准则从所述帕累托解集合中选取最优帕累托解,用以根据所述最优帕累托解确定物品出库调度方案。

可选地,所述使用多目标遗传算法并基于所述多目标物品配送优化模型,求解与所述物品订单数据相对应的帕累托解集合包括:获得与所述物品订单数据相对应的调度解;基于所述调度解生成分别与所述三个目标函数相对应的三个种群;使用多目标遗传算法并基于所述多目标物品配送优化模型,求解与所述三个种群相对应的所述帕累托解集合。

可选地,所述求解与所述三个种群相对应的所述帕累托解集合包括:使用多目标遗传算法并基于所述多目标物品配送优化模型,对所述三个种群进行更新处理,获得帕累托解;根据所述帕累托解的拥挤距离进行筛选处理,将经过筛选后的所述帕累托解作为精英个体放入精英种群;使用多目标遗传算法并基于所述多目标物品配送优化模型,对所述精英种群进行更新处理,并基于所述精英个体的拥挤距离进行筛选处理;如果满足终止条件,则输出所述帕累托解集合。

可选地,对所述三个种群中的原有调度解进行邻域搜索,生成与所述三个种群中的原有调度解相对应的第一新调度解;其中,与所述第一新调度解相对应的目标函数值小于与所述原有调度解相对应的目标函数值。

可选地,对所述三个种群中的原有调度解进行分布式估计,生成与所述三个种群中的原有调度解相对应的第二新调度解;其中,与所述第二新调度解相对应的出货仓库数量小于与所述原有调度解相对应的出货仓库数量。

可选地,所述获得与所述物品订单数据相对应的调度解包括:获取仓库库存信息、仓库与每个物品订单相对应的成本信息;其中,所述成本信息包括:时间成本信息和配送成本信息;根据所述仓库库存信息和所述成本信息生成所述调度解;其中,所述调度解包括:与每个物品订单相对应的出货仓库信息以及相对应的出货量。

可选地,所述根据所述仓库库存信息和所述成本信息生成所述调度解包括:根据所述仓库库存信息和所述成本信息,确定每个物品订单的每个SKU的出货仓库信息以及对应的出货量,用以生成所述调度解;和/或,根据所述仓库库存信息和所述成本信息,确定与全部物品订单相对应的出货仓库组合信息以及对应的出货量,用以生成所述调度解。

可选地,所述基于所述调度解生成分别与所述三个目标函数相对应的三个种群包括:获取所述目标函数的最大目标值和最小目标值;计算所述调度解与所述目标函数相对应的目标值,并计算所述目标值与所述最大目标值的第一差值、所述最大目标值和所述最小目标值的第二差值;将所述第一差值与所述第二差值的比值确定为所述调度解与所述目标函数相对应的种群之间的种群距离;基于所述种群距离将所述调度解分配给所述三个种群中的一个种群。

可选地,所述基于所述种群距离将所述调度解分配给所述三个种群中的一个种群包括:获取所述调度解分别与所述三个种群之间的三个种群距离,确定所述三个种群距离中的最短种群距离;将所述调度解分配给与所述最短种群距离相对应的种群。

可选地,所述基于预设的选择准则从所述帕累托解集合中选取最优帕累托解包括:计算所述帕累托解集合中的每个帕累托解分别与所述三个目标函数相对应的三个目标值;计算所述三个目标值的乘积,将最小乘积对应的帕累托解作为所述最优帕累托解。

可选地,所述多目标遗传算法包括:NSGA-II算法。

根据本公开的另一方面,提供一种物品出库调度装置,包括:模型设置模块,用于构建多目标物品配送优化模型;其中,所述多目标物品配送优化模型包括:目标分别为总拆单数最小、总配送时间最少、总配送成本最小的三个目标函数以及约束函数;订单获取模块,用于获取与物品订单数据中的物品相对应的库存最小单位SKU以及SKU需求数量;调度求解模块,用于使用多目标遗传算法并基于所述多目标物品配送优化模型,求解与所述物品订单数据相对应的帕累托解集合;其中,所述帕累托解集合中的每个帕累托解包括:与所述SKU相对应并满足所述SKU需求数量的出货仓库信息以及出货量;调度确定模块,用于基于预设的选择准则从所述帕累托解集合中选取最优帕累托解,用以根据所述最优帕累托解确定物品出库调度方案。

根据本公开的又一方面,提供一种物品出库调度装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。

根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。

本公开的物品出库调度方法、装置以及存储介质,针对在多订单场景下基于总拆单数、总时效和总成本最小的订单寻源问题提供了解决方案,在出货调度中能够实现总拆单数最小、总配送时间最少、总配送成本最小的多目标优化,能够实现仓储资源最优利用,提升了工作效率,降低了运营成本。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本公开的物品出库调度方法的一个实施例的流程示意图;

图2为根据本公开的物品出库调度方法的一个实施例中的求解帕累托解集合的流程示意图;

图3为根据本公开的物品出库调度方法的一个实施例中的获得帕累托解集合的流程示意图;

图4为根据本公开的物品出库调度方法的另一个实施例中的获得帕累托解集合的流程示意图;

图5为根据本公开的物品出库调度装置的一个实施例的模块示意图;

图6为根据本公开的物品出库调度装置的一个实施例中的调度求解模块的模块示意图;

图7为根据本公开的物品出库调度装置的另一个实施例的模块示意图;

图8为根据本公开的物品出库调度装置的又一个实施例的模块示意图。

具体实施方式

下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。

图1为根据本公开的物品出库调度方法的一个实施例的流程示意图,如图1所示:

步骤101,构建多目标物品配送优化模型。

多目标物品配送优化模型可以有多种。例如,多目标物品配送优化模型包括三个目标函数和约束函数,三个目标函数的目标分别为总拆单数最小、总配送时间最少、总配送成本最小。

步骤102,接收物品订单数据,获取与物品订单数据中的物品相对应的库存最小单位SKU(Stock Keeping Unit)以及SKU需求数量。

步骤103,使用多目标遗传算法并基于多目标物品配送优化模型,求解与物品订单数据相对应的帕累托解集合,帕累托解集合中的每个帕累托解包括:与SKU相对应并满足SKU需求数量的出货仓库信息以及出货量。

帕累托解为Pareto解,又称非支配解或不受支配解(nondominated solutions)。在有多个目标时,由于存在目标之间的冲突和无法比较的现象,一个解在某个目标上是最好的,在其他的目标上可能是最差的。这些在改进任何目标函数的同时,必然会削弱至少一个其他目标函数的解称为非支配解或Pareto解。

多目标遗传算法包括NSGA-II算法等。遗传算法的核心是遗传三算子:选择,交叉和变异。通过随机选择的父代,对子代基因进行随机交叉和随机变异,从而形成新的种群。在种群中利用适应度函数对种群个体进行排序,选择出适应度好的个体进行下一代迭代。

NSGA-II(带精英策略的非支配排序的遗传算法)是基于遗传算法的多目标优化算法,是基于pareto最优解讨论的多目标优化。多目标优化问题与单目标优化问题有很大差异,当存在多个目标时,由于目标之间存在冲突,很难找到一个解使得所有的目标函数同时最优,因此,对于多目标优化问题,通常存在一个解集,这些解之间就全体目标函数而言是无法比较优劣的,无法在改进任何目标函数的同时不削弱至少一个其他目标函数,这种解为Pareto解(Pareto optimal Soluitons)。

NSGA-Ⅱ算法一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了最为优秀的所有个体;引进精英策略,保证某些优良的种群个体在进化过程中不会被丢弃,从而提高了优化结果的精度;采用拥挤度和拥挤度比较算子,将其作为种群中个体间的比较标准,使得准Pareto域中的个体能均匀地扩展到整个Pareto域,保证了种群的多样性。

步骤104,基于预设的选择准则从帕累托解集合中选取最优帕累托解,根据最优帕累托解确定与物品订单数据相对应的物品出库调度方案。基于多目标遗传算法的策略获得多个帕累托解,选择准则可以有多种,根据帕累托解集灵活选择物品出库调度方案。

在一个实施例中,仓库的位置、存储、时效和成本信息等均是已知的,订单的SKU与件数也是已知的,构建多目标物品配送优化模型的优化目标是总拆单数最小、总配送时间最少、总配送成本最小。多目标物品配送优化模型中使用的参数如下表1所示:

表1-使用的参数表

设置决策变量:

xi,j,k,表示订单k的sku j在仓库i的出库量。

设置辅助变量:

Tk:订单k被满足所需的时间。

构建多目标物品配送优化模型(混合整数线性规划模型)如下:

xi,j,k为非负整数变量,yi,k,zk是0-1变量 (7)

其中,式(1)是三个目标函数,分别是总拆单数(总拆单订单数)、总配送时间(总配送时效)和总配送成本(总成本);式(2-7)是约束函数,其中式(2)是指所有订单的每个SKU需求件数不大于分配的数量;式(3)是指对于任一仓库的每个SKU,分配给所有订单的SKU的件数之和不超过该仓库的库存量。

式(4)是指如果有超过1个仓库来满足某个订单,则该订单是被拆单的订单;(5)是指如果一个仓库至少满足了某订单的一件商品,则对于y值为1,即y变量的定义;(6)表示一个订单的时效取决于所有满足该订单的最大的时间;式(7)是变量取值范围。

图2为根据本公开的物品出库调度方法的一个实施例中的求解帕累托解集合的流程示意图,如图2所示:

步骤201,获得与物品订单数据相对应的调度解。

步骤202,基于调度解生成分别与三个目标函数相对应的三个种群。

步骤203,使用多目标遗传算法并基于多目标物品配送优化模型,求解与三个种群相对应的帕累托解集合。

获得与物品订单数据相对应的调度解可以有多种方法。获取仓库库存信息、仓库与每个物品订单相对应的成本信息,成本信息包括时间成本信息和配送成本信息等。根据仓库库存信息和成本信息生成调度解,调度解包括:与每个物品订单相对应的出货仓库信息以及相对应的出货量。

在一个实施例中,根据仓库库存信息和成本信息生成调度解可以有两种方法:一、根据仓库库存信息和成本信息,使用轮盘赌算法获取每个物品订单的每个SKU的出货仓库信息以及对应的出货量,用以生成调度解;二、根据仓库库存信息和成本信息,使用轮盘赌算法获取与全部物品订单相对应的出货仓库组合信息以及对应的出货量,用以生成调度解。

物品订单数据包括每个物品订单的所有SKU的需求件数;仓库库存信息包括存储的每个SKU的件数,仓库与每个物品订单相对应的时间成本信息和配送成本信息为仓库与每个物品订单所在地址相对应的配送时间和配送成本。根据物品订单数据和仓库库存,可以删除不存储物品订单的SKU的仓库,以减少计算量。如果仓库数量过大,可以删除被支配的仓库,即如果一个仓库SKU存储量、时间成本和配送成本均不如另一个仓库,可以将此仓库删除。

一个物品订单数据如下表2所示:

订单编号 SKU编号 SKU数量 配送地址
D01 SKU01 3 山东省济南市山东大学
D02 SKU02 3 山东省青岛市青岛大学
D03 SKU03 2 山东省青岛市山东科技大学
D03 SKU01 1 山东省青岛市山东科技大学

表2-物品订单数据表

以上共三个订单,仓库假设有两个,仓库的库存信息如下表3所示:

仓库编号 SKU 数量
01 SKU1 10
01 SKU2 1
02 SKU2 10
02 SKU3 10

表3-仓库的库存信息表

仓库的配送成本和时效信息如下表4所示:

仓库编号 订单编号 时间 成本
01 D01 2 100
01 D02 10 200
01 D03 9 150
02 D01 8 160
02 D02 2 110
02 D03 1 40

表4-配送成本和时效信息表

在一个实施例中,一个调度解包括对于每个订单的SKU的出货仓库信息以及相对应的出货量。每个订单的SKU的出货仓库信息以及相对应的出货量(调度方案)可以使用两个二维动态数组P1和P2进行编码表示,每个订单的P1和P2具有相同的结构,P1表示每个SKU的出货仓库列表,P2表示每个SKU的出库件数列表。

例如,订单A和订单B的调度方案分别为:

订单A的第一列是SKU1的信息,表示仓库1的出库件数为2,仓库2出库件数为3,第二列是SKU2的信息,表示仓库2的出库件数为1。对于订单B,只有一个SKU1,表示仓库1出库件数为1。

针对订单A和订单B的调度方案,可以计算相对于三个目标函数的三个目标值。例如,由于订单A是由两个仓库满足的,则该调度解对应总拆单数的目标函数(总拆单数)的目标值为1,根据配送时间成本、配送成本信息可以得到相对于其他两个目标函数的目标值。

基于调度解生成初始种群,为了得到目标值多样性的解,可以采取如下两种方法得到调度解:方法一,获取每个SKU的仓库可用列表,对于每个订单的每个SKU,根据轮盘赌算法得到满足它的仓库。轮盘赌算法为现有的轮盘赌算法,轮盘赌算法用于实现仓库被选中的概率与其适应度函数值成正比。在使用轮盘赌算法时可以采用两种方法确定仓库被选中的概率:a,根据配送成本,使用配送成本值的倒数并进行归一化得到每个仓库被选中的概率;b,根据配送所需时间,使用配送时间值的倒数并进行归一化得到每个仓库被选中的概率。

例如,如果需要使用方法一得到10个调度解(初始解),则5个调度解使用方法a确定仓库被选中的概率,另外5个调度解使用b确定仓库被选中的概率。一个调度解包括与全部物品订单相对应的出货仓库信息以及相对应的出货量。每个订单的调度方案是一组二维数组,所有订单的二维数组组成一个调度解。

方法二,获取每个仓库可满足订单的SKU列表,获取拥有能满足订单且是最小仓库数的所有仓库组合,使用轮盘赌算法获取与全部物品订单相对应的出货仓库组合信息以及对应的出货量。在使用轮盘赌算法时可以采用两种方法确定仓库被选中的概率:a,计算每种仓库组合下的配送成本,使用配送成本值的倒数并进行归一化得到每个仓库被选中的概率;b,计算每种仓库组合下的配送所需的时间,使用配送时间值的倒数并进行归一化得到每个仓库被选中的概率。

对于轮盘赌算法确定仓库被选中的概率,例如,订单A为{sku1:2,sku2:1},订单B为{sku1:2},有三个仓库,仓库1存储SKU1 100件,仓库2和仓库3存储sku2 100件。对于订单A,只能选择仓库1,配送成本为20,时效(配送时间成本)为3;对于订单B,仓库2和仓库3的配送成本分别是10,20,时效分别是3,2,则最小仓库组合为{1,2},{1,3},配送成本为30和40,时效为3,3,则在a方法下,两个组合选择概率分别是3/7,4/7,B方法下,概率均等。

在一个实施例中,种群划分的目的是使不同种群致力于探索不同的方向,例如,与总拆单数的目标函数对应的种群,应当尽可能使得总拆单数小。获取目标函数的最大目标值和最小目标值,计算调度解与目标函数相对应的目标值,并计算目标值与最大目标值的第一差值、最大目标值和最小目标值的第二差值,将第一差值与第二差值的比值确定为调度解与目标函数相对应的种群之间的种群距离。获取调度解分别与三个种群之间的三个种群距离,确定三个种群距离中的最短种群距离,将调度解分配给与最短种群距离相对应的种群。

例如,获取每个目标函数的最小目标值(m1,m2,m3)和最大目标值(mx1,mx2,mx3);对于每个调度解,计算得到与三个目标函数相对应的目标值,即获得目标函数元组(o1,o2,o3).计算调度解与目标函数相对应的种群之间的种群距离,即得到比值(r1,r2,r3)=((o1-m1)/(mx1-m1),(o2-m2)/(mx2-m2),(o3-m3)/(mx3-m3)),将每个调度解分配到比值最小的种群中,即将调度解分配给与最小比值相对应的种群中。可以使用现有的多种方法对三个种群内的调度解进行调整,使得每个种群内的调度解的数量基本相等。

NSGA-II算法的基本流程为:首先,随机产生规模为N的初始种群,非支配排序后通过遗传算法的选择、交叉、变异三个基本操作得到第一代子代种群;其次,从第二代开始,将父代种群与子代种群合并,进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,根据非支配关系以及个体的拥挤度选取合适的个体组成新的父代种群;最后,通过遗传算法的基本操作产生新的子代种群:依此类推,直到满足程序结束的条件。

图3为根据本公开的物品出库调度方法的一个实施例中的获得帕累托解集合的流程示意图,如图3所示:

步骤301,使用多目标遗传算法并基于多目标物品配送优化模型,对三个种群进行更新处理,获得帕累托解。可以使用NSGA-Ⅱ算法并基于三个目标函数和约束函数等,进行选择、交叉、变异等处理,对三个种群进行更新处理,获得帕累托解。

针对每个目标函数对应的种群,更新原则是非帕累托解首先进行剔除,直到满足所需数量的上限要求。如果剔除所有非帕累托解之后依然超过上限,则基于拥挤距离进行删除。

例如,种群内的调度解数量为3,进行搜索后得到3个子代,则此时有六个调度解。如果非帕累托解大于等于3个,随机剔除其中3个,保留3个。如果剔除所有非帕累托解之后依然超过需要的帕累托解数量上限,则使用拥挤距离进行删除,计算公式为:

其中,fi,i=1,2,3是目标函数,fi -是其他调度解中比fi小且距离最靠近。如果fi是最小的调度解,则拥挤距离为充分大的数。将拥挤距离大的调度解保留。例如,种群内有四个调度解,目标值分别为[1,2,3],[2,1,3],[3,2,1],[2,2,2];对于调度解1,f1=1,没有比f1小的,则拥挤距离无穷大;对于调度解2,f2=1,没有比f2小的,则拥挤距离无穷大;对于调度解3,f3=1,没有比f3小的,则拥挤距离无穷大;对于调度解4,f1=2,比f1小的为1,分母为最大的目标值3-最小的目标值1则拥挤距离1/2。

步骤302,根据帕累托解的拥挤距离进行筛选处理,将经过筛选后的帕累托解作为精英个体放入精英种群。

步骤303,使用多目标遗传算法并基于多目标物品配送优化模型,对精英种群进行更新处理,并基于精英个体的拥挤距离进行筛选处理。

将经过筛选后的所有帕累托解加入到精英种群中,并将此时的精英种群的非帕累托解删除,然后计算拥挤距离,将拥挤距离大的帕累托解保留。

步骤304,如果满足终止条件,则输出帕累托解集合。

使用NSGA-Ⅱ算法并基于三个目标函数和约束函数等,进行选择、交叉、变异等过程,在迭代次数达到上限或最大时间达到上限后,终止种群迭代,输出帕累托解。NSGA-Ⅱ算法的设定参数如下表5所示:

表5-算法的设定参数表

计算帕累托解集合中的每个帕累托解分别与三个目标函数相对应的三个目标值,计算三个目标值的乘积,将最小乘积对应的帕累托解作为最优帕累托解。例如,帕累托解集合中有两个帕累托解(调度解),每个帕累托解分别与三个目标函数相对应的三个目标值为(1,2,3),(1,2.5,2.5),计算三个目标值的乘积,则将乘积最小的第一个调度解作为最优帕累托解。

在一个实施例中,对三个种群中的原有调度解进行邻域搜索,生成与三个种群中的原有调度解相对应的第一新调度解;其中,与第一新调度解相对应的目标函数值小于与原有调度解相对应的目标函数值。邻域搜索可以使用现有的多种领域搜索算法。

例如,对于与总拆单数的目标函数相对应的种群,对于此种群内的每个调度解,对于拆单的订单重新选择仓库以降低拆单率。例如,对于一个调度解,有一个订单的SKU由仓库1和仓库2满足,则使用邻域搜索算法判断是否存在一个仓库满足此订单,即遍历所有仓库,判断是否仅需一个仓库就可以满足该订单,进而生成第一新调度解。

对于与总配送时间的目标函数相对应的种群,对于此种群内的每个调度解,随机选择k个订单,获取仓库的配送处理时间,使用邻域搜索算法判断是否可以将每个订单的最长配送时间的仓库更换为配送时间短的仓库,可以使用轮盘赌算法选取仓库(配送时间更短且满足SKU需求)进行更换。

例如,对于一个订单,配送时间取决于具有最长配送时间的仓库,使用邻域搜索算法遍历仓库,判断是否有其他替换该仓库的仓库并且配送时间更短,进而生成第一新调度解。同理,对于与总配送成本的目标函数相对应的种群,可以采用相同的方法生成第一新调度解。

在一个实施例中,对三个种群中的原有调度解进行分布式估计,生成与三个种群中的原有调度解相对应的第二新调度解;其中,与第二新调度解相对应的出货仓库数量小于与原有调度解相对应的出货仓库数量。分布式估计算法源于遗传算法,可以使用现有的多种分布式估计算法。

对于每个种群,计算得到每个订单的仓库选择情况,如果一个订单由两个仓库进行满足,则每个仓库指标值增加1/2,从而得到每个仓库的指标值,利用轮盘赌算法对该订单重新更新调度解。例如,一个种群有三个调度解,对于订单1共有3种满足方式,分别为[1,2],[1],[1,,2],则仓库1的指标为1/2+1+1/2,仓库2是1/2+1/2,该订单使用1和2的概率为2/3,1/3。利用轮盘赌算法得到一个仓库,判断是否可满足此订单,不能满足继续执行轮盘赌选择下一个仓库。

图4为根据本公开的物品出库调度方法的另一个实施例中的获得帕累托解集合的流程示意图,如图4所示:

步骤401,生成初始种群。

步骤402,种群划分。生成分别与三个目标函数相对应的三个种群,初始化未发现新的帕累托解的次数i=0。

步骤403,判断未发现新的帕累托解的次数i是否小于L;如果是,进入步骤404,如果否,进入步骤405。

步骤404,执行邻域搜索算法。使用邻域搜索算法对所述三个种群中的原有调度解进行邻域搜索。

步骤405,执行分布式估计算法。使用分布式估计算法对所述三个种群中的原有调度解进行分布式估计。

步骤406,通过步骤404和405得到一批新的调度解。

步骤407,408,更新种群和精英种群。使用多目标遗传算法并基于所述多目标物品配送优化模型,更新种群和精英种群。

步骤409,判断是否达到终止条件,如果是,则进入步骤411,如果否,则进步步骤410。

步骤410,更新未发现新的帕累托解的次数。判断是否获得新的帕累托解,如果否,则i=i+1。

步骤411,输出精英种群。

在一个实施例中,如图5所示,本公开提供一种物品出库调度装置50,包括:模型设置模块51、订单获取模块52、调度求解模块53和调度确定模块54。模型设置模块51构建多目标物品配送优化模型;其中,多目标物品配送优化模型包括三个目标函数和约束函数;三个目标函数的目标分别为总拆单数最小、总配送时间最少、总配送成本最小。

订单获取模块52接收物品订单数据,获取与物品订单数据中的物品相对应的SKU以及SKU需求数量。调度求解模块53使用多目标遗传算法并基于多目标物品配送优化模型,求解与物品订单数据相对应的帕累托解集合;其中,帕累托解集合中的每个帕累托解包括:与SKU相对应并满足SKU需求数量的出货仓库信息以及出货量。

调度确定模块54基于预设的选择准则从帕累托解集合中选取最优帕累托解,根据最优帕累托解确定与物品订单数据相对应的物品出库调度方案。例如,调度确定模块54计算帕累托解集合中的每个帕累托解分别与三个目标函数相对应的三个目标值,计算三个目标值的乘积,将最小乘积对应的帕累托解作为最优帕累托解。

在一个实施例中,如图6所示,调度求解模块53包括:调度解获得单元531、种群生成单元532和帕累托解获得单元533。调度解获得单元531获得与物品订单数据相对应的调度解。种群生成单元532基于调度解生成分别与三个目标函数相对应的三个种群。帕累托解获得单元533使用多目标遗传算法并基于多目标物品配送优化模型,求解与三个种群相对应的帕累托解集合。

帕累托解获得单元533使用多目标遗传算法并基于多目标物品配送优化模型,对三个种群进行更新处理,获得帕累托解;帕累托解获得单元533根据帕累托解的拥挤距离进行筛选处理,将经过筛选后的帕累托解作为精英个体放入精英种群;帕累托解获得单元533使用多目标遗传算法并基于多目标物品配送优化模型,对精英种群进行更新处理,并基于精英个体的拥挤距离进行筛选处理;如果满足终止条件,则帕累托解获得单元533输出帕累托解集合。

调度解获得单元531获取仓库库存信息、仓库与每个物品订单相对应的成本信息,成本信息包括时间成本信息和配送成本信息等。调度解获得单元531根据仓库库存信息和成本信息生成调度解,调度解包括:与每个物品订单相对应的出货仓库信息以及相对应的出货量。

调度解获得单元531根据仓库库存信息和成本信息,确定每个物品订单的每个SKU的出货仓库信息以及对应的出货量,用以生成调度解;调度解获得单元531根据仓库库存信息和成本信息,确定与全部物品订单相对应的出货仓库组合信息以及对应的出货量,用以生成调度解。

种群生成单元532获取目标函数的最大目标值和最小目标值,计算调度解与目标函数相对应的目标值,并计算目标值与最大目标值的第一差值、最大目标值和最小目标值的第二差值;种群生成单元532将第一差值与第二差值的比值确定为调度解与目标函数相对应的种群之间的种群距离,基于种群距离将调度解分配给三个种群中的一个种群。例如,种群生成单元532获取调度解分别与三个种群之间的三个种群距离,确定三个种群距离中的最短种群距离,将调度解分配给与最短种群距离相对应的种群。

在一个实施例中,如图6所示,物品出库调度装置50还包括:邻域搜索模块55和分布估算模块55。邻域搜索模块55对三个种群中的原有调度解进行邻域搜索,生成与三个种群中的原有调度解相对应的第一新调度解,与第一新调度解相对应的目标函数值小于与原有调度解相对应的目标函数值。

分布估算模块56对三个种群中的原有调度解进行分布式估计,生成与三个种群中的原有调度解相对应的第二新调度解,与第二新调度解相对应的出货仓库数量小于与原有调度解相对应的出货仓库数量。

图8为根据本公开的物品出库调度装置的另一个实施例的模块示意图。如图8所示,该装置可包括存储器81、处理器82、通信接口83以及总线84。存储器81用于存储指令,处理器82耦合到存储器81,处理器82被配置为基于存储器81存储的指令执行实现上述的物品出库调度方法。

存储器81可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器81也可以是存储器阵列。存储器81还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器82可以为中央处理器CPU,或专用集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本公开的物品出库调度方法的一个或多个集成电路。

在一个实施例中,本公开提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一个实施例中的方法。

上述实施例中提供的物品出库调度方法、装置以及存储介质,构建多目标物品配送优化模型并设置对于总拆单数、总配送时间、总配送成本的三个目标函数,基于多目标遗传算法和多目标物品配送优化模型获得多个帕累托解,根据帕累托解集选择最终调度方案;针对在多订单场景下基于总拆单数、总时效和总成本最小的订单寻源问题提供了解决方案,在出货调度中能够实现总拆单数最小、总配送时间最少、总配送成本最小的多目标优化,能够实现仓储资源最优利用,提升了工作效率,降低了运营成本。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种基于深度学习的地铁有轨电车人流预测的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!