Diet Problem
lp
bpmpd
AMPL
= 0;
param f_min {FOOD} >= 0, default 0;
param f_max {j in FOOD} >= f_min[j], default Infinity;
param n_min {NUTR} >= 0, default 0;
param n_max {i in NUTR} >= n_min[i], default Infinity;
param amt {NUTR,FOOD} >= 0;
# --------------------------------------------------------
var Buy {j in FOOD} integer >= f_min[j], <= f_max[j];
# --------------------------------------------------------
minimize Total_Cost: sum {j in FOOD} cost[j] * Buy[j];
minimize Nutr_Amt {i in NUTR}: sum {j in FOOD} amt[i,j] * Buy[j];
# --------------------------------------------------------
subject to Diet {i in NUTR}:
n_min[i] <= sum {j in FOOD} amt[i,j] * Buy[j] <= n_max[i];
]]>
option solver bpmpd;
solve;
display Buy;
"Diet" example from chapter 2 of AMPL book. More examples
are available at:
http://www.ampl.com/cm/cs/what/ampl/BOOK/EXAMPLES/index_files.html