一种面向实时订单数据的无人机物流配送全局规划方法

文档序号:26141696发布日期:2021-08-03 14:26阅读:93来源:国知局
一种面向实时订单数据的无人机物流配送全局规划方法

本发明涉及一种面向实时订单数据的无人机物流配送全局规划方法,基于深度学习、深度强化学习以及启发式算法进行包括订单执行动作序列、订单分配在内的配送方案的规划,使得规划出的执行方案在满足无人机载荷、续行的约束条件下最小化所有订单的等待时间。属于无人机物流配送调度算法的技术领域。



背景技术:

近年来中国物流业高速发展,如何减小快递运输的成本成为有价值的研究课题。而快递从发货到收货,“最后一公里”——快递集中运送到本地快递站之后从快递站到收件人手里这段过程的末端运输,却因为传统解决方案(无论是自行取货还是雇人送货上门)带来的交通不便、时间不便、人力成本高等不利条件,使得这段过程有与之短距离不相匹配的高昂代价。随着无人机技术的发展和通讯技术的进步,将无人机和物流结合,采用无人机物流的方式完成“最后一公里”的配送成为探索的方向,而针对无人机物流的优秀无人机配送规划算法的研究也势在必行。

无人机物流配送调度问题是np问题,在给定无人机载荷、续行约束条件下,最小化所有订单等待时间的优化算法具有很高的复杂度、计算量、优化难度。之前的调度算法将问题建模为vrp(车辆路径问题),针对静态场景进行规划,且运行模式属于多无人机合作运送一个仓库中订单的局部模式。此类方法不能适用于订单实时触发的动态情景,且特定无人机只处理一个仓库订单的局部规划模式缺乏灵活性,由于其解空间大小受限于局部规划的模式,难以获得更优的解。



技术实现要素:

发明目的:针对现有技术中存在的问题与不足,本发明提供一种面向实时订单数据的无人机物流配送全局规划方法,面向实时订单数据,在订单实时触发的动态情境中,根据无人机当前执行状态进行订单预分配,使用基于深度学习与启发式方法,生成订单执行的动作序列,并根据深度强化学习训练的智能体进行订单分配,从而获得满足无人机载荷、续行约束条件同时最小化所有订单等待时间的全局规划。

技术方案:一种面向实时订单数据的无人机物流配送全局规划方法,根据如下步骤进行全局规划:

步骤(1),输入新订单数据;

步骤(2),根据当前无人机订单执行的状态、新触发的订单信息,提取出所有无人机状态,即当前位置、待取货任务队列、待送达任务队列;

步骤(3),对每一架无人机进行新订单的预分配,将新订单加入待取货队列;

步骤(4),根据训练出的深度学习网络,即融合了外部信息的指针网络,处理待取货任务的取货动作、待送达任务的送达动作,生成每架无人机的部分动作序列;

步骤(5),使用启发式方法两元素优化,对每架无人机的部分动作序列进行优化;

步骤(6),使用贪心插入的方法,将各无人机未完成的待送达任务的送货动作插入到其部分动作序列中,生成每架无人机的中间动作序列;

步骤(7),使用模拟退火框架,对每架无人机中间动作序列分别进行可行性验证,并优化生成最终的预规划订单执行动作序列;

步骤(8),根据生成的预规划订单执行动作序列,计算出每架无人机执行新订单的代价、载荷,提取出环境的状态;

步骤(9),根据深度强化学习ppo框架训练出的深度网络构成的订单分配智能体,在接受环境状态后,做出决策将订单分配给某架无人机;

步骤(10),根据新订单的分配结果、预规划订单执行动作序列提取各个无人机执行订单的动作序列,该接受分配的无人机根据本次预规划订单执行动作序列来执行,而其他无人机则按照据之前订单规划出的动作序列继续执行;

步骤(11)将所有无人机配送方案以动作序列的形式发布出来。

有益效果:

现有的无人机物流配送调度算法存在以下主要问题:

(1)不适用与订单实时生成的动态情景。现有算法建模的vrp(车辆路径问题)处理的是多架无人机配送一个仓库中存货问题,属于一次性的静态规划,不能处理送货上门订单实时触发、需要持续响应不断更新配送方案的动态情景;

(2)没有进行全局规划。vrp的配送模式属于多架无人机共同处理一个仓库的合作模式,即对每一架无人机只负责一个仓库的货物,属于在局部解空间进行优化,不如每一架无人机都处理全局订单的全局规划模式。

与现有技术相比,本发明提供的面向实时订单数据的无人机物流配送全局规划方法,针对订单实时触发的动态情景,使用深度学习与启发式方法求解订单执行、订单分配的方案,在全局范围进行规划,从而获得更优的配送方案。

附图说明

图1为基于无人机物流配送全局规划模块的无人机物流配送规划流程图;

图2为本发明实施例的全局规划方法总流程图;

图3为本发明实施例的两元素优化算法优化部分动作序列的流程图;

图4为本发明实施例的贪心插入算法获得中间动作序列的流程图;

图5为本发明实施例的模拟退火框架进行动作序列可行性验证的流程图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

基于无人机物流配送全局规划模块的无人机物流配送规划流程如图1所示。当货物运抵本地快递点之后,规划平台开始持续接收订单配送需求(听单);当平台接收到新的订单需求,就将接到的订单传递给无人机物流配送全局规划模块,全局规划模块根据无人机执行状态、新订单信息规划并发布满足无人机载荷、续行的约束条件且最小化订单等待总时间的配送方案,无人机根据配送方案继续配送,如此循环往复,不断规划新接收到的订单;当平台接收订单配送需求的通道关闭后(不再听单),无人机物流配送规划流程结束。

整个无人机物流配送的核心部分是其中的全局规划模块,本实施例的全局规划模块流程图如图2所示,使用基于深度学习与启发式方法相结合的算法,处理实时订单情景的无人机物流配送,并进行全局规划,求解出满足约束条件且最小化订单总等待时间的优秀配送方案。

当新订单被接单之后,全局规划模块接受到这一订单,规划开始:

步骤(1)接受输入新订单数据;

步骤(2)根据当前无人机订单执行的状态、新触发的订单信息,提取出所有无人机状态,即当前位置、待取货任务队列、待送达任务队列;

步骤(3)对每一架无人机进行新订单的预分配,将新订单加入待取货队列;

步骤(4)根据训练出的深度学习网络,即融合了外部信息的指针网络,处理待取货任务的取货动作、待送达任务的送达动作,生成每架无人机的部分动作序列;

在提取出无人机的当前状态之后,对每架无人机分别使用融合外部信息的指针网络生成其部分动作序列。该指针网络属于深度学习模型,基于lstm(长短期记忆网络)与注意力机制实现。

ui=vt·tanh(wref·ri+wq·q)(1)

(1)式中ui表示解码环节针对编码环节第i个隐状态计算出的注意力值,v表示注意力向量,其转置之后于后面相乘,tanh是双曲正切激活函数,wref表示对于编码部分的注意力矩阵,ri是第i个编码环节的隐状态,wq表示解码部分的注意力矩阵,q表示当前解码环节的输入,需要融合外部信息:

q=dense1(dense2(qraw):minfo:miget:miput:mimerge)(2)

(2)式中dense1与dense2表示两个不同的深度学习全连接层,qraw表示根据上一时刻注意力机制指针从编码输入中选中的值作为当前时刻解码的输入,minfo、miget、miput、mimerge为根据外部信息提取出的地图信息、待取货信息、待送达信息以及取货送货可合并完成的信息。之后对之前编码阶段的注意力值做处理:

a(ref,q;wref,wq,v)=softmax(u)(3)

上式中,a表示注意力函数,其参数分别为上述介绍过的ref(即是ri构成的向量)、q、wref、wq和v,通过softmax函数处理(1)式得到的u从而获得整体的注意力函数值。之后指针网络根据:

n=argmax(a(ref,q;wref,wq,v))(4)

直接选中第n个编码阶段的输入元素作为下一个解码阶段的输入。(4)中argmax表示选择使得值最大的参数,里面的a即是(3)计算出的注意力函数值。通过解码过程的不断迭代,就可以运用融合外部信息的指针网络生成无人机的部分动作序列。

步骤(5)使用启发式方法两元素优化,对每架无人机的部分动作序列进行优化,该过程如图3所示,具体步骤如下:

对每架无人机执行以下步骤:

步骤(51)输入待优化的部分动作序列;

步骤(52)判断是否已经迭代设定轮数,“是”转步骤(56),“否”转步骤(53);

步骤(53)随机选择动作序列中两点;

步骤(54)翻转两点之间的动作序列,并与前后部分拼接形成新的序列;

步骤(55)通过计算执行代价评判新的动作序列,如果值比原序列小,说明新的动作序列更好,就将原动作序列更新为新动作序列,否则不做处理;转步骤(52);

步骤(56)输出优化后的部分动作序列;

步骤(6)使用贪心插入的方法,将各无人机未完成的待送达任务的送货动作插入到其部分动作序列中,生成每架无人机的中间动作序列,该过程如图4所示,具体步骤如下:

对每架无人机执行以下步骤:

步骤(61)输入部分动作序列;

步骤(62)判断该无人机是否有待送达订单,“是”转步骤(63),“否”转步骤(67);

步骤(63)处理下一个待送达订单的送达动作;

步骤(64)定位该订单送达动作的所有可能位置;

步骤(65)遍历所有可能位置依次插入该订单的送达动作;

步骤(66)计算所有生成的新动作序列的执行代价,找到最低的作为插入该订单的新动作序列,转步骤(62);

步骤(67)输出中间动作序列;

步骤(7)使用模拟退火框架,对每架无人机中间动作序列分别进行可行性验证,并优化生成最终的预规划订单执行动作序列,该过程如图5所示,具体步骤如下:

对每架无人机执行以下步骤:

步骤(71)输入中间动作序列;

步骤(72)判断是否达到某种终止条件,“是”转步骤(76),“否”转步骤(73);

步骤(73)随机选择动作序列中两点交换以生成新的动作序列;

步骤(74)模拟该无人机按照此新的动作序列执行的结果,考察在执行过程中是否满足载荷、续行的约束条件;

步骤(75)用执行代价(不满足可行性则执行代价设置极大)评估新的动作序列,与原动作序列相比较,以一定概率接受:

上式中,p表示接受的概率,e是自然常数,t表示模拟退火系统当前的温度,s′与s分别表示新的和原来的动作序列,f为评估函数,衡量的指标是所有订单的总等待时间。之后转步骤(72);

步骤(76)输出最终动作序列;

步骤(8)根据生成的预规划订单执行动作序列,计算出每架无人机执行新订单的代价、载荷,提取出环境的状态;

步骤(9)根据深度强化学习ppo框架训练出的深度网络构成的订单分配智能体,根据环境状态做出决策将订单分配给某架无人机;

当前环境提取出的状态信息,包含无人机的接单前、后执行代价以及当前的载荷,被传给订单分配智能体,用以做订单分配决策。

订单分配智能体是一个3层的深度神经网络:

at=dense1(dense2(dense3(st)))(6)

(6)式中,该智能体由dense1、dense2和dense33个全连接层构成,接受当前环境的状态st,最终输出这一时刻的动作at,即订单分配的结果。这个智能体由深度强化学习框架ppo训练生成,用于训练反馈的回馈函数为:

ry=-(δct+ασ(ct+1))(1+βvσ(lt+1))(7)

上式中,rt表示这一时刻环境反馈的回馈函数,δct为动作选择的接单无人机所带来的代价负载增量,α为超参数,ct+1为下一时刻的所有无人机代价负载,σ表示其标准差,β为超参数,lt+1为下一时刻所有无人机载荷,vσ表示其标准差系数。

步骤(10)根据新订单的分配结果、预规划订单执行动作序列提取各个无人机执行订单的动作序列,该接受分配的无人机根据本次预规划订单执行动作序列来执行,而其他无人机则按照据之前订单规划出的动作序列继续执行;

步骤(11)将所有无人机配送方案以动作序列的形式发布出来。

在发布配送方案之后,本次全局规划结束。

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