this repo has no description
at develop 774 B view raw
1include "globals.mzn"; 2 3% Horizonte de tiempo. 4int: horizon; 5set of int: Time = 0..horizon; 6enum Task; 7enum Machine; 8 9% Duración de cada máquina. 10array[Task,Machine] of int: d; 11int: maxd = max([ d[t,m] | t in Task, m in Machine ]); 12int: mind = min([ d[t,m] | t in Task, m in Machine ]); 13 14% Hora de inicio. 15array[Task] of var Time: S; 16 17% Duración. 18array[Task] of var mind..maxd: D; 19 20% Inicio de tarea opcional. 21array[Task,Machine] of var opt Time: O; 22 23constraint forall(t in Task)(alternative(S[t],D[t], 24 [O[t,m]|m in Machine],[d[t,m]|m in Machine])); 25constraint forall(m in Machine) 26 (disjunctive([O[t,m]|t in Task],[d[t,m]|t in Task])); 27constraint cumulative(S,D,[1|i in Task],card(Machine)); 28 29solve minimize max(t in Task)(S[t] + D[t]);