Я пытаюсь сделать (то, что я считал простой) оптимизацию с помощью lpSolve.
У меня есть список частей, в котором каждая часть имеет соответствующее значение точки и количество используемых ресурсов. Я хотел бы определить комбинацию частей, которая дает максимальное суммирование точек, оставаясь при максимальном количестве частей и максимальном количестве ресурсов.
Вот пример файла (обратите внимание на реальный список деталей составляет около 1000 строк).
> #read in data
> df <- read.csv("parts.csv",header = TRUE)
>
> ##check dataframe
> head(df)
ï..Part Score Resources
1 brake 112 4
2 wheel 163 7
3 tail 66 1
4 engine 83 3
5 rubber 95 2
Я очень новичок в этом и попробовал следующий код безрезультатно и надеюсь, что вы все можете меня поправить.
# load lpsolve
library(lpSolve)
#read in data
df <- read.csv("parts.csv",header = TRUE)
##check dataframe
head(df)
f.obj <- df$Score
f.con <-
matrix(c(f.obj,
as.vector(df$Resources)), nrow = 2, byrow = TRUE)
f.dir <- c("==","<=")
f.rhs <- c(3, #number of parts
10 #max resources
)
lp ("max",f.obj,f.con,f.dir,f.rhs, all.bin=TRUE)
с уважением потерял