配送决策方法和装置及计算机可读存储介质与流程

文档序号:18510888发布日期:2019-08-24 09:06阅读:200来源:国知局
配送决策方法和装置及计算机可读存储介质与流程

本公开涉及物流配送领域,特别涉及一种配送决策方法和装置及计算机可读存储介质。



背景技术:

电商在满足顾客对于配送距离和配送时效的需求之外,还需要最小化自身的物流和仓储成本。通常选择距离顾客较近的地方建立区域配送中心。然而实际中由于地理空间上的限制,导致仓库容量有限,不能存放所有的包裹。在本地仓库不能满足订单需求的情况下,就会出现外埠包裹。对于外埠包裹,需要根据流量、车辆、成本等一系列因素确定配送路由,即配送起点与配送终点之间需要经过的中转节点,还需要在该配送路由上部署配送逻辑,例如,在哪些配送节点部署建包配送逻辑,在哪些配送节点部署过包配送逻辑。目前通常是基于经验部署配送逻辑。



技术实现要素:

本公开实施例的一个目的是,为部署更加科学的配送逻辑提供技术支撑。

根据本公开的一个方面,提出一种配送决策方法,包括:

根据配送目标以及影响所述配送目标的配送要素,构建配送的目标函数;

根据配送能力确定所述目标函数的约束;

计算在所述约束下所述目标函数的所述配送要素的最优解;

按照所述配送要素的最优解部署所述配送要素相关的配送逻辑。

在一些实施例中,所述目标函数包括配送目标、配送常量和欲求解的配送变量,所述配送常量根据所述配送能力确定,所述配送变量根据所述配送要素确定。

在一些实施例中,计算所述配送要素的最优解包括:利用混合整数规划求解器计算所述配送要素的最优解。

在一些实施例中,构建所述目标函数包括:构建使所有分拣节点的总分拣成本最小的目标函数,将配送路由是否在分拣节点做分拣处理作为所述目标函数的配送变量。

在一些实施例中,所述约束包括:

保证每个分拣节点的待分拣的包裹量不超过该分拣节点的分拣能力的约束;

保证需要的格口数量不超过分拣节点的格口数量的约束;

对于配送路由的包裹,如果需要从分拣节点i建包到分拣节点j,则需要在分拣节点i预留发往分拣节点j的格口的条件约束。

在一些实施例中,所述约束还包括以下任意的一项或几项:

保证对进入始发分拣节点的包裹进行分拣的约束;

保证对到达目的分拣节点的包裹进行分拣的约束;

保证在分拣节点i是否预留发往分拣节点j的格口的变量为0/1变量的约束;

保证配送路由是否在分拣节点做分拣处理的变量为0/1变量的约束。

在一些实施例中,若所述约束中包括条件约束,将所述条件约束转换为整数规划的约束。

在一些实施例中,按照所述配送要素的最优解部署所述配送要素相关的配送逻辑包括:

根据配送路由是否在分拣节点做分拣处理的最优解,在需要做分拣处理的相邻分拣节点之间部署建包配送逻辑,若需要做分拣处理的相邻分拣节点之间还存在不需要做分拣处理的分拣节点,在不需要做分拣处理的分拣节点部署过包配送逻辑。

在一些实施例中,按照所述配送要素的最优解部署所述配送要素相关的配送逻辑还包括:

按照所述条件约束,查找需要预留格口的分拣节点i,并在分拣节点i预留发往分拣节点j的格口。

根据本公开的另一个方面,提出一种配送决策装置,包括:

执行前述任一个实施例的配送决策方法的模块。

根据本公开的另一个方面,提出一种配送决策装置,包括:

存储器;以及

耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任一个实施例的配送决策方法。

根据本公开的另一个方面,提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的配送决策方法。

本公开实施例通过根据配送目标以及影响配送目标的配送要素,构建配送的目标函数,根据配送能力确定目标函数的约束,计算在约束下目标函数的配送要素的最优解,按照配送要素的最优解部署配送要素相关的配送逻辑,从而为配送逻辑的科学决策提供技术支撑。

附图说明

下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,

显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开配送决策方法一些实施例的流程图。

图2为本公开一些实施例的最优解及配送逻辑示意图。

图3为本公开的配送决策装置一些实施例的结构示意图。

图4为本公开的配送决策装置另一些实施例的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。

下面对本公开的一些术语进行描述。

配送节点,是指货物配送过程中所经过的节点,包括接货仓和分拣节点。

分拣节点,是指具有分拣能力的配送节点,也称为分拣中心。

建包,是指对于同一路由的包裹,可在某一分拣节点处集中起来统一发往另一个分拣节点。建包的数量与目的分拣节点的数量相对应,有多少目的分拣节点则需要建多少包。

过包,是指建好的包在到达目的分拣节点前可能会经过若干中转分拣节点,对于中转分拣节点,建好的包不需要进行拆包再建包的处理,可直接发往配送路由的下一配送节点。

拆包,是指建好的包到达目的分拣节点时需要进行拆包。需要注意的是,建包的目的分拣节点与包裹的目的分拣节点可以不同。同一包裹可能经过多次的建包和拆包的过程。

格口,是指分拣节点的工作口,在分拣过程中,对于相同目的地的包裹会预留一个或多个格口,用于处理对应目的地的包裹。在格口下通过容器接收包裹,便于包裹运输。

本公开提出利用约束优化实现的科学配送解决方案,下面具体描述。

图1为本公开配送决策方法一些实施例的流程图。如图1所示,该实施例的方法包括步骤110-140。

在步骤110,根据配送目标以及影响配送目标的配送要素,构建配送的目标函数。

在一些实施例中,目标函数通常包括配送目标、配送常量和欲求解的配送变量。配送目标根据配送决策确定。例如,如果希望总分拣成本最小,则构建使所有分拣节点的总分拣成本最小的目标函数,如果希望配送时效最短,则构建使包裹配送时效最短的目标函数。但不限于所举示例。配送常量根据配送系统的配送能力确定。配送常量例如可以是分拣节点的分拣能力、单位分拣成本等,但不限于所举示例。配送变量根据影响配送目标的配送要素确定。例如,构建使所有分拣节点的总分拣成本最小的目标函数,将配送路由是否在分拣节点做分拣处理作为该目标函数的配送变量。

在步骤120,根据配送系统的配送能力确定目标函数的约束。

约束是目标函数成立时必须满足的条件,也即配送目标需要在配送系统的配送能力的基础上或者说约束下实现。约束根据业务需要可以有一个或多个。

在步骤130,计算在约束下目标函数的配送要素的最优解。

在步骤140,按照配送要素的最优解部署配送要素相关的配送逻辑。

在一些实施例中,若目标函数及其约束是混合线性整数规划模型,可以利用分支定界算法,或者割平面法等计算最优解,或者,也可利用混合整数规划求解器计算最优解。混合整数规划求解器例如包括scip(solvingconstraintintegerprograms,求解约束整数规划)、cplex,glpk(gnulinearprogrammingkit,gnu线性规划工具包),gurobi,lpsolve等。

通过根据配送目标以及影响配送目标的配送要素,构建配送的目标函数,根据配送能力确定目标函数的约束,计算在约束下目标函数的配送要素的最优解,按照配送要素的最优解部署配送要素相关的配送逻辑,从而为配送逻辑的科学决策提供技术支撑。

下面应用前述配送决策方法,寻找使所有分拣节点的总分拣成本最小的配送解决方案。

首先,定义输入参数和变量,输入参数包括集合和常量。

集合:

v=所有配送节点的集合(包括分拣节点和接货仓)。配送节点简称节点。

v0=分拣节点的集合。分拣节点,是指具有分拣能力的配送节点,也称为分拣中心。

k=路由的集合。

rk=路由k中节点的集合。

=路由k中节点i后续节点的集合。

=路由k的起始节点。

=路由k的终止节点。

全网络的路由数据可以通过路由推荐系统生成,路由的起始点为接货仓或各级分拣节点,终点为各级分拣节点。对于给定的起始分拣节点和目的分拣节点,当前只存在一条路由。对于本地流量,路由数据只包含两个节点,即从接货仓运至最近的分拣节点。对于外埠流量,则包含起始分拣节点、目的分拣节点,以及一系列中转的分拣节点。路由的数量取决于细化的程度,例如如果细化到三级分拣节点,假设有90个一、二、三级分拣节点,最多可包括90×90=8100条路由。

常量:

ci=分拣节点i的分拣能力。在一些实施例中,可以根据分拣设备种类确定分拣能力。例如,接货仓的分拣能力为0,一级二级分拣节点不设分拣能力上限,只有三级分拣节点考虑上限。分拣能力的划分颗粒度为天,即分拣节点不停转情况下的最大分拣包裹数。

ni=分拣节点i可用于外埠节点的格口数量。使用自动化设备的分拣节点在一段时间内可用的格口数量是有限的。使用人工参与的分拣节点则可以通过加入人工的方式增加格口数量。分拣节点同时分拣本地流量和外埠流量,在满足本地流量所需的格口数量后,剩余的格口数量可用于外埠流量。

si=分拣节点i的单位分拣成本。在一些实施例中,建包、过包和拆包的成本不同。对于建包过程,不同分拣节点由于设备类型、人力及场地大小不同等原因,建包成本也不相同。全自动化分拣设备与需要人工参与的分拣设备在单位流量的分拣成本上不同。同时,人工参与的分拣设备,如果需要增加格口,则需要增加人工。

qk=路由k的总包裹量。

=路由k中,节点i至节点j之间的节点的集合(不包括节点i和节点j本身),并且在路由k中,节点j是节点i的后续节点,即

变量:

xij为0-1变量,表示在节点i是否预留发往节点j的格口。其中,xij=1表示预留格口,xij=0表示不预留格口。

为0-1变量,表示路由k是否在节点i分拣。其中,表示在节点i分拣,表示不在节点i分拣。

然后,基于前述的输入参数和变量,建立模型。建模主要考虑每条路由在何处进行分拣,以及每个分拣节点需要保留哪些外埠目的地所对应的格口。最优化分拣成本的问题可以表达为如下数学表达式(1-8)。

利用公式(1)构建使所有分拣节点的总分拣成本最小的目标函数,将配送路由是否在分拣节点做分拣处理作为配送变量。

目标函数(1)是要最小化所有分拣节点的总分拣成本。对于不同分拣节点,单位分拣成本不同。

利用公式(2-8)确定目标函数(1)的约束。

约束(2)保证每个分拣节点的待分拣的包裹量不超过该分拣节点的分拣能力。

约束(3)保证方案所需要的格口数量不超过当前分拣节点的格口数量。

约束(4)保证对进入始发分拣节点的包裹进行分拣。

约束(5)保证对到达目的分拣节点的包裹进行分拣。

约束(6)保证变量xij为0/1变量的。

约束(7)保证变量为0-1变量。

约束(8)为一个条件约束。条件约束(8)表示,对于配送路由k的包裹,如果从节点i建包到节点j(即需要在节点i和节点j分拣,并且不需要在节点i至节点j之间的节点进行分拣),则说明需要在节点i预留发往节点j的格口,即xij=1。表示配送路由k中除了终止节点外的节点集合。

现需要将条件约束(8)转换为整数规划的约束。考虑将其表达为逻辑运算,用a表示并且用b表示用c表示xij=1,则(8)表达为:if,then,即a∧b→c,其中的∧表示与(and),该式等价于其中的∨表示或(or),表示非,表示非a,表示非b。

根据0/1变量约束,可表达为可表达为c表示xij=1。为真时,和c三式不能全为假,可创造三个0-1变量z1,z2,z3,条件约束(8)可转换为约束(9)-(13)。

通过将条件约束(8)进行转换,可将原来的约束优化问题转换为标准的0/1整数规划问题,后续可以通过混合整数规划求解器(例如scip)进行求解。由于分拣节点的分拣计划不会经常变更,求解频率不会太高,通常会在路由变更的时候(例如增加、减少分拣节点时)进行求解。

按照最优解部署配送逻辑。根据配送路由是否在分拣节点做分拣处理的最优解,在需要做分拣处理的相邻分拣节点之间部署建包配送逻辑,若需要做分拣处理的相邻分拣节点之间还存在不需要做分拣处理的分拣节点,在不需要做分拣处理的分拣节点部署过包配送逻辑。按照条件约束,查找需要预留格口的分拣节点i,并在分拣节点i预留发往分拣节点j的格口。

具体来说,任意一条路由k,{v1→v2→…→vm},v0表示接货仓,vm为目的分拣节点,路由中每一个节点i都对应一个是否在该节点分拣的变量值即最优解中对应的有对于该路由中相邻的则表明配送路由k从节点i建包至节点j。

参见图2所示的最优解及配送逻辑示意图。该配送路由k包含5个节点,最优解中的节点包含1、3、4、5,其中节点1和节点5为起始节点和终止节点。在节点2的地方,该路由所对应的包裹进行了过包处理,即不在节点2分拣。由于节点1和节点3之间的节点间不包含其他的节点,则说明需要从节点1建包到节点3。同理,该解说明需要从节点3建包到节点4,从节点4建包到节点5。

同时,对于任一分拣中心i,找到所有xij=1对应的节点j,在节点i预留发往节点j的格口。该外埠的格口信息以及本地的格口信息合并在一起,可以作为该分拣节点的分拣计划的依据。

上述实施例在满足分拣节点格口数量及分拣能力的限制条件下,最优化确定配送网络中各条路由的建包逻辑,以及确定分拣节点的格口对应的目的地信息,使得总分拣成本最低。整体上可充分利用自动化分拣设备的能力,减少爆仓的风险,提升配送效率。

图3为本公开的配送决策装置一些实施例的结构示意图。

如图3所示,配送决策装置包括:

构建模块310,用于根据配送目标以及影响配送目标的配送要素,构建配送的目标函数,根据配送能力确定目标函数的约束;

计算模块320,用于计算在约束下目标函数的配送要素的最优解;

部署模块330,用于按照配送要素的最优解部署配送要素相关的配送逻辑。

在一些实施例中,目标函数包括配送目标、配送常量和欲求解的配送变量。配送常量根据配送系统的配送能力确定。配送变量根据影响配送目标的配送要素确定。

在一些实施例中,计算最优解包括:利用混合整数规划求解器计算最优解。

在一些实施例中,构建目标函数包括:构建使所有分拣节点的总分拣成本最小的目标函数,将配送路由是否在分拣节点做分拣处理作为目标函数的配送变量。

在一些实施例中,约束包括:

保证每个分拣节点的待分拣的包裹量不超过该分拣节点的分拣能力的约束;

保证需要的格口数量不超过分拣节点的格口数量的约束;

对于配送路由的包裹,如果需要从分拣节点i建包到分拣节点j,则需要在分拣节点i预留发往分拣节点j的格口的条件约束。

在一些实施例中,约束还包括以下任意的一项或几项:

保证对进入始发分拣节点的包裹进行分拣的约束;

保证对到达目的分拣节点的包裹进行分拣的约束;

保证在分拣节点i是否预留发往分拣节点j的格口的变量为0/1变量的约束;

保证配送路由是否在分拣节点做分拣处理的变量为0/1变量的约束。

在一些实施例中,若约束中包括条件约束,将条件约束转换为整数规划的约束。

在一些实施例中,按照最优解部署配送逻辑包括:根据配送路由是否在分拣节点做分拣处理的最优解,在需要做分拣处理的相邻分拣节点之间部署建包配送逻辑,若需要做分拣处理的相邻分拣节点之间还存在不需要做分拣处理的分拣节点,在不需要做分拣处理的分拣节点部署过包配送逻辑。

在一些实施例中,按照最优解部署配送逻辑还包括:按照条件约束,查找需要预留格口的分拣节点i,并在分拣节点i预留发往分拣节点j的格口。

图4为本公开的配送决策装置另一些实施例的结构示意图。

如图4所示,配送决策装置包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行前述任意一些实施例中的配送决策方法。

其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

配送决策装置还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430,440,450以及存储器410和处理器420之间例如可以通过总线460连接。其中,输入输出接口430为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为sd卡、u盘等外置存储设备提供连接接口。

本公开还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的配送决策方法。

本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1