# On feasible and infeasible search for equitable graph coloring

Wen Sun, Jin-Kao Hao, Xiangjing Lai, Qinghua Wu

► To cite this version:

Wen Sun, Jin-Kao Hao, Xiangjing Lai, Qinghua Wu. On feasible and infeasible search for equitable graph coloring. Genetic and Evolutionary Computation Conference - GECCO '17, 2017, Berlin, Germany. pp.369-376, 10.1145/3071178.3071267. hal-02715117

HAL Id: hal-02715117

https://univ-angers.hal.science/hal-02715117

Submitted on 16 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_1.png" /></figure>
# On feasible and infeasible search for equitable graph coloring

Wen Sun

Université d'Angers
2 Bd Lavoisier, 49045 Angers, France
sun@info.univ-angers.fr

Xiangjing Lai

Nanjing University of Posts and Telecommunications
66 Xinmofan Road, Nanjing 210023, China
laixiangjing@gmail.com

Jin-Kao Hao*

Université d'Angers
2 Bd Lavoisier, 49045 Angers, France
hao@info.univ-angers.fr

Qinghua Wu

Huazhong University of Science and Technology
1037 Luoyu Road, Wuhan 430074, China
qinghuawu1005@gmail.com

## ABSTRACT

An equitable legal *k*-coloring of an undirected graph $G = (V, E)$ is a partition of the vertex set $V$ into $k$ disjoint independent sets, such that the cardinalities of any two independent sets differ by at most one (this is called the equity constraint). As a variant of the popular graph coloring problem (GCP), the equitable coloring problem (ECP) involves finding a minimum $k$ for which an equitable legal $k$-coloring exists. In this paper, we present a study of searching both feasible and infeasible solutions with respect to the equity constraint. The resulting algorithm relies on a mixed search strategy exploring both equitable and inequitable colorings unlike existing algorithms where the search is limited to equitable colorings only. We present experimental results on 73 DIMACS and COLOR benchmark graphs and demonstrate the competitiveness of this search strategy by showing 9 improved best-known results (new upper bounds).

## KEYWORDS

Equitable coloring; tabu search; heuristics; penalty-based fitness function.

**ACM Reference format:**

Wen Sun, Jin-Kao Hao, Xiangjing Lai, and Qinghua Wu. 2017. On feasible and infeasible search for equitable graph coloring. In *Proceedings of GECCO '17, Berlin, Germany, July 15-19, 2017*, 8 pages.

DOI: http://dx.doi.org/10.1145/3071178.3071267

## 1 INTRODUCTION

Given an undirected graph $G = (V, E)$ with the vertex set $V$ and the edge set $E \subset V \times V$, an independent set of $G$ is a subset of $V$ such that any pair of its vertices are not linked by an edge of $E$. An equitable legal $k$-coloring of $G$ is a partition of the vertex set $V$ into $k$ disjoint independent sets $\{V_1, V_2, \cdots, V_k\}$ such that $||V_i| - |V_j|| \le 1, i \ne j, 1 \le i, j \le k$. This last constraint is called the equity constraint of a coloring. The equitable coloring problem (ECP) in graphs involves finding an equitable legal $k$-coloring with $k$ minimum for general graphs. This minimum $k$ is called the equitable chromatic number of $G$ and denoted by $\chi_e(G)$.

As a variant of the conventional graph coloring problem (GCP), the decision version of the ECP is NP-complete. This can be proved by a straightforward reduction from graph coloring to equitable coloring by adding sufficiently many isolated vertices to a graph and testing whether the graph has an equitable coloring with a given number of colors [8]. The ECP model has a number of practical applications related to garbage collection [25], load balancing [3], timetabling [16], scheduling [7, 15, 24] and so on.

Much effort has been devoted to theoretical studies of the ECP. For example, Meyer conjectured that $\chi_e(G) \le \Delta(G)$ for any connected graph except the complete graphs and the odd circuits, where $\Delta(G)$ is the maximum vertex degree of $G$ [24]. This conjecture has been proved to be true for trees and graphs with $\Delta(G) = 3$ [6], connected bipartite graphs [20], graphs with the average degree at most $\Delta/5$ [18] and outerplanar graphs [17]. Bodlaender and Fomin [4] identified that the ECP can be solved in polynomial time for graphs with bounded treewidth. Furmańczyk and Kubale investigated the computational complexity of the ECP for some special graphs [9]. Yan and Wang discussed the ECP for kronecker products of the complete multipartite graphs and complete graphs [26].

From a perspective of solution methods for the ECP in the general case, several exact algorithms have been proposed. Specifically, Bahiense et al. presented a branch-and-cut algorithm based on a formulation by representatives [1] and showed computational results only on a set of small random instances (with 60 vertices). Méndez-Díaz et al. investigated a polyhedral approach [22] and a Dsatur-based algorithm [23] and presented computational results for a subset of benchmark instances from the DIMACS and COLOR competitions.

Given the computational challenge of the ECP, exact algorithms suffer inevitably from an exponential time complexity and thus are only applicable to graphs of limited sizes (typically with less than 150 vertices). To handle larger graphs, heuristic algorithms are often used to find sub-optimal solutions in a reasonable time frame. The first heuristics are based on greedy constructive principles [8]. More recently, two powerful heuristics were proposed, which are based on the tabu search method: TabuEqCol [21] and BITS [19]. TabuEqCol is a straightforward adaptation of the well-known Tabu-Col algorithm designed for the classical graph coloring problem

<footnote>*Corresponding author, also affiliated with the Institut Universitaire de France.</footnote>
[10, 14]. BITS improves TabuEqCol by embedding a backtracking scheme under the iterated local search framework.

We observe that unlike the popular graph coloring problem for which many heuristic algorithms have been proposed, research on heuristics for the ECP is quite limited and is still in its infancy. In particular, one important feature of the problem identified by its equity constraint is not explicitly explored by the existing algorithms, which visit equity-feasible solutions only. On the other hand, it is well known that for constrained optimization problems (like the ECP), allowing a controlled exploration of infeasible solutions may facilitate transitions between structurally different solutions and help discover high-quality solutions that are difficult to locate if the search is confined to the feasible region [12].

In this work, we present a feasible and infeasible search algorithm for the ECP which enlarges the search to include equity-infeasible solutions. To prevent the search from going too far away from the feasible boundary, we devise an extended penalty-based fitness function which is used to guide the search for an effective examination of candidate solutions. We show computational results on a set of 73 benchmark graphs from the DIMACS and COLOR competitions to assess the interest of the proposed approach. These results include especially 9 improved best solutions (new upper bounds) which can be used to assess other algorithms for the ECP in the future.

The remainder of the paper is organized as follows. Section 2 introduces some preliminary definitions. Section 3 is dedicated to the description of the proposed algorithm. Section 4 presents computational results and comparisons with state-of-the-art algorithms. Section 5 analyzes the impact of some key components of the proposed algorithm. Conclusions and future work are discussed in the last section.

## 2 BASIC DEFINITIONS

We introduce the following basic definitions which are useful for the description of the proposed approach, where $G = (V, E)$ is a given graph.

**Definition 2.1.** A *candidate coloring* of $G$ is any partition of the vertex set $V$ into $k$ subsets $V_1, V_2, \dots, V_k$, where each $V_i$ is called a color class.

**Definition 2.2.** A *legal coloring* is a conflict-free coloring composed of independent sets, i.e., any pair of vertices of any color class are not linked by an edge in $E$. Otherwise, it is an illegal or conflicting coloring.

**Definition 2.3.** An *equitable coloring* or *equity-feasible solution* is any candidate coloring satisfying the equity constraint, i.e., the cardinalities of any two color classes differ by at most one. Otherwise, it is an *equity-infeasible solution*.

## 3 GENERAL APPROACH

The equitable coloring problem (ECP) involves finding the smallest number of colors $k$ such that an equitable legal $k$-coloring exists for a given graph $G$. Like for the conventional GCP [11], the ECP can be approximated by finding a series of equitable legal $k$-colorings for decreasing $k$ values. To seek an equitable legal $k$-coloring for a given $k$, one typically explores the space of equity-feasible colorings

while minimizing a fitness function $f$ which counts the number of conflicting edges [19, 21]. The ECP problem with a given $k$ is called the $k$-ECP problem.

This study follows this general approach of solving a series of $k$-ECP problems. However for each fixed $k$, our algorithm explores candidate solutions which include both equity-feasible and equity-infeasible colorings. For this, our feasible and infeasible search algorithm (FISA) introduces an extended fitness function $F$ which is employed to measure the quality of any candidate solution.

The proposed FISA algorithm is composed of two search phases (see Sections 3.1 and 3.2). The first phase examines only the space of equity-feasible colorings to seek a legal (i.e., conflict-free) $k$-coloring. If a legal $k$-coloring is found, the $k$-ECP problem is solved with the current $k$ value and we continue with the new $k$-ECP problem by setting $k = k - 1$. To be effective, the first phase is based on the basic tabu search procedure of the BITS algorithm [19]. If the first phase fails to find a legal $k$-coloring with the equity-feasible space, the second phase is invoked to enlarge the search to include equity-infeasible colorings. To explore the enlarged search space, this second phase relies on the extended fitness function $F$ to guide the search process. The infeasible search phase terminates if an equitable coloring is found or if the best solution found so far cannot be improved during 10000 consecutive iterations. The pseudo-code of the FISA algorithm is given in Algorithm 1. The algorithm starts with an initial equity-feasible solution which is generated with a simple greedy heuristic presented in [19]. In the next sections, we explain the search strategies of both phases of the FISA algorithm.

<caption>**Algorithm 1** Main Scheme of the FISA algorithm for the ECP</caption>

1: **Input:** Graph $G$; $k$ colors
2: **Output:** An equitable legal $k$-coloring if found
3: $s_0 \leftarrow greedy\_initial(G, k) / *$ Generate an initial equity-feasible $k$-coloring */*
4: $s_1 \leftarrow feasible\_search(s_0) / *$ Section 3.1 */*
5: **if** $f(s_1) = 0$ **then**
6:     **return**($s_1$) and **stop**
7: **end if**
8: **while** stopping condition is not met **do**
9:     $s_2 \leftarrow infeasible\_search(s_1) / *$ Section 3.2 */*
10:    **if** $F(s_2) = 0$ **then**
11:     **return**($s_2$) and **stop**
12:    **end if**
13:    $s_1 \leftarrow perturbation(s_2)$
14: **end while**

### 3.1 Searching equity-feasible solutions [19]

The first phase of the proposed FISA algorithm searches the space of candidate solutions which verifies the equity constraint and tries to find a legal $k$-coloring. This is achieved by minimization of the number of conflicting edges of candidate equitable $k$-colorings, an edge is conflicting if its endpoints belong to the same color class.

3.1.1 *Equity-feasible space and fitness function.* We define the equity-feasible space $\Omega_k$ to be the set of all candidate colorings verifying the equity constraint. Formally, $\Omega_k$ is given by
$$ \Omega_k = \{ \{V_1, V_2, \dots, V_k\} : \|V_i\| - |V_j| \le 1, \cup_{i=1}^k V_i = V, V_i \cap V_j = \emptyset \} \quad (1) $$

where $i \neq j, 1 \le i, j \le k$.

To assess the quality of a candidate solution $s$ in $\Omega_k$, the evaluation or fitness function counts the number of conflicting edges in the color classes of $s$. Specifically, let $s = \{V_1, V_2, \dots, V_k\} \in \Omega_k$ be a candidate solution, let $C(V_i)$ denote the set of conflicting edges with both endpoints in $V_i$. The fitness function $f$ (which is to be minimized) is given by

$$ f(s) = \sum_{i=1}^{k} |C(V_i)| \quad (2) $$

Therefore, a solution $s$ with $f(s) = 0$ is an equitable legal $k$-coloring satisfying both the equity and coloring constraints. When such a solution is found, the associated $k$-ECP problem is solved.

The feasible search phase of the FISA algorithm uses this fitness function to guide its search process to visit solutions of $\Omega_k$ in order to obtain a solution $s$ with $f(s) = 0$.

### 3.1.2 Move operators to explore space $\Omega_k$
To explore the space $\Omega_k$, the feasible search phase applies two move operators to generate neighboring solutions from the current solution. Let $s = \{V_1, V_2, \dots, V_k\}$ be the current solution. Let $C(s)$ denote the set of conflicting vertices involved in the conflicting edges of $s$.

(1) One-move operator: It transfers a conflicting vertex $v$ from its current color class $V_i$ to a different color class $V_j$ ensuring that the equity constraint is always respected, i.e., $|V_i| > \lfloor \frac{n}{k} \rfloor, |V_j| < \lfloor \frac{n}{k} \rfloor$. Let $<v, V_i, V_j>$ denote such a move. We use $s \oplus <v, V_i, V_j>$ to denote the neighboring solution generated by applying the move to $s$. Then the neighborhood $N_1$ induced by this move operator contains all possible solutions obtained by applying “one-move” to $s$, i.e.,

$$ N_1(s) = \{s \oplus <v, V_i, V_j> : v \in V_i \cap C(s)\} \quad (3) $$

where $1 \le i, j, \le k, i \neq j, |V_i| > \lfloor \frac{n}{k} \rfloor, |V_j| < \lfloor \frac{n}{k} \rfloor$.

Note that the one-move operator is not applicable if $\lfloor \frac{n}{k} \rfloor = \lceil \frac{n}{k} \rceil$. In this case, the neighborhood $N_1$ is empty.

(2) Swap operator: It exchanges a conflicting vertex $v$ of color class $V_i$ with another vertex $u$ of color class $V_j$ ($i \neq j$). Let $swap(v, u)$ denote such a move. The neighborhood $N_2$ induced by the swap operator is composed of all possible solutions obtained by applying “swap” to $s$ (recall that $C(s)$ is the set of conflicting vertices of $s$).

$$ N_2(s) = \{s \oplus swap(v, u) : v \in V_i, u \in V_j, i \neq j, \{v, u\} \cap C(s) \neq \emptyset\} \quad (4) $$

Since this operator does not change the cardinality of any color class, a neighboring solution generated by this operator is always equity-feasible (given that the current solution is an equitable $k$-coloring).

### 3.1.3 Exploration of the space $\Omega_k$
Starting from an equitable (conflicting) $k$-coloring of $\Omega_k$, the first phase of FISA iteratively improves the solution according to the tabu search method [13]. Specifically, the basic tabu search procedure ($TS^0$) described in [19] is applied to find a conflict-free $k$-coloring. At each iteration, a best admissible candidate solution is taken among the neighboring solutions of $N_1$ and $N_2$ to replace the current solution. The underlying move ($<v, V_i, V_j>$ for one-move or $swap(v, u)$) is recorded in the so-called tabu list in order to forbid the reverse move for a fixed number of next iterations. This tabu search process continues until either a solution $s$ with $f(s) = 0$ is found in which case, the current $k$-ECP problem is solved, or the current solution is not improved during a fixed number of consecutive iterations in which case the FISA algorithm moves to the second search phase.

## 3.2 Searching equity-infeasible solutions

When the first phase fails to identify an equitable legal $k$-coloring within the equity-feasible space $\Omega_k$, the FISA algorithm invokes the second phase to explore an enlarged space $\Omega_k^+$ including both equity-feasible and equity-infeasible solutions.

### 3.2.1 Equity-infeasible space and extended fitness function
The enlarged search space $\Omega_k^+$ explored by the second phase contains all possible partitions of the vertex set $V$ into $k$ disjoint subsets as follows.

$$ \Omega_k^+ = \{\{V_1, V_2, \dots, V_k\}, \cup_{i=1}^k V_i = V, V_i \cap V_j = \emptyset\} \quad (5) $$

where $i \neq j, 1 \le i, j \le k$.

We note that this enlarged search subsumes the equity-feasible space $\Omega_k$ and additionally includes the equity-infeasible solutions.

To evaluate the quality of the solutions of $\Omega_k^+$, we devise an extended penalty-based fitness function $F$. For this purpose, we first introduce some notations.

Let $W^+ = \lceil n/k \rceil$ and $W^- = \lfloor n/k \rfloor$, which represent respectively the theoretical cardinality of the largest and smallest color classes in an equitable $k$-coloring. Then for an equitable $k$-coloring $s = \{V_1, V_2, \dots, V_k\}$, $W^- \le |V_i| \le W^+$ ($i = 1, \dots, k$) holds. Let $s = \{V_1, V_2, \dots, V_k\}$ be a candidate solution in $\Omega_k^+$, we define the penalty $\rho_i$ ($i = 1, \dots, k$) for each color class $V_i$ of the solution $s$ to be the gap between $|V_i|$ and the theoretical cardinalities as follows.

$$ \rho_i = \begin{cases} |V_i| - W^+, & \text{if } |V_i| \ge W^+ \\ W^- - |V_i|, & \text{if } |V_i| \le W^- \end{cases} \quad (6) $$

Then we define our extended fitness function $F$ (to be minimized) as a linear combination of the basic fitness function $f$ (Equation (2)) and a penalty function as follows.

$$ F(s) = \sum_{i=1}^{k} |C(V_i)| + \varphi \sum_{i=1}^{k} \rho_i \quad (7) $$

where $C(V_i)$ is the set of conflicting edges in color class $V_i$ and $\varphi$ (a parameter with $\varphi \ge 1$) is the penalty coefficient which is used to control the importance given to the penalty function (see Section 5.1 for an analysis of $\varphi$). According to this definition, a candidate solution violating strongly (weakly) the equity constraint will be
penalized more harshly (slightly). Since in general the number of conflicting edges (the first term) of F decreases quickly when the search progresses, the penalty term has the desirable property of helping the search process to avoid infeasible solutions which are too far from the feasibility boundaries. Note that the penalty term of an equitable coloring equals 0.

Therefore, a partition $s \in \Omega_k^+$ with $F(s) = 0$ corresponds to a equitable and legal $k$-coloring, i.e., satisfying both the equity and coloring constraints and is thus a solution to the $k$-ECP problem.

### 3.2.2 Move operators to explore the space $\Omega_k^+$.
To explore the search space $\Omega_k^+$, the infeasible search phase also applies two move operators to generate neighboring solutions. Let $s = \{V_1, V_2, \dots, V_k\}$ be the current solution. Let $C(s)$ denote the set of conflicting vertices of $s$, i.e., the vertices involved in a conflicting edge.

(1) One-move operator: Like for the first search phase, this operator displaces a conflicting vertex $v$ from its current color class $V_i$ to another color class $V_j$. However, the equity constraint is no more considered. This leads to the following enlarged neighborhood.

$$N_1^+(s) = \{s \oplus <v, V_i, V_j> : v \in V_i \cap C(s), 1 \le i, j \le k, i \ne j\} \quad (8)$$

Clearly $N_1^+$ is bounded by $O(|C(s)| \times k)$ in size. To effectively calculate the move gain which identifies the change in the fitness function $F$ (Equation (7)), we adapt the fast incremental evaluation technique of [19]. The main idea is to maintain a matrix $A$ of size $n \times k$ with elements $A[v][q]$ recording the number of vertices adjacent to $v$ in color class $V_q$ ($1 \le q \le k$). Another $n \times k$ matrix $B$ is maintained with elements $B[v][q]$ representing the penalty value of vertex $v$ assigned to color class $q$ in the current solution. Then, the move gain of each one-move in terms of extended fitness variation can be conveniently computed by

$$\Delta F = A[v][j] - A[v][i] + \varphi(B[v][j] - B[v][i]) \quad (9)$$

where $\varphi$ is the penalty coefficient used in the extended fitness function $F$.

Each time a one-move operation involving vertex $v$ is performed, we just need to update a subset of values affected by this move as follows. For each vertex $u$ adjacent to vertex $v$, $A[u][i] \leftarrow A[u][i]-1$, and $A[u][j] \leftarrow A[u][j]+1$. For any vertex $w$, $B[w][j] \leftarrow \sum_{i=1}^k \rho_i$, $1 \le j \le k$. $B[w][j] = B[u][j]$, if $w$ and $u$ belong to the same color class.

(2) Swap operator: The same swap operator as for the first phase is applied to exchange a pair of vertices $(u, v)$ from different color classes where at least one of them is a conflicting vertex. However, there is an important difference. Since the second search phase operates in the enlarged space $\Omega_k^+$ instead of $\Omega_k$, the equity-feasibility of a neighboring solution fully depends on the current solution. That is, if the current solution is equity-infeasible (equity-feasible), application of swap leads to an equity-infeasible (equity-feasible) solution. The resulting swap-based neighborhood is thus given as follows.

$$N_2^+(s) = \{s \oplus \text{swap}(v, u) : v \in V_i, u \in V_j, i \ne j, \{v, u\} \cap C(s) \ne \emptyset\} \quad (10)$$

where $C(s)$ is the set of conflicting vertices of $s$. Notice that the swap operation has no impact on the penalty value of the neighboring solution and can only change the number of conflicting edges. Then the fitness gain of a swap operation can be computed by

$$\Delta F = A[u][i] - A[u][j] + A[v][j] - A[v][i] - 2e_{v,u} \quad (11)$$

where $e_{v,u} = 1$ if $v$ and $u$ are adjacent vertices, otherwise $e_{v,u} = 0$.

### 3.2.3 Exploration of the enlarged space $\Omega_k^+$.
To explore the enlarged space $\Omega_k^+$, we apply again the tabu search method. Specifically, each iteration of tabu search selects the best admissible solutions among the neighboring solution of $N_1^+$ and $N_2^+$. The procedure makes transitions between various $k$-coloring while minimizing the extended fitness function $F$ with the purpose of attaining a solution $s$ with $F(s) = 0$.

### 3.2.4 Perturbation of infeasible search.
The tabu list used by the equity-infeasible exploration phase helps the search process to go beyond some local optima. Yet, this mechanism may not be sufficient to escape deep traps. To overcome this problem, we apply a perturbation procedure inspired by the procedure of [19]. This operator follows the perturbation scheme of breakout local search [2] and combines directed and random applications of the one-move and swap operators. To avoid a too strong deterioration of the perturbed solution, a directed perturbation move takes into consideration the fitness variation and performs the most favorable move (i.e., deteriorating the solution the least). In contrary, a random perturbation performs a one-move or swap operation without considering the fitness deterioration. To combine these two types of perturbations, the number of performed moves dynamically varies in an adaptive way while the application of each type of perturbation is determined probabilistically. The resulting solution from the perturbation procedure is then used as the new starting solution of the next round of the infeasible search phase.

# 4 EXPERIMENTAL RESULTS AND COMPARISONS

In this section, we assess the performance of the proposed FISA algorithm on the set of 73 benchmark instances which are commonly used in the literature and were initially proposed for the DIMCAS and COLOR competitions for graph coloring problems<fnref n="1" />, <fnref n="2" />.

## 4.1 Experiment settings

The proposed algorithm was coded in C++ and compiled by GNU g++ 4.1.2 with -O3 flag (option). The experiments were conducted on a computer with an Intel Xeon E5-2670 processor (2.5 GHz and 2 GB RAM) running Ubuntu 12.04. When solving the DIMACS

<footnote n="1">¹http://www.dimacs.rutgers.edu/</footnote>

<footnote n="2">²http://www.cs.hbg.psu.edu/txn131/graphcoloring.html/</footnote>
<table><caption>Table 1: Comparative results of FISA with state-of-the-art algorithms on the 73 benchmark instances.</caption><thead><tr><th rowspan="2">Instance</th><th rowspan="2">|V|</th><th colspan="3">TabuEqCol [21]</th><th colspan="2">BITS [19]</th><th colspan="4">FISA</th><th rowspan="2">t<sub>avg</sub></th><th rowspan="2">Δ(k<sub>1</sub>)</th><th rowspan="2">Δ(k<sub>best</sub>)</th></tr><tr><th>LB [22, 23]</th><th>UB [22, 23]</th><th>k<sub>1</sub></th><th>k<sub>1</sub> (pre)</th><th>k<sub>best</sub> (pre)</th><th>k<sub>1</sub></th><th>k<sub>best</sub></th><th>k<sub>avg</sub></th><th>SR</th></tr></thead><tbody><tr><td>DSJC125.1.col</td><td>125</td><td>5</td><td>5</td><td>5*</td><td>5*</td><td>5*</td><td>5*</td><td>5*</td><td>5</td><td>20/20</td><td>0.617</td><td>0</td><td>0</td></tr><tr><td>DSJC125.5.col</td><td>125</td><td>9</td><td>18</td><td>18</td><td>17</td><td>17</td><td>17</td><td>17</td><td>17</td><td>20/20</td><td>428.281</td><td>0</td><td>0</td></tr><tr><td>DSJC125.9.col</td><td>125</td><td>43</td><td>45</td><td>45</td><td>44</td><td>44</td><td>44</td><td>44</td><td>44</td><td>20/20</td><td>0.094</td><td>0</td><td>0</td></tr><tr><td>DSJC250.1.col</td><td>250</td><td>5</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>20/20</td><td>3.619</td><td>0</td><td>0</td></tr><tr><td>DSJC250.5.col</td><td>250</td><td>12</td><td>32</td><td>32</td><td>32</td><td>29</td><td>29</td><td>29.35</td><td>29.35</td><td>13/20</td><td>5235.95</td><td>-3</td><td>0</td></tr><tr><td>DSJC250.9.col</td><td>250</td><td>63</td><td>83</td><td>83</td><td>72</td><td>72</td><td>72</td><td>72</td><td>72</td><td>20/20</td><td>892.236</td><td>0</td><td>0</td></tr><tr><td>DSJC500.1.col</td><td>500</td><td>5</td><td>13</td><td>13</td><td>13</td><td>13</td><td>13</td><td>13</td><td>13</td><td>20/20</td><td>3.569</td><td>0</td><td>0</td></tr><tr><td>DSJC500.5.col</td><td>500</td><td>13</td><td>62</td><td>63</td><td>57</td><td>56</td><td>53</td><td>52</td><td>53.25</td><td>1/20</td><td>8197.02</td><td>-4</td><td>-4</td></tr><tr><td>DSJC500.9.col</td><td>500</td><td>101</td><td>148</td><td>182</td><td>130</td><td>129</td><td>131</td><td>130</td><td>131</td><td>3/20</td><td>6269.63</td><td>1</td><td>1</td></tr><tr><td>DSJR500.1.col</td><td>500</td><td>12</td><td>12</td><td>12*</td><td>12*</td><td>12*</td><td>12*</td><td>12*</td><td>12</td><td>20/20</td><td>0.38</td><td>0</td><td>0</td></tr><tr><td>DSJR500.5.col</td><td>500</td><td>120</td><td>131</td><td>133</td><td>126</td><td>126</td><td>126</td><td>126</td><td>126.5</td><td>10/20</td><td>4459.5</td><td>0</td><td>0</td></tr><tr><td>DSJC1000.1.col</td><td>1000</td><td>5</td><td>22</td><td>22</td><td>22</td><td>21</td><td>21</td><td>21</td><td>21</td><td>20/20</td><td>1866.63</td><td>-1</td><td>0</td></tr><tr><td>DSJC1000.5.col</td><td>1000</td><td>15</td><td>112</td><td>112</td><td>112</td><td>101</td><td>98</td><td>95</td><td>96.1</td><td>2/20</td><td>15698.6</td><td>-14</td><td>-6</td></tr><tr><td>DSJC1000.9.col</td><td>1000</td><td>126</td><td>268</td><td>329</td><td>254</td><td>252</td><td>253</td><td>252</td><td>252.2</td><td>16/20</td><td>2240.02</td><td>-1</td><td>0</td></tr><tr><td>R125.1.col</td><td>125</td><td>-</td><td>-</td><td>-</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>20/20</td><td>0.0025</td><td>0</td><td>0</td></tr><tr><td>R125.5.col</td><td>125</td><td>-</td><td>-</td><td>-</td><td>36</td><td>36</td><td>36</td><td>36</td><td>36</td><td>20/20</td><td>0.6745</td><td>0</td><td>0</td></tr><tr><td>R250.1.col</td><td>250</td><td>-</td><td>-</td><td>-</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>20/20</td><td>0.0045</td><td>0</td><td>0</td></tr><tr><td>R250.5.col</td><td>250</td><td>-</td><td>-</td><td>-</td><td>67</td><td>66</td><td>67</td><td>66</td><td>66.9</td><td>2/20</td><td>3041.22</td><td>0</td><td>0</td></tr><tr><td>R1000.1.col</td><td>1000</td><td>-</td><td>-</td><td>-</td><td>20</td><td>20</td><td>20</td><td>20</td><td>20</td><td>20/20</td><td>2.244</td><td>0</td><td>0</td></tr><tr><td>R1000.5.col</td><td>1000</td><td>-</td><td>-</td><td>-</td><td>269</td><td>250</td><td>251</td><td>252</td><td>250.45</td><td>11/20</td><td>11564.2</td><td>-18</td><td>0</td></tr><tr><td>le450.5a.col</td><td>450</td><td>5</td><td>5</td><td>-</td><td>5*</td><td>5*</td><td>5*</td><td>5*</td><td>5</td><td>20/20</td><td>30.1971</td><td>0</td><td>0</td></tr><tr><td>le450.5b.col</td><td>450</td><td>5</td><td>5</td><td>7</td><td>5*</td><td>5*</td><td>5*</td><td>5*</td><td>5</td><td>20/20</td><td>44.2914</td><td>0</td><td>0</td></tr><tr><td>le450.5c.col</td><td>450</td><td>-</td><td>-</td><td>-</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>20/20</td><td>16.391</td><td>0</td><td>0</td></tr><tr><td>le450.5d.col</td><td>450</td><td>5</td><td>8</td><td>8</td><td>5</td><td>5*</td><td>5*</td><td>5*</td><td>5</td><td>20/20</td><td>14.0655</td><td>0</td><td>0</td></tr><tr><td>le450.15a.col</td><td>450</td><td>15</td><td>15</td><td>-</td><td>15*</td><td>15*</td><td>15*</td><td>15*</td><td>15</td><td>20/20</td><td>2.993</td><td>0</td><td>0</td></tr><tr><td>le450.15b.col</td><td>450</td><td>15</td><td>15</td><td>15*</td><td>15*</td><td>15*</td><td>15*</td><td>15*</td><td>15</td><td>20/20</td><td>2.4125</td><td>0</td><td>0</td></tr><tr><td>le450.15c.col</td><td>450</td><td>-</td><td>-</td><td>-</td><td>15</td><td>15</td><td>15</td><td>15</td><td>15.2</td><td>16/20</td><td>553.786</td><td>0</td><td>0</td></tr><tr><td>le450.15d.col</td><td>450</td><td>15</td><td>16</td><td>16</td><td>15</td><td>15</td><td>15*</td><td>15*</td><td>15.85</td><td>3/20</td><td>638.127</td><td>0</td><td>0</td></tr><tr><td>le450.25a.col</td><td>450</td><td>25</td><td>25</td><td>-</td><td>25*</td><td>25*</td><td>25*</td><td>25*</td><td>25</td><td>20/20</td><td>0.41</td><td>0</td><td>0</td></tr><tr><td>le450.25b.col</td><td>450</td><td>25</td><td>25</td><td>25*</td><td>25*</td><td>25*</td><td>25*</td><td>25*</td><td>25</td><td>20/20</td><td>0.46</td><td>0</td><td>0</td></tr><tr><td>le450.25c.col</td><td>450</td><td>-</td><td>-</td><td>-</td><td>26</td><td>26</td><td>26</td><td>26</td><td>26</td><td>20/20</td><td>86.9035</td><td>0</td><td>0</td></tr><tr><td>le450.25d.col</td><td>450</td><td>25</td><td>27</td><td>27</td><td>26</td><td>26</td><td>26</td><td>26</td><td>26</td><td>20/20</td><td>95.845</td><td>0</td><td>0</td></tr><tr><td>wap01a.col</td><td>2368</td><td>41</td><td>46</td><td>46</td><td>43</td><td>42</td><td>42</td><td>42</td><td>42.95</td><td>1/20</td><td>4544.77</td><td>-1</td><td>0</td></tr><tr><td>wap02a.col</td><td>2464</td><td>40</td><td>44</td><td>44</td><td>42</td><td>41</td><td>42</td><td>41</td><td>41</td><td>2/20</td><td>2538.33</td><td>0</td><td>0</td></tr><tr><td>wap03a.col</td><td>4730</td><td>40</td><td>50</td><td>50</td><td>46</td><td>45</td><td>46</td><td>45</td><td>45.7</td><td>6/20</td><td>20201.8</td><td>0</td><td>0</td></tr><tr><td>wap04a.col</td><td>5231</td><td>-</td><td>-</td><td>-</td><td>46</td><td>44</td><td>46</td><td>44</td><td>44.45</td><td>11/20</td><td>15614.2</td><td>0</td><td>0</td></tr><tr><td>wap05a.col</td><td>905</td><td>-</td><td>-</td><td>-</td><td>50</td><td>50</td><td>50</td><td>50</td><td>50</td><td>20/20</td><td>99.2625</td><td>0</td><td>0</td></tr><tr><td>wap06a.col</td><td>947</td><td>-</td><td>-</td><td>-</td><td>42</td><td>41</td><td>42</td><td>41</td><td>41.9</td><td>2/20</td><td>9340.42</td><td>0</td><td>0</td></tr><tr><td>wap07a.col</td><td>1809</td><td>-</td><td>-</td><td>-</td><td>43</td><td>43</td><td>43</td><td>43</td><td>43.05</td><td>19/20</td><td>4077.71</td><td>0</td><td>0</td></tr><tr><td>wap08a.col</td><td>1870</td><td>-</td><td>-</td><td>-</td><td>43</td><td>43</td><td>43</td><td>43</td><td>43.1</td><td>10/20</td><td>4872.74</td><td>0</td><td>0</td></tr><tr><td>flat300.28.0.col</td><td>300</td><td>11</td><td>36</td><td>36</td><td>35</td><td>34</td><td>33</td><td>32</td><td>33.6</td><td>1/20</td><td>4910.48</td><td>-2</td><td>-2</td></tr><tr><td>flat1000.50.0.col</td><td>1000</td><td>-</td><td>-</td><td>-</td><td>112</td><td>101</td><td>96</td><td>94</td><td>94.7</td><td>6/20</td><td>17321.4</td><td>-16</td><td>-7</td></tr><tr><td>flat1000.60.0.col</td><td>1000</td><td>-</td><td>-</td><td>-</td><td>112</td><td>101</td><td>97</td><td>94</td><td>94.8</td><td>5/20</td><td>10488.8</td><td>-15</td><td>-7</td></tr><tr><td>flat1000.76.0.col</td><td>1000</td><td>14</td><td>112</td><td>112</td><td>112</td><td>102</td><td>98</td><td>94</td><td>95.15</td><td>2/20</td><td>15246.4</td><td>-14</td><td>-8</td></tr><tr><td>latin_square.10.col</td><td>900</td><td>130</td><td>130</td><td>130</td><td>129</td><td>113</td><td>105</td><td>104</td><td>104.55</td><td>10/20</td><td>12666.2</td><td>-24</td><td>-9</td></tr><tr><td>C2000.5.col</td><td>2000</td><td>-</td><td>-</td><td>-</td><td>202</td><td>201</td><td>198</td><td>183</td><td>183.4</td><td>13/20</td><td>19702.3</td><td>-4</td><td>-18</td></tr><tr><td>C2000.9.col</td><td>2000</td><td>-</td><td>-</td><td>-</td><td>504</td><td>502</td><td>503</td><td>493</td><td>495.21</td><td>2/20</td><td>21163.9</td><td>-1</td><td>-9</td></tr><tr><td>mulsol.i.1.col</td><td>197</td><td>49</td><td>49</td><td>50</td><td>49*</td><td>49*</td><td>49*</td><td>49*</td><td>49</td><td>20/20</td><td>44.3365</td><td>0</td><td>0</td></tr><tr><td>mulsol.i.2.col</td><td>188</td><td>34</td><td>39</td><td>48</td><td>36</td><td>36</td><td>36</td><td>36</td><td>36.95</td><td>2/20</td><td>1914.22</td><td>0</td><td>0</td></tr><tr><td>fpsol2.i.1.col</td><td>496</td><td>65</td><td>65</td><td>78</td><td>65*</td><td>65*</td><td>65*</td><td>65*</td><td>65</td><td>20/20</td><td>1723.52</td><td>0</td><td>0</td></tr><tr><td>fpsol2.i.2.col</td><td>451</td><td>47</td><td>47</td><td>60</td><td>47*</td><td>47*</td><td>47*</td><td>47*</td><td>47.2</td><td>17/20</td><td>2357.15</td><td>0</td><td>0</td></tr><tr><td>fpsol2.i.3.col</td><td>425</td><td>55</td><td>55</td><td>79</td><td>55*</td><td>55*</td><td>55*</td><td>55</td><td>55</td><td>20/20</td><td>1310.01</td><td>0</td><td>0</td></tr><tr><td>inithx.i.1.col</td><td>864</td><td>54</td><td>54</td><td>66</td><td>54*</td><td>54*</td><td>54*</td><td>54*</td><td>56.9</td><td>7/20</td><td>3356.31</td><td>0</td><td>0</td></tr><tr><td>inithx.i.2.col</td><td>645</td><td>30</td><td>93</td><td>93</td><td>36</td><td>36</td><td>36</td><td>36</td><td>38.8</td><td>5/20</td><td>3275.5</td><td>0</td><td>0</td></tr><tr><td>inithx.i.3.col</td><td>621</td><td>-</td><td>-</td><td>-</td><td>38</td><td>37</td><td>38</td><td>37</td><td>39.85</td><td>4/20</td><td>2891.78</td><td>0</td><td>0</td></tr><tr><td>zeroein.i.1.col</td><td>211</td><td>49</td><td>49</td><td>51</td><td>49*</td><td>49*</td><td>49*</td><td>49*</td><td>49.6</td><td>8/20</td><td>1088.94</td><td>0</td><td>0</td></tr><tr><td>zeroein.i.2.col</td><td>211</td><td>36</td><td>36</td><td>51</td><td>36*</td><td>36*</td><td>36*</td><td>36*</td><td>36</td><td>20/20</td><td>123.876</td><td>0</td><td>0</td></tr><tr><td>zeroein.i.3.col</td><td>206</td><td>36</td><td>36</td><td>49</td><td>36*</td><td>36*</td><td>36*</td><td>36*</td><td>36</td><td>20/20</td><td>129.445</td><td>0</td><td>0</td></tr><tr><td>myciel6.col</td><td>95</td><td>7</td><td>7</td><td>7*</td><td>7*</td><td>7*</td><td>7*</td><td>7*</td><td>7</td><td>20/20</td><td>0.0035</td><td>0</td><td>0</td></tr><tr><td>myciel7.col</td><td>191</td><td>8</td><td>8</td><td>8*</td><td>8*</td><td>8*</td><td>8*</td><td>8*</td><td>8</td><td>20/20</td><td>0.0185</td><td>0</td><td>0</td></tr><tr><td>4_FullIns.3.col</td><td>114</td><td>7</td><td>7</td><td>-</td><td>7*</td><td>7*</td><td>7*</td><td>7*</td><td>7</td><td>20/20</td><td>0.0005</td><td>0</td><td>0</td></tr><tr><td>4_FullIns.4.col</td><td>690</td><td>6</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>20/20</td><td>0.12</td><td>0</td><td>0</td></tr><tr><td>4_FullIns.5.col</td><td>4146</td><td>6</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>20/20</td><td>0.12</td><td>0</td><td>0</td></tr><tr><td>1 Insertions.6.col</td><td>607</td><td>3</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>20/20</td><td>0.1655</td><td>0</td><td>0</td></tr><tr><td>2 Insertions.5.col</td><td>597</td><td>3</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>20/20</td><td>0.056</td><td>0</td><td>0</td></tr><tr><td>3 Insertions.5.col</td><td>1406</td><td>3</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>20/20</td><td>0.3525</td><td>0</td><td>0</td></tr><tr><td>school1.col</td><td>385</td><td>15</td><td>15</td><td>15*</td><td>15*</td><td>15*</td><td>15*</td><td>15*</td><td>15</td><td>20/20</td><td>0.932</td><td>0</td><td>0</td></tr><tr><td>school1.nsh.col</td><td>352</td><td>14</td><td>14</td><td>14*</td><td>14*</td><td>14*</td><td>14*</td><td>14*</td><td>14</td><td>20/20</td><td>1.774</td><td>0</td><td>0</td></tr><tr><td>qg.order40.col</td><td>1600</td><td>40</td><td>40</td><td>40*</td><td>40*</td><td>40*</td><td>40*</td><td>40*</td><td>40</td><td>20/20</td><td>3.437</td><td>0</td><td>0</td></tr><tr><td>qg.order60.col</td><td>3600</td><td>60</td><td>60</td><td>60*</td><td>60*</td><td>60*</td><td>60*</td><td>60*</td><td>60</td><td>20/20</td><td>14.534</td><td>0</td><td>0</td></tr><tr><td>ash331GPIA.col</td><td>662</td><td>4</td><td>4</td><td>4*</td><td>4*</td><td>4*</td><td>4*</td><td>4*</td><td>4</td><td>20/20</td><td>0.7755</td><td>0</td><td>0</td></tr><tr><td>ash608GPIA.col</td><td>1216</td><td>3</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>20/20</td><td>0.249</td><td>0</td><td>0</td></tr><tr><td>ash958GPIA.col</td><td>1916</td><td>3</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>20/20</td><td>10.887</td><td>0</td><td>0</td></tr></tbody></table>
machine benchmark procedure 'dfmax.c'<fnref n="3" /> without compiler optimization flag, the run time on our computer is 0.46, 2.68 and 10.70 seconds for graphs r300.5, r400.5 and r500.5, respectively.

For our comparative study, we use the most recent heuristic algorithms [19, 21] as our references. The TabuEqCol algorithm (2014) [21] was run on an Intel i5 CPU with 750 2.67 GHz and tested under a time limit of 1 hour. The BITS algorithm (2015) [19] was run on an Intel Xeon E5440 CPU with 2.83 GHz and 2 GB RAM and tested under a time limit of 1 hour and a relaxed limit (10⁴ seconds for the instances with up to 500 vertices and 2 × 10⁴ seconds for larger instances with more than 500 vertices). As shown in [19], the computational results of the more recent BITS algorithm dominate those of TabuEqCol. We also include the lower and upper bounds reported in [22, 23] which were obtained by exact methods under various test conditions. These bounds provide useful information when they are contrasted with the results (upper bounds) obtained by the compared heuristic algorithms (TabuEqCol, BITS and FISA).

The FISA algorithm requires the tuning of some parameters related to tabu search and the extended fitness function *F*. Since our tabu search procedures are adaptations of the basic tabu search procedure of [19], we adopted the parameter settings used in the original paper. As to the penalty coefficient *φ* of the extended fitness function *F*, we provide an analysis in Section 5.

Following [19, 21], we present a first experiment where we ran our FISA algorithm only once per instance with a cutoff time of 3,600 seconds (1 hour). Like [19], we carried out a second experiment where we ran FISA 20 times to solve each instance under the extended stopping condition – 10⁴ seconds for the instances with up to 500 vertices and 2 × 10⁴ seconds for larger instances with more than 500 vertices. We note that our Intel Xeon E5-2670 2.5 GHz processor is slightly slower than those used by the reference algorithms. As a result, our adopted stopping conditions can be considered as reasonable with respect to those used by the reference algorithms. Finally, as shown in [19], the main reference BITS algorithm fully dominates the TabuEqCol algorithm. So the results of BITS have the most significant reference value.

## 4.2 Comparison with state-of-the-art algorithms

From Table 1, we can see that FISA shows a remarkable performance compared to the TabuEqCol and BITS algorithms under both stopping conditions. Under the 1 hour condition, FISA dominates TabuEqCol (Columns 5 and 8) on the 50 instances tested by both algorithms, by obtaining better results for 30 instances and the same results for the remaining 20 instances. Compared to the most recent BITS algorithm, FISA obtains better solutions for 14 instances (see negative entries in Column Δ(*k*₁)), the same best results for other 58 instances and one worse result.

When comparing FISA with BITS under the long time condition (the results of TabuEqCol under this condition are unavailable), one observes that FISA also performs very well (Columns 7 and 9). Specifically, FISA improves the best results of BITS for 9 instances (see negative entries in Column Δ(*k*<sub>best</sub>) while matching the best results of BITS for other 63 instances. Only in one case, FISA obtains a slightly worse result.

Finally, when comparing to the upper bounds obtained by exact algorithms (Column 4), it is clear that the bounds of FISA (Column 9) are much better. If we contrast the current best lower bounds (Column 3) obtained by exact approaches of [22, 23] and the best upper bounds from FISA (Column 9), we observe important gaps for a number of instances. This indicates that both the current best lower and upper bounds can be further improved.

# 5 ANALYSIS

This section performs additional experiments to analyze the proposed FISA algorithm: the penalty coefficient *φ* and the perturbation strategy. These experiments were performed on a selection of 26 instances which are relatively difficult according to the results reported in Table 1, i.e., the best-known results of these instances cannot be attained by all algorithms.

## 5.1 Analysis of the penalty coefficient φ

<table><caption>Table 2: Comparative results of the FISA algorithm with 3 different values of φ on the 26 instances. The best results are in bold.</caption><thead><tr><th>Instance</th><th>k<sup>*</sup><sub>1</sub></th><th>k<sub>1</sub>, φ=1(Av g)</th><th>k<sub>1</sub>, φ=2(Av g)</th><th>k<sub>1</sub>, φ=3(Av g)</th></tr></thead><tbody><tr><td>DSJC125.5.col</td><td>17</td><td>17(17)</td><td>17(17)</td><td>17(17)</td></tr><tr><td>DSJC250.1.col</td><td>8</td><td>8(8)</td><td>8(8)</td><td>8(8)</td></tr><tr><td>DSJC250.5.col</td><td>29</td><td>29(29.8)</td><td>29(29.65)</td><td>29(29.75)</td></tr><tr><td>DSJC250.9.col</td><td>72</td><td>72(72.1)</td><td>72(72.05)</td><td>72(72.05)</td></tr><tr><td>DSJC500.5.col</td><td>53</td><td>53(53.35)</td><td>53(53.95)</td><td>53(54)</td></tr><tr><td>DSJC500.9.col</td><td>130</td><td>131(131.6)</td><td>131(131.4)</td><td>130(130.75)</td></tr><tr><td>DSJR500.5.col</td><td>126</td><td>126(126.85)</td><td>126(126.65)</td><td>126(126.9)</td></tr><tr><td>DSJR1000.1.col</td><td>21</td><td>21(21)</td><td>21(21.15)</td><td>21(21.15)</td></tr><tr><td>DSJC1000.5.col</td><td>98</td><td>98(99.45)</td><td>100(101.6)</td><td>101(101.45)</td></tr><tr><td>DSJC1000.9.col</td><td>253</td><td>253(254.35)</td><td>254(254.6)</td><td>254(254)</td></tr><tr><td>R250.5.col</td><td>66</td><td>67(67)</td><td>66(66.9)</td><td>67(67)</td></tr><tr><td>R1000.5.col</td><td>250</td><td>251(253.9)</td><td>251(255.05)</td><td>250(252.85)</td></tr><tr><td>flat300_28.0.col</td><td>32</td><td>33(33.85)</td><td>32(33.95)</td><td>32(33.85)</td></tr><tr><td>flat1000_50.0.col</td><td>96</td><td>96(97.4)</td><td>98(99.9)</td><td>99(102.25)</td></tr><tr><td>flat1000_60.0.col</td><td>97</td><td>97(97.9)</td><td>98(100.35)</td><td>99(102.2)</td></tr><tr><td>flat1000_76.0.col</td><td>98</td><td>98(98.65)</td><td>99(100.7)</td><td>101(101.25)</td></tr><tr><td>latin.square.10.col</td><td>105</td><td>105(106.1)</td><td>114(115.15)</td><td>115(116.6)</td></tr><tr><td>C2000.5.col</td><td>198</td><td>198(199.55)</td><td>200(201.25)</td><td>199(200.85)</td></tr><tr><td>mulsol.1.2.col</td><td>36</td><td>36(36.95)</td><td>36(36.95)</td><td>36(36.95)</td></tr><tr><td>fpsol2.1.1.col</td><td>65</td><td>65(65)</td><td>65(65.05)</td><td>65(65)</td></tr><tr><td>fpsol2.1.2.col</td><td>47</td><td>47(47.2)</td><td>47(47.25)</td><td>47(47.3)</td></tr><tr><td>inithex.1.2.col</td><td>36</td><td>36(38.8)</td><td>37(38.65)</td><td>36(39.95)</td></tr><tr><td>inithex.1.3.col</td><td>37</td><td>38(39.85)</td><td>37(40.1)</td><td>37(39.55)</td></tr><tr><td>zeroin.1.1.col</td><td>49</td><td>49(49.75)</td><td>49(49.4)</td><td>49(49.6)</td></tr><tr><td>zeroin.1.2.col</td><td>36</td><td>36(36)</td><td>36(36)</td><td>36(36)</td></tr><tr><td>zeroin.1.3.col</td><td>36</td><td>36(36)</td><td>36(36)</td><td>36(36)</td></tr><tr><td>#Equal</td><td>21</td><td></td><td>16</td><td>18</td></tr><tr><td>#Worse</td><td>5</td><td></td><td>10</td><td>8</td></tr></tbody></table>

This section investigates the influence of the penalty coefficient *φ* on the performance of the proposed algorithm (Section 3.2, Equation 7). For this purpose, we tested FISA with 3 different values of *φ* = 1, 2, 3. We ran 20 times the algorithm with each *φ* value to solve each selected instance with a cutoff time of 1 hour.

The experimental results are presented in Table 2. The first column shows the names of instances, and the second column indicates the best results ($k_1^*$) obtained in this experiment. The results of FISA with different *φ* values are respectively listed in columns 3 to 5 including the best values with the averaged values between parentheses. The rows #Equal and #Worse respectively indicate the number of instances for which each *φ* values attains an equal and worse result compared to $k_1^*$. We note that the best results were obtained with *φ* = 1. This justifies the setting of this parameter used in our previous experiments.

<footnote n="3">³dfmax: ftp://dimacs.rutgers.edu/pub/dsj/clinique/</footnote>
<table><caption>Table 3: Analysis of the influence of the perturbation on the performance of the FISA algorithm.</caption><thead><tr><th rowspan="2">Instance</th><th rowspan="2">k<sup>*</sup><sub>best</sub></th><th colspan="2">FISA</th><th colspan="2">REST</th></tr><tr><th>k<sub>best</sub></th><th>k<sub>avg</sub></th><th>k<sub>best</sub></th><th>k<sub>avg</sub></th></tr></thead><tbody><tr><td>DSJC125.5.col</td><td>17</td><td>17</td><td>17</td><td>17</td><td>17</td></tr><tr><td>DSJC250.1.col</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td></tr><tr><td>DSJC250.5.col</td><td>29</td><td>29</td><td>29.8</td><td>29</td><td>29.95</td></tr><tr><td>DSJC250.9.col</td><td>72</td><td>72</td><td>72.1</td><td>72</td><td>72.1</td></tr><tr><td>DSJC500.5.col</td><td>53</td><td>53</td><td>53.35</td><td>54</td><td>55.15</td></tr><tr><td>DSJC500.9.col</td><td>131</td><td>131</td><td>131.6</td><td>131</td><td>131.7</td></tr><tr><td>DSJR500.5.col</td><td>126</td><td>126</td><td>126.85</td><td>126</td><td>127.05</td></tr><tr><td>DSJC1000.1.col</td><td>21</td><td>21</td><td>21</td><td>21</td><td>21</td></tr><tr><td>DSJC1000.5.col</td><td>98</td><td>98</td><td>99.45</td><td>102</td><td>102.15</td></tr><tr><td>DSJC1000.9.col</td><td>253</td><td>253</td><td>254.35</td><td>253</td><td>254.3</td></tr><tr><td>R250.5.col</td><td>67</td><td>67</td><td>67</td><td>67</td><td>67.05</td></tr><tr><td>R1000.5.col</td><td>251</td><td>251</td><td>253.9</td><td>252</td><td>255.35</td></tr><tr><td>flat1000_50.0.col</td><td>96</td><td>96</td><td>97.4</td><td>101</td><td>101.5</td></tr><tr><td>flat1000_60.0.col</td><td>97</td><td>97</td><td>97.9</td><td>101</td><td>101.75</td></tr><tr><td>flat1000_76.0.col</td><td>98</td><td>98</td><td>98.65</td><td>101</td><td>101.95</td></tr><tr><td>flat300_28.0.col</td><td>33</td><td>33</td><td>33.85</td><td>33</td><td>34.3</td></tr><tr><td>latin_square_10.col</td><td>105</td><td>105</td><td>106.1</td><td>105</td><td>106.5</td></tr><tr><td>C2000.5.col</td><td>198</td><td>198</td><td>199.55</td><td>201</td><td>201</td></tr><tr><td>mulsol.i.2.col</td><td>36</td><td>36</td><td>36.95</td><td>37</td><td>37.75</td></tr><tr><td>fpsol2.i.1.col</td><td>65</td><td>65</td><td>65</td><td>77</td><td>79.4</td></tr><tr><td>fpsol2.i.2.col</td><td>47</td><td>47</td><td>47.25</td><td>56</td><td>73.05</td></tr><tr><td>inithx.i.2.col</td><td>36</td><td>36</td><td>38.8</td><td>60</td><td>63.85</td></tr><tr><td>inithx.i.3.col</td><td>38</td><td>38</td><td>39.05</td><td>57</td><td>64.85</td></tr><tr><td>zeroein.i.1.col</td><td>49</td><td>49</td><td>49.75</td><td>55</td><td>55.9</td></tr><tr><td>zeroein.i.2.col</td><td>36</td><td>36</td><td>36</td><td>39</td><td>42</td></tr><tr><td>zeroein.i.3.col</td><td>36</td><td>36</td><td>36</td><td>38</td><td>43.05</td></tr><tr><td>#Equal</td><td></td><td>26</td><td></td><td>14</td><td></td></tr><tr><td>#Worse</td><td></td><td>0</td><td></td><td>12</td><td></td></tr></tbody></table>

## 5.2 Impact of the perturbation operation

As shown in Section 3.2.4, the proposed algorithm uses a perturbation strategy to ensure a global diversification within the enlarged search space $\Omega_k^+$. In order to assess this strategy, we compare it with a traditional restart strategy (denoted as REST), where each restart begins its search with a new equitable $k$-coloring generated by the greedy procedure mentioned in Section 3. The two algorithms were run 20 times on the 26 selected instances with a time limit of 1 hour per run.

The results of this experiment are shown in Table 3. Column 1 lists the names of instances. Column 2 indicates the best results ($k_{best}^*$) obtained in this experiment. The best results ($k_{best}$) and the average results ($k_{avg}$) of FISA and REST are respectively listed in columns 3 to 6. The rows #Equal and #Worse respectively indicate the number of instances for which FISA and REST attain an equal and worse result compared to $k_{best}^*$. It is clear that FISA dominates the REST variant by obtaining 12 better results out of the 26 tested instances and no worse result. This experiment confirms thus the interest of the adopted perturbation strategy.

# 6 CONCLUSIONS

The equitable coloring problem (ECP) is an NP-hard problem with a number of practical applications. In addition to the conventional coloring constraint (i.e., adjacent vertices must receive different colors), a solution of the ECP must satisfy the equity constraint (the cardinalities of the color classes must differ by at most one). In this work, we investigated the benefit of examining both feasible and infeasible solutions with respect to the equity constraint. The resulting algorithm (called FISA) combines an equity-feasible search phase where only equitable colorings are considered and an equity-infeasible search phase where the search is enlarged to include non-equitable solutions. To guide the search procedure (which is based on tabu search), we devised an extended fitness function which uses a penalty to discourage candidate solutions which violates the equity constraint. A perturbation procedure was also used as a means of diversification to help the algorithm to explore new search regions.

We assessed the performance of the FISA algorithm on the set of 73 benchmark instances from DIMACS and COLOR competitions and presented comparative results with respect to state-of-the-art algorithms. The comparisons showed that FISA performs very well by discovering 9 improved best results (new upper bounds) and matching the best-known results for the remaining instances except one case. The new bounds can be used for assessment of other ECP algorithms. This study demonstrates the benefit of the mixed search strategy examining both equity-feasible and equity-infeasible solutions for solving the ECP.

For future work, several directions could be followed. First, the penalty term of the extended fitness function could be improved by introducing adaptive techniques like [5, 12] to enable a strategic oscillation for dynamically transitioning between feasible and infeasible space. Second, other search operators (rather than those used in this work) can be sought to further improve the performance of the search algorithm. Third, the proposed algorithm could be advantageously integrated into a hybrid population-based method (e.g., memetic search, path-linking) as a key intensification component. Finally, the instances tested in this work are based on the conventional DIMACS coloring benchmark graphs. These graphs can be considered as being limited in size with respect to massive graphs obtained from a number of modern applications like complex networks and biological networks. Contrary to DIMACS graphs, these massive graphs are typically very sparse with very low edge density. It would be interesting to investigate the ideas of this work in the context of coloring massive graphs.

# ACKNOWLEDGMENTS

The authors would like to thank the anonymous referees for their valuable comments and helpful suggestions. Support for the first author from the China Scholarship Council (2015-2019) is also acknowledged.

# REFERENCES

[1] Laura Bahiense, Yuri Frota, Thiago F. Noronha, and Celso C. Ribeiro. A branch-and-cut algorithm for the equitable coloring problem using a formulation by representatives. *Discrete Applied Mathematics* 164, (2014), 34–46.

[2] Una Benlic and Jin-Kao Hao. Breakout local search for maximum clique problems. *Computers and Operations Research* 40, 1 (2013), 192–206.
[3] Jacek Blazewicz, Klaus H. Ecker, Erwin Pesch, Günter Schmidt, and Jan Weglarz. Scheduling computer and manufacturing processes. *Journal of the Operational Research Society* 48, 6 (1997), 659–659.

[4] Hans L. Bodlaender and Fedor V. Fomin. Equitable colorings of bounded treewidth graphs. In *International Symposium on Mathematical Foundations of Computer Science*. Springer, (2004), 180–190.

[5] Yuning Chen, Jin-Kao Hao, and Fred Glover. A hybrid metaheuristic approach for the capacitated arc routing problem. *European Journal of Operational Research* 253, 1 (2016), 25–39.

[6] Bor-Liang Chen, Ko-Wei Lih, and Pou-Lin Wu. Equitable coloring and the maximum degree. *European Journal of Combinatorics* 15, 5 (1994), 443–447.

[7] Jian-Ya Ding, Shi-ji Song, Jatinder N.D. Gupta, Rui Zhang, Raymond Chiong, and Cheng Wu. An improved iterated greedy algorithm with a Tabu-based reconstruction strategy for the no-wait flowshop scheduling problem. *Applied Soft Computing* 30, (2015), 604–613.

[8] Hanna Furmańczyk and Marek Kubale. Equitable coloring of graphs. *Contemporary Mathematics* 352, (2004), 35–54.

[9] Hanna Furmańczyk and Marek Kubale. The complexity of equitable vertex coloring of graphs. *Journal of Applied Computer Science* 13, 2 (2005), 95–106.

[10] Philippe Galinier and Jin-Kao Hao. Hybrid evolutionary algorithms for graph coloring. *Journal of Combinatorial Optimization* 3, 4 (1999), 379–397.

[11] Philippe Galinier, Jean-Philippe Hamiez, Jin-Kao Hao, and Daniel Porumbel. Recent advances in graph vertex coloring. In *Zelinka I.*, Abraham A., Snasel V. (Eds.) Handbook of Optimization, Springer (2012).

[12] Fred Glover and Jin-Kao Hao. The case for strategic oscillation. *Annals of Operations Research* 183, 1 (2011), 163–173.

[13] Fred Glover and Manuel Laguna. *Tabu Search*. Springer. (1997).

[14] Alain Hertz and Dominique de Werra. Using tabu search techniques for graph coloring. *Computing* 39, 4 (1987), 345–351.

[15] Sandy Irani and Vitus Leung. Scheduling with conflicts, and applications to traffic signal control. In *Symposium on Discrete Algorithms*, 96, (1996), 85–94.

[16] Fumio Kitagawa and Hideto Ikeda. An existential problem of a weightcontrolled subset and its application to school timetable construction. *Annals of Discrete Mathematics* 38, (1988), 195–211.

[17] Alexandr V Kostochka. Equitable colorings of outerplanar graphs. *Discrete Mathematics* 258, 1 (2002), 373–377.

[18] Alexandr V Kostochka and Kittikorn Nakprasit. On equitable Δ-coloring of graphs with low average degree. *Theoretical Computer Science* 349, 1 (2005), 82–91.

[19] Xiangjing Lai, Jin-Kao Hao, and Fred Glover. Backtracking based iterated tabu search for equitable coloring. *Engineering Applications of Artificial Intelligence* 46, (2015), 269–278.

[20] Ko-Wei Lih and Pou-Lin Wu. On equitable coloring of bipartite graphs. *Discrete Mathematics* 151, 1 (1996), 155–160.

[21] Isabel Méndez Díaz, Graciela Nasini, and Daniel Severín. A tabu search heuristic for the equitable coloring problem. In *International Symposium on Combinatorial Optimization*. Springer, (2014), 347–358.

[22] Isabel Méndez-Díaz, Graciela Nasini, and Daniel Severín. A polyhedral approach for the equitable coloring problem. *Discrete Applied Mathematics* 164, (2014), 413–426.

[23] Isabel Méndez-Díaz, Graciela Nasini, and Daniel Severín. A DSATUR-based algorithm for the Equitable Coloring Problem. *Computers & Operations Research* 57, (2015), 41–50.

[24] Walter Meyer. Equitable coloring. *The American Mathematical Monthly* 80, 8 (1973), 920–922.

[25] Alan Tucker. 1973. Perfect graphs and an application to optimizing municipal services. *Siam Review* 15, 3 (1973), 585–590.

[26] Zhidan Yan and Wei Wang. Equitable coloring of Kronecker products of complete multipartite graphs and complete graphs. *Discrete Applied Mathematics* 162, (2014), 328–333.