/*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}; param volume{t in Items}; var take{t in Items}, integer, >=0; knap_weight : sum{t in Items} take[t] * weight[t] <= 25; knap_vol : sum{t in Items} take[t] * volume[t] <= 0.25; maximize knap_value: sum{t in Items} take[t] * value[t]; data; param : Items : weight value volume := panacea 0.3 3000 0.025 ichor 0.2 1800 0.015 gold 2.0 2500 0.002 ; end;