setting variables to a value using linear programming in r

折月煮酒 提交于 2019-12-12 03:23:14

问题


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:


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.



来源:https://stackoverflow.com/questions/38404309/setting-variables-to-a-value-using-linear-programming-in-r

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!