0

我有一个关于 cvxpy 系统地选择导致目标函数值相同的解决方案的能力的问题。

让我们以一个典型的供应链优化问题为例:

  1. 有一种产品由客户 A、B、C 订购。

  2. 该产品的需求量分别为 100 件、200 件和 100 件(总需求量为 400 件)。

  3. 可用供应量为 250 件(因此,有 150 件短缺)。

  4. 每个客户为产品支付相同的价格(10 美元/件)。

  5. 目标是以使收入最大化的方式在客户之间分配该产品。

  6. 由于单价相同,因此有多种可能的解决方案/分配备选方案导致目标函数的最优值为 2500 美元(即总分配乘以单价)。

有没有办法将参数作为参数传递给求解器(例如,CBC 或 cvxpy)应该选择哪个分配方案?默认情况下,求解器按照先到先得的原则进行分配,而预期分配是与需求成比例的分配。

您的帮助和帮助将不胜感激。

4

1 回答 1

2

我认为这可以表述为一个多目标问题:

  1. 最小化成本
  2. 尽量接近满足需求的一小部分。

这可以分两步解决:

  1. 解决目标 1。
  2. 添加目标 1 作为问题的约束并解决目标 2。

我们需要允许与满足的需求比例存在偏差,以使目标 1 保持最佳状态,因此我将通过添加松弛和最小化来做到这一点。

这类似于@sascha 在评论中的建议。

于 2021-02-03T13:25:03.113 回答