掌桥专利:专业的专利平台
掌桥专利
首页

基于注意力指针网络的分布式物流配送路径规划方法及系统

文献发布时间:2024-04-18 19:58:53


基于注意力指针网络的分布式物流配送路径规划方法及系统

技术领域

本发明属于车辆路径规划技术领域,尤其涉及一种基于注意力指针网络的分布式物流配送路径规划方法及系统。

背景技术

在物流运输过程中,运输的距离和时长占运输成本很大比重,也就是说运输路径选择的合理性是影响运输成本的重要因素。路径优化则是根据不同的策略提升运输路径选择合理性的重要技术之一。目前,很多学者针对车辆路径规划提出了不同算法。目前常见的算法有传统的启发式算法和基于强化学习的规划算法等。基于强化学习的规划算法具有求解速度快和求解质量高等优点。但其存在一个明显缺点,训练后的模型无法用于分布式物流配送路径规划问题模型上,即具有局限性。

进一步地,分布式物流配送路径规划问题类似于一对一取送货车辆路径规划问题。指物流配送过程中的货物接收和货物配送分布在不同的物流节点中,同时取货节点与配送节点之间是确定的一对一关系,也就是说一个配送节点只能从一个取货节点取货,一个取货节点只能服务于一个配送节点,同时分布式物流配送路径规划问题允许车辆在使路程更短的情况下,先收取多个客户的货物再进行统一配送。而传统车辆路径规划问题是一取多送的模式,即从仓库出发到每个客户目的地进行货物分发的模式。

发明内容

为解决背景技术中提到现有技术的不足,本发明提供了一种基于注意力指针网络的分布式物流配送路径规划方法及系统。

为了实现上述目的,本发明采用以下技术方案:

基于注意力指针网络的分布式物流配送路径规划方法,其按如下步骤进行:

S1.以总行驶距离为优化目标,建立分布式物流配送路径规划问题的数学模型;车辆路径规划问题是指在给定一组地点或任务以及一组车辆的情况下,找到一种最优的方式来分配任务并规划车辆的路径,以最小化总成本或总行驶距离。而分布式物流配送路径规划问题指物流配送过程中的货物接收和货物配送分布在不同的物流节点中,同时取货节点与配送节点之间是确定的一对一关系,也就是说一个配送节点只能从一个取货节点取货,一个取货节点只能服务于一个配送节点。

S2.以Actor-Critic模型构造总网络。注意力指针网络作为Actor网络,包括嵌入层、解码器和注意力层。设置训练轮数并确定用于训练的问题实例,包含坐标位置信息和货物需求量;

S3.初始化Actor网络参数和Critic网络参数,将设置好的一个批次的问题实例数据输入注意力指针网络的嵌入层中处理;

S4.使嵌入输入全连接到注意力层,注意力层结合解码器中的隐状态计算出下一时刻动作的概率分布。概率分布结合当前时刻状态,由Actor网络做出动作决策;

S5.执行决策的动作,记录路径轨迹并更新环境状态,返回执行步骤S4(即重复步骤S4和S5)直到运行完一个批次的问题实例;

S6.使用路径轨迹计算奖励,再用奖励计算梯度,并使用梯度更新网络参数,每一批次问题实例按步骤S3、S4、S5、S6重复直到完成设置的训练轮数;

S7.保存训练好的模型,并使用其求解新的问题实例,输出路径规划的解。

进一步的,所述步骤S1中,数学模型的基本假设建立如下:

(1)关注区域内不含配送中心,客户节点分成取货节点和配送节点,取货节点与配送节点之间是一对一的关系;

(2)送货车辆在区域内的随机一点出发完成对各个客户节点的服务,服务方式为先取货后送货;

(3)订单信息在送货车辆出发前已经确定,给定客户节点的坐标及货物供给或需求量;

(4)在配送过程中,订单均可一次取货或配送成功,配送订单需求不可拆分,即每个客户节点只能被访问一次。单一客户需求不超过车辆最大容量;

(5)一辆车可以同时配送多个顾客,但途经的客户节点的总需求量要小于车辆的最大载重。

优化目标可以表示为:

在该模型中优化目标为最大化收益,表示为加权的配送过程中所有收取的货物数量减去加权的车辆在收取与配送过程中行驶的总距离。其中α,β,γ表示目标函数加权系数,V

进一步的,所述步骤S2中,对于注意力指针网络,在网络的嵌入层中,使用一维卷积层进行嵌入,将输入映射到K维向量空间,滤波器的数量是K。映射采用的是仿射变换。解码器使用了一个长短期记忆网络单元。在网络的注意力层中,使用可变长度对齐向量从输入中提取特征。h

进一步的,所述步骤S3中,初始化Actor网络参数θ,Critic网络参数φ,将设置好的一个批次的问题实例数据输入网络的嵌入层,共B个批次,每个批次样本数为N,其中输入数据包括X={x

进一步的,所述步骤S4中,v

进一步的,所述步骤S5中,将决策动作y

进一步的,所述步骤S6中,使用

进一步的,在所述步骤S7中,经过上述训练的迭代过程,将最终训练的模型权重保存下来。

本发明还公开了一种基于注意力指针网络的分布式物流配送路径规划系统,基于上述的方法,其包括如下模块:

数学模型建立模块:以总行驶距离为优化目标,建立分布式物流配送路径规划问题的数学模型;车辆路径规划问题是指在给定一组地点或任务以及一组车辆的情况下,找到一种最优的方式来分配任务并规划车辆的路径,以最小化总成本或总行驶距离。而分布式物流配送路径规划问题指物流配送过程中的货物接收和货物配送分布在不同的物流节点中,同时取货节点与配送节点之间是确定的一对一关系,也就是说一个配送节点只能从一个取货节点取货,一个取货节点只能服务于一个配送节点;

总网络构造模块:以Actor-Critic模型构造总网络;注意力指针网络作为Actor网络,包括嵌入层、解码器和注意力层;确定用于训练的问题实例,包含坐标位置信息和货物需求量;

网络参数初始化模块:设置训练轮数并确定用于训练的问题实例,包含坐标位置信息和货物需求量;初始化Actor网络参数和Critic网络参数,将设置好的一个批次的问题实例数据输入注意力指针网络的嵌入层中处理;

动作决策产生模块:使嵌入输入全连接到注意力层,注意力层结合解码器中的隐状态计算出下一时刻动作的概率分布;概率分布结合当前时刻状态,由Actor网络做出动作决策;

动作决策执行模块:执行决策的动作,记录路径轨迹并更新环境状态;对同一批次内的问题实例进行重复;

问题实例训练模块:用路径轨迹计算奖励,用奖励计算梯度,用梯度更新网络参数,每一批次问题实例重复训练直到完成设置的训练轮数;

问题实例求解模块:保存训练好的模型,使用其求解新的问题实例,输出路径规划的解。

本发明与现有技术相比,其显著效果如下:

1.相较于启发式算法求解路径规划问题,本发明采用神经网络在训练好模型后求解时间将大大减少。客户点越多,差距越明显。

2.路径规划问题中,客户需求量是随时间变化的动态元素,为解决动态元素在传统指针网络中计算复杂的问题,本发明引入了注意力指针网络对动态元素进行处理。在网络的注意力层中,使用可变长度对齐向量从输入中提取特征。对齐向量指定每个输入数据在下一个解码步骤中的相关性。对齐向量与输入作加权和获得上下文向量。首先是对齐向量可以增大发生变化的输入的权重,使得网络更加关注发生变化的输入,其次计算对齐向量和上下文向量都使用到了输入,其引导了模型重点关注了和任务相关的有用的输入信息。

3.本发明对现有方法进行修改,延伸了适用问题范围,使得注意力指针网络也能处理分布式物流配送路径规划问题。

附图说明

图1是本发明优选实施例基于注意力指针网络的分布式物流配送路径规划方法的步骤流程图。

图2是注意力指针网络的模型图。

图3是本发明优选实施例步骤S2中基于注意力指针网络构建的结构模型图。

图4是本发明优选实施例基于注意力指针网络的分布式物流配送路径规划系统框图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。

实施例1:

如图1-3所示,本实施例提供了一种基于注意力指针网络的分布式物流配送路径规划方法,其具体实现流程包括如下步骤:

S11.考虑装车约束下的物流配送问题,基于车辆路径规划问题的相关理论,以总行驶距离为优化目标,建立分布式物流配送路径规划问题的数学模型。

车辆路径规划问题是指在给定一组地点或任务以及一组车辆的情况下,找到一种最优的方式来分配任务并规划车辆的路径,以最小化总成本或总行驶距离。而分布式物流配送路径规划问题指物流配送过程中的货物接收和货物配送分布在不同的物流节点中,同时取货节点与配送节点之间是确定的一对一关系,也就是说一个配送节点只能从一个取货节点取货,一个取货节点只能服务于一个配送节点。

在上述以总行驶距离为优化目标的基础上,该场景下的分布式物流配送路径规划问题数学模型所涉及的参数及其定义表示如下表。

模型的约束条件如下:

p

s

V

0≤V

0≤Z

其中,约束(1)、(2)表示每个客户点只被访问一次。约束(3)表示车辆访问的某客户点即下次访问的离开点。约束(4)为车辆的负载约束,车辆单次接收的货物重量不得超过车辆的额定负载。约束(5)表示客户的配送需求不得超过车辆的额定负载,结合约束(1)、(2),即模型禁止需求分割。约束(6)表示至少存在一对客户节点的取货需求和配送需求相等,取货节点与配送节点是一对一关系。约束(7)和(8)表示取货需求和配送需求于车辆的关系,保证满足客户的需求。约束(9)为容量约束,保证每段上一个客户节点到下一个客户节点的路径上的总载重量小于车辆容量。约束(10)和(11)表示参数范围。约束(12)为容量约束,表示每个客户的需求货物重量都不大于车辆额定负载;

S12.构造如图2所示的注意力指针网络,注意力指针网络包含嵌入层、解码器和注意力层,嵌入层如上所述使用一维卷积,将输入映射到K维向量空间,滤波器的数量是K;映射采用仿射变换;解码器使用了一个长短期记忆网络单元;在网络的注意力层中,使用可变长度对齐向量从输入中提取特征;h

解码器使用了一个长短期记忆网络单元。它有三个门:输入门、遗忘门和输出门。这些门能够控制信息流的量,并决定哪些信息应该被传递和哪些信息应该被遗忘。输入门为i

f

i

o

h

其中f

使用注意力指针网络构建如图3所示总网络模型;

S13.初始化Actor网络参数θ和Critic网络参数φ,批次设置为60000,每一批次128个随机问题实例,即N=128。将设置好的问题实例数据输入注意力指针网络的嵌入层中,其中输入数据包括X={x

S14.在网络的注意力层中,使用可变长度对齐向量从输入中提取特征。对齐向量指定每个输入数据在下一个解码步骤中的相关性。对齐向量与输入作加权和获得上下文向量。首先是对齐向量可以增大发生变化的输入的权重,使得网络更加关注发生变化的输入,其次计算对齐向量和上下文向量都使用到了输入,其引导了模型重点关注了和任务相关的有用的输入信息。因此,该注意力层帮助了网络关注动态元素。网络使用这些信息计算下一动作的概率,再使用这个概率决策出当前时刻的动作。

具体的,v

S15.执行步骤S14决策的动作,将决策动作y

S16.如步骤S6中,使用

更新有偏一阶矩估计:m

更新有偏二阶矩估计:

计算偏差校正的一阶矩估计:

计算偏差校正的二阶矩估计:

更新参数:

计算梯度的指数移动平均数m

S17.保存训练完成的模型,使用其求解新的问题实例,输出路径规划的解。

本实施例的具体思路如下:首先定义一个路径组合优化问题的输入集X,输入集中包括了客户节点和送货车辆出发节点,其中客户节点包括了取货点和送货点。每个节点都有静态元素和动态元素,以元组的形式表示。静态元素指的是节点的二维坐标信息,动态元素指的是节点的货物需求量。如果一个客户节点为取货点那么它的货物需求量为负。如果一个客户节点为送货点那么它的货物需求量为正。送货车辆出发节点的需求量设为0。本发明假设取货点和送货点成对出现,且每一对取货点和送货点所需要运输的货物尺寸不同。也就是说,一对取货点和送货点它们的需求量互为相反数。然后还对货物进行分类,一对取货点和送货点要求运输同一类货物。

得益于注意力指针网络,输入集中的动态元素可以在每个解码步骤中发生改变。例如,当送货车辆访问客户节点时,被访问的客户节点的动态元素就会发生变化。事实上,许多VRP都符合这种情况。变化的情况视乎问题的模型而定,本发明禁止需求分割的问题模型,所以每个客户节点只会被访问一次,被访问时完成需求,使其动态元素变为0。

从0时刻的输入X

由于客户点的输入顺序并不影响路径序列Y的生成,任何的随机排列都包含相同的信息,因此,在数据预处理阶段直接使用嵌入层对输入进行接收和处理。嵌入层将输入映射到一个高维空间,嵌入层的作用与其他网络模型中的编码器相同,是将环境状态的信息转换成一个固定形状的向量,这个向量可以包含关于环境状态的各种信息。这个向量可以被传递到智能体的决策模型中,以帮助智能体做出更好的决策。

在指针网络中,RNN解码器通常结合前一解码时刻的隐状态用于生成动作,将编码后的向量转换为智能体的决策输出。而在注意力指针网络中,RNN解码器的作用是使用隐状态和指针指向的输入生成下一时刻动作的概率分布,同时将这个概率分布传递到下一层中使用注意力机制计算。说明一下,这里RNN解码器的输入是指针所指向的输入信息中的静态元素。

嵌入后的输入、RNN解码器隐状态和RNN解码器生成的下一时刻动作的概率分布被输入到注意力指针网络的注意力层中。注意力层先计算对齐向量,再使用对齐向量计算出上下文向量。最后由上下文向量和嵌入输入计算得出下一时刻动作的概率分布。生成的概率分布将被传输到Actor网络中进行决策。

当智能体做出动作决策后会将动作传递到环境中与环境进行交互。环境会根据当前的状态和接收到的动作计算智能体的奖励和下一个时刻的状态。分布式物流配送路径规划的环境的状态有三大要素:一是送货车辆的装载状态;二是客户节点的需求信息;三是Mask。首先送货车辆的装载状态是对每一对取货点和送货点要求运输的货物分开计数,而不是单独计算车辆的总装载量。客户节点的需求信息是指嵌入输入中的客户节点需求量。被访问的客户节点在被满足需求后,其需求量将更新为0。Mask是一种用于将一些特定的输入数据屏蔽掉的机制。以便在下一时刻计算动作分布概率时,只考虑与当前时间步相关的信息。Mask的更新流程较前两个要素复杂,第一步先根据当前时刻动作以及上一时刻计算保存的送货车辆的装载量,计算并更新装车结果。第二步是对下一时刻可能选取到的动作进行预测计算。假如下一时刻选取到的是取货点,则结合装车结果计算剩余装载量,判断能否满足装车约束和客户点需求,若不能则将该动作通过Mask屏蔽,减小该动作的分布概率;假如下一时刻选取到的是送货点,则看送货车辆已装载货物能否满足该点需求,若不能则同样通过Mask屏蔽减小该动作的分布概率。

与环境交互完成之后,更新后的状态会传到Critic网络中结合Actor网络的动作更新权重向量,并计算出一个状态价值传给Actor网络。Actor网络在收到状态和状态价值之后,计算梯度,更新自己的权重向量然后进行下一次循环。

达到终止条件后,训练的结果以模型的形式保存。保存的模型可输入测试用例进行测试,查看训练结果。

测试例:

本实例中,客户节点和送货车辆出发节点的横纵坐标都从范围[0,1]内按均匀分布随机选择。本实例中,客户节点的需求量是在范围[1,9]内按均匀分布随机选择,而车辆出发节点的需求量设为0。生成1000个测试实例使用模型求解,分别进行贪心搜索和集束搜索输出预测结果。下表是本发明其中一个测试用例用户节点为10的分布式物流配送路径规划问题的输出解。

其中,0-9是客户节点,10是车辆出发点,货物需求为负数表示为在该点取货,正数表示为在该点卸货,最终路径只显示质量最高的解。

实施例2

如图4所示,本实施例一种基于注意力指针网络的分布式物流配送路径规划系统,基于实施例1所述的方法,其包括如下模块:

数学模型建立模块:以总行驶距离为优化目标,建立分布式物流配送路径规划问题的数学模型;车辆路径规划问题是指在给定一组地点或任务以及一组车辆的情况下,找到一种最优的方式来分配任务并规划车辆的路径,以最小化总成本或总行驶距离。而分布式物流配送路径规划问题指物流配送过程中的货物接收和货物配送分布在不同的物流节点中,同时取货节点与配送节点之间是确定的一对一关系,也就是说一个配送节点只能从一个取货节点取货,一个取货节点只能服务于一个配送节点;

总网络构造模块:以Actor-Critic模型构造总网络;注意力指针网络作为Actor网络,包括嵌入层、解码器和注意力层;确定用于训练的问题实例,包含坐标位置信息和货物需求量;

网络参数初始化模块:设置训练轮数并确定用于训练的问题实例,包含坐标位置信息和货物需求量;初始化Actor网络参数和Critic网络参数,将设置好的一个批次的问题实例数据输入注意力指针网络的嵌入层中处理;

动作决策产生模块:使嵌入输入全连接到注意力层,注意力层结合解码器中的隐状态计算出下一时刻动作的概率分布;概率分布结合当前时刻状态,由Actor网络做出动作决策;

动作决策执行模块:执行决策的动作,记录路径轨迹并更新环境状态;对同一批次内的问题实例进行重复;

问题实例训练模块:用路径轨迹计算奖励,用奖励计算梯度,用梯度更新网络参数,每一批次问题实例重复训练直到完成设置的训练轮数;

问题实例求解模块:保存训练好的模型,使用其求解新的问题实例,输出路径规划的解。

本实施例其他内容可参考实施例1。

综上,本发明基于注意力指针网络的分布式物流配送路径规划方法及系统,解决了分布式物流配送路径规划问题,加入了一对一配送的约束条件,改进了环境函数、奖励函数以及各种参数来适应该问题。最终实现了使用注意力指针网络解决分布式物流配送路径规划问题。

上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 一种基于轨迹大数据的众包物流配送路径规划方法及系统
  • 基于指针神经网络的车辆路径规划方法、系统及存储介质
  • 基于注意力的卷积神经网络指针式仪表图像读数识别方法
技术分类

06120116508067