/*Knapsack This model finds the optimal packing of a knapsack Nigel_Galloway January 10th., 2012 */ set Items; param weight{t in Items}; param value{t in Items}; var take{t in Items}, >=0, <=weight[t]; knap_weight : sum{t in Items} take[t] <= 15; maximize knap_value: sum{t in Items} take[t] * (value[t]/weight[t]); data; param : Items : weight value := beef 3.8 36 pork 5.4 43 ham 3.6 90 greaves 2.4 45 flitch 4.0 30 brawn 2.5 56 welt 3.7 67 salami 3.0 95 sausage 5.9 98 ; end;