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

订单分配方法、装置、计算机可读存储介质及电子设备

文献发布时间:2023-06-19 16:06:26



技术领域

本公开涉及计算机技术邻域,具体地,涉及一种订单分配方法、装置、计算机可读存储介质及电子设备。

背景技术

在外卖骑手调度场景中,分配订单时需要确定骑手与订单间的匹配关系,在保证时间窗约束的前提下确定完成不同订单配送的骑手,实现最小化总配送成本的目标。对于当前可派单的骑手以及待分配的订单来说,其中每个订单至多分配给一个骑手,但骑手可以同时服务多单。每个订单对应不同的取送位置与时间窗,与不同骑手匹配产生不同的配送成本,配送成本受配送距离、时间、延误等影响。在订单分配的过程中需要考虑各个订单的位置、时间约束、商家特性、骑手偏好等,制定最优的指派方案,因此亟需一种能够最小化总配送成本的订单分配方法。

发明内容

本公开的目的是提供一种订单分配方法,该方法用于实现兼顾配送效率、配送体验,同时最小化总配送成本的目的。

为了实现上述目的,第一方面,本公开提供一种订单分配方法,包括:

提取历史接单信息中的低阶特征及高阶特征;所述历史接单信息包括配送人员信息、环境信息及订单信息;根据所述低阶特征及所述高阶特征训练得到价值函数网络;当所述配送人员的接单数量改变时更新所述历史接单信息,得到更新后的历史接单信息;根据所述更新后的历史接单信息更新所述价值函数网络的参数,得到更新后的价值函数网络;通过所述更新后的价值函数网络确定待分配订单的分配方式。

第二方面,本公开提供一种订单分配装置,包括:

获取模块,用于提取历史接单信息中的低阶特征及高阶特征;所述历史接单信息包括配送人员信息、环境信息及订单信息;获取模块,还用于根据所述低阶特征及所述高阶特征训练得到价值函数网络;处理模块,用于当所述配送人员的接单数量改变时更新所述历史接单信息,得到更新后的历史接单信息;更新模块,用于根据所述更新后的历史接单信息更新所述价值函数网络的参数,得到更新后的价值函数网络;所述处理模块,用于通过所述更新后的价值函数网络确定的待分配订单的分配方式。

第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理装置执行时实现前述的订单分配方法的步骤。

第四方面,本公开提供一种计算机设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现前述的订单分配方法的步骤。

通过上述技术方案,提取历史接单信息中的低阶特征及高阶特征,根据低阶特征及高阶特征训练得到价值函数网络,当配送人员的接单数量改变时更新历史接单信息,得到更新后的历史接单信息,根据更新后的历史接单信息更新价值函数网络的参数,得到更新后的价值函数网络,通过更新后的价值函数网络确定的待分配订单的分配方式。从历史接单信息中采样以训练得到价值函数网络,不需要与环境交互,能够避免线上试错成本;不同配送人员共享一个价值函数网络,通过配送人员与环境交互产生的新的训练样本,更新价值函数网络,有效减少了价值函数网络状态与决策空间规模,避免了训练样本不足。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开一个示例性实施例提供的计算机系统的结构示意图。

图2是本公开一个示例性实施例提供的订单分配方法的流程图。

图3是本公开一个示例性实施例提供的步骤S104的子步骤的流程图。

图4是本公开一个示例性实施例示出的待分配订单的示意图。

图5是本公开一个示例性实施例提供的订单分配装置框图。

图6是本公开一个示例性实施例提供的电子设备的框图。

图7是本公开一个示例性实施例提供的电子设备的框图。

附图标记说明

120-终端;140-服务器;20-订单分配装置;201-获取模块;203-处理模块;205-更新模块;700-电子设备;701-处理器;702-存储器;703-多媒体组件;704-I/O接口;705-通信组件;1900-电子设备;1922-处理器;1932-存储器;1926-电源组件;1950-通信组件;1958-I/O接口。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

现有研究通常将订单指派问题建模为分配问题(matching problem)或带有时间窗约束的取送问题(pickup and delivery problem),针对前者学界与业界已有较成熟的方法求解。后者为NP难问题(NP-hard problem),通常采用启发式算法等近似方法求解。骑手/订单匹配问题由于骑手可以履行多单以及骑手行为的复杂随机性相比现有文献更为复杂,已有研究方案通常是将静态时间断面的贪心决策(通常基于启发式算法)进行动态关联,缺乏对骑手接单行为如何影响未来长期效率与体验等指标的刻画。由于骑手履行多单取送过程复杂耦合关系,在指派模型中考虑当前派单对骑手之后一段时间内接单率、延误时间等指标的影响有利于优化算法寻优性能与求解效率的提升。

本公开采用强化学习技术,其在建模与求解真实大规模随机动态场景下的进行运筹优化。强化学习技术使用近似函数替换贝尔曼方程中的精确值函数,通过状态-决策路径不断迭代更新近似值函数直到找到近似全局最优解,可以运用在车辆路径规划、订单分配、订单取送等问题场景中。其通过离线训练系统在不同状态下采取不同派单(路径规划)策略的价值函数,能够在线上决策中快速获取实时超大规模优化问题的近似全局最优解,在处理复杂、顺序决策问题求解中具有巨大潜力。

图1示出了本公开一个示例性实施例提供的计算机系统的结构示意图,该计算机系统包括终端120和服务器140。

终端120与服务器140之间通过有线或者无线网络相互连接。

终端120可以包括智能手机、笔记本电脑、台式电脑、平板电脑、智能音箱、智能机器人中的至少一种。

终端120包括显示器;显示器用于显示命名实体识别结果。

终端120包括第一存储器和第一处理器。第一存储器中存储有第一程序;上述第一程序被第一处理器调用执行以本公开提供的订单分配方法。第一存储器可以包括但不限于以下几种:随机存取存储器(Random Access Memory,RAM)、只读存储器(Read OnlyMemory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。

第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(NetworkProcessor,NP)。可选地,第一处理器可以通过调用预训练的NER模型来实现本公开提供的订单分配方法。示例性的,终端中的训练的NER模型可以是由终端训练得到的;或,由服务器训练得到,终端从服务器获取。

服务器140包括第二存储器和第二处理器。第二存储器中存储有第二程序,上述第二程序被第二处理器调用来实现本公开提供的订单分配方法。示例性的,第二存储器中存储有预训练的NER模型,上述预训练的NER模型被第二处理器调用以实现本公开提供的订单分配方法。可选地,第二存储器可以包括但不限于以下几种:RAM、ROM、PROM、EPROM、EEPROM。可选地,第二处理器可以是通用处理器,比如,CPU或者NP。

服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。

本公开一个示例性实施例提供的订单分配方法包括:获取根据配送人员的历史接单信息训练得到的价值函数网络,历史接单信息包括配送人员信息、环境信息及订单信息,具体包括配送准时率、配送轨迹、平均速度、配送人员状态、城市ID、时间、预计送达时间、取送点位置、预计出餐时长及派单时刻所处时段等;当配送人员的接单数量改变时更新历史接单信息,得到更新后的历史接单信息,即配送人员接新订单,将完成这个新的订单产生的相关信息添加到历史接单信息中;然后根据更新后的历史接单信息更新价值函数网络的参数,得到更新后的价值函数网络;通过更新后的价值函数网络确定的待分配订单的分配方式。不同配送人员共享一个价值函数网络,通过配送人员与环境交互产生的新的训练样本,更新价值函数网络,有效减少了价值函数网络状态与决策空间规模,避免了训练样本不足。

请参阅图2,图2为本公开一个示例性实施例提供的订单分配方法的流程图。该方法由计算机设备来执行,例如,由图1所示的计算机系统中的终端或服务器来执行。图2所示的订单分配方法包括以下步骤:

在步骤S101中,提取历史接单信息中的低阶特征及高阶特征。

配送人员可以是但不限于外卖骑手,本公开中以外卖骑手为例来进行说明。

历史接单信息包括骑手信息、环境信息及订单信息,其中,骑手信息具体包括已接订单信息、配送准时率、配送轨迹、平均速度、骑手状态、骑手ID、骑手当前位置、骑手接单上限等,环境信息具体包括城市ID、时间、是否工作日、城市区域、天气、供需压力等,订单信息具体包括配送人员、配送人员位置、取送点位置、取送预估时间、最晚送达时间、延误时长、配送时长、配送距离、订单配送轨迹、预计出餐时长及派单时刻所处时段等。其中,骑手状态可以是骑手接单时刻所处的状态,例如骑手接单时可能处于刚完成一个订单的状态,也可能处于正在配送某个订单的状态。

在步骤S102中,根据低阶特征及高阶特征训练得到价值函数网络。

首先对上述的骑手信息、环境信息及订单信息进行Embedding等预处理操作,得到骑手信息、环境信息及订单信息的连续向量表示。然后提取该连续向量表示中的低阶特征和高阶特征,将低阶特征和高阶特征统一输入至值函数层,以训练得到的价值函数网络。在一种实施方式中,可以将处理后的连续向量表示输入到Deep FM模型中,其中FM(Factorization Machine)部分为一个因子分解机,负责提取低阶特征,Deep部分为前馈神经网络,负责提取高阶特征。

需要说明的是,Embedding是一种将离散变量转为连续向量表示的一种方式,在神经网络中,Embedding可以减少离散变量的空间维数,同时还可以有意义的表示该变量。

在步骤S103中,当配送人员的接单数量改变时更新历史接单信息,得到更新后的历史接单信息。

当骑手选择接受新订单时,骑手的接单数量改变,记录新订单的相关信息并更新历史接单信息,得到更新后的历史接单信息。

示例性的,记录接受新订单时骑手的位置、接单时刻以及派单时刻所处时段等信息,记录新订单的取送点位置、取送预估时间、最晚送达时间、配送距离、预计出餐时长及派单时刻所处时段,当该骑手完成订单后记录该新订单的延误时长、配送时长、订单配送轨迹等信息。

在步骤S104中,根据更新后的历史接单信息更新价值函数网络的参数,得到更新后的价值函数网络。

通过更新后的历史接单信息训练价值函数网络,直至价值函数网络满足预期的收敛条件,将满足预期的收敛条件的价值函数网络作为更新后的价值函数网络。该预期的收敛条件可以是根据先验知识确定的,也可以是其他可行的方式确定的。

该价值函数网络的计算公式包括:

其中,θ

需要说明的是,在更新价值函数网络时,可以采用时序差分方法和MSE损失函数(Mean-Squared Loss),对比骑手在不同状态的价值函数网络的预测值、奖励值,与骑手在下一状态的价值函数网络值之和,不断迭代更新直至价值函数满足预期的收敛条件。

在步骤S105中,通过更新后的价值函数网络确定的待分配订单的分配方式。

需要说明的是,步骤S105包括子步骤S1051及子步骤S1052,待分配订单的具体分配方式将在步骤S105的子步骤中进行详细描述。请参阅图3,图3是本公开一个示例性实施例示出的步骤S105的子步骤的流程图。

在子步骤S1051中,通过价值函数网络计算出每一种订单分配方式对应的接单价值。

请参阅图4,图4是本公开一个示例性实施例示出的待分配订单的示意图。图4中左边包括4个待分配订单和两可接单的骑手,经过订单分配后可以是给每个骑手分配两个订单,也可以是给一个骑手分配三个订单,给另一个骑手分配一个订单,以及还有其他未示出的分配方法。

利用上述的价值函数网络计算出带有时间窗约束的订单的每一种订单分配方式对应的接单价值,接单价值是基于配送效率、配送体验、配送时长、准时率等多个因素综合确定的,可以理解的,接单价值高可以是更好的配送效率、配送体验,和更小的总配送成本。

在子步骤S1052中,将最高的接单价值对应的订单分配方式作为待分配订单的分配方式。

综上所述,本公开提供的订单分配方法,包括提取历史接单信息中的低阶特征及高阶特征,根据低阶特征及高阶特征训练得到价值函数网络,当配送人员的接单数量改变时更新历史接单信息,得到更新后的历史接单信息,根据更新后的历史接单信息更新价值函数网络的参数,得到更新后的价值函数网络,通过更新后的价值函数网络确定的待分配订单的分配方式。从历史接单信息中采样以训练得到价值函数网络,不需要与环境交互,能够避免线上试错成本;不同配送人员共享一个价值函数网络,通过配送人员与环境交互产生的新的训练样本,更新价值函数网络,有效减少了价值函数网络状态与决策空间规模,避免了训练样本不足。

图5是本公开示例性实施例示出的一种订单分配装置框图。参照图5,该装置20包括获取模块201、处理模块203和更新模块205。

该获取模块201,用于提取历史接单信息中的低阶特征及高阶特征;所述历史接单信息包括配送人员信息、环境信息及订单信息;

获取模块201,还用于根据所述低阶特征及所述高阶特征训练得到价值函数网络;

该处理模块203,用于当所述配送人员的接单数量改变时更新所述历史接单信息,得到更新后的历史接单信息;

该更新模块205,用于根据所述更新后的历史接单信息更新所述价值函数网络的参数,得到更新后的价值函数网络;

该处理模块203,用于通过所述更新后的价值函数网络确定的待分配订单的分配方式。

可选的,所述历史接单信息包括配送人员信息、环境信息及订单信息;

该获取模块201,还用于提取所述配送人员信息、所述环境信息及所述订单信息中的低阶特征及高阶特征;

根据所述低阶特征及所述高阶特征训练得到所述价值函数网络。

可选的,该获取模块201,还用于通过因子分解机提取所述配送人员信息、所述环境信息及所述订单信息中的低阶特征;

通过深度神经网络提取所述配送人员信息、所述环境信息及所述订单信息中的高阶特征。

可选的,该更新模块205,还用于当所述配送人员的接单数量改变时,获取新增订单的订单信息;

将所述新增订单的订单信息添加至所述历史接单信息中,得到更新后的历史接单信息。

可选的,所述新增订单的订单信息包括:配送人员位置、取送点位置、取送预估时间、最晚送达时间、延误时长、配送时长、配送距离、订单配送轨迹、预计出餐时长及派单时刻所处时段中的至少一种。

可选的,该更新模块205,还用于通过所述更新后的历史接单信息训练所述价值函数网络,直至所述价值函数网络满足预期的收敛条件;

将满足所述预期的收敛条件的价值函数网络作为所述更新后的价值函数网络。

可选的,所述价值函数网络的计算公式包括:

其中,θ

可选的,该处理模块203,还用于通过所述价值函数网络计算出每一种订单分配方式对应的接单价值;

将最高的所述接单价值对应的订单分配方式作为所述待分配订单的分配方式。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图6是根据一示例性实施例示出的一种电子设备700的框图。如图6所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的订单分配方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的订单分配方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的订单分配方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的订单分配方法。

图7是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图7,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的订单分配方法。

另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServer

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的订单分配方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的订单分配方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的订单分配方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

技术分类

06120114705545