通过订单车辆分布匹配以订单派发的多代理增强学习

文档序号:1879216 发布日期:2021-11-23 浏览:25次 >En<

阅读说明:本技术 通过订单车辆分布匹配以订单派发的多代理增强学习 (Multi-agent reinforcement learning with order dispatch through order vehicle distribution matching ) 是由 王晨曦 秦志伟 于 2020-02-24 设计创作,主要内容包括:可以将多代理增强学习通过匹配订单与车辆分布用于搭车订单派发。可以获得信息。该信息可以包括多个车辆的多个车辆位置、多个搭车订单和当前时间。可以将所获得的信息输入到训练的模型中。训练的模型可以基于Kullback-Leibler散度优化和联合策略指导下的独立代理。可以生成多个车辆要完成的多个订单派发任务。(Multi-agent reinforcement learning can be used for pick-up order distribution by matching orders with vehicle profiles. Information can be obtained. The information may include a plurality of vehicle locations for a plurality of vehicles, a plurality of pick-up orders, and a current time. The obtained information may be input into a trained model. The trained model may be based on independent proxies under the guidance of Kullback-Leibler divergence optimization and a federated policy. Multiple order dispatch tasks for multiple vehicles to complete may be generated.)

通过订单车辆分布匹配以订单派发的多代理增强学习

相关申请交叉引用

本申请要求2019年12月19日提交且题为“用于通过匹配订单车辆分布进行订单派发的多代理增强学习”的美国非临时性专利申请16/720,544以及2019年2月26日提交且题为“用于搭车订单派发的系统和方法”的美国临时性专利申请62/810,860的优先权。美国非临时性专利申请16/720,544要求美国临时性专利申请62/810,860的优先权。上述申请通过引用整体并入本文。

技术领域

本公开一般涉及将搭车订单与车辆相匹配,更具体地涉及基于多代理增强学习的用于将订单派发给车辆的方法和系统。

背景技术

由于移动互联网的繁荣,现代大规模约车系统已经成为可行的且大有前途。这些约车系统能让乘客使用智能手机预订路线并基于智能算法将可用车辆与之匹配。这些约车系统提高了交通系统的效率。约车系统中的关键点是如何向车辆派发订单,使系统更高效地工作并产生更大的影响。决策者使用的算法对于找出合适的匹配是至关重要的,因为订单派发的结果对平台效率和收入有直接影响。

提高向车辆派发订单的效率是在线约车系统的研究热点。用于订单派发的大多数现有解决方案是集中式控制,这需要考虑可用订单与驾驶员之间的所有可能匹配。对于大型共享出行平台,每秒种就有数千次车辆与订单匹配,这具有非常高的计算成本。

可以使用基于GPS的订单派发系统来增强出租车派发的准确性、通信和生产力。然而,这些系统并未提供详细的派发算法,意味着这些平台更像是信息共享平台,通过提供订单信息帮助车辆选择要服务的订单。其它自动订单派发方法专注于通过找出最靠近的订单来减少接取距离或等待时间。这些方法通常无法达到订单派发的高成功率,并忽略等待列表中许多可能更适合于车辆的潜在订单。还可能使用基于组合优化的集中式控制派发。虽然这种方法很简单,但计算所有可用订单车辆匹配的要求可能在大规模出租车订单情况中具有非常高的计算成本。此外,这需要适合的特征工程。因此,这大大地增加了实际情况下应用该方法的系统实现难度和人员工作量。

NTuCab是一种协作性多代理出租车派发系统,其尝试更全局性地提高客户满意度,并且可以将多个订单派发给相同地理区域中的出租车。然而,NTuCab基于计算客户位置附近的可能大量可用的出租车中每一个的最短时间路径是不可行的假设,因为其计算成本高昂。虽然NTuCab实现了减少等待时间和出租车巡航时间的改善,但它是计算成本高昂的方法。

发明内容

本说明书的多种实施例包括但不限于用于搭乘订单派发的系统、方法和非瞬态计算机可读介质。

在多种实施方式中,一种方法可以包括获得信息。所获得的信息可以包括多个车辆的多个车辆位置、多个搭车订单和当前时间。该方法还可以包括将所获得的信息输入到训练的模型中。训练的模型可以基于Kullback-Leibler散度优化(Kullback-Leibler(KL)divergence optimization)和联合策略指导下的独立代理。该方法还可以包括生成多个车辆要完成的多个订单派发任务。

在本公开的另一方面,一种计算系统可以包括一个或多个处理器和一个或多个非瞬态计算机可读存储器,该一个或多个非瞬态计算机可读存储器耦合到所述一个或多个处理器且配置有由所述一个或多个处理器可执行的指令。执行指令可以使系统执行多个操作。这些操作可以包括获得信息。所获得的信息可以包括多个车辆的多个车辆位置、多个搭车订单和当前时间。这些操作还可以包括将所获得的信息输入到训练的模型中。训练的模型可以基于Kullback-Leibler散度优化和联合策略指导下的独立代理。该操作还可以包括生成多个车辆要完成的多个订单派发任务。

本公开的又一方面涉及一种非瞬态计算机可读存储介质,其配置有一个或多个处理器可执行的指令,以使该一个或多个处理器执行多个操作。这些操作可以包括获得信息。所获得的信息可以包括多个车辆的多个车辆位置、多个搭车订单和当前时间。这些操作还可以包括将所获得的信息输入到训练的模型中。训练的模型可以基于Kullback-Leibler散度优化和联合策略指导下的独立代理。该操作还可以包括生成多个车辆要完成的多个订单派发任务。

在一些实施例中,可以获得表示真实世界地理区域的网格世界。网格世界可以包括表示多个订单派发地区的多个网格单元。多个车辆位置的每个车辆位置可以包括网格世界中的网格单元。

在一些实施例中,可以获得用于多个车辆的多个状态。每个状态可以包括网格世界中的网格单元、网格单元中的空闲车辆的数量、多个搭车订单中的搭车订单的数量以及该网格单元中搭车订单的分布。

在一些实施例中,可以通过从多个状态中的多个搭车订单选择搭车订单来生成多个订单派发任务。

在一些实施例中,每个所选搭车订单可以包括来自相应状态的网格单元、目标网格单元、搭车持续时间和价格。

在一些实施例中,该训练的模型可以基于动作选择Q-learning网络。

在一些实施例中,动作选择Q-learning可以使用偏置策略玻尔兹曼(Boltzmann)探索来平衡开发和探索。

在一些实施例中,可以通过最小化车辆的分布和搭乘订单的分布之间的散度来优化Kullback-Leibler散度。

在一些实施例中,可以使用集中式学习来训练所训练的模型。

通过参考附图来考量下文描述以及所附权利要求,本文公开的系统、方法和非瞬态计算机可读介质的这些和其它特征以及操作方法和结构的相关元件的功能和部件组合以及制造经济性将变得显而易见,所有这些附图构成本说明书的一部分,其中多个不同附图中相似的附图标记指代相应部分。然而,应当清楚地理解,附图仅用于说明和描述的目的,并无意作为对本发明限制的定义。应理解,前文概略描述和下文的详细描述仅为示范性和解释性的,并且如所声明地不限制本发明。

附图说明

在所附权利要求中具体阐述了本发明技术的各种实施例的某些特征。通过参考以下详细描述将获得对该技术的特征和优点的更好理解,所述详细描述阐述了利用本发明的原理的示例性实施例,以及在附图中:

图1示出了根据多种实施例的约车订单派发的示例环境。

图2示出了根据多种实施例的示例动作选择Q-learning网络。

图3示出了根据多种实施例的示例性基于网格的订单派发过程。

图4示出了根据多种实施例的用于实时搭车订单派发的示例环境。

图5示出了根据本公开多种实施例的用于搭车订单派发的示例方法的流程图。

图6是可在其上实施本文所述的任一实施例的计算机系统的框图。

具体实施方式

现在将参考附图描述多种实施例。应当理解,本文公开的任何实施例的特定特征和方面可以与本文公开的任何其它实施例的特定特征和方面一起使用和/或进行组合。还应当理解,此类实施例是举例说明的,并且仅仅说明本发明范围内的少量实施例。对本发明所属领域的技术人员来说显而易见的多种改变和修改被认为落在所附权利要求中进一步限定的本发明精神、范围和预期之内。

本文公开的方法通过将订单与车辆的分布进行匹配来改善用于订单派发的多代理增强学习方法和计算系统的功能。所公开的方法和系统可以利用集中学习和非集中式执行来改善大规模订单派发。所有代理可以独立于评估联合策略的指导来工作,因为代理之间无需通信或显性协作。可以在每个时间步处使用Kullback-Leibler(KL)散度优化(Kullback-Leibler(KL)divergence optimization),以加速学习过程并平衡车辆(供应)和订单(需求)。

自动订单派发系统的通用策略是通过路线规划或匹配最靠近的订单和车辆来最大限度地减少等待时间和出租车巡航时间。在一些实施例中,可以利用组合优化以提高订单派发的成功率,从而解决该订单派发问题。组合优化可以提供显著的提升,然而,其计算成本高,并且非常依赖于适合的特征工程。附加地,这些通用策略是短视性的:它们可以找出当前阶段中合适的匹配,但忽略潜在的未来影响。

可以将多代理增强学习(Multi-agent reinforcement learning,MARL)应用于类似协作决策支持系统的领域。与单一代理强化学习不同,MARL要求代理学会与其它代理合作。由于所有代理的学习过程是同时的,因此通常不可能知道其它策略。因此,对于每个代理,环境是非静态的。将独立增强学习方法直接应用于多代理环境是有问题的。有若干种方法被提出来缓解或解决此问题,包括共享策略参数、利用其它代理的策略参数来训练Q-function、集中式训练和对手建模。附加地,还有一些方法使用显性通信向对等代理提供相对静态的环境。

非静态问题在大规模多代理学习中将会被放大。一种通过在多代理增强学习中应用平均场理论将多代理学习转换为双玩家随机博弈的方法,可以用来使得问题成为可能。但是,由于平均场MARL方法仅考虑到有关状态/动作的平均场,因此它忽略了代理交互。在一些实施例中,可以使用大规模多代理学习,并且可以保留代理之间的交互。这允许代理从下一个时刻接收全局反馈,并及时调整其策略。可以使用反向静态学习(backwardstationary learning method)方法对环境的反馈快速地作出反应。

在一些实施例中,可以将城市可以划分成多个派发地区。可以将每个派发地区控制在给定距离中,该给定距离间接地限制最大等待时间。可以将多代理订单派发建模成多代理学习。可以将城市划分成多个派发区域,并且可以将区域视为代理。可以使用自组织技术来降低总等待时间并提高车辆利用率。车队管理可以使用学习和规划方法以及组合优化,以改善ADI或降低等待时间。然而,在目前的运营共享出行方案中,很难执行车队管理,因为不可能强迫驾驶员到指定地区。学习和规划方法可以基于独立MARL方法,这忽略代理之间的交互。然而,考虑到代理之间的交互可能对做出最优决策产生积极影响。可以使用KL散度优化对联合策略施加约束来考虑代理之间的交互。

在一些实施例中,可以使用方法和系统来最大化累积驾驶员收入(accumulateddriver income,ADI),即在一日内所服务的订单的影响,以及订单响应率(order responserate,ORR),即在一日内所服务的订单与总订单的比例。将车辆与高价订单相匹配,可以在单个订单派发阶段接收到高效益。然而,如果所服务的订单在不久的将来导致订单和车辆之间的不匹配,则会有损ORR和长期ADI方面的整体服务质量。为了在长期ADI和ORR之间找到平衡,有必要开发一种订单派发算法,其将未来的供应和需求纳入考虑。

在一些实施例中,可以基于非集中式多代理深度增强学习和集中式组合优化的规划和学习方法来优化长期ADI和ORR。这些方法可以将订单派发任务公式化为有序决策问题并将车辆视为代理。然而,对于集中式方法,关键问题是潜在的“单点失败”。集中式权威控制的失败将导致整个系统失败。

当将MARL应用于实时订单派发场景中时,出现多种难题。处理MARL中的非静态环境是第一个主要问题。所有代理同时学习策略,而每个个体代理不知道其它代理的策略。在多代理环境中的状态转换是由所有代理一起驱动的,因此代理拥有关于其它代理的策略的知识是重要的。在订单派发场景中,重点在于车辆的空闲状态,因为它们可用于订单派发。然而,因为每个订单的持续时间是非确定性的,与具有确定性时间间隔的传统多代理场景相比,难以学习连续的空闲状态中的代理之间的交互。这使得包括对手建模的许多MARL方法和通信机制难以采用。应用MARL的第二个难题是,空闲车辆的数量在整个事件期间不断变化。总会有一些车辆进入离线或在线。因此,无法将需要固定代理数量的通用MARL方法直接应用于此类情况中。

在一些实施例中,可以使用集中式学习和非集中式执行MARL方法和系统来解决上述难题。这些方法和系统可以使用具有Kullback-Leibler(KL)散度优化的双Q-learning网络的扩展。基于KL的反向学习优化也可以借助其它代理加速代理学习过程。在一些实施例中,由于数量巨大的同类代理,可以使用参数共享来仅学习一个网络。学习经验可以在训练阶段中所有代理之间共享。在一些实施例中,深度Q-learning网络的输入可以由状态和所选动作组成,以便处理变化的动作空间。由此,在多种交通环境中,ADI和ORR都可以得以提高。更高的ORR通常意味着更高的ADI,并且维持更高的长期ORR将促成更高的长期ADI。

图1示出了根据多种实施例的约车订单派发的示例环境100。示例环境100可以包括计算系统102。计算系统102可以包括一个或多个处理器和存储器(例如,永久性存储器、临时性存储器)。处理器可以被配置为通过解释存储在存储器中的机器可读指令来执行多种操作。计算系统102可以包括其它计算资源。计算系统102可以(例如,经由一个或多个连接,经由一个或多个网络)访问其它计算资源。

在一些实施例中,环境100可以用于执行订单派发任务。可以将订单派发任务与车辆服务平台(例如,服务预约、共享出行)相关联。订单派发任务可以包括将空闲车辆140与乘客150相匹配。空闲车辆140可以被包括在车辆列表120中。该平台可以接受来自乘客150的交通请求,识别空闲车辆140以满足请求,安排接取和处理交易。可以将来自乘客150的交通请求包括在订单列表130中。例如,乘客可以使用计算设备(例如,移动电话、平板电脑、服务器、台式计算机、笔记本电脑)来向平台请求接送。计算设备可以安装有与该平台相关联的软件应用、Web应用、API或其它合适的接口。

计算系统102可以接收该请求并回复以一个或多个行程的报价数据和价格折扣数据。当乘客选择一个行程时,计算系统102可以通过例如将该请求发布到驾驶员携带的移动电话上,将行程信息转发给空闲车辆140的多个不同驾驶员。车辆驾驶员可以接受发布的交通请求。计算系统102可以将匹配160发送给乘客和车辆驾驶员。匹配160可以包括接取位置信息、费用、乘客信息、驾驶员信息和车辆信息。然后,可以通过接取170将空闲车辆140中匹配的车辆派遣给乘客150中的请求乘客。该收费可以包括交通费,并且可以在系统102、用户设备140和车辆150之间进行交易。在一些实施例中,对于每个行程,系统102可以获得起点和目的地的位置、价格折扣信息、收费和时间。

计算系统102可以包括信息获取部件112、训练的模型部件114和订单派发部件116。计算系统102可以包括其它部件。在一些实施例中,计算系统102、车辆列表120和订单列表130中的一个或多个可以位于单个设备或系统上。备选地,系统102、车辆列表120和订单列表130可以位于分开的设备中。例如,计算系统102可以在获得信息时编辑车辆列表120和订单列表130。在另一示例中,计算系统102可以从另一个计算设备(例如,服务器)接收车辆列表120和订单列表130。虽然计算系统102在图1中示为一个实体,但是这仅仅是为了容易参考,并不意味着限制。本文描述的计算系统102的一个或多个部件或一个或多个功能可以在单个计算设备或多个计算设备中实现。在一些实施例中,可以在一个或多个网络(例如企业网络)、一个或多个端点、一个或多个服务器或一个或多个云中实现本文描述的计算系统102的一个或多个部件或一个或多个功能。服务器可以包括用于管理对集中式资源或网络中的服务进行访问的硬件或软件。云可以包括跨网络分布的服务器群组和其它设备。上文的系统102可以安装有用于访问环境100的其它设备的适合软件(例如,平台程序等)和/或硬件(例如,导线、无线连接等)。

信息获取部件112可以被配置为获得信息。所获得的信息可以包括多个车辆的多个车辆位置、多个搭车订单和当前时间。获得信息可以包括访问、获取、分析、确定、检查、识别、加载、定位、打开、接收、检索、复查、存储或以其它方式获得信息的其中一种或多种。在一些实施例中,多个车辆可以被包括在空闲车辆140中。在一些实施例中,多个车辆的每个车辆可以仅服务于周边的搭车订单。由此,所获得的信息可以是用于在多代理设置中对订单派发任务建模的局部可观察马尔可夫决策过程(Partially Observable MarkovDecision Process,POMDP)的一部分。在一些实施例中,可以由乘客140请求多个搭车订单并将其包括在订单列表130中。通过多代理设置,可以将最初的全局订单派发任务分解成多个本地订单派发任务,并且将一个高维问题转换成多个低维问题。在一些实施例中,当前时间可以包括顺序订单派发任务中的当前时间步。可以将订单派发任务视为顺序决策任务,其中目标是最大化一日内的长期ADI和ORR。

在一些实施例中,可以将针对多代理订单派发问题的POMDP框架可以公式化为元组<S,P,A,R,G,N,γ>,其中S,P,A,R,G,N,γ分别表示一组状态、状态转换概率函数、一组动作空间、酬劳函数,一组网格(即,网格单元),多个代理以及将来酬劳折扣系数。对于每个代理i(例如,车辆i),Si∈S,Ai∈A,Ri∈R可以分别表示状态空间、动作空间和酬劳函数,以及Gi∈G可以表示代理所在的网格。状态转移可以在决策之后发生。例如,在代理执行其动作之后,时间t处环境的状态St可以在时间t+1处转换成St+1,并且代理可以获得环境给予的酬劳。每个代理的主要目的可以是学习最大化从t到T的累积酬劳Gt:T。可以使用如下公式来最大化累积酬劳。

maxGt:T=max∑γtrt(st,at),其中at~πθ(st) (1)

在增强学习中,由θ参数化的πθ(st)表示有关时间t处的状态的策略。

在一些实施例中,信息获取部件112可以被配置为获得表示真实世界地理区域的网格世界。网格世界可以包括表示多个订单派发地区的多个网格单元。多个车辆位置的每个车辆位置可以包括网格世界中的网格单元。例如,可以将城市可以划分成多个地区性派发区域。网格世界可用于表示真实世界,并将现实世界划分为若干个订单派发地区。每个网格单元可以代表包含一些订单和车辆的单独的订单派发地区。可以将车辆视为代理。

在一些实施例中,可以基于MARL设置从数学视角来定义订单派发任务。在一些实施例中,可以获得用于多个车辆的多个状态。每个状态可以包括网格世界中的网格(即网格单元)、网格中的空闲车辆的数量、多个搭车订单中的搭车订单的数量以及该网格单元中搭车订单的分布。状态输入可以表示为4个元素元组,即,S=<G,N,M,Ddest>。元组中的元素可以分别表示网格索引、空闲车辆的数量、有效订单的数量和订单目的地的分布。订单目的地的分布是订单在网格G中的目的地向量的平均值,其大致反映总体订单信息。在一些实施例中,同一网格中的代理(例如,车辆)共享相同的状态。

在一些实施例中,由信息获取部件112获得的信息可以包括动作输入。动作输入可以表示为A=<Gsource,Gdest,T,C>。该元组中的元素可以分别表示源网格索引、目标网格索引、订单持续时间(即搭车持续时间)和价格。可以将时间t处网格j中的该组订单视为代理i(例如,车辆i)的候选动作。由于代理是同类的,因此网格j中的代理分享相同的行动空间。在一些实施例中,在一些地区中可能没有预先存在的订单。在MARL的设置下的一些实施例中,代理可能需要在每个时间步中选择订单,但一些网格可能没有订单,因此为了确保POMDP的可行性和可持续性,可以人工地添加一些虚拟订单,使得Gsource=Gdest。可以将这些虚拟订单的价格C设置为0。当空闲车辆选择这些虚拟订单时,这意味着它们将留在它们所在的位置。

在一些实施例中,在时间步T之后可以发生状态转换。服务于一个订单的代理(例如,车辆)可以在T之后迁移到由所取得的订单提供的目的地网格。可以利用服务的订单持续时间来定义T。之后,可以将代理的状态更新为有关目的地网格的最新状态。在一些实施例中,订单派发任务可以得到酬劳。酬劳函数可以确定优化方向,并且对于增强学习非常重要。在一些实施例中,学习的目标可以是找到将ADI随高ORR最大化的解决方案。酬劳函数可以设计成与每个订单的价格成比例。

训练的模型部件114可以被配置为将获得的信息输入到训练的模型中。在一些实施例中,该训练的模型可以基于动作选择Q-learning网络。传统的深度Q-learning网络接受状态输入并输出其维度等于动作空间的维度的Q值的向量。

dim(Q(s,A))=dim(A) (2)

当动作空间固定时,该等式是正确的。然而,当动作空间是变化的时,传统的深度Q-learning是有问题的。在共享出行设置中,对于网格j,时间t处产生的订单总是与其它时刻产生的订单不同。整个事件中无法保证一致的动作空间,因此将订单视为动作而忽略变化动作空间的分布是有问题的。在一些实施例中,可以使用元组<S,a>来表示Q-learning的输入。然后可以评估所有可用的状态订单对。

图2示出了根据多种实施例的示例动作选择Q-learning网络200。动作选择Q-learning网络200是具有状态动作输入的Q-learning网络。状态动作输入可以包括状态s210和动作a 220。动作a 220可以包括动作特征向量。可以将状态s 210输入到修正的线性单元(ReLU)230中。可以使用ReLU来修正数据。例如,可以使用激活函数或斜坡函数来修正数据。可以将动作a 220输入到ReLU 240中。在被修正之后,可以将这些输入串联并输入到ReLU 250和ReLU 260中。ReLU 250和ReLU 260可以用作两个致密层。动作选择Q-learning网络200可以输出标量值Q(s,a)270。

对于单个代理(例如,车辆)i,在Mi个可用订单的情况下,需要Mi次状态行动评估。在N个代理的情况下,计算复杂度将是O(N·M)。为了将初始复杂度降低到O(c·M),可以使用参数共享和状态共享,其中c是与网格数量相关的常数。从代理i的视角而言,假设st表示时间t处的状态,at表示订单集,则设置中的Bellman等式可以表示为:

其中γ∈[0,1]是折扣因子,α是步长大小。下一个时间步的值是所有可用状态订单对的期望值:

在一些实施例中,动作选择Q-learning可以使用偏置策略玻尔兹曼(Boltzmann)探索来平衡开发和探索。与相同订单集相关的Q值可以转换成偏置策略玻尔兹曼探索:

其中T是平衡开发和探索的温度。

返回到图1,训练的模型部件114获得的训练的模型可以基于Kullback-Leibler散度优化和联合策略指导下的独立代理。在一些实施例中,可以使用Kullback-Leibler散度优化来最小化车辆的分布和搭乘订单的分布之间的散度。在一些实施方案中,独立代理可以彼此不直接通信。所有代理可以独立于联合策略的指导工作。训练的模型可以对联合策略施加约束,以考虑独立代理之间的交互。在一些实施例中,可以在环境对于每个代理是非动态的多代理系统中使用学习多代理通信。大多数学习多代理通信在做出决定之前,需要固定的代理数量或来自其它代理的观察值。在订单派发的情况下,代理之间的显性通信通常是耗时的,并且难以适应这种情况。

图3示出了根据多种实施例的示例性基于网格的订单派发过程300。基于网格的订单派发300可以包括网格世界302。例如,网格世界302可以包括表示由图1的信息获取部件112获得的真实世界地理区域的网格世界。网格世界302可以包括网格i 310、网格j 320、网格p 330和网格q 340。网格i 310可以包括由三角形表示的订单312和314以及由圆形表示的车辆316。网格j 320可以包括订单322和324以及车辆326和328。网格p 330可以包括目的地331和332以及订单335、336和337。网格p 330可以包括目的地342。

示出时间t处的每个网格的订单派发处理。可以将服务于不同订单的车辆分配给不同的网格。不同的订单可能具有不同的持续时间d,因此车辆将在不同时间到达目的网格。车辆316可以在时间t+d1 351到达目的地331。车辆326可以在时间t+d3 353到达目的地333。车辆328可以在时间t+d2 352到达目的地342。由此,可能难以形成车辆之间的连续交互和通信。可能还有高计算成本,特别是在大规模设置中。由于这些原因,在一些实施例中可以不应用通信机制或其它代理策略的学习。

返回图1,在一些实施例中,可以使用集中式学习来训练训练的模型部件114所使用的训练的模型。集中式训练方法可以使用KL散度优化来优化代理的联合策略,并尝试将车辆的分布与订单的分布相匹配。训练的模型的目标可以是(1)最大化长期横向ADI;(2)优化ORR。如果派发网格中总是有足够的车辆,则易于降低空闲车辆的比率并提高订单响应率。由于搭车订单是从乘客接收的,因此订单的分布无法控制。可以将训练的模型的目标重新公式化为通过找到可行的订单车辆匹配,使订单和车辆分布尽可能类似。可以使用集中式KL散度优化的独立学习过程而无需代理之间的显性合作或通信。

车辆指令部件116可以被配置为为多个车辆生成要实现的多个订单派发任务。在一些实施例中,可以通过从多个状态中的多个搭车订单选择搭车订单来生成多个订单派发任务。在一些实施例中,每个所选搭车订单可以包括来自相应状态的网格、目标网格、订单持续时间和价格。假设在时间t处,代理(例如,车辆)通过执行其策略找到可行的订单集o′t

在一些实施例中,可以找到最优o′t。关注于图3的网格j 320,时间t处的策略可以通过θj参数化。在执行所有策略后,可以获得最新的车辆分布和最新的订单分布的KL散度显示时间t处的联合策略Π与之间的边际,所以KL优化实际上为寻找具有最小边际的联合策略Π:

其中,为了方便起见,可以将替换为DKL。可以减小从车辆分布到订单分布的KL散度,以平衡每个订单派发网格的需求和供应。正式地,可以将KL策略优化书写为:

s.t.DKL≤β (9)

其中,则可以将该目标函数表示为

其中,Q*是目标Q值,将KL项的分布参数化。为了将最小与θj之间的关系公式化,可以预先定义一些符号。考虑到总共有N个网格,表示时间步t+1处网格i中空闲车辆的数量,其可以公式化为其中表示上一个时间步t处的空闲驾驶员数量,πj→i表示在时间t处将从网格j到网格i的订单派发给空闲车辆的概率,以及这些车辆将在时间t+1到达网格i。是网格j中的空闲车辆的比率,其可以公式化为表示此处时间t+1处网格i中订单的比率。使用链规则,DKL至θ的梯度可以如下分解:

其中,πj至θj的梯度为使用δ=||Q-Q*||2,则将至θ的最终梯度计算为:

图4示出了根据多种实施例的用于实时搭车订单派发的示例环境400。示例环境400可以包括混合系统410、模拟器420、匹配系统430和路线选择系统440。混合系统410可以包括动作选择Q-learning(action selection Q-learning,ASQ)412和估计的行程时间414。ASQ 412可以在模拟器420中离线训练并周期性地与模拟器420交互。在一些实施例中,混合系统410可以包括路线规划技术和估计到达时间(estimating time of arrival,ETA)。可以通过ETA模型获得每个订单的行程时间。行程时间可以是动态的,并且依赖于当前交通和路线状况。可以在ETA模型中将坐标位置信息纳入考虑。

在一些实施例中,可以调适估计行程时间技术以并入动作选择Q-learning。例如,可以将每个订单的持续时间视为已知的订单特征之一。可以采用网格世界地图来简化真实世界环境,并且利用网格信息替换坐标位置信息。相同网格中的车辆可以共享相同的设置,并且这种同构设置可以忽略网格内信息。

在一些实施例中,匹配系统430可以从混合系统410获得Q值432。匹配系统430可以将<车辆,订单>匹配输出到路线选择系统440。在每个时隙中,实时订单派发算法的目标可以是确定匹配系统430中的车辆和订单之间的最佳匹配,并规划驾驶员服务订单的路线。匹配系统的原理可以公式化为:

其中

其中,i∈[1,2,...,m]以及j∈[1,2,...,n]分别表示在每个时间步的所有空闲驾驶员和可用订单。Q(i,j)可以从混合系统410输出,并且表示驾驶员i执行服务订单j的动作的动作值函数。等式14中的约束可以保证在每个时间步,每个驾驶员将选择一个可用的真实订单,否则不做选择,同时每个订单将被分配给一个驾驶员或保持未服务状态。

在一些实施例中,匹配系统430可以使用Kuhn-Munkres(KM)算法来实现。可以将等式13公式化成二分图匹配问题,其中驾驶员和订单呈示为两组节点。订单i和驾驶员j之间的每个边可以赋值为Q(i,j),并且可以使用KM算法找到最佳匹配。当假设在相同网格中的驾驶员之间没有区别时,KM算法将退化为排序算法。可以选择具有最高Q(i,j)值的前m个订单。

在一些实施例中,由匹配系统430选择的订单和车辆的匹配对可以与坐标信息一起传送到路线选择系统440。路线选择系统440可以配备有路线规划技术,其可以允许驾驶员服务于订单。数据:(s,a)450可以作为反馈(例如,奖励)提供给混合系统410和模拟器420,以帮助整个训练系统实现更好的性能。

图5示出了根据本公开多种实施例的用于搭车订单派发的示例方法的流程图500。方法500可以在包括例如图1的环境100的多种环境中来实现。下文给出的方法500的操作理应是说明性的。根据实现方式,方法500可以包括按多种顺序或并行执行的附加、更少或替代步骤。方法500可以在包括一个或多个处理器的多种计算系统或设备中实现。

就方法500而言,在框502处,可以获得信息。该信息可以包括多个车辆的多个车辆位置、多个搭车订单和当前时间。在框504处,可以将获得的信息输入到训练的模型中。训练的模型可以基于Kullback-Leibler散度优化和联合策略指导下的独立代理。在框506处,可以生成多个车辆要完成的多个订单派发任务。

图6是可实现本文描述的任何实施例的计算机系统600的框图。例如,计算系统600可以用于实现图1所示的计算系统102。作为另一个例子,图2-5中所示且结合附图描述的过程/方法可以通过存储在主存储器606中的计算机程序指令来实现。当这些指令被处理器604执行时,它们可以执行如图2-5所示且在上文中描述的步骤。在替代实施例中,可使用硬连线电路来代替软件指令或与软件指令相组合。计算机系统600包括总线602或用于传达信息的其它通信机构,与总线602耦合以进行处理信息的一个或多个硬件处理器604。硬件处理器604可以是例如一个或多个通用微处理器。

计算机系统600还包括主存储器606,例如随机存取存储器(RAM)、高速缓存和/或其它动态存储设备,其耦合到总线602以用于存储信息和被处理器604执行的指令。主存储器606还可以用于在执行由处理器604执行的指令期间存储临时变量或其它中间信息。当存储在处理器604中可访问的存储介质中时,这些指令使计算机系统600为专用机器,该专用机器被定制成执行指令中指定的操作。主存储器606可以包括非易失性介质和/或易失性介质。非易失性介质可以包括例如光盘或磁盘。易失性介质可以包括动态存储器。常见形式的介质可以包括:软盘、硬盘、固态硬盘、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光学数据存储介质、任何有孔图案的物理介质、RAM、DRAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它内存芯片或盒式磁带,以及其网络版本。

计算机系统600可使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本发明所述的技术,这些与计算机系统相结合使得计算机系统600成为专用机器或将该系统编程为专用机器。根据一个实施例,本发明的技术是通过计算机系统600响应于处理器604执行包含在主存储器606中的一个或多个指令的一个或多个序列而执行的。这些指令可从另一个存储介质(比如,存储设备608)读入主存储器606。执行包含在主存储器606中的指令序列使得处理器604可执行本发明描述的处理步骤。

计算机系统600还包括与总线602耦接的通信接口610。通信接口610提供与连接到一个或多个网络的一个或多个网络链接耦接的双向数据通信。再例如,通信接口610可以是局域网卡,以提供与兼容局域网(或与广域网通信的广域网组件)之间的数据的通信连接。还可实施无线链接。

可以将某些操作的执行分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例实施例中,处理器或处理器实现的引擎可以设在单个地理位置(例如,在家庭环境中/办公环境或服务器场)中。在其它示例实施例中,处理器或处理器实现的引擎可以分布在多个地理位置。

在本文中将某些实施例描述为包括逻辑或多个部件。部件可以构成软件部件(例如,在机器可读介质上包含的代码)或硬件部件(例如,能够以某种物理方式配置或布置执行某些操作的有形单元)。如本文所使用的,为了方便起见,当部件可以包括可以编程或配置计算系统102执行操作的指令时,可以将计算系统102的部件描述为执行或配置用于执行操作。

虽然本文描述了所公开的原理的示例和特征,但是在不脱离所公开实施例的精神和范围的情况下,可以进行修改、调整和其它实现。而且,词汇“包括”、“具有”、“包含”和“含有”和其它类似形式的理应在含义上是等效的且是开放意义的,因为这些词汇任何一个之后的一个或多个项并不意味着此类一个或多个项的穷举列表,或者意味着仅限于列出的一个或多个项。还必须注意,如本文和所附权利要求中所使用的,单数形式“一个”、“个”和“所述”包括复数引用,除非上下文明确地另外陈述。

本文图示的实施例得以足够详细地描述,以使本领域技术人员能够实践所公开的教导。可以使用其它实施例并从中导出其它实施例,使得可以在不脱离本发明范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被视为具有限制意义,且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:针对恶劣天气和差能见度期间的车辆的警告系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!