/*Knapsack This model finds the integer optimal packing of a knapsack Nigel_Galloway January 9th., 2012 */ set Items; param weight{t in Items}; param value{t in Items}; var take{t in Items}, binary; knap_weight : sum{t in Items} take[t] * weight[t] <= 400; maximize knap_value: sum{t in Items} take[t] * value[t]; data; param : Items : weight value := map 9 150 compass 13 35 water 153 200 sandwich 50 160 glucose 15 60 tin 68 45 banana 27 60 apple 39 40 cheese 23 30 beer 52 10 suntancream 11 70 camera 32 30 T-shirt 24 15 trousers 48 10 umbrella 73 40 w-trousers 42 70 w-overclothes 43 75 note-case 22 80 sunglasses 7 20 towel 18 12 socks 4 50 book 30 10 ; end;