11 lines
713 B
Text
11 lines
713 B
Text
%Knapsack 0/1. Nigel Galloway: October 5th., 2020.
|
|
enum Items={map,compass,water,sandwich,glucose,tin,banana,apple,cheese,beer,suntan_cream,camera,t_shirt,trousers,umbrella,waterproof_trousers,waterproof_overclothes,note_case,sunglasses,towel,socks,book};
|
|
array[Items] of int: weight=[9,13,153,50,15,68,27,39,23,52,11,32,24,48,73,42,43,22,7,18,4,30];
|
|
array[Items] of int: value =[150,35,200,160,60,45,60,40,30,10,70,30,15,10,40,70,75,80,20,12,50,10];
|
|
int: maxWeight=400;
|
|
var int: wTaken=sum(n in take)(weight[n]);
|
|
var int: wValue=sum(n in take)(value[n]);
|
|
var set of Items: take;
|
|
constraint wTaken <= maxWeight;
|
|
solve maximize wValue;
|
|
output["Take "++show(take)++"\nTotal Weight=\(wTaken) Total Value=\(wValue)"]
|