A matheuristic approach for the -coloring problem using integer programming and a multi-start multi-greedy randomized metaheuristic
Abstract
Given a graph , the -coloring problem consists in attributing a color to every vertex in such that adjacent vertices receive different colors, every color has a -vertex, and the number of colors is maximized. A -vertex is a vertex adjacent to vertices colored with all used colors but its own. The -coloring problem is known to be NP-Hard and its optimal solution determines the -chromatic number of , denoted . This paper presents an integer programming formulation and a very effective multi-greedy randomized heuristic which can be used in a multi-start metaheuristic. In addition, a matheuristic approach is proposed combining the multi-start multi-greedy randomized metaheuristic with a MIP (mixed integer programming) based local search procedure using the integer programming formulation. Computational experiments establish the proposed multi-start metaheuristic as very effective in generating high quality solutions, along with the matheuristic approach successfully improving several of those results. Moreover, the computational results show that the multi-start metaheuristic outperforms a state-of-the-art hybrid evolutionary metaheuristic for a subset of the large instances which were previously considered in the literature. An additional contribution of this work is the proposal of a benchmark instance set, which consists of newly generated instances as well as others available in the literature for classical graph problems, with the aim of standardizing computational comparisons of approaches for the -coloring problem in future works.
Keywords: metaheuristics, graph -coloring; integer programming; fix-and-optimize; matheuristics.
1 Introduction
1.1 Basic notation and problem definition
Given a simple graph and a set of colors , define a coloring as a function which assigns to each vertex a color . A coloring is said to be proper if for every . An example of proper coloring is illustrated in Figure 1.

Given a coloring , define to be a -vertex if has at least one neighbor with each color in , more precisely, for every . A coloring is said to be a -coloring if every color in has at least one associated -vertex. Examples of -colorings are illustrated in Figure 2. Alternatively, define color classes of as the parts of a partition of into independent sets for each . A vertex with is called a b-vertex for color if has a neighbor representing every other color class, i.e., for all . In this alternative definition, a -coloring is a proper coloring such that every color class has a b-vertex.


The chromatic number of a graph , , is the minimum number of colors needed to properly color . The -chromatic number of a graph , , is the maximum number of colors for which admits a -coloring. The coloring problem consists in encountering a proper coloring of a graph minimizing the number of colors. The -coloring problem consists in encountering a proper -coloring of a graph maximizing the number of colors. The problem of finding was shown to be NP-hard in \citeAIrvMan99, thus the -coloring problem is NP-hard.
Although the -coloring and the coloring problems appear to be closely related, they have several differences. First of all, they consider the objective functions in opposite directions and the difference between their optimal solution values can be arbitrarily large Kratochvíl \BOthers. (\APACyear2002). Furthermore, the -coloring problem can be largely influenced by the girth (length of a shortest cycle) of the graph, what is not exactly the case for the coloring problem V. Campos \BOthers. (\APACyear2013). Besides, a property that is commonly exploited by constructive and enumerative methods for the coloring problem is the fact that one can have solutions with the number of colors ranging from the chromatic number to the cardinality of the vertex set. However, it is not true that one can construct a -coloring with colors for every integer ranging from the chromatic number to the -chromatic number Barth \BOthers. (\APACyear2007). Additionally, notice that a proper graph coloring which is not a -coloring can be trivially improved by the removal of a color, namely, one that does not have a -vertex. Therefore, when one is trying to minimize the number of colors, -colorings appear naturally as otherwise the available coloring could be easily improved. On the other hand, when one is trying to maximize the number of colors, it is a challenging task to increase the number of colors while ensuring that -vertices are generated for every new color. This suggests that the search for good quality solutions for the -coloring problem should explore the structure of feasible solutions in a different manner.
CaLiMa15 presented a motivation for solving the -coloring problem, namely, finding an upper bound for the -algorithm which is a heuristic approach for the coloring problem. The -algorithm works as follows, it begins with a greedy coloring and afterwards tries to reduce the number of used colors by changing the colors of certain vertices. In this context, a -vertex represents a vertex that cannot have its color changed and thus forbids further improvements by the -algorithm. Hence, the -chromatic number represents the worst case of the -algorithm.
Let be the open neighborhood (or simply neighborhood) of in , be the closed neighborhood of in , be the anti-neighborhood of in , and be the closed anti-neighborhood of in . Define to be the set of colors adjacent to , which we denote the color neighborhood of . Also, let be the color closed neighborhood, and be the color anti-neighborhood of . Denote the degree of by , which is the size of its neighborhood . Considering to be the maximum degree of a graph, we write whenever is clear from the context. The neighborhood of a -vertex can contain at most colors. Define the color degree of by , which is the size of its color neighborhood . Consider a sorting of the vertices such that . The invariant provides an upper bound for the -chromatic number of . Let be the subset of vertices with degree at least , i.e. for each , . Denote as the set of colors that were attributed to some vertex in in a given coloring , i.e. if there is a vertex such that .
1.2 Literature review
The concept of -coloring appeared in different applications. \citeAGacEglLebEmp08,GacEglLebEmp09 applied -coloring to improve postal mail sorting systems, which are based on efficient optical recognition of the addresses on envelopes. The authors presented a new approach for address block localization, which is a very important step on the recognition of the addresses. Their approach uses -coloring to train a classifier in the identification of the address block, and according to the authors a rate of 98% good locations on a set of 750 envelope images was obtained. \citeAElgDesHacDusKhe06 proposed a new clustering approach based on -coloring of graphs. The presented cluster validation algorithm evaluates the quality of clusters based on the -vertex property. The authors take on this clustering technique to detect a new typology of hospital stays in the French healthcare system.
Several authors studied properties of -coloring for special classes of graphs. \citeAKraTuzVoi02 have shown that deciding the -chromatic number is NP-Complete even for bipartite graphs. A graph is -tight if it has exactly vertices with degree exactly equal to . In this regard, \citeAHavSalSam12 proved that deciding if is NP-Complete for tight chordal graphs, while showing that the -chromatic number of a split graph can be obtained in polynomial time.
Primal bound results were introduced by \citeAIrvMan99. We can assume that the chromatic number is a lower bound, as every -coloring is also a proper coloring. The upper bound is , on account of the additional color being the color of a -vertex itself. This upper bound can be narrowed, since for a -coloring we need a sufficient amount of vertices of high degree. Naturally, for a -coloring with colors, at least vertices with minimum degree are necessary. As a consequence, is a reduced upper bound for the problem. A variety of bounds on the -chromatic number were also presented in \citeAAlkKoh11, BalRaj13, KouMah02.
Regular graphs belong to a special class of graphs such that , one of the main reasons why they attract significant study. \citeAKraTuzVoi02 have shown that for every -regular graph with at least vertices , establishing that there is only a limited number of -regular graphs for which . Later, \citeACabJak11 proved that for every -regular graph with at least vertices . A detailed review of the literature related to the -chromatic number can be found in \citeAJakPet18.
The -coloring problem for more general graphs was considered in several works. \citeACorValVer05 introduced an approximation approach for the -chromatic number. They have shown that the -chromatic number cannot be approximated within a factor of for any constant , unless P = NP. \citeAGalKat13 settled negatively the question about the existence of a constant-factor approximation algorithm for the -chromatic number, proving that for graphs with vertices, there is no , for which the problem can be approximated within a factor , unless P = NP.
Despite the fact that the -coloring problem has received a lot of attention from the graph theory community, just a few authors considered optimization approaches such as metaheuristics or integer programming. To the best of our knowledge, \citeAFisPetMerCre15 were the first authors to propose a metaheuristic algorithm for the -coloring problem. They proposed an hybrid evolutionary algorithm and tested its performance on a set of small instances composed of -regular graphs. For the tested -regular instances, the metaheuristic obtained the optimal solutions, which were attested using a brute force method. Encouraged by those results, the authors also considered larger benchmark instances from the second DIMACS implementation challenge Johnson \BBA Trick (\APACyear1996). As far as our knowledge goes, the only metaheuristic for the -coloring problem is the one presented in \citeAFisPetMerCre15, contrasting with the classical graph coloring problem, as the latter has a diversity of heuristic methods proposed in the literature Avanthay \BOthers. (\APACyear2003); Blöchliger \BBA Zufferey (\APACyear2008); de Werra (\APACyear1990); Lü \BBA Hao (\APACyear2010); Mabrouk \BOthers. (\APACyear2009).
KocPet15 introduced an integer linear programming formulation for the -chromatic index , the edge version of the problem. The authors also provide bounds and general results for a diversity of direct products of graphs regarding the -chromatic index. \citeAKocMar18 proposed an integer programming approach for the decision version of the -coloring problem, which consists in determining whether a graph admits a -coloring with a given number of colors. The authors also performed a polyhedral study of the proposed formulation, presented valid inequalities and implemented a branch-and-cut algorithm. Computational experiments were performed testing whether for the input graphs.
1.3 Main contributions and organization
The main contributions of this paper are an integer programming formulation for the -coloring problem, a very effective multi-start multi-greedy randomized metaheuristic which attempts to explore the problem structure in the search for good quality solutions, and a matheuristic approach obtained by combining the proposed multi-start metaheuristic with a fix-and-optimize local search based on the introduced integer programming formulation. To the best of our knowledge, this paper presents the first matheuristic for the -coloring problem, and the first integer programming formulation which can be directly applied to its optimization version. Furthermore, we present a benchmark set consisting of newly created instances as well as available ones for coloring and maximum clique problems. The computational experiments show that the newly proposed approaches are very effective, reaching and proving optimality for several of the tested instances. Furthermore, the approaches are able to outperform a state-of-the-art metaheuristic Fister \BOthers. (\APACyear2015) for the -coloring problem when taking into consideration all nine large instances considered by those authors.
The remainder of the paper is organized as follows. Section 2 introduces an integer programming formulation for the -coloring problem. Section 3 describes the multi-greedy randomized heuristic. Section 4 presents the multi-start multi-greedy randomized metaheuristic, the MIP (mixed-integer programming) based fix-and-optimize local search procedure using the proposed integer programming formulation, and the matheuristic approach which is obtained by combining the first two. Section 5 summarizes the computational experiments. Final considerations are discussed in Section 6.
2 Integer programming formulation
We now describe a formulation by representatives Campêlo \BOthers. (\APACyear2004) for the -coloring problem. Consider the binary variable to be equal to one if vertex represents the color of vertex and to be zero otherwise, defined for every ordered pair , with and . In the proposed formulation, a vertex can only represent the color of another vertex if , which means that is the representative and also a -vertex of that color. Note that a color may have several -vertices, but only one of them will be the representative.
Define the set of vertices in the anti-neighborhood of which are not adjacent to other vertices in this anti-neighborhood as . Additionally, consider the complement of as . The -coloring problem can be cast as the following linear integer program:
(1) | |||||
(2) | |||||
(3) | |||||
(4) | |||||
(5) | |||||
(6) |
The objective function (1) maximizes the number of representative vertices, which are the -vertices. Constraints (2) ensure that every vertex must have a color. Constraints (3) force the coloring to be proper. Constraints (4) guarantee that a vertex can only give a color if it is a representative (notice that if this constraint is removed, a vertex that has a stable set as anti-neighborhood is allowed to represent all its neighborhood without being a representative). Constraints (5) are the -coloring restrictions which imply that if both and are -vertices, then there must be a neighbor of which is represented by . This is achieved due to the fact that if both and are representatives, the right-hand side is equal to one, implying that the summation in the left-hand side, which is composed by the neighbors of that can be represented by , should be at least one. Constraints (6) ensure the integrality requirements on the variables.
Observation 1.
Let be any valid lower bound for the optimal value of formulation (1)-(6), i.e. . Let be the set of vertices with degree strictly smaller than , i.e., for every . Therefore, one can set to zero variables corresponding to vertices without losing optimality, as the vertices in can never be -vertices in a -coloring with at least colors. Furthermore, variables would also be set to zero for every pair such that and .
Observation 2.
Let be an integer feasible solution for (1)-(6) with objective value . In any solution which strictly improves , every vertex which is determined to be a representative must have degree at least , i.e. . Let be the set of vertices with degree strictly smaller than , i.e., for every . Therefore, in order to obtain a solution which strictly improves , one can set to zero variables corresponding to vertices without losing optimality in case such improving solution exists. Similarly to Observation 1, variables would also be set to zero for every pair such that and .
3 Multi-greedy randomized heuristic
In this section, we present a multi-greedy randomized constructive heuristic for the -coloring problem. The heuristic follows a two-phase framework similar to the one of \citeAElgDesHacDusKhe06. In the first phase, an initial proper coloring, not necessarily a -coloring, is generated. The second phase ensures a proper -coloring is obtained starting from the coloring achieved in the first phase. In the remainder of this section, after presenting the pseudo-code of the two-phase framework, we describe the details of the first phase in Subsection 3.1 and of the second phase in Subsection 3.2.
The multi-greedy randomized constructive heuristic runs in (as it will be shown in Corollary 1), and is described in Algorithm 1. It takes as inputs the graph and two parameters regarding the sizes of restricted candidate lists (RCL) which will be defined later in this section, namely and . The algorithm returns a proper coloring and a set of colors . The heuristic uses the following structures:
-
•
: structure that represents the coloring which assigns a color to each vertex ;
-
•
: structure that represents the color neighborhoods of vertices in coloring ;
-
•
: set of colors used in coloring ;
-
•
: set of colors in that have -vertices.
The first phase of the approach is invoked in procedure INITIAL-COLORING (line 1), which will be detailed in Section 3.1, to obtain an initial proper coloring employing available colors. Observe that the upper bound was used instead of with the intention of not being too restrictive and give more flexibility for the heuristic to use colors that will be removed later in the second phase of the framework. The structures , , , and are determined by this call to INITIAL-COLORING.
As it was already mentioned, procedure INITIAL-COLORING does not ensure a -coloring, as some colors in might not have a -vertex. In order to obtain a feasible -coloring, the second phase is invoked in procedure FIND-B-COLORING (line 1), which will be detailed in Section 3.2, in order to remove colors from until a -coloring is achieved. The updated structures and are returned at the end of the execution of FIND-B-COLORING. RANDOMIZED-CONSTRUCTIVE thus returns the obtained -coloring as well as the set of used colors (line 1).
3.1 First phase: obtaining an initial coloring
An initial coloring is obtained using procedure INITIAL-COLORING, which is detailed in Algorithm 2. In addition to the graph , the algorithm also takes as input a parameter related to the size of restricted candidate lists. The structures , , , and will be returned at the end of its execution. We remark that, for ease of explanation, the pseudo-code which will be presented assumes the graph is connected. An easy way to overcome this fact will be given once the algorithm is described. The following structures are used by the algorithm:
-
•
: initial set of available colors;
-
•
: stores the set of vertices which had already been colored;
-
•
: keeps the vertices in which have no attributed color;
-
•
: set of colors in that were attributed to some vertex with degree at least .
INITIAL-COLORING uses the following auxiliary method:
-
•
HEURISTIC-COLOR-VERTEX: described in Algorithm 3, the procedure takes as inputs the graph , vertices and , as well as structures , , . The method returns a color to be attributed to vertex . Firstly, structure is initialized as empty (line 3), and will store the set of candidate colors for coloring . The algorithm then checks if has degree greater than or equal to (line 3) and tries initially to build with the set of colors not belonging to the color neighborhood of neither nor , and have not been assigned to a vertex with degree greater than or equal to , i.e., , and (line 3). The purpose behind this coloring idea is to diversify the colors assigned to both neighborhoods of and , while trying to give different colors to vertices with high enough degrees to become -vertices, in an attempt to increase the probability of finding -vertices that represent the greater amount of color classes. If is still empty (line 3), the algorithm tries to include in colors not belonging to the color neighborhood of neither nor , i.e., and (line 3). If no such color exists, i.e., remains with no elements in line 3, is built in line 3 with colors not belonging to the color neighborhood of , i.e., . This guarantees at least one color in since the algorithm initially works with available colors and . The color in with lowest index is returned in line 3.
Algorithm 2 first initializes the used structures as follows. For each vertex , the color neighborhood of is initialized as empty and is set to 0, which implies that no color is assigned to (line 2). The sets , and are initialized as empty (line 2). Next, the algorithm sets as the maximum degree vertex in in line 2, where ties are broken arbitrarily. The set is initialized with colors in line 2, followed by the coloring of with color 1 in line 2. The structures , and are updated in line 2. The neighborhood of vertices in are yet to be explored, and the set is initialized with in line 2. The algorithm then performs a series of iterations to assign colors to the vertices in while the set is not empty in lines 2-2. Elements from a restricted candidate list (RCL) containing the best elements in are randomly chosen along the construction of the solution. Given the vertices in the greedy choice criterion for RCL is:
-
•
maximization of the vertex degree: .
RCL is defined as a subset of containing all candidates whose evaluation for the greedy criterion lies in an interval of values defined by a parameter . Define , thus this interval is given by . RCL is created in line 2. A vertex is randomly selected from RCL in line 2. Set is built in line 2 with the vertices in that have no assigned color. Similar to RCL, elements from a restricted candidate list containing the best elements in are randomly chosen along the construction of the solution. Given the vertices in , the greedy choice criterion for RCL is:
-
•
maximization of the vertex degree: .
RCL is defined for as RCL was defined for . RCL is created in line 2. A vertex is randomly selected from RCL in line 2 and receives a color determined by procedure HEURISTIC-COLOR-VERTEX in line 2. The structures , and are updated in line 2. The neighborhood of is yet to be explored, so the vertex is inserted into in line 2. Vertex is then removed from in line 2 and a new iteration resumes, until set becomes empty. Vertex is then withdrawn from in line 2. After all vertices have been colored, i.e., is empty, the algorithm updates the list of colors having -vertices in line 2. The structures , , and are then returned in line 2. Note that, for ease of explanation, the described pseudo-code assumes the graph is connected. However, in the case of a disconnected graph, this can be overcome by simply inserting into the uncolored vertex of highest degree (if there is at least one uncolored vertex) as a last step in the loop of lines 2-2 whenever becomes empty.
Proposition 1.
Algorithm 2 runs in .
Proof.
Consider and to be ordered lists containing vertices sorted in nonincreasing order of vertex degree, which means that every element entering these lists should be inserted into the correct ordered position. Additionally, assume for each , and to be represented as -dimensional binary vectors, with each element representing whether color belongs to the corresponding set or not. Firstly, consider the running time to perform a single update of the structures. Note that there are updates of structures and each of them can be done in . The updates of and can all be done in . Thus, a single update of all the required structures can be done in . HEURISTIC-COLOR-VERTEX runs in , which is implied by the construction of and the selection of its minimum value. In Algorithm 2, the instructions of lines 2-2 run in . Line 2 can be done in . In order to determine the complexity of the while loop in lines 2-2, we perform an aggregated analysis. Note that each vertex is inserted into and removed from at most once and each insertion into this ordered list can be performed in , implying for all the insertions. As is kept as an ordered list, whenever a vertex is to be removed from , line 2 is carried out in . At the moment a vertex enters lines 2-2 are executed in . We ommit the entrance of vertices in from the analysis as they are directly related to their entrance in , i.e., whenever a vertex enters in line 2 it will be removed from in line 2 just after its entrance in . Therefore, the overall running time of Algorithm 2 is which is . ∎
3.2 Second phase: transforming the initial coloring into a -coloring
A feasible -coloring is obtained using procedure FIND-B-COLORING, which is detailed in Algorithm 4. In addition to the graph and RCL size parameters and , the algorithm also takes as inputs the sets , , , and the coloring . Remark that the inputs and will be updated by the algorithm and will be returned at the end of its execution. The following structure is used:
-
•
: set of colors that do not have -vertices.
FIND-B-COLORING, which is a modification of the -algorithm mentioned in the introduction, consists in iteratively eliminating colors from the graph by recoloring vertices colored with colors in . The set is initialized with every color in in line 4. The algorithm then performs a series of iterations while is not empty (lines 4-4). Elements from a restricted candidate list containing the best elements in are randomly chosen along the construction of the solution. Given the colors in the greedy choice criterion for RCL is:
-
•
maximization of the color index: ;
Criterion aims to remove colors with higher index since after the execution of Algorithm 2, colors with smaller index are presumably closer to have a -vertex. RCL is defined as a subset of containing its best candidates. RCL is created in line 4. A color is randomly selected from RCL in line 4. For each vertex colored with , i.e., , a new color is assigned to (lines 4-4). Note that any color in is avaiable to color . Elements from a restricted candidate list containing the best elements in are randomly chosen along the construction of the solution. Before explaining the greedy criterion, let be the number of vertices adjacent to such that color is also not in their color neighborhood. Additionally, let be the set of colors not adjacent to neither nor . Define as the minimum cardinality set among all for . Note that is the set of colors not adjacent to the vertex with the minimum number of missing colors in its color neighborhood. Given the colors in the greedy choice criteria for RCL are:
-
•
maximization of vertices with a new color added to their color neighborhood: ;
-
•
minimization of the color index considering the colors in : .
Criterion intends to increase the color neighborhood of as many vertices as possible, whereas aims to predict the vertex which is the closest to become a -vertex. Given , RCL is defined as a subset of containing all candidates whose evalutation of the greedy criterion lie in an interval of values defined by a parameter . Define , thus this interval is given by . As for , RCL is defined as a subset of containing its best candidates.
RCL is created in line 4. Any of the greedy functions or can be chosen for the construction of RCL and they are selected at random with 50% chance each. Note that, as stated previously on the definition of and , the selection of the one to be used will define if RCL uses or . Vertex receives a color randomly selected from RCL in line 4. Color neighborhood of vertices in are then updated in line 4. After all vertices previously colored with have been assigned a new color, is removed from set in line 4.
The algorithm then certifies if colors in now have a -vertex in lines 4-4. Colors that now have a -vertex are removed from in line 4. Lastly, is removed from in line 4. The algorithm terminates when which implies , so the resulting -coloring and the set of used colors are returned in line 4.
Proposition 2.
Algorithm 4 runs in .
Proof.
Observe that Algorithm 4 performs a series of color removals and updates. The while loop of lines 4-4 is executed times, as each color is removed at most once. On any occasion a color is to be removed from , line 4 is carried out in . The foreach loop of lines 4-4 is executed times and each iteration is performed in , therefore the complete loop is executed in . The foreach loop of lines 4-4 is also executed times and the verification and possible updates are all performed in for each iteration, consequently the complete loop is executed in . Note that in order to perform the verification of line 4 in , one could keep for each an indicator vector corresponding to together with the number of nonzero entries in this vector, as well as an indicator vector corresponding to in conjunction with the number of nonzero entries in this vector. The verification could thus be performed by simply comparing the number of nonzero entries in these two indicator vectors. Algorithm 4 thus runs in , which is . ∎
Corollary 1.
Algorithm 1 runs in .
4 The matheuristic approach
In this section, before describing the matheuristic approach, we present its two main components: (a) the multi-start multi-greedy randomized metaheuristic and (b) the MIP (mixed integer programming) based fix-and-optimize local search procedure. The multi-start metaheuristic consists in performing a predefined number of iterations of the multi-greedy randomized heuristic and is described in Subsection 4.1. The MIP-based fix-and-optimize local search consists in solving a restricted MIP obtained by fixing certain decision variables and is described in Subsection 4.2. Finally, Subsection 4.3 presents the matheuristic approach which consists in the combination of the multi-start metaheuristic with the MIP-based fix-and-optimize local search procedure.
4.1 Multi-start multi-greedy randomized metaheuristic
The pseudo-code of the multi-start multi-greedy randomized metaheuristic is described in Algorithm 5. In addition to the graph and two parameters regarding the sizes of restricted candidate lists (RCL), namely and , the algorithm also takes as input , which represents the maximum number of iterations that the multi-greedy randomized heuristic will be executed.
Procedure MULTISTART-B-COL will save in the best obtained coloring. The set of used colors in , , is initialized as empty (Algorithm 5, line 5). The coloring generated at iteration is represented by and the corresponding set of used colors as . represents the solution value, which is the number of used colors in coloring . The loop in lines 5–5 performs iterations . The construction phase starts by invoking procedure RANDOMIZED-CONSTRUCTIVE to build the solution in line 5. In case an improving solution is obtained, the algorithm updates and in lines 5-5. If the solution value of matches the upper bound the execution of RANDOMIZED-CONSTRUCTIVE is terminated by returning in line 5, as the solution is proven to be optimal. Otherwise, a new iteration begins until the maximum number of iterations is exceeded. The solution with the highest number of used colors, i.e., the best solution encountered by the multi-start phase, is returned in line 5.
4.2 MIP-based fix-and-optimize local search
Given an available feasible solution, the MIP-based fix-and-optimize local search procedure consists in generating a subproblem obtained from the original -coloring problem by fixing certain decision variables at the values they assume in the available feasible solution which is also offered as a warm start for the used MIP solver. With fewer variables remaining to be optimized, it is expected that the resulting subproblem is more tractable by a standard MIP solver than the original problem. In this work, the input feasible solution consists of the best solution generated by MULTISTART-B-COL. The MIP-based fix-and-optimize local search is described in Algorithm 6. In addition to the graph and an initial feasible solution, represented by and , the algorithm also takes as input the maximum time allowed for solving the obtained MIP formulation given by MAXTIME. In our framework, the initial feasible solution offered to MIP-LS will be the currently best known solution returned by MULTISTART-B-COL.
The set of representative -vertices and the set of vertices that cannot be representatives in an improving solution are initialized as empty in line 6 of Algorithm 6. Set is built according to the input solution in the foreach loop of lines 6-6. Following Observations 1 and 2, set is built from the input solution in the foreach loop of lines 6-6 with all vertices which are not -vertices in coloring and have degree strictly smaller than its number of colors . Line 6 solves a mixed integer program defined by the formulation presented in Section 2, in which all variables in are fixed to one (i.e., all corresponding vertices are selected to be representatives in the solution) and all vertices in are fixed to zero. Additionally, coloring is provided as a warm start, i.e., as an initial feasible solution. Fixing is achieved by adding the following additional constraints to the formulation
(7) | ||||
(8) |
The best solution obtained by the resulting MIP restricted to a maximum time limit MAXTIME is returned in line 6. Note that the input coloring is always feasible for this MIP subproblem.
4.3 Matheuristic approach
Combinations of metaheuristics with exact algorithms from mathematical programming approaches such as mixed integer programming (MIP), called matheuristics, have received considerable attention over the last few years. It has been acknowledged by the optimization research community that combining effort from exact and metaheuristic approaches could achieve better solutions when compared with pure classic methods Raidl \BBA Puchinger (\APACyear2008); Dumitrescu \BBA Stützle (\APACyear2009). Matheuristics frequently benefit from metaheuristics as the main method to compute good quality solutions, with the exact approach used to enhance these solutions by solving subproblems.
Motivated by recently successful results by matheuristics Doi \BOthers. (\APACyear2018); Cunha \BOthers. (\APACyear2019); Perumal \BOthers. (\APACyear2019); Melo \BOthers. (\APACyear2021), we combine the multi-start metaheuristic MULTISTART-B-COL
that appears in Algorithm 5
with the MIP-based fix-and-optimize local search procedure presented in Algorithm 6, which produces the matheuristic MSBCOL+:
MSBCOL+
Step 1: , MULTISTART-B-COL();
Step 2: , MIP-LS(, , , MAXTIME);
Step 3: Return , .
5 Computational experiments
All computational experiments were carried out on a machine running under Ubuntu x86-64 GNU/Linux, with an Intel Core i7-8700 Hexa-Core 3.20GHz processor and 16Gb of RAM. The metaheuristic was coded in C++ and the formulation solved using CPLEX 12.8 under standard configurations. Each execution of the solver was limited to one hour (3,600s). Subsection 5.1 describes the benchmark instances. Subsection 5.2 lists the tested approaches and reports the parameter settings. Subsections 5.3 and 5.4 summarize the computational results for small and large instances, correspondingly. Finally, Subsection 5.5 compares some of the obtained computational results with a state-of-the-art metaheuristic presented in \citeAFisPetMerCre15 taking into consideration a subset of the large instances.
5.1 Benchmark instances
The tests were carried out on a set of benchmark instances divided into small ( 10,000 edges) and large ( 10,000 edges) graphs, and is composed of:
-
(a)
new randomly generated instances;
-
(b)
instances from the Second DIMACS Implementation Challenge.
The new set of instances was constructed using the graph generator ggen Morgenstern (\APACyear\bibnodate) and includes bipartite, geometric and random graphs. Small instances were created with the following parameters: (a) vertices; (b) edge probability for random and bipartite graphs and the euclidean distance for geometric graphs lie in . Five instances were generated for each combination of number of vertices and edge probability (or euclidean distance for the geometric graphs), therefore instances with those same characteristics, but different seeds, are organized into instance groups. Each instance group is identified by , where represents the class of the graph: random (), bipartite (), and geometric (); gives the number of vertices and denotes the edge probability for random and bipartite graphs, and the euclidean distance for geometric graphs. More challenging large bipartite and random instances were also created in a similar fashion but with the number of vertices in . We remark that all results reported for this set of instances represent average values over the corresponding instance group.
We also use the graphs presented in the benchmark instances from the Second DIMACS Implementation Challenge as they are largely used in the literature, especially for coloring and maximum clique problems Avanthay \BOthers. (\APACyear2003); Lü \BBA Hao (\APACyear2010); Moalic \BBA Gondran (\APACyear2018); Nogueira \BOthers. (\APACyear2018); San Segundo \BOthers. (\APACyear2019). The instances are identified by their original filename and can be obtained in the DIMACS Implementation Challenges website Trick \BOthers. (\APACyear2015). We denote the instances for coloring problems as graph coloring instances and those for maximum clique problems as maximum clique instances. The complete benchmark instances along with detailed results for each instance are available in \citeAMelQueSan20 at Mendeley Data.
5.2 Tested approaches and parameters setting
In this subsection we present the tested approaches and the preliminary experiments carried out to determine the parameters of the proposed techniques. The following approaches were considered in the computational experiments:
-
(a)
MSBCOL: run exclusively MULTISTART-B-COL in parallel using all cores of the target machine;
-
(b)
MSBCOL+: run the matheuristic, using the best solution encountered by the metaheuristic MSBCOL as a warm start for the MIP-based fix-and-optimize local search procedure;
-
(c)
MSBCOL∗: run the complete integer programming formulation presented in Section 2, using the best solution encountered by the metaheuristic MSBCOL as a warm start. Following Observations 1 and 2, variables corresponding to vertices with degree less than or equal to this best solution value are fixed to zero, as long as they are not -vertices in the warm start solution;
-
(d)
IP: Run the integer programming formulation presented in Section 2 without any initial solution or fixings of variables.
The used test strategy was adopted to evaluate the behavior of the newly proposed methods according with the class and size of the benchmark instances. Furthermore, we wanted to verify the effectiveness of the MIP-based fix-and-optimize local search when compared with the complete formulation.
Define to be the density of , calculated as , and let the maximum number of iterations for MULTISTART-B-COL, , be computed as . This formula for can be interpreted as follows. The minimum number of iterations that the algorithm executes is given by the first part of the formula, which is the constant 100. The variable number of iterations given by is inversely proportional to the size and density of the graph, as iterations become more time consuming on larger and denser graphs. Such choice was made as an attempt to allow a reasonable number of iterations in order to avoid poor performance of the algorithm. The experiments to tune the parameter values are reported in the following. We randomly selected a small subset containing approximately 5.0% of the instances with varying characteristics for parameter tuning. The following values were tested for each parameter:
-
(a)
;
-
(b)
;
The best obtained parameter values for MULTISTART-B-COL were and .
5.3 Small instances
Tables 1-3 report the results for MSBCOL, MSBCOL+, MSBCOL∗ and IP on the new set of generated small instances composed of bipartite, geometric and random graphs. The first column identifies the instance group. Columns 2 to 4 report the number of vertices (), the average number of edges () along with the average solution upper bound for the instance group (). Columns 5 to 8 give, for MSBCOL, the best encountered solution values (), the average solution values for the executed number of iterations (), the average running times in seconds (), and the percentual gap between the solution found by MSBCOL and the best obtained solution (), calculated as (). Columns 9 and 10 give, for MSBCOL+, the encountered solution values () and the average running times in seconds () for the MIP-based local search procedure. Columns 10 to 15 give, for the exact approaches MSBCOL∗ and IP, the encountered solution values ( and , respectively), the average running times to solve the instances to optimality (), and the average open gaps (in %) of the unsolved instances (), calculated as , where represents the best known integer solution and the best upper bound achieved at the end of the execution. The last two lines report the number of best known solutions found by each of the proposed approaches (), and, for MSBCOL∗ and IP, the amount of instances solved to optimality ().
The value ’n/a’ in a cell indicates that, for at least one instance in the group, either the solver exceeded the time limit before obtaining a feasible solution or the execution was halted by the operating system due to memory limitations. The value ’t.l.’ for column means that none of the instances in the group were solved to optimality within the time limit of 3,600 seconds using the corresponding integer program. The value ’-’ for column represents that all five instances in the group were solved to optimality. The best encountered solution values are shown in bold.
Instance group | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
bip_50_0.2 | 50 | 128.8 | 8.2 | 7.6 | 6.4 | 0.1 | 7.3 | 7.8 | 0.1 | 8.2 | 0.1 | - | 8.2 | 17.6 | - |
bip_50_0.4 | 50 | 252.0 | 12.8 | 10.2 | 8.2 | 0.1 | 15.0 | 11.8 | 0.6 | 12.0 | 5.2 | - | 12.0 | 50.6 | - |
bip_50_0.6 | 50 | 373.4 | 17.0 | 12.2 | 10.3 | 0.1 | 17.6 | 14.0 | 1.0 | 14.8 | 840.6 | - | 14.8 | 583.8 | 6.7 |
bip_50_0.8 | 50 | 470.0 | 19.4 | 15.4 | 12.6 | 0.1 | 9.4 | 16.6 | 0.1 | 17.0 | 32.6 | - | 17.0 | 41.4 | - |
bip_60_0.2 | 60 | 181.2 | 9.6 | 8.8 | 7.5 | 0.1 | 6.4 | 9.4 | 0.2 | 9.4 | 0.2 | - | 9.4 | 83.8 | - |
bip_60_0.4 | 60 | 351.6 | 14.8 | 11.2 | 9.4 | 0.1 | 20.0 | 13.6 | 311.2 | 14.0 | 113.7 | 7.1 | 14.0 | 405.0 | 7.1 |
bip_60_0.6 | 60 | 526.2 | 19.8 | 14.4 | 11.9 | 0.1 | 16.3 | 16.6 | 6.6 | 17.2 | 205.0 | 11.0 | 17.2 | 1,772.0 | 12.3 |
bip_60_0.8 | 60 | 709.0 | 24.8 | 16.8 | 11.5 | 0.1 | 18.4 | 20.0 | 0.2 | 20.6 | 885.2 | - | 20.6 | 1,053.8 | - |
bip_70_0.2 | 70 | 246.2 | 10.4 | 9.4 | 8.0 | 0.1 | 9.6 | 10.0 | 0.2 | 10.4 | 0.4 | - | 10.4 | 373.8 | - |
bip_70_0.4 | 70 | 468.6 | 17.4 | 12.6 | 10.7 | 0.1 | 19.2 | n/a | n/a | n/a | n/a | n/a | 15.2 | t.l. | 13.2 |
bip_70_0.6 | 70 | 700.4 | 23.0 | 15.8 | 13.1 | 0.1 | 17.7 | 19.2 | 2,337.2 | 18.6 | t.l. | 32.6 | 18.6 | t.l. | 26.4 |
bip_70_0.8 | 70 | 946.8 | 27.6 | 20.2 | 14.3 | 0.1 | 15.1 | 22.8 | 1.0 | 23.8 | 60.5 | 14.5 | 23.8 | 853.0 | 14.1 |
bip_80_0.2 | 80 | 314.8 | 11.6 | 10.0 | 8.5 | 0.1 | 13.8 | 11.4 | 0.4 | 11.6 | 3.8 | - | 11.6 | 951.8 | - |
bip_80_0.4 | 80 | 644.8 | 19.2 | 13.4 | 11.2 | 0.1 | 19.3 | 16.6 | 901.8 | 16.4 | t.l. | 38.7 | 16.4 | t.l. | 107.8 |
bip_80_0.6 | 80 | 947.6 | 26.6 | 17.0 | 14.4 | 0.1 | 19.0 | 21.0 | t.l. | 20.0 | t.l. | 95.4 | 20.0 | t.l. | 97.0 |
bip_80_0.8 | 80 | 1,257.0 | 32.8 | 21.4 | 15.1 | 0.2 | 16.4 | 25.6 | 15.2 | 25.2 | t.l. | 30.5 | 24.8 | t.l. | 31.9 |
# best | 0/16 | 5/16 | 11/16 | 12/16 | |||||||||||
# opt | 47/80 | 45/80 |
Instance group | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
geo_50_0.2 | 50 | 125.8 | 8.8 | 8.4 | 7.9 | 0.1 | 2.3 | 8.6 | 0.1 | 8.6 | 0.1 | - | 8.6 | 6.0 | - |
geo_50_0.4 | 50 | 437.4 | 20.8 | 19.6 | 18.0 | 0.1 | 4.9 | 20.4 | 0.1 | 20.6 | 0.2 | - | 20.6 | 5.4 | - |
geo_50_0.6 | 50 | 765.4 | 29.6 | 27.8 | 26.0 | 0.1 | 3.5 | 28.8 | 0.1 | 28.8 | 0.2 | - | 28.8 | 1.2 | - |
geo_50_0.8 | 50 | 1,002.4 | 36.4 | 34.2 | 33.2 | 0.1 | 1.2 | 34.6 | 0.1 | 34.6 | 0.1 | - | 34.6 | 0.2 | - |
geo_60_0.2 | 60 | 186.0 | 9.6 | 9.4 | 9.3 | 0.1 | 2.1 | 9.4 | 0.1 | 9.6 | 0.1 | - | 9.6 | 19.4 | - |
geo_60_0.4 | 60 | 637.8 | 24.2 | 21.6 | 19.8 | 0.1 | 10.7 | 24.0 | 0.1 | 24.2 | 0.4 | - | 24.2 | 15.6 | - |
geo_60_0.6 | 60 | 1,111.0 | 35.2 | 32.6 | 30.8 | 0.2 | 4.7 | 34.0 | 0.1 | 34.2 | 0.2 | - | 34.2 | 2.4 | - |
geo_60_0.8 | 60 | 1,494.6 | 45.8 | 42.6 | 41.2 | 0.1 | 1.4 | 43.2 | 0.1 | 43.2 | 0.1 | - | 43.2 | 0.1 | - |
geo_70_0.2 | 70 | 265.0 | 11.8 | 11.4 | 10.3 | 0.1 | 3.4 | 11.6 | 0.1 | 11.8 | 0.1 | - | 11.8 | 66.4 | - |
geo_70_0.4 | 70 | 812.0 | 26.4 | 23.4 | 21.3 | 0.1 | 11.4 | 26.0 | 0.1 | 26.4 | 1.2 | - | 26.4 | 40.4 | - |
geo_70_0.6 | 70 | 1,448.8 | 39.2 | 36.2 | 34.0 | 0.2 | 5.2 | 38.2 | 0.2 | 38.2 | 0.8 | - | 38.2 | 8.4 | - |
geo_70_0.8 | 70 | 2,020.8 | 53.0 | 49.6 | 47.6 | 0.2 | 1.6 | 50.2 | 0.1 | 50.4 | 0.2 | - | 50.4 | 0.4 | - |
geo_80_0.2 | 80 | 331.2 | 12.4 | 11.8 | 10.8 | 0.1 | 4.8 | 12.4 | 0.1 | 12.4 | 0.1 | - | 12.4 | 141.0 | - |
geo_80_0.4 | 80 | 1,072.2 | 30.4 | 26.2 | 24.0 | 0.2 | 13.2 | 29.8 | 0.4 | 30.2 | 16.6 | - | 30.2 | 170.8 | - |
geo_80_0.6 | 80 | 1,950.6 | 46.0 | 42.6 | 39.2 | 0.3 | 4.9 | 44.4 | 0.2 | 44.8 | 1.0 | - | 44.8 | 11.2 | - |
geo_80_0.8 | 80 | 2,689.6 | 61.0 | 55.8 | 54.1 | 0.2 | 2.4 | 56.6 | 0.1 | 57.2 | 0.2 | - | 57.2 | 0.8 | - |
# best | 0/16 | 6/16 | 16/16 | 16/16 | |||||||||||
# opt | 80/80 | 80/80 |
Instance group | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
rand_50_0.2 | 50 | 248.8 | 12.8 | 9.6 | 8.1 | 0.1 | 21.3 | 11.4 | 1.4 | 12.2 | 17.4 | - | 12.2 | 41.6 | - |
rand_50_0.4 | 50 | 485.0 | 21 | 13.0 | 11.3 | 0.1 | 19.8 | 15.8 | 34.2 | n/a | n/a | n/a | n/a | n/a | n/a |
rand_50_0.6 | 50 | 730.8 | 29.4 | 17.8 | 15.7 | 0.1 | 16.8 | 20.4 | 0.8 | 21.4 | 1299.5 | 8.5 | 21.2 | 837.0 | 8.8 |
rand_50_0.8 | 50 | 982.8 | 38 | 24.0 | 21.7 | 0.1 | 10.4 | 25.6 | 0.1 | 26.8 | 8.2 | - | 26.8 | 6.0 | - |
rand_60_0.2 | 60 | 355.2 | 15 | 10.8 | 9.1 | 0.1 | 21.7 | 13.4 | 12.2 | 13.8 | 799.25 | 7.1 | 13.8 | 667.5 | 7.3 |
rand_60_0.4 | 60 | 711.4 | 25.4 | 15.2 | 13.3 | 0.1 | 18.3 | 18.6 | t.l. | 18.2 | t.l. | 29.2 | 18.6 | t.l. | 26.9 |
rand_60_0.6 | 60 | 1065.0 | 35.8 | 20.6 | 18.1 | 0.1 | 15.6 | 24.4 | 12.0 | 24.2 | t.l. | 19.6 | 24.2 | t.l. | 19.9 |
rand_60_0.8 | 60 | 1426.4 | 46.2 | 27.8 | 25.3 | 0.1 | 12.6 | 30.6 | 0.1 | 31.8 | 63.6 | - | 31.8 | 59.8 | - |
rand_70_0.2 | 70 | 477.6 | 16.8 | 11.8 | 9.9 | 0.1 | 21.3 | 15.0 | 2265.8 | 15.0 | t.l. | 8.7 | 14.8 | t.l. | 26.6 |
rand_70_0.4 | 70 | 984.4 | 30 | 17.0 | 15.0 | 0.2 | 19.8 | 21.2 | t.l. | 20.4 | t.l. | 42.0 | 20.4 | t.l. | 40.6 |
rand_70_0.6 | 70 | 1425.0 | 41.2 | 22.2 | 19.9 | 0.2 | 17.8 | 27.0 | 98.2 | 26.8 | t.l. | 30.8 | 27.0 | t.l. | 29.3 |
rand_70_0.8 | 70 | 1934.2 | 53.6 | 31.2 | 28.2 | 0.2 | 14.3 | 34.8 | 0.1 | 36.4 | 659.4 | - | 36.4 | 846.8 | - |
rand_80_0.2 | 80 | 646.6 | 19.6 | 13.0 | 11.1 | 0.1 | 22.6 | 16.8 | 2916.2 | 16.2 | t.l. | 42.0 | 15.8 | t.l. | 81.0 |
rand_80_0.4 | 80 | 1266.6 | 33.8 | 18.2 | 16.4 | 0.2 | 18.0 | 22.2 | t.l. | 21.8 | t.l. | 68.9 | 21.4 | t.l. | 97.5 |
rand_80_0.6 | 80 | 1896.6 | 47.4 | 25.0 | 22.5 | 0.2 | 19.4 | 31.0 | 1127.0 | 29.6 | t.l. | 43.2 | 29.2 | t.l. | 43.3 |
rand_80_0.8 | 80 | 2521.8 | 61.8 | 35.0 | 31.2 | 0.2 | 14.2 | 39.4 | 0.1 | 40.8 | t.l. | 6.3 | 40.8 | t.l. | 6.6 |
# best | 0/16 | 9/16 | 8/16 | 8/16 | |||||||||||
# opt | 26/80 | 23/80 |
The results show that MSBCOL performed very efficiently, as the reported running times for all instances in the three classes of graphs were below 0.4 seconds, which is practically negligible. Besides, the solutions encountered by MSBCOL are all within 23.0% of the best encountered solution. Results are particularly noteworthy for geometric graphs, as 12 out of 16 (75.0%) reported solutions were within 5.0% of the best known. Regarding MSBCOL+, the results show that the MIP-based fix-and-optimize local search has improved the initial solutions provided by MSBCOL for all 48 instance groups. MSBCOL+ encountered the best known solutions for 6 out of 18 (33.3%) instance groups for both geometric and bipartite graphs. Furthermore, MSBCOL+ presented notable results for random graphs, as it reported 8 out of 16 (50.0%) best known solutions. MSBCOL+ was also very effective, as 30 out of 48 instance groups (62.5%) were solved in less than one second. The most impressive performance can be seen for geometric graphs, as the method was able to solve 13 out of 18 instance groups (72.2%) in less than 0.1 seconds.
Similarly to MSBCOL+, MSBCOL∗ also improved the initial solutions provided by MSBCOL for all 48 instance groups. For bipartite graphs MSBCOL∗ found the best known solution for 12 out of 16 instance groups (75.0%). Additionally for bipartite graphs, 47 out of 80 instances (58.8%) were optimally solved by the approach. MSBCOL∗ presented remarkable results for geometric graphs, reporting the best known and optimal solutions for all 16 instance groups. Regarding random instances, MSBCOL∗ performed well, encountering best known solution values for 8 out of 16 (50.0%) instance groups. Furthermore, 26 out of 80 (31.5%) small random instances were solved to optimality. Finally, within the given time limit, 28 out of 48 (58.3%) instance groups were completely solved to optimally using MSBCOL∗.
Lastly, IP presented similar results when compared with MSBCOL∗, as it reached optimality in 27 out of 48 (56.2%) instance groups, however, MSBCOL∗ uses less computational times, which can be specially evidenced in groups , , , and . The results show that for bipartite graphs IP obtained 11 out of 16 (68.7%) best known solutions for bipartite graphs. As for geometric graphs, identical to MSBCOL∗, IP achieved the best known and optimal solutions for all 16 instance groups. IP also performed well on random instances, considering that it encountered best known solutions for 9 out of 16 (56.2%) instance groups, and solved to optimality 23 out of 80 instances (28.8%).
Tables 4-5 report the results for MSBCOL, MSBCOL+, MSBCOL∗ and IP on the set of small graphs from the Second DIMACS Implementation Challenge. The first column identify the DIMACS instance. Columns 2 to 4 report the number of vertices of each graph (), the number of edges () along with the solution upper bound (). Columns 5 to 8 give, for MSBCOL and MSBCOL+, the encountered solution values ( and , respectively) and the running time in seconds (). Columns 9 to 14 give, for MSBCOL∗ and IP, the encountered solution values ( and , respectively), the running time to solve the instance (), and the open gap (in %) in case of unsolved instances (), defined as before. The last two lines report the number of best known solutions found by each of the proposed approaches (), and, for MSBCOL∗ and IP, the amount of instances solved to optimality ().
The value ’n/a’ in a cell expresses that either the solver exceeded the time limit before obtaining a feasible solution or the execution was halted by the operating system due to memory limitations. The value ’t.l.’ for column indicates that the instance was not solved to optimality within the time limit of 3,600 seconds. The value ’-’ for column means that the instance was solved to optimality. The best encountered solution values are shown in bold.
Instance name | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
dsjc125.1.col | 125 | 736 | 17 | 13 | 11.0 | 0.2 | 23.5 | 15 | 11.0 | 17 | 794.0 | - | 8 | t.l. | 716.3 |
dsjc125.5.col | 125 | 3,891 | 63 | 30 | 27.4 | 0.6 | 14.3 | 35 | t.l. | 32 | t.l. | 126.8 | 34 | t.l. | 115.5 |
dsjc125.9.col | 125 | 6,961 | 109 | 62 | 57.7 | 0.6 | 8.8 | 65 | 0.1 | 68 | t.l. | 7.0 | 68 | t.l. | 7.0 |
dsjc250.1.col | 250 | 3,218 | 33 | 19 | 17.0 | 0.7 | 5.0 | 19 | t.l. | 19 | t.l. | 1105.3 | 20 | t.l. | 1150.0 |
dsjr500.1.col | 500 | 3,555 | 23 | 21 | 19.8 | 1.0 | 8.7 | 21 | 5.0 | 23 | 170.0 | - | 14 | t.l. | 3471.4 |
fpsol2.i.2.col | 451 | 8,691 | 53 | 52 | 51.6 | 9.9 | 1.9 | 52 | 3.0 | 53 | 5.0 | - | 30 | t.l. | 397.1 |
fpsol2.i.3.col | 425 | 8,688 | 53 | 52 | 51.6 | 9.4 | 1.9 | 52 | 2.0 | 53 | 4.0 | - | n/a | n/a | n/a |
le450_15a.col | 450 | 8,168 | 57 | 35 | 29.8 | 3.7 | 0.0 | 35 | t.l. | 35 | t.l. | 270.6 | 21 | t.l. | 2042.9 |
le450_15b.col | 450 | 8,169 | 56 | 34 | 29.7 | 3.5 | 0.0 | 34 | t.l. | 34 | t.l. | 309.4 | 20 | t.l. | 2150.0 |
le450_25a.col | 450 | 8,260 | 63 | 41 | 36.5 | 4.8 | 0.0 | 41 | t.l. | 41 | t.l. | 166.7 | n/a | n/a | n/a |
le450_25b.col | 450 | 8,263 | 60 | 39 | 35.2 | 4.1 | 0.0 | 39 | t.l. | 39 | t.l. | 200.6 | n/a | n/a | n/a |
le450_5a.col | 450 | 5,714 | 34 | 24 | 20.1 | 1.6 | 0.0 | 24 | t.l. | 24 | t.l. | 1104.2 | 19 | t.l. | 2268.4 |
le450_5b.col | 450 | 5,734 | 34 | 22 | 19.6 | 1.6 | 0.0 | 22 | t.l. | 22 | t.l. | 1472.7 | 14 | t.l. | 3114.3 |
le450_5c.col | 450 | 9,803 | 52 | 27 | 24.0 | 2.4 | 15.6 | 27 | t.l. | 27 | t.l. | 1566.7 | 32 | t.l. | 1306.2 |
le450_5d.col | 450 | 9,757 | 52 | 26 | 23.9 | 2.5 | 0.0 | 26 | t.l. | 26 | t.l. | 1630.8 | 21 | t.l. | 2042.9 |
mulsol.i.1.col | 197 | 3,925 | 65 | 60 | 58.3 | 0.8 | 6.3 | 60 | 1.0 | 64 | 11.0 | - | 64 | 1,546.0 | - |
mulsol.i.2.col | 188 | 3,885 | 53 | 39 | 39.0 | 1.1 | 23.5 | 50 | 1.0 | 51 | 1.0 | - | 51 | 2,737.0 | - |
mulsol.i.3.col | 184 | 3,916 | 54 | 51 | 44.8 | 1.1 | 1.9 | 51 | 0.1 | 52 | 1.0 | - | 52 | t.l. | 10.3 |
mulsol.i.4.col | 185 | 3,946 | 54 | 52 | 51.5 | 1.1 | 0.0 | 52 | 0.1 | 52 | 0.1 | - | 52 | t.l. | 1.9 |
mulsol.i.5.col | 186 | 3,973 | 55 | 52 | 51.8 | 1.2 | 1.9 | 52 | 0.1 | 53 | 1.0 | - | 53 | 1,702.0 | - |
r125.1c.col | 125 | 7,501 | 116 | 50 | 48.1 | 0.5 | 5.7 | 53 | 0.1 | 53 | 0.1 | - | 53 | 0.1 | - |
r125.1.col | 125 | 209 | 7 | 7 | 6.1 | 0.1 | 0.0 | 7 | 0.1 | 7 | 0.1 | - | 7 | 468.0 | - |
r125.5.col | 125 | 3,838 | 61 | 52 | 48.8 | 0.7 | 13.3 | 60 | 3.0 | 60 | 34.0 | - | 60 | 626.0 | - |
r250.1.col | 250 | 867 | 13 | 12 | 11.3 | 0.3 | 0.0 | 12 | 1.0 | 12 | 1.0 | - | 8 | t.l. | 1483.2 |
zeroin.i.1.col | 211 | 4,100 | 54 | 53 | 51.0 | 0.7 | 1.9 | 53 | 1.0 | 54 | 1.0 | - | 54 | 67.0 | - |
zeroin.i.2.col | 211 | 3,541 | 41 | 35 | 33.4 | 1.1 | 14.6 | 36 | 1.0 | 41 | 1.0 | - | 41 | 2,405.0 | - |
zeroin.i.3.col | 206 | 3,540 | 41 | 36 | 33.4 | 1.1 | 12.2 | 37 | 1.0 | 41 | 2.0 | - | 41 | 1,719.0 | - |
# best | 10/27 | 13/27 | 24/27 | 14/27 | |||||||||||
# opt | 16/27 | 9/27 |
Instance name | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
brock200_2.clq | 200 | 9,876 | 100 | 43 | 38.9 | 1.6 | 10.4 | 47 | t.l. | 43 | t.l. | 178.7 | 48 | t.l. | 149.7 |
c125.9.clq | 125 | 6,963 | 108 | 63 | 57.5 | 0.6 | 7.4 | 64 | 0.1 | 68 | t.l. | 6.5 | 68 | t.l. | 6.8 |
c-fat200-1.clq | 200 | 1,534 | 18 | 18 | 18.0 | 0.1 | 0.0 | 18 | 1.0 | 18 | 0.1 | - | 18 | t.l. | 472.0 |
c-fat200-2.clq | 200 | 3,235 | 34 | 34 | 34.0 | 0.1 | 0.0 | 34 | 1.0 | 34 | 0.1 | - | 33 | t.l. | 225.2 |
c-fat200-5.clq | 200 | 8,473 | 86 | 86 | 86.0 | 0.1 | 0.0 | 86 | 1.0 | 86 | 2.0 | - | 86 | 1,561.0 | - |
c-fat500-1.clq | 500 | 4,459 | 21 | 21 | 21.0 | 0.1 | 0.0 | 21 | 4.0 | 21 | 4.0 | - | 18 | t.l. | 2677.8 |
c-fat500-2.clq | 500 | 9,139 | 39 | 39 | 39.0 | 0.1 | 0.0 | 39 | 8.0 | 39 | 8.0 | - | 26 | t.l. | 1823.1 |
hamming6-2.clq | 64 | 1,824 | 58 | 34 | 32.4 | 0.1 | 2.9 | 34 | 0.1 | 35 | 3.0 | - | 35 | 3.0 | - |
hamming6-4.clq | 64 | 704 | 23 | 13 | 10.4 | 0.1 | 13.3 | 15 | t.l. | 15 | t.l. | 53.3 | 15 | t.l. | 53.3 |
johnson8-2-4.clq | 28 | 210 | 16 | 9 | 6.4 | 0.1 | 0.0 | 9 | 0.1 | 9 | 2.0 | - | 9 | 4.0 | - |
johnson8-4-4.clq | 70 | 1,855 | 54 | 23 | 19.9 | 0.2 | 17.9 | 26 | 1.0 | 28 | t.l. | 31.0 | 26 | t.l. | 41.1 |
johnson16-2-4.clq | 120 | 5,460 | 92 | 17 | 14.6 | 0.6 | 54.1 | 17 | 0.1 | 37 | t.l. | 32.8 | 36 | t.l. | 32.7 |
keller4.clq | 171 | 9,435 | 106 | 40 | 33.7 | 1.4 | 16.7 | 48 | t.l. | 43 | t.l. | 127.8 | 45 | t.l. | 117.0 |
mann_a9.clq | 45 | 918 | 41 | 21 | 19.7 | 0.1 | 0.0 | 21 | 0.1 | 21 | 0.1 | - | 21 | 0.1 | - |
# best | 7/14 | 9/14 | 12/14 | 8/14 | |||||||||||
# opt | 8/14 | 4/14 |
The multi-start approach, MSBCOL, achieved notable results, considering that for graph coloring instances (Table 4) the algorithm reported 10 out of 27 (37.0%) best known results, and for maximum clique instances (Table 5) returned 7 out of 14 (50.0%) best known solution values. MSBCOL achieved the majority of solutions within 20.0% of the best known, with a few exceptions being instances dsjc125.1.col, mulsol.i.2.col and johnson16-2-4.clq. Moreover, several of the reported solution values are within 5.0% of the best known, as can be seen in dsjc250.1.col, fpsol2.i.2.col, fpsol2.i.3.col, mulsol.i.3.col, mulsol.i.5.col, zeroin.i.1.col, and hamming6-2.clq. Lastly, we also mention that these results were generated very efficiently, as the reported times were all under 10.0 seconds for graph coloring instances and 2.0 seconds for maximum clique instances.
The results show that MSBCOL+ improved the initial solutions provided by MSBCOL for 7 out of 27 (25.9%) graph coloring instances and for 5 out of 14 (35.71%) maximum clique instances. The most outstanding improvements can be seen in dsjc125.5.col, mulsol.i.2.col, brock2002.clq and keller4.clq. MSBCOL+ encountered best known solutions for 13 out of 27 (48.2%) graph coloring instances and 11 out of 14 (78.6%) for maximum clique instances.
One can see from the tables that MSBCOL∗ outperformed MSBCOL+, especially for graph coloring instances, whereas the approach enhanced the initial solutions provided by MSBCOL in 15 out of 27 (55.6%) cases. As for maximum clique instances, 6 out of 14 (42.9%) initial solutions were improved. Note that MSBCOL∗ found the best known solution values for a majority of instances, which strongly supports its effectiveness. For graph coloring instances, 24 out of 27 (88.9%) best known solutions were reported, as for maximum clique instances it returned 12 out of 14 (85.7%) best known results. Additionally, MSBCOL∗ optimally solved 16 out of 27 (59.3%) graph coloring instances, and 8 out of 14 (57.1%) maximum clique instances.
The results also show that IP reported noticeable inferior results when compared to MSBCOL∗, as the approach returned best known solutions for 14 out of 27 (51.9%) graph coloring instances and 8 out of 14 (57.1%) maximum clique instances. Besides, IP did not obtain integer feasible solutions for three graph coloring instances (fpsol2.i.3.col, le450_25a.col, le450_25b.col), which reinforce the importance of the initial solutions provided by MSBCOL. Lastly, IP optimally solved 12 out of 27 (44.4%) graph coloring instances, and 4 out of 14 (28.6%) maximum clique instances. It is noteworthy that MSBCOL∗ solved instances to optimality considerably faster than IP as can be seen in instances mulsol.i.2.col and zeroin.i.2.col, which were solved by MSBCOL∗ in around 1.0 second, meanwhile IP took over 2000.0 seconds to solve them.
Overall, the results show that MSBCOL can generate solutions very quickly, which is advantageous in cases where one values performance over optimality. Additionally, both MSBCOL+ and MSBCOL∗ accomplished to improve MSBCOL results. Even though MSBCOL+ was outperformed by MSBCOL∗ and IP in terms of solution values, it presents lower computational times and the idea could be heuristically adapted and used in a combinatorial local search strategy to achieve even better solutions. MSBCOL∗ and IP obtained better known solutions for the majority of instances, but it is worth mentioning that they are more viable options when larger computational times are available. One can observe that the optimal solutions found by MSBCOL∗ and IP show that for the tested small instances the -chromatic number is equal or very close to the upper bound . Analyzing the performances of MSBCOL∗ and IP, MSBCOL∗ has much lower computational times in general and optimally solved more instances than IP, which suggests the usefulness of initial solutions provided by MSBCOL.
5.4 Large instances
Tables 6 and 7 report the results for MSBCOL, MSBCOL+, MSBCOL∗, and IP on the new set of more challenging instances composed of large bipartite and random graphs. The structure of these tables is similar to that of Tables 1-3. Note that large geometric instances were not tested as it was observed for the small instances in Section 5.3 that they are much easier to solve than the bipartite and random ones.
Instance group | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
bip_500_0.2 | 500 | 12,473.0 | 58.4 | 28.6 | 25.8 | 3.1 | 21.4 | 28.6 | t.l. | 28.6 | t.l. | 1,648.8 | 36.4 | t.l. | 1,274.7 |
bip_500_0.4 | 500 | 24,970.0 | 107.0 | 44.8 | 39.9 | 5.3 | 0.0 | 44.8 | t.l. | 44.8 | t.l. | 1,016.2 | n/a | n/a | n/a |
bip_500_0.6 | 500 | 37,500.4 | 155.0 | 62.4 | 49.3 | 7.5 | 0.0 | 62.4 | t.l. | 62.4 | t.l. | 701.4 | n/a | n/a | n/a |
bip_500_0.8 | 500 | 49,961.0 | 202.8 | 72.4 | 48.8 | 8.6 | 0.0 | n/a | n/a | 72.4 | t.l. | 591.0 | n/a | n/a | n/a |
bip_600_0.2 | 600 | 17,989.6 | 69.4 | 32.0 | 29.5 | 4.5 | 0.0 | 32.0 | t.l. | 32.0 | t.l. | 1,775.0 | n/a | n/a | n/a |
bip_600_0.4 | 600 | 35,968.8 | 127.8 | 52.0 | 45.7 | 8.4 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_600_0.6 | 600 | 54,006.0 | 185.4 | 72.2 | 57.3 | 11.4 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_600_0.8 | 600 | 71,938.4 | 243.0 | 84.0 | 56.5 | 13.4 | 0.0 | 84.0 | t.l. | 84.0 | t.l. | 614.9 | n/a | n/a | n/a |
bip_700_0.2 | 700 | 24,559.2 | 80.6 | 36.2 | 32.9 | 6.2 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_700_0.4 | 700 | 49,056.2 | 149.2 | 58.6 | 51.7 | 11.2 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_700_0.6 | 700 | 73,554.2 | 217.0 | 82.2 | 63.5 | 16.9 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_700_0.8 | 700 | 97,935.4 | 283.8 | 98.0 | 63.9 | 20.0 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_800_0.2 | 800 | 32,040.8 | 90.8 | 39.2 | 35.9 | 8.3 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_800_0.4 | 800 | 63,974.2 | 169.2 | 64.4 | 56.0 | 16.7 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_800_0.6 | 800 | 95,985.8 | 246.6 | 91.0 | 71.4 | 22.6 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
bip_800_0.8 | 800 | 127,880.0 | 324.0 | 109.4 | 69.5 | 27.4 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
# best | 15/16 | 4/16 | 5/16 | 1/16 | |||||||||||
# opt | 0/16 | 0/16 |
Instance group | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
rand_500_0.2 | 500 | 24,964.4 | 107.6 | 42.8 | 39.4 | 5.8 | 15.7 | 42.8 | t.l. | 42.8 | t.l. | 1,068.3 | 50.8 | t.l. | 897.9 |
rand_500_0.4 | 500 | 49,845.8 | 203.0 | 71.8 | 67.1 | 11.8 | 12.0 | 71.8 | t.l. | 71.8 | t.l. | 596.4 | 81.6 | t.l. | 513.0 |
rand_500_0.6 | 500 | 74,751.0 | 297.6 | 105.6 | 99.4 | 17.2 | 0.0 | 105.6 | t.l. | n/a | n/a | n/a | n/a | n/a | n/a |
rand_500_0.8 | 500 | 99,755.2 | 393.2 | 155.4 | 145.8 | 19.0 | 0.6 | 156.4 | t.l. | 155.4 | t.l. | 106.8 | 146.0 | t.l. | 123.5 |
rand_600_0.2 | 600 | 36,019.0 | 128.6 | 49.0 | 45.5 | 8.9 | 0.0 | 49.0 | t.l. | 49.0 | t.l. | 1,124.5 | n/a | n/a | n/a |
rand_600_0.4 | 600 | 71,805.4 | 243.2 | 83.0 | 77.9 | 18.3 | 0.0 | 83.0 | t.l. | 83.0 | t.l. | 622.9 | n/a | n/a | n/a |
rand_600_0.6 | 600 | 107,681.0 | 357.2 | 122.8 | 116.1 | 26.0 | 3.9 | n/a | n/a | 122.8 | t.l. | 388.6 | 127.8 | t.l. | 371.8 |
rand_600_0.8 | 600 | 143,733.0 | 472.4 | 181.2 | 170.8 | 29.5 | 0.0 | 181.2 | t.l. | 181.2 | t.l. | 231.1 | n/a | n/a | n/a |
rand_700_0.2 | 700 | 48,992.8 | 149.0 | 55.0 | 50.9 | 12.4 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
rand_700_0.4 | 700 | 97,795.2 | 283.4 | 94.0 | 88.5 | 25.8 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
rand_700_0.6 | 700 | 146,642.0 | 417.2 | 139.4 | 132.0 | 39.2 | 0.0 | 139.4 | t.l. | 139.4 | t.l. | 402.2 | n/a | n/a | n/a |
rand_700_0.8 | 700 | 195,652.0 | 551.6 | 206.4 | 194.6 | 44.1 | 0.0 | 206.4 | t.l. | 206.4 | t.l. | 239.1 | n/a | n/a | n/a |
rand_800_0.2 | 800 | 63,928.6 | 169.4 | 60.6 | 56.3 | 16.7 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
rand_800_0.4 | 800 | 127,726.0 | 323.6 | 105.0 | 98.0 | 38.6 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
rand_800_0.6 | 800 | 191,557.0 | 476.8 | 156.0 | 147.9 | 54.1 | 0.0 | 156.0 | t.l. | n/a | n/a | n/a | n/a | n/a | n/a |
rand_800_0.8 | 800 | 255,578.0 | 630.6 | 230.2 | 218.0 | 63.9 | 0.0 | 230.2 | t.l. | 230.2 | t.l. | 247.5 | n/a | n/a | n/a |
# best | 12/16 | 9/16 | 6/16 | 3/16 | |||||||||||
# opt | 0/16 | 0/16 |
The results show that even though the instances are considerably large, MSBCOL can still generate solutions in low computation times. More specifically, its running time was within 30 seconds for the bipartite and within 64 seconds for the random graphs. On the other hand, the results also show that, differently from what happened for the small bipartite and random instances, MSBCOL+ and MSBCOL∗ were not able to consistently improve the quality of the solutions obtained by MSBCOL. Besides, for all the executions of MSBCOL+, MSBCOL∗, and IP, either the time limit was reached or the execution was halted due to memory limitations. In that sense, the empirical results show that these two new sets of instances appear to be very challenging for the -coloring problem.
Furthermore, note that IP was only able to finish its execution without being halted for bipartite instances with 500 vertices and random instances with less than 600 vertices. It is noteworthy that, for most of the cases in which IP reached the time limit, the obtained solutions could improve those achieved by MSBCOL, the only exception being random_500_0.8. This observation leads to the conclusion that, even though MSBCOL can generate solutions of reasonable quality for these large challenging instances in low computational times, there is still space for improvements.
Tables LABEL:table:dimacscol2-LABEL:table:dimacsclq4 report the results for MSBCOL, MSBCOL+, MSBCOL∗ and IP on the set of large graphs from the Second DIMACS Implementation Challenge. The structure of these tables is identical to Tables 4-5.
The results show that MSBCOL presented very good results when compared to the other approaches, as the multi-start approach achieved 15 out of 32 (46.9%) best known solutions for graph coloring instances (Table LABEL:table:dimacscol2). Regarding maximum clique instances (Table LABEL:table:dimacsclq4), MSBCOL obtained 34 out of 64 (53.1%) best known values. We highlight instances in which the reported gaps of the solutions were within 5.0% of the best known: dsjc500.5.col, flat300_28_0.col, inithx.i.1.col, inithx.i.2.col, inithx.i.3.col, le450_15d.col, r1000.1.col, brock400_1.clq, brock400_2.clq, brock400_3.clq, brock400_4.clq, hamming10-2.clq, hamming10-4.clq, hammin8-2.clq, san200_0.9_2.clq, san200_0.9_3.clq, and san400_0.9_1.clq. For the remaining instances, the solutions found by MSBCOL were all within 28.0% of the best reported values. The reported times for graph coloring instances were all below 3.0 minutes, which is an impressive performance considering that the largest instance in this set (R1000.1c.col) has 1000 vertices and 485,090 edges. Additionally, MSBCOL also executed in less than 3.0 minutes for most maximum clique instances, with the few exceptions being graphs whose number of vertices are at least 1500 or number of edges are over 800,000 (C2000.5.clq, C2000.9.clq, C4000.5.clq, keller6.clq, MANNa81.clq, phat1500-1.clq, phat1500-2.clq and phat1500-3.clq).
The results show that MSBCOL+ reasonably improved solutions from MSBCOL, as the method enhanced 10 out of 32 (31.3%) solutions for graph coloring instances, and with respect to maximum clique instances, MSBCOL+ improved 26 out of 64 (37.5%) solution values. The most remarkable improvements obtained by MSBCOL+ can be seen in DSJC500.9.col, DSJR500.5.col, R1000.1c.col, C500.9.clq, gen400_p0.9_55.clq, gen400_p0.9_65.clq and gen400_p0.9_75.clq. For the previous mentioned instances, MSBCOL+ returned a solution with at least 30 colors more when compared with the initial provided by MSBCOL, which is a strong indication of the advantage in applying such method. Moreover, MSBCOL+ encountered best known solutions for 16 out of 32 (50.0%) graph coloring instances and 37 out of 64 (57.8%) for maximum clique instances.
Contrasting with the previous behaviour for small instances, when applied to large instances MSBCOL+ presented slightly superior results than MSBCOL∗, as the latter was successful in improving solutions for 8 out of 32 (25.0%) graph coloring instances and 18 out of 64 (28.1%) maximum clique instances. In terms of solution values, MSBCOL∗ returned best known results for 15 out of 32 (46.9%) graph coloring instances and 33 out of 64 (51.6%) maximum clique instances. Results also show that MSBCOL∗ displayed difficulty in solving larger instances to optimality, as the method only solved 5 for each graph coloring (15.6%) and maximum clique (7.8%) instances. These results indicate the difficulty of the MIP solver in solving a problem when the number of variables increase substantially, which explains better results when the fix-and-optimize approach MSBCOL+ was employed.
Instance name | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
dsjc1000.1.col | 1,000 | 49,629 | 112 | 44 | 41.6 | 12.2 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
dsjc1000.5.col | 1,000 | 249,826 | 501 | 154 | 147 | 74.7 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
dsjc1000.9.col | 1,000 | 449,449 | 888 | 349 | 336 | 96.2 | 0.0 | 349 | t.l. | 349 | t.l. | 186.5 | n/a | n/a | n/a |
dsjc250.5.col | 250 | 15,668 | 126 | 51 | 46.9 | 2.8 | 10.5 | 51 | t.l. | 51 | t.l. | 194.3 | 57 | t.l. | 163.4 |
dsjc250.9.col | 250 | 27,897 | 219 | 110 | 101.8 | 3.0 | 13.4 | 125 | 2.0 | 127 | t.l. | 22.8 | 127 | t.l. | 21.9 |
dsjc500.1.col | 500 | 12,458 | 59 | 29 | 25.6 | 2.9 | 19.4 | 29 | t.l. | 29 | t.l. | 1624.1 | 36 | t.l. | 1288.9 |
dsjc500.5.col | 500 | 62,624 | 251 | 88 | 82.8 | 14.1 | 7.4 | 88 | t.l. | 88 | t.l. | 468.2 | 95 | t.l. | 426.3 |
dsjc500.9.col | 500 | 112,437 | 443 | 196 | 184.4 | 16.4 | 21.3 | 249 | 427.0 | 196 | t.l. | 67.1 | 180 | t.l. | 82.0 |
dsjr500.1c.col | 500 | 121,275 | 478 | 114 | 108.6 | 19.3 | 19.7 | 135 | 1.0 | 142 | t.l. | 43.4 | 141 | t.l. | 45.6 |
dsjr500.5.col | 500 | 58,862 | 234 | 183 | 19.8 | 24.3 | 17.2 | 221 | t.l. | 183 | t.l. | 112.6 | 150 | t.l. | 233.3 |
flat1000_50_0.col | 1,000 | 245,000 | 492 | 153 | 144.1 | 69.7 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
flat1000_60_0.col | 1,000 | 245,830 | 493 | 152 | 144.6 | 71.1 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
flat1000_76_0.col | 1,000 | 246,708 | 494 | 153 | 145.7 | 71.9 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
flat300_20_0.col | 300 | 21,375 | 144 | 56 | 51.9 | 3.8 | 0.0 | 56 | t.l. | 56 | t.l. | 219.5 | 56 | t.l. | 219.5 |
flat300_26_0.col | 300 | 21,633 | 146 | 57 | 52.6 | 3.7 | 10.9 | 57 | t.l. | 57 | t.l. | 214.4 | 64 | t.l. | 180.0 |
flat300_28_0.col | 300 | 21,695 | 146 | 57 | 52.8 | 3.9 | 9.5 | 57 | t.l. | 57 | t.l. | 214.5 | 63 | t.l. | 376.2 |
fpsol2.i.1.col | 496 | 11,654 | 79 | 77 | 75.0 | 5.8 | 0.0 | 77 | 7.0 | 77 | 7.0 | - | 65 | t.l. | 84.9 |
inithx.i.1.col | 864 | 18,707 | 74 | 71 | 70.8 | 32.6 | 1.4 | 71 | 30.0 | 72 | 26.0 | - | n/a | n/a | n/a |
inithx.i.2.col | 645 | 13,979 | 52 | 49 | 49.0 | 29.1 | 2.0 | 50 | 9.0 | 50 | 10.0 | - | n/a | n/a | n/a |
inithx.i.3.col | 621 | 13,969 | 52 | 49 | 49.0 | 27.9 | 2.0 | 50 | 9.0 | 50 | 10.0 | - | 38 | t.l. | 1371.0 |
latin_square_10.col | 900 | 307,350 | 684 | 183 | 174.3 | 75.4 | 0.0 | 183 | t.l. | 183 | t.l. | 391.8 | n/a | n/a | n/a |
le450_15c.col | 450 | 16,680 | 93 | 41 | 38.4 | 6.4 | 0.0 | 41 | t.l. | 41 | t.l. | 948.8 | 34 | t.l. | 1223.5 |
le450_15d.col | 450 | 16,750 | 92 | 42 | 38.9 | 6.2 | 8.7 | 42 | t.l. | 42 | t.l. | 911.9 | 46 | t.l. | 878.3 |
le450_25c.col | 450 | 17,343 | 101 | 48 | 44.6 | 8.7 | 0.0 | 48 | t.l. | 48 | t.l. | 687.5 | 40 | t.l. | 1025.0 |
le450_25d.col | 450 | 17,425 | 99 | 48 | 44.9 | 7.2 | 0.0 | 48 | t.l. | 48 | t.l. | 693.8 | n/a | n/a | n/a |
r1000.1c.col | 1,000 | 485,090 | 957 | 156 | 146.0 | 154.6 | 27.4 | 215 | t.l. | 163 | t.l. | 183.0 | 162 | t.l. | 181.8 |
r1000.1.col | 1,000 | 14,378 | 41 | 35 | 32.1 | 4.0 | 2.8 | 36 | 316.0 | 35 | t.l. | 217.1 | n/a | n/a | n/a |
r1000.5.col | 1,000 | 238,267 | 472 | 368 | 360.2 | 168.1 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
r250.1c.col | 250 | 30,227 | 238 | 75 | 71.3 | 3.1 | 12.8 | 81 | t.l. | 86 | 58.0 | - | 86 | 35.0 | - |
r250.5.col | 250 | 14,849 | 119 | 100 | 94.9 | 3.7 | 13.8 | 116 | 3328.0 | 112 | t.l. | 11.6 | 102 | t.l. | 46.5 |
school1.col | 385 | 19,095 | 117 | 58 | 52.5 | 14.1 | 0.0 | 58 | t.l. | 58 | t.l. | 443.1 | n/a | n/a | n/a |
school1_nsh.col | 352 | 14,612 | 101 | 49 | 46.2 | 9.2 | 0.0 | 49 | t.l. | 49 | t.l. | 504.1 | 36 | t.l. | 877.8 |
# best | 15/32 | 16/32 | 15/32 | 9/32 | |||||||||||
# opt | 5/32 | 1/32 |
Instance name | MSBCOL | MSBCOL+ | MSBCOL∗ | IP | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
time(s) | time(s) | time(s) | gap(%) | time(s) | gap(%) | ||||||||||
brock200_1.clq | 200 | 14,834 | 146 | 64 | 60.2 | 2.1 | 12.3 | 73 | t.l. | 67 | t.l. | 83.8 | 70 | t.l. | 76.7 |
brock200_3.clq | 200 | 12,048 | 120 | 51 | 47.3 | 1.8 | 10.5 | 57 | t.l. | 51 | t.l. | 139.4 | 56 | t.l. | 115.1 |
brock200_4.clq | 200 | 13,089 | 129 | 56 | 51.7 | 2.0 | 11.1 | 62 | t.l. | 60 | t.l. | 103.2 | 63 | t.l. | 93.3 |
brock400_1.clq | 400 | 59,723 | 294 | 115 | 109.1 | 10.0 | 6.5 | 123 | t.l. | 115 | t.l. | 121.3 | 119 | t.l. | 113.8 |
brock400_2.clq | 400 | 59,786 | 295 | 115 | 108.3 | 11.0 | 5.0 | 115 | t.l. | 115 | t.l. | 121.3 | 121 | t.l. | 110.3 |
brock400_3.clq | 400 | 59,681 | 294 | 116 | 108.4 | 10.6 | 5.7 | 116 | t.l. | 116 | t.l. | 119.3 | 123 | t.l. | 106.8 |
brock400_4.clq | 400 | 59,765 | 295 | 116 | 108.7 | 10.8 | 7.2 | 116 | t.l. | 116 | t.l. | 119.4 | 125 | t.l. | 103.6 |
brock800_1.clq | 800 | 207,505 | 515 | 172 | 161.8 | 57.9 | 0.0 | 172 | t.l. | 172 | t.l. | 365.1 | n/a | n/a | n/a |
brock800_2.clq | 800 | 208,166 | 517 | 172 | 162.8 | 57.4 | 0.0 | 172 | t.l. | 172 | t.l. | 365.1 | n/a | n/a | n/a |
brock800_3.clq | 800 | 207,333 | 515 | 171 | 161.7 | 56.7 | 0.0 | 171 | t.l. | 171 | t.l. | 367.8 | n/a | n/a | n/a |
brock800_4.clq | 800 | 207,643 | 515 | 171 | 162.8 | 56.2 | 0.0 | 171 | t.l. | 171 | t.l. | 367.8 | n/a | n/a | n/a |
C1000.9.clq | 1,000 | 450,079 | 889 | 348 | 336.7 | 96.9 | 0.0 | 348 | t.l. | 348 | t.l. | 187.4 | n/a | n/a | n/a |
C2000.5.clq | 2,000 | 999,836 | 1,000 | 277 | 263.8 | 487.8 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
C2000.9.clq | 2,000 | 1,799,532 | 1,784 | 650 | 630.3 | 701.8 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
C250.9.clq | 250 | 27,984 | 220 | 111 | 102.3 | 3.0 | 12.6 | 124 | 2.0 | 127 | t.l. | 22.4 | 127 | t.l. | 22.8 |
C4000.5.clq | 4,000 | 4,000,268 | 2,002 | 496 | 477.3 | 3494.9 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
C500.9.clq | 500 | 112,332 | 442 | 195 | 182.9 | 17.5 | 22.0 | 250 | t.l. | 195 | t.l. | 68.0 | 180 | t.l. | 82.0 |
c-fat500-10.clq | 500 | 46,627 | 188 | 188 | 188.0 | 0.1 | 0.0 | 188 | 27.0 | 188 | 29.0 | - | 126 | t.l. | 296.8 |
c-fat500-5.clq | 500 | 23,191 | 95 | 95 | 95.0 | 0.1 | 0.0 | 95 | 18.0 | 95 | 19.0 | - | 65 | t.l. | 669.2 |
gen200_p0.9_44.clq | 200 | 17,910 | 174 | 87 | 79.7 | 1.9 | 16.3 | 100 | 0.1 | 103 | t.l. | 19.4 | 104 | t.l. | 19.1 |
gen200_p0.9_55.clq | 200 | 17,910 | 174 | 90 | 82.6 | 1.8 | 13.5 | 100 | 0.1 | 104 | t.l. | 18.6 | 104 | t.l. | 18.5 |
gen400_p0.9_55.clq | 400 | 71,820 | 348 | 161 | 142.4 | 10.0 | 19.5 | 200 | 23.0 | 193 | t.l. | 29.5 | 193 | t.l. | 28.9 |
gen400_p0.9_65.clq | 400 | 71,820 | 350 | 168 | 148.8 | 9.9 | 16.0 | 200 | 9.0 | 199 | t.l. | 25.9 | 200 | t.l. | 24.6 |
gen400_p0.9_75.clq | 400 | 71,820 | 350 | 163 | 151.6 | 9.8 | 18.5 | 200 | 16.0 | 198 | t.l. | 26.0 | 200 | t.l. | 24.8 |
hamming10-2.clq | 1,024 | 518,656 | 1,014 | 522 | 517.0 | 73.0 | 3.5 | 524 | 1.0 | 541 | t.l. | 23.6 | 531 | t.l. | 25.9 |
hamming10-4.clq | 1,024 | 434,176 | 849 | 144 | 132.8 | 148.1 | 8.3 | 144 | t.l. | 144 | t.l. | 611.1 | 157 | t.l. | 552.2 |
hamming8-2.clq | 256 | 31,616 | 248 | 132 | 129.5 | 2.2 | 8.3 | 134 | 0.1 | 144 | t.l. | 11.1 | 144 | t.l. | 10.6 |
hamming8-4.clq | 256 | 20,864 | 164 | 42 | 37.5 | 3.0 | 12.5 | 47 | t.l. | 42 | t.l. | 257.3 | 48 | t.l. | 212.6 |
johnson32-2-4.clq | 496 | 107,880 | 436 | 34 | 30.6 | 20.8 | 15.0 | 40 | 3.0 | 34 | t.l. | 771.3 | 30 | t.l. | 887.5 |
keller5.clq | 776 | 225,990 | 565 | 124 | 104.7 | 73.9 | 0.0 | 124 | t.l. | 124 | t.l. | 525.8 | 89 | t.l. | 771.9 |
keller6.clq | 3,361 | 4,619,898 | 2,696 | 332 | 261.4 | 5554.9 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
MANN_a27.clq | 378 | 70,551 | 365 | 144 | 141.8 | 6.4 | 0.0 | 144 | 0.1 | 144 | 3.0 | - | 144 | 7.0 | - |
MANN_a45.clq | 1,035 | 533,115 | 1,013 | 375 | 372.2 | 89.2 | 0.0 | 375 | 1.0 | 375 | 16.0 | - | 375 | 16.0 | - |
MANN_a81.clq | 3,321 | 5,506,380 | 3,281 | 1,161 | 1157.2 | 2617.8 | 0.0 | 1,161 | 0.1 | 1,161 | 75.0 | - | 1,161 | 80.0 | - |
p_hat1000-1.clq | 1,000 | 122,253 | 298 | 98 | 91.4 | 68.6 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
p_hat1000-2.clq | 1,000 | 244,799 | 496 | 196 | 187.2 | 175.2 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
p_hat1000-3.clq | 1,000 | 371,746 | 694 | 271 | 257.0 | 149.1 | 0.0 | 271 | t.l. | 271 | t.l. | 269.0 | n/a | n/a | n/a |
p_hat1500-1.clq | 1,500 | 284,923 | 457 | 138 | 130.5 | 202.9 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
p_hat1500-2.clq | 1,500 | 568,960 | 760 | 290 | 277.9 | 545.2 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
p_hat1500-3.clq | 1,500 | 847,244 | 1,051 | 391 | 375.1 | 458.7 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
p_hat300-1.clq | 300 | 10,933 | 91 | 39 | 35.1 | 3.6 | 0.0 | 39 | t.l. | 39 | t.l. | 623.1 | 32 | t.l. | 837.5 |
p_hat300-2.clq | 300 | 21,928 | 149 | 71 | 66.4 | 7.3 | 0.0 | 71 | t.l. | 71 | t.l. | 148.2 | 69 | t.l. | 157.1 |
p_hat300-3.clq | 300 | 33,390 | 209 | 95 | 90.1 | 6.3 | 15.9 | 107 | t.l. | 95 | t.l. | 100.3 | 113 | t.l. | 67.4 |
p_hat500-1.clq | 500 | 31,569 | 152 | 57 | 53.2 | 11.6 | 0.0 | 57 | t.l. | 57 | t.l. | 773.7 | 49 | t.l. | 920.4 |
p_hat500-2.clq | 500 | 62,946 | 252 | 114 | 105.8 | 27.9 | 0.0 | 114 | t.l. | 114 | t.l. | 338.6 | 95 | t.l. | 426.3 |
p_hat500-3.clq | 500 | 93,800 | 351 | 151 | 143.3 | 24.5 | 0.0 | 151 | t.l. | 151 | t.l. | 231.1 | 140 | t.l. | 257.1 |
p_hat700-1.clq | 700 | 60,999 | 208 | 74 | 69.2 | 27.4 | 0.0 | 74 | t.l. | 74 | t.l. | 846.0 | n/a | n/a | n/a |
p_hat700-2.clq | 700 | 121,728 | 353 | 153 | 141.6 | 66.5 | 0.0 | 153 | t.l. | 153 | t.l. | 357.5 | n/a | n/a | n/a |
p_hat700-3.clq | 700 | 183,010 | 487 | 201 | 190.9 | 57.6 | 0.0 | 201 | t.l. | 201 | t.l. | 248.3 | 175 | t.l. | 300.0 |
san1000.clq | 1,000 | 250,500 | 514 | 69 | 59.9 | 103.6 | 0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
san200_0.7_1.clq | 200 | 13,930 | 138 | 61 | 53.7 | 2.1 | 25.6 | 82 | t.l. | 63 | t.l. | 89.2 | 65 | t.l. | 83.3 |
san200_0.7_2.clq | 200 | 13,930 | 134 | 44 | 37.9 | 2.6 | 26.7 | 60 | t.l. | 48 | t.l. | 109.0 | 48 | t.l. | 109.7 |
san200_0.9_1.clq | 200 | 17,910 | 173 | 93 | 87.8 | 1.9 | 11.4 | 96 | 0.1 | 105 | t.l. | 4.5 | 105 | t.l. | 4.5 |
san200_0.9_2.clq | 200 | 17,910 | 175 | 98 | 89.2 | 1.9 | 6.7 | 100 | 0.1 | 105 | t.l. | 15.8 | 105 | t.l. | 15.9 |
san200_0.9_3.clq | 200 | 17,910 | 176 | 93 | 82.6 | 1.8 | 9.7 | 100 | 1.0 | 103 | t.l. | 19.4 | 103 | t.l. | 19.4 |
san400_0.5_1.clq | 400 | 39,900 | 204 | 41 | 34.9 | 10.0 | 0.0 | 41 | t.l. | 41 | t.l. | 875.6 | 37 | t.l. | 981.1 |
san400_0.7_1.clq | 400 | 55,860 | 277 | 94 | 86.3 | 11.3 | 16.8 | 113 | t.l. | 94 | t.l. | 163.0 | 101 | t.l. | 145.2 |
san400_0.7_2.clq | 400 | 55,860 | 277 | 87 | 77.9 | 13.0 | 19.4 | 108 | t.l. | 87 | t.l. | 185.4 | 78 | t.l. | 220.4 |
san400_0.7_3.clq | 400 | 55,860 | 274 | 80 | 70.8 | 14.8 | 0.0 | 80 | t.l. | 80 | t.l. | 209.5 | 78 | t.l. | 217.5 |
san400_0.9_1.clq | 400 | 71,820 | 353 | 190 | 172.3 | 9.1 | 6.4 | 200 | 1.0 | 203 | t.l. | 24.0 | 203 | t.l. | 24.7 |
sanr200_0.7.clq | 200 | 13,868 | 137 | 60 | 55.6 | 2.2 | 10.4 | 67 | t.l. | 63 | t.l. | 95.2 | 64 | t.l. | 91.9 |
sanr200_0.9.clq | 200 | 17,863 | 175 | 92 | 85.4 | 1.8 | 10.7 | 100 | 0.1 | 103 | t.l. | 20.4 | 103 | t.l. | 20.4 |
sanr400_0.5.clq | 400 | 39,984 | 201 | 74 | 68.8 | 8.4 | 0.0 | 74 | t.l. | 74 | t.l. | 440.5 | n/a | n/a | n/a |
sanr400_0.7.clq | 400 | 55,869 | 276 | 105 | 98.9 | 10.3 | 0.0 | 105 | t.l. | 105 | t.l. | 139.8 | n/a | n/a | n/a |
# best | 34/64 | 37/64 | 33/64 | 20/64 | |||||||||||
# opt | 5/64 | 3/64 |
The results for IP on larger instances show once more that initial solutions provided by MSBCOL are very relevant, considering that both approaches that use those solutions as warm start, i.e. MSBCOL+ and MSBCOL∗, reported higher numbers of best known solution values. IP returned 9 out of 32 (28.1%) best known results for graph coloring instances, and 21 out of 64 (32.8%) for maximum clique instances. Besides, the number of optimal solutions reported by IP is 1 for graph coloring instances (3.1%), and 3 for maximum clique instances (4.7%).
Generally speaking, the results in this section have reinforced the effectiveness of MSBCOL, as the approach obtained several best known values and reported reasonable running times even for very large graphs. Besides, MSBCOL was the only method that reported solutions for numerous instances, as can be seen in dsjc1000.1.col, as an example. Nevertheless, solutions generated by MSBCOL still have room for improvements, as results by MSBCOL+ and MSBCOL∗ have shown. We also point out that a few optimal solutions reported by MSBCOL∗ and IP largely differ from the upper bound (see MANN_a27.clq, MANN_a45.clq, and MANN_a81.clq), however an in depth analysis is out of the scope of this work and can be an interesting direction for future theoretical works regarding lower bounds on the -chromatic number. For the large set of instances, the heuristic methods (MSBCOL and MSBCOL+) outperformed the exact ones (MSBCOL∗ and IP), which supports the idea of using MSBCOL to provide initial solutions to more advanced metaheuristics, such as to heuristically adapt MSBCOL+ in a combinatorial local search strategy.
5.5 Comparison with a state-of-the-art metaheuristic
In this subsection, we compare the solutions obtained by our newly proposed approach MSBCOL with the best ones reported in the literature using a state-of-the-art approach, namely the hybrid evolutionary algorithm of \citeAFisPetMerCre15 (denoted henceforth as HEA). We choose to analyze in this subsection only MSBCOL rather than the complete matheuristic approach in order to establish this metaheuristic as a robust and effective method, considering that both MSBCOL and HEA can be classified as pure metaheuristics. The authors tested their algorithm on a set of small instances composed of -regular graphs with up to 12 vertices and on nine large graphs from the second DIMACS implementation challenge (which is a subset of the large benchmark set described in Subsection 5.1). As the small instance set used by the authors only includes extremely small graphs and is not publicly available, we do not report results for that set.
Table 10 compares the results obtained by MSBCOL and HEA for all nine large graphs tested in \citeAFisPetMerCre15. We remark that the results for these instances using all the approaches proposed in our paper were already presented in Subsection 5.4, as these nine instances represent a subset of the bencmark set described in Subsection 5.1. The first column identifies the instance. Columns 2 to 4 report the number of vertices (), the number of edges (), and the solution upper bound (). Columns 5 to 8 give, for MSBCOL, the best solution value (), the average solution value for the executed number of iterations (), the running time in seconds (time(s)), and the percentual improvement over HEA (), calculated as with being the best solution encountered by HEA. Columns 9 and 10 give, for HEA, the solution value (), and the running time in seconds (time(s)). The best solution values are shown in bold. We point out that the authors did not report the machine used in the experiments for HEA, therefore the main goal in this subsection is to compare the quality of the solutions obtained using the two approaches.
Instance name | MSBCOL | HEA Fister \BOthers. (\APACyear2015) | |||||||
---|---|---|---|---|---|---|---|---|---|
time(s) | imp | time(s)111The authors did not report the computational resources used for the experiments. | |||||||
dsjc250.5.col | 250 | 15,668 | 126 | 51 | 46.9 | 2.8 | 2.0 | 50 | 186.8 |
dsjc500.1.col | 500 | 12,458 | 59 | 29 | 25.6 | 2.9 | 16.0 | 25 | 113.6 |
dsjc500.5.col | 500 | 62,624 | 251 | 88 | 82.8 | 14.1 | 4.8 | 84 | 4506.9 |
dsjr500.5.col | 500 | 58,862 | 234 | 183 | 177.1 | 24.3 | 10.2 | 166 | 15017.0 |
flat300_28_0.col | 300 | 21,695 | 146 | 57 | 52.8 | 3.9 | 3.6 | 55 | 1048.0 |
flat1000_50_0.col | 1,000 | 245,000 | 492 | 153 | 144.1 | 69.7 | 10.1 | 139 | 58428.0 |
le450_25c.col | 450 | 17,343 | 101 | 48 | 44.6 | 8.7 | 6.7 | 45 | 571.7 |
le450_25d.col | 450 | 17,425 | 99 | 48 | 44.9 | 7.2 | 6.7 | 45 | 256.4 |
r250.5.col | 250 | 14,849 | 119 | 100 | 94.9 | 3.7 | 8.7 | 92 | 1836.2 |
The reported values show that MSBCOL clearly outperformed HEA for all nine large instances considered in \citeAFisPetMerCre15. MSBCOL was able to obtain strictly better solutions for all of them, representing an 100.00% success rate on improving over the previously best known solutions presented by HEA. The most notable performance can be seen in instances dsjr500.1.col, dsjr500.5.col and flat1000_50_0.col, for which MSBCOL achieved improvements over 10.00% when compared to HEA. Results also show that even some of the average solution values were able to improve over the previously best known solution values presented by HEA, since 4 out of 9 (44.4%) outperform HEA’s results (see dsjc500.1.col, dsjr500.5.col, flat1000_50_0.col, and r250.5.col).
It is noteworthy that MSBCOL was very effective when it comes to the running times, as they were below a minute for all but one instance. The maximum running time was less than 70.0 seconds for the largest instance (flat1000_50_0.col), which is composed of 1,000 vertices and 245,000 edges.
6 Concluding remarks
In this paper, we considered the -coloring problem and proposed: the first integer programming formulation for the optimization variant of the problem, which consists in maximizing the number of colors used in a proper -coloring; a multi-start multi-greedy randomized metaheuristic, which differs from previous (meta)heuristics by taking into account the structure of the problem in its mechanism; and a very effective matheuristic approach combining the multi-start multi-greedy randomized metaheuristic with a fix-and-optimize local search procedure using the proposed integer programming formulation. Moreover, we also proposed a benchmark set of instances to be used in future works.
Computational experiments were performed on a newly proposed benchmark set to analyze the performance of the presented techniques. The multi-greedy randomized heuristic has shown to be very effective while having very few parameters to be configured. The integer programming formulation was able to provide satisfactory results, but it is considerably compromised as the instance size grows, considering that the number of variables have a tendency to become intractable leading to memory overflow. The fix-and-optimize local search procedure used in the matheuristic approach improved a significant amount of solutions and reported the majority of best results, demonstrating to be a very effective and promising method for the -coloring and other related problems. The results have also shown that the proposed multi-start metaheuristic outperforms a state-of-the-art evolutionary algorithm for a subset of the instances, namely, all nine large instances which were considered in \citeAFisPetMerCre15. Last but not least, the proposed benchmark set features a variety of instances including small and large graphs with different characteristics, which can be used in future computational experiments to verify the performance of both exact and heuristic approaches for the -coloring problem.
Relevant research directions include the development of combinatorial local search approaches to overcome the memory limitations of the used large formulations. Such combinatorial local search approaches could be used together with the approaches proposed in our work in advanced metaheuristic frameworks. Another interesting possible direction is a polyhedral study of formulations for the -coloring problem.
Acknowledgments: Work of Rafael A. Melo was supported by Universidade Federal da Bahia; the Brazilian Ministry of Science, Technology, Innovation and Communication (MCTIC); the State of Bahia Research Foundation (FAPESB); and the Brazilian National Council for Scientific and Technological Development (CNPq). Work of Michell F. Queiroz was partially supported by a CAPES scholarship. Work of Marcio C. Santos was supported by Universidade Federal do Ceará. The authors would like to thank the editor and the anonymous reviewers for the valuable comments which helped to improve the quality of this paper.
References
- Alkhateeb \BBA Kohl (\APACyear2011) \APACinsertmetastarAlkKoh11{APACrefauthors}Alkhateeb, M.\BCBT \BBA Kohl, A. \APACrefYearMonthDay2011. \BBOQ\APACrefatitleUpper bounds on the -chromatic number and results for restricted graph classes Upper bounds on the -chromatic number and results for restricted graph classes.\BBCQ \APACjournalVolNumPagesDiscussiones Mathematicae Graph Theory314709–735. \PrintBackRefs\CurrentBib
- Avanthay \BOthers. (\APACyear2003) \APACinsertmetastarAvHeZu03{APACrefauthors}Avanthay, C., Hertz, A.\BCBL \BBA Zufferey, N. \APACrefYearMonthDay2003. \BBOQ\APACrefatitleA variable neighborhood search for graph coloring A variable neighborhood search for graph coloring.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research1512379–388. \PrintBackRefs\CurrentBib
- Balakrishnan \BBA Raj (\APACyear2013) \APACinsertmetastarBalRaj13{APACrefauthors}Balakrishnan, R.\BCBT \BBA Raj, S\BPBIF. \APACrefYearMonthDay2013. \BBOQ\APACrefatitleBounds for the -chromatic number of Bounds for the -chromatic number of .\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics16191173–1179. \PrintBackRefs\CurrentBib
- Barth \BOthers. (\APACyear2007) \APACinsertmetastarBarth07{APACrefauthors}Barth, D., Cohen, J.\BCBL \BBA Faik, T. \APACrefYearMonthDay2007. \BBOQ\APACrefatitleOn the -continuity property of graphs On the -continuity property of graphs.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics155131761 - 1768. \PrintBackRefs\CurrentBib
- Blöchliger \BBA Zufferey (\APACyear2008) \APACinsertmetastarBlZu08{APACrefauthors}Blöchliger, I.\BCBT \BBA Zufferey, N. \APACrefYearMonthDay2008. \BBOQ\APACrefatitleA graph coloring heuristic using partial solutions and a reactive tabu scheme A graph coloring heuristic using partial solutions and a reactive tabu scheme.\BBCQ \APACjournalVolNumPagesComputers & Operations Research353960–975. \PrintBackRefs\CurrentBib
- Cabello \BBA Jakovac (\APACyear2011) \APACinsertmetastarCabJak11{APACrefauthors}Cabello, S.\BCBT \BBA Jakovac, M. \APACrefYearMonthDay2011. \BBOQ\APACrefatitleOn the -chromatic number of regular graphs On the -chromatic number of regular graphs.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics159131303–1310. \PrintBackRefs\CurrentBib
- V. Campos \BOthers. (\APACyear2013) \APACinsertmetastargirth{APACrefauthors}Campos, V., Lima, C.\BCBL \BBA Silva, A. \APACrefYearMonthDay2013. \BBOQ\APACrefatitle-Coloring Graphs with Girth at Least 8 -coloring graphs with girth at least 8.\BBCQ \BIn J. Nešetřil \BBA M. Pellegrini (\BEDS), \APACrefbtitleThe Seventh European Conference on Combinatorics, Graph Theory and Applications The Seventh European Conference on Combinatorics, Graph Theory and Applications (\BPGS 327–332). \APACaddressPublisherPisaScuola Normale Superiore. \PrintBackRefs\CurrentBib
- V\BPBIA. Campos \BOthers. (\APACyear2015) \APACinsertmetastarCaLiMa15{APACrefauthors}Campos, V\BPBIA., Lima, C\BPBIV., Martins, N\BPBIA., Sampaio, L., Santos, M\BPBIC.\BCBL \BBA Silva, A. \APACrefYearMonthDay2015. \BBOQ\APACrefatitleThe -chromatic index of graphs The -chromatic index of graphs.\BBCQ \APACjournalVolNumPagesDiscrete Mathematics338112072–2079. \PrintBackRefs\CurrentBib
- Campêlo \BOthers. (\APACyear2004) \APACinsertmetastarCamCorFro04{APACrefauthors}Campêlo, M., Corrêa, R.\BCBL \BBA Frota, Y. \APACrefYearMonthDay2004. \BBOQ\APACrefatitleCliques, holes and the vertex coloring polytope Cliques, holes and the vertex coloring polytope.\BBCQ \APACjournalVolNumPagesInformation Processing Letters894159 - 164. \PrintBackRefs\CurrentBib
- Corteel \BOthers. (\APACyear2005) \APACinsertmetastarCorValVer05{APACrefauthors}Corteel, S., Valencia-Pabon, M.\BCBL \BBA Vera, J\BHBIC. \APACrefYearMonthDay2005. \BBOQ\APACrefatitleOn approximating the -chromatic number On approximating the -chromatic number.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics1461106–110. \PrintBackRefs\CurrentBib
- Cunha \BOthers. (\APACyear2019) \APACinsertmetastarCuKrMe19{APACrefauthors}Cunha, J\BPBIO., Kramer, H\BPBIH.\BCBL \BBA Melo, R\BPBIA. \APACrefYearMonthDay2019. \BBOQ\APACrefatitleEffective matheuristics for the multi-item capacitated lot-sizing problem with remanufacturing Effective matheuristics for the multi-item capacitated lot-sizing problem with remanufacturing.\BBCQ \APACjournalVolNumPagesComputers & Operations Research104149 - 158. \PrintBackRefs\CurrentBib
- de Werra (\APACyear1990) \APACinsertmetastarWe90{APACrefauthors}de Werra, D. \APACrefYearMonthDay1990. \BBOQ\APACrefatitleHeuristics for graph coloring Heuristics for graph coloring.\BBCQ \BIn \APACrefbtitleComputational graph theory Computational graph theory (\BPGS 191–208). \APACaddressPublisherSpringer. \PrintBackRefs\CurrentBib
- Doi \BOthers. (\APACyear2018) \APACinsertmetastarDoNiVo18{APACrefauthors}Doi, T., Nishi, T.\BCBL \BBA Voß, S. \APACrefYearMonthDay2018. \BBOQ\APACrefatitleTwo-level decomposition-based matheuristic for airline crew rostering problems with fair working time Two-level decomposition-based matheuristic for airline crew rostering problems with fair working time.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research2672428–438. \PrintBackRefs\CurrentBib
- Dumitrescu \BBA Stützle (\APACyear2009) \APACinsertmetastarDuSt09{APACrefauthors}Dumitrescu, I.\BCBT \BBA Stützle, T. \APACrefYearMonthDay2009. \BBOQ\APACrefatitleUsage of exact algorithms to enhance stochastic local search algorithms Usage of exact algorithms to enhance stochastic local search algorithms.\BBCQ \BIn \APACrefbtitleMatheuristics Matheuristics (\BPGS 103–134). \APACaddressPublisherSpringer. \PrintBackRefs\CurrentBib
- Elghazel \BOthers. (\APACyear2006) \APACinsertmetastarElgDesHacDusKhe06{APACrefauthors}Elghazel, H., Deslandres, V., Hacid, M\BHBIS., Dussauchoy, A.\BCBL \BBA Kheddouci, H. \APACrefYearMonthDay2006. \BBOQ\APACrefatitleA new clustering approach for symbolic data and its validation: Application to the healthcare data A new clustering approach for symbolic data and its validation: Application to the healthcare data.\BBCQ \BIn \APACrefbtitleInternational Symposium on Methodologies for Intelligent Systems International Symposium on Methodologies for Intelligent Systems (\BPGS 473–482). \PrintBackRefs\CurrentBib
- Fister \BOthers. (\APACyear2015) \APACinsertmetastarFisPetMerCre15{APACrefauthors}Fister, I., Peterin, I., Mernik, M.\BCBL \BBA Črepinšek, M. \APACrefYearMonthDay2015. \BBOQ\APACrefatitleHybrid evolutionary algorithm for the -chromatic number Hybrid evolutionary algorithm for the -chromatic number.\BBCQ \APACjournalVolNumPagesJournal of Heuristics214501–521. \PrintBackRefs\CurrentBib
- Gaceb \BOthers. (\APACyear2008) \APACinsertmetastarGacEglLebEmp08{APACrefauthors}Gaceb, D., Eglin, V., Lebourgeois, F.\BCBL \BBA Emptoz, H. \APACrefYearMonthDay2008. \BBOQ\APACrefatitleImprovement of postal mail sorting system Improvement of postal mail sorting system.\BBCQ \APACjournalVolNumPagesInternational Journal of Document Analysis and Recognition11267–80. \PrintBackRefs\CurrentBib
- Gaceb \BOthers. (\APACyear2009) \APACinsertmetastarGacEglLebEmp09{APACrefauthors}Gaceb, D., Eglin, V., Lebourgeois, F.\BCBL \BBA Emptoz, H. \APACrefYearMonthDay2009. \BBOQ\APACrefatitleRobust approach of address block localization in business mail by graph coloring Robust approach of address block localization in business mail by graph coloring.\BBCQ \APACjournalVolNumPagesInternational Arab Journal of Information Technology63221–229. \PrintBackRefs\CurrentBib
- Galčík \BBA Katrenič (\APACyear2013) \APACinsertmetastarGalKat13{APACrefauthors}Galčík, F.\BCBT \BBA Katrenič, J. \APACrefYearMonthDay2013. \BBOQ\APACrefatitleA note on approximating the -chromatic number A note on approximating the -chromatic number.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics1617-81137–1140. \PrintBackRefs\CurrentBib
- Havet \BOthers. (\APACyear2012) \APACinsertmetastarHavSalSam12{APACrefauthors}Havet, F., Sales, C\BPBIL.\BCBL \BBA Sampaio, L. \APACrefYearMonthDay2012. \BBOQ\APACrefatitle-coloring of tight graphs -coloring of tight graphs.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics160182709–2715. \PrintBackRefs\CurrentBib
- Irving \BBA Manlove (\APACyear1999) \APACinsertmetastarIrvMan99{APACrefauthors}Irving, R\BPBIW.\BCBT \BBA Manlove, D\BPBIF. \APACrefYearMonthDay1999. \BBOQ\APACrefatitleThe -chromatic number of a graph The -chromatic number of a graph.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics911-3127–141. \PrintBackRefs\CurrentBib
- Jakovac \BBA Peterin (\APACyear2018) \APACinsertmetastarJakPet18{APACrefauthors}Jakovac, M.\BCBT \BBA Peterin, I. \APACrefYearMonthDay2018. \BBOQ\APACrefatitleThe -chromatic number and related topics - A survey The -chromatic number and related topics - A survey.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics235184–201. \PrintBackRefs\CurrentBib
- Johnson \BBA Trick (\APACyear1996) \APACinsertmetastarJoDaTr96{APACrefauthors}Johnson, D\BPBIS.\BCBT \BBA Trick, M\BPBIA. \APACrefYear1996. \APACrefbtitleCliques, coloring, and satisfiability: second DIMACS implementation challenge, October 11-13, 1993 Cliques, coloring, and satisfiability: second DIMACS implementation challenge, october 11-13, 1993 (\BVOL 26). \APACaddressPublisherAmerican Mathematical Society. \PrintBackRefs\CurrentBib
- Koch \BBA Marenco (\APACyear2019) \APACinsertmetastarKocMar18{APACrefauthors}Koch, I.\BCBT \BBA Marenco, J. \APACrefYearMonthDay2019. \BBOQ\APACrefatitleAn integer programming approach to -coloring An integer programming approach to -coloring.\BBCQ \APACjournalVolNumPagesDiscrete Optimization3243–62. \PrintBackRefs\CurrentBib
- Koch \BBA Peterin (\APACyear2015) \APACinsertmetastarKocPet15{APACrefauthors}Koch, I.\BCBT \BBA Peterin, I. \APACrefYearMonthDay2015. \BBOQ\APACrefatitleThe -chromatic index of direct product of graphs The -chromatic index of direct product of graphs.\BBCQ \APACjournalVolNumPagesDiscrete Applied Mathematics190109–117. \PrintBackRefs\CurrentBib
- Kouider \BBA Mahéo (\APACyear2002) \APACinsertmetastarKouMah02{APACrefauthors}Kouider, M.\BCBT \BBA Mahéo, M. \APACrefYearMonthDay2002. \BBOQ\APACrefatitleSome bounds for the -chromatic number of a graph Some bounds for the -chromatic number of a graph.\BBCQ \APACjournalVolNumPagesDiscrete Mathematics2561-2267–277. \PrintBackRefs\CurrentBib
- Kratochvíl \BOthers. (\APACyear2002) \APACinsertmetastarKraTuzVoi02{APACrefauthors}Kratochvíl, J., Tuza, Z.\BCBL \BBA Voigt, M. \APACrefYearMonthDay2002. \BBOQ\APACrefatitleOn the -chromatic number of graphs On the -chromatic number of graphs.\BBCQ \BIn \APACrefbtitleInternational Workshop on Graph-Theoretic Concepts in Computer Science International Workshop on Graph-Theoretic Concepts in Computer Science (\BPGS 310–320). \APACaddressPublisherSpringer. \PrintBackRefs\CurrentBib
- Lü \BBA Hao (\APACyear2010) \APACinsertmetastarLuHa10{APACrefauthors}Lü, Z.\BCBT \BBA Hao, J\BHBIK. \APACrefYearMonthDay2010. \BBOQ\APACrefatitleA memetic algorithm for graph coloring A memetic algorithm for graph coloring.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research2031241–250. \PrintBackRefs\CurrentBib
- Mabrouk \BOthers. (\APACyear2009) \APACinsertmetastarMaHaMa09{APACrefauthors}Mabrouk, B\BPBIB., Hasni, H.\BCBL \BBA Mahjoub, Z. \APACrefYearMonthDay2009. \BBOQ\APACrefatitleOn a parallel genetic–tabu search based algorithm for solving the graph colouring problem On a parallel genetic–tabu search based algorithm for solving the graph colouring problem.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research19731192–1201. \PrintBackRefs\CurrentBib
- Melo \BOthers. (\APACyear2021) \APACinsertmetastarMelQueRib21{APACrefauthors}Melo, R\BPBIA., Queiroz, M\BPBIF.\BCBL \BBA Ribeiro, C\BPBIC. \APACrefYearMonthDay2021. \BBOQ\APACrefatitleCompact formulations and an iterated local search-based matheuristic for the minimum weighted feedback vertex set problem Compact formulations and an iterated local search-based matheuristic for the minimum weighted feedback vertex set problem.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research289175–92. \PrintBackRefs\CurrentBib
- Melo \BOthers. (\APACyear2020) \APACinsertmetastarMelQueSan20{APACrefauthors}Melo, R\BPBIA., Queiroz, M\BPBIF.\BCBL \BBA Santos, M\BPBIC. \APACrefYearMonthDay2020. \APACrefbtitleData for: A matheuristic approach for the -coloring problem using integer programming and a multi-start multi-greedy randomized metaheuristic. Data for: A matheuristic approach for the -coloring problem using integer programming and a multi-start multi-greedy randomized metaheuristic. \APACrefnoteOnline reference, last access on January 04, 2020, http://dx.doi.org/10.17632/54w6s6f6wr.1 \PrintBackRefs\CurrentBib
- Moalic \BBA Gondran (\APACyear2018) \APACinsertmetastarMoGo18{APACrefauthors}Moalic, L.\BCBT \BBA Gondran, A. \APACrefYearMonthDay2018. \BBOQ\APACrefatitleVariations on memetic algorithms for graph coloring problems Variations on memetic algorithms for graph coloring problems.\BBCQ \APACjournalVolNumPagesJournal of Heuristics2411–24. \PrintBackRefs\CurrentBib
- Morgenstern (\APACyear\bibnodate) \APACinsertmetastarggen{APACrefauthors}Morgenstern, C. \APACrefYearMonthDay\bibnodate. \APACrefbtitleGraph generator ggen. Graph generator ggen. \APACrefnoteOnline reference, last access on May 16, 2019, http://iridia.ulb.ac.be/ fmascia/files/ggen.tar.bz2 \PrintBackRefs\CurrentBib
- Nogueira \BOthers. (\APACyear2018) \APACinsertmetastarNoPiSu18{APACrefauthors}Nogueira, B., Pinheiro, R\BPBIG.\BCBL \BBA Subramanian, A. \APACrefYearMonthDay2018. \BBOQ\APACrefatitleA hybrid iterated local search heuristic for the maximum weight independent set problem A hybrid iterated local search heuristic for the maximum weight independent set problem.\BBCQ \APACjournalVolNumPagesOptimization Letters123567–583. \PrintBackRefs\CurrentBib
- Perumal \BOthers. (\APACyear2019) \APACinsertmetastarPeLaLuRi19{APACrefauthors}Perumal, S\BPBIS., Larsen, J., Lusby, R\BPBIM., Riis, M.\BCBL \BBA Sørensen, K\BPBIS. \APACrefYearMonthDay2019. \BBOQ\APACrefatitleA matheuristic for the driver scheduling problem with staff cars A matheuristic for the driver scheduling problem with staff cars.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research2751280–294. \PrintBackRefs\CurrentBib
- Raidl \BBA Puchinger (\APACyear2008) \APACinsertmetastarRaPu00{APACrefauthors}Raidl, G\BPBIR.\BCBT \BBA Puchinger, J. \APACrefYearMonthDay2008. \BBOQ\APACrefatitleCombining (integer) linear programming techniques and metaheuristics for combinatorial optimization Combining (integer) linear programming techniques and metaheuristics for combinatorial optimization.\BBCQ \BIn \APACrefbtitleHybrid Metaheuristics Hybrid Metaheuristics (\BPGS 31–62). \APACaddressPublisherSpringer. \PrintBackRefs\CurrentBib
- San Segundo \BOthers. (\APACyear2019) \APACinsertmetastarSaCoFuLj19{APACrefauthors}San Segundo, P., Coniglio, S., Furini, F.\BCBL \BBA Ljubić, I. \APACrefYearMonthDay2019. \BBOQ\APACrefatitleA new branch-and-bound algorithm for the maximum edge-weighted clique problem A new branch-and-bound algorithm for the maximum edge-weighted clique problem.\BBCQ \APACjournalVolNumPagesEuropean Journal of Operational Research278176–90. \PrintBackRefs\CurrentBib
- Trick \BOthers. (\APACyear2015) \APACinsertmetastarinstances{APACrefauthors}Trick, M., Chvatal, V., Cook, B., Johnson, D., McGeoch, C.\BCBL \BBA Tarjan, B. \APACrefYearMonthDay2015. \APACrefbtitleBenchmark instances from the Second DIMACS Implementation Challenge. Benchmark instances from the Second DIMACS Implementation Challenge. \APACrefnoteOnline reference, last access on May 16, 2019, http://archive.dimacs.rutgers.edu/pub/challenge/graph/benchmarks/ \PrintBackRefs\CurrentBib