Lines Matching refs:queens

83         IntVar queens[] = new IntVar[numberQ];  in modelBasic()  local
88 queens[i] = new IntVar(store, "Q" + (i + 1), 1, numberQ); in modelBasic()
89 vars.add(queens[i]); in modelBasic()
94 for (int i = 0; i < queens.length; i++) in modelBasic()
96 store.impose(new XneqY(queens[i], queens[j])); in modelBasic()
99 for (int i = 0; i < queens.length; i++) in modelBasic()
100 for (int j = i + 1; j < queens.length; j++) { in modelBasic()
112 store.impose(new XplusCeqZ(queens[j], j - i, temporary)); in modelBasic()
113 store.impose(new XneqY(queens[i], temporary)); in modelBasic()
118 store.impose(new XplusCeqZ(queens[j], -(j - i), temporary)); in modelBasic()
119 store.impose(new XneqY(queens[i], temporary)); in modelBasic()
137 IntVar queens[] = new IntVar[numberQ]; in modelChanneling() local
140 queens[i] = new IntVar(store, "Q" + (i + 1), 1, numberQ); in modelChanneling()
141 vars.add(queens[i]); in modelChanneling()
144 store.impose(new Alldiff(queens)); in modelChanneling()
146 IntVar[] diagonalUp = new IntVar[queens.length]; in modelChanneling()
147 IntVar[] diagonalDown = new IntVar[queens.length]; in modelChanneling()
149 diagonalUp[0] = queens[0]; // diagonal like this / in modelChanneling()
150 diagonalDown[0] = queens[0]; // diagonal like this \ in modelChanneling()
152 for (int i = 1; i < queens.length; i++) { in modelChanneling()
155 store.impose(new XplusCeqZ(queens[i], i, diagonalUp[i])); in modelChanneling()
158 store.impose(new XplusCeqZ(queens[i], -i, diagonalDown[i])); in modelChanneling()
180 store.impose(Element.choose(queensRows[i], queens, values[i])); in modelChanneling()
193 IntVar queens[] = new IntVar[numberQ]; in model() local
196 queens[i] = new IntVar(store, "Q" + (i + 1), 1, numberQ); in model()
197 vars.add(queens[i]); in model()
206 store.impose(new Alldiff(queens)); in model()
208 IntVar[] diagonalUp = new IntVar[queens.length]; in model()
209 IntVar[] diagonalDown = new IntVar[queens.length]; in model()
211 diagonalUp[0] = queens[0]; // diagonal like this / in model()
212 diagonalDown[0] = queens[0]; // diagonal like this \ in model()
214 for (int i = 1; i < queens.length; i++) { in model()
222 store.impose(new XplusCeqZ(queens[i], i, diagonalUp[i])); in model()
225 store.impose(new XplusCeqZ(queens[i], -i, diagonalDown[i])); in model()