% https://bitbucket.org/dosydon/minizinc_planning_domains % driverlog83 / file1.mzn int: T = 6; array[1..8] of int: n_vals = [7, 7, 5, 5, 3, 3, 2, 2]; array[1..88] of string: name = ["(board-truck driver1 truck1 s0)", "(board-truck driver1 truck1 s1)", "(board-truck driver1 truck1 s2)", "(board-truck driver1 truck2 s0)", "(board-truck driver1 truck2 s1)", "(board-truck driver1 truck2 s2)", "(board-truck driver2 truck1 s0)", "(board-truck driver2 truck1 s1)", "(board-truck driver2 truck1 s2)", "(board-truck driver2 truck2 s0)", "(board-truck driver2 truck2 s1)", "(board-truck driver2 truck2 s2)", "(disembark-truck driver1 truck1 s0)", "(disembark-truck driver1 truck1 s1)", "(disembark-truck driver1 truck1 s2)", "(disembark-truck driver1 truck2 s0)", "(disembark-truck driver1 truck2 s1)", "(disembark-truck driver1 truck2 s2)", "(disembark-truck driver2 truck1 s0)", "(disembark-truck driver2 truck1 s1)", "(disembark-truck driver2 truck1 s2)", "(disembark-truck driver2 truck2 s0)", "(disembark-truck driver2 truck2 s1)", "(disembark-truck driver2 truck2 s2)", "(drive-truck truck1 s0 s1 driver1)", "(drive-truck truck1 s0 s1 driver2)", "(drive-truck truck1 s0 s2 driver1)", "(drive-truck truck1 s0 s2 driver2)", "(drive-truck truck1 s1 s0 driver1)", "(drive-truck truck1 s1 s0 driver2)", "(drive-truck truck1 s1 s2 driver1)", "(drive-truck truck1 s1 s2 driver2)", "(drive-truck truck1 s2 s0 driver1)", "(drive-truck truck1 s2 s0 driver2)", "(drive-truck truck1 s2 s1 driver1)", "(drive-truck truck1 s2 s1 driver2)", "(drive-truck truck2 s0 s1 driver1)", "(drive-truck truck2 s0 s1 driver2)", "(drive-truck truck2 s0 s2 driver1)", "(drive-truck truck2 s0 s2 driver2)", "(drive-truck truck2 s1 s0 driver1)", "(drive-truck truck2 s1 s0 driver2)", "(drive-truck truck2 s1 s2 driver1)", "(drive-truck truck2 s1 s2 driver2)", "(drive-truck truck2 s2 s0 driver1)", "(drive-truck truck2 s2 s0 driver2)", "(drive-truck truck2 s2 s1 driver1)", "(drive-truck truck2 s2 s1 driver2)", "(load-truck package1 truck1 s0)", "(load-truck package1 truck1 s1)", "(load-truck package1 truck1 s2)", "(load-truck package1 truck2 s0)", "(load-truck package1 truck2 s1)", "(load-truck package1 truck2 s2)", "(load-truck package2 truck1 s0)", "(load-truck package2 truck1 s1)", "(load-truck package2 truck1 s2)", "(load-truck package2 truck2 s0)", "(load-truck package2 truck2 s1)", "(load-truck package2 truck2 s2)", "(unload-truck package1 truck1 s0)", "(unload-truck package1 truck1 s1)", "(unload-truck package1 truck1 s2)", "(unload-truck package1 truck2 s0)", "(unload-truck package1 truck2 s1)", "(unload-truck package1 truck2 s2)", "(unload-truck package2 truck1 s0)", "(unload-truck package2 truck1 s1)", "(unload-truck package2 truck1 s2)", "(unload-truck package2 truck2 s0)", "(unload-truck package2 truck2 s1)", "(unload-truck package2 truck2 s2)", "(walk driver1 p1-0 s0)", "(walk driver1 p1-0 s1)", "(walk driver1 p1-2 s1)", "(walk driver1 p1-2 s2)", "(walk driver1 s0 p1-0)", "(walk driver1 s1 p1-0)", "(walk driver1 s1 p1-2)", "(walk driver1 s2 p1-2)", "(walk driver2 p1-0 s0)", "(walk driver2 p1-0 s1)", "(walk driver2 p1-2 s1)", "(walk driver2 p1-2 s2)", "(walk driver2 s0 p1-0)", "(walk driver2 s1 p1-0)", "(walk driver2 s1 p1-2)", "(walk driver2 s2 p1-2)"]; array[1..88] of int: cost = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; array[0..T-1,1..88] of var 0..1: actions; array[0..T,1..7] of var 0..1: add_1; array[0..T,1..7] of var 0..1: del_1; array[0..T,1..7] of var 0..1: preadd_1; array[0..T,1..7] of var 0..1: predel_1; array[0..T,1..7] of var 0..1: maintain_1; array[0..T,1..7] of var 0..1: add_2; array[0..T,1..7] of var 0..1: del_2; array[0..T,1..7] of var 0..1: preadd_2; array[0..T,1..7] of var 0..1: predel_2; array[0..T,1..7] of var 0..1: maintain_2; array[0..T,1..5] of var 0..1: add_3; array[0..T,1..5] of var 0..1: del_3; array[0..T,1..5] of var 0..1: preadd_3; array[0..T,1..5] of var 0..1: predel_3; array[0..T,1..5] of var 0..1: maintain_3; array[0..T,1..5] of var 0..1: add_4; array[0..T,1..5] of var 0..1: del_4; array[0..T,1..5] of var 0..1: preadd_4; array[0..T,1..5] of var 0..1: predel_4; array[0..T,1..5] of var 0..1: maintain_4; array[0..T,1..3] of var 0..1: add_5; array[0..T,1..3] of var 0..1: del_5; array[0..T,1..3] of var 0..1: preadd_5; array[0..T,1..3] of var 0..1: predel_5; array[0..T,1..3] of var 0..1: maintain_5; array[0..T,1..3] of var 0..1: add_6; array[0..T,1..3] of var 0..1: del_6; array[0..T,1..3] of var 0..1: preadd_6; array[0..T,1..3] of var 0..1: predel_6; array[0..T,1..3] of var 0..1: maintain_6; array[0..T,1..2] of var 0..1: add_7; array[0..T,1..2] of var 0..1: del_7; array[0..T,1..2] of var 0..1: preadd_7; array[0..T,1..2] of var 0..1: predel_7; array[0..T,1..2] of var 0..1: maintain_7; array[0..T,1..2] of var 0..1: add_8; array[0..T,1..2] of var 0..1: del_8; array[0..T,1..2] of var 0..1: preadd_8; array[0..T,1..2] of var 0..1: predel_8; array[0..T,1..2] of var 0..1: maintain_8; array[0..T,1..7]of var 0..1: sat_1; constraint forall(t in 0..T, j in 1..7)(add_1[t,j] + preadd_1[t,j] + maintain_1[t,j] - sat_1[t,j] >= 0); constraint forall(t in 0..T, j in 1..7)(add_1[t,j] - sat_1[t,j] <= 0); constraint forall(t in 0..T, j in 1..7)(preadd_1[t,j] - sat_1[t,j] <= 0); constraint forall(t in 0..T, j in 1..7)(maintain_1[t,j] - sat_1[t,j] <= 0); array[0..T,1..7]of var 0..1: sat_2; constraint forall(t in 0..T, j in 1..7)(add_2[t,j] + preadd_2[t,j] + maintain_2[t,j] - sat_2[t,j] >= 0); constraint forall(t in 0..T, j in 1..7)(add_2[t,j] - sat_2[t,j] <= 0); constraint forall(t in 0..T, j in 1..7)(preadd_2[t,j] - sat_2[t,j] <= 0); constraint forall(t in 0..T, j in 1..7)(maintain_2[t,j] - sat_2[t,j] <= 0); array[0..T,1..5]of var 0..1: sat_3; constraint forall(t in 0..T, j in 1..5)(add_3[t,j] + preadd_3[t,j] + maintain_3[t,j] - sat_3[t,j] >= 0); constraint forall(t in 0..T, j in 1..5)(add_3[t,j] - sat_3[t,j] <= 0); constraint forall(t in 0..T, j in 1..5)(preadd_3[t,j] - sat_3[t,j] <= 0); constraint forall(t in 0..T, j in 1..5)(maintain_3[t,j] - sat_3[t,j] <= 0); array[0..T,1..5]of var 0..1: sat_4; constraint forall(t in 0..T, j in 1..5)(add_4[t,j] + preadd_4[t,j] + maintain_4[t,j] - sat_4[t,j] >= 0); constraint forall(t in 0..T, j in 1..5)(add_4[t,j] - sat_4[t,j] <= 0); constraint forall(t in 0..T, j in 1..5)(preadd_4[t,j] - sat_4[t,j] <= 0); constraint forall(t in 0..T, j in 1..5)(maintain_4[t,j] - sat_4[t,j] <= 0); array[0..T,1..3]of var 0..1: sat_5; constraint forall(t in 0..T, j in 1..3)(add_5[t,j] + preadd_5[t,j] + maintain_5[t,j] - sat_5[t,j] >= 0); constraint forall(t in 0..T, j in 1..3)(add_5[t,j] - sat_5[t,j] <= 0); constraint forall(t in 0..T, j in 1..3)(preadd_5[t,j] - sat_5[t,j] <= 0); constraint forall(t in 0..T, j in 1..3)(maintain_5[t,j] - sat_5[t,j] <= 0); array[0..T,1..3]of var 0..1: sat_6; constraint forall(t in 0..T, j in 1..3)(add_6[t,j] + preadd_6[t,j] + maintain_6[t,j] - sat_6[t,j] >= 0); constraint forall(t in 0..T, j in 1..3)(add_6[t,j] - sat_6[t,j] <= 0); constraint forall(t in 0..T, j in 1..3)(preadd_6[t,j] - sat_6[t,j] <= 0); constraint forall(t in 0..T, j in 1..3)(maintain_6[t,j] - sat_6[t,j] <= 0); array[0..T,1..2]of var 0..1: sat_7; constraint forall(t in 0..T, j in 1..2)(add_7[t,j] + preadd_7[t,j] + maintain_7[t,j] - sat_7[t,j] >= 0); constraint forall(t in 0..T, j in 1..2)(add_7[t,j] - sat_7[t,j] <= 0); constraint forall(t in 0..T, j in 1..2)(preadd_7[t,j] - sat_7[t,j] <= 0); constraint forall(t in 0..T, j in 1..2)(maintain_7[t,j] - sat_7[t,j] <= 0); array[0..T,1..2]of var 0..1: sat_8; constraint forall(t in 0..T, j in 1..2)(add_8[t,j] + preadd_8[t,j] + maintain_8[t,j] - sat_8[t,j] >= 0); constraint forall(t in 0..T, j in 1..2)(add_8[t,j] - sat_8[t,j] <= 0); constraint forall(t in 0..T, j in 1..2)(preadd_8[t,j] - sat_8[t,j] <= 0); constraint forall(t in 0..T, j in 1..2)(maintain_8[t,j] - sat_8[t,j] <= 0); % C3 constraint add_1[0,1] = 0; constraint maintain_1[0,1] = 0; constraint preadd_1[0,1] = 0; % C3 constraint add_1[0,2] = 0; constraint maintain_1[0,2] = 0; constraint preadd_1[0,2] = 0; % C3 constraint add_1[0,3] = 0; constraint maintain_1[0,3] = 0; constraint preadd_1[0,3] = 0; % C3 constraint add_1[0,4] = 0; constraint maintain_1[0,4] = 0; constraint preadd_1[0,4] = 0; % C2 constraint add_1[0,5] = 1; % C3 constraint add_1[0,6] = 0; constraint maintain_1[0,6] = 0; constraint preadd_1[0,6] = 0; % C3 constraint add_1[0,7] = 0; constraint maintain_1[0,7] = 0; constraint preadd_1[0,7] = 0; % C3 constraint add_2[0,1] = 0; constraint maintain_2[0,1] = 0; constraint preadd_2[0,1] = 0; % C3 constraint add_2[0,2] = 0; constraint maintain_2[0,2] = 0; constraint preadd_2[0,2] = 0; % C3 constraint add_2[0,3] = 0; constraint maintain_2[0,3] = 0; constraint preadd_2[0,3] = 0; % C3 constraint add_2[0,4] = 0; constraint maintain_2[0,4] = 0; constraint preadd_2[0,4] = 0; % C2 constraint add_2[0,5] = 1; % C3 constraint add_2[0,6] = 0; constraint maintain_2[0,6] = 0; constraint preadd_2[0,6] = 0; % C3 constraint add_2[0,7] = 0; constraint maintain_2[0,7] = 0; constraint preadd_2[0,7] = 0; % C2 constraint add_3[0,1] = 1; % C3 constraint add_3[0,2] = 0; constraint maintain_3[0,2] = 0; constraint preadd_3[0,2] = 0; % C3 constraint add_3[0,3] = 0; constraint maintain_3[0,3] = 0; constraint preadd_3[0,3] = 0; % C3 constraint add_3[0,4] = 0; constraint maintain_3[0,4] = 0; constraint preadd_3[0,4] = 0; % C3 constraint add_3[0,5] = 0; constraint maintain_3[0,5] = 0; constraint preadd_3[0,5] = 0; % C2 constraint add_4[0,1] = 1; % C3 constraint add_4[0,2] = 0; constraint maintain_4[0,2] = 0; constraint preadd_4[0,2] = 0; % C3 constraint add_4[0,3] = 0; constraint maintain_4[0,3] = 0; constraint preadd_4[0,3] = 0; % C3 constraint add_4[0,4] = 0; constraint maintain_4[0,4] = 0; constraint preadd_4[0,4] = 0; % C3 constraint add_4[0,5] = 0; constraint maintain_4[0,5] = 0; constraint preadd_4[0,5] = 0; % C2 constraint add_5[0,1] = 1; % C3 constraint add_5[0,2] = 0; constraint maintain_5[0,2] = 0; constraint preadd_5[0,2] = 0; % C3 constraint add_5[0,3] = 0; constraint maintain_5[0,3] = 0; constraint preadd_5[0,3] = 0; % C2 constraint add_6[0,1] = 1; % C3 constraint add_6[0,2] = 0; constraint maintain_6[0,2] = 0; constraint preadd_6[0,2] = 0; % C3 constraint add_6[0,3] = 0; constraint maintain_6[0,3] = 0; constraint preadd_6[0,3] = 0; % C2 constraint add_7[0,1] = 1; % C3 constraint add_7[0,2] = 0; constraint maintain_7[0,2] = 0; constraint preadd_7[0,2] = 0; % C2 constraint add_8[0,1] = 1; % C3 constraint add_8[0,2] = 0; constraint maintain_8[0,2] = 0; constraint preadd_8[0,2] = 0; % C4 constraint sat_1[T,4] >= 1; constraint sat_3[T,1] >= 1; constraint sat_4[T,1] >= 1; constraint sat_5[T,2] >= 1; % C5 constraint forall (t in 1..T)( actions[t-1,77] - add_1[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,78] - add_1[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,77] + actions[t-1,78] - add_1[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,1] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_1[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,73] + actions[t-1,74] - predel_1[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,79] - add_1[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,80] - add_1[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,79] + actions[t-1,80] - add_1[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,2] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_1[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,75] + actions[t-1,76] - predel_1[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,13] - add_1[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,16] - add_1[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,73] - add_1[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,13] + actions[t-1,16] + actions[t-1,73] - add_1[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,3] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_1[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,4] + actions[t-1,77] - predel_1[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,14] - add_1[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,17] - add_1[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,74] - add_1[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,75] - add_1[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,14] + actions[t-1,17] + actions[t-1,74] + actions[t-1,75] - add_1[t,4] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,4] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_1[t,4] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,2] + actions[t-1,5] + actions[t-1,78] + actions[t-1,79] - predel_1[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,15] - add_1[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,18] - add_1[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,76] - add_1[t,5] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,15] + actions[t-1,18] + actions[t-1,76] - add_1[t,5] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,5] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_1[t,5] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,3] + actions[t-1,6] + actions[t-1,80] - predel_1[t,5] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,1] - add_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,2] - add_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,3] - add_1[t,6] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,2] + actions[t-1,3] - add_1[t,6] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,6] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,25] - preadd_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,27] - preadd_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,29] - preadd_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,31] - preadd_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,33] - preadd_1[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,35] - preadd_1[t,6] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,25] + actions[t-1,27] + actions[t-1,29] + actions[t-1,31] + actions[t-1,33] + actions[t-1,35] - preadd_1[t,6] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,13] + actions[t-1,14] + actions[t-1,15] - predel_1[t,6] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,4] - add_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,5] - add_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,6] - add_1[t,7] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,4] + actions[t-1,5] + actions[t-1,6] - add_1[t,7] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_1[t,7] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,37] - preadd_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,39] - preadd_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,41] - preadd_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,43] - preadd_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,45] - preadd_1[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,47] - preadd_1[t,7] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,37] + actions[t-1,39] + actions[t-1,41] + actions[t-1,43] + actions[t-1,45] + actions[t-1,47] - preadd_1[t,7] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,16] + actions[t-1,17] + actions[t-1,18] - predel_1[t,7] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,85] - add_2[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,86] - add_2[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,85] + actions[t-1,86] - add_2[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,1] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_2[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,81] + actions[t-1,82] - predel_2[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,87] - add_2[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,88] - add_2[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,87] + actions[t-1,88] - add_2[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,2] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_2[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,83] + actions[t-1,84] - predel_2[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,19] - add_2[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,22] - add_2[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,81] - add_2[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,19] + actions[t-1,22] + actions[t-1,81] - add_2[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,3] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_2[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,7] + actions[t-1,10] + actions[t-1,85] - predel_2[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,20] - add_2[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,23] - add_2[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,82] - add_2[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,83] - add_2[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,20] + actions[t-1,23] + actions[t-1,82] + actions[t-1,83] - add_2[t,4] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,4] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_2[t,4] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,8] + actions[t-1,11] + actions[t-1,86] + actions[t-1,87] - predel_2[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,21] - add_2[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,24] - add_2[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,84] - add_2[t,5] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,21] + actions[t-1,24] + actions[t-1,84] - add_2[t,5] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,5] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_2[t,5] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,9] + actions[t-1,12] + actions[t-1,88] - predel_2[t,5] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,7] - add_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,8] - add_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,9] - add_2[t,6] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,7] + actions[t-1,8] + actions[t-1,9] - add_2[t,6] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,6] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,26] - preadd_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,28] - preadd_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,30] - preadd_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,32] - preadd_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,34] - preadd_2[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,36] - preadd_2[t,6] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,26] + actions[t-1,28] + actions[t-1,30] + actions[t-1,32] + actions[t-1,34] + actions[t-1,36] - preadd_2[t,6] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,19] + actions[t-1,20] + actions[t-1,21] - predel_2[t,6] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,10] - add_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,11] - add_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,12] - add_2[t,7] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,10] + actions[t-1,11] + actions[t-1,12] - add_2[t,7] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_2[t,7] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,38] - preadd_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,40] - preadd_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,42] - preadd_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,44] - preadd_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,46] - preadd_2[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,48] - preadd_2[t,7] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,38] + actions[t-1,40] + actions[t-1,42] + actions[t-1,44] + actions[t-1,46] + actions[t-1,48] - preadd_2[t,7] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,22] + actions[t-1,23] + actions[t-1,24] - predel_2[t,7] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,61] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,64] - add_3[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,61] + actions[t-1,64] - add_3[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,1] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_3[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,49] + actions[t-1,52] - predel_3[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,62] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,65] - add_3[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,62] + actions[t-1,65] - add_3[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,2] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_3[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,50] + actions[t-1,53] - predel_3[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,63] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,66] - add_3[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,63] + actions[t-1,66] - add_3[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,3] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_3[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,51] + actions[t-1,54] - predel_3[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,49] - add_3[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,50] - add_3[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,51] - add_3[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,49] + actions[t-1,50] + actions[t-1,51] - add_3[t,4] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,4] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_3[t,4] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,61] + actions[t-1,62] + actions[t-1,63] - predel_3[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,52] - add_3[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,53] - add_3[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,54] - add_3[t,5] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,52] + actions[t-1,53] + actions[t-1,54] - add_3[t,5] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,5] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_3[t,5] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,64] + actions[t-1,65] + actions[t-1,66] - predel_3[t,5] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,67] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,70] - add_4[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,67] + actions[t-1,70] - add_4[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,1] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,55] + actions[t-1,58] - predel_4[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,68] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,71] - add_4[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,68] + actions[t-1,71] - add_4[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,2] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,56] + actions[t-1,59] - predel_4[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,69] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,72] - add_4[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,69] + actions[t-1,72] - add_4[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,3] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,57] + actions[t-1,60] - predel_4[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,55] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,56] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,57] - add_4[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,55] + actions[t-1,56] + actions[t-1,57] - add_4[t,4] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,4] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,4] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,67] + actions[t-1,68] + actions[t-1,69] - predel_4[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,58] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,59] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,60] - add_4[t,5] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,58] + actions[t-1,59] + actions[t-1,60] - add_4[t,5] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,5] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,5] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,70] + actions[t-1,71] + actions[t-1,72] - predel_4[t,5] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,29] - add_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,30] - add_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,33] - add_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,34] - add_5[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,29] + actions[t-1,30] + actions[t-1,33] + actions[t-1,34] - add_5[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_5[t,1] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,1] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,7] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,13] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,19] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,49] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,55] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,61] - preadd_5[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,67] - preadd_5[t,1] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,7] + actions[t-1,13] + actions[t-1,19] + actions[t-1,49] + actions[t-1,55] + actions[t-1,61] + actions[t-1,67] - preadd_5[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,25] + actions[t-1,26] + actions[t-1,27] + actions[t-1,28] - predel_5[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,25] - add_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,26] - add_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,35] - add_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,36] - add_5[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,25] + actions[t-1,26] + actions[t-1,35] + actions[t-1,36] - add_5[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_5[t,2] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,2] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,8] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,14] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,20] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,50] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,56] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,62] - preadd_5[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,68] - preadd_5[t,2] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,2] + actions[t-1,8] + actions[t-1,14] + actions[t-1,20] + actions[t-1,50] + actions[t-1,56] + actions[t-1,62] + actions[t-1,68] - preadd_5[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,29] + actions[t-1,30] + actions[t-1,31] + actions[t-1,32] - predel_5[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,27] - add_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,28] - add_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,31] - add_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,32] - add_5[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,27] + actions[t-1,28] + actions[t-1,31] + actions[t-1,32] - add_5[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_5[t,3] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,3] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,9] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,15] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,21] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,51] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,57] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,63] - preadd_5[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,69] - preadd_5[t,3] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,3] + actions[t-1,9] + actions[t-1,15] + actions[t-1,21] + actions[t-1,51] + actions[t-1,57] + actions[t-1,63] + actions[t-1,69] - preadd_5[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,33] + actions[t-1,34] + actions[t-1,35] + actions[t-1,36] - predel_5[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,41] - add_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,42] - add_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,45] - add_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,46] - add_6[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,41] + actions[t-1,42] + actions[t-1,45] + actions[t-1,46] - add_6[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_6[t,1] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,4] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,10] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,16] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,22] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,52] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,58] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,64] - preadd_6[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,70] - preadd_6[t,1] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,4] + actions[t-1,10] + actions[t-1,16] + actions[t-1,22] + actions[t-1,52] + actions[t-1,58] + actions[t-1,64] + actions[t-1,70] - preadd_6[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,37] + actions[t-1,38] + actions[t-1,39] + actions[t-1,40] - predel_6[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,37] - add_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,38] - add_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,47] - add_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,48] - add_6[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,37] + actions[t-1,38] + actions[t-1,47] + actions[t-1,48] - add_6[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_6[t,2] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,5] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,11] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,17] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,23] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,53] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,59] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,65] - preadd_6[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,71] - preadd_6[t,2] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,5] + actions[t-1,11] + actions[t-1,17] + actions[t-1,23] + actions[t-1,53] + actions[t-1,59] + actions[t-1,65] + actions[t-1,71] - preadd_6[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,41] + actions[t-1,42] + actions[t-1,43] + actions[t-1,44] - predel_6[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,39] - add_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,40] - add_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,43] - add_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,44] - add_6[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,39] + actions[t-1,40] + actions[t-1,43] + actions[t-1,44] - add_6[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_6[t,3] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,6] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,12] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,18] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,24] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,54] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,60] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,66] - preadd_6[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,72] - preadd_6[t,3] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,6] + actions[t-1,12] + actions[t-1,18] + actions[t-1,24] + actions[t-1,54] + actions[t-1,60] + actions[t-1,66] + actions[t-1,72] - preadd_6[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,45] + actions[t-1,46] + actions[t-1,47] + actions[t-1,48] - predel_6[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,13] - add_7[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,14] - add_7[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,15] - add_7[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,19] - add_7[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,20] - add_7[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,21] - add_7[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,13] + actions[t-1,14] + actions[t-1,15] + actions[t-1,19] + actions[t-1,20] + actions[t-1,21] - add_7[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_7[t,1] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_7[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,2] + actions[t-1,3] + actions[t-1,7] + actions[t-1,8] + actions[t-1,9] - predel_7[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,1] - add_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,2] - add_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,3] - add_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,7] - add_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,8] - add_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,9] - add_7[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,2] + actions[t-1,3] + actions[t-1,7] + actions[t-1,8] + actions[t-1,9] - add_7[t,2] >= 0); % C7 constraint forall (t in 1..T)( actions[t-1,13] - del_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,14] - del_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,15] - del_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,19] - del_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,20] - del_7[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,21] - del_7[t,2] <= 0); % C8 constraint forall (t in 1..T) (0 + actions[t-1,13] + actions[t-1,14] + actions[t-1,15] + actions[t-1,19] + actions[t-1,20] + actions[t-1,21] - del_7[t,2] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_7[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 - predel_7[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,16] - add_8[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,17] - add_8[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,18] - add_8[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,22] - add_8[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,23] - add_8[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,24] - add_8[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,16] + actions[t-1,17] + actions[t-1,18] + actions[t-1,22] + actions[t-1,23] + actions[t-1,24] - add_8[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_8[t,1] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_8[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,4] + actions[t-1,5] + actions[t-1,6] + actions[t-1,10] + actions[t-1,11] + actions[t-1,12] - predel_8[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,4] - add_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,5] - add_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,6] - add_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,10] - add_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,11] - add_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,12] - add_8[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,4] + actions[t-1,5] + actions[t-1,6] + actions[t-1,10] + actions[t-1,11] + actions[t-1,12] - add_8[t,2] >= 0); % C7 constraint forall (t in 1..T)( actions[t-1,16] - del_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,17] - del_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,18] - del_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,22] - del_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,23] - del_8[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,24] - del_8[t,2] <= 0); % C8 constraint forall (t in 1..T) (0 + actions[t-1,16] + actions[t-1,17] + actions[t-1,18] + actions[t-1,22] + actions[t-1,23] + actions[t-1,24] - del_8[t,2] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_8[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 - predel_8[t,2] = 0); % C12 constraint forall (j in 1..n_vals[1], t in 0..T)( add_1[t,j] + maintain_1[t,j] + del_1[t,j] + predel_1[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[1], t in 0..T)( preadd_1[t,j] + maintain_1[t,j] + del_1[t,j] + predel_1[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[1], t in 0..T-1)( preadd_1[t+1,j] + maintain_1[t+1,j] + predel_1[t+1,j] - add_1[t,j] - preadd_1[t,j] - maintain_1[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[2], t in 0..T)( add_2[t,j] + maintain_2[t,j] + del_2[t,j] + predel_2[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[2], t in 0..T)( preadd_2[t,j] + maintain_2[t,j] + del_2[t,j] + predel_2[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[2], t in 0..T-1)( preadd_2[t+1,j] + maintain_2[t+1,j] + predel_2[t+1,j] - add_2[t,j] - preadd_2[t,j] - maintain_2[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[3], t in 0..T)( add_3[t,j] + maintain_3[t,j] + del_3[t,j] + predel_3[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[3], t in 0..T)( preadd_3[t,j] + maintain_3[t,j] + del_3[t,j] + predel_3[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[3], t in 0..T-1)( preadd_3[t+1,j] + maintain_3[t+1,j] + predel_3[t+1,j] - add_3[t,j] - preadd_3[t,j] - maintain_3[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[4], t in 0..T)( add_4[t,j] + maintain_4[t,j] + del_4[t,j] + predel_4[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[4], t in 0..T)( preadd_4[t,j] + maintain_4[t,j] + del_4[t,j] + predel_4[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[4], t in 0..T-1)( preadd_4[t+1,j] + maintain_4[t+1,j] + predel_4[t+1,j] - add_4[t,j] - preadd_4[t,j] - maintain_4[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[5], t in 0..T)( add_5[t,j] + maintain_5[t,j] + del_5[t,j] + predel_5[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[5], t in 0..T)( preadd_5[t,j] + maintain_5[t,j] + del_5[t,j] + predel_5[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[5], t in 0..T-1)( preadd_5[t+1,j] + maintain_5[t+1,j] + predel_5[t+1,j] - add_5[t,j] - preadd_5[t,j] - maintain_5[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[6], t in 0..T)( add_6[t,j] + maintain_6[t,j] + del_6[t,j] + predel_6[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[6], t in 0..T)( preadd_6[t,j] + maintain_6[t,j] + del_6[t,j] + predel_6[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[6], t in 0..T-1)( preadd_6[t+1,j] + maintain_6[t+1,j] + predel_6[t+1,j] - add_6[t,j] - preadd_6[t,j] - maintain_6[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[7], t in 0..T)( add_7[t,j] + maintain_7[t,j] + del_7[t,j] + predel_7[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[7], t in 0..T)( preadd_7[t,j] + maintain_7[t,j] + del_7[t,j] + predel_7[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[7], t in 0..T-1)( preadd_7[t+1,j] + maintain_7[t+1,j] + predel_7[t+1,j] - add_7[t,j] - preadd_7[t,j] - maintain_7[t,j] <= 0); % C12 constraint forall (j in 1..n_vals[8], t in 0..T)( add_8[t,j] + maintain_8[t,j] + del_8[t,j] + predel_8[t,j] <= 1); % C13 constraint forall (j in 1..n_vals[8], t in 0..T)( preadd_8[t,j] + maintain_8[t,j] + del_8[t,j] + predel_8[ t,j] <= 1); % C14 constraint forall (j in 1..n_vals[8], t in 0..T-1)( preadd_8[t+1,j] + maintain_8[t+1,j] + predel_8[t+1,j] - add_8[t,j] - preadd_8[t,j] - maintain_8[t,j] <= 0); %array[0..T-1,1..88] of var 0..1: actions; %array[0..T*88] of var 0..1: actions_aux; %constraint forall(i in 0..T-1, j in 1..88) (actions_aux[i*88+j] = actions[i,j]); %array[0..T,1..7] of var 0..1: add_1; %array[0..(T+1)*7] of var 0..1: add_1_aux; %constraint forall(i in 0..T, j in 1..7) (add_1_aux[i*7+j] = add_1[i,j]); solve :: int_search(actions[0,1..88] ++ actions[1,1..88] ++ actions[2,1..88] ++ actions[3,1..88] ++ actions[4,1..88] ++ actions[5,1..88], input_order, indomain_min, complete) satisfy; %solve satisfy; output [name[i] ++ "\n" | t in 0..T-1, i in 1..88 where fix(actions[t,i]) == 1]