% https://bitbucket.org/dosydon/minizinc_planning_domains % zenotravel17 , file1.mzn int: T = 5; array[1..4] of int: n_vals = [4, 4, 3, 7]; array[1..129] of string: name = ["(board person1 plane1 city0)", "(board person1 plane1 city1)", "(board person1 plane1 city2)", "(board person2 plane1 city0)", "(board person2 plane1 city1)", "(board person2 plane1 city2)", "(debark person1 plane1 city0)", "(debark person1 plane1 city1)", "(debark person1 plane1 city2)", "(debark person2 plane1 city0)", "(debark person2 plane1 city1)", "(debark person2 plane1 city2)", "(fly plane1 city0 city0 fl1 fl0)", "(fly plane1 city0 city0 fl2 fl1)", "(fly plane1 city0 city0 fl3 fl2)", "(fly plane1 city0 city0 fl4 fl3)", "(fly plane1 city0 city0 fl5 fl4)", "(fly plane1 city0 city0 fl6 fl5)", "(fly plane1 city0 city1 fl1 fl0)", "(fly plane1 city0 city1 fl2 fl1)", "(fly plane1 city0 city1 fl3 fl2)", "(fly plane1 city0 city1 fl4 fl3)", "(fly plane1 city0 city1 fl5 fl4)", "(fly plane1 city0 city1 fl6 fl5)", "(fly plane1 city0 city2 fl1 fl0)", "(fly plane1 city0 city2 fl2 fl1)", "(fly plane1 city0 city2 fl3 fl2)", "(fly plane1 city0 city2 fl4 fl3)", "(fly plane1 city0 city2 fl5 fl4)", "(fly plane1 city0 city2 fl6 fl5)", "(fly plane1 city1 city0 fl1 fl0)", "(fly plane1 city1 city0 fl2 fl1)", "(fly plane1 city1 city0 fl3 fl2)", "(fly plane1 city1 city0 fl4 fl3)", "(fly plane1 city1 city0 fl5 fl4)", "(fly plane1 city1 city0 fl6 fl5)", "(fly plane1 city1 city1 fl1 fl0)", "(fly plane1 city1 city1 fl2 fl1)", "(fly plane1 city1 city1 fl3 fl2)", "(fly plane1 city1 city1 fl4 fl3)", "(fly plane1 city1 city1 fl5 fl4)", "(fly plane1 city1 city1 fl6 fl5)", "(fly plane1 city1 city2 fl1 fl0)", "(fly plane1 city1 city2 fl2 fl1)", "(fly plane1 city1 city2 fl3 fl2)", "(fly plane1 city1 city2 fl4 fl3)", "(fly plane1 city1 city2 fl5 fl4)", "(fly plane1 city1 city2 fl6 fl5)", "(fly plane1 city2 city0 fl1 fl0)", "(fly plane1 city2 city0 fl2 fl1)", "(fly plane1 city2 city0 fl3 fl2)", "(fly plane1 city2 city0 fl4 fl3)", "(fly plane1 city2 city0 fl5 fl4)", "(fly plane1 city2 city0 fl6 fl5)", "(fly plane1 city2 city1 fl1 fl0)", "(fly plane1 city2 city1 fl2 fl1)", "(fly plane1 city2 city1 fl3 fl2)", "(fly plane1 city2 city1 fl4 fl3)", "(fly plane1 city2 city1 fl5 fl4)", "(fly plane1 city2 city1 fl6 fl5)", "(fly plane1 city2 city2 fl1 fl0)", "(fly plane1 city2 city2 fl2 fl1)", "(fly plane1 city2 city2 fl3 fl2)", "(fly plane1 city2 city2 fl4 fl3)", "(fly plane1 city2 city2 fl5 fl4)", "(fly plane1 city2 city2 fl6 fl5)", "(refuel plane1 city0 fl0 fl1)", "(refuel plane1 city0 fl1 fl2)", "(refuel plane1 city0 fl2 fl3)", "(refuel plane1 city0 fl3 fl4)", "(refuel plane1 city0 fl4 fl5)", "(refuel plane1 city0 fl5 fl6)", "(refuel plane1 city1 fl0 fl1)", "(refuel plane1 city1 fl1 fl2)", "(refuel plane1 city1 fl2 fl3)", "(refuel plane1 city1 fl3 fl4)", "(refuel plane1 city1 fl4 fl5)", "(refuel plane1 city1 fl5 fl6)", "(refuel plane1 city2 fl0 fl1)", "(refuel plane1 city2 fl1 fl2)", "(refuel plane1 city2 fl2 fl3)", "(refuel plane1 city2 fl3 fl4)", "(refuel plane1 city2 fl4 fl5)", "(refuel plane1 city2 fl5 fl6)", "(zoom plane1 city0 city0 fl2 fl1 fl0)", "(zoom plane1 city0 city0 fl3 fl2 fl1)", "(zoom plane1 city0 city0 fl4 fl3 fl2)", "(zoom plane1 city0 city0 fl5 fl4 fl3)", "(zoom plane1 city0 city0 fl6 fl5 fl4)", "(zoom plane1 city0 city1 fl2 fl1 fl0)", "(zoom plane1 city0 city1 fl3 fl2 fl1)", "(zoom plane1 city0 city1 fl4 fl3 fl2)", "(zoom plane1 city0 city1 fl5 fl4 fl3)", "(zoom plane1 city0 city1 fl6 fl5 fl4)", "(zoom plane1 city0 city2 fl2 fl1 fl0)", "(zoom plane1 city0 city2 fl3 fl2 fl1)", "(zoom plane1 city0 city2 fl4 fl3 fl2)", "(zoom plane1 city0 city2 fl5 fl4 fl3)", "(zoom plane1 city0 city2 fl6 fl5 fl4)", "(zoom plane1 city1 city0 fl2 fl1 fl0)", "(zoom plane1 city1 city0 fl3 fl2 fl1)", "(zoom plane1 city1 city0 fl4 fl3 fl2)", "(zoom plane1 city1 city0 fl5 fl4 fl3)", "(zoom plane1 city1 city0 fl6 fl5 fl4)", "(zoom plane1 city1 city1 fl2 fl1 fl0)", "(zoom plane1 city1 city1 fl3 fl2 fl1)", "(zoom plane1 city1 city1 fl4 fl3 fl2)", "(zoom plane1 city1 city1 fl5 fl4 fl3)", "(zoom plane1 city1 city1 fl6 fl5 fl4)", "(zoom plane1 city1 city2 fl2 fl1 fl0)", "(zoom plane1 city1 city2 fl3 fl2 fl1)", "(zoom plane1 city1 city2 fl4 fl3 fl2)", "(zoom plane1 city1 city2 fl5 fl4 fl3)", "(zoom plane1 city1 city2 fl6 fl5 fl4)", "(zoom plane1 city2 city0 fl2 fl1 fl0)", "(zoom plane1 city2 city0 fl3 fl2 fl1)", "(zoom plane1 city2 city0 fl4 fl3 fl2)", "(zoom plane1 city2 city0 fl5 fl4 fl3)", "(zoom plane1 city2 city0 fl6 fl5 fl4)", "(zoom plane1 city2 city1 fl2 fl1 fl0)", "(zoom plane1 city2 city1 fl3 fl2 fl1)", "(zoom plane1 city2 city1 fl4 fl3 fl2)", "(zoom plane1 city2 city1 fl5 fl4 fl3)", "(zoom plane1 city2 city1 fl6 fl5 fl4)", "(zoom plane1 city2 city2 fl2 fl1 fl0)", "(zoom plane1 city2 city2 fl3 fl2 fl1)", "(zoom plane1 city2 city2 fl4 fl3 fl2)", "(zoom plane1 city2 city2 fl5 fl4 fl3)", "(zoom plane1 city2 city2 fl6 fl5 fl4)"]; array[1..129] 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, 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..129] of var 0..1: actions; array[0..T,1..4] of var 0..1: add_1; array[0..T,1..4] of var 0..1: del_1; array[0..T,1..4] of var 0..1: preadd_1; array[0..T,1..4] of var 0..1: predel_1; array[0..T,1..4] of var 0..1: maintain_1; array[0..T,1..4] of var 0..1: add_2; array[0..T,1..4] of var 0..1: del_2; array[0..T,1..4] of var 0..1: preadd_2; array[0..T,1..4] of var 0..1: predel_2; array[0..T,1..4] of var 0..1: maintain_2; array[0..T,1..3] of var 0..1: add_3; array[0..T,1..3] of var 0..1: del_3; array[0..T,1..3] of var 0..1: preadd_3; array[0..T,1..3] of var 0..1: predel_3; array[0..T,1..3] of var 0..1: maintain_3; array[0..T,1..7] of var 0..1: add_4; array[0..T,1..7] of var 0..1: del_4; array[0..T,1..7] of var 0..1: preadd_4; array[0..T,1..7] of var 0..1: predel_4; array[0..T,1..7] of var 0..1: maintain_4; array[0..T,1..4]of var 0..1: sat_1; constraint forall(t in 0..T, j in 1..4)(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..4)(add_1[t,j] - sat_1[t,j] <= 0); constraint forall(t in 0..T, j in 1..4)(preadd_1[t,j] - sat_1[t,j] <= 0); constraint forall(t in 0..T, j in 1..4)(maintain_1[t,j] - sat_1[t,j] <= 0); array[0..T,1..4]of var 0..1: sat_2; constraint forall(t in 0..T, j in 1..4)(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..4)(add_2[t,j] - sat_2[t,j] <= 0); constraint forall(t in 0..T, j in 1..4)(preadd_2[t,j] - sat_2[t,j] <= 0); constraint forall(t in 0..T, j in 1..4)(maintain_2[t,j] - sat_2[t,j] <= 0); array[0..T,1..3]of var 0..1: sat_3; constraint forall(t in 0..T, j in 1..3)(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..3)(add_3[t,j] - sat_3[t,j] <= 0); constraint forall(t in 0..T, j in 1..3)(preadd_3[t,j] - sat_3[t,j] <= 0); constraint forall(t in 0..T, j in 1..3)(maintain_3[t,j] - sat_3[t,j] <= 0); array[0..T,1..7]of var 0..1: sat_4; constraint forall(t in 0..T, j in 1..7)(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..7)(add_4[t,j] - sat_4[t,j] <= 0); constraint forall(t in 0..T, j in 1..7)(preadd_4[t,j] - sat_4[t,j] <= 0); constraint forall(t in 0..T, j in 1..7)(maintain_4[t,j] - sat_4[t,j] <= 0); % C2 constraint add_1[0,1] = 1; % 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; % 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; % C2 constraint add_2[0,3] = 1; % C3 constraint add_2[0,4] = 0; constraint maintain_2[0,4] = 0; constraint preadd_2[0,4] = 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_4[0,1] = 0; constraint maintain_4[0,1] = 0; constraint preadd_4[0,1] = 0; % C2 constraint add_4[0,2] = 1; % 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; % C3 constraint add_4[0,6] = 0; constraint maintain_4[0,6] = 0; constraint preadd_4[0,6] = 0; % C3 constraint add_4[0,7] = 0; constraint maintain_4[0,7] = 0; constraint preadd_4[0,7] = 0; % C4 constraint sat_1[T,1] >= 1; constraint sat_2[T,3] >= 1; constraint sat_3[T,2] >= 1; % C5 constraint forall (t in 1..T)( actions[t-1,7] - add_1[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,7] - 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,1] - predel_1[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,8] - add_1[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,8] - 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,2] - predel_1[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,9] - add_1[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,9] - 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,3] - predel_1[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,1] - add_1[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,2] - add_1[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,3] - add_1[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,2] + actions[t-1,3] - 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,7] + actions[t-1,8] + actions[t-1,9] - predel_1[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,10] - add_2[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,10] - 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,4] - predel_2[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,11] - add_2[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,11] - 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,5] - predel_2[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,12] - add_2[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,12] - 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,6] - predel_2[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,4] - add_2[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,5] - add_2[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,6] - add_2[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,4] + actions[t-1,5] + actions[t-1,6] - 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,10] + actions[t-1,11] + actions[t-1,12] - predel_2[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,31] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,32] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,33] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,34] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,35] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,36] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,49] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,50] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,51] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,52] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,53] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,54] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,100] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,101] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,102] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,103] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,104] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,115] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,116] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,117] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,118] - add_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,119] - add_3[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,31] + actions[t-1,32] + actions[t-1,33] + actions[t-1,34] + actions[t-1,35] + actions[t-1,36] + actions[t-1,49] + actions[t-1,50] + actions[t-1,51] + actions[t-1,52] + actions[t-1,53] + actions[t-1,54] + actions[t-1,100] + actions[t-1,101] + actions[t-1,102] + actions[t-1,103] + actions[t-1,104] + actions[t-1,115] + actions[t-1,116] + actions[t-1,117] + actions[t-1,118] + actions[t-1,119] - add_3[t,1] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,1] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,1] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,4] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,7] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,10] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,13] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,14] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,15] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,16] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,17] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,18] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,67] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,68] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,69] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,70] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,71] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,72] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,85] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,86] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,87] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,88] - preadd_3[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,89] - preadd_3[t,1] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,1] + actions[t-1,4] + actions[t-1,7] + actions[t-1,10] + actions[t-1,13] + actions[t-1,14] + actions[t-1,15] + actions[t-1,16] + actions[t-1,17] + actions[t-1,18] + actions[t-1,67] + actions[t-1,68] + actions[t-1,69] + actions[t-1,70] + actions[t-1,71] + actions[t-1,72] + actions[t-1,85] + actions[t-1,86] + actions[t-1,87] + actions[t-1,88] + actions[t-1,89] - preadd_3[t,1] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,19] + actions[t-1,20] + actions[t-1,21] + actions[t-1,22] + actions[t-1,23] + actions[t-1,24] + actions[t-1,25] + actions[t-1,26] + actions[t-1,27] + actions[t-1,28] + actions[t-1,29] + actions[t-1,30] + actions[t-1,90] + actions[t-1,91] + actions[t-1,92] + actions[t-1,93] + actions[t-1,94] + actions[t-1,95] + actions[t-1,96] + actions[t-1,97] + actions[t-1,98] + actions[t-1,99] - predel_3[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,19] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,20] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,21] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,22] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,23] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,24] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,55] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,56] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,57] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,58] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,59] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,60] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,90] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,91] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,92] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,93] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,94] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,120] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,121] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,122] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,123] - add_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,124] - add_3[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,19] + actions[t-1,20] + actions[t-1,21] + actions[t-1,22] + actions[t-1,23] + actions[t-1,24] + actions[t-1,55] + actions[t-1,56] + actions[t-1,57] + actions[t-1,58] + actions[t-1,59] + actions[t-1,60] + actions[t-1,90] + actions[t-1,91] + actions[t-1,92] + actions[t-1,93] + actions[t-1,94] + actions[t-1,120] + actions[t-1,121] + actions[t-1,122] + actions[t-1,123] + actions[t-1,124] - add_3[t,2] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,2] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,2] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,5] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,8] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,11] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,37] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,38] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,39] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,40] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,41] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,42] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,73] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,74] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,75] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,76] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,77] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,78] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,105] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,106] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,107] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,108] - preadd_3[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,109] - preadd_3[t,2] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,2] + actions[t-1,5] + actions[t-1,8] + actions[t-1,11] + actions[t-1,37] + actions[t-1,38] + actions[t-1,39] + actions[t-1,40] + actions[t-1,41] + actions[t-1,42] + actions[t-1,73] + actions[t-1,74] + actions[t-1,75] + actions[t-1,76] + actions[t-1,77] + actions[t-1,78] + actions[t-1,105] + actions[t-1,106] + actions[t-1,107] + actions[t-1,108] + actions[t-1,109] - preadd_3[t,2] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,31] + actions[t-1,32] + actions[t-1,33] + actions[t-1,34] + actions[t-1,35] + actions[t-1,36] + actions[t-1,43] + actions[t-1,44] + actions[t-1,45] + actions[t-1,46] + actions[t-1,47] + actions[t-1,48] + actions[t-1,100] + actions[t-1,101] + actions[t-1,102] + actions[t-1,103] + actions[t-1,104] + actions[t-1,110] + actions[t-1,111] + actions[t-1,112] + actions[t-1,113] + actions[t-1,114] - predel_3[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,25] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,26] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,27] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,28] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,29] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,30] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,43] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,44] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,45] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,46] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,47] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,48] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,95] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,96] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,97] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,98] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,99] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,110] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,111] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,112] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,113] - add_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,114] - add_3[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,25] + actions[t-1,26] + actions[t-1,27] + actions[t-1,28] + actions[t-1,29] + actions[t-1,30] + actions[t-1,43] + actions[t-1,44] + actions[t-1,45] + actions[t-1,46] + actions[t-1,47] + actions[t-1,48] + actions[t-1,95] + actions[t-1,96] + actions[t-1,97] + actions[t-1,98] + actions[t-1,99] + actions[t-1,110] + actions[t-1,111] + actions[t-1,112] + actions[t-1,113] + actions[t-1,114] - add_3[t,3] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_3[t,3] >= 0); % C9 constraint forall (t in 1..T)( actions[t-1,3] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,6] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,9] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,12] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,61] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,62] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,63] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,64] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,65] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,66] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,79] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,80] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,81] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,82] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,83] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,84] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,125] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,126] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,127] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,128] - preadd_3[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,129] - preadd_3[t,3] <= 0); % C10 constraint forall (t in 1..T) (0 + actions[t-1,3] + actions[t-1,6] + actions[t-1,9] + actions[t-1,12] + actions[t-1,61] + actions[t-1,62] + actions[t-1,63] + actions[t-1,64] + actions[t-1,65] + actions[t-1,66] + actions[t-1,79] + actions[t-1,80] + actions[t-1,81] + actions[t-1,82] + actions[t-1,83] + actions[t-1,84] + actions[t-1,125] + actions[t-1,126] + actions[t-1,127] + actions[t-1,128] + actions[t-1,129] - preadd_3[t,3] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,49] + actions[t-1,50] + actions[t-1,51] + actions[t-1,52] + actions[t-1,53] + actions[t-1,54] + actions[t-1,55] + actions[t-1,56] + actions[t-1,57] + actions[t-1,58] + actions[t-1,59] + actions[t-1,60] + actions[t-1,115] + actions[t-1,116] + actions[t-1,117] + actions[t-1,118] + actions[t-1,119] + actions[t-1,120] + actions[t-1,121] + actions[t-1,122] + actions[t-1,123] + actions[t-1,124] - predel_3[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,13] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,19] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,25] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,31] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,37] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,43] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,49] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,55] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,61] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,85] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,90] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,95] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,100] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,105] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,110] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,115] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,120] - add_4[t,1] <= 0); constraint forall (t in 1..T)( actions[t-1,125] - add_4[t,1] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,13] + actions[t-1,19] + actions[t-1,25] + actions[t-1,31] + actions[t-1,37] + actions[t-1,43] + actions[t-1,49] + actions[t-1,55] + actions[t-1,61] + actions[t-1,85] + actions[t-1,90] + actions[t-1,95] + actions[t-1,100] + actions[t-1,105] + actions[t-1,110] + actions[t-1,115] + actions[t-1,120] + actions[t-1,125] - 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,67] + actions[t-1,73] + actions[t-1,79] - predel_4[t,1] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,14] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,20] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,26] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,32] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,38] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,44] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,50] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,56] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,62] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,67] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,73] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,79] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,86] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,91] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,96] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,101] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,106] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,111] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,116] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,121] - add_4[t,2] <= 0); constraint forall (t in 1..T)( actions[t-1,126] - add_4[t,2] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,14] + actions[t-1,20] + actions[t-1,26] + actions[t-1,32] + actions[t-1,38] + actions[t-1,44] + actions[t-1,50] + actions[t-1,56] + actions[t-1,62] + actions[t-1,67] + actions[t-1,73] + actions[t-1,79] + actions[t-1,86] + actions[t-1,91] + actions[t-1,96] + actions[t-1,101] + actions[t-1,106] + actions[t-1,111] + actions[t-1,116] + actions[t-1,121] + actions[t-1,126] - 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,13] + actions[t-1,19] + actions[t-1,25] + actions[t-1,31] + actions[t-1,37] + actions[t-1,43] + actions[t-1,49] + actions[t-1,55] + actions[t-1,61] + actions[t-1,68] + actions[t-1,74] + actions[t-1,80] - predel_4[t,2] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,15] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,21] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,27] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,33] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,39] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,45] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,51] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,57] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,63] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,68] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,74] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,80] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,87] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,92] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,97] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,102] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,107] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,112] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,117] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,122] - add_4[t,3] <= 0); constraint forall (t in 1..T)( actions[t-1,127] - add_4[t,3] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,15] + actions[t-1,21] + actions[t-1,27] + actions[t-1,33] + actions[t-1,39] + actions[t-1,45] + actions[t-1,51] + actions[t-1,57] + actions[t-1,63] + actions[t-1,68] + actions[t-1,74] + actions[t-1,80] + actions[t-1,87] + actions[t-1,92] + actions[t-1,97] + actions[t-1,102] + actions[t-1,107] + actions[t-1,112] + actions[t-1,117] + actions[t-1,122] + actions[t-1,127] - 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,14] + actions[t-1,20] + actions[t-1,26] + actions[t-1,32] + actions[t-1,38] + actions[t-1,44] + actions[t-1,50] + actions[t-1,56] + actions[t-1,62] + actions[t-1,69] + actions[t-1,75] + actions[t-1,81] + actions[t-1,85] + actions[t-1,90] + actions[t-1,95] + actions[t-1,100] + actions[t-1,105] + actions[t-1,110] + actions[t-1,115] + actions[t-1,120] + actions[t-1,125] - predel_4[t,3] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,16] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,22] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,28] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,34] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,40] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,46] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,52] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,58] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,64] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,69] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,75] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,81] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,88] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,93] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,98] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,103] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,108] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,113] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,118] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,123] - add_4[t,4] <= 0); constraint forall (t in 1..T)( actions[t-1,128] - add_4[t,4] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,16] + actions[t-1,22] + actions[t-1,28] + actions[t-1,34] + actions[t-1,40] + actions[t-1,46] + actions[t-1,52] + actions[t-1,58] + actions[t-1,64] + actions[t-1,69] + actions[t-1,75] + actions[t-1,81] + actions[t-1,88] + actions[t-1,93] + actions[t-1,98] + actions[t-1,103] + actions[t-1,108] + actions[t-1,113] + actions[t-1,118] + actions[t-1,123] + actions[t-1,128] - 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,15] + actions[t-1,21] + actions[t-1,27] + actions[t-1,33] + actions[t-1,39] + actions[t-1,45] + actions[t-1,51] + actions[t-1,57] + actions[t-1,63] + actions[t-1,70] + actions[t-1,76] + actions[t-1,82] + actions[t-1,86] + actions[t-1,91] + actions[t-1,96] + actions[t-1,101] + actions[t-1,106] + actions[t-1,111] + actions[t-1,116] + actions[t-1,121] + actions[t-1,126] - predel_4[t,4] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,17] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,23] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,29] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,35] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,41] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,47] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,53] - 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,65] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,70] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,76] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,82] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,89] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,94] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,99] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,104] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,109] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,114] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,119] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,124] - add_4[t,5] <= 0); constraint forall (t in 1..T)( actions[t-1,129] - add_4[t,5] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,17] + actions[t-1,23] + actions[t-1,29] + actions[t-1,35] + actions[t-1,41] + actions[t-1,47] + actions[t-1,53] + actions[t-1,59] + actions[t-1,65] + actions[t-1,70] + actions[t-1,76] + actions[t-1,82] + actions[t-1,89] + actions[t-1,94] + actions[t-1,99] + actions[t-1,104] + actions[t-1,109] + actions[t-1,114] + actions[t-1,119] + actions[t-1,124] + actions[t-1,129] - 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,16] + actions[t-1,22] + actions[t-1,28] + actions[t-1,34] + actions[t-1,40] + actions[t-1,46] + actions[t-1,52] + actions[t-1,58] + actions[t-1,64] + actions[t-1,71] + actions[t-1,77] + actions[t-1,83] + actions[t-1,87] + actions[t-1,92] + actions[t-1,97] + actions[t-1,102] + actions[t-1,107] + actions[t-1,112] + actions[t-1,117] + actions[t-1,122] + actions[t-1,127] - predel_4[t,5] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,18] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,24] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,30] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,36] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,42] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,48] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,54] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,60] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,66] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,71] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,77] - add_4[t,6] <= 0); constraint forall (t in 1..T)( actions[t-1,83] - add_4[t,6] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,18] + actions[t-1,24] + actions[t-1,30] + actions[t-1,36] + actions[t-1,42] + actions[t-1,48] + actions[t-1,54] + actions[t-1,60] + actions[t-1,66] + actions[t-1,71] + actions[t-1,77] + actions[t-1,83] - add_4[t,6] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,6] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,6] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,17] + actions[t-1,23] + actions[t-1,29] + actions[t-1,35] + actions[t-1,41] + actions[t-1,47] + actions[t-1,53] + actions[t-1,59] + actions[t-1,65] + actions[t-1,72] + actions[t-1,78] + actions[t-1,84] + actions[t-1,88] + actions[t-1,93] + actions[t-1,98] + actions[t-1,103] + actions[t-1,108] + actions[t-1,113] + actions[t-1,118] + actions[t-1,123] + actions[t-1,128] - predel_4[t,6] = 0); % C5 constraint forall (t in 1..T)( actions[t-1,72] - add_4[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,78] - add_4[t,7] <= 0); constraint forall (t in 1..T)( actions[t-1,84] - add_4[t,7] <= 0); % C6 constraint forall (t in 1..T) (0 + actions[t-1,72] + actions[t-1,78] + actions[t-1,84] - add_4[t,7] >= 0); % C7 % C8 constraint forall (t in 1..T) (0 - del_4[t,7] >= 0); % C9 % C10 constraint forall (t in 1..T) (0 - preadd_4[t,7] >= 0); % C11 constraint forall (t in 1..T) (0 + actions[t-1,18] + actions[t-1,24] + actions[t-1,30] + actions[t-1,36] + actions[t-1,42] + actions[t-1,48] + actions[t-1,54] + actions[t-1,60] + actions[t-1,66] + actions[t-1,89] + actions[t-1,94] + actions[t-1,99] + actions[t-1,104] + actions[t-1,109] + actions[t-1,114] + actions[t-1,119] + actions[t-1,124] + actions[t-1,129] - predel_4[t,7] = 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); array[1..T*129] of var 0..1: actions_aux; constraint forall(i in 0..T-1, j in 1..129) (actions_aux[i*129+j] = actions[i,j]); solve :: int_search(actions_aux, input_order, indomain_min, complete) satisfy; %solve satisfy; output [name[i] ++ "\n" | t in 0..T-1, i in 1..129 where fix(actions[t,i]) == 1]