首页> 中国专利> 一种航班舱位的控制方法、装置及计算机设备

一种航班舱位的控制方法、装置及计算机设备

摘要

本发明公开了一种航班舱位的控制方法、装置以及计算机设备,其中,所述方法,包括:根据历史数据以及预设深度学习算法构建旅客选择行为模型;根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;根据航班舱位控制模型以及实时数据,调整目标航班的舱位。通过实施本发明,结合预设深度学习算法,训练生成的旅客选择行为模型,可以建立符合现实场景的仿真环境,生成准确的训练数据,继而可以结合预设深度强化学习算法,可以生成准确的动态规划决策结果,实现单航线上的舱位实时自动化控制,以及实时自动化控制过程中兼顾同航线上其它航班的开舱情况,同时保证上座率以及收益的平衡。

著录项

  • 公开/公告号CN113269402A

    专利类型发明专利

  • 公开/公告日2021-08-17

    原文格式PDF

  • 申请/专利权人 北京筹策科技有限公司;

    申请/专利号CN202110470182.9

  • 发明设计人 刘震;王闯;周兴;

    申请日2021-04-28

  • 分类号G06Q10/06(20120101);G06N3/08(20060101);G06N3/04(20060101);

  • 代理机构11250 北京三聚阳光知识产权代理有限公司;

  • 代理人李红团

  • 地址 101149 北京市通州区光华路甲1号1幢4层417

  • 入库时间 2023-06-19 12:14:58

说明书

技术领域

本发明涉及航班航线领域,具体涉及一种航班舱位的控制方法、装置及计算机设备。

背景技术

如何进行航班舱位的控制,是航空公司开舱策略中的一项重要工作,由于在对航班舱位进行控制过程中要兼顾同航线上其它航班的开舱情况,开舱策略不能与其它航班差别过大,过大则会扰乱市场秩序,属于恶意行为,因此,当前航司都是人工参考各航班及本航班情况进行开舱或者根据传统的座位控制方法进行开舱。传统的座位控制方法是EMSR方法,假设各舱级独立,在座位剩余数为x时,计算价格等级k机票对应座位的期望边际收益进舱位收益计算。EMSR模型是建立在Littlewood准则基础上,Littlewood准则假设预订需求按照先低后高到达的条件,EMSR模型按照固定的旅客需求概率分布计算确定每天订座控制数量。EMSR是静态的、各舱级之间独立的启发式的舱位控制方法。

现有技术中的人工观察市场,凭借自身经验来手工调整航班座位分配,难以保证其全面性、及时性和准确性;另外传统的座位控制方法是静态的、各舱级之间独立的启发式的舱位控制方法,会导致航空公司无法实时调整舱位控制策略。

发明内容

有鉴于此,本发明实施例提供了一种航班舱位的控制方法、装置及计算机设备,以解决相关技术中存在的无法保证舱位控制策略的及时性以及准确性的问题。

根据第一方面,本发明实施例提供了一种航班舱位的控制方法,包括:根据历史数据以及预设深度学习算法构建旅客选择行为模型;根据所述旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;根据所述航班舱位控制模型以及实时数据,调整目标航班的舱位。

可选地,所述根据历史数据以及预设深度学习算法构建旅客选择行为模型,包括:获取预设时间段的多个航班的航班数据以及旅客历史选择数据;根据所述多个航班的航班数据,生成第一神经网络模型的输入数据;根据多个航班的旅客历史选择数据,生成第一神经网络模型的输出数据标签;根据所述第一神经网络模型的输入数据、所述第一神经网络模型的输出数据标签、预设深度学习算法以及第一初始神经网络,构建生成旅客选择行为模型。

可选地,所述航班数据用于表征各个航班的舱位价格数据以及航班状态数据,所述航班状态数据包括起飞时间、到达时间、航班型号、航空公司其中的一种或多种;所述旅客历史选择数据用于表征在预设时间段内各个航班的售出数据。

可选地,所述根据所述旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型,包括:根据预设时间段的多个航班的航班状态数据、以及除所述目标航班外的多个航班的舱位价格数据以及预设深度强化学习算法,生成输出动作;根据所述输出动作,确定所述目标航班的舱位价格数据;根据多个航班的航班状态数据、除所述目标航班外多个航班的舱位价格数据、目标航班的舱位价格数据以及所述旅客选择行为模型,确定当前时刻的旅客选择概率;根据当前时刻的旅客选择概率,计算当前时刻的奖励函数;当所述当前时刻的奖励函数满足目标条件时,根据多个航班的航班数据、目标航班的航班数据、当前时刻的旅客选择概率以及当前时刻的奖励函数,计算第二神经网络的参数;根据所述第二神经网络的参数,训练生成航班舱位控制模型。

可选地,所述当前时刻的奖励函数通过以下过程确定:根据当前时刻的旅客选择概率,确定目标航班当前时刻的旅客选择概率;根据所述目标航班当前时刻的旅客选择概率、旅客数据以及目标航班的航班数据,计算生成当前时刻的奖励函数。

可选地,该方法还包括:当所述当前时刻的奖励函数不满足目标条件时,重新执行所述根据预设时间段的多个航班的航班数据以及预设深度强化学习算法,生成输出动作的步骤至所述根据所述第二神经网络的参数,训练生成航班舱位控制模型的步骤。

根据第二方面,本发明实施例提供了一种航班舱位的控制装置,包括:第一构建模块,用于根据历史数据以及预设深度学习算法构建旅客选择行为模型;第一生成模块,用于根据所述旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;调整模块,用于根据所述航班舱位控制模型以及实时数据,调整目标航班的舱位。

可选地,所述构建模块,具体包括:获取模块,用于获取预设时间段的多个航班的航班数据以及旅客历史选择数据;第二生成模块,用于根据所述多个航班的航班数据,生成第一神经网络模型的输入数据;第三生成模块,用于根据多个航班的旅客历史选择数据,生成第一神经网络模型的输出数据标签;第二构建模块,用于根据所述第一神经网络模型的输入数据、所述第一神经网络模型的输出数据标签、预设深度学习算法以及第一初始神经网络,构建生成旅客选择行为模型。

根据第三方面,本发明实施例提供了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面或者第一方面的任意一种实施方式中所述的航班舱位的控制方法的步骤。

根据第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或者第一方面的任意一种实施方式中所述的航班舱位的控制方法的步骤。

本发明技术方案,具有如下优点:

本发明提供的一种航班舱位的控制方法、装置以及计算机设备,其中,所述方法,包括:根据历史数据以及预设深度学习算法构建旅客选择行为模型;根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;根据航班舱位控制模型以及实时数据,调整目标航班的舱位。

通过实施本发明,结合预设深度学习算法,训练生成的旅客选择行为模型,可以建立符合现实场景的仿真环境,生成准确的训练数据,继而可以结合预设深度强化学习算法,可以生成准确的动态规划决策结果,实现单航线上的舱位实时自动化控制,以及实时自动化控制过程中兼顾同航线上其它航班的开舱情况,同时保证上座率以及收益的平衡。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中航班舱位的控制方法的一个具体示例的流程图;

图2为本发明实施例中航班舱位的控制方法中旅客选择预测分布于旅客选择实际分布的示意图;

图3为本发明实施例中航班舱位的控制方法中旅客选择预测分布于旅客选择实际分布的示意图;

图4为本发明实施例中航班舱位的控制方法中旅客选择预测分布于旅客选择实际分布的示意图;

图5为本发明实施例中航班舱位的控制方法中旅客选择预测分布于旅客选择实际分布的示意图;

图6为本发明实施例中航班舱位的控制方法中旅客选择预测分布于旅客选择实际分布的示意图;

图7为本发明实施例中航班舱位的控制方法中loss曲线的示意图;

图8为本发明实施例中航班舱位的控制方法与其他现有技术的对比示意图;

图9为本发明实施例中航班舱位的控制装置的一个具体示例的原理框图;

图10为本发明实施例中计算机设备的一个具体示例图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

相关技术中,是通过传统的EMSR方法进行舱位的控制,由于EMSR是静态的、各舱级之间独立的启发式的舱位控制方法,采用静态舱位控制策略在旅客到达序列假设条件下不是最优决策;并且静态舱位控制策略是每天确定一次订座控制数量,在航空公司整个机票销售期内不能根据不断更新的需求及运力信息实时动态调整控制策略,也无法跟踪环境变化。

这其实是由于在实际应用场景中,对旅客需求概率分布及需求估计具有较大不确定性,而EMSR模型是建立在Littlewood准则基础上,Littlewood准则假设预订需求按照先低后高到达的条件,EMSR模型按照固定的旅客需求概率分布计算确定每天订座控制数量,其实也就是按照固定的旅客需求概率分布计算确定每天订座控制数量,没有考虑市场需求的变化,导致无法实时、自动化地控制航班舱位。

具体地,强化学习是在多个应用场景中进行动态决策规划的一种有效方式,它注重主体在一个环境中执行何种动作能够达到最大化累积奖励。强化学习应用场景可以包括交通、金融、能源、商业管理等多个领域,具体可以是对航班舱位进行实时自动化控制。通过基于本航班及同航线其它航班的多个状态数据(如各航班的航班号、机型、起飞到达时间、同航线其它航班的舱位价格等)使用强化学习对航班舱位进行实时自动化控制。

相关技术中,由于在对航班舱位进行实时自动化控制过程中要兼顾同航线上其它航班的开舱情况,开舱策略不能与其它航班差别过大,过大则会扰乱市场秩序,属于恶意行为,当前航司都是人工参考各航班及本航班情况进行开舱。强化学习的训练过程通常需要很长时间,根据特定应用场景缩短训练时间可以更快的适应场景的变化,需要的计算机配置更低及计算机资源更少。另外,强化学习在面对随机性较大的环境时需要反复地训练来达到一个稳定的策略,随机性致使强化学习训练难度提升,训练时间变长。

强化学习的基本原理是,在仿真环境(environment)中,Agent执行动作(Action),可以获得一个及时的反馈去更新执行策略(policy)。在较为稳定和封闭的环境中,强化学习的探索成本相对来说较低,也就是训练时间成本较低。

但强化学习应用于现实应用中的场景,例如航班舱位控制场景,这里的Agent是航班,仿真环境(environment)是旅客选择行为,即旅客购买哪个航班的机票。假设强化学习要做一个在线学习,在销售过程中Agent直接线上进行开舱,由于强化学习的训练是一个试错的过程,极端的开舱策略会给航司带来损失。所以在现实领域中进行一个强化学习的策略的探索,是有探索成本的,涉及到的探索成本就比较高。因此需要搭建一个线下的仿真环境,核心是建立旅客选择行为。

航空旅客选择行为是一种用户对航空服务的消费和购买决策,分析用户选择行为的结构特征及趋势,对用户选择行为进行准确预测有助于航空公司进一步了解用户需求,提高航空公司自身的竞争力,实现发展目标。

现有技术中,为了对旅客选择行为进行预测,通常会基于包含旅客选择行为的历史数据训练神经网络模型,通过训练好的神经网络模型对旅客的选择行为进行预测。那么如何建模利用神经网络刻画出某一时刻旅客选择各个航班的概率,即输出选择的分布情况。输出分布的用意在于建立符合现实场景的仿真环境要具有随机性,当分布确定了,可以通过基于分布的随机采样得到具有随机性的仿真环境。另外,一般用于模型训练的历史数据是基于现实场景中航司执行较为固定的开舱决策得到的,表征状态的数据量有限,训练出的神经网络无法针对历史数据中没有出现过的开舱策略给出符合逻辑的旅客选择。强化学习基于不准确的仿真环境训练会影响到强化学习的效果,导致动态决策规划结果不准确。

基于上述背景,本发明实施例提供了一种航班舱位的控制方法、装置以及计算机设备。

本发明实施例提供了一种航班舱位的控制方法,如图1所示,包括:

步骤S11:根据历史数据以及预设深度学习算法构建旅客选择行为模型;在本实施例中,历史数据可以包括目标航线上处于同个起飞时间的多个航班的舱位,在距离起飞日期前一段时间的销售过程对应的数据,一段时间例如可以是一周,这是由于旅客集中于距离航班起飞前一周购票的特性决定的,具体地,历史数据可以是来自于官方数据采集系统的数据;预设深度学习算法可以是Pointer Network算法,根据采集到的一周内的历史数据以及预设Pointer Network算法,构建生成旅客选择行为模型,上述旅客选择行为模型即为在每一个时间单元内旅客对于各个航班的选择购票情况。

具体地,可以是以成都飞往北京的航线为例,例如起飞时间可以是“2020-09-26”,此航线上共有28个航班,官方数据采集系统可以采集从距离起飞日期第7天到起飞日期当天的数据,也就是'2020-09-20'、'2020-09-21'、'2020-09-22'、'2020-09-23'、'2020-09-24','2020-09-25','2020-09-26'的数据,并将上述数据以小时为划分单位。

步骤S12:根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;

在本实施例中,上述航班舱位控制模型用于控制某条航线上的某一个航班的舱位输出情况,例如,当目标航班为由成都飞往北京的任意一个航班时,选中的受控航班即为目标航班;具体地,根据距起飞时间前一周的除去目标航班外的同条航线上的历史数据以及预设深度强化学习算法,确定目标航班的数据,具体可以是价格数据,将计算出的目标航班的数据以及其他多个航班的历史数据,输入至旅客选择行为模型。当计算出旅客选择各个航班的概率后计算对应的奖励函数,继而确定神经网络参数,继而训练生成航班舱位控制模型。

步骤S13:根据航班舱位控制模型以及实时数据,调整目标航班的舱位。

在本实施例中,将目标航班在实际应用场景的实时数据,输入至训练生成的航班舱位控制模型,航班舱位控制模型可以按照已经划分的时间单元,输出目标航班此时的控制开启舱级,上述控制开启舱级可以表征此时应该开放的最低舱级的索引值,即目标航班的控制开启舱级,具体的舱位开启数量可以根据航空公司的历史经验数据确定。例如舱位开启数量可以是100个,当航班上剩余舱位小于100时,可以将剩余的舱位都开启;当航班上剩余舱位大于100时,剩余舱位减掉100的部分全部分配给最高级别舱位,即索引为0的舱位。在每一个时间单元都需要重新分配舱位,不在之前基础上叠加,销售时按照嵌套原则销售。

本发明提供的一种航班舱位的控制方法、装置以及计算机设备,其中,所述方法,包括:根据历史数据以及预设深度学习算法构建旅客选择行为模型;根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;根据航班舱位控制模型以及实时数据,调整目标航班的舱位。

通过实施本发明,结合预设深度学习算法,训练生成的旅客选择行为模型,可以建立符合现实场景的仿真环境,生成准确的训练数据,继而可以结合预设深度强化学习算法,可以生成准确的动态规划决策结果,实现单航线上的舱位实时自动化控制,以及实时自动化控制过程中兼顾同航线上其它航班的开舱情况,同时保证上座率以及收益的平衡。

作为本发明的一个可选实施方式,上述步骤S11,根据历史数据以及预设深度学习算法构建旅客选择行为模型,包括:

首先,获取预设时间段的多个航班的航班数据以及旅客历史选择数据;在本实施例中,航班数据以及旅客历史选择数据可以是以一小时为时间划分单位的数据。预设时间段可以是距起飞日期一周以内,多个航班例如可以是由成都飞往北京航线上处于同一起飞时间的多个航班,航班数据可以包括:起飞时间、航空公司、航班号、航班型号、航班到达时间、不同舱级价格(Y舱价格、T舱价格、H舱价格、G舱价格、N舱价格)等等数据。

旅客历史选择数据可以是在距离起飞时间一周内各个航班在各个小时的舱位的售出数量数据。

其次,根据多个航班的航班数据,生成第一神经网络模型的输入数据;

在本实施例中,对上述航班数据进行数据清洗过程、归一化处理、预设one-hot编码等特征工程处理后,生成第一神经网络模型的输入数据。

其次,根据多个航班的旅客历史选择数据,生成第一神经网络模型的输出数据标签;

在本实施例中,对多个航班的旅客历史选择数据进行数据清洗过程、归一化处理、预设one-hot编码等特征工程处理后,生成第一神经网络模型的输出数据标签,在预设时间段内多个航班的旅客历史选择数据可以是如下表1所示:

表1

其次,根据第一神经网络模型的输入数据、第一神经网络模型的输出数据标签、预设深度学习算法以及第一初始神经网络,构建生成旅客选择行为模型。

在本实施例中,预设深度学习算法可以是Pointer Network算法,可以用于解决组合优化类问题(TSP,Convex Hull等等),也就是Sequence to Sequence learning中encoder RNN和decoder RNN的扩展,主要解决的问题是输出的字典长度不固定问题(输出字典的长度不等于输入序列的长度)。具体地,输出的字典长度不固定问题,因此可以应对单航线上每天的航班数量不固定的情况,但其解决的是组合优化类问题,并不能一次输出针对输入状态的所有数值,当目标航线中存在有28个航班时,此时需要向Pointer Network输入28个航班信息,其输出28*28维数组,即包含28次选择,每一次选择包含针对28个航班的多分类问题选择概率。

当针对旅客选择问题,Pointer Network应一次输出针对28个航班的多标签问题选择概率(多标签问题选择概率,即多个分类中可选择多个类别的问题),即PointerNetwork给出当前时间单元旅客针对28个航班的选择概率分布。

此时,预设深度学习算法训练计算的过程可以是:根据Attention网络得到输入序列中每一个航班的概率值后不再循环序列长度次进行计算,直接作为Pointer Network的输出值,Attention网络可以是第一初始神经网络;为了使Pointer Network输出多标签问题选择概率,按照输出层使用激活函数sigmoid,损失函数使用二分类交叉熵损失函数(binary_cross_entropy)的构造修改Pointer Network,将Pointer Network中Attention网络的最后一层log_softmax的计算改为sigmoid的计算,将损失函数CrossEntropyLoss改为binary_cross_entropy。

此时模型中的其它超参数设置如下:batch_size=16,learning_rate=0.001,weight_decay=0.00001,Attention网络中的神经元数量hidden_size=128;Seq2Seq模型中的Encoder部分的LSTM的神经元数量hidden_size=256,隐层数量num_layers=2,bidirectional=True,batch_first=True;此时参数设置是为了可以使模型实现较快的收敛。

通过将第一神经网络模型的输入数据、第一神经网络模型的输出数据标签提供给Pointer Network算法进行监督学习,训练好的第一初始神经网络模型即为旅客选择行为模型。在测试集上Pointer Network预测的旅客选择分布与真实数据中实际的旅客选择分布的对比图可以是如图2、图3、图4、图5以及图6所示。

作为本发明的一个可选实施方式,上述航班数据用于表征各个航班的舱位价格数据以及航班状态数据,所述航班状态数据包括起飞时间、到达时间、航班型号、航空公司其中的一种或多种;所述旅客历史选择数据用于表征在预设时间段内各个航班的售出数据。

在一可选实施例中,航班舱位控制模型可以是在仿真环境中生成的,具体地,仿真环境可以包括距离飞机起飞时间的时间变量T(例如可以是从168变化到0)、旅客选择行为模型、随时间变化的多个航班的航班数据以及旅客历史选择数据。获取距离当前时间点的一个完整销售过程对应的数据构建仿真环境,一个完整销售过程可以是距航班起飞时间一周内的销售过程,可以完整模拟近期航班销售的情况。

在一可选实施例中,目前生成的旅客选择行为模型存在的问题是:由于当前基于的历史数据不会覆盖所有的开舱动作,那么构建的旅客选择行为模型针对历史数据中没有出现过的开舱动作不能给出合理的旅客选择概率。

在实际应用场景中,根据旅客选择行为模型生成的目标航班的旅客选择概率与历史数据中所记载的目标航班的旅客选择概率不同时,可以对模型输出的概率值进行修正,修正过程可以如下所示:航空公司开的舱级越高(价位越高)旅客的购买意愿越低,据此,在仿真环境运行过程中,目标航班的开舱动作(旅客选择概率)异于原始数据中开舱动作时,仍基于原始数据中开舱动作所产生的数据输入Pointer Network构建的旅客选择行为模型,得到旅客选择概率[P1,P2,...,P12,...,P28],其中P12为选择目标航班的概率,统计旅客选择概率的最大值max_value与最小值min_value,概率修正幅度W=(max_value-min_value)/目标航班舱级数,W可根据实际应用情况进行调整,实际应用场景中不同的概率修正幅度不会影响后期SAC算法的训练过程,具体地,目标航班舱级数可以是11级。

具体地,例如SAC算法计算出的输出动作(开舱动作)Action可以为5,而历史数据中的输出动作Action_y=7,5对应的舱级高于7对应的舱级,因此,需要下调P12概率,下调变化量为ΔP=W*(Action_y-Action)=W*(7-5),调整后的概率为P'12=P12-ΔP,其它航班概率相应上调,以保证所有航班的概率和依旧为1,概率总和为

ΔP'=(P_sum-ΔP)/(航班数N-1)=(P_sum-ΔP)/27;

通过以下公式计算其它航班概率:

p′

经概率修正后的旅客行为选择模型可以解决在数据中出现的开舱动作不多的情况下依然可以覆盖所有的开舱动作,实现针对航司任何开舱动作都有相对应的合理的旅客选择概率。

作为本发明的一个可选实施方式,上述步骤S12,根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型,包括:

首先,根据预设时间段的多个航班的航班状态数据、以及除所述目标航班外多个航班的舱位价格数据以及预设深度强化学习算法,生成输出动作;

在本实施例中,预设时间段可以是距离目标航班起飞时间一周内的时间段,将预设时间段内的除目标航班外的多个航班的价格数据输入至预设深度强化学习算法(SAC算法)的预设策略网络中,此时,SAC算法中的state可以是上述预设时间段内的所有航班的航班状态数据、以及除所述目标航班外多个航班的舱位价格数据,也就是说,获取除目标航班的舱位价格数据外的所有航班数据;策略网络的输出动作可以是此时目标航班的控制开启舱级,例如输出动作(Action)为0、1或2。

其次,根据所述输出动作,确定所述目标航班的舱位价格数据;在本实施例中,例如目标航班有11个舱级,舱级及价格为{'Y':2230,'T':2096,'H':1873,'G':1650,'S':1538,'L':1427,'E':1204,'V':1092,'R':981,'K':869,'N':758},当SAC算法的输出动作Action=3时,对应目标航班的舱级价格数据为[2230,2096,1873,1650,0,0,0,0,0,0,0],即Action给出的是舱级对应的索引,给出的Action对应舱级以后的舱不开,价格置为0。

其次,根据多个航班的航班状态数据、除所述目标航班外多个航班的舱位价格数据、目标航班的舱位价格数据以及所述旅客选择行为模型,确定当前时刻的旅客选择概率;在本实施例中,根据上述预设时间段内的所有航班的航班状态数据、除所述目标航班外多个航班的舱位价格数据、上述实施例计算出的目标航班的舱位价格数据以及旅客历史选择数据,输入至由Pointer Network构建而成的旅客选择行为模型中,输出当前时刻的旅客对各个航班的选择概率。形式可以是[0.032,0.012,……,0.025],其中共28个数,对应目标航线上的28个航班。

其次,根据当前时刻的旅客选择概率,计算当前时刻的奖励函数;在本实施例中,通过下述公式计算当前时刻的奖励函数Q:

Q=目标航班的旅客选择概率*当前时间单元的旅客数*输出动作对应的舱级价格。

其次,当当前时刻的奖励函数满足目标条件时,根据多个航班的航班数据、目标航班的航班数据、当前时刻的旅客选择概率以及当前时刻的奖励函数,计算第二神经网络的参数;根据第二神经网络的参数,训练生成航班舱位控制模型。

当当前时刻的奖励函数不满足目标条件时,重新执行根据预设时间段的多个航班的航班数据以及预设深度强化学习算法,生成输出动作的步骤至根据第二神经网络的参数,训练生成航班舱位控制模型的步骤。

在本实施例中,在通过SAC算法训练生成航班舱位控制模型的过程中,可以将目标航班设置为Agent,第二神经网络包括策略网络以及估值网络,其中,策略网络包括A子神经网络和A'子神经网络,两个神经网络结构相同,均设置有采用Adam优化算法的两个隐藏层,每个隐藏层32个神经元的高斯神经网络结构;估值网络包括Q子神经网络和Q'子神经网络,两个神经网络结构相同,均设置有采用Adam优化算法的三个隐藏层,每个隐藏层64个神经元的全连接神经网络结构;Agent可以通过上述预设时间段内的所有航班的航班状态数据、除所述目标航班外多个航班的舱位价格数据、上述实施例计算出的目标航班的舱位价格数据以及旅客历史选择数据,即销售状态State,确定当前所处时间节点的开舱动作Action。

具体地,训练过程中算法超参数可以包括:训练总回合数M=2000、回合最大长度max_episode_steps=168、学习率lr=0.00001、batch_size=128、A神经网络和Q神经网络更新间隔update_interval=4、A'神经网络和Q'神经网络更新间隔target_update_interval=8000等;

首先,初始化第二神经网络(即SAC算法神经网络),也就是随机初始化第二神经网络的参数,即权重参数θ;继而需要初始化存储数据的数据池memory_pool,容量为memory_size=300000;继而需要初始化仿真环境,可以设置时间节点T=168,从历史数据中提取近期T时间单元的数据,提取State。将State输入策略网络A中输出决策Action,针对强化学习的训练过程通常需要很长时间这种情况,加入先验知识从而缩小强化学习探索的动作空间,强化学习能够更快的收敛,需要的计算机配置更低及计算机资源更少。先验知识根据历史数据确定几个销售时间段的动作范围,例如通过统计历史数据中各航班的开舱策略,确定每个时间段可执行的动作范围如下,整个销售过程共T_sum=169小时,T从168变到0:

action为作用到仿真环境的开舱索引,之前强化学习在每个时间点Action有11个可选动作(0~10),169个时间点共计11

在相应时刻Action的值对应action的索引,例如在T_num·3/4

当前时间单元销售过程结束,仿真环境进入下一个时间单元,同时返回next_State及是否结束整个销售过程标识Done,在进入下一个时间单元前,会先从存储数据的数据池memory_pool中取出数据,输入给A神经网络和Q神经网络进行训练并更新神经网络参数,当计算出的第二神经网络的参数符合预设阈值范围时,也就是确认此时训练出的模型符合标准时,可以直接根据第二神经网络的参数,生成航班舱位控制模型;当计算出的第二神经网络的参数不符合预设阈值范围时,也就是确认此时训练处的模型不符合预设标准时,进入下一个时间节点(时间单元),也就是下一个小时,重新执行上述实施例所述的步骤,直至计算出的第二神经网络的参数符合预设阈值范围,生成航班舱位控制模型。

通过以下过程对上述实施例所述的方法进行验证,以一种可直接计算最大收益的场景进行验证,总旅客量小于单航线上所有航班舱位数之和,此场景总销售过程的最大收益为每个时间单元的最大收益之和。可以通过直接编写Program程序计算出整个销售过程目标航班的最优决策开舱Action,与本申请所述的方法训练得到的SAC算法决策的开舱Action进行对比,可以是如图7所示,是SAC训练过程中的loss曲线。

具体地,从loss曲线可知当前训练过程并未收敛,继续训练到收敛,强化学习学到的策略将更优,强化学习作为启发式方法,训练过程中搜索的是局部最优解,当前训练状态的策略和最优策略差别已经很小,如图8所示,Program action与SAC action对比图,Program action为程序Program给出的最优开舱action,SAC action为SAC模型给出的开舱情况Action转换到action的值,从图8中可见SAC action与Program action差别很小,仅在40h附近相差一个舱级,可验证本发明实施例所述的方法可以确定符合实际要求的对目标航班进行实时自动化控制的策略。

作为本发明的一个可选实施方式,上述当前时刻的奖励函数通过以下过程确定:

根据当前时刻的旅客选择概率,确定目标航班当前时刻的旅客选择概率;根据目标航班当前时刻的旅客选择概率、旅客数据以及目标航班的航班数据,计算生成当前时刻的奖励函数。

本发明实施例提供一种航班舱位的控制装置,如图9所示,包括:

第一构建模块21,用于根据历史数据以及预设深度学习算法构建旅客选择行为模型;详细实施内容可参见上述方法实施例中步骤S11的相关描述。

第一生成模块22,用于根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;详细实施内容可参见上述方法实施例中步骤S12的相关描述。

调整模块23,用于根据航班舱位控制模型以及实时数据,调整目标航班的舱位。详细实施内容可参见上述方法实施例中步骤S13的相关描述。

本发明提供的一种航班舱位的控制装置,包括:根据历史数据以及预设深度学习算法构建旅客选择行为模型;根据旅客选择行为模型以及预设深度强化学习算法训练生成航班舱位控制模型;根据航班舱位控制模型以及实时数据,调整目标航班的舱位。通过实施本发明,结合预设深度学习算法,训练生成的旅客选择行为模型,可以建立符合现实场景的仿真环境,生成准确的训练数据,继而可以结合预设深度强化学习算法,可以生成准确的动态规划决策结果,实现单航线上的舱位实时自动化控制,以及实时自动化控制过程中兼顾同航线上其它航班的开舱情况,同时保证上座率以及收益的平衡。

作为本发明的一个可选实施方式,上述构建模块,具体包括:

获取模块,用于获取预设时间段的多个航班的航班数据以及旅客历史选择数据;详细实施内容可参见上述方法实施例中步骤S11的相关描述。

第二生成模块,用于根据多个航班的航班数据,生成第一神经网络模型的输入数据;详细实施内容可参见上述方法实施例中步骤S11的相关描述。

第三生成模块,用于根据多个航班的旅客历史选择数据,生成第一神经网络模型的输出数据标签;详细实施内容可参见上述方法实施例中步骤S11的相关描述。

第二构建模块,用于根据第一神经网络模型的输入数据、第一神经网络模型的输出数据标签、预设深度学习算法以及第一初始神经网络,构建生成旅客选择行为模型。详细实施内容可参见上述方法实施例中步骤S11的相关描述。

本发明实施例还提供了一种计算机设备,如图10所示,该计算机设备可以包括处理器31和存储器32,其中处理器31和存储器32可以通过总线30或者其他方式连接,图10中以通过总线30连接为例。

处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的航班舱位的控制方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的航班舱位的控制方法。

存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器31所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器32中,当被所述处理器31执行时,执行如图1所示实施例中的航班舱位的控制方法。

上述计算机设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。

本发明实施例还提供了一种非暂态计算机可读介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例中任意一项描述的航班舱位的控制方法,其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号