sched.mod
Sample model from the AMPL book
set SHIFTS; # shifts
param Nsched; # number of schedules;
set SCHEDS = 1..Nsched; # set of schedules
set SHIFT_LIST {SCHEDS} within SHIFTS;
param rate {SCHEDS} >= 0;
param required {SHIFTS} >= 0;
minimize Total_Cost;
subject to Shift_Needs {i in SHIFTS}: to_come >= required[i];
var Work {j in SCHEDS} >= 0,
obj Total_Cost rate[j],
coeff {i in SHIFT_LIST[j]} Shift_Needs[i] 1;