Constraint programming is a powerful tool for solving complex or computationally non-trivial problems. Providing a backbone model for these mathematically formulated problems, in this case the Magic Square with water retention capabilities, makes this tool more available to those who otherwise do not have the prerequisite experience, thus widening the field of use beyond current institutions.
A Magic Square is a matrix where each cell has a value ranging from one to the number of cells. These values may only appear once in the matrix, and they must be placed such that the summation of each row, column, and major diagonal is the same. The water retention capacity of a Magic Square is the volume that can be contained in this matrix if each index value is treated as a height.
The model has been constructed using the Comet 2.1.0 software platform, based on a Local Search algorithm, since the problem search space increases too rapidly for a systematic search solution via Gecode. Furthermore, two example constraints have been included beyond the scope of the basic solver.
Source: Uppsala University
Author: Baltzer, Nicholas