A partial Latin square (PLS) is a partial assignment of n symbols to an nxn
grid such that, in each row and in each column, each symbol appears at most
once. The partial Latin square extension problem is an NP-hard problem that
asks for a largest extension of a given PLS. In this paper we propose an
efficient local search for this problem. We focus on the local search such that
the neighborhood is defined by (p,q)-swap, i.e., removing exactly p symbols and
then assigning symbols to at most q empty cells. For p in {1,2,3}, our
neighborhood search algorithm finds an improved solution or concludes that no
such solution exists in O(n^{p+1}) time. We also propose a novel swap
operation, Trellis-swap, which is a generalization of (1,q)-swap and
(2,q)-swap. Our Trellis-neighborhood search algorithm takes O(n^{3.5}) time to
do the same thing. Using these neighborhood search algorithms, we design a
prototype iterated local search algorithm and show its effectiveness in
comparison with state-of-the-art optimization solvers such as IBM ILOG CPLEX
and LocalSolver.Comment: 17 pages, 2 figure