一种解决全渠道物流配送问题的优化方法与流程

文档序号:11293268阅读:1505来源:国知局
一种解决全渠道物流配送问题的优化方法与流程

本发明涉及计算机科学领域的选址-路径问题,特别涉及一种解决全渠道物流配送问题的优化方法。



背景技术:

随着互联网的普及,人们的衣食住行越来越离不开网络。在“互联网+”的时代背景下,众多传统企业纷纷谋求转型,以实现产业升级,企业更好地发展。利用互联网平台,企业可以进行线上和线下销售,拓宽了销售渠道,增加了客户来源。但是,在线上和线下资源融合的过程中,企业面临了新的挑战。以零售业为例,目前企业通过自营的配送模式满足线下各门店的订货需求,通过第三方物流公司对线上购买商品的顾客进行物品配送,无法做到对线上和线下的客户进行货物的统一配送。线下实体店销售,如便利店、超市等,具有货物需求量大,地理位置上小范围内聚集大范围内分散等特点,自营的配送模式容易出现车辆装载率低,空载率高等现象。线上销售具有客户来源广、规模大、地理位置分散、货物需求量小等特点,通过第三方物流进行配送则不能有效地利用企业自身的资源。这导致了企业的物流成本偏高,盈利能力下降,从而降低了企业的市场竞争力,制约了企业的发展。

全渠道物流配送指对线上和线下的销售渠道统一地进行货物配送。拟采用两级配送模式,如图1所示。企业在客户聚集的区域建立门店:超市、便利店或者自提柜,客户可以到距离最近的门店自行取货,门店除了具有销售商品功能外,还具有存放快件的功能。两级配送的流程如下:第一级,物品由企业从物流总仓出发统一配送到各个门店,一方面满足门店日常的订货需求,另一方面满足该门店所服务的电商客户货物需求。第二级,快递人员从门店取货对区域客户进行配送,客户也可以选择自行到门店取货。对企业而言,全渠道物流配送模式下门店数量将增加,门店每天需求量将急速增加,如何使用一组车辆对大规模门店和客户进行货物配送,是亟待解决的问题。

全渠道物流配送本质上需要解决一个选址-路径问题(location-routingproblem,lrp),是一个np-hard问题,在给定客户位置和配送中转站可能位置的情况下,确定中转站的数量、位置和配送车辆的运输路线,实现总成本最小化目标。lrp集成了选址-分派问题(location-allocationproblem,lap)和车辆路径问题(vehicle-routingproblem,vrp),因此,总成本由解决lap问题的开销和vrp问题的开销组成,可行的方案也由lap问题的解和vrp问题的解组成。在全渠道物流配送模式下,中转站为门店,不仅具有存放快件功能,还会产生订货需求。企业车队拥有不同的车型,因此,涉及的vrp问题具体为一个多车型车辆路径问题。常见解决lrp算法主要分为两类:精确算法和启发式算法。精确算法包括:分支限界法、整数规划法、非线性规划法。启发式算法主要为混合式算法,由简单构造算法和智能算法结合组成。简单构造算法包括:节约法、插入法和扫描法。智能算法包括:禁忌搜索算法、模拟退火算法、蚁群算法和遗传算法。精确算法可求得问题的最优解,但计算时间长,只适合解决小规模问题。在已有的混合式算法中,配送中转站只具有存放快件功能,从物流总仓到配送中转站的车辆为同一种车型,不能满足企业多车型配送、对线上线下渠道统一配送的需求,难以应用于实际场景中。



技术实现要素:

由于目前物流配送采用的算法难以满足实际需求,本发明提供一种基于拉格朗日松弛的自适应大规模邻域搜索算法解决全渠道物流配送问题,在多种现实约束条件下,能在限定时间内为企业提供有效的配送方案。

为了实现上述技术目的,本发明的技术方案是,

一种解决全渠道物流配送问题的优化方法,包括以下步骤:

步骤1,根据客户位置与备选门店的位置,使用拉格朗日松弛法为每个客户分配一个门店进行服务,即以所有客户到服务门店距离总和为连接开销,从备选门店集中确定一组门店的位置,使得所有客户的需求都被满足且建立开销与连接开销之和最少,这样来给每个客户指定服务的门店并确定门店的位置;

步骤2,根据门店的定货需求和所服务的客户需求,采用自适应大规模邻域搜索算法确定一组用于配送货物到各门店的车辆和每辆车的行驶路线:首先使用贪婪插入法构建包括门店和车辆路线分配的初始配送方案,然后采用移除初始配送方案中的门店的毁灭移除法来进行破坏,再通过重新将移除的门店插入到配送路线中的重建法来形成可行的配送方案,使车辆配送方案所需车辆数量最少,行驶路径最短;

步骤3,构建门店到其所服务客户的路径,采用贪婪插入法实现门店配送到客户的配送路线的最优化。

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤1中,来给每个客户指定服务的门店并确定门店的位置所采用的数学模型表达式为:

其中i为备选门店集合,i={1,2,3,…,m},j为客户集合,j={1,2,3,…,n},oi为备选门店i的建立开销,wi为备选门店i的存放容量,dj为客户j的需求量,

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤1中,使用拉格朗日松弛技术求解数学模型的步骤为:

步骤1)引入非负拉格朗日乘子λi松弛约束条件(2)得到:

步骤2)将(5)加入目标函数(1)中得松弛后的目标函数:

其中约束条件为公式(3)和公式(4);

步骤3)对于每一个门店j,采用动态规划法求得(1)中flap的下界,通过解决(6)中的对偶问题:

求得最合适的λi以得到问题flap的最优解;

步骤4)采用次梯度优化算法求解对偶问题(7)中最合适的λi,初始化向量λ0

为0,在t次与t+1次迭代中,向量λt计算方式如下:

其中xij(λt)为目标函数lr(λj)在λt下求得的最优解,ht为控制因子步长,当次梯度为0时停止迭代,或者当ht趋近于0或者无穷大时,lr(λt)趋近于d,计算停止;

步骤5)步长ht计算方法如下:

其中,0≤βt≤2,在lr(λt)上升时,βt保持不变,否则为当前值的一半,fup(t)为在迭代中记录的lr(λt)上界,flb(t)为lr(λt)的一个下界,为目标函数(6)的次梯度。

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤2中,使用贪婪插入法构建包括门店和车辆路线分配的初始配送方案的步骤为:

使用如下插入代价计算公式:

其中,u代表需要插入的门店,表示在该路线上门店i和门店j之间进行插入,路线对应的车型为k;的值由两部分开销组成,分别是u插入i和j的开销,以及新增一辆车服务u的开销;为车辆由门店i到门店u的开销,由两门店之间的距离乘以k车型每公里油耗得到;通过控制因子γ在插入当前路线或新增一辆车取得平衡,随机取值{0.00,0.05,0.10,...,1.65,1.70};

首先,初始化m辆车为空,m代表企业车队拥有车型的数量;然后逐一计算门店插入车辆所对应配送路线的插入代价,选择代价最低的路线进行插入,若插入后违反车辆最大转载容量约束,则新增一辆同类型车;不停迭代执行直到所有客户都被插入路线为止。

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤2中,采用移除初始配送方案中的门店的毁灭移除法来进行破坏的步骤,是通过随机选择门店进行移除的随机移除,计算门店从当前配送方案移除的开销值并按照从大到小的顺序进行移除的最坏移除,或随机对任一配送路线使用密度聚类技术进行聚类得到簇集合后移除任一簇的聚类移除中的一种移除方式进行移除。

所述的一种解决全渠道物流配送问题的优化方法,所述的最坏移除的步骤包括:

定义一个门店从当前配送方案移除的开销函数,每次进行移除迭代时,先计算所有未移除门店的开销值,并按大到小顺序排序,然后根据随机函数从序列中选择一个门店进行移除,随机函数保证在序列越靠前的位置越容易被选中。

所述的一种解决全渠道物流配送问题的优化方法,所述的密度聚类移除的步骤包括:

首先,设定需移除的门店数目为q,q取min{0.4n,60},其中n代表客户的总数,然后随机选择一条配送路线使用密度聚类技术进行聚类得到簇集合,从簇集合中随机选择一个簇进行移除,若簇中拥有的门店小于仍需移除门店数目,直接移除该簇,否则,从该簇中随机生成一个子集,使得子集中的门店数目等于仍需移除门店数目,重复执行直到q个门店被移除为止,在实现密度聚类时,需指定领域半径参数epsdistance和核心对象个数参数minpts,其中epsdistance由下式(11)决定,

(davg-dmin)*ξ(11)

其中,davg为随机选取的10个门店之间的平均距离,dmin为10个门店之间的最短距离,控制因子ξ取0到1之间的值;minpts每次随机取值{2,3,4},根据实际场景中聚集的门店数目进行设定。

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤2中,通过重新将移除的门店插入到配送路线中的重建法来形成可行的配送方案,是采用贪婪插入法或regret-2插入法来进行重建:

其中贪婪插入法为:在每次迭代中为一个移除门店寻找插入代价(10)最低的路线进行插入,以δfi,k表示将门店i插入路线k的代价函数,若因为违反车辆容量约束而无法将门店i插入路线k,则δfi,k=∞,重建时每次迭代寻找以下门店与路线的组合:

regret-2插入法为:以δfi1代表门店i插入最优路线的代价,δfi2代表门店i插入次优路线的代价,重建时在每次迭代中寻找以下差值最大的门店i进行插入处理:

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤2中,还包括在采用重建法形成可行的配送方案后,通过模拟退火接受准则来进行接受新解的步骤:

以接受新解x′的概率为:

其中,f(x)为衡量步骤2所得的配送方案好坏的总开销函数,t代表温度,由tinit开始降温,降温公式为t=t·ω,ω为冷却速率,取值范围0<ω<1,tinit通过解等式(15)得公式(16):

其中,finit(x)代表初始解构造方案总开销。

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤2中,还包括根据毁灭阶段与重建阶段选取不同算法而形成的算法组合来改善当前解的情况的步骤,根据不同算法组合求得的解的情况来给相应算法组合赋予对应分数,在下一次迭代前,使用轮盘赌选择法选择算法组合,算法终止条件为执行设定的最大迭代次数。

所述的一种解决全渠道物流配送问题的优化方法,所述的步骤3中,构建门店到其所服务客户的路径的过程为:通过贪婪插入法构建门店与其所服务客户之间的tsp路径,将客户k插入到客户i和j之间的插入代价为:dik+dkj-dij,其中dij代表客户i和j之间的距离,每次为一个门店选择插入代价最小的位置进行插入,直到所有客户插入配送路线中。

本发明的技术效果在于,发明一种三阶段算法解决全渠道物流配送问题,能在限定时间内为企业求得较优的配送方案。第一阶段使用拉格朗日松弛技术求解lap问题,通过松弛复杂的约束条件并加入目标函数中,使得问题求解难度大大降低。同时,拉格朗日松弛技术可提供复杂问题的一个下界,通过次梯度优化算法最大化下界求得问题最好解,求解质量高且算法易于实现,为第二阶段确定较好的门店位置和客户分配方案。第二阶段使用自适应大规模邻域搜索解决多车型车辆路径问题,根据配送门店规模大且在地理上小范围内聚集大范围内分散的特点,设计一组简单的毁灭和重建算法,使得自适应大规模邻域搜索算法可在解空间中大范围搜索可行解,能有效避免陷入局部最优的情况。同时,本发明在自适应大规模邻域搜索中实现的模拟退火接收准则能保证解的质量与算法的收敛性,算法在执行指定的迭代次数后输出结果,能满足时间约束要求,在限定时间内为企业求得较好的车辆配送方案。结合拉格朗日松弛技术的简单性和自适应大规模邻域搜索的有效性,混合算法整体求解效率高,能有效求解全渠道物流配送问题。

下面结合附图对本发明作进一步说明。

附图说明

图1为全渠道物流配送模式示意图;

图2为自适应大规模邻域搜索算法示意图;

图3为贪婪插入法示意图。

具体实施方式

本发明针对全渠道物流配送问题,提出一种三阶段解决算法。首先,使用拉格朗日松弛技术解决门店选址与客户分派问题。然后,通过自适应大规模邻域搜索算法解决物流总仓到各门店的路径规划问题,最后,采用贪婪插入法解决门店与其服务客户之间的路径规划问题。

本发明分三个阶段解决选址-路径问题:第一阶段,根据客户位置与备选门店的位置,为每个客户指定服务的门店,确定门店的位置,是一个设施选址问题,采用拉格朗日松弛技术进行求解。第二阶段,从物流总仓派一组车辆配送货物到各门店,满足门店的定货需求和其所服务的客户需求,构建每辆车行驶路线,是一个多车型车辆路径问题,采用自适应大规模邻域搜索算法解决。第三阶段,构建门店到其所服务客户的路径,客户可上门自取快件,也可由快递员进行配送,是一个旅行商问题(travelingsalesmanproblem,tsp),采用贪婪插入法解决。

第一阶段主要解决门店选址与客户分派的问题。每个备选门店存放快件容量有限,且具有建立开销。为每个客户分配一个门店进行服务,设所有客户到服务门店距离总和为连接开销。阶段目标是从备选门店集i中确定一组门店的位置,使得所有客户的需求都被满足且建立开销与连接开销之和最少,建立数学模型如式子(1-4)所示。

式中符号与变量参数定义如下:

i:备选门店集合,i={1,2,3,…,m}

j:客户集合,j={1,2,3,…,n}

oi:备选门店i的建立开销。

wi:备选门店i的存放容量。

dj:客户j的需求量

其中,约束条件(2)表示每个客户只能被一个门店服务;条件(3)表示门店服务的客户需求量之和不超过其存放容量;条件(4)表示若客户i由门店j进行服务,则在候选位置j处建立门店。通过拉格朗日松弛技术求解数学模型,引入拉格朗日乘子松弛约束条件(2),使得每个客户可被多个门店服务,问题(1)转化为背包问题,使用动态规划算法进行求解,得到问题(1)的下界。然后,求解(1)的拉格朗日对偶问题,使用次梯度优化算法,得到问题(1)的解,确定建立门店的位置和其所服务的客户。

第二阶段解决多车型车辆路径问题得到车辆配送方案。企业车队拥有多种车型,每种车型固定开销、可变开销、最大转载量不同。从物流总仓派一组车辆服务各门店,使各门店需求得到满足,门店需求包括门店订货需求和其服务客户需求总和。阶段目标是车辆配送方案所需车辆数量最少,行驶路径最短。使用自适应大规模领域搜索算法进行求解。自适应大规模领域搜索算法执行一次迭代主要包括产生初始解、毁灭(ruin)当前解、重建(recreate)可行解、自适应选择策略等步骤,如图2所示,其中ai代表算法组合,包含一种毁灭移除算法和一种重建算法,πi为其分数,决定ai被选择使用的概率。首先,使用一种简单构造算法产生初始的配送方案,如图2中子图a。接着,在毁灭阶段使用ai中的毁灭移除算法将q个门店从配送方案中移除,如图2中子图b。然后,在重建阶段使用ai中的重建算法将q个未分配门店重新插入配送路线上,形成可行的配送方案,如图2中子图c。最后,根据接收准则判断是否采纳新产生的配送方案,更新毁灭与重建阶段使用的算法组合ai的分数πi。自适应大规模领域搜索算法在执行指定的迭代次数后将输出当前能找到的最好解作为最终的配送方案。

第三阶段主要构建门店与其服务客户之间的tsp路径。客户到门店自取快递,也可由快递人员进行配送,快递人员配送的访问路线通过贪婪插入法产生。

上述三个阶段的计算过程具体包括以下步骤:

(1)在第一阶段使用拉格朗日松弛技术求解数学模型具体步骤如下:

1)引入非负拉格朗日乘子λi松弛约束条件(2)得到:

2)将(5)加入目标函数(1)中可得松弛后的目标函数:

约束条件为(3)和(4)

3)对于每一个门店j,目标函数(6)是一个背包问题,采用动态规划法可求得问题(1)中flap的下界,通过解决(6)中的对偶问题:

求得最合适的λi以得到问题flap的最优解。

4)采用次梯度优化算法求解对偶问题(7)中最合适的λi。初始化向量λ0为0,在t次与t+1次迭代中,向量λt计算方式如下:

其中xij(λt)为目标函数lr(λj)在λt下求得的最优解,ht为控制因子步长。当次梯度为0时算法停止迭代,或者当ht趋近于0或者无穷大时,lr(λt)趋近于d,算法停止。

5)步长ht计算方法如下:

其中,0≤βt≤2,一般取β0=2,在lr(λt)上升时,βt保持不变,否则为当前值的一半。fup(t)为算法在迭代中记录的lr(λt)上界,flb(t)为lr(λt)的一个下界。式子分母是次梯度的平方。

(2)第二阶段使用自适应大规模邻域搜索算法求解一组异型车辆从物流总仓到各门店的配送路线,具体步骤如下:

1)使用贪婪插入法构建初始配送方案,针对多车型车辆路径问题设计插入代价计算公式如下:

其中,u代表需要插入的门店,表示在该路线上门店i和门店j之间进行插入,路线对应的车型为k。的值由两部分代价决定,分别是u插入i和j的开销和新增一辆车服务u的开销。为车辆由门店i到门店u的开销,由两门店之间的距离乘以k车型每公里油耗开销得到。通过控制因子γ,可以在插入当前路线或新增一辆车取得平衡,随机取值{0.00,0.05,0.10,...,1.65,1.70}。

贪婪插入法过程:首先,初始化m辆车为空,m代表企业车队拥有车型的数量。然后,逐一计算门店插入车辆所对应配送路线的插入代价,选择代价最低的路线进行插入,若插入后违反车辆最大转载容量约束,则新增一辆同类型车。最后,不停迭代执行直到所有客户都被插入路线为止。

2)毁灭阶段定义了自适应大规模邻域搜索算法的邻域映射方式,使用一种简单的毁灭移除算法对当前配送方案进行破坏,移除q个门店。毁灭移除算法有如下3种:

a)随机移除:随机从门店集合中选择q个门店进行移除

b)最坏移除:定义一个门店从当前配送方案移除的开销函数,开销值越大,该门店越该从所属路线中移除。算法每次迭代时先计算所有未移除门店的开销值,并按大到小顺序排序。然后根据随机函数从序列中选择一个门店进行移除,随机函数保证在序列越靠前的位置越容易被选中。

c)聚类移除:定义了一种新的邻域映射方式,迭代执行以下步骤。首先,随机选择一条配送路线使用密度聚类技术进行聚类得到簇集合,然后从簇集合中随机选择一个簇进行移除,若簇中拥有的门店小于仍需移除门店数目,直接移除该簇。否则,从该簇中随机生成一个子集,使得子集中的门店数目等于仍需移除门店数目。步骤重复执行直到q个门店被移除为止。在实现密度聚类时,需指定领域半径参数epsdistance和核心对象个数参数minpts。epsdistance由公式(11)决定,其中,davg为随机选取的10个门店之间的平均距离,dmin为10个门店之间的最短距离,控制因子ξ在根据实际情况取0到1之间的值。minpts每次随机取值{2,3,4},可根据实际场景聚集门店数目进行设定。在门店规模大且聚集的情况下,对配送方案进行节点移除时,已有毁灭移除算法每次移除一个门店,门店可能来自不同的聚集块,这造成移除的门店插入原聚集块代价最低,在重建阶段该移除门店将重新被插入原聚集块。由于执行一轮毁灭和重建操作,配送方案没有发生变化,自适应大规模邻域搜索算法需执行多轮毁灭和重建操作才能移除整个聚集块,从而增加了算法整体的迭代次数和执行时间,面对大规模门店配送时,自适应大规模邻域搜索算法无法在有限时间内求得较优解。基于密度聚类进行移除时,对配送路线进行聚类,移除时以簇为单位,将整个聚集块移除,能在一次迭代中达到其它移除算法多次迭代的效果,同时,密度聚类算法实现简单,时间复杂度较低。因此,基于密度聚类的毁灭移除算法不仅减少了自适应大规模邻域搜索算法执行的迭代次数,还降低了算法整体执行时间。

(davg-dmin)*ξ(11)

3)重建算法将毁灭阶段移除的q个门店重新插入到配送路线中,形成可行的配送方案。重建算法有如下2种:

a)贪婪插入法:在每次迭代中为一个移除门店寻找插入代价(10)最低的路线进行插入。假设δfi,k表示将门店i插入路线k的代价函数,若因为违反车辆容量约束而无法将门店i插入路线k,δfi,k=∞。算法每次迭代寻找以下门店与路线的组合:

b)regret-2插入法:假设δfi1代表门店i插入最优路线的代价,δfi2代表门店i插入次优路线的代价,两者之间的差值越大说明该门店越不适合插入次优的路线中。regret-2插入法在每次迭代中寻找以下差值最大的门店i进行插入处理:

4)使用模拟退火算接受准则,算法接受比当前解更好的新解,也以一定概率接受比当前解更差的新解。接受新解x′的概率为:

其中,f(x)为配送方案的总开销函数,t代表温度,由tinit开始降温,降温公式为t=t·ω,冷却速率为ω,取值范围0<ω<1。初始温度tinit的设置对算法影响较大,为使算法采纳比当前最优解差5%的新解,解等式(15)得tinit公式(16):

其中,finit(x)代表初始解构造方案总开销。等式(14)左边为0.5,是为了保证算法刚开始迭代时,可接受比初始方案差50%的新解。

5)若新解被接受,根据算法组合改善当前解的情况分3个等级更新算法组合对应的分数:a)算法组合求得当前最优解时,组合分数增加30分;b)新解比当前解更优时,组合分数增加10分;c)新解质量不如当前解时,组合分数增加6分。在下一次迭代前,使用轮盘赌选择法选择算法组合,组合分数越高,被选择概率越大。算法终止条件为执行设定的最大迭代次数,毁灭阶段移除门店q设置为min{0.4n,60},其中n代表客户的总数,这是一个经验公式,小规模问题设为0.4n,大规模问题为60。由于对于不同的场景,最佳算法组合不同。为了使自适应大规模邻域搜索算法能自动选择最佳算法组合应用于不同的场景,需要增加自适应选择策略。每一个算法组合对应于一个分数,分数越高,越能说明该组合适合应用于当前的场景,所以,该组合应被更高概率选择使用。在新解被模拟退火接受准则采纳的情况下,分数更新规则分3个等级。

第三阶段使用贪婪插入法构建门店与其所服务客户之间的tsp路径。将客户k插入到客户i和j之间的插入代价为:dik+dkj-dij,其中dij代表客户i和j之间的距离。算法每次为一个门店选择插入代价最小的位置进行插入,直到所有客户插入配送路线中。在图3的例子中,将编号为5的客户插入路线中时,由于在客户3和客户2之间插入代价最低,客户5将被插入到3和2之间。

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