r - 如何使用 R 最小化线性规划模型的设置成本

标签 r optimization linear-programming

假设我们有一个矩阵 m:

> m
   C1 C2
M1 70 80
M2 50 61
M3 45 40

机器 M1-M3 和客户 C1-C2。这些值表示每台机器可以为特定客户生产的产品量,例如如果使用M1,它将为C1生产70个项目,为C2生产80个项目。

我只想使用以下约束来最小化满足需求所需的所有机器的设置成本:

每个客户的需求 >= 120;如果用于任何客户,则每台机器的设置成本 = 1,否则为 0。

对于这个简单的示例,解决方案是使用机器 M1 和 M2(为 C1 生产 120 个,为 C2 生产 141 个),导致总设置成本为 2。唯一其他可行的选择是使用机器 M1、M2 和M3,但这会导致设置成本为 3,因此不是最佳选择。

如何使用 R 解决这个问题?我使用 lpSolve 查看了一些示例,但我很难对设置成本进行建模,以便在机器生产任何东西时它们为 1,否则为 0。

最佳答案

阅读 MOSEK modeling manual 的第 6 章http://docs.mosek.com/generic/modeling-letter.pdf ,特别是第 6.2 节和其中的示例 6.1。这准确地告诉您如何使用二元变量对您的情况进行建模。然后在 lpsolve 中实现该方法,它允许您需要的二进制变量。

关于r - 如何使用 R 最小化线性规划模型的设置成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31145993/

相关文章:

c# - 在与类相同的对象中分配数组

linear-programming - ampl/cplex 的函数 (a/b) 的线性形式

r - GGplot生成两个带有气泡图的图例,如何删除其中一个

r - 计算组均值,同时排除每个案例的单个值

r - 使 SQLite 的 generate_sequence 在 MS Windows 下的 R 的 sqldf 库中使用

r - 如何将 df 列表中的所有 POSIXt 更改为字符

haskell - GHC 优化

mysql - 优化查询以不使用文件排序

linear-programming - GLPK Mathprog 集合组

python - PyInstaller .exe 文件什么都不做