1

您好,提前致谢。我正在使用该包lpSolveAPI来解决线性规划问题。当我创建我的线性规划对象然后添加我的约束时,我正在遍历我的约束矩阵中的所有行mat并分别添加约束。除了设置列之外,这里的示例似乎做同样的事情。我必须单独添加每个约束吗?或者有没有办法一次附加整个约束矩阵、方向向量和右侧向量?

  #Generate Linear Programming Object
  lprec <- make.lp(nrow = nrow(mat) # Number of Constraints
                   , ncol = ncol(mat) # Number of Decision Variables
  )


  #Set Objective Function to Minimize
  set.objfn(lprec, obj)

  #Adding Constraints Separately
  #Note Direction is included along with Constraint Value
  for(i in 1:nrow(mat) ){
    add.constraint(lprec,mat[i,], dir[i], rhs[i])
    print(i)
  }
4

1 回答 1

0

lpSolveAPI 不允许这样做,但您可以使用 lpsove,它是 Lp_solve 的另一个包/接口。

lprec <- lp(const.mat=mat, ...)

const.dir同理,可以使用和objective参数将方向和目标作为向量提交。

于 2015-05-26T23:42:03.607 回答