具有特定物品要求的背包

时间:2016-11-16 18:19:31

标签: r knapsack-problem

我有背包问题,具有重量容量和所需的物品组合。这里的设置:目标是当权重(w)的总和上限为5000时最大化效用(p),但背包只能包含8个项目,并且对项目有特定要求。背包必须包含以下5个独特项目的组合:

Item_1 = Type_1

Item_2 = Type_2

Item_3 = Type_3

Item_4 = Type_4

Item_5 = Type_5

Item_6 = Type_1 or Type_2

Item_7 = Type_3 or Type_4

Item_8 = Type_1 or Type_2 or Type_3 or Type_4 of Type_5

我一直在R中使用lpSolve并拥有以下代码:

library(lpSolve)

p <- c(40,50,30,20,10,20,15,20,35,40)

w <-c(100,200,300,400,500,400,300,300,400,200)

cap<-5000

exact.num.elt <- 8

mod<-lp(direction="max",objective.in=p,
const.mat= rbind(w,rep(1, length(p))),const.dir=c("<=","="),const.rhs=c(cap,exact.num.elt),all.bin=TRUE)

which(mod$solution>=0.999)

这不考虑组合要求。有没有办法解释这个?我还希望看到前20种组合进行比较。

0 个答案:

没有答案