我想在 R 中使用 lpSolveAPI 来解决设施优化问题,其中包括在源位置设置产品制造的成本负担。我正在寻找有关如何在 lprec 对象中对此进行建模的建议。我将在这里使用第 80 页上的示例问题:
Minimize {1300000 x11 + 1040000 x12 + 780000 x13 +
780000 x21 + 1300000 x22 + 1040000 23 +
1040000 x31 + 780000 x32 + 1300000 x33 +
1300000 x41 + 780000 x42 + 780000 x43 +
500000 y1 + 500000 y2 + 500000 y3}
Subject to:
x 11 + x 12 + x 13 = l
x 21 + x 22 + x 23 = 1
x 31 + x 32 + x 33 = 1
x 41 + x 42 + x 43 = 1
我已经按如下方式设置了我的 lprec 对象:
library(lpSolveAPI)
lprec <- make.lp(0, 15)
set.objfn(lprec, c(1300000, 1040000, 780000,
780000, 1300000, 1040000,
1040000, 780000, 1300000,
1300000, 780000, 780000,
500000, 500000, 500000
))
add.constraint(lprec, c(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "=", 1)
add.constraint(lprec, c(0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0), "=", 1)
add.constraint(lprec, c(0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0), "=", 1)
add.constraint(lprec, c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0), "=", 1)
set.type(lprec, c(1:15), "binary")
但是,我不确定如何使用 lpSolveAPI 对这些约束进行建模:
1000 x11 + 1000 x21 +500 x31 +500 x41 <= 1500 y1
1000 x12 + 1000 x22 + 500 x32 + 500 x42 <= 1500 y2
1000 x13 + 1000 x23 + 500 x33 + 500 x43 <= 1500 y3
非常感谢任何建议!