从字面上理解你的问题标题:
RL 适用于完全随机的环境吗?
答案是否定的。在一个完全随机的环境中,几乎没有什么可以学到的。
但是,您实际上并没有完全随机的环境。你有一些数量以你不理解的方式波动很大。否则,您的环境的行为非常合乎逻辑 - 如果对 Y 项目有需求,并且您有 X 库存,那么如果 X > Y,您将最终得到 X - Y 库存,或者库存为 0,否则 Y - X 订单不完整。这是一个非常结构化的规则,你绝对可以将奖励与它联系起来并学习。假设您有订购和持有库存的成本以及不提供订单的机会成本。
Sutton & Barto: Reinforcement Learning,第 4 章的介绍,称为“杰克的汽车租赁”,您的情况的一个简单变体被用作玩具示例,其目标是优化两个地点的库存,其中任一地点出现随机需求。通过定义分布并以基于模型的方式使用它,这个玩具问题变得更容易了。但这通常不是必需的。
RL 真的适用于这种情况吗?
在你的情况下,可能是的。尽管您必须假设“完全随机”只是表达“高度可变”的一种方式,而不是一天的字面意思是 0,第二天是 3000 万,第二天是 7.5。订单将受到限制,它们将遵循一定的分布。
如果方差非常大,那么您可能会发现很难达到持有库存成本与丢失订单成本的平衡点,但原则上这是可以解决的,RL 是尝试解决方案的合理工具。
如果确实如此 - 那么什么会提高性能?
检查需求的任何波动是否取决于您可以收集的任何变量并将这些变量添加到状态中。例如,如果需求有一些每周或季节性的变化,那么日期的这些部分应该是您的状态表示的一部分。
了解和预测需求分布,即使不是精确值,也有助于模拟和规划算法。RL 算法会随着时间的推移学习可能的分布,但它只能将自己的预测建立在你让它观察到的状态变量上。
您可能会做得更好:如果需求主要与您持有的库存水平无关,那么您可以将预测它的问题分开,并使用更强大的监督学习为状态添加“预测需求”功能。RL 将在此预测之上了解与仅信任此预测相关的成本与允许一些额外的传入订单以防万一等相关的成本。