您好,并提前致谢。我正在使用包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)
}
答案 0 :(得分:0)
lpSolveAPI不允许这样做,但你可以使用lpsove,它是Lp_solve的另一个包/接口。
lprec <- lp(const.mat=mat, ...)
同样,方向和目标可以使用const.dir
和objective
参数作为向量提交。