setting variables to a value using linear programm

2019-09-04 15:44发布

I have developed a linear programming model in R and I would like to know the command to set a variable to a value, here is my code and the results:

install.packages("lpSolveAPI")
library(lpSolveAPI)

#want to solve for 6 variables, these correspond to the number of bins
lprec <- make.lp(0, 6)

lp.control(lprec, sense="max")


#MODEL 1
set.objfn(lprec, c(13.8, 70.52,122.31,174.73,223.49,260.65))

add.constraint(lprec, c(13.8, 70.52, 122.31, 174.73, 223.49, 260.65), "=", 204600)

add.constraint(lprec, c(1,1,1,1,1,1), "=", 5000)

Here are the results:

> solve(lprec)
[1] 0
> get.objective(lprec)
[1] 204600
> get.variables(lprec)
[1] 2609.309 2390.691    0.000    0.000    0.000    0.000

I would like to set the first result (2609) to 3200,and the last result to 48, and then optimize on the other variables, any help would be much appreciated.

1条回答
Viruses.
2楼-- · 2019-09-04 16:44

Ideally your expectation is for constrained optimization for which you should add more constraints as per your requirement. I am not familiar with lpSolveAPI and so not able to do correct coding but you need something like:

add.constraint(lprec, c(1, 0, 0, 0, 0, 0), "=", 3200)
add.constraint(lprec, c(0, 0, 0, 0, 0, 1), "=", 48)

Along with your existing constraints.

查看更多
登录 后发表回答