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

用于库存控制和优化的强化学习系统和方法

文献发布时间:2023-06-19 11:39:06


用于库存控制和优化的强化学习系统和方法

技术领域

本发明涉及用于改善库存控制和优化的技术方法和系统。特别地,在改进的收益管理系统的实现中,本发明的实施例采用机器学习技术,特别是强化学习。

背景技术

在许多行业中采用库存系统来控制资源的可用性,例如通过定价和收益管理以及任何相关联的计算。库存系统使客户能够购买或预订提供商提供的可用资源或商品。此外,库存系统允许提供商管理可用资源,并通过将这些资源提供给客户来最大程度地增加收入和利润。

在此上下文中,术语“收入管理”是指数据分析的应用,以预测消费者行为并优化产品供应和定价以最大化收入增长。收入管理和定价在宾馆、旅游和运输行业尤为重要,所有这些行业的特征都是“易消亡的存货”,即,一旦使用范围过去,空置的空间(诸如房间或座位)就表示无法弥补的收入损失。定价和收入管理是这些行业的运营商可以改善其业务和财务绩效的最有效方式。重要的是,定价是容量管理和负载平衡中的强大工具。因此,最近几十年来,这些行业中已经开发了复杂的自动化收入管理系统。

举例来说,航空公司收入管理系统(RMS)是一种自动系统,被设计为在预留时段(通常为一年)内最大化所有可用座位生成的航班收入。RMS用于设置有关随时间推移的座位可用性和定价(飞机票价)的策略,以便实现最大收入。

常规的RMS是一种建模的系统,即,它基于收入和预留的模型。该模型是专门为模拟操作而构建的,因此必然包含许多假设、估计和试探法。这些包括对客户行为的预测/建模、对需求(数量和模式)的预报(forecast)、对单个航段以及整个网络中的座位占用的优化,以及超额预订。

但是,常规RMS具有许多缺点和局限性。首先,RMS取决于可能无效的假设。例如,RMS假设未来由过去准确地描述,而如果业务环境发生变化(例如,新竞争对手)、需求和消费者对价格的敏感度发生变化或客户行为发生变化,那么情况可能并非如此。它还假设客户行为是理性的。此外,常规RMS模型在竞争者的动作在客户行为中被隐含考虑的假设下将市场视为垄断。

RMS的常规方法的另一个缺点是,模型与其输入之间通常存在相互依赖关系,使得可用输入数据中的任何改变都要求修改或重建模型以利用新的或改变的信息。此外,在没有人工干预的情况下,建模的系统对需求的改变反应缓慢,需求的改变在模型所基于的历史数据中表现得很差或没有表现。

因此,期望开发出能够克服或至少减轻常规RMS的缺点和局限性中的一个或多个的改进的系统。

发明内容

本发明的实施例实现了一种基于机器学习(ML)技术的收入管理方案。这种方案有利地包括提供强化学习(RL)系统,其使用历史数据和实况数据(例如,库存快照)的观察来生成输出,诸如推荐的定价和/或可用性策略,以便优化收入。

强化学习是一种ML技术,其可以应用于顺序决策问题,诸如,在本发明的实施例中,基于对系统当前状态的观察(即,在预定预留时段内的预留和可用库存),确定要在任何一个时间点设置的策略,其目的是长期优化收入。有利地,RL代理仅基于对系统的状态的观察来采取动作,并接收由于过去动作而达到的后继状态形式的反馈,以及强化或“报酬”形式,例如这些动作如何有效地实现目标的测量。因此,RL代理随着时间“学习”在任何给定状态下为实现目标而采取的最优动作,诸如要设置的价格/票价和可用性策略,以便在预留时段内最大化收入。

更特别地,在本发明在一个方面中提供了一种用于在系统中对资源管理代理进行强化学习的方法,该系统用于管理具有销售范围的易消亡资源的库存,同时寻求优化由此生成的收入,其中库存具有包括易消亡资源的剩余可用性和销售范围的剩余时段的相关联状态,该方法包括:

生成多个动作,每个动作包括发布定义相对于库存中剩余的易消亡资源的定价时间表的数据;

响应于所述多个动作,接收对应的多个观察,每个观察包括与库存相关联的状态的过渡以及从易消亡资源的销售生成的收入形式的相关联报酬;

将接收到的观察存储在重放存储器存储库中;

根据优先化的重放采样算法,从重放存储器存储库中周期性地采样随机化的观察批,其中在整个训练时期内,从有利于选择与接近终端状态的过渡对应的观察的分布朝着有利于选择与接近初始状态的过渡对应的观察的分布逐步适配用于选择随机化的批中的观察的概率分布;以及

使用每个随机化的观察批来更新神经网络的权重参数,该神经网络包括资源管理代理的动作-值函数近似器,使得在提供有输入库存状态和输入动作时,神经网络的输出更加紧密近似于在输入库存状态下生成输入动作的实际值,

其中神经网络可以被用于选择根据与库存相关联的对应状态而生成的所述多个动作中的每个动作。

有利地,基准模拟已经证明,给定从中学习的观察数据,实施本发明的方法的RL资源管理代理提供了比现有技术资源管理系统改进的性能。此外,由于观察到的状态过渡和报酬将随着易消亡资源的市场的任何改变而改变,因此代理无需人工干预就能对这种改变做出反应。代理不要求市场或消费者行为的模型来适应,即,它是无模型的,并且没有任何对应的假设。

有利地,为了减少RL代理的初始训练所需的数据量,本发明的实施例采用深度学习(DL)方法。特别地,神经网络可以是深度神经网络(DNN)。

在本发明的实施例中,可以通过来自现有收入管理系统的知识转移(即,监督式学习的形式)的过程来初始化神经网络,以便为资源管理代理提供“热起动”。知识转移的方法可以包括以下步骤:

确定与现有收入管理系统相关联的值函数,其中值函数将与库存相关联的状态映射到对应的估计值;

将值函数翻译成适于资源管理代理的对应的经翻译的动作-值函数,其中翻译包括将时间步长尺寸匹配到与资源管理代理相关联的时间步长并将动作维度添加到值函数;

采样经翻译的动作-值函数以生成用于神经网络的训练数据集;以及

使用训练数据集来训练神经网络。

有利地,通过采用知识转移过程,资源管理代理可以要求实质上减少数量的附加数据,以便学习最优或接近最优的策略动作。至少在起初,本发明的这种实施例等同于现有收入管理系统执行,在某种意义上,它响应于相同的库存状态而生成相同的动作。随后,资源管理代理可以学习以胜过从其转移初始知识的现有收入管理系统。

在一些实施例中,资源管理代理可以被配置为在使用神经网络的动作-值函数近似与基于动作-值函数的表格表示的Q学习方法之间切换。具体而言,切换方法可以包括:

对于每个状态和动作,使用神经网络计算对应的动作值,并用计算出的值填充动作-值查找表中的条目;以及

切换到使用动作-值查找表的Q学习操作模式。

用于切换回基于神经网络的动作-值函数近似的另一种方法可以包括:

采样动作-值查找表以生成用于神经网络的训练数据集;

使用训练数据集来训练神经网络;以及

切换到使用经训练的神经网络的神经网络功能近似操作模型。

有利地,提供在基于神经网络的函数近似与表格Q学习操作模式之间切换的能力使得能够根据需要获得两种方法的好处。具体而言,在神经网络操作模式下,当与表格Q学习模式相比时,资源管理代理能够使用少得多的观察到的数据来学习和适应改变,并且可以通过使用经验重放方法的持续的训练和适应高效地继续在线探索替代策略。但是,在稳定的市场中,表格Q学习模式可以使资源管理代理能够更有效地利用动作-值表中包含的知识。

虽然本发明的实施例能够使用库存状态和市场数据的实况观察来在线操作、学习和适配,但是也有利地可能使用市场模拟器来训练和基准测试实施例。市场模拟器可以包括模拟的需求生成模块、模拟的预留系统和选择模拟模块。市场模拟器还可以包括模拟的竞争库存系统。

在另一方面,本发明提供一种系统,用于管理具有销售范围的易消亡资源库存,同时寻求优化由此生成的收入,其中库存具有包括易消亡资源的剩余可用性和销售范围的剩余时段的相关联状态,该系统包括:

计算机实现的资源管理代理模块;

计算机实现的神经网络模块,包括资源管理代理的动作-值函数近似器;

重放存储器模块;以及

计算机实现的学习模块,

其中资源管理代理模块被配置为:

生成多个动作,每个动作是通过使用与库存相关联的当前状态查询神经网络模块来确定的并且包括发布定义与库存中剩余的易消亡资源相关的定价时间表的数据;

响应于所述多个动作,接收对应的多个观察,每个观察包括与库存相关联的状态的过渡以及从易消亡资源的销售生成的收入形式的相关联报酬;以及

在回放存储器模块中存储接收到的观察,其中学习模块被配置为:

根据优先化的重放采样算法,从重放存储器存储库中周期性地采样随机化的观察批,其中在整个训练时期内,从有利于选择与接近终端状态的过渡对应的观察的分布朝着有利于选择与接近初始状态的过渡对应的观察的分布逐步适配用于选择随机化的批中的观察的概率分布;以及

使用每个随机化的观察批来更新神经网络模块的权重参数,使得在提供有输入库存状态和输入动作时,神经网络模块的输出更加紧密近似于在输入库存状态下生成输入动作的实际值。

在另一方面,本发明提供了一种计算系统,该计算系统用于管理具有销售范围的易消亡资源的库存,同时寻求优化由此生成的收入,其中库存具有包括易消亡资源的剩余可用性和销售范围的剩余时段的相关联状态,该系统包括:

处理器;

处理器可访问的至少一个存储器设备;以及

处理器可访问的通信接口,

其中存储器设备包含重放存储器存储库和程序指令的主体,程序指令在由处理器执行时使计算系统实现包括以下步骤的方法:

生成多个动作,每个动作包括经由通信接口发布数据,该数据定义关于库存中剩余的易消亡资源的定价时间表;

经由通信接口并响应于所述多个动作来接收对应的多个观察,每个观察包括与库存相关联的状态的过渡以及从易消亡资源的销售生成的收入形式的相关联报酬;

将接收到的观察存储在重放存储器存储库中;

根据优先化的重放采样算法,从重放存储器存储库中周期性地采样随机化的观察批,其中在整个训练时期内,从有利于选择与接近终端状态的过渡对应的观察的分布朝着有利于选择与接近初始状态的过渡对应的观察的分布中逐步适配用于选择随机化的批中的观察的概率分布;以及

使用每个随机化的观察批来更新神经网络的权重参数,该神经网络包括资源管理代理的动作-值函数近似器,使得在提供有输入库存状态和输入动作时,神经网络的输出更加紧密近似于在输入库存状态下生成输入动作的实际值,

其中神经网络可以被用于选择根据与库存相关联的对应状态而生成的所述多个动作中的每个动作。

在又一方面,本发明提供了一种计算机程序产品,该计算机程序产品包括其上存储有指令的有形计算机可读介质,指令在由处理器执行时实现一种在系统中对资源的管理代理进行强化学习方法,该系统用于管理具有销售范围的易消亡资源的库存,同时寻求优化由此生成的收入,其中库存具有包括易消亡资源的剩余可用性和销售范围的剩余时段的相关联状态,该方法包括:

生成多个动作,每个动作包括发布定义相对于库存中剩余的易消亡资源的定价时间表的数据;

响应于所述多个动作,接收对应的多个观察,每个观察包括与库存相关联的状态的过渡以及从易消亡资源的销售生成的收入形式的相关联报酬;

将接收到的观察存储在重放存储器存储库中;

根据优先化的重放采样算法,从重放存储器存储库中周期性地采样随机化的观察批,其中在整个训练时期内,从有利于选择与接近终端状态的过渡对应的观察的分布朝着有利于选择与接近初始状态的过渡对应的观察的分布逐步适配用于选择随机化的批中的观察的概率分布;以及

使用每个随机化的观察批来更新神经网络的权重参数,该神经网络包括资源管理代理的动作-值函数近似器,使得在提供有输入库存状态和输入动作时,神经网络的输出更加紧密近似于在输入库存状态下生成输入动作的实际值,

其中神经网络可以被用于选择根据与库存相关联的对应状态而生成的所述多个动作中的每个动作。

根据以下对各种实施例的描述,本发明的实施例的其它方面、优点和特征对于相关领域的技术人员将是显而易见的。但是,应该认识到的是,本发明不限于所描述的实施例,提供这些实施例是为了说明如前文陈述中定义的本发明的原理,并且帮助技术人员将这些原理付诸于实践效果。

附图说明

现在将参考附图描述本发明的实施例,在附图中,相同的附图标记指代相同的特征,并且其中:

图1是图示包括实施本发明的库存系统的示例性联网系统的框图;

图2是实施本发明的示例性库存系统的功能框图;

图3是适于训练和/或基准测试实施本发明的强化学习收入管理系统的航空旅行市场模拟器的框图;

图4是实施采用表格Q学习方法的本发明的强化学习收入管理系统的框图;

图5示出了图示当与模拟的环境交互时图4的Q学习强化学习收入管理系统的性能的图表;

图6A是实施采用深度Q学习方法的本发明的强化学习收入管理系统的框图;

图6B是图示根据实施本发明的优先化的回复方法的采样和更新方法的流程图;

图7示出了图示当与模拟的环境交互时图6的深度Q学习强化学习收入管理系统的性能的图表;

图8A是图示用于初始化实施本发明的强化学习收入管理系统的知识转移方法的流程图;

图8B是图示图8A的知识转移方法的附加细节的流程图;

图9是图示在实施本发明的强化学习收入管理系统中从深度Q学习操作切换到表格Q学习操作的方法的流程图;

图10是示出使用图3的市场模拟器的现有技术收入管理算法的性能基准的图表;

图11是示出使用图3的市场模拟器实施本发明的强化学习收入管理系统的性能基准的图表;

图12是示出与图10的性能基准对应的预订曲线的图表;

图13是示出与图11的性能基准对应的预订曲线的图;以及

图14是图示由现有技术的收入管理系统和使用图3的市场模拟器实施本发明的强化学习收入管理系统选择的票价策略的效果的图表。

具体实施方式

图1是图示包括实施本发明的库存系统102的示例性联网系统100的框图。特别地,库存系统102包括被配置为根据本发明的实施例执行收入优化的强化学习(RL)系统。具体而言,参考用于销售和预约航空公司座位的库存和收入优化系统描述本发明的实施例,其中联网系统100一般包括航空公司预订系统,而库存系统102包括特定航空公司的库存系统。但是,应该认识到的是,这仅仅是一个示例,以说明系统和方法,并且应该认识到的是,本发明的另外的实施例可以应用于除与航空公司座位的销售和预约相关的那些系统以外的库存和收入管理系统。

航空公司库存系统102可以包括具有常规体系架构的计算机系统。特别地,如图所示,航空公司库存系统102包括处理器104。处理器104例如经由如图所示的一个或多个数据/地址总线108可操作地与非易失性存储器/存储装置106相关联。非易失性存储装置106可以是硬盘驱动器,和/或可以包括固态非易失性存储器,诸如ROM、闪存固态驱动器(SSD)等。处理器104还与包含与航空公司库存系统102的操作相关的程序指令和暂态数据的易失性存储装置110(诸如RAM)接口。

在常规配置中,存储设备106维护与航空公司库存系统102的正常操作相关的已知程序和数据内容。例如,存储设备106可以包含操作系统程序和数据,以及航空公司库存系统102的预期功能所需的其它可执行应用软件。存储设备106还包含程序指令,当这些程序指令由处理器104执行时,使得航空公司库存系统102执行与本发明的实施例相关的操作,诸如下面更详细描述的并且特别是参考图4至14描述的操作。在操作中,保持在存储设备106上的指令和数据被传送到易失性存储器110以便按需执行。

处理器104还以常规方式可操作地与通信接口112相关联。通信接口112促进访问广域数据通信网络,诸如互联网116。

在使用中,易失性存储装置110包含程序指令的对应主体114,程序指令从存储设备106传送并且被配置为执行实施本发明的特征的处理和其它操作。程序指令114包括对本领域专门开发和配置以实现本发明的实施例的技术贡献,其超出和高于收入优化和机器学习系统领域中众所周知的、日常的和常规的活动,如下面特别是参考图4至14进一步描述的。

关于航空公司库存系统102的前述概述,以及本说明书中描述的其它处理系统和设备,除非上下文另有要求,否则诸如“处理器”、“计算机”等术语应当被理解为是指包括硬件和软件的组合的设备、装置和系统的一系列可能实现。这包括单处理器和多处理器设备和装置,包括便携式设备、台式计算机和各种类型的服务器系统,包括可以共处或分布的协作硬件和软件平台。物理处理器可以包括通用CPU、数字信号处理器、图形处理单元(GPU)和/或适合于高效执行所需程序和算法的其它硬件设备。如本领域技术人员将认识到的,在一个或多个通用CPU的控制下,尤其可以采用GPU用于包括本发明的各种实施例的深度神经网络的高性能实现。

计算系统可以包括常规的个人计算机体系架构或其它通用硬件平台。软件可以包括开源和/或商业上可用的操作系统软件以及各种应用和服务程序。替代地,计算或处理平台可以包括定制硬件和/或软件体系架构。为了增强可扩展性,计算和处理系统可以包括云计算平台,从而使得物理硬件资源能够响应于服务需求而被动态地分配。虽然所有这些变化都落入本发明的范围内,但是为了便于解释和理解,本文描述的示例性实施例说明性地参考单处理器通用计算平台,通常可用的操作系统平台,和/或广泛可用的消费者产品,诸如台式PC、笔记本或膝上型PC、智能电话、平板计算机等。

特别地,术语“处理单元”和“模块”在本说明书中用于指被配置为执行特定定义的任务(诸如访问和处理离线或在线数据、执行强化学习模型和/或这种模型内的深度神经网络或其它函数近似器的训练步骤,或执行定价和收入优化步骤)的硬件和软件的任何合适的组合。这种处理单元或模块可以包括在单个处理设备上的单个位置处执行的可执行代码,或者可以包括在多个位置和/或多个处理设备上执行的协作可执行代码模块。例如,在本发明的一些实施例中,收入优化和强化学习算法可以完全由在单个系统(诸如航空公司库存系统102)上执行的代码来执行,而在其它实施例中,可以以分布式方式在多个系统上执行对应的处理。

可以使用任何合适的编程语言、开发环境或语言和开发环境的组合来开发实施本发明的特征的软件组件(例如,程序指令114),如软件工程领域的技术人员所熟悉的。例如,可以使用C编程语言、Java编程语言、C++编程语言、Go编程语言、Python编程语言、R编程语言和/或适合于实现机器学习算法的其它语言来开发合适的软件。实施本发明的软件模块的开发可以通过使用机器学习代码库(诸如TensorFlow、Torch和Keras库)来支持。但是,本领域技术人员将认识到的是,本发明的实施例涉及机器学习系统领域中不是众所周知的、日常的或常规的软件结构和代码的实现,并且虽然预先存在的库可以帮助实现,但是它们需要特定配置和广泛增强(即,附加代码开发),以便实现本发明的各种好处和优点并实现下面描述的特定结构、处理、计算和算法,特别是参考图4至14的。

上述语言、环境和代码库的示例并非旨在进行限制,并且应该认识到的是,可以根据系统要求采用任何方便的语言、库和开发系统。作为示例,提供了本说明书中呈现的描述、框图、流程图、等式等,以使软件工程和机器学习领域的技术人员能够理解和认识到本发明的特征、性质和范围,并通过使用根据本公开的任何合适的语言、框架、库和开发系统实现合适的软件代码来实施本发明的一个或多个实施例,而不需要运用附加的发明性创新。

本文描述的任何应用/模块中实施的程序代码能够以各种不同的形式单独地或共同地分发为程序产品。特别地,程序代码可以使用其上具有计算机可读程序指令的计算机可读存储介质来分发,该计算机可读程序指令用于使处理器执行本发明的实施例的各方面。

计算机可读存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的有形介质,信息诸如为计算机可读指令、数据结构、程序模块或其它数据。计算机可读存储介质还可以包括随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它固态存储器技术、便携式光盘只读存储器(CD-ROM)、或其它光学存储装置、磁盒、磁带、磁盘存储装置或其它磁存储设备、或可以用于存储所需信息并且可以通过计算机读取的任何其它介质。计算机可读存储介质不能包括暂态信号本身(例如,无线电波或其它传播的电磁波、通过诸如波导之类的传输介质传播的电磁波、或通过电线传输的电信号)。计算机可读程序指令可以经由这种暂态信号从计算机可读存储介质下载到计算机、另一种类型的可编程数据处理装置或其它设备,或者可以经由网络下载到外部计算机或外部存储设备。

存储在计算机可读介质中的计算机可读程序指令可以用于指示计算机、其它类型的可编程数据处理装置或其它设备以特定方式工作,使得存储在计算机可读介质中的指令产生包括实现流程图、序列图和/或框图中指定的功能、动作和/或操作的指令的制造品。计算机程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的一个或多个处理器以产生机器,使得经由一个或多个处理器执行的指令使得执行一系列计算以实现在流程图、序列图和/或框图中指定的功能、动作和/或操作。

返回到图1的讨论,航空公司预订系统100包括全球分销系统(GDS)118,其包括预约系统(未示出),并且能够访问可以进行预订的各家航空公司的票价和时间表的数据库120。还示出了替代航空公司的库存系统122。虽然在图1中通过图示示出了单个替代航空公司库存系统122,但应该认识到的是,航空业竞争激烈,并且在实践中GDS 118能够对于大量航空公司访问票价和时间表,并执行预约,每个航空公司都有自己的库存系统。可以是个人、预订代理或任何其它公司或个人实体的客户例如经由执行对应预约软件的客户终端124通过网络116访问GDS 118的预约服务。

根据常见用例,在GDS 118处接收来自客户终端124的传入请求126。传入请求126包括希望旅行到目的地的乘客的所有预期信息。例如,该信息可以包括出发点、到达点、旅行日期、乘客数量等。GDS 118访问票价和时间表的数据库120,以识别可以满足客户要求的一个或多个行程。然后,GDS 118可以生成关于选择的行程的一个或多个预订请求。例如,如图1中所示,预订请求128被传输到库存系统102,库存系统102处理该请求并生成指示预订被接受还是被拒绝的响应130。还图示了另外的针对替代航空公司库存系统122的预订请求132的传输以及对应的接受/拒绝响应134。然后,预订确认消息136可以由GDS 118传输回客户终端124。

在航空业中众所周知的是,由于竞争环境,大多数航空公司提供多个不同的旅行等级(例如,经济舱、高级经济舱、商务舱和头等舱),并且在每个旅行等级内可以是具有不同定价和条件的多种票价等级。因此,收入管理和优化系统的主要功能是控制从预订开始到航班起飞之间的时间段内这些不同票价等级的可用性和定价,以努力使航班为航空公司带来的收入最大化。最先进的常规RMS采用动态编程(DP)方法来解决收入生成过程的模型,该模型考虑了座位可用性、出发时间、每个座位的边际价值和边际成本、客户行为的模型(例如,价格敏感度或付款意愿)等,以便在特定的时间点生成包括针对可用票价等级的集合中的每个票价的特定价格的策略。在常见的实施方式中,每个价格可以从对应的票价点集合中选择,该票价点集合可以包括“已关闭”,即,该票价等级不再可以被出售的指示。通常,随着需求的增加和/或供应的减少(例如,随着出发时间的临近),由RMS根据其对模型的解决方案生成的策略会改变,使得为每个票价等级选择的价格点增加,并且价格更便宜(以及更多限制的)等级是“已关闭”。

本发明的实施例用基于增强学习(RL)的新颖方法代替了常规RMS的基于模型的动态编程方法。

在图2中图示了示例性库存系统200的功能框图。库存系统200包括收入管理模块202,该收入管理模块202负责生成票价策略,即,在给定的时间点可用于预约的每个航班上的可用票价等级的集合中的每一个的定价。一般而言,收入管理模块202可以实现常规的基于DP的RMS(DP-RMS)或用于确定策略的某种其它算法。在本发明的实施例中,收入管理模块实现基于RL的收入管理系统(RL-RMS),诸如下面参考图4至14详细描述的。

在操作中,收入管理模块202经由通信信道206与库存管理模块204通信。收入管理模块202由此能够从库存管理模块204接收与可用库存相关的信息(即,在开放航班上剩余的未售出座位),并且能够将票价策略更新传输到库存管理模块204。库存管理模块204和收入管理模块都能够访问票价数据208,包括定义由航空公司为每个票价等级设置的可用价格点和条件的信息。收入管理模块202还被配置为访问航班预约的历史数据210,该历史数据实施关于顾客行为、价格敏感性、历史需求等的信息。

库存管理模块204从GDS 118接收例如针对预订、更改和取消的请求214。它基于由收入管理模块202设置的当前策略和存储在票价数据库208中的对应票价信息通过接受或拒绝这些请求来响应212这些请求。

为了比较不同收入管理方法和算法的性能,并为RL-RMS提供训练环境,实现航空旅行市场模拟器是有益的。这种模拟器300的框图在图3中示出。模拟器300包括需求生成模块302,其被配置为生成模拟的客户请求。模拟的请求可以被生成为在统计上类似于在相关历史时段内观察到的需求,可以根据需求的某些其它模式进行合成,和/或可以基于某种其它需求模型,或模型的组合。模拟的请求被添加到由GDS 118服务的事件队列304。GDS 118向库存系统200和/或任何数量的模拟的竞争航空公司库存系统122做出对应的预订请求。每个竞争的航空公司库存系统122可以基于与库存系统200相似的功能模型,但是可以实现与收入管理模块202等效的不同的收入管理方法,例如DP-RMS。

选择模拟模块306从GDS 118接收由航空公司库存系统200、122提供的可用旅行解决方案,并生成模拟的客户选择。客户选择可以基于客户预约行为、价格敏感性等的历史观察,和/或可以基于消费者行为的其它模型。

从库存系统200的角度来看,需求生成模块302、事件队列304、GDS 118、选择模拟器306和竞争的航空公司库存系统122共同包括模拟的运营环境(即,航空旅行市场),其中库存系统200竞争预订,并试图优化其收入生成。为了本公开的目的,这种模拟的环境被用于训练RL-RMS的目的,如下面参考图4至7进一步描述的,以及用于将RL-RMS的性能与替代收入管理方法进行比较,如下面参考图10至14进一步描述的。但是,如将认识到的,实施本发明的RL-RMS在与实际航空旅行市场交互时将以相同的方式操作,并且不限于与模拟的环境的交互。

图4是采用Q学习方法的实施本发明的RL-RMS 400的框图。RL-RMS 400包括代理402,其是被配置为与外部环境404交互的软件模块。环境404可以是实际航空旅行市场,或者是诸如上面参考图2描述的模拟的航空旅行市场。根据众所周知的RL系统的模型,代理402采取影响环境404的动作,并观察环境的状态的改变,并响应于这些动作而获得报酬。特别地,RL-RMS代理402采取的动作406包括生成的票价策略。对于任何给定的航班,环境408的状态包括可用性(即,未售出的座位的数量)以及直到出发之前的剩余天数。报酬410包括从座位预约生成的收入。因此,代理402的RL目标是确定针对每个观察到的环境状态的使总报酬410(即,每次飞行的收入)最大化的动作406(即,策略)。

Q学习RL-RMS 202维护动作-值表412,该动作-值表412包括针对每个状态s和每个可用动作(票价策略)a的值估计Q[s,a]。为了确定在当前状态s下采取的动作,代理402被配置为针对每个可用动作a查询414动作-值表412,以检索对应的值估计Q[s,a],并基于某个当前动作策略π选择动作。在实际市场中的实况操作中,操作策略π可以是选择在当前状态s下最大化Q的动作a(即,“贪婪”动作策略)。但是,当训练RL-RMS时,例如,使用模拟的需求进行离线训练,或使用客户行为的最近观察进行在线训练,替代的动作策略可能是优选的,诸如“ε-贪婪”动作策略,其平衡当前动作-值数据的利用与当前被认为较低价值但是经由未利用的状态或由于市场的改变可能最终导致较高收入的动作的利用。

在采取动作a之后,代理402从环境404接收新的状态s'和报酬R,并将所得的观察(s',a,R)418传递到Q更新软件模块420。Q更新模块420被配置为通过检索422状态-动作对(s,a)的当前估计值Q

图5示出了与模拟的环境404交互的Q学习RL-RMS 400的性能的图表500。横轴502表示模拟的市场数据的年数(以千计),而纵轴504表示由RL-RMS 400实现的目标收入506的百分比。收入曲线508示出RL-RMS确实能够学习以朝着目标506优化收入,但是其学习速度非常慢,只有在经历160,000年的模拟数据后才能实现大约96%的目标收入。

图6A是实施本发明的采用深度Q学习(DQL)方法的替代RL-RMS 600的框图。代理402与环境404的交互以及代理402的决策过程与表格Q学习RL-RMS中的基本相同,如使用相同的附图标记所指示的,因此不再需要赘述。在DQL RL-RMS中,用功能近似器代替动作-值表,特别是用深度神经网络(DNN)602代替。在示例性实施例中,对于具有大约200个座位的飞机,DNN 602包括四个隐藏层,每个隐藏层包括100个完全连接的节点。因而,示例性体系架构可以被定义为(k,100,100,100,100,n),其中k是状态的长度(即,对于由可用性和出发日期组成的状态,k=2),并且n是可能的动作的数量。在替代实施例中,DNN 602可以包括对抗性(duelling)网络体系架构,其中价值网络是(k,100,100,100,100,1),并且优势网络是(k,100,100,100,100,n)。在模拟中,发明人已经发现,使用对抗性网络体系架构可以提供优于单个动作-值网络的轻微优势,但是发现改进对本发明的总体性能并不关键。

在DQL RL-RMS中,对环境的观察被保存在重放存储器存储库604中。DQL软件模块被配置为从重放存储器604采样过渡(s,a)→(s′,R),以用于训练DNN 602。特别地,本发明的实施例采用优先化的体验重放的特定形式,已经发现在使用相对少量的观察到的过渡时实现良好的结果。DQL中的一种常见方法是完全随机地从重放存储器中采样过渡,以避免可能阻止DNN权重收敛的相关性。替代的已知优先化的重放方法以基于每个状态的值函数的当前误差估计的概率对过渡进行采样,使得具有较大误差的状态(因此可以预期估计的最大改进)更可能被采样。

在本发明的实施例中采用的优先化的重放方法是不同的,并且基于以下观察:收入优化问题的完整解决方案(例如,使用DP)始于终端状态,即,在航班出发时,当实际的最终收入已知,通过向终端状态的可能路径的扩展“金字塔”向后工作,以确定对应的值函数。在每个训练步骤中,根据初始优先化接近终端状态的过渡的统计分布,从重放存储器中采样过渡的小批。在整个训练时期的多个训练步骤中,调整分布的参数,使得优先级随时间转移到距离终端状态更远的过渡。不过,仍然选择统计分布,以便仍可以在任何批中选择任何过渡,使得DNN继续学习整个感兴趣状态空间中的动作-值函数,并且实际上不会“忘记”随着对早期状态的更多了解它已经了解的终端附近的状态。

为了更新DNN 602,DQL模块606检索610 DNN 602的权重参数θ,例如使用常规的反向传播算法、使用采样的小批来执行一个或多个训练步骤,然后将更新发送612给DNN 602。在图6B所示的流程图620中图示了实施根据本发明的优先化的重放方法的采样和更新方法的更多细节。在步骤622处,初始化时间索引t以表示紧临出发之前的时间间隔。在示例性实施例中,从预订开始到出发之间的时间被划分为20个数据收集点(DCP),使得出发时间T与t=21对应,因此该方法620中的时间索引t的初始值是t=20。在步骤624处,初始化DNN更新算法的参数。在示例性实施例中,采用Adam更新算法(即,随机梯度下降的改进形式)。在步骤626处,初始化计数器n,该计数器n控制在DNN的每次更新中使用的迭代(和小批)的数量。在示例性实施例中,使用基值n

在步骤628处,从重放集合604中与由当前索引t和出发时间T定义的时段对应的那些样本中随机选择样本的小批。然后,在步骤630处,通过更新器使用所选择的小批采取梯度下降的步骤。对于时间步长t,重复632这个过程,直到所有n次迭代都已完成。然后使时间索引t递减634,并且如果尚未达到零,那么控制返回到步骤624。

在示例性实施例中,重放集合的尺寸为6000个样本,与从每个航班20个时间间隔的300个航班中收集的数据对应,但是已经观察到这个数字不是关键的,并且可以使用值的范围。此外,小批尺寸为600,这是基于所使用的特定模拟参数确定的。

图7示出了DQL RL-RMS 600与模拟的环境404交互的性能的图表700。横轴702表示模拟的市场数据的年数,而纵轴704表示由RL-RMS 600实现的目标收入706的百分比。收入曲线708示出DQL RL-RMS 600能够学习以朝着目标706优化收入,远快于表格Q学习RL-RMS400,仅利用五年的模拟数据就实现了目标收入的大约99%,并且利用15年的模拟数据则接近100%。

通过图8A中所示的流程图800图示了初始化RL-RMS 400、600的替代方法。方法800利用现有的RMS(例如DP-RMS)作为“知识转移”到RL-RMS的源。这种方法的目标是,在给定状态s下,RL-RMS最初应当生成与使用初始化RL-RMS的源RMS所产生的票价策略相同的票价策略。因此,由过程800实施的一般原理是获得与源RMS对应的等效动作-值函数的估计,然后例如通过设置Q学习实施例中表格动作-值表示的对应值或在DQL实施例中通过DNN的监督式训练来使用这个函数以初始化RL-RMS。

但是,在源DP-RMS的情况下,在执行到等效的动作-值函数的过渡时要克服两个困难。首先,DP-RMS不采用动作-值函数。作为基于模型的优化过程,DP基于始终采取最优动作的假设来产生值函数V

因而,在过程800的步骤802处,使用DP公式计算值函数V

图8B是图示实施本发明的知识转移方法的更多细节的流程图820。方法820采用“检查点”的集合{cp

根据流程图820,一般算法如下进行。首先,在步骤822处,建立检查点的集合。在步骤824处,与第二RL-RMS时间间隔(即,cp

现在将描述过程820中的计算的示例性数学描述。在DP-RMS中,DP值函数可以被表述为:

V

其中

l

P

R

在实践中,使用需求预报量和到达模式定义l

另外:

对于所有x,V

对于所有x、a,Q

对于所有mt,V

对于所有mt、a,Q

然后,对于所有mt=cp

Q

其中V

另外,对于所有的cp

Q

因而,在检查点处取t的值,获得表Q(t,x,a),该表可以被用于以监督式方式在步骤808处初始化神经网络。在实践中,已经发现DP-RMS和RL-RMS值表略有不同。但是,它们导致的策略在模拟中的匹配率约为99%,从那些策略获得的收入也几乎完全相同。

有利地,采用过程800不仅为RL提供了有效的起点,其因此预期在初始时等效于现有的DP-RMS进行,而且还稳定后续的RL-RMS训练。函数近似方法(诸如DNN的使用)一般具有以下特性:训练不仅修改已知状态/动作的输出,而且修改所有状态/动作的输出,包括在历史数据中未观察到的状态/动作。这是有益的,因为它利用了相似状态/动作可能具有相似值的事实,但是在训练期间,它也会导致一些状态/动作的Q值发生大的改变,从而产生虚假的最优动作。通过采用初始化过程800,将所有初始Q值(和DNN参数,在DQL RL-RMS实施例中)设置为有意义的值,从而减少训练期间虚假局部最大值的发生率。

在以上讨论中,已经将Q学习RL-RMS和DQL RL-RMS描述为本发明的独立实施例。但是,在实践中,有可能在单个实施例中组合两种方法以便获得每种方法的益处。如已经示出的,与Q学习RL-RMS相比,DQL RL-RMS能够使用少得多的数据来学习和适应改变,并且可以通过使用经验重放方法的持续的训练和适应高效地继续在线探索替代策略。但是,在稳定的市场中,Q学习能够有效地利用动作-值表中包含的知识。因此,可能不时地期望在Q学习与RL-RMS的DQL操作之间进行切换。

图9是图示从DQL操作切换到Q学习操作的方法的流程图900。方法900包括在组成Q学习查找表的s和a的所有离散值上的循环902,以及使用深度Q学习DNN来评估904对应的Q值。因此通过在表格中填充与DNN当前状态精确对应的值,系统在步骤906处切换到Q学习。

反向过程(即,从Q学习到DQL的切换也)是可能的,并且以类似于过程800的采样806和初始化808步骤的方式进行操作。特别地,Q学习查找表中的当前Q值被用作DQL DNN近似的动作-值函数的样本,并且被用作DNN的监督式训练的数据源。一旦训练已经收敛,系统就使用经训练的DNN切换回DQL。

图10至14示出了市场模拟结果的图表,其图示了在存在采用替代RMS方法的竞争性系统122的情况下,使用模拟模型300进行模拟时RL-RMS的示例性实施例的性能。对于所有模拟,主要参数是:50个座位的航班容量;具有10个票价等级的“无障碍”票价结构;在52周的范围内基于20个数据收集点(DCP)的收入管理;并且假设两个具有不同价格敏感性特点(即,FRat5曲线)的客户群。模拟了三种不同的收入管理系统:DP-RMS;DQL-RMS;以及AT80,一种不太复杂的收入管理算法,其可以被低成本航空公司采用,该算法如同“手风琴”对预订限制进行调整,以实现80%的载客率目标。

图10示出了模拟的市场内DP-RMS相对于AT80的比较性能的图表1000。横轴1002表示操作时间(以月为单位)。相对于DP-RMS目标对收入进行基准测试,因此在整个模拟的时段内,由上部曲线1004指示的DP-RMS的性能在100%左右波动。在与DPRMS的竞争中,AT80算法始终获得约89%的基准收入,如下部的曲线1006所示。

图11示出了模拟的市场内DQL-RMS相对于AT80的比较性能的图表1100。再次,横轴1102表示操作时间(以月为单位)。如上部的曲线1104所示,DQL-RMS最初实现与AT80相当的收入,如下部的曲线1106所示,其低于DP-RMS基准。但是,在第一年的过程中(即,单个预约范围),DQL-RMS了解了市场,并增加收入,最终在与相同竞争对手的竞争中胜过DP-RMS。特别地,DQL-RMS实现了基准收入的102.5%,并将竞争对手的收入降低到基准的80%。

图12示出了预订曲线1200,其进一步图示了DP-RMS与AT80竞争的方式。横轴1202表示从航班打开到出发的整个预约范围内的时间,而纵轴1204表示出售的座位的分数。下部的曲线1206示出了使用AT80的航空公司的预订,其最终实现了出售容量的80%。上部的曲线1208示出了使用DP-RMS的航空公司的预订,其最终实现了出售容量的约90%的较高预订率。最初,AT80和DP-RMS都以大约相同的价格出售座位,但是随着时间的流逝,DP-RMS始终超过AT80,产生较高的利用率和较高的收入,如图10的图表1000中所示。

图13示出了DQL-RMS与AT80之间竞争的预定曲线1300。再次,横轴1302表示从航班打开到出发的整个预订范围的时间,而纵轴1304表示出售的座位的分数。上部的曲线1306示出了使用AT80的航空公司的预订,其再次最终实现了出售容量的80%。下部的曲线1308示出了使用DQL-RMS的航空公司的预订。在这种情况下,直到最终的DCP,AT80始终维持较高的出售分数。特别地,在预约范围的前20%期间,AT80最初以高于DQL-RMS的速率出售座位,迅速达到了容量的30%,这时使用DQL-RMS的航空公司仅出售了大约一半的座位。在接下来的60%的预约范围内,AT80和DQL-RMS的座位出售率大致相同。但是,在最后20%的预约范围内,DQL-RMS的座位出售率远高于AT80,从而最终实现了利用率稍高以及收入的大幅增长,如图11的图表1100中所示。

在图14中提供了对DQL-RMS性能的进一步了解,该图示出了图表1400,该图表图示了由DP-RMS和DQL-RMS选择的票价策略在模拟的市场中彼此竞争的影响。横轴1402表示以周为单位的出发时间,即,预订打开的时间由图表1400的最右侧表示,并且时间进展到最左侧的出发日。纵轴1404表示由每种收入管理方法随时间选择的策略中的最低票价,作为全票价策略的单值代理。曲线1406示出了由DP-RMS设置的最低可用票价,而曲线1408示出了由DQL-RMS设置的最低可用票价。

如可以看到的,在表示初始销售时段的区域1410中,DQL-RMS一般设置比DP-RMS更高的票价价格点(即,最低可用票价更高)。这样的效果是鼓励低收入(即,价格敏感)的消费者使用DP-RMS向航空公司预订。这与在图13的图表1300中所示的场景中竞争对手最初较高的销售率一致。随着时间的流逝,两家航空公司都关闭了较低票价等级,并且由DP-RMS和DQL-RMS生成的策略中的最低可用票价逐渐增加。朝着出发的时间,在区域1412中,可从使用DP-RMS航空公司获得的最低票价大大高于可从使用DQL-RMS航空公司获得的最低票价。在此期间,DQL-RMS显著增加了销售率,以比如果座位在预约时段中较早出售所能获得的更高的价格出售航班上的剩余容量。简而言之,在与DP-RMS的竞争中,DQL-RMS通常会在离出发点更远的时候关闭较便宜的票价等级,而在离出发点更近的地方保留更多的开放票价。因此,DQL-RMS算法通过了解竞争市场中的行为并在预约窗口中尽早用较低收入的乘客使竞争对手“陷入苦境”并稍后在预约窗口中使用预留的容量将座位出售给收入较高的乘客来实现较高的收入。

应当认识到的是,虽然本文已经描述了本发明的特定实施例和变型,但是对于相关领域的技术人员来说,进一步的修改和替换将是显而易见的。特别地,这些示例是通过图示本发明的原理的方式提供,并提供了许多使这些原理生效的具体方法和布置。一般而言,本发明的实施例依赖于提供技术布置,由此响应于对市场的状态以及从市场获得的收入形式的报酬的观察而采用强化学习技术,特别是Q学习和/或深度Q学习方法来选择动作,即,定价策略的设置。市场的状态可以包括易消亡商品(诸如飞机座位)的可用库存,以及必须出售库存的剩余时间段。本发明的实施例的修改和扩展可以包括另外的状态变量的添加,诸如竞争对手定价信息(例如,市场上竞争对手当前提供的最低价格和/或其它价格)和/或其它竞争对手和市场信息。

因而,所描述的实施例应当被理解为是通过示例提供的,为了教导本发明的一般特征和原理的目的,但是不应当被理解为限制本发明的范围。

技术分类

06120113002702