随机规划简介

当你的电子表格对未来撒谎时如何做出决策这篇文章《随机编程的温和介绍》首先出现在《走向数据科学》上。

来源:走向数据科学

在我的第一篇 TDS 文章中,我写了如何将现实世界的问题转换为整数线性程序。在我的第二篇文章中,我写了如何使该程序能够抵御不确定性。两者都是同一个想法的变体:接受一个模糊的现实问题,将其压缩到线性规划中,然后让求解器完成其余的工作。

然而,在每个优化器的生命中都会有这样的时刻,LP 开始感觉有点过于简洁了。需求是一个数字。旅行时间是一个数字。风速是一个数字。该模型接受输入,返回最优解决方案,然后继续前进。这些数字本应描述的现实(混乱、紧张、偶尔令人惊讶)并没有真正出现在任何地方。

随机规划是认真对待这种不适的领域。它不是假装数据是准确的,而是直接将不确定性构建到模型中。你支付的价格是多一点的符号;回报是当世界不合作时仍能坚持下去的决定。

这篇文章是对基础知识的简单介绍。我们将了解为什么明显的方法行不通,逐步介绍处理线性程序中的不确定性的四种标准方法,最后快速进行健全性检查,看看其中是否值得付出努力。其中有一些数学知识,但它与您从 LP 中已经知道的数学知识相同,只是附加了一个额外的符号。

起点:一家水晶球很糟糕的时尚公司

为了具体说明这一点,我们将使用 dr. 的运行示例。 Ruben van Beesten 的讲座(更多内容请参见下面的学分)。事情是这样的。

您经营一家在德国销售冬季服装的时装公司。生产在孟加拉国进行,成本低廉但速度缓慢:货物需要几周才能到达。因此,在秋天,您必须决定为即将到来的冬季生产多少。

如果你暂时忽略不确定性并假装需求是一个固定数字,你可以写下一张普通的 LP:

处理不确定性的四种方法

1. 稳健优化:做好最坏的打算

接下来是两个自然问题。