Constructing Magic Squares: an integer linear programming model and a fast heuristic (2504.20017v2)
Abstract: Magic squares are a fascinating mathematical challenge that has intrigued mathematicians for centuries. Given a positive (and possibly large) integer $n$, one of the main challenges that still remains is to find, within a reliable computational time, a magic square of order $n$, that is, a square matrix of order $n$ with unique integers from $a_{\min}$ to $a_{\max}$, such that the sum of each row, column, and diagonal equals a constant $\mathcal{C}(A)$. In this work, we first present an Integer Linear Programming (ILP) model for constructing a magic square of order $n$, which is formulated as a feasibility problem. Nonetheless, the solution time of this ILP model grows exponentially as the order increases. To overcome this limitation, we also propose a heuristic that constructs magic squares depending on whether $n$ is odd, singly even, or doubly even. Our numerical results show that the proposed heuristic can construct magic squares of order up to $70000$ in less than $140$ seconds, demonstrating its efficiency and scalability.