<figure><img src="image_1.png" /></figure>

HAL
open science

# Solving the Latin Square Completion Problem by Memetic Graph Coloring

Yan Jin, Jin-Kao Hao

► To cite this version:

Yan Jin, Jin-Kao Hao. Solving the Latin Square Completion Problem by Memetic Graph Coloring. IEEE Transactions on Evolutionary Computation, 2019, 23 (6), pp.1015-1028. 10.1109/TEVC.2019.2899053. [hal-02418356](https://hal.science/hal-02418356)

HAL Id: hal-02418356

https://hal.science/hal-02418356

Submitted on 15 Jun 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Solving the Latin Square Completion Problem
by Memetic Graph Coloring

Yan Jin and Jin-Kao Hao*

*Abstract*—The Latin square completion (LSC) problem involves completing a partially filled Latin square of order *n* by assigning numbers from 1 to *n* to the empty grids such that each number occurs exactly once in each row and each column. LSC has numerous applications and is, however, NP-complete. In this paper, we investigate an approach for solving LSC by converting an LSC instance to a domain-constrained Latin square graph and then solving the associated list coloring problem. To be effective, we first employ a constraint propagation-based kernelization technique to reduce the graph model and then call for a dedicated memetic algorithm to find a legal list coloring. The population-based memetic algorithm combines a problem-specific crossover operator to generate meaningful offspring solutions, an iterated tabu search procedure to improve the offspring solutions, and a distance-quality-based pool updating strategy to maintain a healthy diversity of the population. Extensive experiments on more than 1800 LSC benchmark instances in the literature show that the proposed approach can successfully solve all the instances, surpassing the state-of-the-art methods. To our knowledge, this is the first approach achieving such a performance for the considered problem. We also report computational results for the related partial Latin square extension problem.

*Index Terms*—Graph coloring, Latin square completion (LSC), list coloring, memetic search, tabu search (TS).

## I. INTRODUCTION

A LATIN square $\mathcal{L}$ of order $n$ is composed of $n \times n$ grids (or cells) such that each grid is filled with a number in $\{1, \dots, n\}$ ($n \in \mathbb{N}^+$) and each number occurs in each row and each column exactly once. If some grids of $\mathcal{L}$ remain unfilled (or empty), $\mathcal{L}$ is a partial Latin square. The Latin square completion (LSC) problem of order $n$ involves completing the empty grids of a partial Latin square with numbers in $\{1, \dots, n\}$ to obtain a legal Latin square.

LSC was first studied by Hall [19] and Ryser [37], and was known to be NP-complete in the general case [1], [8], [11]. LSC can be considered as a special case of the partial Latin

square extension (PLSE) problem, which is to assign numbers in $\{1, \dots, n\}$ to as many empty grids as possible under the condition that each number has to occur at most once in each row and each column. Both LSC and PLSE arise naturally in a variety of practical applications, such as scheduling, optical routing, error correcting codes as well as combinatorial design [3], [9], [16], [26], [29].

Given their theoretical and practical importance, a number of studies on LSC and PLSE have been reported in the literature. For instance, in 1999, Kumar *et al.* [26] proposed two approximation algorithms for PLSE with nontrivial worst-case performance guarantees. In 2002, Gomes and Shmoys [17] studied three complete solution methods for solving LSC: 1) a constraint satisfaction-based approach (CSP); 2) a hybrid 0/1 linear programming/CSP-based strategy (LP/CSP); and 3) a Boolean satisfiability-based approach (SAT). In 2004, Ansótegui *et al.* [2] focused on a systematic comparison of SAT and CSP models for the Latin square (quasigroup) completion problem. In 2004, Gomes *et al.* [18] presented a natural randomized rounding algorithm based on a packing linear programming relaxation, which yields an $e/(e-1)$-approximation algorithm. These algorithms are able to solve small LSC instances within a reasonable time, but fail to solve most of the large and hard instances. Recently in 2016, Haraguchi [21] introduced several powerful iterated local search algorithms with multiple neighborhoods to solve PLSE as well as LSC. Assessed on a large set of 1800 instances of various sizes and characteristics, these local search algorithms showed state-of-the-art performances. In particular, the Trellis-neighborhood search algorithm (Tr-ILS*) proves to outperform other tested ILS variants and two general optimization solvers (IBM-ILOG CPLEX and LocalSolver). The instances and the associated results presented in [21] will be used as the main references for our computational studies.

Despite much research effort dedicated to LSC and the resulting advances, there are still very few methods that are able to solve the problem effectively. For instance, no existing algorithm can find a solution for some traditional instances tested in [17] and many new instances introduced by Haraguchi [21]. It is thus quite useful and challenging to devise a method able to solve large and difficult instances.

In this paper, we investigate for the first time a solution method for solving LSC by converting the problem to a particular graph coloring problem (i.e., precoloring extension [5], then list coloring [12], [28]). With reference to the particular features of the resulting coloring model, we propose a memetic coloring algorithm (MMCOL) to solve it. Note that

Y. Jin is with the School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China (e-mail: yanjin.china@hotmail.com).

J.-K. Hao is with the Department of Computer Science, LERIA, University of Angers, 49045 Angers, France, and also with the Institut Universitaire de France, 75231 Paris, France (e-mail: jin-hao.hao@univ-angers.fr).
as a heuristic, if MMCOL finds a legal coloring for a given LSC instance, then the problem is solved. Otherwise, it says nothing about whether the LSC instance is solvable or not.

We summarize the contributions of this paper as follows.

First, from a perspective of solution method, the proposed approach considers the LSC problem as a particular graph coloring problem. In this approach, we start by converting an LSC instance to a domain-constrained Latin square graph (Section II-A). Then, we reduce the graph model by applying a constraint propagation-based kernelization technique (Section II-B), leading to an instance of the list coloring problem. Finally, we seek a legal list coloring of the graph by running a dedicated memetic algorithm (Section III). The kernelization technique recursively uses constraint propagation to remove the vertices with a fixed color (corresponding to filled grids). The memetic algorithm adapts ideas from graph coloring algorithms to effectively solve the underlying list coloring problem. In particular, the algorithm integrates a problem-specific crossover to generate promising offspring solutions, an effective iterated tabu search (ITS) procedure to improve each offspring solution, and a distance-and-quality-based pool updating strategy to ensure a healthy diversity of the population.

Second, from a perspective of computational performance, we provide experimental results on a large number of LSC benchmark instances available in the literature (over 1800 in total, including 19 traditional benchmark instances from [17] and 1800 new instances from [21]) and show comparisons with various state-of-the-art approaches, including four recent iterated local search algorithms, general ILP and exact CP solvers, and a general heuristic solver. While the reference approaches can only solve a subset of the tested instances, our approach is able to solve all the instances consistently. Such a performance has never been reported in the literature, demonstrating the high effectiveness of considering LSC as a graph coloring problem and using the proposed population-based memetic algorithm to color Latin square graphs. We also adapt the method to the general PLSE problem and report computational results on additional 1800 PLSE benchmark instances from [21].

Third, and more generally, the proposed method can be used to solve the list coloring and precoloring extension problems, which are relevant graph models both in theory and in practice [28]. Indeed, for these two important coloring problems, although the literature offers many theoretical studies on specific graphs, we are not aware of any dedicated and effective algorithm able to handle large graphs. This paper thus fills in this gap. Moreover, since precoloring extension and list coloring are useful models to formulate various applications, our method can be applied in these practical settings as well.

The rest of this paper is organized as follows. Section II describes the converted graph coloring model. Section III presents the proposed MMCOL algorithm. Section IV reports computational results obtained with the proposed method and provides comparisons with state-of-the-art algorithms. Section V shows an analysis of two key components of the method, followed by concluding comments in the last section.

The Appendix reports computational results of the proposed method on the related PLSE problem.

## II. LATIN SQUARE COMPLETION AND GRAPH COLORING

### A. Partial Latin Square and Latin Square Graph

Let $\mathcal{P}$ be a partial Latin square with $n \times n$ grids, an associated graph $G = (V, E)$, called Latin square graph, can be conveniently defined with the vertex set $V = \{\{1, \dots, n\} \times \{1, \dots, n\} \} (|V| = n^2)$ representing the grids and edge set $E (|E| = n^2(n-1))$ where $\{u, v\} \in E$ if and only if $u$ and $v$ represent two grids of the same row or column [6]. Then the LSC problem is equivalent to find a legal $n$-coloring of the associated Latin square graph $G$ by using the colors $\{1, \dots, n\}$ as follows. Let $D(v)$ denote the color domain of vertex $v$ of the graph. Obviously, if $v$ corresponds to a grid already filled with number $k$ ($k \in \{1, \dots, n\}$), $D(v)$ is a singleton domain $\{k\}$; otherwise, $D(v)$ is initially set to $\{1, \dots, n\}$. The above coloring problem is the so-called precoloring extension problem [5], where some vertices have a fixed color and the remaining vertices are to be assigned a color in $\{1, \dots, n\}$.

Note that a legal $n$-coloring of $G$ can also be defined as a partition of $V$ into $n$ color classes $V_1, \dots, V_n$ such that $\forall u, v \in V_i$ ($i = 1, \dots, n$), $\{u, v\} \notin E$ holds. Basically, in order to legally complete a partial Latin square, each color class must contain exactly $n$ vertices when all the grids are filled. Let $|V_i|$ be the cardinality of color class $V_i$ ($i = 1, \dots, n$), we use $|R_i| = n - |V_i|$ to denote the residual capacity of color class $V_i$.

Fig. 1 shows a partial Latin square of order 3, with two filled grids and seven empty grids [Fig. 1(a)] and the corresponding domain-constrained graph $G$ with nine vertices and 18 edges [Fig. 1(b)]. Let $\mathcal{L}_{xy}$ represent the grid with $x$th row and $y$th column, then the connection between $\mathcal{L}_{xy}$ and its corresponding vertex $v_i$ is given by $i = (x-1) \times n + y$. The objective is to find a legal three-coloring of the associated $G$ by using the colors $\{1, 2, 3\}$. The vertices with the blue and red colors (indicated by colors 1 and 2, respectively) represent the filled grids in Fig. 1(a) while the black vertices represent the empty grids. In this example, $D(v_3) = \{1\}$ and $D(v_6) = \{2\}$ while the color domain of each uncolored vertex is $D(v_i) = \{1, 2, 3\}$ ($i = 1, 2, 4, 5, 7, 8, 9$). The residual capacities of $V_1-V_3$ are 2, 2, and 3, respectively ($|R_1| = 2, |R_2| = 2$, and $|R_3| = 3$). Now, completing the partial Latin square is equivalent to finding a legal coloring of the graph by assigning a color in $\{1, 2, 3\}$ to each uncolored vertex of $G$.

One notices that unlike the general graph coloring problem, the precoloring extension problem associated to a Latin square graph has a specific feature. That is, if a vertex $v$ of the graph represents a grid already filled with $k \in \{1, \dots, n\}$, $v$ has a singleton color domain $D(v) = \{k\}$ and thus receives definitively the unique color $k$. Moreover, this color is forbidden for any vertex $u$ adjacent to $v$ and should be excluded from the color domain $D(u)$. From a perspective of graph coloring, we can beneficially use this property to perform a preprocessing of the graph to obtain a reduced graph and then color the reduced graph instead of the initial Latin square graph.
<figure><img src="image_3.png" /><figcaption>Fig. 1. Illustrative example of converting a (a) partial Latin square to a (b) domain-constrained Latin square graph.</figcaption></figure>

**Algorithm 1 Preprocessing Procedure for Graph Reduction**

**Require:** A Latin square graph $G = (V, E)$ with some vertices already colored, each vertex $v$'s color domain $D(v)$ ($v \in V$)

**Ensure:** A reduced graph

1. **while** $\exists$ a vertex $v \in V$ with singleton color domain $D(v) = \{k\}$ **do**

2. Pick such a vertex $v \in V$ with $D(v) = \{k\} \parallel v$ is colored by $k$

3. $V \leftarrow V \setminus \{v\} \parallel$ Remove this colored vertex $v$ from the graph

4. $E \leftarrow E \setminus \{\{u, v\} \in E\} \parallel$ Remove the edges linked to $v$

5. **for** each uncolored $u \in V$ adjacent to $v$ **do**

6. $D(u) \leftarrow D(u) \setminus \{k\} \parallel$ Remove color $k$ from the color domain $D(u)$

7. **end for**

8. **end while**

9. **return** $G = (V, E)$

## B. Preprocessing to Simplify the Latin Square Graph

The preprocessing procedure (Algorithm 1) aims to reduce the given Latin square graph by using the colored vertices (i.e., those with a singleton color domain). For this purpose, we apply a kernelization technique based on constraint propagation [36] as follows. We first remove the precolored vertices (corresponding to the filled grids) as well as the edges connected to a colored vertex. Moreover, considering the coloring constraint stating that two adjacent vertices cannot receive the same color, once a vertex $v$ receives color $k$, $k$ is forbidden for any adjacent vertex $u$ and can be safely removed from its color domain $D(u)$. If the color domain of a vertex $u$ becomes a singleton, vertex $u$ definitively receives the unique color. Since vertex $u$ is now a colored vertex, it can be used to further reduce the graph. This process is repeated until no color domain can be reduced. Notice that if the color domain of a vertex is reduced to the empty set during the preprocessing procedure, then the given LSC instance has no solution, i.e., it cannot be fully completed.

Consider again the example of Fig. 1. After applying the preprocessing to the Latin square graph in Fig. 2(a), we obtain the reduced graph shown in Fig. 2(b). In this particular case,

since $v_9$ is connected to the two colored vertices $v_3$ and $v_6$, the colors 1 and 2 are removed from the color domain of $v_9$, causing $D(v_9)$ to become a singleton $\{3\}$. As a result, $v_9$ receives the unique color 3. The color domains of other vertices adjacent to $v_3$, $v_6$, or $v_9$ are also reduced, leading to the graph of Fig. 2(b) with $D(v_1) = D(v_2) = \{2, 3\}$, $D(v_4) = D(v_5) = \{1, 3\}$, and $D(v_7) = D(v_8) = \{1, 2\}$.

In terms of graph coloring, a reduced Latin square graph like Fig. 2(b) is a domain-constrained graph because the permissible colors of a vertex are limited to a list of colors in $\{1, \dots, n\}$ [instead of the whole set $\{1, \dots, n\}$]. In fact, the underlying coloring problem is the so-called list coloring problem [12], [28], which, like the classic vertex coloring problem, is NP-complete in the general case. Our literature review on list coloring indicates that no practical algorithm is currently able to color large graphs. Meanwhile, it is known that the list coloring problem can be transformed to the vertex coloring problem [28]. However, this transformation needs to create an auxiliary graph which is larger than the input graph by adding $k \ge n$ vertices and $\binom{k}{2}$ edges. Note that in the case of LSC, the Latin square graphs include already 2500–4900 vertices for $n = 50, 60, 70$ for the main benchmark instances tested in this paper. To our knowledge, few vertex coloring algorithms are able to effectively color graphs of these sizes given that the benchmark graphs from the well-known DIMACS Challenge (https://mat.gsia.cmu.edu/COLOR) are limited to 1000 vertices. For these reasons, we introduce below a dedicated algorithm specifically designed to solve the list coloring problem of Latin square graphs.

## III. MEMETIC ALGORITHM FOR COLORING LATIN SQUARE GRAPHS

We describe in this section the population-based memetic algorithm for coloring domain-constrained Latin square graphs, i.e., solving the associated list coloring problem where each vertex $v$ can only take a color from its given color domain $D(v)$.

### A. General Procedure

The proposed algorithm (called MMCOL, shown in Algorithm 2) follows the general memetic framework which
<figure><img src="image_4.png" /><figcaption>Fig. 2. Latin square graph of Fig. 1(b) and the residual Latin square graph obtained by the preprocessing procedure.</figcaption></figure>

**Algorithm 2** Graph Coloring Algorithm for LSC (MMCOL)

**Require:** A reduced Latin square graph $G = (V, E)$, the number of colors $n$, population size $p$, color domain $D(v)$ of each vertex $v \in V$

**Ensure:** The best $n$-coloring $c^*$ and $f^*$ found so far

1. Population_Initialization($P, p$); // Generate $p$ initial solutions of $G$, Sect. III-C

2. $c^* \leftarrow c$; // $c^*$ records the best coloring found so far

3. $f^* \leftarrow f(c^*)$; // $f^*$ records the smallest number of conflicting edges

4. **repeat**

5. $(P_1, P_2) \leftarrow \text{Selection}(P)$ // Select two parents at random for crossover

6. $o \leftarrow \text{MAGX}(P_1, P_2)$ // Crossover to get an offspring coloring, Sect. III-D

7. $o \leftarrow \text{ITS}(o)$ // Improve $o$ with an iterated local search procedure based on Tabucol and a relaxation-based perturbation, Sect. III-E

8. **if** $f(o) < f^*$ **then**

9. $c^* \leftarrow o$; $f^* \leftarrow f(o)$;

10. **end if**

11. Population_Updating($P, o$) // Use the improved offspring $o$ to update the population, Sect. III-F

12. **until** a stopping condition is met

13. **return** $f^*, c^*$

combines population-based evolutionary search and local optimization [7], [13], [31], [32]. One notices that memetic approaches have proved to be highly successful to solve graph coloring and partition problems [4], [14], [24], [27], [30], [33].

The algorithm takes a reduced Latin square graph $G$ as its input and tries to find a legal list coloring in the search space defined in Section III-B. For this purpose, the algorithm starts with an initial population [line 1 (Section III-C) in Algorithm 2]. Then, to find a legal $n$-coloring, MMCOL repeats a number of generations to improve the population until a stopping condition (limited to maxGenerations) is met. At each generation, MMCOL randomly selects two parent colorings from the population [line 5 (Section III-C)]

in Algorithm 2] and recombines them to generate an offspring coloring by a dedicated crossover operator [line 6 (Section III-D) in Algorithm 2]. This offspring coloring is then improved by an ITS procedure [line 7 (Section III-E) in Algorithm 2]. Finally, the improved offspring is used to update the population according to an updating strategy based on a distance-quality criterion [line 11 (Section III-F) in Algorithm 2]. During the memetic search process, if a legal coloring is found, MMCOL stops and returns the legal coloring found.

## B. Search Space and Evaluation Function

Let $G = (V, E)$ be a Latin square graph with $L$ vertices $\{v_1, \dots, v_L\}$ and color domains $D(v_i) \subseteq \{1, \dots, n\}$ ($i = 1, \dots, L$). Our MMCOL algorithm explores the following space $C$ of candidate list colorings:

$$C = \{c : V \to \{1, \dots, n\} : c(v_i) \in D(v_i), i = 1, \dots, L\}.$$

Given a candidate coloring $c$ in $C$, if $c(u) = c(v)$ and $\{u, v\} \in E$ (i.e., two adjacent vertices $u$ and $v$ receive the same color), then $\{u, v\}$ is a conflicting edge in $c$ while $u$ and $v$ are called conflicting vertices. To assess the quality of the coloring $c$, we use the evaluation or fitness function $f$ given in Equation (1), which counts the number of conflicting edges in $c$

$$f(c) = \sum_{\{i,j\} \in E} \max\{0, 1 - |c(v_i) - c(v_j)|\}. \quad (1)$$

Consequently, if $f(c) = 0$, $c$ is conflict-free and identifies a legal list coloring. Otherwise ($f(c) > 0$), $c$ is an illegal coloring with conflicting edges. For two candidate solutions $c_1$ and $c_2$, $c_1$ is considered to be better than $c_2$ if $f(c_1) < f(c_2)$ ($c_1$ contains fewer conflicting edges).

Given the above evaluation function, the objective of our memetic algorithm is to find a legal (conflict-free) list coloring in the search space $C$ by minimizing $f$.

## C. Population Initialization

The MMCOL algorithm applies a randomized coloring strategy to create the initial population $P$ that is composed of $p$ colorings sampled in $C$ ($p$ is the population size and
set to 20 in this paper). Let $G = (V, E)$ be the given graph with $V = \{v_1, \dots, v_L\}$ and $D(v_i) \subseteq \{1, \dots, n\}$ ($i = 1, \dots, L$). To build an initial coloring of $G$, we iteratively select an uncolored vertex $v$ at random and then assign it a random color $k$ from its color domain $D(v)$. Such an initial solution can be obtained very quickly in $O(L)$, but may involve a high number of conflicting edges. To obtain an initial coloring of reasonable quality, we improve this solution by the local optimization procedure (see Section III-E) and then insert the improved solution into the population if the solution does not exist in $P$. Otherwise, the solution is discarded and a new solution is generated. This initialization process is repeated until the population is filled up with $p$ different colorings.

### D. Crossover Operator

Recombination is an important component of our MMCOL algorithm that aims to transmit meaningful features from parents to offspring solutions [20]. For the conventional graph coloring problem, the greedy partition crossover (GPX) [14] is known to be highly effective. However, given that list coloring graphs have restricted color domains (instead of the set $\{1, \dots, n\}$), GPX cannot be applied directly in the context of the list coloring problem. On the other hand, the key idea of GPX, i.e., inheriting large color classes, is of interest even in the case of list coloring. As a result, we propose an adaptation of GPX by taking into account the constrained color domains of our graphs. This leads to our maximum approximate group-based crossover (MAGX) for Latin square graph coloring.

The proposed MAGX crossover operator generates one offspring solution from two randomly selected parent solutions (see Algorithm 3). Let $P_1 = \{V_1^1, \dots, V_n^1\}$ and $P_2 = \{V_1^2, \dots, V_n^2\}$ be the parent solutions, MAGX generates, in three phases, the offspring solution $o = \{V_1^o, \dots, V_n^o\}$, where each $V_i^o$ ($i = 1, \dots, n$) is initially set to empty.

First, MAGX builds a number of color classes of $o$ by inheriting color classes from the parent solutions. To build a new color class, MAGX selects, among the color classes of both $P_1$ and $P_2$, one largest class (call it $V_i^b$) such that its cardinality does not exceed the residual capacity $R_i$ of the corresponding color class (line 3 in Algorithm 3). MAGX then uses $V_i^b$ to form the new color class $V_i^o$ and removes the vertices of $V_i^b$ from both parent solutions (lines 4–6 in Algorithm 3). One notices that the color class whose cardinality is larger than its residual capacity must contain conflicting vertices. So, a color class whose cardinality is equal to (or slightly smaller than) the residual capacity is preferred in order to obtain a offspring class without conflicts. Moreover, unlike the general coloring problem where the colors are interchangeable during the recombination operation (like GPX of [14] does), for our list coloring problem of Latin square graphs, each color class of the offspring must inherit the color of the selected parent due to the constrained color domains of the vertices.

Second, for each color $j$ such that $V_j^o = \emptyset$ in $o$, if $V_j^1$ and $V_j^2$ share common vertices, these vertices are used to form the color class $V_j^o$ of the offspring.

### Algorithm 3 Pseudo-Code of the MAGX Crossover Operator

**Require:** Parent solutions $P_1 = \{V_1^1, \dots, V_n^1\}$, $P_2 = \{V_1^2, \dots, V_n^2\}$, and color domain $D(v)$ of each vertex $v \in V$

**Ensure:** An offspring solution $o = \{V_1^o, \dots, V_n^o\}$

1. $g \leftarrow 0$ // Count the number of color classes already built in $o$

2. **while** $g < n$ **do**

3. Identify from parents ($P_1$ and $P_2$) the largest color class $V_i^b$ ($b = 1$ or 2) satisfying $|V_i^b| \le |R_i|$ and color class $V_i^o$ is empty

4. $V_i^o \leftarrow V_i^b$ // Color class $V_i^b$ is transmitted to the offspring

5. Remove the vertices of $V_i^b$ from $P_1$ and $P_2$

6. $g \leftarrow g + 1$

7. **end while**

8. **for** each empty color class $V_i^o$ in $o$ **do**

9. $V_i^o \leftarrow V_i^1 \cap V_i^2$ // For the residual vertices, transmit the vertices that share the same color in both parents

10. **end for**

11. **for** each uncolored $v \in V$ in $o$ **do**

12. $v$ is randomly assigned a color from its color domain $D(v)$

13. **end for**

14. **return** $o$

Third, for each vertex $v$ missing in $o$, $v$ is assigned a random color class in its color domain $D(v)$.

At this stage, a complete offspring solution $o$ is obtained. In case that the offspring is the same as one of the parent solutions (this rarely happens), MAGX applies a slightly different strategy for the first phase such that the largest color class is selected by considering alternatively $P_1$ and $P_2$ (instead of considering simultaneously $P_1$ and $P_2$). Since the three phases have a time complexity of $O(n^2)$, $O(n)$, and $O(n^2)$, respectively, the time complexity of the MAGX crossover is bounded by $O(n^2)$.

Fig. 3 shows an illustration example of the MAGX crossover. This example involves a Latin square graph of order 3 ($n = 3$) with nine vertices $a, b, c, d, e, f, g, h$, and $i$ to be assigned to three color classes $V_1-V_3$. Suppose that the color domains $D(a) = D(c) = D(g) = \{1, 3\}$, $D(h) = \{1, 2\}$, and $D(x) = \{1, 2, 3\}$ for $x \in \{b, d, e, f, i\}$. At the beginning, no color class exists in $o$, so $|R_i| = 3$ ($i = 1, 2, 3$). In the first step, $V_2 = \{d, e, f\}$ of $P_1$ is identified as the largest color class whose $|V_2| \le |R_2|$ and $V_2$ of the offspring $o$ is empty. Thus, this color class $\{d, e, f\}$ becomes the color class $V_2$ of the offspring and the vertices $d, e$, and $f$ are removed from both $P_1$ and $P_2$. Notice that due to the fact that vertices may have different color domains, the vertices of the inherited color class $\{d, e, f\}$ of $o$ receives the same color as the donor parent (here color 2). Similarly, $V_3 = \{b, c, i\}$ and $V_1 = \{a, g\}$ of $P_2$ are inherited as color classes $V_3$ and $V_1$ of $o$. After these operations, vertex $h$ is still missing in $o$. Since this vertex belongs to different classes in $P_1$ and $P_2$, $h$ is assigned a random color class from its color domain $D(h) = \{1, 2\}$.
<figure><img src="image_5.png" /></figure>

<figure><img src="image_6.png" /></figure>

<figure><img src="image_7.png" /></figure>

<figure><img src="image_8.png" /></figure>

<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /></figure>

<figure><img src="image_11.png" /></figure>

<figure><img src="image_12.png" /><figcaption>Fig. 3. Illustration of the first phase of the MAGX crossover operator (lines 2–7 in Algorithm 3).</figcaption></figure>

### E. Iterated Tabu Search Procedure

The ITS procedure (Algorithm 4) takes an offspring solution $c$ generated by the MAGX crossover operator as its input and tries to improve its quality in terms of fitness function $f$ (Equation (1), Section III-B). For this purpose, ITS iterates between a tabu search (TS) procedure followed by a relaxation-based perturbation procedure to try to attain a legal coloring by resolving the conflicts (lines 3–13 in Algorithm 4). TS iteratively improves $c$ by recoloring conflicting vertices (see Section III-B). At the end of each TS run, if the conflicts are resolved, then a legal list coloring $c^*$ is found, and the whole search terminates immediately. If conflicts remain in the solution, ITS triggers a perturbation procedure to modify

the solution and then uses the modified solution as its starting solution for the next TS run (line 9 in Algorithm 4). ITS repeats the above process until a prefixed maximum number of iterations *maxLSIters* is reached or a legal coloring is obtained.

1) **Tabu Search-Based Coloring Procedure:** As its key optimization procedure, ITS uses the TS method [15] to improve a given illegal list coloring. Specifically, the TS procedure used in this paper is based on the implementations presented in [10] and [14] of the popular TabuCol algorithm for the conventional graph coloring problem [22]. Suppose that the solution $c$ is composed of $L$ vertices $\{v_1, v_2, \dots, v_L\}$ and each vertex $v_i$ receives a permissible color in its constrained color domain $D(v_i)$ ($i \in \{1, 2, \dots, L\}$). The TS procedure
**Algorithm 4 Pseudo-Code of ITS**

**Require:** A *n*-coloring *c*, depth of tabu search *α*, color domain *D*(v) of each vertex *v* ∈ *V*

**Ensure:** A legal coloring $c^*$

1. $c^* \leftarrow c$; // $c^*$ records the best solution found so far

2. $f^* \leftarrow f(c^*)$; // $f^*$ records the smallest number of conflicting edges

3. **repeat**

4. $(c, f) \leftarrow \text{TS}(c, \alpha)$; // Apply the tabu search procedure with search depth $\alpha$ to improve the input coloring $c$, see Sect. III-E1

5. **if** $f < f^*$ **then**

6. $c^* \leftarrow c$; $f^* \leftarrow f(c)$;

7. **end if**
// *c* is not legal coloring, trigger perturbation

8. **if** $f > 0$ **then**

9. $(c, f) \leftarrow \text{Perturbation_Procedure}(c)$; // Apply the perturbation procedure to locate at a promising region, see Sect. III-E2

10. **else**

11. **return** the legal coloring $c^*$;

12. **end if**

13. **until** $\text{maxLSIters}$ is reached

explores the space *C* composed of all possible colorings (see Section III-B) to seek a legal list coloring.

To improve the solution, TS iteratively makes transitions from the current solution *c* to one neighboring solution. To obtain a neighboring solution *c'* from solution *c*, TS displaces a conflicting vertex *v* from its current color class $V_i$ to another eligible color class $V_j$ such that $j \in D(v)$ [i.e., the current color *i* of vertex *v* is changed to a new permissible color *j* in *v*'s color domain $D(v)$]. Thus, *c* and *c'* differ only by the color of a conflicting vertex *v*. Since the color domains are bounded by *n*, the size of this neighborhood is bounded by $O(n_c \times n)$, where $n_c$ is the number of conflicting vertices in coloring *c*. At each iteration, TS selects among the eligible neighboring solutions the best neighbor $c'_b$ according to the evaluation function $f$ (Equation (1), Section III-B) and uses $c'_b$ to replace *c*. A neighboring solution is eligible if it is not forbidden by the tabu list (see the explanation below) or if it is better than the best recorded solution. Suppose that the selected neighboring solution is obtained by changing the color *i* of conflicting vertex *v*, ($v, i$) is recorded in the tabu list, indicating that vertex *v* is forbidden to receive the color *i* again for the next $\beta$ consecutive iterations ($\beta$ is called the tabu tenure). Following [10] and [14], $\beta$ is dynamically tuned by $\beta = 0.6*f(c)+\text{random}(10)$, where random (10) is a random number in $\{1, \dots, 10\}$. The TS procedure stops when its iteration counter reaches the given limit $\alpha$ ($\alpha$ is called the TS depth). The best solution *c* and the number of conflicting edges in *c* recorded during the search are returned as its output when the procedure terminates.

2) Relaxation-Based Perturbation: It is possible that no legal list coloring is found at the end of a TS run (see line 8 in Algorithm 4). In this case, the search is considered to be trapped in a local optimum and we trigger a relaxation-based perturbation procedure to escape from the trap.

<figure><img src="image_13.png" /><figcaption>Fig. 4. Relaxation-based perturbation.</figcaption></figure>

The overall procedure of the relaxation-based perturbation is illustrated in Fig. 4. Let $X \subset V$ be the set of conflicting vertices (i.e., each vertex of $X$ is involved in at least one conflicting edge in $c$). The perturbation procedure is performed in three steps.

1) Extract a subgraph $G'$ by randomly removing $\lceil|X|/2\rceil$ conflicting vertices along with the incident edges.

2) Improve the coloring on $G'$ using TS.

3) Construct a new coloring on $G$ by getting it back to $G$.

The perturbation procedure is based on the consideration that the conflicting vertices of the local optimum are critical vertices for obtaining a legal list coloring. Meanwhile, these are also difficult vertices for conflict resolution. By ignoring some of these difficult vertices, TS has a higher chance to resolve the conflicts of the relaxed subproblem, thus providing new search opportunity when the improved solution of the relaxed subproblem is added back to the ignored partial solution. Notice that, in case that the improved $c_p^*$ is not a legal coloring after the second step of the perturbation procedure, $c_p^*$ is still a high quality partial coloring which could be close to a complete solution. Using $c_p^*$ as its starting point to be extended, TS will explore a new search trajectory and hopefully encounters a legal coloring.

### F. Population Updating

In order to avoid premature convergence of our MMCOL algorithm, we apply a population updating strategy similar to those used in [24], [27], [33], and [38]. The adopted strategy simultaneously considers solution quality and diversity when using an offspring solution to update the population.

Given two list colorings $c_i$ and $c_j$, we use the so-called set-theoretic partition or transfer distance $D_{i,j}$ [34], [35] to measure the dissimilarity of $c_i$ and $c_j$, which is defined as the minimum number of vertices that need to be moved between color classes of $c_i$ to transform $c_i$ to $c_j$. The diversity between one solution and the entire population $P$ is given by $D_{i,P} = \min_{j \neq i}\{D_{ij}\}$. Furthermore, we define the goodness score of one *n*-colorings $c_i$ of $P$ in terms of both solution quality and diversity by $s(c_i) = f(c_i) + e^{0.08n^2/D_{i,P}}$, $\forall c_i \in P$ where $f(c_i)$ is the number of conflicting edges of $c_i$ [27]. A small (large) $s(c_i)$ value indicates a good (bad) solution with respect to the individuals of $P$. Given offspring $o$, the population $P$ is updated with $o$ according to the following procedure.

Step 1: Insert the offspring solution $o$ into $P$ and compute the score $s(c_i)$ of each individual $c_i$ of $P$.

Step 2: Identify the worst individual $c_w$ (i.e., with the largest value of the scoring function $s$) and second
worst individual $c_{sw}$ (with the second largest $s$ value).

Step 3: If $c_w$ is different from $o$, remove $c_w$ from $P$.

Step 4: If $c_w$ is $o$, remove $c_w$ with probability 0.8 and remove $c_{sw}$ with probability 0.2.

This updating strategy ensures that the individuals of the population are not only of high quality, but also sufficiently distanced. This property provides a basis for the random strategy used in our algorithm to select the parents for the crossover.

## IV. EXPERIMENTAL RESULTS

In this section, we assess the proposed approach by reporting computational results on the LSC problem and showing comparisons with state-of-the-art methods. We show in the Appendix additional results on the related PLSE problem.

### A. Benchmark Instances and Experimental Protocol

To evaluate the performance of the proposed approach for solving LSC, we carry out extensive experiments on the set of 1800 random LSC benchmark instances recently introduced in [21].<fnref n="1" /> These LSC benchmark instances (named as LSC-$n-r$) are evenly divided into 18 types ($n \in \{50, 60, 70\}$ and $r \in \{0.3, 0.4, 0.5, 0.6, 0.7, 0.8\}$), where $n$ is the order of the partial Latin square and $r$ ($r \in [0, 1]$) denotes the ratio of filled grids over the $n \times n$ grids. So each type ($n, r$) has 100 instances. These instances were generated by randomly removing $(1-r)n^2$ grids from an arbitrary legal Latin square. As a result, these LSC instances always admit a complete Latin square.

By converting these instances to Latin square graphs (see Section II-A), we obtain graphs with 2500-4900 vertices and 122 500-338 100 edges.<fnref n="2" /> To solve each instance, we first apply the preprocessing procedure of Section II-B to obtain a reduced list coloring graph which is then colored with the MMCOL algorithm. The preprocessing step takes typically from several seconds to dozens of seconds.

In addition to these 1800 random instances, we also assess our approach on the set of 19 traditional benchmark instances from the COLOR03 competition<fnref n="3" /> that were tested, for instance, [17] and [21].

MMCOL was coded in C++<fnref n="4" /> and compiled using g++ with the "-O3" option on a computer running Linux equipped with 2.83 GHz and 8-GB RAM. When running the DIMACS machine benchmark procedure "dfmax.c"<fnref n="5" /> on our machine, we obtain the following results: 0.20, 1.23, and 4.68 s for graphs r300.5, r400.5, and r500.5, respectively. The computational results reported in this section were obtained with the parameter setting shown in Table I.

In the following sections, we first show the results on the 19 traditional instances, and then present a comparative analysis of our computational results on the large set of 1800 benchmark instances with respect to the state-of-the-art results in

<table><caption>TABLE I
PARAMETER SETTING</caption><thead><tr><th>Parameter</th><th>Sect.</th><th>Description</th><th>Value</th></tr></thead><tbody><tr><td>maxLSIters</td><td>III-A</td><td>Maximum iterations of ITS procedure</td><td>100</td></tr><tr><td>maxGenerations</td><td>III-A</td><td>Maximum number of generations</td><td>100</td></tr><tr><td>p</td><td>III-C</td><td>population size</td><td>20</td></tr><tr><td>α</td><td>III-E</td><td>Depth of tabu search</td><td>10<sup>5</sup></td></tr></tbody></table>

<table><caption>TABLE II
COMPUTATIONAL RESULTS ON THE SET OF 19 TRADITIONAL BENCHMARK INSTANCES</caption><thead><tr><th rowspan="2">Name</th><th colspan="2">Instance</th><th colspan="2">MMCOL</th></tr><tr><th>n</th><th>r</th><th>SR</th><th>t(s)</th></tr></thead><tbody><tr><td>qwhdec.order5.holes10.1</td><td>5</td><td>0.60</td><td>30/30</td><td>0.00</td></tr><tr><td>qwhdec.order18.holes120.1</td><td>18</td><td>0.63</td><td>30/30</td><td>0.00</td></tr><tr><td>qg.order30</td><td>30</td><td>0.00</td><td>30/30</td><td>0.23</td></tr><tr><td>qwhdec.order30.holes316.1</td><td>30</td><td>0.65</td><td>30/30</td><td>0.19</td></tr><tr><td>qwhdec.order30.holes320.1</td><td>30</td><td>0.64</td><td>30/30</td><td>0.65</td></tr><tr><td>qg.order40</td><td>40</td><td>0.00</td><td>30/30</td><td>1.25</td></tr><tr><td>qg.order60</td><td>60</td><td>0.00</td><td>30/30</td><td>1.93</td></tr><tr><td>qg.order100</td><td>100</td><td>0.00</td><td>30/30</td><td>18.49</td></tr><tr><td>qwhdec.order35.holes405.1</td><td>35</td><td>0.67</td><td>30/30</td><td>24.80</td></tr><tr><td>qwhdec.order40.holes528.1</td><td>40</td><td>0.67</td><td>30/30</td><td>19.18</td></tr><tr><td>qwhdec.order60.holes1440.1</td><td>60</td><td>0.60</td><td>30/30</td><td>2.84</td></tr><tr><td>qwhdec.order60.holes1620.1</td><td>60</td><td>0.55</td><td>30/30</td><td>0.77</td></tr><tr><td>qwhdec.order70.holes2940.1</td><td>70</td><td>0.40</td><td>30/30</td><td>0.74</td></tr><tr><td>qwhdec.order70.holes2450.1</td><td>70</td><td>0.50</td><td>30/30</td><td>0.80</td></tr><tr><td>qwhdec.order33.holes381.bal.1</td><td>33</td><td>0.65</td><td>30/30</td><td>238.23</td></tr><tr><td>qwhdec.order50.holes825.bal.1</td><td>50</td><td>0.67</td><td>30/30</td><td>133.03</td></tr><tr><td>qwhdec.order50.holes750.bal.1</td><td>50</td><td>0.70</td><td>3/30</td><td>207.91</td></tr><tr><td>qwhdec.order60.holes1080.bal.1</td><td>60</td><td>0.70</td><td>5/30</td><td>397.94</td></tr><tr><td>qwhdec.order60.holes1152.bal.1</td><td>60</td><td>0.68</td><td>30/30</td><td>430.11</td></tr></tbody></table>

the literature. Given the stochastic nature of MMCOL, each instance was independently solved 30 times with different random seeds.

### B. Results on 19 Traditional Benchmark Instances

The computational results of MMCOL on the 19 traditional Latin square graphs are summarized in Table II. Columns 1-3 of Table II indicate the characteristics of each instance: the name, the Latin square order $n$, and the ratio $r$. Columns 4 and 5 present the success rate over 30 trials (SR) and the computation time over the successful runs $t(s)$ in seconds (a successful run means that a legal Latin square is attained for this run). From Table II, one observes that MMCOL can complete the partial Latin square for all the 19 instances. Besides, our MMCOL requires a very short computation time even for the large instances with $n \ge 50$. Moreover, the last five instances are critically constrained and fully “balanced,” where the number of empty grids is approximately the same over rows and columns. These instances are known to be particularly difficult [25] and only the two smallest ones of these five instances (qwhdec.order33.holes381.bal.1 and qwhdec.order50.holes825.bal.1) can be solved by very few approaches presented in [17] including CSP, hybrid strategy mixing LP/CSP, and SAT-based method. The difficulty of these instances are further confirmed by the most recent study reported in [21], where even the best performing heuristic Tr-ILS* [21] cannot solve any of these balanced instances. We also ran the source code of Tr-ILS* on our computer for a

<footnote n="1">¹Available at http://puzzle.haraguchi-s.otaru-uc.ac.jp/PLSE/.</footnote>

<footnote n="2">²Available at https://github.com/YanJINFR/Latin-Square-Completion.git.</footnote>

<footnote n="3">³Available at http://mat.gsia.cmu.edu/COLOR03/.</footnote>

<footnote n="4">⁴Available at http://www.info.univ-angers.fr/hao/lsc.html.</footnote>

<footnote n="5">⁵Available at ftp://dimacs.rutgers.edu/pub/dsj/clique/.</footnote>
<table><caption>TABLE III
COMPARATIVE RESULTS OF MMCOL WITH BEST-PERFORMING ALGORITHMS ON THE SET OF 1800 LSC BENCHMARK INSTANCES</caption><thead><tr><th colspan="2">Instance</th><th>CPX-IP</th><th>CPX-CP</th><th>LSSOL</th><th>1-ILS*</th><th>2-ILS</th><th>3-ILS</th><th>Tr-ILS*</th><th colspan="2">MMCOL</th></tr><tr><th>n</th><th>r</th><th>Inst#</th><th>Suc#</th><th>Suc#</th><th>Suc#</th><th>Suc#</th><th>Suc#</th><th>Suc#</th><th>Suc#</th><th>Suc#</th><th>t<sub>avg</sub>(s)</th></tr></thead><tbody><tr><td rowspan="8">50</td><td>0.3</td><td>100</td><td>9</td><td>94</td><td>10</td><td><b>100</b></td><td><b>100</b></td><td>95</td><td><b>100</b></td><td><b>100</b></td><td>0.22</td></tr><tr><td>0.4</td><td>100</td><td>3</td><td>71</td><td>8</td><td>99</td><td>99</td><td>92</td><td><b>100</b></td><td><b>100</b></td><td>0.18</td></tr><tr><td>0.5</td><td>100</td><td>0</td><td>12</td><td>6</td><td>96</td><td>96</td><td>83</td><td><b>100</b></td><td><b>100</b></td><td>0.22</td></tr><tr><td>0.6</td><td>100</td><td>0</td><td>0</td><td>0</td><td>30</td><td>23</td><td>5</td><td>36</td><td><b>100</b></td><td>1.99</td></tr><tr><td>0.7</td><td>100</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td><b>100</b></td><td>299.45</td></tr><tr><td>0.8</td><td>100</td><td><b>100</b></td><td><b>100</b></td><td><b>100</b></td><td><b>100</b></td><td><b>100</b></td><td><b>100</b></td><td><b>100</b></td><td><b>100</b></td><td>0.00</td></tr><tr><td>0.3</td><td>100</td><td>0</td><td>71</td><td>1</td><td><b>100</b></td><td><b>100</b></td><td>51</td><td><b>100</b></td><td><b>100</b></td><td>0.55</td></tr><tr><td>0.4</td><td>100</td><td>0</td><td>22</td><td>0</td><td>96</td><td>99</td><td>52</td><td><b>100</b></td><td><b>100</b></td><td>0.41</td></tr><tr><td rowspan="5">60</td><td>0.5</td><td>100</td><td>0</td><td>1</td><td>0</td><td>89</td><td>95</td><td>17</td><td>95</td><td><b>100</b></td><td>0.51</td></tr><tr><td>0.6</td><td>100</td><td>0</td><td>0</td><td>0</td><td>16</td><td>12</td><td>0</td><td>23</td><td><b>100</b></td><td>4.77</td></tr><tr><td>0.7</td><td>100</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td><b>100</b></td><td>209.65</td></tr><tr><td>0.8</td><td>100</td><td><b>100</b></td><td><b>100</b></td><td>99</td><td>98</td><td><b>100</b></td><td>99</td><td>99</td><td><b>100</b></td><td>0.00</td></tr><tr><td>0.3</td><td>100</td><td>0</td><td>34</td><td>0</td><td><b>100</b></td><td><b>100</b></td><td>19</td><td>99</td><td><b>100</b></td><td>1.27</td></tr><tr><td rowspan="6">70</td><td>0.4</td><td>100</td><td>0</td><td>8</td><td>0</td><td>95</td><td>97</td><td>8</td><td>98</td><td><b>100</b></td><td>0.90</td></tr><tr><td>0.5</td><td>100</td><td>0</td><td>0</td><td>0</td><td>82</td><td>87</td><td>0</td><td>84</td><td><b>100</b></td><td>1.03</td></tr><tr><td>0.6</td><td>100</td><td>0</td><td>0</td><td>0</td><td>5</td><td>2</td><td>0</td><td>10</td><td><b>100</b></td><td>10.02</td></tr><tr><td>0.7</td><td>100</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td><b>100</b></td><td>272.11</td></tr><tr><td>0.8</td><td>100</td><td><b>100</b></td><td><b>100</b></td><td>46</td><td>93</td><td>97</td><td>95</td><td>98</td><td><b>100</b></td><td>0.06</td></tr><tr><td colspan="2">Perfect success times over 18 types (n, r)</td><td>3</td><td>3</td><td>1</td><td>4</td><td>5</td><td>1</td><td>6</td><td>18</td><td></td></tr></tbody></table>

long computation time of 3600 s and still failed to solve any of these five balanced instances. It is thus remarkable that our MMCOL approach solves these instances consistently, even though MMCOL has a low success rate for two instances. We conclude that MMCOL performs very competitively with respect to all of the existing approaches for solving these traditional instances.

### C. Comparative Results on the Set of 1800 Benchmark Instances

Table III summarizes the computational statistics of our MMCOL algorithm on the set of 1800 benchmark instances, together with the results of seven most recent methods in the literature reported in [21]. The reference methods include CPX-IP, CPX-CP, LSSOL, 1-ILS*, 2-ILS, 3-ILS, and Tr-ILS*, where CPX-IP and CPX-CP are integer programming (IP) and constraint programming (CP) solvers from IBM/ILOG CPLEX, LSSOL denotes the LocalSolver,<fnref n="6" /> and 1-ILS*, 2-ILS, 3-ILS, and Tr-ILS* are four iterated local search algorithms with (1, ∞)-neighborhood, (2, ∞)-neighborhood, (3, ∞)-neighborhood, and Trellis-neighborhood search, respectively. All the reference algorithms are performed on an Intel core i7-4770 processor with 3.90 GHz and 8-GB RAM (which is faster than our computer), with a time limit of 30 s for CPX-IP, CPX-CP, and LSSOL, and 10 s for 1-ILS*, 2-ILS, 3-ILS, and Tr-ILS*. Table IV additionally presents the detailed results of our approach on a subset of 600 difficult benchmark instances.

Columns 1–3 of Table III show the characteristics of the tested instances: the order *n* of each Latin square, the ratio *r*, and the number of instances *Inst#* for each type (*n*, *r*). Following [21], columns 4–10 present the results of the seven reference algorithms (CPX-IP, CPX-CP, LSSOL, 1-ILS*, 2-ILS, Tr-ILS*, and 3-ILS), “Suc#” shows for each

type of 100 instances the number of instances for which an algorithm can obtain a legal solution. Columns 11 and 12 give the results of our MMCOL algorithm in terms of “Suc#” and the average time $t_{avg}(s)$ in seconds is defined by $t_{avg}(s) = [\sum_{i=1}^{i=100} t_i(s)]/100$, where $t_i(s)$ is the average time over the successful runs for the *i*th instance. The last row (perfect success times) shows the number of instance types with Suc# = 100, i.e., the number of instance types among the 18 types (*n*, *r*) for which all the 100 instances are solved by an algorithm.

From Table III, one observes that both exact methods CPX-IP and CPX-CP solve all 100 instances for only three out of the 18 types. The five ILS heuristics (LSSOL, 1-ILS*, 2-ILS, 3-ILS, and Tr-ILS*) solve all 100 instances for 1, 4, 5, 1, and 6 of 18 types (in bold), respectively. In contrast, our MMCOL algorithm can solve all the instances for all 18 types. The average time to find a solution is less than 11 s except for the 300 instances with *r* = 0.7 for which MMCOL needs less than 300 s to attain a solution while all reference algorithms fail to solve any of these instances. Besides, we observe that the seven reference algorithms have a worse performance for the types (*n* ∈ {50, 60, 70}, *r* ∈ {0.6, 0.7}) which are known to be more difficult [21]. On the other hand, MMCOL has no particular difficulty to solve these hard instances. In order to verify if the ILS algorithms can solve more instances by using more computation time, we ran the source code of the best performing algorithm Tr-ILS* under a much relaxed time limit of 3600 s on the instances of types (*n* ∈ {50, 60, 70}, *r* ∈ {0.6, 0.7}). One observes that the 100 instances of LSC-50-60 (*n* = 50, *r* = 0.6) can be fully completed, 98 and 95 instances of LSC-60-60 (*n* = 60, *r* = 0.6) and LSC-70-60 (*n* = 70, *r* = 0.6) can be fully completed, respectively. Nevertheless, no instance of the types (*n* ∈ {50, 60, 70}, *r* = 0.7) can be fully completed even if these instances have more filled grids for the LSC.

<footnote n="6">⁶http://www.localsolver.com/</footnote>
<table><caption>TABLE IV
DETAILED COMPUTATIONAL RESULTS OF MMCOL ON A SUBSET OF 600 INSTANCES</caption><thead><tr><th rowspan="2">ID</th><th colspan="2">LSC-50-60</th><th colspan="2">LSC-50-70</th><th colspan="2">LSC-60-60</th><th colspan="2">LSC-60-70</th><th colspan="2">LSC-70-60</th><th colspan="2">LSC-70-70</th></tr><tr><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th></tr></thead><tbody><tr><td>1</td><td>30/30</td><td>1.80</td><td>30/30</td><td>229.52</td><td>30/30</td><td>6.14</td><td>30/30</td><td>237.78</td><td>30/30</td><td>7.50</td><td>30/30</td><td>211.15</td></tr><tr><td>2</td><td>30/30</td><td>1.67</td><td>29/30</td><td>353.16</td><td>30/30</td><td>4.59</td><td>30/30</td><td>262.11</td><td>30/30</td><td>9.23</td><td>30/30</td><td>320.59</td></tr><tr><td>3</td><td>30/30</td><td>1.88</td><td>30/30</td><td>77.12</td><td>30/30</td><td>3.71</td><td>30/30</td><td>143.20</td><td>30/30</td><td>10.59</td><td>30/30</td><td>192.00</td></tr><tr><td>4</td><td>30/30</td><td>1.40</td><td>27/30</td><td>302.56</td><td>30/30</td><td>4.09</td><td>30/30</td><td>135.90</td><td>30/30</td><td>12.11</td><td>30/30</td><td>262.11</td></tr><tr><td>5</td><td>30/30</td><td>1.91</td><td>30/30</td><td>295.33</td><td>30/30</td><td>3.83</td><td>30/30</td><td>143.76</td><td>30/30</td><td>9.89</td><td>30/30</td><td>213.62</td></tr><tr><td>6</td><td>30/30</td><td>1.91</td><td>29/30</td><td>511.98</td><td>30/30</td><td>3.62</td><td>30/30</td><td>58.73</td><td>30/30</td><td>11.77</td><td>30/30</td><td>354.76</td></tr><tr><td>7</td><td>30/30</td><td>1.82</td><td>30/30</td><td>219.66</td><td>30/30</td><td>6.81</td><td>30/30</td><td>246.25</td><td>30/30</td><td>12.01</td><td>30/30</td><td>278.17</td></tr><tr><td>8</td><td>30/30</td><td>1.63</td><td>24/30</td><td>994.24</td><td>30/30</td><td>4.44</td><td>30/30</td><td>101.65</td><td>30/30</td><td>9.25</td><td>30/30</td><td>108.13</td></tr><tr><td>9</td><td>30/30</td><td>1.34</td><td>29/30</td><td>219.90</td><td>30/30</td><td>3.95</td><td>30/30</td><td>432.35</td><td>30/30</td><td>11.35</td><td>30/30</td><td>129.48</td></tr><tr><td>10</td><td>30/30</td><td>2.31</td><td>30/30</td><td>156.48</td><td>30/30</td><td>5.35</td><td>30/30</td><td>262.10</td><td>30/30</td><td>10.51</td><td>30/30</td><td>268.28</td></tr><tr><td>11</td><td>30/30</td><td>2.18</td><td>30/30</td><td>245.21</td><td>30/30</td><td>5.28</td><td>30/30</td><td>174.23</td><td>30/30</td><td>10.79</td><td>30/30</td><td>238.76</td></tr><tr><td>12</td><td>30/30</td><td>2.52</td><td>29/30</td><td>279.76</td><td>30/30</td><td>5.21</td><td>30/30</td><td>232.61</td><td>30/30</td><td>9.44</td><td>30/30</td><td>239.79</td></tr><tr><td>13</td><td>30/30</td><td>3.20</td><td>17/30</td><td>1154.08</td><td>30/30</td><td>4.31</td><td>30/30</td><td>178.88</td><td>30/30</td><td>9.18</td><td>30/30</td><td>310.61</td></tr><tr><td>14</td><td>30/30</td><td>2.47</td><td>30/30</td><td>78.89</td><td>30/30</td><td>6.62</td><td>30/30</td><td>220.65</td><td>30/30</td><td>12.60</td><td>30/30</td><td>315.94</td></tr><tr><td>15</td><td>30/30</td><td>1.51</td><td>30/30</td><td>55.16</td><td>30/30</td><td>4.89</td><td>30/30</td><td>277.19</td><td>30/30</td><td>8.36</td><td>30/30</td><td>392.82</td></tr><tr><td>16</td><td>30/30</td><td>2.28</td><td>30/30</td><td>58.69</td><td>30/30</td><td>5.02</td><td>30/30</td><td>172.64</td><td>30/30</td><td>10.69</td><td>30/30</td><td>217.64</td></tr><tr><td>17</td><td>30/30</td><td>2.02</td><td>30/30</td><td>315.53</td><td>30/30</td><td>6.35</td><td>30/30</td><td>171.60</td><td>30/30</td><td>10.49</td><td>30/30</td><td>280.76</td></tr><tr><td>18</td><td>30/30</td><td>2.17</td><td>30/30</td><td>63.03</td><td>30/30</td><td>3.54</td><td>30/30</td><td>109.55</td><td>30/30</td><td>10.52</td><td>30/30</td><td>391.01</td></tr><tr><td>19</td><td>30/30</td><td>2.42</td><td>30/30</td><td>140.20</td><td>30/30</td><td>4.55</td><td>30/30</td><td>212.71</td><td>30/30</td><td>10.37</td><td>30/30</td><td>146.66</td></tr><tr><td>20</td><td>30/30</td><td>3.23</td><td>10/30</td><td>91.57</td><td>30/30</td><td>4.74</td><td>30/30</td><td>197.22</td><td>30/30</td><td>12.84</td><td>30/30</td><td>260.88</td></tr><tr><td>21</td><td>30/30</td><td>2.46</td><td>27/30</td><td>516.05</td><td>30/30</td><td>4.36</td><td>30/30</td><td>124.49</td><td>30/30</td><td>10.92</td><td>30/30</td><td>185.83</td></tr><tr><td>22</td><td>30/30</td><td>2.26</td><td>30/30</td><td>69.85</td><td>30/30</td><td>5.08</td><td>30/30</td><td>192.56</td><td>30/30</td><td>13.49</td><td>30/30</td><td>169.89</td></tr><tr><td>23</td><td>30/30</td><td>2.89</td><td>30/30</td><td>170.39</td><td>30/30</td><td>4.22</td><td>30/30</td><td>189.37</td><td>30/30</td><td>10.05</td><td>30/30</td><td>411.34</td></tr><tr><td>24</td><td>30/30</td><td>2.45</td><td>30/30</td><td>304.91</td><td>30/30</td><td>4.82</td><td>30/30</td><td>228.04</td><td>30/30</td><td>7.06</td><td>29/30</td><td>472.18</td></tr><tr><td>25</td><td>30/30</td><td>3.16</td><td>28/30</td><td>598.79</td><td>30/30</td><td>5.60</td><td>30/30</td><td>396.87</td><td>30/30</td><td>9.24</td><td>30/30</td><td>711.93</td></tr><tr><td>26</td><td>30/30</td><td>2.35</td><td>13/30</td><td>1006.82</td><td>30/30</td><td>5.17</td><td>30/30</td><td>113.45</td><td>30/30</td><td>8.60</td><td>30/30</td><td>383.70</td></tr><tr><td>27</td><td>30/30</td><td>2.91</td><td>30/30</td><td>275.97</td><td>30/30</td><td>4.11</td><td>30/30</td><td>265.82</td><td>30/30</td><td>13.47</td><td>30/30</td><td>198.42</td></tr><tr><td>28</td><td>30/30</td><td>2.28</td><td>29/30</td><td>634.01</td><td>30/30</td><td>4.37</td><td>30/30</td><td>90.16</td><td>30/30</td><td>9.69</td><td>30/30</td><td>314.49</td></tr><tr><td>29</td><td>30/30</td><td>1.89</td><td>38/30</td><td>381.79</td><td>30/30</td><td>4.48</td><td>30/30</td><td>122.30</td><td>30/30</td><td>8.21</td><td>30/30</td><td>234.66</td></tr><tr><td>30</td><td>30/30</td><td>2.67</td><td>30/30</td><td>249.37</td><td>30/30</td><td>5.91</td><td>30/30</td><td>530.25</td><td>30/30</td><td>11.60</td><td>30/30</td><td>459.71</td></tr><tr><td>31</td><td>30/30</td><td>2.11</td><td>29/30</td><td>362.59</td><td>30/30</td><td>6.41</td><td>30/30</td><td>266.20</td><td>30/30</td><td>14.32</td><td>30/30</td><td>210.70</td></tr><tr><td>32</td><td>30/30</td><td>1.97</td><td>30/30</td><td>287.39</td><td>30/30</td><td>6.04</td><td>28/30</td><td>687.59</td><td>30/30</td><td>10.82</td><td>30/30</td><td>463.97</td></tr><tr><td>33</td><td>30/30</td><td>2.03</td><td>30/30</td><td>56.08</td><td>30/30</td><td>4.56</td><td>30/30</td><td>96.57</td><td>30/30</td><td>8.69</td><td>30/30</td><td>250.81</td></tr><tr><td>34</td><td>30/30</td><td>1.56</td><td>30/30</td><td>153.74</td><td>30/30</td><td>3.88</td><td>30/30</td><td>235.41</td><td>30/30</td><td>14.16</td><td>30/30</td><td>253.28</td></tr><tr><td>35</td><td>30/30</td><td>2.14</td><td>29/30</td><td>583.45</td><td>30/30</td><td>6.77</td><td>30/30</td><td>142.38</td><td>30/30</td><td>7.78</td><td>30/30</td><td>211.31</td></tr><tr><td>36</td><td>30/30</td><td>2.14</td><td>30/30</td><td>373.41</td><td>30/30</td><td>6.65</td><td>30/30</td><td>136.03</td><td>30/30</td><td>9.71</td><td>30/30</td><td>433.29</td></tr><tr><td>37</td><td>30/30</td><td>1.41</td><td>30/30</td><td>69.45</td><td>30/30</td><td>5.45</td><td>30/30</td><td>175.92</td><td>30/30</td><td>9.54</td><td>30/30</td><td>219.66</td></tr><tr><td>38</td><td>30/30</td><td>2.57</td><td>28/30</td><td>373.18</td><td>30/30</td><td>5.12</td><td>30/30</td><td>89.58</td><td>30/30</td><td>14.84</td><td>30/30</td><td>182.65</td></tr><tr><td>39</td><td>30/30</td><td>2.65</td><td>30/30</td><td>226.60</td><td>30/30</td><td>4.25</td><td>30/30</td><td>304.11</td><td>30/30</td><td>16.04</td><td>30/30</td><td>168.72</td></tr><tr><td>40</td><td>30/30</td><td>2.09</td><td>29/30</td><td>460.62</td><td>30/30</td><td>3.62</td><td>30/30</td><td>468.96</td><td>30/30</td><td>10.13</td><td>30/30</td><td>170.03</td></tr><tr><td>41</td><td>30/30</td><td>1.82</td><td>30/30</td><td>95.53</td><td>30/30</td><td>8.16</td><td>30/30</td><td>108.12</td><td>30/30</td><td>10.50</td><td>30/30</td><td>390.81</td></tr><tr><td>42</td><td>30/30</td><td>1.98</td><td>30/30</td><td>93.70</td><td>30/30</td><td>3.27</td><td>30/30</td><td>185.71</td><td>30/30</td><td>6.91</td><td>30/30</td><td>134.69</td></tr><tr><td>43</td><td>30/30</td><td>3.06</td><td>30/30</td><td>85.74</td><td>30/30</td><td>4.00</td><td>30/30</td><td>163.11</td><td>30/30</td><td>10.70</td><td>30/30</td><td>267.40</td></tr><tr><td>44</td><td>30/30</td><td>1.74</td><td>30/30</td><td>46.91</td><td>30/30</td><td>4.40</td><td>30/30</td><td>93.55</td><td>30/30</td><td>10.14</td><td>30/30</td><td>190.74</td></tr><tr><td>45</td><td>30/30</td><td>1.71</td><td>30/30</td><td>30.44</td><td>30/30</td><td>5.12</td><td>30/30</td><td>157.39</td><td>30/30</td><td>7.92</td><td>30/30</td><td>517.40</td></tr><tr><td>46</td><td>30/30</td><td>2.20</td><td>30/30</td><td>268.83</td><td>30/30</td><td>5.54</td><td>30/30</td><td>276.91</td><td>30/30</td><td>11.06</td><td>30/30</td><td>232.72</td></tr><tr><td>47</td><td>30/30</td><td>1.80</td><td>30/30</td><td>180.58</td><td>30/30</td><td>2.70</td><td>30/30</td><td>129.40</td><td>30/30</td><td>10.39</td><td>30/30</td><td>224.85</td></tr><tr><td>48</td><td>30/30</td><td>2.04</td><td>30/30</td><td>52.25</td><td>30/30</td><td>4.32</td><td>30/30</td><td>219.03</td><td>30/30</td><td>9.19</td><td>30/30</td><td>259.98</td></tr><tr><td>49</td><td>30/30</td><td>1.41</td><td>29/30</td><td>117.13</td><td>30/30</td><td>5.33</td><td>30/30</td><td>210.02</td><td>30/30</td><td>8.10</td><td>30/30</td><td>154.96</td></tr><tr><td>50</td><td>30/30</td><td>1.18</td><td>30/30</td><td>389.08</td><td>30/30</td><td>5.92</td><td>27/30</td><td>1104.26</td><td>30/30</td><td>7.59</td><td>30/30</td><td>470.39</td></tr><tr><td>51</td><td>30/30</td><td>2.95</td><td>29/30</td><td>293.51</td><td>30/30</td><td>5.87</td><td>30/30</td><td>238.48</td><td>30/30</td><td>11.52</td><td>30/30</td><td>295.06</td></tr><tr><td>52</td><td>30/30</td><td>1.84</td><td>30/30</td><td>71.20</td><td>30/30</td><td>5.50</td><td>30/30</td><td>261.65</td><td>30/30</td><td>10.73</td><td>30/30</td><td>167.39</td></tr><tr><td>53</td><td>30/30</td><td>1.50</td><td>30/30</td><td>89.39</td><td>30/30</td><td>5.09</td><td>30/30</td><td>73.60</td><td>30/30</td><td>11.03</td><td>30/30</td><td>177.52</td></tr><tr><td>54</td><td>30/30</td><td>1.60</td><td>30/30</td><td>137.29</td><td>30/30</td><td>4.07</td><td>30/30</td><td>108.94</td><td>30/30</td><td>10.21</td><td>30/30</td><td>145.50</td></tr><tr><td>55</td><td>30/30</td><td>1.29</td><td>30/30</td><td>327.82</td><td>30/30</td><td>6.11</td><td>30/30</td><td>260.51</td><td>30/30</td><td>8.25</td><td>30/30</td><td>199.61</td></tr><tr><td>56</td><td>30/30</td><td>1.63</td><td>30/30</td><td>137.14</td><td>30/30</td><td>4.08</td><td>30/30</td><td>141.16</td><td>30/30</td><td>9.52</td><td>30/30</td><td>383.23</td></tr><tr><td>57</td><td>30/30</td><td>3.63</td><td>4/30</td><td>1724.49</td><td>30/30</td><td>3.48</td><td>30/30</td><td>95.86</td><td>30/30</td><td>9.87</td><td>30/30</td><td>197.62</td></tr><tr><td>58</td><td>30/30</td><td>2.60</td><td>23/30</td><td>1160.19</td><td>30/30</td><td>3.39</td><td>30/30</td><td>167.31</td><td>30/30</td><td>11.81</td><td>30/30</td><td>456.38</td></tr><tr><td>59</td><td>30/30</td><td>2.28</td><td>30/30</td><td>276.06</td><td>30/30</td><td>7.84</td><td>30/30</td><td>213.65</td><td>30/30</td><td>7.95</td><td>30/30</td><td>677.79</td></tr><tr><td>60</td><td>30/30</td><td>1.43</td><td>30/30</td><td>143.88</td><td>30/30</td><td>4.50</td><td>30/30</td><td>131.84</td><td>30/30</td><td>7.89</td><td>30/30</td><td>226.17</td></tr><tr><td>61</td><td>30/30</td><td>1.46</td><td>30/30</td><td>27.79</td><td>30/30</td><td>5.37</td><td>30/30</td><td>144.70</td><td>30/30</td><td>6.78</td><td>30/30</td><td>259.97</td></tr><tr><td>62</td><td>30/30</td><td>2.52</td><td>30/30</td><td>55.34</td><td>30/30</td><td>6.00</td><td>30/30</td><td>70.70</td><td>30/30</td><td>7.85</td><td>30/30</td><td>281.82</td></tr><tr><td>63</td><td>30/30</td><td>1.65</td><td>30/30</td><td>193.20</td><td>30/30</td><td>4.16</td><td>30/30</td><td>219.72</td><td>30/30</td><td>10.08</td><td>30/30</td><td>298.14</td></tr><tr><td>64</td><td>30/30</td><td>1.61</td><td>30/30</td><td>141.12</td><td>30/30</td><td>4.02</td><td>30/30</td><td>349.99</td><td>30/30</td><td>10.41</td><td>30/30</td><td>546.86</td></tr><tr><td>65</td><td>30/30</td><td>1.66</td><td>30/30</td><td>293.92</td><td>30/30</td><td>4.85</td><td>30/30</td><td>130.68</td><td>30/30</td><td>6.80</td><td>30/30</td><td>156.37</td></tr><tr><td>66</td><td>30/30</td><td>1.63</td><td>30/30</td><td>240.08</td><td>30/30</td><td>2.92</td><td>30/30</td><td>74.45</td><td>30/30</td><td>7.06</td><td>30/30</td><td>262.80</td></tr><tr><td>67</td><td>30/30</td><td>2.39</td><td>30/30</td><td>95.70</td><td>30/30</td><td>6.48</td><td>30/30</td><td>157.17</td><td>30/30</td><td>8.60</td><td>30/30</td><td>198.07</td></tr><tr><td>68</td><td>30/30</td><td>1.28</td><td>30/30</td><td>168.85</td><td>30/30</td><td>4.84</td><td>27/30</td><td>781.71</td><td>30/30</td><td>6.12</td><td>30/30</td><td>474.08</td></tr><tr><td>69</td><td>30/30</td><td>1.23</td><td>30/30</td><td>52.04</td><td>30/30</td><td>3.77</td><td>30/30</td><td>123.35</td><td>30/30</td><td>11.13</td><td>30/30</td><td>163.11</td></tr><tr><td>70</td><td>30/30</td><td>1.01</td><td>27/30</td><td>561.12</td><td>30/30</td><td>5.19</td><td>30/30</td><td>151.39</td><td>30/30</td><td>7.00</td><td>30/30</td><td>126.13</td></tr><tr><td>71</td><td>30/30</td><td>1.08</td><td>30/30</td><td>106.96</td><td>30/30</td><td>4.25</td><td>30/30</td><td>168.97</td><td>30/30</td><td>10.12</td><td>30/30</td><td>194.81</td></tr><tr><td>72</td><td>30/30</td><td>2.91</td><td>29/30</td><td>423.29</td><td>30/30</td><td>3.76</td><td>30/30</td><td>106.15</td><td>30/30</td><td>11.49</td><td>30/30</td><td>456.06</td></tr><tr><td>73</td><td>30/30</td><td>2.58</td><td>30/30</td><td>71.39</td><td>30/30</td><td>5.78</td><td>30/30</td><td>221.44</td><td>30/30</td><td>10.78</td><td>30/30</td><td>279.10</td></tr><tr><td>74</td><td>30/30</td><td>2.15</td><td>17/30</td><td>918.90</td><td>30/30</td><td>4.84</td><td>30/30</td><td>448.23</td><td>30/30</td><td>7.58</td><td>30/30</td><td>275.67</td></tr><tr><td>75</td><td>30/30</td><td>1.57</td><td>30/30</td><td>202.87</td><td>30/30</td><td>4.27</td><td>30/30</td><td>189.70</td><td>30/30</td><td>5.78</td><td>30/30</td><td>192.49</td></tr><tr><td>76</td><td>30/30</td><td>2.18</td><td>30/30</td><td>67.06</td><td>30/30</td><td>5.68</td><td>30/30</td><td>267.95</td><td>30/30</td><td>11.53</td><td>30/30</td><td>165.14</td></tr><tr><td>77</td><td>30/30</td><td>1.45</td><td>30/30</td><td>55.37</td><td>30/30</td><td>6.55</td><td>30/30</td><td>159.72</td><td>30/30</td><td>11.54</td><td>30/30</td><td>189.93</td></tr><tr><td>78</td><td>30/30</td><td>1.30</td><td>29/30</td><td>265.87</td><td>30/30</td><td>5.76</td><td>30/30</td><td>197.63</td><td>30/30</td><td>12.40</td><td>30/30</td><td>162.90</td></tr><tr><td>79</td><td>30/30</td><td>2.45</td><td>30/30</td><td>58.50</td><td>30/30</td><td>3.56</td><td>30/30</td><td>119.92</td><td>30/30</td><td>10.48</td><td>29/30</td><td>478.63</td></tr><tr><td>80</td><td>30/30</td><td>1.33</td><td>30/30</td><td>112.48</td><td>30/30</td><td>5.11</td><td>30/30</td><td>159.74</td><td>30/30</td><td>9.22</td><td>30/30</td><td>324.70</td></tr><tr><td>81</td><td>30/30</td><td>1.12</td><td>30/30</td><td>124.85</td><td>30/30</td><td>4.18</td><td>30/30</td><td>233.84</td><td>30/30</td><td>11.83</td><td>30/30</td><td>365.06</td></tr><tr><td>82</td><td>30/30</td><td>1.56</td><td>30/30</td><td>240.88</td><td>30/30</td><td>5.28</td><td>30/30</td><td>109.26</td><td>30/30</td><td>10.49</td><td>29/30</td><td>318.54</td></tr><tr><td>83</td><td>30/30</td><td>1.26</td><td>25/30</td><td>438.82</td><td>30/30</td><td>3.64</td><td>30/30</td><td>61.54</td><td>30/30</td><td>14.78</td><td>30/30</td><td>305.79</td></tr><tr><td>84</td><td>30/30</td><td>1.28</td><td>30/30</td><td>163.42</td><td>30/30</td><td>3.98</td><td>30/30</td><td>309.11</td><td>30/30</td><td>11.62</td><td>30/30</td><td>130.06</td></tr><tr><td>85</td><td>30/30</td><td>1.67</td><td>30/30</td><td>44.76</td><td>30/30</td><td>4.61</td><td>30/30</td><td>120.79</td><td>30/30</td><td>8.78</td><td>30/30</td><td>122.38</td></tr><tr><td>86</td><td>30/30</td><td>1.91</td><td>30/30</td><td>324.36</td><td>30/30</td><td>2.99</td><td>30/30</td><td>93.56</td><td>30/30</td><td>11.39</td><td>30/30</td><td>98.84</td></tr><tr><td>87</td><td>30/30</td><td>1.56</td><td>30/30</td><td>518.07</td><td>30/30</td><td>3.66</td><td>30/30</td><td>184.49</td><td>30/30</td><td>9.06</td><td>30/30</td><td>140.46</td></tr><tr><td>88</td><td>30/30</td><td>1.15</td><td>30/30</td><td>130.92</td><td>30/30</td><td>4.47</td><td>30/30</td><td>162.81</td><td>30/30</td><td>8.56</td><td>30/30</td><td>338.45</td></tr><tr><td>89</td><td>30/30</td><td>1.88</td><td>30/30</td><td>497.59</td><td>30/30</td><td>4.60</td><td>30/30</td><td>176.23</td><td>30/30</td><td>8.86</td><td>30/30</td><td>233.54</td></tr><tr><td>90</td><td>30/30</td><td>1.65</td><td>28/30</td><td>968.10</td><td>30/30</td><td>3.12</td><td>30/30</td><td>171.07</td><td>30/30</td><td>10.33</td><td>30/30</td><td>261.34</td></tr><tr><td>91</td><td>30/30</td><td>2.94</td><td>30/30</td><td>401.46</td><td>30/30</td><td>4.36</td><td>30/30</td><td>100.40</td><td>30/30</td><td>9.65</td><td>30/30</td><td>113.15</td></tr><tr><td>92</td><td>30/30</td><td>2.36</td><td>30/30</td><td>118.06</td><td>30/30</td><td>4.95</td><td>30/30</td><td>366.14</td><td>30/30</td><td>8.94</td><td>30/30</td><td>127.49</td></tr><tr><td>93</td><td>30/30</td><td>1.22</td><td>30/30</td><td>161.35</td><td>30/30</td><td>2.66</td><td>30/30</td><td>141.83</td><td>30/30</td><td>11.57</td><td>30/30</td><td>121.07</td></tr><tr><td>94</td><td>30/30</td><td>1.37</td><td>30/30</td><td>297.39</td><td>30/30</td><td>3.75</td><td>30/30</td><td>95.65</td><td>30/30</td><td>10.69</td><td>30/30</td><td>218.80</td></tr><tr><td>95</td><td>30/30</td><td>1.93</td><td>30/30</td><td>95.87</td><td>30/30</td><td>3.21</td><td>30/30</td><td>115.31</td><td>30/30</td><td>10.56</td><td>30/30</td><td>129.73</td></tr><tr><td>96</td><td>30/30</td><td>1.62</td><td>30/30</td><td>175.05</td><td>30/30</td><td>4.97</td><td>30/30</td><td>386.67</td><td>30/30</td><td>6.86</td><td>30/30</td><td>251.44</td></tr><tr><td>97</td><td>30/30</td><td>1.93</td><td>30/30</td><td>213.69</td><td>30/30</td><td>3.53</td><td>30/30</td><td>165.69</td><td>30/30</td><td>11.01</td><td>30/30</td><td>288.06</td></tr><tr><td>98</td><td>30/30</td><td>1.71</td><td>29/30</td><td>354.62</td><td>30/30</td><td>3.89</td><td>30/30</td><td>130.48</td><td>30/30</td><td>9.58</td><td>30/30</td><td>190.03</td></tr><tr><td>99</td><td>30/30</td><td>1.55</td><td>30/30</td><td>204.81</td><td>30/30</td><td>4.25</td><td>30/30</td><td>136.39</td><td>30/30</td><td>6.25</td><td>30/30</td><td>222.49</td></tr><tr><td>100</td><td>30/30</td><td>2.73</td><td>17/30</td><td>550.96</td><td>30/30</td><td>5.60</td><td>30/30</td><td>292.85</td><td>30/30</td><td>9.19</td><td>30/30</td><td>404.90</td></tr></tbody></table>

Furthermore, we show in Table IV the detailed results of MMCOL on the 600 difficult instances ($n \in \{50, 60, 70\}$), $r \in \{0.6, 0.7\}$) for which most reference algorithms perform badly. For each instance, we present the success rate over 30 trials SR

and the average computation time over the successful runs $t(s)$ in seconds. From Table IV, we observe that MMCOL achieves the perfect success rate 30/30 on three types ($n \in \{50, 60, 70\}$), $r = 0.6$. MMCOL has a lower success rate only for 28
<figure><img src="image_14.png" /><figcaption>Fig. 5. Comparison of MMCOL, MMCOL', and ITS on 600 difficult instances.</figcaption></figure>

instances of the type LSC-50-70 ($n = 50, r = 0.7$), three instances of the type LSC-60-70 ($n = 60, r = 0.7$), and three instances of the type LSC-70-70 ($n = 70, r = 0.7$) (in italic).

In summary, MMCOL competes very favorably with seven most recent methods in the literature and proves to be highly effective in solving the set of 1800 benchmark instances with no exception.

## V. ANALYSIS OF TWO KEY COMPONENTS

In this section, we present an analysis of two key components of the proposed method: 1) the constraint propagation-based kernelization and 2) the role of the MAGX crossover operator.

### A. Impact of Constraint Propagation-Based Kernelization

The constraint propagation-based kernelization of Section II-B is used to preprocess an initial Latin square graph and thus reduces the search space of the subsequent list coloring task. In order to investigate the impact of this kernelization technique, we evaluate the reduced vertices and the color domains for the 1800 benchmark instances.

Table V summarizes the statistics of the reduced graphs for each type of instances. Columns 1–3 recall the instance characteristics: the order $n$, the ratio $r$, and the number of instances Inst#.

For each type $(n, r)$ of 100 instances, column 4 “$V_{avg}$” indicates the average number of the precolored vertices (i.e., the filled grids) in the initial Latin square graph. Since the color domain of some vertices becomes a singleton during the kernelization process, the graph can be further reduced. Hence, column 5 “$V'_{avg}$” shows the average number of further reduced vertices. Column 6 “$D_{avg}$” presents for each type of 100 instances the average cardinality of the color domains after kernelization, i.e., $D_{avg} = [(\sum_{j=1}^{j=Inst#} (\sum_{i=1}^{i=n \times n} |D(v_i)|))/Inst#]$. And column 7 “Solved#” gives the number of instances that are solved during the kernelization process (i.e., all color domains are reduced to a singleton).

From Table V, one observes that the vertices of the converted graphs are dramatically reduced by the kernelization

<table><caption>TABLE V
STATISTICS OF THE REDUCED LATIN SQUARE GRAPHS AFTER
KERNELIZATION</caption><thead><tr><th colspan="3">Instance</th><th rowspan="2">#V<sub>avg</sub></th><th rowspan="2">#V'<sub>avg</sub></th><th rowspan="2">#D<sub>avg</sub></th><th rowspan="2">Solved#</th></tr><tr><th>n</th><th>r</th><th>Inst#</th></tr></thead><tbody><tr><td rowspan="7">50</td><td>0.3</td><td>100</td><td>750.0</td><td>0.00</td><td>25.01</td><td>0</td></tr><tr><td>0.4</td><td>100</td><td>1000.0</td><td>0.00</td><td>18.64</td><td>0</td></tr><tr><td>0.5</td><td>100</td><td>1250.0</td><td>0.00</td><td>13.24</td><td>0</td></tr><tr><td>0.6</td><td>100</td><td>1500.0</td><td>0.19</td><td>8.83</td><td>0</td></tr><tr><td>0.7</td><td>100</td><td>1750.0</td><td>9.19</td><td>5.37</td><td>0</td></tr><tr><td>0.8</td><td>100</td><td>2000.0</td><td>495.24</td><td>2.01</td><td>32</td></tr><tr><td>0.3</td><td>100</td><td>1080.0</td><td>0.00</td><td>29.91</td><td>0</td></tr><tr><td rowspan="6">60</td><td>0.4</td><td>100</td><td>1440.0</td><td>0.00</td><td>22.23</td><td>0</td></tr><tr><td>0.5</td><td>100</td><td>1800.0</td><td>0.00</td><td>15.74</td><td>0</td></tr><tr><td>0.6</td><td>100</td><td>2160.0</td><td>0.00</td><td>10.43</td><td>0</td></tr><tr><td>0.7</td><td>100</td><td>2520.0</td><td>4.63</td><td>6.29</td><td>0</td></tr><tr><td>0.8</td><td>100</td><td>2880.0</td><td>516.63</td><td>2.43</td><td>9</td></tr><tr><td>0.3</td><td>100</td><td>1470.0</td><td>0.00</td><td>34.79</td><td>0</td></tr><tr><td rowspan="6">70</td><td>0.4</td><td>100</td><td>1960.0</td><td>0.00</td><td>25.83</td><td>0</td></tr><tr><td>0.5</td><td>100</td><td>2450.0</td><td>0.00</td><td>18.24</td><td>0</td></tr><tr><td>0.6</td><td>100</td><td>2940.0</td><td>0.03</td><td>12.03</td><td>0</td></tr><tr><td>0.7</td><td>100</td><td>3430.0</td><td>2.25</td><td>7.19</td><td>0</td></tr><tr><td>0.8</td><td>100</td><td>3920.0</td><td>162.24</td><td>3.47</td><td>0</td></tr></tbody></table>

technique. For the types of instances [$n \in \{50, 60, 70\}, r = 0.3, 0.4, 0.5$ and $(n = 60, r = 0.6)$], only the precolored vertices (the filled grids) are removed from the graphs, meaning that removing the precolored vertices does not lead to any new singleton domain. However, for the types of instances ($n \in \{50, 60, 70\}, r = 0.8$), many vertices can be further removed by the kernelization technique. Furthermore, the color domains of the uncolored vertices are obviously reduced from their initial sizes $n$. In particular, for 32 instances of the type $(n = 50, r = 0.8)$ and nine instances of the type $(n = 60, r = 0.8)$, a solution is found during kernelization (i.e., all color domains are reduced to a singleton), without needing to run the subsequent coloring algorithm. We conclude that the kernelization technique plays an important role in reducing the initial Latin square graphs and helps to ease the subsequent list coloring task.
<table><caption>TABLE VI
COMPARATIVE RESULTS ON 22 DIFFICULT CASES OF LSC-50-70</caption><thead><tr><th rowspan="2">Instance</th><th colspan="2">ITS</th><th colspan="2">MMCOL</th><th colspan="2">MMCOL</th><th rowspan="2">Instance</th><th colspan="2">ITS</th><th colspan="2">MMCOL</th><th colspan="2">MMCOL</th></tr><tr><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th><th>SR</th><th>t(s)</th></tr></thead><tbody><tr><td>LSC-50-70-4</td><td>24/30</td><td>988.17</td><td><strong>30/30</strong></td><td>394.21</td><td>27/30</td><td>302.56</td><td>LSC-50-70-51</td><td>26/30</td><td>643.12</td><td>27/30</td><td>627.41</td><td><strong>29/30</strong></td><td>293.51</td></tr><tr><td>LSC-50-70-6</td><td>24/30</td><td>585.44</td><td>28/30</td><td>722.32</td><td><strong>29/30</strong></td><td>511.98</td><td>LSC-50-70-55</td><td>26/30</td><td>495.45</td><td><strong>30/30</strong></td><td>587.49</td><td><strong>30/30</strong></td><td>327.82</td></tr><tr><td>LSC-50-70-8</td><td>16/30</td><td>1232.98</td><td>17/30</td><td>1664.40</td><td><strong>24/30</strong></td><td>994.23</td><td>LSC-50-70-57</td><td>1/30</td><td>1942.50</td><td>0/30</td><td>0.00</td><td><strong>4/30</strong></td><td>1724.49</td></tr><tr><td>LSC-50-70-13</td><td>10/30</td><td>1002.09</td><td>16/30</td><td>1375.53</td><td><strong>17/30</strong></td><td>1154.08</td><td>LSC-50-70-58</td><td>13/30</td><td>664.00</td><td>11/30</td><td>899.54</td><td><strong>23/30</strong></td><td>1160.19</td></tr><tr><td>LSC-50-70-20</td><td>9/30</td><td>1127.22</td><td>4/30</td><td>2086.53</td><td><strong>10/30</strong></td><td>912.57</td><td>LSC-50-70-70</td><td>21/30</td><td>716.79</td><td>25/30</td><td>1155.18</td><td><strong>27/30</strong></td><td>561.12</td></tr><tr><td>LSC-50-70-21</td><td>22/30</td><td>1131.82</td><td>23/30</td><td>1182.76</td><td><strong>27/30</strong></td><td>516.05</td><td>LSC-50-70-72</td><td>26/30</td><td>618.60</td><td>28/30</td><td>883.57</td><td><strong>29/30</strong></td><td>423.29</td></tr><tr><td>LSC-50-70-25</td><td>22/30</td><td>1029.20</td><td><strong>30/30</strong></td><td>776.40</td><td>28/30</td><td>598.79</td><td>LSC-50-70-74</td><td>8/30</td><td>1297.03</td><td>9/30</td><td>1530.22</td><td><strong>17/30</strong></td><td>918.89</td></tr><tr><td>LSC-50-70-26</td><td>4/30</td><td>1151.33</td><td>4/30</td><td>1166.57</td><td><strong>13/30</strong></td><td>1006.81</td><td>LSC-50-70-87</td><td>20/30</td><td>994.51</td><td>18/30</td><td>1734.15</td><td><strong>25/30</strong></td><td>438.82</td></tr><tr><td>LSC-50-70-28</td><td>20/30</td><td>888.14</td><td>23/30</td><td>902.15</td><td><strong>29/30</strong></td><td>634.01</td><td>LSC-50-70-87</td><td>22/30</td><td>562.83</td><td>26/30</td><td>1592.43</td><td><strong>30/30</strong></td><td>518.07</td></tr><tr><td>LSC-50-70-35</td><td>26/30</td><td>803.14</td><td><strong>30/30</strong></td><td>11069.10</td><td>29/30</td><td>583.45</td><td>LSC-50-70-90</td><td>20/30</td><td>1002.29</td><td>21/30</td><td>1529.61</td><td><strong>28/30</strong></td><td>968.10</td></tr><tr><td>LSC-50-70-40</td><td>24/30</td><td>764.63</td><td><strong>29/30</strong></td><td>893.85</td><td><strong>29/30</strong></td><td>460.62</td><td>LSC-50-70-100</td><td>14/30</td><td>1304.27</td><td>14/30</td><td>1013.30</td><td><strong>17/30</strong></td><td>550.96</td></tr></tbody></table>

## B. Impact of the MAGX Crossover Operator

Within the proposed memetic algorithm, the MAGX crossover described in Section III-D is another key component. To assess its impact, we present an experiment to compare MMCOL (with the crossover MAGX), MMCOL' (with an uniform assignment crossover), and ITS (without MAGX). The uniform assignment crossover builds an offspring solution by inheriting, for each vertex, the color either from parent $P_1$ or $P_2$ with an equal probability of 0.5. For a fair comparison, we use the same parameter setting for MMCOL and MMCOL' and set $maxLSIters = 10^4$ for each ITS run, which corresponds roughly to the same search effort of MMCOL/MMCOL' with 100 generations (see Table I). The initial solutions of all the algorithms are generated by the initialization procedure given in Section III-C. We ran MMCOL, MMCOL', and ITS 30 times to solve each of the 600 difficult benchmark instances ($n \in \{50, 60, 70\}$, $r \in \{0.6, 0.7\}$) listed in Table IV. The comparative results are shown in Fig. 5 where we indicate for each type of 100 instances, the number of instances for which an algorithm can find a solution with a perfect success rate 30/30 (i.e., each of its 30 trials finds a legal list coloring).

From Fig. 5, one notices that both MMCOL, MMCOL', and ITS have a perfect success rate 30/30 on the 300 instances of types ($n \in \{50, 60, 70\}$, $r = 0.6$). On the other hand, for the other 300 instances of types ($n \in \{50, 60, 70\}$, $r = 0.7$), MMCOL achieves a perfect success rate 30/30 on 72, 97, and 97 instances, respectively, against 48, 83, and 90 instances for ITS and 71, 72, and 28 instances for MMCOL'.

Additionally, Table VI presents the detailed results on the 22 most difficult instances of LSC-50-70 where we show for each instance and each algorithm (MMCOL, MMCOL', and ITS), the success rate SR over 30 trials and the average computation time $t(s)$ in seconds over the successful runs. This table indicates that MMCOL obtains a higher success rate SR than MMCOL' and ITS for 17 and 22 instances, respectively (in bold), with shorter computation times $t(s)$ except for two cases. This experiment confirms that the population-based evolutionary framework implemented in our memetic algorithm and its crossover operator contribute positively to the performance of the proposed algorithm.

## VI. CONCLUSION

We have proposed an approach to solve the LSC problem by converting LSC to a domain-constrained graph coloring

problem. By taking advantage of the particular features of Latin square graphs, we have developed a constraint propagation-based kernelization technique to preprocess the given Latin square graph to obtain a reduced graph, for which an associated list coloring problem is defined. To effectively solve the list coloring problem, we have devised a dedicated memetic algorithm MMCOL which integrates a tailored crossover operator to generate new solutions, an ITS procedure to improve each offspring solution and a distance-quality-based pool updating strategy to ensure a healthy diversity of the population.

Extensive evaluations on a large number of benchmark instances in the literature (19 traditional instances and 1800 random instances) have shown that the proposed approach performs very well with respect to the state-of-the-art methods including those introduced very recently in 2016. In particular, our approach is able to find a solution for all the benchmark instances consistently and effectively, a performance never attained by any existing approach. We have also used a slightly modified version of the method to solve the general PLSE problem and reported computational results on the set of 2018 PLSE instances in the Appendix.

Given that LSC and PLSE have a number of applications, the proposed approach can help to solve these applications. More generally, the method proposed in this paper can be used to approximate the important list coloring and precoloring extension problems, for which few practical algorithms exist in the literature. The method will be particularly useful if large problem instances are considered.

For future work, it would be interesting to identify additional features of Latin square graphs and use them to design effective search strategies and operators. Approaches based on vertex coloring algorithms are also worthy of investigation.

## APPENDIX
RESULTS ON THE PARTIAL LATIN SQUARE EXTENSION PROBLEM

We now show that the method presented in this paper can be used to solve the related and more general PLSE problem. Recall that PLSE is to assign numbers $\{1, \dots, n\}$ to as many empty grids as possible under the condition that each number occurs at most once in each row and each column. To apply the proposed method to solve PLSE, we make the following two adjustments.
First, unlike LSC, the color domains of some vertices in the case of PLSE may become empty during the constraint propagation-based kernalization process, implying that the corresponding grids cannot be legally filled by any given number. In terms of graph coloring, if the color domain of a vertex v becomes empty when applying the preprocessing procedure, any color for vertex v is definitively conflicting with at least one of its adjacent vertices. If this happens, we randomly assign a color {1, ..., n} to vertex v and keep this color unchanged during the search process.

Second, at the end of the MMCOL algorithm, there are two possibilities. If the returned final coloring $c^*$ is conflict-free [i.e., $f(c^*) = 0$], the given partial Latin square is fully completed and an optimal solution is found. Otherwise, some vertices are assigned conflicting colors in $c^*$ [i.e., $f(c^*) > 0$]. In this case, we obtain a legal partial solution by dropping from $c^*$ some conflicting vertices. The dropped vertices correspond to the grids that cannot be legally filled while the remaining vertices in the legal partial coloring define a solution for the given PLSE instance. To remove conflicting vertices, we first drop any vertex v with empty color domain caused by the preprocessing procedure. Then, if conflicts remain, we repetitively remove the vertex u which is conflicting with the largest number of other vertices in the coloring until we obtain a partial conflict-free coloring.

Table VII summarizes the results of our MMCOL algorithm and seven reference methods on the set of 1800 PLSE benchmark instances introduced in [21]. Like the LSC instances of Section IV-A, these 1800 PLSE instances are evenly divided into 18 types ($n \in \{50, 60, 70\}, r \in \{0.3, 0.4, 0.5, 0.6, 0.7, 0.8\}$) [so 100 instances per type $(n, r)$]. For these instances, $n^2$ is a trivial upper bound of their optimal solutions. In this experiment, we used the same experimental condition as for solving LSC (Section IV-C). Like [21], we solved each instance once. Columns 1–3 indicate the characteristics of the instances with the same information as in Table III. Columns 4–17 present, for each reference algorithm and for each type $(n, r)$ of 100 instances, the number of fully completed Latin squares “suc#,” and the average completed grids over 100 instances “Avg.” Columns 18–20 show the results of our MMCOL algorithm in terms of suc#, Avg, and the average computation time “$t_{avg}(s)$” in seconds. Notice that if a partial Latin square is fully completed, the optimum is attained (so 1186 instances out of 1800 are solved to optimality). Otherwise, the reported result in terms of the filled grids gives a lower bound of the given PLSE instance.

Table VII shows that MMCOL obtains improved or equal average results for 15 out of 18 types (in bold) except the types $(n \in \{50, 60, 70\}, r = 0.8)$. In particular, for the 1000 instances of types $(n \in \{50, 60, 70\}, r \in \{0.3, 0.4, 0.5\})$, $(n = 70, r = 0.6)$, and 186 instances of types $(n \in \{50, 60\}, r = 0.6)$, $(n = 70, r = 0.7)$, MMCOL attains an optimal solution. Meanwhile, for the instances of types $(n \in \{50, 60, 70\}, r = 0.8)$, MMCOL performs worse than the reference algorithms. We mention that since the instances of types $(n \in \{50, 60, 70\}, r = 0.8)$ are strongly constrained, the color domains of some uncolored vertices are reduced to the empty set during the constraint propagation-based

<table><caption>TABLE VII
COMPARATIVE RESULTS OF MMCOL ON THE SET OF 1800 PLSE BENCHMARK INSTANCES</caption><thead><tr><th rowspan="2">n</th><th rowspan="2">r</th><th rowspan="2">Inst.<br>#</th><th colspan="2">CPX-IP</th><th colspan="2">CPX-CP</th><th colspan="2">LSSOL</th><th colspan="2">1-ILS*</th><th colspan="2">2-ILS</th><th colspan="2">3-ILS</th><th colspan="2">MMCOL</th></tr><tr><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th><th>Suc#</th><th>Avg.</th></tr></thead><tbody><tr><td>0.3</td><td>100</td><td>10</td><td>2496.03</td><td>98</td><td>2499.87</td><td>13</td><td>2496.35</td><td>100</td><td>2500</td><td>99</td><td>2499.98</td><td>100</td><td>2500</td><td>98</td><td>2499.96</td><td>100</td><td>2500</td><td>0.22</td></tr><tr><td>0.4</td><td>100</td><td>1</td><td>2493.78</td><td>66</td><td>2498.02</td><td>4</td><td>2494.65</td><td>99</td><td>2499.98</td><td>100</td><td>2500</td><td>100</td><td>2500</td><td>93</td><td>2499.86</td><td>100</td><td>2500</td><td>0.16</td></tr><tr><td>0.5</td><td>100</td><td>0</td><td>2488.52</td><td>4</td><td>2489.92</td><td>1</td><td>2492.96</td><td>95</td><td>2499.89</td><td>98</td><td>2499.95</td><td>100</td><td>2500</td><td>67</td><td>2499.25</td><td>100</td><td>2500</td><td>0.31</td></tr><tr><td>0.6</td><td>100</td><td>0</td><td>2476.21</td><td>0</td><td>2478.87</td><td>0</td><td>2489.21</td><td>7</td><td>2496.23</td><td>7</td><td>2496.3</td><td>20</td><td>2497.18</td><td>0</td><td>2494.67</td><td>85</td><td>2499.64</td><td>17.55</td></tr><tr><td>0.7</td><td>100</td><td>0</td><td>2446.4</td><td>0</td><td>2451.04</td><td>0</td><td>2463.45</td><td>0</td><td>2469.47</td><td>0</td><td>2469.78</td><td>0</td><td>2470.07</td><td>0</td><td>2467.77</td><td>0</td><td>2478.94</td><td>3513.73</td></tr><tr><td>0.8</td><td>100</td><td>0</td><td>2394.58</td><td>0</td><td>2388.1</td><td>0</td><td>2393.67</td><td>0</td><td>2394.14</td><td>0</td><td>2394.11</td><td>0</td><td>2394.14</td><td>0</td><td>2394.09</td><td>0</td><td>2364.61</td><td>0.10</td></tr><tr><td>0.3</td><td>100</td><td>0</td><td>3593.07</td><td>77</td><td>3598.29</td><td>0</td><td>3593.2</td><td>99</td><td>3599.98</td><td>100</td><td>3600</td><td>100</td><td>3600</td><td>64</td><td>3599.28</td><td>100</td><td>3600</td><td>0.69</td></tr><tr><td>0.4</td><td>100</td><td>0</td><td>3590.68</td><td>19</td><td>3592.55</td><td>0</td><td>3591.17</td><td>99</td><td>3599.97</td><td>98</td><td>3599.96</td><td>100</td><td>3600</td><td>43</td><td>3598.58</td><td>100</td><td>3600</td><td>0.52</td></tr><tr><td>0.5</td><td>100</td><td>0</td><td>3585.29</td><td>1</td><td>3585.83</td><td>0</td><td>3587.5</td><td>83</td><td>3599.65</td><td>81</td><td>3598.58</td><td>97</td><td>3599.94</td><td>21</td><td>3597.53</td><td>100</td><td>3600</td><td>0.67</td></tr><tr><td>0.6</td><td>100</td><td>0</td><td>3572.61</td><td>0</td><td>3573.7</td><td>0</td><td>3585.52</td><td>5</td><td>3595.82</td><td>2</td><td>3595.85</td><td>13</td><td>3596.67</td><td>1</td><td>3592.77</td><td>97</td><td>3599.94</td><td>13.41</td></tr><tr><td>0.7</td><td>100</td><td>0</td><td>3534.71</td><td>0</td><td>3540.45</td><td>0</td><td>3561.05</td><td>0</td><td>3571.47</td><td>0</td><td>3570.58</td><td>0</td><td>3572.12</td><td>0</td><td>3566.51</td><td>0</td><td>3589.82</td><td>4297.18</td></tr><tr><td>0.8</td><td>100</td><td>0</td><td>3478.58</td><td>0</td><td>3464.14</td><td>0</td><td>3476.44</td><td>0</td><td>3478.59</td><td>0</td><td>3478.37</td><td>0</td><td>3478.49</td><td>0</td><td>3478.05</td><td>0</td><td>3431.85</td><td>0.10</td></tr><tr><td>0.3</td><td>100</td><td>0</td><td>4890.2</td><td>38</td><td>4893.75</td><td>0</td><td>4890.25</td><td>99</td><td>4899.98</td><td>99</td><td>4899.98</td><td>100</td><td>4900</td><td>13</td><td>4897.32</td><td>100</td><td>4900</td><td>0.90</td></tr><tr><td>0.4</td><td>100</td><td>0</td><td>4887.73</td><td>5</td><td>4888.36</td><td>1</td><td>4887.98</td><td>98</td><td>4899.96</td><td>99</td><td>4899.98</td><td>99</td><td>4899.98</td><td>4</td><td>4896.4</td><td>100</td><td>4900</td><td>0.65</td></tr><tr><td>0.5</td><td>100</td><td>0</td><td>4881.09</td><td>0</td><td>4881.17</td><td>0</td><td>4882.9</td><td>76</td><td>4899.41</td><td>78</td><td>4899.44</td><td>81</td><td>4899.57</td><td>0</td><td>4893.97</td><td>100</td><td>4900</td><td>1.51</td></tr><tr><td>0.6</td><td>100</td><td>0</td><td>4868.21</td><td>0</td><td>4868.74</td><td>0</td><td>4877.77</td><td>2</td><td>4895.3</td><td>0</td><td>4896.93</td><td>9</td><td>4896.19</td><td>0</td><td>4888.52</td><td>100</td><td>4900</td><td>19.82</td></tr><tr><td>0.7</td><td>100</td><td>0</td><td>4829.65</td><td>0</td><td>4831.94</td><td>0</td><td>4859.71</td><td>0</td><td>4872.41</td><td>0</td><td>4870.97</td><td>0</td><td>4872.95</td><td>0</td><td>4864.38</td><td>4</td><td>4894.58</td><td>4617.20</td></tr><tr><td>0.8</td><td>100</td><td>0</td><td>4761.44</td><td>0</td><td>4737.73</td><td>0</td><td>4761.17</td><td>0</td><td>4766.67</td><td>0</td><td>4765.81</td><td>0</td><td>4765.91</td><td>0</td><td>4763.93</td><td>0</td><td>4698.78</td><td>0.10</td></tr></tbody></table>
preprocessing of Section II-B, indicating that these instances
cannot be fully completed. Let $\alpha > 0$ be the number of vertices
with an empty color domain identified during the preprocess-
ing, $n^2 - \alpha$ defines an upper bound of the given instance, which
is strictly tighter than the trivial $n^2$ bound.

ACKNOWLEDGMENT

The authors would like to thank Dr. K. Haraguchi for
making the benchmark instances tested in [21] available
and sharing the codes of his ILS algorithm with them and
Dr. U. Benlic for her comments on this paper.

REFERENCES

[1] L. Anderson, "Completing partial latin squares," *Mathematisk Fysiske Meddelelser*, vol. 41, no. 2, pp. 23–69, 1985.

[2] C. Ansótegui, A. del Val, I. Dotú, C. Fernández, and F. Manyà, "Modeling choices in quasigroup completion: SAT vs. CSP," in *Proc. AAAI*, San Jose, CA, USA, 2004, pp. 137–142.

[3] R. A. Barry and P. A. Humblet, "Latin routers, design and implementation," *J. Lightw. Technol.*, vol. 11, no. 56, pp. 891–899, May/Jun. 1993.

[4] U. Benlic and J.-K. Hao, "A multilevel memetic approach for improv-
ing graph k-partitions," *IEEE Trans. Evol. Comput.*, vol. 15, no. 5,
pp. 624–642, Oct. 2011.

[5] M. Biró, M. Hujter, and Z. Tuza, "Precoloring extension. I. Interval graphs," *Discr. Math.*, vol. 100, nos. 1–3, pp. 267–279, 1992.

[6] R. C. Bose, "Strongly regular graphs, partial geometries and partially balanced designs," *Pac. J. Math.*, vol. 13, no. 2, pp. 389–419, 1963.

[7] X. Chen, Y.-S. Ong, M.-H. Lim, and K. C. Tan, "A multi-facet survey on memetic computation," *IEEE Trans. Evol. Comput.*, vol. 15, no. 5, pp. 591–607, Oct. 2011.

[8] C. J. Colbourn, "The complexity of completing partial latin squares," *Discr. Appl. Math.*, vol. 8, no. 1, pp. 25–30, 1984.

[9] C. J. Colbourn and J. H. Dinitz, *Handbook of Combinatorial Designs*, 2nd ed. Boca Raton, FL, USA: CRC Press, 2006.

[10] R. Dorne and J.-K. Hao, "Tabu search for graph coloring, T-colorings and set T-colorings," in *Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization*, S. Voss, S. Martello, I. H. Osman, and C. Roucairol, Eds. London, U.K.: Kluwer, 1998, ch. 6, pp. 77–92.

[11] T. Easton and R. G. Parker, "On completing latin squares," *Discr. Appl. Math.*, vol. 113, no. 2, pp. 167–181, 2001.

[12] P. Erdös, A. L. Rubin, and H. Taylor, "Choosability in graphs," in *Proc. West Coast Conf. Comb. Graph Theory Comput. Congr. Numerantium* XXVI, 1979, pp. 125–157.

[13] L. Feng, Y. S. Ong, M. H. Lim, and I. W. Tsang, "Memetic search with inter domain learning: A realization between CVPR and CARP," *IEEE Trans. Evol. Comput.*, vol. 19, no. 5, pp. 644–658, Oct. 2015.

[14] P. Galinier and J. K. Hao, "Hybrid evolutionary algorithms for graph coloring," *J. Comb. Optim.*, vol. 3, no. 4, pp. 379–397, 1999.

[15] F. Glover and M. Laguna, "Tabu search," in *Handbook of Combinatorial Optimization*. Boston, MA, USA: Springer, 1998, pp. 2093–2229.

[16] V. Gogate and R. Dechter, "SampleSearch: Importance sampling in presence of determinism," *Artif. Intell.*, vol. 175, no. 2, pp. 694–729, 2011.

[17] C. Gomes and D. Shmoys, "Completing quasigroups or latin squares: A structured graph coloring problem," in *Proc. Comput. Symp. Graph Color. Generalization*, 2002, pp. 22–39.

[18] C. Gomes, R. G. Regis, and D. B. Shmoys, "An improved approximation algorithm for the partial latin square extension problem," *Oper. Res. Lett.*, vol. 32, no. 5, pp. 479–484, 2004.

[19] M. Hall, Jr., "Distinct representatives of subsets," *Bull. Amer. Math. Soc.*, vol. 54, no. 10, pp. 922–926, 1948.

[20] J.-K. Hao, "Memetic algorithms in discrete optimization," in *Handbook of Memetic Algorithms* (Studies in Computational Intelligence), vol. 379. Berlin, Germany: Springer-Verlag, 2012, ch. 6, pp. 73–94.

[21] K. Haraguchi, "Iterated local search with trellis-neighborhood for the partial latin square extension problem," *J. Heuristics*, vol. 22, no. 5, pp. 727–757, 2016.

[22] A. Hertz and D. de Werra, "Using tabu search techniques for graph coloring," *Computing*, vol. 39, no. 4, pp. 345–351, 1987.

[23] T. R. Jensen and B. Toft, *Graph Coloring Problems*. New York, NY, USA: Wiley, 1995.

[24] Y. Jin and J. K. Hao, "Hybrid evolutionary search for the minimum sum coloring problem of graphs," *Inf. Sci.*, vols. 352–353, pp. 15–34, Jul. 2016.

[25] H. A. Kautz, Y. Ruan, D. Achlioptas, C. P. Gomes, and B. Selman, "Balance and filtering in structured satisfiable problems," in *Proc. 17th Int. Joint Conf. Artif. Intell. (IJCAI)*, Seattle, WA, USA, 2001, pp. 351–358.

[26] S. R. Kumar, A. Russell, and R. Sundaram, "Approximating latin square extensions," *Algorithmica*, vol. 24, no. 2, pp. 128–138, 1999.

[27] Z. Lü and J.-K. Hao, "A memetic algorithm for graph coloring," *Eur. J. Oper. Res.*, vol. 203, no. 1, pp. 241–250, 2010.

[28] R. M. R. Lewis, *A Guide to Graph Colouring—Algorithms and Applications*. Cham, Switzerland: Springer Int., 2016.

[29] C. F. Laywine and G. L. Mullen, "Discrete mathematics using Latin squares," in *Series in Discrete Mathematics and Optimization*, 1st ed. New York, NY, USA: Wiley, 1998.

[30] L. Moalic and A. Gondran, "Variations on memetic algorithms for graph coloring problems," *J. Heuristics*, vol. 24, no. 1, pp. 1–24, 2018.

[31] P. Moscato and C. Cotta, "A gentle introduction to memetic algorithms," in *Handbook of Metaheuristics*, F. Glover and G. Kochenberger, Eds. Norwell, MA, USA: Kluwer, 2003, pp. 105–144.

[32] F. Neri, C. Cotta, and P. Moscato, Eds., "Handbook of memetic algo-
rithms," in *Studies in Computational Intelligence*, vol. 379. Berlin,
Germany: Springer-Verlag, 2012.

[33] D. C. Porumbel, J.-K. Hao, and P. Kuntz, "An evolutionary approach with diversity guarantee and well-informed grouping recombination for graph coloring," *Comput. Oper. Res.*, vol. 37, no. 10, pp. 1822–1832, 2010.

[34] D. C. Porumbel, J. K. Hao, and P. Kuntz, "An efficient algorithm for computing the distance between close partitions," *Discr. Appl. Math.*, vol. 159, no. 1, pp. 53–59, 2011.

[35] S. Régnier, "Sur quelques aspects mathématiques des problèmes de classification automatique," *Mathématiques et Sci. Humaines*, vol. 82, no. 20, pp. 175–191, 1983.

[36] F. Rossi, P. Van Beek, and T. Walsh, *Handbook of Constraint Programming*. Amsterdam, The Netherlands: Elsevier, 2006.

[37] H. J. Ryser, "A combinatorial theorem with an application to latin rectangles," *Proc. Amer. Math. Soc.*, vol. 2, no. 4, pp. 550–552, 1951.

[38] Y. Zhou, J.-K. Hao, and B. Duval, "Opposition-based memetic search for the maximum diversity problem," *IEEE Trans. Evol. Comput.*, vol. 21, no. 5, pp. 731–745, Oct. 2017.