我正在尝试建立一个 RL 代理来为商业航班的付费座位定价。我应该在这里重申一下——我不是在谈论机票的价格——而是,我说的是如果你点击座位图来选择你在飞机上的位置(出口排、靠窗座位等)看到的价格. 一般设置是:
- 选择他们的航班(预订n人)后,客户将查看一个网页,其中包含可用座位类型及其价格可见。
- 他们从座位图中选择零个和n个座位,不同座位有各种不同的价格,以添加到他们的预订中。
- 第 2 步的收入被观察为奖励。
每个“剧集”都是一个航班的销售周期。无论客户是否购买了选定的座位,库存都会下降,因为他们仍有机票,因此将在出发时获得座位。我想即时更改价格,而不是在整个销售周期中固定一组最优价格。
我还没有决定一个通用的架构。我想考虑各种预订、航班和库存信息,所以我知道我将使用函数逼近(很可能是神经网络)来概括状态空间。
但是,我不太清楚如何设置我的行动空间。我想一个动作相当于一个向量,每个不同的座位类型(靠窗座位、出口排等)都有一个价格。例如,如果我有 8 种不同的座位类型,每个座位有 10 个不同的价格点,这给了我总共 10^8 种不同的动作,其中许多会非常相似。从某种意义上说,每个动作都由子动作的组合组成——为每种座位类型定价的动作。
此外,每个子操作(为一种座位类型定价)在一定程度上依赖于其他子行为,因为一种座位类型的价格可能会影响另一种座位类型的需求(并因此影响奖励贡献)。例如,如果您将靠窗座位设置为非常便宜的价格,人们就不太可能为其他座位类型花费正常金额。因此,我怀疑问题是否可以分解为一组子问题。
如果有任何研究来处理这样的问题,我很感兴趣。显然,我构建的任何代理都需要某种方式在某种程度上跨动作泛化,因为不可能收集数百万个动作的真实数据,即使只是针对一个状态。
在我看来,这归结为三个问题:
- 是否有可能让代理能够将一组动作(价格)作为一个单一的决策来处理?
- 是否有可能让这个代理以相对的方式理解动作?例如,一组潜在价格是 [10, 12, 20],用于中间座位、过道座位和靠窗座位。我能否让我的代理意识到那里存在自然排序,并且前两个定价行为彼此之间比第三个可能的行为更相似?
- 除此之外,是否可以从这组动作中进行概括 - 是否可以设置代理来理解一组价格 [10, 13, 20] 与第一组非常相似?
我还没有找到任何关于这方面的文献,尤其是与第二个问题有关的文献 - 任何帮助将不胜感激!