Orthogonal Latin Squares Possible toDo list 1. CP2002 Model Code up CP2002 model (using squares X, Y, and Z), with heuristics, and reproduce published results (this is essentially GLS2 + Solve2, but with static variable ordering, using X and Y as decision variables) 2. Many Mates Knowing that most latin squares have orthogonal mates, change variable ordering in model above such that we start by instantiating the latin square X, then proceed to find orthogonal mate in Y. It may be that since probability of a mate increases with n this approach will be a winner for large n 3. Decide on Z (GLS2 + Solve2) Using the CP2002 model use Z as decision variables using minDomain dvo (this is presently done in GLS2 + Solve2). 4. Simple Model (GLS3/4 + Solve3/4) Use the simple model that has only the square Z with one allDiff constraint and constraints between Z variables in same row and column, using div and mod operators. NOTE: Z[i][j] = k where pair (k/n,k%n) is on position (i,j). This has been implemented as GLS3 + Solve3 and presently does not use the magic square constraint. GLS4 + Solve4 is GLS3+Solve3 with the magic square constraint. 5. Dual Models (OLSa) The above model can be viewed from an other perspective where Z[i][j] = k corresponds to the pair (i,j) being in position (k/n,k%n). Therefore we can have two square arrays W and Z where W is the dual of Z and we have channeling constraints. This is essentially two simple models from 4 above with channeling (and has been coded as OLSa). 6. Magic Square Constraint (in many models) We know that in all our models the sum of a row and the sum of a column is a constant. Incorporate this constraint into all models to measure effect. NOTE: GLS2, GLS4, and OLSa both use this at present, but GLS3 does not. 7. Rich Dual Model (GLS2 + Solve2 + OLSa -> OLSb) Implement a rich dual model using variable W, X, Y and Z where W is the dual of Z. This sounds like what Barbara has already done, and can be derived from GLS3 and OLSa, to give OLSb) 8. Local Search and/or LDS We might take one of these models and code it up in COMET and use a minConflicts heuristic embedded in a Tabu Search. This might allow us to push to really LARGE problems. Again, the argument is that n increases orthogonal mates become easier to find and a complete search might get bogged down. Alternatively we might use LDS as experiments suggest that LDS does well on very soluble instances. 9. MIP A 0/1 encoding was proposed in the CP2002 paper. This might be reproduced in SCIP (within COMET). Patrick 22/11/2010