CVXPY 和 CBC 的供应链优化问题

问题描述

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

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

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

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

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

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

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

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

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

非常感谢您的帮助和帮助。

解决方法

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

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

这可以分两步解决:

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

为了让目标 1 保持最佳状态,我们需要允许偏离需求的比例,所以我会通过添加松弛并最小化这些来做到这一点。

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...