一种解决多配送中心两级城市协同配送的大邻域搜索方法

文档序号:30384472发布日期:2022-06-11 06:28阅读:236来源:国知局
一种解决多配送中心两级城市协同配送的大邻域搜索方法

1.本发明属于配送网络技术领域,具体涉及一种解决多配送中心两级城市协同配送的大邻域搜索方法。


背景技术:

2.在多配送中心的两级城市物流配送网络中(两级网络是指由配送中心到网点、网点到客户点组成的网络),协调各配送中心的市趟运输(指将货物从配送中心发往城市内各网点)线路与车辆调度可以降低网络运营成本、提高网点运作效率、提升客户时效感知度。
3.传统规划市趟运输线路和车辆调度的方法是使用人力借助excel完成市趟运输线路的排布与车辆调度。这种传统的方法在大规模规划任务中难以获得高质量的市趟运输线路和车辆调度方案,也不能根据实际运作情况快速、灵活地调整方案以使得网络高效地运作。目前,某些物流配送公司使用人工智能、运筹优化算法等规划市趟运输线路和车辆调度,这些算法将多配送中心网络中划分成多个单配送中心网络进行规划,得到单配送中心网络的较优市趟运输和车辆调度方案,依然未能解决多配送中心网络的协调运输问题,从而使得整体网络效率偏低,成本偏高。


技术实现要素:

4.本发明的目的是为了解决满足多配送中心网络协调与同步性要求下的市趟运输线路和车辆调度规划问题,提出了一种解决多配送中心两级城市协同配送的大邻域搜索方法。
5.本发明的技术方案是:一种解决多配送中心两级城市协同配送的大邻域搜索方法包括以下步骤:
6.s1:根据客户点与网点之间的距离,构造初始可行解;
7.s2:对初始可行解进行大邻域搜索,确定最新第二级配送网络;
8.s3:对最新第二级配送网络进行优化;
9.s4:基于优化后的最新第二级配送网络,对市趟运输线路进行重构,得到可行市趟运输线路;
10.s5:对可行市趟运输线路进行优化,并对由配送中心与网点之间的车辆运输线路构成的一级路径进行优化,得到最新可行解;
11.s6:根据最新可行解确定当前解,并根据模拟退火准则判断是否达到算法终止条件,若是则结束大邻域搜索,否则返回步骤s2。
12.进一步地,步骤s1包括以下子步骤:
13.s11:根据客户点与网点之间的距离,利用轮盘赌选择法将客户点分配至各网点,确定各网点对各配送中心的货物需求量;
14.s12:根据各网点对各配送中心的货物需求量,利用扫描算法确定各配送中心与各网点的市趟运输线路和车辆调度;
15.s13:根据市趟运输线路和车辆调度中车辆到达网点的时间,利用扫描算法确定各网点到达各客户点的最后一公里运输线路,确定初始可行解。
16.进一步地,步骤s2中,确定最新二级配送网络的具体方法为:利用移除算子和插入算子对网点与客户点组成的二级配送网络进行大邻域搜索,确定最新第二级网络;其中,移除算子包括随机移除算子、最坏移除算子、相关移除算子和线路移除算子;插入算子包括贪婪插入算子、贪婪扰动插入算子、贪婪禁忌插入算子和遗憾插入算子。
17.进一步地,随机移除算子进行大邻域搜索的具体方法为:从当前解中随机移除若干个客户点,得到当前解的邻域;
18.最坏移除算子进行大邻域搜索的具体方法为:从当前解中移除若干个使配送成本降低最多的客户点,得到当前解的邻域;
19.相关移除算子进行大邻域搜索的具体方法为:迭代运行相关移除算子若干次,随机选择一个客户点作为种子客户,移除与该种子客户相关度量最大的客户点,并从当前解中移除若干个客户点,得到当前解的邻域;
20.线路移除算子进行大邻域搜索的具体方法为:迭代随机移除各网点到达各客户点的最后一公里运输线路以及最后一公里运输线路中的客户点,直至被移除的客户点达到设定阈值,得到当前解的邻域;
21.贪婪插入算子进行大邻域搜索的具体方法为:将被移除的若干个客户点重新插入二级配送网络中;
22.贪婪扰动插入算子进行大邻域搜索的具体方法为:将被移除的若干个客户点重新插入二级配送网络中,并对插入产生的配送成本进行扰动;
23.贪婪禁忌插入算子进行大邻域搜索的具体方法为:将被移除的若干个客户点重新插入二级配送网络中,且插入位置不与上一次迭代时客户点的运输线路位置重叠;
24.遗憾插入算子进行大邻域搜索的具体方法为:将遗憾值最大的客户点重新迭代插入二级配送网络中;
25.其中,将初始可行解作为大邻域搜索的初始当前解,并将大邻域搜索中迭代产生的最新解作为当前解。
26.进一步地,相关度量r(i,j)的计算公式为:
[0027][0028]
其中,d
i,j
表示客户点i和客户点j之间的距离,表示客户点i对一个配送中心的货物需求量,表示客户点i对另一个配送中心的货物需求量,表示客户j对一个配送中心的货物需求量,表示客户j对另一个配送中心的货物需求量,表示第一权重参数,λ表示第二权重参数,θ表示第三权重参数;
[0029]
遗憾值最大的客户点i:的计算公式:
[0030][0031]
其中,d表示客户集合,k表示插入方式总数,f
ih
表示客户i的第h低的插入成本,f
i1
表示客户i的最低成本。
[0032]
进一步地,步骤s3中,对最新二级配送网络进行优化的具体方法为:以市趟运输线
路的片段为单位,利用2-opt*算子在最新二级配送网络中进行组合搜索,利用swap算子交换最新二级配送网络中的所有客户点,得到最优运输线路,完成最新二级配送网络优化。
[0033]
进一步地,步骤s4中,对市趟运输线路进行重构的具体方法为:将距离配送中心最远的网点插入至空闲市趟运输线路中,迭代将所有未规划的网点插入至空闲市趟运输线路中运输成本最少的线路位置处,并根据运输车辆的容量限制、网点的作业时间窗限制和客户点时效限制,将最新的市趟运输线路分割得到若干条可行市趟运输线路。
[0034]
进一步地,步骤s5中,对可行市趟运输线路进行优化的具体方法为:利用网点移除算子将可行市趟运输线路中各运输车辆不同步到达的网点移除,利用网点插入算子将被移除的网点重新插入至可行市趟运输线路中,以使优化后的最新二级配送网络的运输成本最小,完成对可行市趟运输线路的优化;
[0035]
步骤s5中,利用2-opt局部搜索算子、relocate局部搜索算子和swap局部搜索算子对一级路径进行优化。
[0036]
进一步地,步骤s6中,若最新可行解目标函数值低于设定的当前最优目标函数值,则将最新可行解作为当前最优解;
[0037]
若最新可行解目标函数值低于当前解目标函数值但高于当前最优目标函数值,则将最新可行解作为当前解;
[0038]
若最新可行解目标函数值劣于当前解目标函数值,则根据最新可行解的接受概率判断是否将最新可行解目标函数值作为当前解,其中,t
cur
表示当前温度,f(s
new
)和f(s
cur
)分别表示新解s
new
和当前解s
cur
的目标函数值;
[0039]
步骤s6中,若模拟退火准则中设定的当前温度t
cur
低于结束温度t
end
,则输出当前最优解,否则返回步骤s2进入下一次迭代,直至结束大邻域搜索。
[0040]
本发明的有益效果是:
[0041]
(1)本发明通过整体优化两级配送网络中的市趟运输线路、最后一公里线路以及车辆调度,降低了整体网络成本而不仅是某单一配送中心配送网络成本;
[0042]
(2)本发明使用精心设计的网点移除和插入算子调度市趟运输车辆到达各网点的时间,消除了市趟运输车辆到达网点的时间超出网点作业班次时间窗所带来的网点运作痛点;
[0043]
(3)本发明采用更优的线路排布和车辆调度使得车辆使用数量大幅减少,降低了企业的资金占用。
附图说明
[0044]
图1为大邻域搜索方法的流程图。
具体实施方式
[0045]
下面结合附图对本发明的实施例作进一步的说明。
[0046]
在描述本发明的具体实施例之前,为使本发明的方案更加清楚完整,首先对本发明中出现的缩略语和关键术语定义进行说明:
[0047]
轮盘赌选择法:是最简单也是最常用的选择方法,在该方法中,各个个体的选择概率和其适应度值成比例,适应度越大,选中概率也越大。但实际在进行轮盘赌选择时个体的
选择往往不是依据个体的选择概率,而是根据“累积概率”来进行选择。
[0048]
扫描算法:采用极坐标来表示各需求点的区位,然后任取一需求点为起始点,定其角度为零度,以顺时钟或逆时钟方向,以车容量为限制条件进行服务区域之分割,再建构车辆排程路线。
[0049]
2-opt*算子:属于局部搜索算法,局部搜索算法是解决组合优化问题的有效工具。
[0050]
2-opt局部搜索算子:基本思想为在一条路径中随机选取两个点,将这两点之间的路径翻转,从而得到一条新路径,不断迭代运行以期通过搜索得到更好的解。
[0051]
relocate局部搜索算子:基本思想为将某条路径中点重新分配到其他路径中,不断迭代运行以期通过搜索得到更好的解
[0052]
swap局部搜索算子:基本思想为交换相同或不同路径中的两个点的位置以得到更好的线路排布。
[0053]
如图1所示,本发明提供了一种解决多配送中心两级城市协同配送的大邻域搜索方法,包括以下步骤:
[0054]
s1:根据客户点与网点之间的距离,构造初始可行解;
[0055]
s2:对初始可行解进行大邻域搜索,确定最新第二级配送网络;
[0056]
s3:对最新第二级配送网络进行优化;
[0057]
s4:基于优化后的最新第二级配送网络,对市趟运输线路进行重构,得到可行市趟运输线路;
[0058]
s5:对可行市趟运输线路进行优化,并对由配送中心与网点之间的车辆运输线路构成的一级路径进行优化,得到最新可行解;
[0059]
s6:根据最新可行解确定当前解,并根据模拟退火准则判断是否达到算法终止条件,若是则结束大邻域搜索,否则返回步骤s2。
[0060]
在本发明实施例中,步骤s1包括以下子步骤:
[0061]
s11:根据客户点与网点之间的距离,利用轮盘赌选择法将客户点分配至各网点,确定各网点对各配送中心的货物需求量;
[0062]
s12:根据各网点对各配送中心的货物需求量,利用扫描算法确定各配送中心与各网点的市趟运输线路和车辆调度;
[0063]
s13:根据市趟运输线路和车辆调度中车辆到达网点的时间,利用扫描算法确定各网点到达各客户点的最后一公里运输线路,确定初始可行解。
[0064]
在满足网点作业班次时间窗(即当某一班次网点作业的时间间隔)以及客户时效要求下,综合使用轮盘赌选择法和扫描算法构造一个初始可行解。
[0065]
对于初始解的构造,首先基于两点之间的导航距离使用轮盘赌选择法将客户点分配给各网点,从而确定了各网点对各配送中心的货物需求量,随即使用扫描算法在满足客户时效的要求下规划配送中心到网点的市趟运输线路与车辆调度,再根据市趟运输车辆实际到达网点的时间使用扫描算法规划网点到客户的最后一公里运输线路,从而获得一个初始可行解。
[0066]
在本发明实施例中,步骤s2中,确定最新二级配送网络的具体方法为:利用移除算子和插入算子对网点与客户点组成的二级配送网络进行大邻域搜索,确定最新第二级网络;其中,移除算子包括随机移除算子、最坏移除算子、相关移除算子和线路移除算子;插入
算子包括贪婪插入算子、贪婪扰动插入算子、贪婪禁忌插入算子和遗憾插入算子。
[0067]
从设计的移除和插入算子池中,根据各算子在之前算法迭代中的效果选择并使用一对移除和插入算子对第二级网络(即网点到客户组成的网络)进行大邻域搜索获得一个新的第二级网络。
[0068]
在本发明实施例中,随机移除算子进行大邻域搜索的具体方法为:从当前解中随机移除若干个客户点,得到当前解的邻域;
[0069]
最坏移除算子进行大邻域搜索的具体方法为:从当前解中移除若干个使配送成本降低最多的客户点,得到当前解的邻域;
[0070]
相关移除算子进行大邻域搜索的具体方法为:迭代运行相关移除算子若干次,随机选择一个客户点作为种子客户,移除与该种子客户相关度量最大的客户点,并从当前解中移除若干个客户点,得到当前解的邻域;
[0071]
线路移除算子进行大邻域搜索的具体方法为:迭代随机移除各网点到达各客户点的最后一公里运输线路以及最后一公里运输线路中的客户点,直至被移除的客户点达到设定阈值,得到当前解的邻域;
[0072]
贪婪插入算子进行大邻域搜索的具体方法为:将被移除的若干个客户点重新插入二级配送网络中;
[0073]
贪婪扰动插入算子进行大邻域搜索的具体方法为:将被移除的若干个客户点重新插入二级配送网络中,并对插入产生的配送成本进行扰动;
[0074]
贪婪禁忌插入算子进行大邻域搜索的具体方法为:将被移除的若干个客户点重新插入二级配送网络中,且插入位置不与上一次迭代时客户点的运输线路位置重叠;
[0075]
遗憾插入算子进行大邻域搜索的具体方法为:将遗憾值最大的客户点重新迭代插入二级配送网络中;
[0076]
其中,将初始可行解作为大邻域搜索的初始当前解,并将大邻域搜索中迭代产生的最新解作为当前解。
[0077]
在算法首次运行时,当前解就是初始解;算法每次迭代都是从一个当前可行解开始,随着算法不断地迭代运行,当前解也不断更新,此处描述移除算子基于算法的一般迭代过程,因此以当前解作为描述对象。
[0078]
在本发明实施例中,贪婪插入算子依据当前插入成本最小原则,在满足客户时效要求前提下迭代地将被移除的客户重新插入第二级配送网络中形成完整、可行的第二级配送网络。
[0079]
贪婪扰动插入算子与贪婪插入算子相似,区别在于将客户重新插入到当前解中时对产生的成本进行扰动,从而使得搜索得到的解具有多样性。
[0080]
贪婪禁忌插入算子与贪婪插入算子相似,区别在于将客户重新插入到当前解中时禁止将该客户重新插入到上一次迭代时该客户所处的线路位置中,以增加解的多样性。
[0081]
遗憾插入算子针对贪婪插入算子的短视性进行改进,迭代地将遗憾值最大的客户重新插入到第二级配送网络中。遗憾值的含义是将某客户插入到各个线路前后所产生的成本差值进行升序排列,计算第2到第k种插入方式与第1种插入方式的差值之和,该结果表示若不将该客户插入到使成本增加最少的位置所造成的遗憾。每次迭代所选择的待插入客户
计算公式为:然后将该客户插入使成本增加最少的第二级配送网络位置中,并满足客户时效要求,从而形成完整、可行的第二级配送网络。
[0082]
在本发明实施例中,相关度量r(i,j)的计算公式为:
[0083][0084]
其中,d
i,j
表示客户点i和客户点j之间的距离,表示客户点i对一个配送中心的货物需求量,表示客户点i对另一个配送中心的货物需求量,表示客户j对一个配送中心的货物需求量,表示客户j对另一个配送中心的货物需求量,表示第一权重参数,λ表示第二权重参数,θ表示第三权重参数;
[0085]
遗憾值最大的客户点i:的计算公式:
[0086][0087]
其中,d表示客户集合,k表示插入方式总数,f
ih
表示客户i的第h低的插入成本,f
i1
表示客户i的最低成本。
[0088]
在本发明实施例中,步骤s3中,对最新二级配送网络进行优化的具体方法为:以市趟运输线路的片段为单位,利用2-opt*算子在最新二级配送网络中进行组合搜索,利用swap算子交换最新二级配送网络中的所有客户点,得到最优运输线路,完成最新二级配送网络优化。
[0089]
2-opt*算子以线路的片段为单位,在所有第二级线路之间进行组合搜索以获得更优的线路排布。swap算子尝试交换所有第二级线路的所有客户,以获得更优的线路排布。
[0090]
在使用2-opt*和swap算子时,使用一种预留时间gap(间隔)的方法快速检查线路的时间可行性以满足客户时效要求。即我们计算在当前所有线路中的客户距离达到时效要求的gap值,然后计算各配送中心直发各网点的市趟运输线路所需的时间,通过比较gap值和直发市趟运输时间可以快速判定时间可行性,提高算法效率。
[0091]
在本发明实施例中,步骤s4中,对市趟运输线路进行重构的具体方法为:将距离配送中心最远的网点插入至空闲市趟运输线路中,迭代将所有未规划的网点插入至空闲市趟运输线路中运输成本最少的线路位置处,并根据运输车辆的容量限制、网点的作业时间窗限制和客户点时效限制,将最新的市趟运输线路分割得到若干条可行市趟运输线路。
[0092]
在本发明实施例中,步骤s5中,对可行市趟运输线路进行优化的具体方法为:利用网点移除算子将可行市趟运输线路中各运输车辆不同步到达的网点移除,利用网点插入算子将被移除的网点重新插入至可行市趟运输线路中,以使优化后的最新二级配送网络的运输成本最小,完成对可行市趟运输线路的优化;
[0093]
使用网点移除算子和网点插入算子对市趟运输线路及车辆调度进行优化。网点移除算子将那些出现了各市趟运输车辆不同步到达的网点移除。网点插入算子以整体二级配送网络成本最小为原则将被移除的网点重新插入到市趟运输线路中,从而获得新的、完整、可行、更优的两级配送网络,并在整体网络成本最低的要求下尽可能的消除了各市趟运输车辆到达各网点的不同步性。
[0094]
步骤s5中,利用2-opt局部搜索算子、relocate局部搜索算子和swap局部搜索算子
对一级路径进行优化。
[0095]
在本发明实施例中,步骤s6中,若最新可行解目标函数值低于设定的当前最优目标函数值,则将最新可行解作为当前最优解;整个算法运行过程中主要存在2种解:当前解、最优解,二者都随算法运行不断变化,也都分别对应一个目标函数值;最优目标函数值对应最优解的目标函数值,那么优于最优解不断变化,最优目标函数值也随之不断变化,因此当前目标函数值就是算法运行过程中当前得到的最优解对应的目标函数值。
[0096]
若最新可行解目标函数值低于当前解目标函数值但高于当前最优目标函数值,则将最新可行解作为当前解;
[0097]
若最新可行解目标函数值劣于当前解目标函数值,则根据最新可行解的接受概率判断是否将最新可行解目标函数值作为当前解,其中,t
cur
表示当前温度,f(s
new
)和f(s
cur
)分别表示新解s
new
和当前解s
cur
的目标函数值;程序会生成随机数以判断是否接受该新解;
[0098]
步骤s6中,若模拟退火准则中设定的当前温度t
cur
低于结束温度t
end
,则输出当前最优解,否则返回步骤s2进入下一次迭代,直至结束大邻域搜索。
[0099]
本发明的工作原理及过程为:本发明的基本思想是从一个初始可行解出发,使用一对契合多配送中心两级城市物流配送网络的市趟运输线路与车辆调度规划问题的算子得到当前解的邻域,再使用若干局部搜索算子提高该邻域解的质量,在得到第二级的线路与车辆调度方案后,使用重构方法对第一级的市趟运输线路与车辆调度进行重构使其成为可行解,再使用我们设计的网点移除和插入算子对各配送中心同步性要求进行优化并得到新的可行解,再使用若干局部搜索算子对该新可行解进行优化,根据模拟退火准则判定解的接受与否再进入下一次迭代,直到算法达到退出条件输出最优解。
[0100]
本发明的有益效果为:
[0101]
(1)本发明通过整体优化两级配送网络中的市趟运输线路、最后一公里线路以及车辆调度,降低了整体网络成本而不仅是某单一配送中心配送网络成本;
[0102]
(2)本发明使用精心设计的网点移除和插入算子调度市趟运输车辆到达各网点的时间,消除了市趟运输车辆到达网点的时间超出网点作业班次时间窗所带来的网点运作痛点;
[0103]
(3)本发明采用更优的线路排布和车辆调度使得车辆使用数量大幅减少,降低了企业的资金占用。
[0104]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1