Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for...

21
Noname manuscript No. (will be inserted by the editor) Hybrid Evolutionary Algorithm for b-coloring Iztok Fister Iztok Peterin Marjan Mernik Matej ˇ Crepinˇ sek Received: date / Accepted: date Abstract The b-chromatic number of a graph G is a maximum integer ϕ(G) for which there exists a proper ϕ(G)-coloring with the following property. In each color class exists a vertex which has all colors but his in its neighborhood. A rich bucket of theoretical results have bin discovered during last decade and a half. In this work we present first computer develop methods and results for ϕ(G). This is done with hybrid evolutionary algorithm for graph b-coloring. His success rate was tested on some theoretically known results as well as by brute force algorithm on small examples (regular graphs up to 12 vertices). In addition the algorithm was tested for some large graphs that proved to be challenging for classical chromatic number. Keywords graph b-coloring local search hybrid evolutionary algorithms Tabucol Iztok Fister Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova ulica 17, SI-2000 Maribor, Slovenia E-mail: iztok.fi[email protected] Iztok Peterin Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova ulica 17, SI-2000 Maribor, Slovenia E-mail: [email protected] Marjan Mernik Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova ulica 17, SI-2000 Maribor, Slovenia E-mail: [email protected] Matej ˇ Crepinˇ sek Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova ulica 17, SI-2000 Maribor, Slovenia E-mail: [email protected]

Transcript of Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for...

Page 1: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Noname manuscript No.(will be inserted by the editor)

Hybrid Evolutionary Algorithm for b-coloring

Iztok Fister ⋅ Iztok Peterin ⋅ MarjanMernik ⋅ Matej Crepinsek

Received: date / Accepted: date

Abstract The b-chromatic number of a graph G is a maximum integer ϕ(G)for which there exists a proper ϕ(G)-coloring with the following property. Ineach color class exists a vertex which has all colors but his in its neighborhood.A rich bucket of theoretical results have bin discovered during last decade anda half. In this work we present first computer develop methods and results forϕ(G). This is done with hybrid evolutionary algorithm for graph b-coloring.His success rate was tested on some theoretically known results as well as bybrute force algorithm on small examples (regular graphs up to 12 vertices).In addition the algorithm was tested for some large graphs that proved to bechallenging for classical chromatic number.

Keywords graph b-coloring ⋅ local search ⋅ hybrid evolutionary algorithms ⋅Tabucol

Iztok FisterFaculty of Electrical Engineering and Computer Science, University of MariborSmetanova ulica 17, SI-2000 Maribor, SloveniaE-mail: [email protected]

Iztok PeterinFaculty of Electrical Engineering and Computer Science, University of MariborSmetanova ulica 17, SI-2000 Maribor, SloveniaE-mail: [email protected]

Marjan MernikFaculty of Electrical Engineering and Computer Science, University of MariborSmetanova ulica 17, SI-2000 Maribor, SloveniaE-mail: [email protected]

Matej CrepinsekFaculty of Electrical Engineering and Computer Science, University of MariborSmetanova ulica 17, SI-2000 Maribor, SloveniaE-mail: [email protected]

Page 2: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

2 Iztok Fister et al.

1 Introduction

A b-vertex coloring of a graph G is a proper vertex coloring of G such thateach color class contains a vertex that has at least one vertex in every othercolor class in its neighborhood. The b-chromatic number of a graph G is thelargest integer ϕ(G) for which G has a b-vertex coloring with ϕ(G) colors. Thisconcept was introduced in [43] by Irving and Manlove by the certain strictlypartial ordering on all proper colorings in contrast to chromatic number χ(G).Namely, χ(G) is the minimum of colors used among all minimal elements ofthis partial ordering, while ϕ(G) is the maximum of colors used among allminimal elements of the same partial ordering.

Since then the b-chromatic number has drawn quite some attention amongthe scientific community. Already Irving and Manlove [43] have shown, thatcomputing ϕ(G) is an NP -hard problem in general, but they have solved theproblem for trees. This solution yields a polynomial algorithm for computingϕ(T ) for a tree T . Kratochvıl et al. have shown in [53] that the problemremains NP-hard even for bipartite graphs. Hence an approximation approachby S. Cortel et al. in [19] seems natural. They have shown that the b-chromaticnumber of a graph is hard to approximate in polynomial time within a factorof 120/113 − ε, for any ε > 0, unless P = NP. Another algorithmic approachwas done in [28] where authors construct a b-coloring for a graph G which isnot necessarily optimal. In the same paper authors adopt this technique fordiscovering a new typology of hospital stays in the French health care system.

The b-chromatic number of some special graph classes has been studied in[25,24,26,4]. The bounds for the b-chromatic number have been studied in [49]in general and for some graph classes in [16,51,3]. The b-chromatic number hasbeen considered with respect to subgraphs in [40], while the b-chromatic num-ber under graph operations was considered in [50] for the Cartesian productand in [45] for the other three standard products. In [5] an interesting con-cept of b-continuous graphs was introduced as graphs for which there exists at-b-vertex coloring for every integer t between χ(G) and ϕ(G).

Intuitively, we need to have enough vertices of high enough degree, at leastone in each color class. Let v1, . . . , vn be such a sequence of vertices, thatd(v1) ≥ ⋯ ≥ d(vn). Then m(G) = max{i ∶ d(vi) ≥ i − 1} is an upper bound forϕ(G). From this point of view, d-regular graphs are of special interest, sincem(G) = d + 1 for a d-regular graph G and every vertex is a candidate to haveeach color class in its neighborhood. Indeed, in [53] it was shown that if a d-regular graph G has at least d4 vertices, then the equality ϕ(G) = d+ 1 holds.This bound was later improved to 2d3 in [14]. In particular it was shown in [44],that there are only four exceptions among cubic graphs with ϕ(G) < 4, one ofthem being the Petersen graph. Furthermore, authors ask in [44] whether onecan find all the exceptions for d-regular graphs, where d > 3.

Edge version, the b-chromatic index ϕ′(G), was recently introduced in [46].In general this problem is NP-complete as shown in [56]. But in [46] authorsderive the b-chromatic index for trees which yields a polynomial algorithm forit. Since ϕ′(G) = ϕ(L(G)), where L(G) represents the line graph of G, this

Page 3: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 3

gives a larger class of graphs with polynomial algorithm for computing ϕ(G),namely {L(T ) ∶ T is a tree}. Analogue to four exceptions among cubic graphsfor ϕ(G) ([44]), also for ϕ′(G) there exists only four exceptions ([46]), howeverthese exceptions do not coincide.

In this paper we search for ϕ(G) of some graph classes with the computer.First we checked the properties of d-regular graphs from [60] by a brute forcealgorithm. Clearly this can not be done for graphs with a big vertex set, but wegive a surprising partial answer to a question how many d-regular graphs havethe property ϕ(G) < m(G) from [44]. Next we give a heuristic for computingϕ(G) and test this heuristic on some graphs.

2 Preliminaries

For the original definition from [43] let G be a graph and let F(G) be the setof all proper colorings of G. Let c ∶ V (G) → {1, . . . , k} be a proper coloringof a graph G. A vertex v of G with c(v) = i is a color i dominating vertexif there exists a neighbour u of v with c(u) = j for every j ≠ i. We will usenotation vDi for a color i dominating vertex. If a vertex v with c(v) = i is nota color i dominating vertex, then we can recolor v with some color that isnot represented in the neighbourhood of v to obtain slightly different coloring.Hence if there exists no color i dominating vertex, then we can recolor everyvertex colored with i and we obtain a new coloring ci ∶ V (G)→ {1, . . . , k}−{i}.Clearly ci is a proper (k − 1)-coloring of G. Next we define the relation ◁on F(G) × F(G). We say that c1 is in relation ◁ with c, c1 ◁ c, if c1 can beobtained from c by recoloring every vertex of one fixed color class of c. Clearly,◁ is asymmetric. Let relation ≺ be the transitive closure of relation ◁, whichis a strictly partial ordering. Since there are finitely many different (proper)colorings of a graph G, this ordering has some minimal elements. It was shownalready in [43] that the number of colors used in a maximum minimal elementof ordering ≺ is exactly b-chromatic number ϕ(G). (Actually is the originaldefinition via the ordering.)

This description immediately implies an easy algorithm to find a b-coloringof a graph G. For this just color G by the greedy algorithm. Such a coloring,say with k colors, is not always a b-coloring, see [43]. Note that color classesk − 1 and k have dominanting vertices. However, we can check every othercolor class for a dominating vertex. If such a vertex does not exists we simplyrecolor all vertices of this color class to obtain (k−1)-coloring of G. Clearly weend with a b-coloring after all original colors classes from {1, . . . , k − 2} havebeen checked for dominating vertices.

2.1 Evolutionary Algorithms

Evolutionary computation (EC) is a contemporary term that denotes thewhole field of computing inspired by Darwinian principles of natural evolu-tion, where in nature the fittest individuals have the greater possibilities for

Page 4: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

4 Iztok Fister et al.

survival and pass-on their characteristics to their offspring during a process ofreproduction [21]. The so-named evolutionary algorithms which are involvedin this field are divided into the several disciplines, like genetic algorithms(GA) [37,41], evolution strategies (ES) [2], differential evolution (DE) [62,13,22], evolutionary programming (EP) [30], and genetic programming (GP) [52].Although all these disciplines were developed independently, they share simi-lar characteristics when solving problems. Nowadays, evolutionary algorithmshave been applied in wide-areas of optimization, modelling, and simulation.

The common idea behind all these techniques is the same: on the popula-tion of individuals (solutions) the environment pressure causes natural selec-tion (survival of the fittest), which causes a rise on the fitness of the popula-tion [27]. The fitness in evolutionary algorithm (EA) determines a quality ofcandidate solutions and can be minimum or maximum value of fitness func-tion that is connected with a problem to be solved. The candidate solutionsundergo acting the operators of crossover and mutation by reproduction. Asa result, a population of offspring are generated that enter with their parentsinto a process of selection to struggle for a place into a new population. Apseudo-code of EA is illustrated in Algorithm 1.

Algorithm 1 Evolutionary algorithm1: initialize population with random candidate solutions;2: evaluate each candidate;3: while (termination condition is not meet) do4: select parents;5: recombine pairs of parents;6: mutate the resulting offspring;7: evaluate new candidates;8: select individuals for the next generation;9: end while

From the algorithm it can be seen that EAs consist of the following com-ponents:

– representation of individuals,– evaluation function,– population scheme,– parent selection mechanism,– variation operators (crossover and mutation),– survivor selection mechanism (replacement).

In order to obtain a running algorithm, the initialization procedure and atermination condition need to be also defined.

Typically, evolutionary algorithms do not search for solutions within theoriginal problem context because these represent the problems on comput-ers by means of data structures. For instance, genetic algorithms use binaryrepresentation of individuals, evolution strategy and differential evolution realnumbers, genetic programing programs in Lisp, and evolutionary programming

Page 5: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 5

finite state automata. When solving the optimization problem using geneticalgorithms, some mapping between problem context and binary representedproblem-solving space needs to be performed. In the original problem context,the candidate solution determines so-named phenotype space, i.e., set of pointsthat form the space of possible solutions. On the other hand, the solution in theproblem-solving space determines the set of points that forms the so-namedgenotype space. By means of mapping from the genotype to the phenotype,the candidate solution is encoded as a binary vector. In contrast, when themapping from the phenotype to the genotype is taken into consideration, thecandidate solution is decoded from the binary representation of individuals.

Evaluation function is typically considered as part of the problem to besolved and not as part of problem-solving algorithm [27]. In fact, it representsa selection pressure in evolutionary cycle that directs a evolutionary searchprocess toward the promising regions of the fitness landscape. Evolutionaryalgorithms hold the representation of possible solutions within a population.The population is a set of multiple copies of candidate solutions.

Evolutionary algorithms simulate the process of natural selection usingselection operator. Actually, two selection operators exist. The former selectsthe parents for the reproduction (also parent selection), whilst the latter deter-mines the surviving offspring (also survivor selection). The variation operatorsare applied in order to create new individuals from old ones. From the searchperspective, the evolutionary algorithms act according the ’generate-and-test’principle, where the variation operators perform the generate phase. Typically,evolutionary algorithms support two variation operators that mimic operationsin nature, i.e., mutation and crossover.

2.2 Algorithms for graph coloring

The first algorithms for graph coloring tried to solve this problem exactly [8],i.e., by enumerating all possible orderings of the vertices. However, these al-gorithms were too time consuming and infeasible for large graphs, therefore,many approaches that tackled the problem heuristically were proposed. Theytried to find an approximate solution in reasonable time. The most natural ap-proach to coloring graph vertices heuristically was the greedy approach [11].The best known heuristics of this type are the largest saturation degree heuris-tic DSatur [12], and the recursive largest first heuristic RLF [55]. Before col-oring, DSatur orders graph vertices according to the saturation degree ϕv thatis defined as the number of distinctly colored vertices adjacent to a vertexv [54]. On the other hand, RLF divides the uncolored graph into color classesthat contain vertices colored with the same color. The algorithm colors thevertices one color class at a time. The vertices from the uncolored subgraphare added to the current color class in turn so that the number of edges leftin the uncolored subgraph remains as few as possible.

Some of the most popular algorithms for solving k-GCP today are meta-heuristics based on local search [9,10]. One of the first metaheuristics was

Page 6: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

6 Iztok Fister et al.

developed by Hertz and de Werra [39] under the name Tabucol. This was thefirst application of the tabu search [36] to graph coloring. Tabucol first gener-ates an initial random k-coloring, which typically contains a large number ofconflicting edges. Then, the heuristic iteratively looks for a single vertex thatmost decreases the number of conflicting edges when it is recolored with an-other color, i.e., moved to another color class. A tabu list prevents the movesfrom cycling. Proper k-coloring may be obtained after a finite number of it-erations. Later, Tabucol was improved to more sophisticated graph-coloringalgorithms [23,33].

On the other hand, other local search heuristics include simulated anneal-ing [15,47], iterative local search [18,17], reactive partial tabu search [7,6,58], variable neighborhood search [1], adaptive memory [35], variable searchspace [38], and population-based methods [23,29,33,57]. One of the best popu-lation-based algorithms for k-GCP, the Hybrid Evolutionary Algorithm (HEA)developed by Galiner and Hao [33] combines local search with the partition-based crossover operator. The Tabucol metaheuristic is used as a local searchoperator. For a comprehensive survey of the main methods, see, e.g., [34,59].

3 Hybrid Evolutionary Algorithm for b-coloring

A pseudo-code of the Hybrid Evolutionary Algorithm for b-coloring is illus-trated in Algorithm 2. In addition to standard EA (lines 4-8 in Algorithm 1),the HEA also includes a local search step that incorporates a problem-specificknowledge into evolutionary search.

The outer while loop in Algorithm 2 (lines 3-19) represents a logic ofsearching for a lower bound for the b-chromatic number ϕ(G). Initially, thisvalue is set to m(G). Then, this loop is repeated until a proper b-coloring isfound or this number falls to the chromatic number χ(G). If a b-coloring is notfound in the current iteration, this value is decremented and the evolutionarysearching for a proper b-coloring is repeated (lines 16-18).

In the remainder of this section, the components of standard EA are dis-cussed in detail.

3.1 Representation and fitness evaluation

A solution of the graph b-coloring s ∈ S is any partition of s = {V1, . . . , Vk}of V in k subsets, where the quality of solution is calculated according to theequation, as follows:

f(s) = ∣{e ∈ E ∶ both endpoints of e are in the same Vi ∈ s}∣+(k − ∣{Vi ∶ vDi ∈ Vi}∣),

(1)

where the first term represents the number of edges which violate a properk-coloring and the second term represents the number of color classes thathave no i-dominating vertex. That means, the proper k-coloring is required

Page 7: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 7

Algorithm 2 Hybrid Evolutionary Algorithm for b-coloringInput: G - graph definition.Output: sbest - best b-coloring, ϕ(G) - b-chromatic number.

1: found = FALSE;2: k =m(G);3: while (notfound and k ≥ χ(G)) do

4: P (0) = init pop(G,k);

5: eval = evaluate(G,P (0), k);6: t = 0;7: while termination condition not meet do8: ⟨s1, s2⟩ = select2parents(P (t));9: s = crossover(s1, s2);

10: mutation(s);11: eval += local search(G, s, k);12: eval += evaluate(G, s, k);

13: ⟨sbest, found⟩ = replace worst(P (t), s);14: t = t + 1;15: end while16: if not found then17: k = k − 1;18: end if19: end while20: if found then21: ϕ(G) = k;22: end if

condition for the proper b-coloring. The algorithm takes into a considerationsets of all possible partitions of V in k classes. Indeed, also improper coloringsshould be considered. As an upper bound of k, the m(G) is taken.

3.2 Initialization procedure

An initialization procedure is illustrated in Algorithm 3 obtaining the graphdefinition G as an input parameter and producing the initial colorings as theoutput parameters.

Algorithm 3 Initialization procedureInput: G - graph definition.

Output: c(0)i - initialization b-coloring.

1: for i = 1 to Np do2: for j = 1 to n do3: vj = π(j);4: end for5: T = tree build(m(G),v);6: b coloring(T,m(G),ci);7: tree delete(T );8: end for

Page 8: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

8 Iztok Fister et al.

The procedure acts as follows. For each individuals from the population, apermutation of vertices v is generated. Then, the spanning tree T is built [42].On this tree, the b-coloring function is started that visited vertices of this treein depth first order. Indeed, each vertex is colored with the highest possiblecolor that does not cause a partition violation. The partition violation appearswhen two vertices connected with an edge are members of the same partition.If such color is not found the vertex is colored with a random selected color.In this case, no proper k-coloring is found by initialization procedure.

An advantage of this coloring is that the procedure tries to color its neigh-boring vertices with all of the m(G) colors. If the proper k-coloring is foundthere is a high probability that some potential dominant vertex is also found.In the best case, when all dominant vertices are detected the proper b-coloringis found.

3.3 Parent and survivor selections

Crossover operator demands two individuals as input parameters. These indi-viduals that appear as parent in this operation are selected uniformly betweenall members into population. On the other hand, HEA for b-coloring usessteady-state population scheme. That is, only one solution modified by varia-tion operators can be replaced in each generation.

3.4 Variation operators

In general, EA apply operators crossover and mutation to modify existing indi-viduals into population. In line with this, many operators have been developedthat have been successfully applied to many general problems. Unfortunately,these operators showed worse results when they have been applied to NP-hardcombinatorial optimization problems, where many powerful heuristics havebeen yet developed. A problem-specific knowledge used by these heuristicsmust be incorporated into appropriate variation operators.

For graph coloring, a Greedy Partition Crossover (GPX) has been devel-oped by Galinier and Hao in [33]. This operator operates on partitioned rep-resentation according to specifications presented in Algorithm 4.

The GPX operator creates k-classes V1, . . . , Vk from two parents. In oddsteps, the maximal sized class V 1

i from the first parent s1 is selected, whilein the even steps, the maximal sized class V 2

i from the second parent s2. Theselected class is added to the offspring s. Indeed, the vertices in this class arethen removed from both parents. Finally, the remaining vertices from bothparents are assigned to the offspring randomly.

The mutation operator changes the color of randomly selected individualinto population at the randomly location. That means, the vertex v ∈ Vi ismoved to another partition Vj , where i ≠ j.

Page 9: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 9

Algorithm 4 The GPX crossover operator

Input: s1 = {V 11 , . . . , V

1k } and s2 = {V 2

1 , . . . , V2k } - parent solutions.

Output: s = {V1, . . . , Vk} - offspring solution.

1: for ` = 1 to k do2: if (` mod 2) == 0 then3: A = 2;4: else5: A = 1;6: end if7: V A

i = maxj∈{1,...,k} ∣V Aj ∣;

8: V` = V Ai ;

9: remove the vertices of V` from s1 and s2;10: end for11: assign the vertices of V − (V1 ∪ . . . ∪ Vk) randomly;

3.5 Local search heuristics

Two local search heuristics were developed in the HEA for a b-coloring. Theformer ensures for a proper k-coloring and is an implementation of the well-known Tabucol graph coloring heuristic [39]. The later provides the properb-coloring and was developed from a scratch. Note that the first heuristicexecutes until the proper k-coloring is found or the number of local searchsteps is exceeded. The second heuristic Bcol counts a difference between thecurrent b-chromatic number and the number of dominated vertices. If thisdifference is zero the proper b-coloring is found. This heuristic is terminated ifthe number of local search steps is exceeded. Note that each local search stepcounts as one fitness function evaluation.

3.5.1 Tabucol heuristic

A pseudo-code of the Tabucol heuristic is illustrated in Algorithm 5.

Algorithm 5 Tabucol local search operatorInput: s = {V1, . . . , Vk} - solution, eval - the number of evaluation.Output: s = {V1, . . . , Vk} - k-coloring.

1: t = 0;2: while termination condition not meet do3: select a move ⟨v, s(v)⟩ that eliminates the most partition violations;4: set the couple ⟨v, s(v)⟩ in the Tabu list for tl iterations;5: perform the move ⟨v, i⟩ in s;6: t = t + 1;7: end while

According to Algorithm 5, the most promising move of vertex v in partitioni is selected, i.e., the move that eliminates the most partition violations. Then,

Page 10: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

10 Iztok Fister et al.

the couple ⟨v, s(v)⟩, where the s(v) determines a color class of vertex v in asolution s, is put into a tabu list for tl iterations (also aspiration level). Thatmeans, in order to prevent that the same move is repeated more times, themove is put into the list of forbidden moves. Each move in this list is lockeduntil the number of tl iterations is exceeded. Note that this heuristic is similarto acting the mutation operator but moving a vertex from one color class toanother is performed blindly by mutation.

3.5.2 Bcol heuristic

An application of Tabucol heuristic provides the proper k-coloring that is es-timated by the first term in the corresponding objective function (Eq. (1)).Unfortunately, this heuristic does not ensure also a proper b-coloring in gen-eral. Therefore, an additional Bcol heuristic was developed for providing afaster convergence. Its activity is reflected in the second term of the Eq. (1).

The Bcol heuristic tries to obtain the proper b-coloring as follows. Itsearches for dominated vertices in the obtained proper k-coloring, i.e., verticesthat are adjacent with vertices in all other color classes. The proper b-coloringis found when the dominated vertex exists in each color class. Typically, theTabucol heuristic produces the proper k-coloring with ∑k

i=1 vDi < ϕ(G) dom-

inated vertices. In order to increase this number of dominated vertices, theBcol heuristic applies an operation swap that selects two dominated verticesvDi and vDj connected with an edge and tries they to swap. Indeed, no addi-tional partition violation should be arisen.

Let us clarify operating of the Bcol heuristic by example illustrated inFig. 1. This figure represents a 3-regular graph with 8 vertices that has ϕ(G) =4 which is equal to the value m(G) = 4.

(a) Step 1 (b) Step 2

Fig. 1 Operating of the Bcol heuristic

The k-coloring in diagram Fig. 1.a is obtained by the Tabucol heuristic. Ascan be seen from this diagram, vertices v1, v3 and v8 are dominated verticesfor its color. Since only v1 and v3 are adjacent, we can swap their color (and

Page 11: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 11

obtain diagram Fig. 1.b). Clearly the proper b-coloring is obtained and everycolor class has its dominant vertex.

A pseudo-code of the Bcol heuristic is presented in Algorithm 6 that actsas follows. At first, a set of dominated vertices D is selected. Then, the bestcouple ⟨vDi , vDj ⟩ is selected, where the number of all dominated vertices is themost increased. Finally, swapping the best couple is performed.

Algorithm 6 Bcol local search operatorInput: s = {V1, . . . , Vk} - solution, eval - the number of evaluation.Output: s = {V1, . . . , Vk} - b-coloring.

1: t = 0;2: while termination condition not meet do3: n dom = select all dominated vertices D = {vDi };4: select the best couple ⟨vDi , vDj ⟩ ∈ D such that ∑k

i=1 vDi ∈ D > n dom;

5: set the couple ⟨vDi , vDj ⟩ in the Tabu list for tl2 iterations;

6: perform the swap ⟨vDi , vDj ⟩ in s;7: t = t + 1;8: end while

Note that the number of iterations, exhausted moves, or the proper b-coloring can be used as a terminate condition (in function ’termination con-dition not meet’).

4 Search space

In this section we present some results considering b-chromatic colorings ofa graph G. We have systematically checked every d-regular graph up to 12vertices (and in one case also for 13 vertices) from [60]. The method usedhere is brute force. Hence we have checked every proper coloring of G (upto the permutations of the color classes) whether it is also a b-coloring of G.Clearly, this is not a method for “large” graphs. Nevertheless, we obtainedsome unexpected results. They are presented in Tables 1-5. Each table is forone d ∈ {3,4,5,6,7}. In the first column we have the number of vertices of ad-regular graphs under consideration. Second column represents the numberof non-isomorphic d-regular graphs on n ≤ 13 vertices. Each of the followingcolums represent one possibility for ϕ(G). Thus, we have d columns since2 ≤ ϕ(G) ≤m(g) = d+ 1 and these columns are denoted from 2 to d+ 1 in firstline of the table. Suppose that we are in column i where 2 ≤ i ≤ d+ 1. We havetwo numbers a− b in each place of this column. Here, a represents the numberof graphs for which its b-chromatic number equals i and number b representshow many graphs have a b-coloring with i colors. Clearly a ≤ b and that ind+1 column we have a = b. The only exception for this is the last line of Table2, where only the number a is present.

Page 12: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

12 Iztok Fister et al.

∣V (G)∣ Diff. graphs 2 3 44 1 0-0 0-0 1-16 2 1-1 1-1 0-08 5 0-1 0-4 5-5

10 19 0-2 2-18 17-1712 85 0-5 0-85 85-85

Table 1 b-chromatic number for 3-regular graphs

∣V (G)∣ Diff. graphs 2 3 4 55 1 0-0 0-0 0-0 1-166 1 0-0 1-1 0-0 0-07 2 0-0 1-1 1-1 0-08 6 1-1 0-2 4-5 1-19 16 0-0 2-10 8-14 6-6

10 59 0-1 2-28 30-56 27-2711 265 0-0 0-188 67-265 198-19812 1544 0-4 1-1150 153-1543 1390-139013 10778 0 0 191 10587

Table 2 b-chromatic number for 4-regular graphs

∣V (G)∣ Diff. graphs 2 3 4 5 66 1 0-0 0-0 0-0 0-0 1-18 3 0-0 0-0 3-3 0-0 0-0

10 60 1-1 0-6 7-55 49-52 3-312 7848 0-1 0-633 28-7828 7188-7815 632-632

Table 3 b-chromatic number for 5-regular graphs

∣V (G)∣ Diff. graphs 2 3 4 5 6 77 1 0-0 0-0 0-0 0-0 0-0 1-18 1 0-0 0-0 1-1 0-0 0-0 0-09 4 0-0 1-1 1-1 2-2 0-0 0-0

10 21 0-0 0-1 2-10 15-19 4-4 0-011 266 0-0 1-3 4-177 104-259 156-156 1-112 7849 1-1 0-49 11-6529 1028-7833 6797-6805 12-12

Table 4 b-chromatic number for 6-regular graphs

∣V (G)∣ Diff. graphs 2 3 4 5 6 7 88 1 0-0 0-0 0-0 0-0 0-0 0-0 1-1

10 5 0-0 0-0 1-1 2-3 2-2 0-0 0-012 1547 0-0 0-1 4-276 42-1469 1324-1501 177-177 0-0

Table 5 b-chromatic number for 7-regular graphs

Page 13: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 13

It is known for all d-regular graphs, that ϕ(G) =m(G) wheneverG containsat least 2d3 vertices, see [14]. Hence there exists only finitely many d-regulargraphs with ϕ(G) <m(G). After it was shown in [44] that there are only foursuch graphs for d = 3, there have been some estimations that also for d > 3 thisnumber should not be “too big”. More accurate, the question of growth rateof function

f(d) = ∣{G ∶ G is d-regular and ϕ(G) ≤ d}∣was posed in [44]. With respect to above tables, we have shown the followingresult.

Theorem 1 The following holds for f(d), d ∈ {4,5,6,7}: f(4) ≥ 462, f(5) ≥7276, f(6) ≥ 8128 and f(7) ≥ 1533.

This numbers are not small and probably not accurate. We must admitthat after f(3) = 4 this big growth is surprising for f(d). In particular thereare 7276 exceptions among all 7912 5-regular graphs on at most 12 vertices;ϕ(G) = m(G) holds only for 14 graphs out of all 8142 6-regular graphs on atmost 12 vertices and K8 is the only such graph out of all 1533 7-regular graphson at most 12 vertices. Hence at least for f(7) we can expect this number tobe far from the correct one.

5 Experiments and results

The aim of our experimental work was twofold, i.e., on the one hand, to showhow the HEA for b-coloring complies with the theoretical results obtainedin previous two sections and on the other hand, to demonstrate that thisalgorithm can also be useful to determine the b-coloring number of largergraphs.

Characteristics of the HEA for graph b-coloring were the same as describedin Section 3. The specific algorithm parameters during the experiments wereset, as follows. The population size was set to Np = 100. The probability ofcrossover was pc = 0.8, whilst the probability of mutation pm = 0.05. TheTabucol local heuristic terminates after Tmax = 100 iterations. The aspirationlevel of tabu list was fixed to tl = 7. The evolutionary search terminates after100,000 fitness function evaluations. The number of independent runs was 25.

Two measures were used in order to estimate a performance of the HEAfor graph b-coloring. The first measure was success rate (SR) measuring theeffectiveness of the algorithm, whilst the second average evaluations to solution(AES) measuring the efficiency of it. The former is defined as a ratio betweensuccessfully runs by all runs and reflects a stochastic nature of evolutionaryalgorithms, where the solution is not found in each run. On the other hand,the latter calculates the average number of fitness function evaluations, whenthe solution was found.

Two experiments were performed searching the b-chromatic number on:

– d-regular graphs with the number of vertices up to 12,

Page 14: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

14 Iztok Fister et al.

– graphs proposed from DIMACS challenge suite [48].

In the former, the theoretical results of graph b-coloring investigated by ex-haustive search were compared with the results of the proposed HEA for b-coloring. The latter was devoted to determine the b-chromatic number ϕ(G)of ordinary graphs with higher number of vertices.

5.1 Graph b-coloring of the d-regular graphs

An aim of this experiment was to discovered behaviour of HEA for b-coloringon d-regular graphs where d = {3,4,5,6,7} with the number of vertices up to 12that was applied to graphs generated with d-regular graph generator [60]. Theparameters of the proposed algorithm were set as explained in the beginning ofthe section. Note that the χ(G) = 2 was set as a lower bound for k-chromaticnumber of d-regular graphs in Algorithm 2, because the minimum k-chromaticnumber of the generated d-regular graph is at least 2.

n Meas. 2 3 4

4∣V (G)∣ 0-1 0-1 1-1

SR n/a n/a 1.00AES n/a n/a 100.00

6∣V (G)∣ 1-2 1-2 0-2

SR 1.00 1.00 n/aAES 100.00 100.00 n/a

8∣V (G)∣ 0-5 0-5 5-5

SR n/a n/a 1.00AES n/a n/a 107.80

10∣V (G)∣ 0-19 2-19 17-19

SR n/a 1.00 1.00AES n/a 100.00 102.82

12∣V (G)∣ 0-85 0-85 85-85

SR n/a n/a 1.00AES n/a n/a 114.05

Table 6 Results of HEA for b-coloring on 3-regular graphs

The results of experiments were illustrated in Tables 6-10, where the b-chromatic numbers for generated d-regular graphs with n-vertices are regardedaccording the number of graphs ∣V (G)∣ denoted as a−b, where a is the numberof graphs with corresponding ϕ(G) found and b the number of all generatedd-regular graphs, and measures SR and AES. In the table, the phrase ’n/a’denotes not applicable that means, the corresponding value was not found,since there exists no graphs with apropriate ϕ(G).

From Tables 6-10, it can be seen that values SR=1.00 and AES close to100.00 were the most frequently occurred. The first value confirms that theresults were obtained very effectively (the solution was found in almost all runsof stochastic algorithm), while the second one that the results are obtained very

Page 15: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 15

n Meas. 2 3 4 5

5∣V (G)∣ 0-1 0-1 0-1 1-5

SR n/a n/a n/a 1.00AES n/a n/a n/a 100.00

6∣V (G)∣ 0-1 1-1 0-1 0-1

SR n/a 1.00 n/a n/aAES n/a 103.00 n/a n/a

7∣V (G)∣ 0-2 1-2 1-2 0-1

SR n/a 1.00 1.00 n/aAES n/a 100.00 100.00 n/a

8∣V (G)∣ 1-6 0-6 4-6 1-6

SR 1.00 n/a 1.00 1.00AES 100.00 n/a 100.00 132.00

9∣V (G)∣ n/a 2-16 8-16 6-16

SR n/a 1.00 1.00 1.00AES n/a 100.00 103.13 100.50

10∣V (G)∣ 0-59 2-59 30-59 27-59

SR n/a 1.00 1.00 1.00AES n/a 100.00 104.07 132.00

11∣V (G)∣ 0-266 0-266 68-266 198-266

SR n/a n/a 1.00 1.00AES n/a n/a 102.30 196.25

12∣V (G)∣ 0-1544 1-1544 153-1544 1390-1544

SR n/a 1.00 1.00 1.00AES n/a 100.00 101.20 217.01

Table 7 Results of HEA for b-coloring on 4-regular graphs

n Meas. 2 3 4 5 6

6∣V (G)∣ 0-1 0-1 0-1 0-1 1-1

SR n/a n/a n/a n/a 1.00AES n/a n/a n/a n/a 100.00

8∣V (G)∣ 0-3 0-3 3-3 0-3 0-3

SR n/a n/a 1.00 n/a n/aAES n/a n/a 102.00 n/a n/a

10∣V (G)∣ 1-60 0-60 7-60 49-60 3-60

SR 1.00 n/a 1.00 1.00 1.00AES 100.00 n/a 100.00 115.27 107.00

12∣V (G)∣ 0-7848 0-7848 28-7848 7188-7848 632-7848

SR n/a n/a 1.00 1.00 1.00AES n/a n/a 100.68 103.44 306.04

Table 8 Results of HEA for b-coloring on 5-regular graphs

efficiently (the most of solutions were found in initialization phase, becauseAES ≤ 100).

In summary, all results from the tables are consistent with the resultsobtained by the exhaustive search.

5.2 Graph b-coloring the larger graphs

The following graphs from the well-known second DIMACS challenge bench-marks are used (Johnson and Trick in [48]) in experiments:

Page 16: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

16 Iztok Fister et al.

n Meas. 2 3 4 5 6 7

7∣V (G)∣ 0-1 0-1 0-1 0-1 0-1 1-1

SR n/a n/a n/a n/a n/a 1.00AES n/a n/a n/a n/a n/a 100.00

8∣V (G)∣ 0-1 0-1 1-1 0-1 0-1 0-1

SR n/a n/a 1.00 n/a n/a n/aAES n/a n/a 116.00 n/a n/a n/a

9∣V (G)∣ 0-4 1-4 1-4 2-4 0-4 0-4

SR n/a 1.00 1.00 1.00 n/a n/aAES n/a 105.00 107.00 100.00 n/a n/a

10∣V (G)∣ 0-21 0-21 2-21 15-21 4-21 0-21

SR n/a n/a 1.00 1.00 1.00 n/aAES n/a n/a 100.00 100.00 111.00 n/a

11∣V (G)∣ 0-266 1-266 4-266 104-266 156-266 1-266

SR n/a 1.00 1.00 1.00 1.00 1.00AES n/a 100.00 100.00 105.86 124.10 105.00

12∣V (G)∣ 1-7849 0-7849 11-7849 1028-7849 6797-7849 12-7849

SR 1.00 n/a 1.00 1.00 1.00 1.00AES 100.00 n/a 115.55 104.17 203.08 128.08

Table 9 Results of HEA for b-coloring on 6-regular graphs

n Meas. 2 3 4 5 6 7 8

8∣G∣ 0-1 0-1 0-1 0-1 0-1 0-1 1-1SR n/a n/a n/a n/a n/a n/a 1.00

AES n/a n/a n/a n/a n/a n/a 100.00

10∣G∣ 0-5 0-5 1-5 2-5 2-5 0-5 0-5SR n/a n/a 1.00 1.00 1.00 n/a n/a

AES n/a n/a 107.00 102.50 100.00 n/a n/a

12∣G∣ 0-1547 0-1547 4-1547 42-1547 1324-1547 177-1547 0-1547SR n/a n/a 1.00 1.00 1.00 1.00 n/a

AES n/a n/a 101.75 102.69 121.04 162.23 n/a

Table 10 Results of HEA for b-coloring on 7-regular graphs

– Three random graphs: dsjc250.5, dsjc500.1, and dsjc500.5. They have 250and 500 vertices, respectively, and a density of 0.1, and 0.5 with unknownchromatic number.

– Two random geometric graphs: r250.5, and dsjr500.5. Graphs generatedusing by the M. Trick random graph generator in a programming languageC and consists of 250 and 500 vertices, respectively. Descriptions of thesegraphs can be found in [61].

– Two Leighton graphs: le450 25c and le450 25d. They are structured graphswith known chromatic number 25 and with the 450 vertices are describedin [55].

– Two flat graph: flat300 28 0, and flat1000 50 0. They are also structuredgraph with known chromatic number (respectively 28, and 50). Flat graphsdue to J. Culberson [20] are generated by partitioning the vertex set intok almost equal sized classes and then by selecting edges only between ver-tices of different classes. Finding the best legal k-coloring is equivalent torestoring this initial partitioning. While the first number in the name ofa graph denotes the number of vertices, the second number is hence thechromatic number.

Page 17: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 17

We are interested in these graphs because they were largely studied in theliterature, especially by determining their k-chromatic numbers. Therefore,they serve as a good reference by determining their b-chromatic numbers aswell. The parameters of the HSA for b-coloring were set as explained in thebeginning of the section, except the population size Np = 1,000 was used inorder to provide sufficient population diversity, and the maximum number offunction evaluations was limited to 200,000 by graphs with n = 450 and n = 500vertices, and to 300,000 by graph with n = 1,000 vertices. Note that the χ(G)in Algorithm 2 was set according to the parameter k in Table 11.

The results of the searching for a b-coloring of graphs from DIMACS chal-lenge benchmark are presented in Table 11.

G k m(G) ϕ Succ SR AES T[sec]dsjc250.5 28/? 126 50 5(20) 0.20 17,308 186.84dsjc500.1 12/? 59 25 25(0) 1.00 35,346 113.61dsjc500.5 48/? 251 84 3(22) 0.12 191,943 4,506.87

r250.5 65/65 119 92 2(23) 0.08 62,029 1,836.16dsjr500.5 122/122 234 166 18(7) 0.72 97,300 15,017.00

le450 25.c 25/25 101 45 1(24) 0.04 93,291 571.72le450 25.d 25/25 99 45 1(24) 0.04 40,132 256.42

flat300 28 0 28/28 146 55 4(21) 0.16 112,115 1,048.04flat1000 50 0 50/50 492 139 20(5) 0.80 184,350 58,427.97

Table 11 Results of HEA for b-coloring on DIMACS challenge benchmark

Table 11 consists of the following columns: G denotes a name of DIMACSgraph, k is the k-chromatic number χ(G), m(G) is the upper bound of ϕ(G)as found by HEA, Succ is in the form x(y), where x denotes the numberof successfully, while y the number of unsuccessfully runs, SR and AES areperformance measures, and T the average evaluation time in seconds.

5.3 Discussion

Typically, the HEA for graph b-coloring searches for the proper b-chromaticnumber between χ(G) ≤ ϕ(G) ≤ m(G) starting by m(G) and decreasing thevalue. If this interval of values is low the complexity of computation remainsalso low. On the other hand, when the interval of this values is high, the com-putational time becomes respectable. For instance, graph G = flat1000 50 0has m(G) = 492 while k = 50 by ϕ(G) = 139. That is, the algorithms needsto check instances from ϕ = 492 down to ϕ = 139 in order to find the properb-chromatic number. In other words, it needs to check 492 − 139 + 1 = 354instances before the desired results is found. When the maximum numberof function evaluations is limited to 300,000, the complexity of the problembecomes huge.

Therefore, the following improvements of the original algorithm are pro-posed. Instead of searching for the b-chromatic number in decreasing orderbetween χ(G) ≤ ϕ(G) ≤ m(G), we use increasing order in the same range. Inthe case of G = flat1000 50 0, only 88 instances need to be checked.

Page 18: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

18 Iztok Fister et al.

6 Conclusion

The b-chromatic number is relatively new invariant which has achieved over60 (mainly theoretical) publications since its introduction in 1999. Beside the-oretical results, there are also first practical application to medical stays inFrench hospitals (see [28]) and applications with respect to postal sortingsystem (see [31,32]). Another more theoretical reason for computing the b-chromatic number is simply that this problem is NP-hard and therefore hardto find in general. Hence, we develop a tool which delivers a lower boundfor the b-chromatic number with a hybrid evolutionary algorithm for graphb-coloring.

Another motivation for such a step is that there is quite a substantiveunbalance between b-chromatic number of regular and nonregular graphs inthe literature. Namely, b-chromatic number of a regular graph G has a niceproperty, that if we succeed to properly color just one part of a graph withm(G) colors, such that each color class contains its dominant vertex, then therest can simply be colored by greedy algorithm. This is not true for nonregulargraphs in general. Hence we wanted to have a tool which helps with nonregulargraphs as well.

Despite this fact, our main testing was focused on regular graphs, sincemuch more is known for regular graphs. In order to prove this conjecture, wechecked all d-regular graphs on at most 12 vertices for d ∈ {3,4,5,6,7} bybrute force method. This was a total success since we got exact results for allsuch graphs. As a side effect we also received somewhat surprising number ofregular graphs with ϕ(G) <m(G).

Encouraged by the success rate on regular graphs we can expect that resultsof our algorithm are close to the real values also in general. Therefore, wetested it also on some big graphs which are well known as problematic graphsfor classic chromatic number. Clearly, here we do not know if we got theexact values. For this we need to wait until some special critical graphs forb-chromatic number will be discovered.

Page 19: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 19

References

1. C. Avanthay, A. Hertz, N. Zufferey, A Variable Neighborhood Search for Graph Coloring,European Journal of Operational Research, 151: 379–388, 2003.

2. T. Back, Evolutionary algorithms in theory and practice - evolution strategies, evolu-tionary programming, genetic algorithms, Oxford University Press, 1996.

3. R. Balakrishnan, S. Francis Raj, Bounds for the b-chromatic number of G− v, DiscreteAppl. Math. 161 (2013) 1173–1179.

4. R. Balakrishnan, S. Francis Raj, T. Kavaskar, Coloring the Mycielskian, Proc. Int. Conf.ICDM (2008) 53–57.

5. D. Barth, J. Cohen, T. Faik, On the b-continuity property of graphs, Discrete Appl.Math. 155 (2007) 1761–1768.

6. I. Blochliger, N. Zufferey, A Reactive Tabu Search Using Partial Solutions for the GraphColoring Problem, In Kral D., Sgall J. (Eds.), Coloring Graphs from Lists with BoundedSize of their Union: Result from Dagstuhl Seminar 03391, 2003.

7. I. Blochliger, N. Zufferey, A graph coloring heuristic using partial solutions and a reactivetabu scheme, Computers & Operations Research, 35(3): 960–975, 2008.

8. R. Brown, A. Roli, Chromatic Scheduling and the Chromatic Number Problem, Man-agement Science, 19(4): 456–463, 1972.

9. C. Blum, J. Puchinger, G.A. Raidl, A. Roli, Hybrid metaheuristics in combinatorialoptimization: A survey, Applied Soft Computing, 11(6): 4135–4151, 2011.

10. C. Blum, A. Roli, Metaheuristics in combinatorial optimization: Overview and concep-tual comparison, ACM Computing Surveys, 35(3): 268–308, 2003.

11. J.A. Bondy, U.S.R. Murty, Graph Theory, Springer-Verlag, Berlin, 2008.12. D. Brelaz, New methods to color vertices of a graph, Communications of the ACM,

22(4): 251–256, 1979.13. J. Brest, S. Greiner, B. Boskovic, M. Mernik, V. Zumer, Self-adapting control parameters

in differential evolution: A comparative study on numerical benchmark problems, IEEETrans. Evol. Comput., 10(6): 646–657, 2006.

14. S. Cabello, M. Jakovac, On the b-chromatic number of regular graphs, Discrete Appl.Math. 159 (2011) 1303–1310.

15. M. Chams, A. Hertz, D. de Werra, Some Experiments with Simulated Annealing forcoloring graphs, European Journal of Operational Research, 32: 260–266, 1987.

16. F. Chaouche, A. Berrachedi, Some bounds for the b-chromatic number of a generalizedHamming graphs, Far East J. Appl. Math. 26 (2007) 375–391.

17. M. Chiarandini, I. Dumitrescu, T. Stutzle, Stochastic Local Search Algorithms for theGraph Colouring Problem, In Gonzalez T.F. (Ed.), Handbook of Approximation Algo-rithms and Metaheuristics, pp. 63.1–63.17, 2007.

18. M. Chiarandini, T. Stutzle, An application of Iterated Local Search to Graph Coloring,In Johnson D.S., Mehrotra A., Trick M. (Eds.), Proceedings of the ComputationalSymposium on Graph Coloring and its Generalizations, pp. 112–125, 2002.

19. S. Corteel, M. Valencia-Pabon, J-C. Vera, On approximating the b-chromatic number,Discrete Appl. Math. 146 (2005) 106–110.

20. J. Culberson, Graph Coloring Page, http://web.cs.ualberta.ca/~joe/Coloring/, Ac-cessed 20 September 2013.

21. C. Darwin, The origin of species, John Murray, London, UK, 1859.22. S. Das, P. N. Suganthan, Differential evolution: A survey of the state-of-the-art, IEEE

Trans. Evol. Comput., 15(1): 4–31, 2011.23. R. Dorne, J.K. Hao, A New Genetic Local Search Algorithm for Graph Coloring, In

Eiben A.E., Back T., Schoenauer M., Schwefel, H.P. (Eds.) Parallel Problem Solvingfrom Nature - PPSN V, 5th International Conference, pp. 745–754, 1998.

24. B. Effantin, The b-chromatic number of power graphs of complete caterpillars, J. Dis-crete Math. Sci. Cryptogr. 8 (2005) 483–502.

25. B. Effantin, H. Kheddouci, The b-chromatic number of some power graphs, DiscreteMath. Theor. Comput. Sci. 6 (2003) 45–54.

26. B. Effantin, H. Kheddouci, Exact values for the b-chromatic number of a power completek-ary tree, J. Discrete Math. Sci. Cryptogr. 8 (2005) 117–129.

Page 20: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

20 Iztok Fister et al.

27. A. E. Eiben, J. E. Smith, Introduction to Evolutionary Computing, Springer-Verlag,Berlin, 2003.

28. H. Elghazel, V. Deslandres, M.-S. Hacid, A. Dussauchoy, H. Kheddoucci, A New Clus-tering Approach for Symbolic Data and Its Validation: Application to the HealthcareData, In ISMIS 2006, LNAI 4203, F. Esposito et all (Eds.) 2006 Springer 473–482.

29. C. Fleurent, J. Ferland, Genetic and Hybrid Algorithms for Graph Coloring, Annals ofOperations Research, 63: 437–464, 1996.

30. L. J. Fogel, A. J. Owens, M. J. Walsh, Artificial Intelligence through Simulated Evolu-tion, John Wiley, New York, USA, 1966.

31. D. Gaceb, V. Eglin, F. Lebourgeois, H. Emptoz, Improvement of postal mail sortingsystem, Int. J. Document Analysis Recogn., 11 (2008) 67–80.

32. D. Gaceb, V. Eglin, F. Lebourgeois, H. Emptoz, Robust Approach of Address BlockLocalization in Business Mail by Graph Coloring, Int. Arab J. Inform. Tech. 6 (2009)221–229.

33. P. Galinier, J.-K. Hao, Hybrid Evolutionary Algorithms for Graph Coloring, J. Combin.Optim., 3(4): 379–397, 1999.

34. P. Galinier, A. Hertz, A survey of local search methods for graph coloring, Computers& Operations Research, 33: 2547–2562, 2006.

35. P. Galinier, A. Hertz, N. Zufferey, An adaptive memory algorithm for the k-coloringproblem, Discrete Applied Mathematics, 156(2): 267–279, 2008.

36. F. Glover, Future paths for integer programming and links to artificial intelligence,Computers & Operations Research, 13(5): 533-549, 1986.

37. D. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning,Addison-Wesley, MA, 1996.

38. A. Hertz, M. Plumettaz, N. Zufferey, Variable Space Search for Graph Coloring, DiscreteApplied Mathematics, 156(13): 2551–2560, 2008.

39. A. Hertz, D. de Werra, Using tabu search techniques for graph coloring, Computing,39(4): 345–351, 1987.

40. C.T. Hoang, M. Kouider, On the b-dominating coloring of graphs, Discrete Appl. Math.152 (2005) 176–186.

41. J. H. Holland, Adaptation in Natural and Artificial Systems: An Introductory Analysiswith Applications to Biology, Control and Artificial Intelligence, MIT Press, Cambridge,MA, USA, 1992.

42. E. Horowitz, S. Sahni, Fundamentals of computer algorithms, Computer Science Press,1978.

43. R.W. Irving, D.F. Manlove, The b-chromatic number of a graph, Discrete Appl. Math.91 (1999) 127–141.

44. M. Jakovac, S. Klavzar, The b-chromatic number of cubic graphs, Graphs Combin. 26(2010) 107–118.

45. M. Jakovac, I. Peterin, On the b-chromatic number of some products, Studia Sci. Math.Hungar. 49 (2012) 156–169.

46. M. Jakovac, I. Peterin, The b-chromatic index of a graph, Bull. Malays. Math. Sci. Soc.to appeare.

47. D.S. Johnson, C.R. Aragon, L.A. McGeoch, C. Schevon, Optimization by SimulatedAnnealing: An Experimental Evaluation, Part II; Graph Coloring and Number Parti-tioning, Operations Research, 39(3): 378–406, 1991.

48. D.S. Johnson, M.A. Trick, Cliques, Coloring, and Satisfiability: Second DIMACS Im-plementation Challenge, American Mathematical Society, Providence, USA, Vol. 26,1996.

49. M. Kouider, M. Maheo, Some bounds for the b-chromatic number of a graph, DiscreteMath. 256 (2002) 267–277.

50. M. Kouider, M. Maheo, The b-chromatic number of the Cartesian product of two graphs,Studia Sci. Math. Hungar. 44 (2007) 49–55.

51. M. Kouider, M. Zaker, Bounds for the b-chromatic number of some families of graphs,Discrete Math. 306 (2006) 617–623.

52. J. R. Koza, Genetic programming 2 - automatic discovery of reusable programs, MITPress, 1994.

53. J. Kratochvıl, Z. Tuza, M. Voigt, On the b-chromatic number of graphs, Lecture Notesin Comput. Sci. 2573 (2002) 310–320.

Page 21: Hybrid Evolutionary Algorithm for b-coloring - UMmp.feri.um.si/osebne/peterin/clanki/HEA for b-coloringV4.5.pdf · Hybrid Evolutionary Algorithm for b-coloring ... This is done with

Hybrid Evolutionary Algorithm for b-coloring 21

54. M. Kubale, Graph Colorings, American Mathematical Society, Rhode Island, 2004.55. F.T. Leighton, A Graph Coloring Algorithm for Large Scheduling Problems, Journal of

Research of the National Bureau of Standards, 84(6): 489–506, 1979.56. C. V. G. C. Lima, N. A. Martins, L. Sampaio, M. C. Santos, A. Silva, b-chromatic index

of graphs, manuscript 2013.57. Z. Lu, J.K. Hao, A memetic algorithm for graph coloring, European Journal of Opera-

tional Research, 1: 241–250, 2010.58. E. Malaguti, M. Monaci, P. Toth, A metaheuristic approach for the vertex coloring

problem, INFORMS Journal on Computing, 20(2): 302–316, 2008.59. E. Malaguti, P. Toth, A survey on vertex coloring problems, International Transactions

in Operational Research, 1–34, 2009.60. M. Meringer, Regular Graphs, http://www.mathe2.uni-bayreuth.de/markus/

reggraphs.html, Accessed 20 August 2013.61. E.C. Sewell, An improved algorithm for exact graph coloring, In D.S. Johnson and

M.A. Trick, editors, Cliques, Coloring, and Satisfiability: Second DIMACS Implementa-tion Challenge, volume 26 of DIMACS series in Discrete Mathematics and TheoreticalComputer Science, American Mathematical Society, pp. 359–376, 1996.

62. R. Storn, K. Price, Differential evolution–a simple and efficient heuristic for globaloptimization over continuous spaces, J. Global. Optim., 11(4): 341–359, 1997.