将所有约束加载到线性编程对象 - lpSolveAPI

时间:2015-03-06 18:45:18

标签: r linear-programming lpsolve

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

  #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)
  }

1 个答案:

答案 0 :(得分:0)

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

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

同样,方向和目标可以使用const.dirobjective参数作为向量提交。