R - максимизировать решение фрейма данных с ограничениями, используя lpSolve - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь сделать (то, что я считал простой) оптимизацию с помощью 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)

с уважением потерял

...