问题描述
有人可以帮助我解决这个问题的代码。 问题要我通过用以下数据填充 10 磅的背包来最大化总收益pic:
解决方法
在 OPL CPLEX 中,您可以编写
tuple t
{
key int itemNbr;
float weight;
float benefit;
}
{t} items=
{
<1,4,11>,<2,3,7>,<3,5,12>
};
int knapsacksize=10;
dvar boolean take[items];
maximize sum(i in items) i.benefit*take[i];
subject to
{
sum(i in items) i.weight*take[i]<=knapsacksize;
}
给出
take = [1 0 1];