A typical trick for this is to define two ranges:
range time0 = 0..5;range time = 1..5;The range relevant for modeling is still
time but in the definition of variables you use time0:
dvar float+ BTRY[time0];dvar boolean Prd[tasks][time0];Then you add constraints that fix the variables at time 0 to some value, for example 0.
BTRY[0] == 0;forall (t in tasks) Prd[t][0] == 0;Fixing the variables at time 0 to zero can also be done in the definition of the variables:
dvar float+ BTRY[t in time0] in 0..(t == 0 ? 0 : infinity);dvar boolean Prd[i in tasks][t in time0] in 0..(t == 0 ? 0 : 1);------------------------------
Daniel Junglas
------------------------------