this repo has no description
1% RUNS ON mzn20_fd 2% RUNS ON mzn-fzn_fd 3% RUNS ON mzn20_fd_linear 4% RUNS ON mzn20_mip 5% RUNS OM minizinc_cpx 6 7int: Endtime; 8int: NMachines; 9int: NJobs; 10 11set of int: Machines = 1..NMachines; 12set of int: Jobs = 1..NJobs; 13 14array[Machines,Jobs] of int: duration; 15 16array[Machines,Jobs] of var 0..Endtime: start; 17var 0..Endtime: makespan; 18 19predicate not_at_same_time(Machines: m1, Jobs: j1, Machines: m2, Jobs: j2) = 20 start[m1,j1] + duration[m1,j1] <= start[m2,j2] 21 \/ start[m2,j2] + duration[m2,j2] <= start[m1,j1]; 22 23 24constraint 25 forall(m in Machines)( 26 forall(j1,j2 in Jobs where j1 < j2)( 27 not_at_same_time(m,j1,m,j2) 28 ) 29 ); 30 31constraint 32 forall(j in Jobs)( 33 forall(m1,m2 in Machines where m1 < m2)( 34 not_at_same_time(m1,j,m2,j) 35 ) 36 ); 37 38constraint 39 forall(m in Machines)( 40 forall(j in Jobs)( 41 start[m,j] + duration[m,j] <= makespan 42 ) 43 ); 44 45solve minimize makespan; 46 47output [ "oss:\nmakespan = ", show(makespan), "\nstart = ", show(start), "\n" ]; 48 49%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 50 51Endtime = 1509; 52NMachines = 3; 53NJobs = 3; 54 55duration = [|661,6,333|168,489,343|171,505,324|];