0

有人可以指导如何解决以下问题。我不是在寻找答案,而是在 R 中解决此类问题的开始。我看过 lsolve 和 lsolveapi 之类的包,但所有示例都只有一个下标

最小化 132x11 + 12x12 + 97x21 + 103x22

受约束1:x11+ x12 + x21 ≤ 135
约束2:x11 + x21 + x22 ≤ 56

xij≥ 0, 所有 i, j

请帮助并为此类大型问题推荐合适的 R 包

4

1 回答 1

1

根据评论,看起来您所写的问题与lp()函数中给出的示例几乎完美匹配lpSolve。看看这是否有效:

library(lpSolve)
f.obj <- c(132, 12, 97, 103)
f.con <- matrix(c(1, 1, 1, 0, 1, 0, 1, 1), ncol = 4, byrow = T)
f.dir <- c(">=", ">=")
f.rhs <- c(135, 56)
lp ("min", f.obj, f.con, f.dir, f.rhs)
#Success: the objective function is 6380 
lp ("min", f.obj, f.con, f.dir, f.rhs)$solution
#0 79 56  0

因此,您的问题的完整答案是安装 package sos,然后使用findFn("solve")或类似的东西。事实上,如果你输入,findFn("transportation")你会看到几个专门解决线性程序的包(如果你不能从基础的东西中得到你需要的东西,R比如?solve.

于 2013-07-25T12:47:11.803 回答