Variable Neighborhood Search for solving Bandwidth Coloring Problem
aa r X i v : . [ c s . D S ] M a y Variable Neighborhood Search for solving BandwidthColoring Problem
Dragan Mati´c a, ∗ , Jozef Kratica b , Vladimir Filipovi´c c a University of Banjaluka, Faculty of Mathematics and Natural Sciences, MladenaStojanovi´ca 2, 78000 Banjaluka, Bosnia and Herzegovina b Mathematical Institute of the Serbian Academy of Sciences and Arts, Belgrade, Serbia c University of Belgrade, Faculty of Mathematics, Studentski trg 16, 11000 Belgrade, Serbia
Abstract
This paper presents a variable neighborhood search (VNS) algorithm for solv-ing bandwidth coloring problem (BCP) and bandwidth multicoloring problem(BMCP). BCP and BMCP are generalizations of the well known vertex color-ing problem and they are of a great interest from both theoretical and practicalpoints of view. Presented VNS combines a shaking procedure which perturbsthe colors for an increasing number of vertices and a specific variable neighbor-hood descent (VND) procedure, based on the specially designed arrangement ofthe vertices which are the subject of re-coloring. By this approach, local searchis split in a series of disjoint procedures, enabling better choice of the verticeswhich are addressed to re-color. The experiments show that proposed methodis highly competitive with the state-of-the-art algorithms and improves 2 out of33 previous best known solutions for BMCP.
Keywords:
Bandwidth Coloring, Bandwidth MultiColoring, FrequencyAssignment, Variable Neighborhood Search, Variable Neighborhood Descent
1. Introduction
Vertex coloring problem (VCP) and its generalizations belong to a wellknown and widely researched class of graph coloring problems and thereforerepresents a major challenge for most researchers in the field of combinatorialoptimization. Various generalizations and variants of the VCP have been re-searched over the years and there are thousands of scientific papers proposingvarious methods for solving VCP and its generalizations.In VCP, one needs to color the vertices of the graph in such a way thatadjacent vertices must be colored with different colors and the aim is to mini-mize the number of used colors. During the years, as one of the most studied ∗ Corresponding author. phone/fax:+38751319142
Email addresses: [email protected] (Dragan Mati´c), [email protected] (JozefKratica)
Preprint submitted to Els September 24, 2018
P-hard combinatorial optimization problems, VCP has undergone many gen-eralizations. This paper deals with two generalizations of the VCP: bandwidthcoloring problem (BCP) and bandwidth multicoloring problem (BMCP).BCP is a straightforward generalization of the VCP, where for each twoadjacent vertices u and v the distance, d ( u, v ) is imposed and the differencebetween two colors assigned to u and v must be larger than or equal to thedefined distance. The task is to color the vertices with the smallest number ofcolors. Formally, for a graph G = ( V, E ) with positive integer distance function d ( u, v ) , ( u, v ) ∈ E , the objective of the BCP is to find the coloring c such thatfor each pair of adjacent vertices u and v , | c ( u ) − c ( v ) | ≥ d ( u, v ) and the numberof colors is minimized. Obviously, if the distance between any pair of adjacentvertices is equal to 1, the BCP is brought down to the VCP.BMCP generalizes BCP by including the multicoloring of the vertices. Foreach vertex v in the input graph a positive integer weight w ( v ) is introduced,giving the requirement how many colors must be assigned to that vertex. Addi-tionally, distance between the vertex to itself is also given, holding the conditioninherited from BCP. Formally, for a given graph G = ( V, E ) with positive inte-ger distance function d ( u, v ) , ( u, v ) ∈ E , with the condition that u can be equalto v (loops are allowed) and for the given positive integer value w ( u ), for eachvertex u ∈ V , the aim of the BMCP is to find the coloring c such that eachvertex u is colored with w ( u ) colors, for each pair of adjacent vertices u and v , | c ( u ) − c ( v ) | ≥ d ( u, v ) (including loops) and the number of colors is minimized.In a case when w ( u ) = 1 for each vertex u , BMCP is reduced to the BCP.BMCP can be converted into the BCP, by splitting each vertex v into aclique of cardinality w ( v ). Each edge in the clique is assigned the distance d ( u, u ), corresponding to the distance of the loop edge of the vertex u in theoriginal graph. By this approach, each instance of BMCP, with n vertices, istransformed to the instance of the BCP, having P ni =1 w ( i ) vertices. This factleads to the approach of constructing the algorithm for solving only the BCPwhich, after the explicit or implicit construction of the appropriate graph, canalso be applied to solve BMCP. Both BCP and BMCP are NP-hard problems,since they generalize VCP, which is NP-hard in a general case.Like many other graph - based problems, VCP and its generalizations enjoysmany practical applications.For example, it is well known that timetabling problems can be interpretedas graph coloring problems. Timetabling problems typically includes the taskof assigning timeslots to the events. In university timetabling problems, events(lectures or exams) are interpreted as vertices, constraints by edges and timeslotsby colors. According to [1], whole class of university timetabling problems canbe roughly divided into the subclasses: course timetabling problems (CTP) andexamination timetabling problems (ETP). For example, in CTP, lessons arevertices and two vertices are adjacent if corresponding lessons are taught by thesame professor. The task is to assign the timeslots to the lessons (i.e. assignthe colors to the vertices), in such a way that two lessons given by the sameprofessor must not be taught at the same time. In ETP, exams are interpretedby the vertices and two vertices are adjacent if there is at least one student2assing the both exams. If a new constraint is introduced by including therequired time distance between two exams, the coloring problem which arisesfrom this approach becomes BCP. Additional constraints can be placed on theeach vertex, for example, if one exam has to be organized for many groups ofstudents. In that case, the corresponding coloring problem is the BMCP.Recent approaches for solving timetabling problems, based on using graphcoloring techniques, involves the hybridization of the methods automated bythe hyper-heuristic methods: a generic hyper-heuristic approach of various con-structive heuristics for solving the VCP is presented in [2]. In a consecutivework [3], the authors presented a random iterative graph based hyper-heuristic,which adaptively hybridise two graph colouring heuristics at different stages ofsolution. Another recent hyper-heuristic approach [4] utilizes the hierarchicalhybridizations of four low level graph coloring heuristics: largest degree, sat-uration degree, largest colored degree and largest enrollment. A constructiveheuristic for finding a feasible timetable is recently presented in [5]. Much moreinformation and a recent general survey of graph coloring algorithms can befound in [6].An intensive grow of the usage of the wireless communication protocols, likein mobile telephony, satellite communication, wireless sensor networks, radioand TV broadcasting etc. leads to the development of various strategies ap-plied to organize and manage the frequencies of the signals: the handling ofinterference among radio signals, determining the availability of frequencies, aswell as including various optimization criteria for achieving better performancesof the overall system. The optimization problems which arises from the task ofmanaging frequencies fall in the class of so called frequency assignment problems(FAP) and according to the special needs of a concrete problem, many variantsof the FAP appears. A common feature of most of the variants includes the dis-tance constraint imposed on pairs of frequencies, in order to avoid or reduce theinterference between close communication devices. In other words, two commu-nication points which are close enough (as so can interference each other) mustbe assigned with the enough different frequencies. Without any additional con-straint, this frequency assignment problem is simply called feasible frequencyassignment problem (F-FAP) and it is obvious that this F-FAP corresponds tothe finding of feasible coloring of the corresponding graph.In connection with FAP problems, Hale [7] introduced so called T-coloringof the graph. For a given graph G = ( V, E ) and for each edge { u, v } ∈ E ,we associate a set T u,v of nonnegative integers, containing 0. A T-coloring of G is a function (an assignment) c : V ( G ) → N of colors to each vertex of G , so that if u and v are adjacent in G , then | c ( u ) − c ( v ) | is not in T i,j . Insimple words, the distance between two colors of adjacent vertices must notbelong to the associated set T. The span of a T-coloring c is the differencebetween the smallest and the highest color in c . The optimization version of T-coloring is finding the minimum span of all possible T - colorings. It is obvious if T u,v = { } for each edge { u, v } , then problem becomes VCP. A generalization ofT-coloring is a set T-coloring problem [8], which introduces the multiple coloringof vertices in the graph. For each vertex v , the set T-coloring problem includes3he assignment of a nonnegative integer δ v , providing the information how manycolors need to be assigned to v . Also, for each vertex v a set T v,v is introduced.The constraints for each pair of adjacent vertices, previously introduced in T-coloring problem are extended with the constraints related to each vertex v :the distance of any two numbers (colors) assigned to v must not be in T v,v .BCP is a restriction of T-coloring, where the constraint on adjacent vertices isreplaced by the proper condition of BCP: | c ( u ) − c ( v ) | ≥ t ( u, v ), where t ( u, v )is a numerical value. Similarly, BMCP can be considered as an instance of theset T-coloring problem, where the set T v,v is replaced by the numerical value,corresponding to d ( v, v ). A survey of the results and problems concerning withT-colorings can be found in [9].According to the other special needs of a concrete problem, various subprob-lems of FAP can arise [10]: • The Maximum Service (Max-FAP) and Minimum Blocking Frequency As-signment Problems (MB-FAP) : if feasible solutions to the F-FAP are notavailable or are difficult to find, a partial solution that assigns as manyfrequencies as possible to the vertices can be considered. This problem issimilar with registry allocation problem. • The Minimum Order FAP (MO-FAP): Frequencies are assigned in such away that no unacceptable interference occurs, and the number of differentused frequencies is minimized. This problem is a direct generalization ofthe graph coloring problem. • The Minimum Interference Frequency Assignment Problem (MI-FAP): fre-quencies from a limited number of available frequencies are assigned insuch a way that the total sum of weighted interference is minimized; infact in this problem, we minimize the sum of the penalties incurred by thefrequency choices • The Minimum Span Frequency Assignment Problem (MS-FAP): the prob-lem is to assign frequencies in such a way that the interference betweenthe points is avoided, and the difference between the maximum and min-imum used frequency, the span, is minimized. This problem is equivalentto the BCP. In a case when the feature that one point is to be assignedwith more than one frequency, the problem becomes the BMCP. • Other variants with some additional constraintsMore applications, as well as other discussions considering graph coloringand its generalizations is out of the paper’s scope and can be found for examplein [6, 11, 12].The rest of this paper is organized as follows. The next section recapitu-lates previous work regarding BCP and BMCP. VNS approach is described indetails in the section 3. Section 4 contains experimental results obtained on theinstances from the literature, while the last section contains conclusions andfuture work. 4 . Previous work on solving BCP and BMCP
As stated above, BCP and BMCP, as well as MS-FAP has been intensivelysolved by a large number of successful methods. In 2002, in order to encour-age research on computational methods for solving graph coloring problems, a”Computational Symposium on graph coloring and its generalization” was or-ganized. The Symposium included the following topics: exact algorithms andheuristic approaches for solving the graph coloring problems, applications andinstance generation, as well as methods for algorithm comparison [13]. In or-der to make a fair comparison of the proposed methods, for testing the solvingthe bandwidth (edge weights) multicoloring (node weights) or both graph col-oring problems, a standard set of test instances was suggested. This set is alsoused in this paper. At the Symposium, several successful heuristic methodswere proposed. A problem-independent heuristic implementation called Dis-cropt, designed for ”black box optimization”, was adapted to graph coloringproblems and provided a good test of the flexibility of the system [14]. Atthe same symposium, Prestwitch ([15]) proposed a heuristic based on the hy-bridization of local search and constraint propagation. In the consecutive con-tribution [16], the author extended his previous work by adding the constraintprogramming technique of forward checking in order to prune the colourationneighbourhoods. Hybrid methods using a squeaky-wheel optimization, com-bined with hill-climbing and with tabu heuristic, were described in [17] and[18]. Chiarandini et al. in [19] presented an experimental study of local searchalgorithms for solving general and large size instances of the set T -colouringproblem.Malaguti and Toth ([20]) proposed a successful method for solving BCP andBMCP, which combines an evolutionary algorithm with a tabu search procedure.Like the method used in [18], Malaguti and Toth’s algorithm starts with theconstruction of an initial solution with a greedy approach. After that, it triesto improve the starting solution by reducing by one unit the number of colorsused. Marti et al. [21] proposed the memory-based and memory-less methodsto solve the bandwidth colouring problem, based on tabu search and GRASP.Paper presented by Lai and L¨u [22] uses Multistart iterated tabu search (MITS)algorithm, which integrates an iterated tabu search with multistart methodand a problem specific operator designed for the perturbation. This methoduses previous known best results as a starting result and tries to improve it bydecreasing it by one, repeating this process until no legal coloring can be found.The tabu search proposed in [22] is successfully combined with a path relinkingalgorithm (paper available at ArXiv [23]). Computational results demonstratethat the proposed algorithm outperforms previous methods, improving 15 out of66 instances and matches 47 previous best known results. Lastly, a very recentwork presented by Jin and Hao [24] uses a learning-based hybrid search forsolving BCP and BMCP. The algorithm firstly builds feasible partial colorings,which are further improved in a local search phase. In the construction phase, alearning-based guiding is used to determine the next vertex for color assignment,while in the local search phase tabu search technique is used to repair the5olution. This approach further improves the best solutions for 14 commonused instances.From the last paragraph it is evident that in recent years the BCP andBMCP have been intensively solved by many highly efficient heuristics. As aconsequence, the solutions for the benchmark data got by these methods are ofa very high quality. In the next section, we describe the variable neighborhoodsearch, which can further improve two of these intensively solved benchmarkinstances.
3. VNS for solving BCP and BMCP
This section presents the VNS for solving BCP and BMCP. Recall that eachBMCP instance is implicitly transformed to an instance of BCP, by replacingeach vertex v of the weight w ( v ), by the clique of the size w ( v ). Therefore, onlythe algorithm for solving BCP is described, but it is also applied on the BMCP,after the mentioned transformation of the instances.Variable Neighborhood Search (VNS) algorithm was originally described byMladenovi´c and Hansen ([25, 26]). In recent years, VNS has been proven asa very effective and adoptable metaheuristic, used for solving a wide range ofcomplex optimization problems. The basic strategy of the VNS is to focus theinvestigation of the solutions which belong to some neighborhood of the currentbest one. In order to avoid being trapped in local suboptimal solutions, VNSchanges the neighborhoods, directing the search in the promising and unexploredareas. By this systematic change of neighborhoods, VNS iteratively examines asequence of neighbors of the current best solution, following the approach thatmultiple local optima are often in a kind of correlation, holding the ’good parts’of the current best solution and trying to improve the rest of it.Many successful implementations of the standard VNS, as well as its manyvariants, prove that this successive investigation of the quality of the currentsolution’s neighbors can lead to better overall solutions. Standard VNS usuallyimposes two main procedures: shaking and local search (LS). Shaking proceduremanages the overall system of the neighborhoods and in each iteration suggestsa new point (potential solution) from the current neighborhood. In order tobetter widen the search, shaking procedure often uses the neighborhoods of thedifferent cardinality. More precisely, for the given numbers k min and k max ,a system of neighborhoods N k min , N k min +1 , ..., N k max is constructed. For eachvalue k ∈ [ k min , k max ], a (usually random) solution from the neighborhood N k is chosen, which is the subject of further possible improvement inside the LSprocedure.LS is trying to improve the suggested solution, by investigating the othersolutions in its neighborhood, usually formed by some minor changes of it.Local search is usually implemented by using either best improving strategyor first improving strategy. While in the best improving strategy local searchinvestigates all neighbors, keeping the current best one as a new solution, thefirst improving strategy stops when the first improving neighbor is found.6n the proposed VNS, we enhance the basic LS approach by ”splitting”the local search in a disjoint union of smaller ones, enabling the algorithm to”switch” between different neighborhoods inside the LS procedure. The currentneighborhood is analysed until the solution is improved. If so, it is restartingfrom the first neighborhood, otherwise, goes into the next one. This approachrequires the introduction of a specific variable neighborhood descent (VND)procedure which manages the examination of the neighborhoods, allowing thealgorithm to firstly analyse the best suitable one. The description of the VNDis in details explained in the section 3.4.The optimization process of the VNS algorithm finishes when the stoppingcriterion is achieved, usually given by the maximum number of iterations ormaximum time allowed for the execution and the latter is the case in this paper.Some recent successful implementation of the VNS using the VND approachcan be found for example in [27, 28, 29].The overall VNS algorithm is shown on the figure 1. The algorithm inputsthe following data: distance constraint matrix, values k min and k max , denotingthe minimal and maximal neighborhood structures, time max - maximal allowedexecution time and the value p move , representing the probability of shiftingfrom one solution to another, in a case of equal objective functions. After thedata input, VNS starts with a greedy heuristic (described in the subsection 3.1),which gives the upper bound ( U B ) for the total number of colors. After the
U B is determined, the initial value of k ∗ is set to U B (legal coloring with
U B colors),and the starting solution of the VNS is constructed by the procedure Init().Initial solution uses one color less than the value
U B . This procedure, togetherwith the objective function, is described in the subsection 3.2. The minimizationprocess is performed in the shaking procedure (subsection 3.3) and the VNDprocedure, which is, together with the Compare procedure described in thesubsection 3.4. During the minimization process inside the VND procedure thealgorithm is trying to improve the solution to the feasible one. If this situationhappens, the value k ∗ is decreased by one, that legal coloring is rememberedand the algorithm repeats the search process by decreasing the total number ofcolors. The algorithm stops when the maximum execution time is reached. Theresult of the algorithm is the value k ∗ , i.e. the k ∗ -coloring of the given graph. Before the minimization process is started, an initial solution (legal k -coloring,for some k ) needs to be constructed. Our algorithm uses the greedy approachsimilar to the greedy algorithm used and minutely described in [18, 30]. Thisgreedy algorithm takes a sequence of ’split nodes’, greedily assigning colors tothem. For each node a set of ’forbidden’ colors is firstly formed and after thatthe algorithm chooses the smallest color not belonging to that set.In the literature, other approaches for getting starting solutions are alsoused. For example, Malaguti and Toth in [20], considered several greedy algo-rithms proposed for solving VCP: sequential greedy algorithm (SEQ), as well asanother greedy approach - DSATUR from [31], similar to SEQ, but one whichdynamically chooses the vertex to color next, i.e. the one which minimizes a7 ata : Graph, Distance constraint matrix, k min , k max , time max , p move Result : number k ∗ xs ← GreedyHeuristic(); x ← RemoveLastColor( xs ); k ← k min ; while time < time max do x ′ =Shaking( x, k ); x ′′ =VND( x , x ′ ); if Compare( x ′′ , x, p move ) then x ← x ′′ ; elseif k < k max then k ← k + 1; else k ← k min ; endendend Figure 1: VNS pseudocode given score. In order to fast compute an initial upper bound, Malaguti and Tothperformed 20 runs of the greedy algorithm SEQ.Malaguti and Toth’s greedy approach in most case instances achieves better(lower) upper bounds than the greedy algorithm we took from [30], but theexperiments indicate that presented VNS easily decrease those (higher) upperbounds. Therefore, using slightly greater starting values of k could not signifi-cantly aggravate the overall optimization process. The exceptions of this ”rule”can appear in some cases of small instances, where Malaguti and Toth’s greedyalgorithm achieves nearly best known solutions, so iteration process needs todecrease the upper bound only for few values. In these cases, our algorithmneeds some more time, since it starts with higher upper bounds.In the most recent papers ([22, 23, 24]), a constructive heuristic is not used.The proposed algorithms simply start with the best known values of k from theliterature as the starting values and try to construct the feasible k -coloring. Ifsucceeds, i.e. the legal k -coloring is found, the algorithms decrease the value k by 1 and try to find the k − .2. The initialization and the objective function For the given graph G = ( V, E ), the solution is represented by an integerarray of the dimension n, n = | V | . After the upper bound ( U B ) is determinedby the greedy approach, the VNS starts with the constructing the initial so-lution. Each vertex is randomly colored by a color chosen from the interval[1 , U B − i and j for which a conflict appears) but also the ”degree” of each conflict, i.e.the difference between the given distance and the distance between two assignedcolors. Similar approach can also be seen for example in [22, 30].For the given solution x , represented by the array [ c (1) , c (2) , ..., c ( n )], where c ( i ) , i = 1 ..n is the color assigned to the vertex i , the objective function Calcu-late() is defined as follows: Calculate ( x ) = X { i,j }∈ E max { , d ( i, j ) − | c ( i ) − c ( j ) |} (1)where d ( i, j ) is the given distance between the vertices i and j . From theequation 1 it can be seen that the infeasible solutions are penalized by increasingthe value of the objective function, if the distance conflicts appear. In a casewhen there are no distance conflicts, the objective function is equal to 0 and inthat case the solution is feasible i.e. the legal coloring is found. Additionallyto the calculating the objective function, in the procedure Calculate() for eachvertex v we remember the value conf licts ( v ) containing the value of distanceconflicts of v . More precisely, this value is calculated by the formula: conf licts ( v ) = X j : { v,j }∈ E max { , d ( v, j ) − | c ( v ) − c ( j ) |} (2)These values, obtained for each vertex v ∈ V , take places for the arrangementof the vertices, performed inside the VND procedure. The shaking procedure creates a new solution x ′ , ( x ′ ∈ N k ( x )), which isbased on the current best solution x .In order to define the k -th neighborhood we use the following procedure.Some k vertices from V are chosen randomly and for each chosen vertex, thecolor is randomly changed to some other color from the interval [1 , max color ],where max color is the maximal color used in the coloring. The solution x ′ ,formed in the described way is the subject of the further improvements in theVND.In the algorithm, the value k min is set to 2. Experiments show that thealgorithm achieves best performances for k max = 20.9 .4. Variable neighborhood descent After the solution x ′ is obtained by the shaking procedure, a series of specialdesigned local search procedures is called. In each call, the ordering of vertices,which are the subject of change in the VND procedure, is determined. Thisordering enables the vertices with more conflicts to earlier become the subjectof improvement. This number of conflicts is calculated for each vertex each timewhen the function Calculate() is called (see the subsection 3.2). This strategyavoids the unnecessary steps in the local search, by increasing the probabilitythat the solution will be earlier improved if the ”worse” vertices are consideredfirst, rather than if the vertices are considered sequentially without ordering. Atthe other hand, experiments show that this criterion is not enough for gettinga quality ordering, since many vertices, after a few iterations, have the samenumber of conflicts (in the sense of the value conf licts ( v )). So, additionalcriteria are involved. Firstly, we started from the fact that the colors used inBCP are not equal among themselves (like in the case of VCP). In fact, thecolors which are closer to the middle of the interval [1 , nc ] ( nc is total numberof used colors) are harder to be replaced by another, comparing to the colorsfar off-the middle. So, if two vertices u and v have the same number of conflicts( conf licts ( u ) = conf licts ( v )), we firstly choose u if | nc/ − c ( u ) | < | nc/ − c ( v ) | ,otherwise we firstly choose v .In order to further improve the behaviour of the VND, we involve one ad-ditional criterion for the arrangement of the vertices, in cases when first twocriteria do not make any difference between vertices. The third criterion isbased on two components: for each vertex v we calculate the value weights ( v ),as the sum of the weights (distances) of the edges incident with v . Addition-ally, for the vertex v , we take into account the maximal edge weight (dis-tance) for the vertex v ( maxw ( v )). Finally, the third criterion is calculatedby the geometric mean of these two values, i.e. in cases when first two cri-teria do not determine the priority, the vertex u is chosen before the vertex v if p weights ( u ) · maxw ( u ) > p weights ( v ) · maxw ( v ). Otherwise, the VNDfirstly choose v . Although the third criterion influence on the ordering relativelyrarely, the experiments show that it refines the ordering of vertices in a gooddirection and improves the overall VND.Beside the main experiments described in the sections 4.1 and 4.2, in orderto justify the usage of these three criteria, additional experiments are performed.In the experiments (described in the section 4.3), various combinations of thementioned criteria are considered. The obtained results indicate that the ap-proach of using all three criteria generally provides better results than variantsin which some of these criteria are omitted.The pseudocode of the VND procedure is shown in the figure 2.After the objective function for the solution x ′′ is calculated by the functionObjF() and the array of vertices is arranged by using the mentioned criteria, theVND iteratively chooses the vertices from that array. For the selected vertex v ,the VND is trying to find ”better” color in the following way. If the vertex v iscurrently colored by the color c ( v ), we first ”uncolor” that vertex, also removing10 ata : x , x ′ impr ← true ; x ′′ ← x ′ ; while impr do impr ← f alse ; objval ← ObjF( x ′′ ); vertices ← qsort( vertices , criteria ); foreach vertex v ∈ vertices do uncolor( v );remove conflicts( x ′′ , v ); foreach color c do recolor( v , c );calculate new conflicts( x ′′ ); end x ′′ t = find best recoloring( x ′′ ); if (ObjF( x ′′ t )==0) then //feasible coloring is found; x ′′ ← x ′′ t ; impr ← true ; xs ← x ′′ t ; k ∗ ← max color( x ′′ t );remove last color( x ′′ ); elseif (ObjF( x ′′ t ) < objval ) then //improvement happened; x ′′ ← x ′′ t ; impr ← true ; objval = ObjF( x ′′ t ); endendendend Figure 2: VND pseudocode v . It should be notedthat we do not need to calculate the objective function from the beginning, sinceonly conflicts related to the chosen vertex influence on the total sum. Therefore,after only these conflicts are removed, we iteratively color the vertex v by allother colors, trying to find better coloring. Simultaneously, we calculate the newconflicts, which appear by new coloring and remember these values (conflicts).After we tried all the colors for the vertex v , we choose the one, which generatesthe least total sum of conflicts. In that way, we get a new temporary solution x ′′ t and three possibilities can happen: • The objective value of x ′′ t is equal to 0: That means that the VND wastotally successful and not just improved the objective value, but gave thefeasible coloring with the less number of colors than the previous bestone. In this case, we remember that coloring, set xs = x ′′ t and continuethe search as follows: we set up a new current solution x ′′ = x ′′ t and replacethe maximal color in x ′′ by some other, randomly chosen color. The VND,i.e. the improvement process is then applied again on the current x ′′ andthe next vertex. It should be noted that if this case happen, the maximumnumber of colors may be decreased by more than one in one such step. • The objective value of x ′′ t is greater than 0, but still less than the startingone: we hold the changes arisen in the current step (we set x ′′ = x ′′ t ) andcontinue the VND with the next vertex. • The objective value of x ′′ t is greater or equal than the starting one: wecontinue the VND with x ′′ and the next vertex, without any change.The VND finishes when no more improvements can be done and the algorithmanalysis the results of the VND in the procedure Compare: In cases whennumber of colors used in the solution x ′′ is less than in the solution x , or if theobjective value of x ′′ is less than of the x , the currently best solution x gets thevalue x ′′ . If the objective values of the two solutions x and x ′′ are the same,then x = x ′′ is set with probability p move and the algorithm continues the searchwith the same neighborhood. In all other cases, the search is repeated with thesame x and the next neighborhood.Although some VNS implementation allows low values of p move , even p move =0 (see for example [32]), the experiments indicate that the proposed algorithmfor solving BCP achieves best performances for the value p move = 0 .
5. This canbe explained by the integer nature of the objective function and the fact thatthere is a huge number of solutions with the same objective value (especiallywhen the objective value is decreased to 1). In general, higher values of p move increase the probability of the appearance of cycles. For the value p move = 0 . l is equal to 0 . l andit is rather low, even for the smaller values of l .12 . Experimental results This section presents the experimental results, which show the effectivenessof the proposed VNS. All the tests are carried out on the Intel i7-4770 [email protected] GHz with 8 GB RAM and Windows 7 operating system. For each ex-ecution, only one thread/processor is used. The VNS is implemented in Cprogramming language and compiled with Visual Studio 2010 compiler.For all experiments we used standard set of GEOM instances, which con-sists of 33 geometric graphs generated by Michael Trick, available in [13]. Ineach GEOM instance, points are generated in a 10,000 by 10,000 grid and areconnected by an edge if they are close enough together. Edge weights are in-versely proportional to the distance between vertices, which simulates the realsituations where closer adjacent vertices stronger interference each other. Thisset contains three types of graphs: for each dimension, one sparse (GEOMn)and two denser graphs (GEOMna and GEOMnb) are given. The instances areoriginally generated for BCP, but they are also transformed for solving BMCP,by introducing the weights of vertices. For BMCP, vertex weights are uniformlyrandomly generated, between 1 and 10 for sets GEOMn and GEOMna, andbetween 1 and 3 for set GEOMnb.Since there are several state-of-the-art algorithms in the literature, we couldnot establish a unique set of algorithm parameters to make a complete fair com-parison to all these methods. Anyway, we decided to follow similar conditionsfrom the most recent and most successful approaches [20, 22, 23, 24]. To checkthe speed of the our computer CPU, we used a standard benchmark program(dfmax), together with a benchmark instance (R500.5) also used in the referenceworks. For this instance, we report the computing time of 8 seconds, which issimilar to the times reported in other recent works. Similar to the approachin [23], we set the timeout limits to 2 hours for BCP instances and 4 hours forMBCP instances. The algorithm stops if it cannot solve the coloring within thetime limit. For each instance, we performed 30 independent executions, whichis also the case in [22].
This section reports the experimental results obtained on the first set ofinstances, related to the BCP problem. Table 1 provide the results obtainedby the presented VNS. The data in the table are organized as follows: firstthree columns contain the instance name, number of vertices ( | V | ) and numberof edges ( | E | ). The fourth column contain the best known result from theliterature. The next five columns contain data related to the VNS: column( k ∗ ) contains the best found result, the average result (column avg ) obtainedin 30 runs, the total average execution time in seconds needed to achieve thepresented best result (column time ), the hit rate ( N hit ), as well as the column( k ∗ − best ), which contains the difference between the best result obtained by theVNS and the previous best-known result from the literature. A new best resultis marked in bold. From the Table 1, it can be seen that for the most of thesmaller instances up to 60 vertices, the proposed VNS algorithm achieves best13 able 1: Results of the VNS obtained on BCP instances
Instance | V | | E | best k ∗ avg time[s] Nhit k ∗ − best
GEOM20 20 40 20 21 21 0.00643 30/30 1GEOM20a 20 57 20 20 20 0.01507 30/30 0GEOM20b 20 52 13 13 13 0.0053 30/30 0GEOM30 30 80 27 28 28 0.01023 30/30 1GEOM30a 30 111 27 27 27 0.086 30/30 0GEOM30b 30 111 26 26 26 0.00817 30/30 0GEOM40 40 118 27 28 28 0.01657 30/30 1GEOM40a 40 186 37 37 37 1.21 30/30 0GEOM40b 40 197 33 33 33 2.9218 30/30 0GEOM50 50 177 28 28 28 0.03407 30/30 0GEOM50a 50 288 50 50 50 4.2695 30/30 0GEOM50b 50 299 35 35 35.0333333 716.35247 29/30 0GEOM60 60 245 33 33 33 0.15027 30/30 0GEOM60a 60 399 50 50 50 23.6351 30/30 0GEOM60b 60 426 41 41 41.8 6430.65223 7/30 0GEOM70 70 337 38 38 38 0.32483 30/30 0GEOM70a 70 529 61 61 61.0666667 1513.0634 28/30 0GEOM70b 70 558 47 48 49.2333333 7702.62073 2/30 1GEOM80 80 429 41 41 41 2.59037 30/30 0GEOM80a 80 692 63 63 63.3666667 3487.41707 21/30 0GEOM80b 80 743 60 60 61.8666667 7851.79623 2/30 0GEOM90 90 531 46 46 46 1.5592 30/30 0GEOM90a 90 879 63 63 64.1333333 8082.11243 5/30 0GEOM90b 90 950 69 71 72.7 7627.29127 4/30 2GEOM100 100 647 50 50 50 320.8932 30/30 0GEOM100a 100 1092 67 68 69.5666667 8227.2824 4/30 1GEOM100b 100 1150 72 73 75.3666667 7945.8779 4/30 1GEOM110 110 748 50 50 50.0333333 943.76663 29/30 0GEOM110a 110 1317 71 71 72.6333333 9152.86497 2/30 0GEOM110b 110 1366 77 79 81.0666667 8829.13587 2/30 2GEOM120 120 893 59 59 59.0333333 615.18443 29/30 0GEOM120a 120 1554 82 82 84.2666667 9112.61543 2/30 0GEOM120b 120 1611 84 86 87.9333333 9159.90177 2/30 2 known solutions, with the exception of three instances, for which in [14] betterresults were reported. It should be mentioned that other state-of-art algorithmscould not achieve these results from [14] either. Since heuristic methods donot guarantee the optimality of the obtained solutions, it could be interestingif an exact method appears to check these three solutions. For the rest of theinstances (total of 18 middle and larger instances), VNS achieves 12 best resultsand in 6 out of 18 cases VNS is not able to reach previously best-known solutionfrom the literature.The proposed VNS solves the sparse graphs (GEOMn) easier than the denseones (GEOMna and GEOMnb). From the column N hit , it can bee seen that theratio between the number of runs of the VNS when the previously best-knownsolution is reached and the total number of runs (30) is rather high for sparsegraphs.Table 2 describes the comparison of our approach to the state-of-the-artmethods. The data are organized as follows: The first column contain the in-stance name. The rest of the table contain data related to the approaches: thebest result of the Discropt general heuristics (DGH) presented by Phan andSkiena [14] (the execution time is not reported), Prestwich’s forward checkingcolouration neighborhood search (FCNS) from [16], Malaguti and Toth’s evolu-tionary algorithm (EA) from [20], the MITS algorithm presented by Lai and Lufrom [22], path relinking (PR) algorithm from [23] and learning hybrid-basedsearch (LHS) from [24]. All these results are extracted from [24]. Last threecolumns contain best results, the execution times for the proposed VNS and thedifference between best VNS and previous best known result. It should be notedthat the execution times are very different and are not reasonable comparable,14ince the algorithms achieve different k - colorings and the algorithms were runon the machines with different CPU speeds. Table 2:
Comparison of the proposed VNS algorithm to other reference works on BCPinstances
DGH [14] FCNS [16] EA [20] MITS [22] PR [23] LHS [24] VNSInstance best k k time[s] time[s] k time[s] k time[s] k time[s] k ∗ time[s] diffGEOM20 20 20 21 0 21 0 - - 21 0 21 0 21 0.00643 1GEOM20a 20 20 20 0 20 0 20 0 20 0 20 0 20 0.01507 0GEOM20b 13 13 13 0 13 0 13 0 13 0 13 0 13 0.0053 0GEOM30 27 27 28 0 28 0 - - 28 0 28 0 28 0.01023 1GEOM30a 27 27 27 0 27 0 27 0 27 0 27 0 27 0.086 0GEOM30b 26 26 26 0 26 0 26 0 26 0 26 0 26 0.00817 0GEOM40 27 27 28 0 28 0 - - 28 0 28 0 28 0.01657 1GEOM40a 37 38 37 0 37 0 37 0 37 0 37 0 37 1.21 0GEOM40b 33 36 33 0 33 0 33 0 33 0 33 0 33 2.9218 0GEOM50 28 29 28 0 28 0 28 0 28 0 28 0 28 0.03407 0GEOM50a 50 54 50 2 50 0 50 0 50 0 50 0.1 50 4.2695 0GEOM50b 35 40 35 0 35 0 35 3 35 1 35 1.2 35 716.35247 0GEOM60 33 34 33 0 33 0 33 0 33 0 33 0 33 0.15027 0GEOM60a 50 54 50 1 50 0 50 1 50 0 50 0.1 50 23.6351 0GEOM60b 41 47 43 0 41 29 41 277 41 105 41 214.7 41 6430.65223 0GEOM70 38 40 38 0 38 0 38 0 38 0 38 0 38 0.32483 0GEOM70a 61 64 62 2 61 12 61 45 61 47 61 23.7 61 1513.0634 0GEOM70b 47 54 48 1 48 52 47 8685 47 6678 47 665.4 48 7702.62073 1GEOM80 41 44 41 0 41 0 41 0 41 0 41 0.1 41 2.59037 0GEOM80a 63 69 63 12 63 150 63 21 63 12 63 6.6 63 3487.41707 0GEOM80b 60 70 61 0 60 145 60 322 60 191 60 19.9 60 7851.79623 0GEOM90 46 48 46 3 46 0 46 0 46 0 46 0 46 1.5592 0GEOM90a 63 74 64 2 63 150 63 230 63 191 63 23.8 63 8082.11243 0GEOM90b 69 83 72 2 70 1031 69 20144 69 23560 69 779.2 71 7627.29127 2GEOM100 50 55 50 0 50 2 50 2 50 2 50 1 50 320.8932 0GEOM100a 67 84 68 9 68 273 67 11407 67 5556 67 1557.4 68 8227.2824 1GEOM100b 71 87 73 15 73 597 72 24561 72 41832 71 2038.6 73 7945.8779 2GEOM110 50 59 50 4 50 3 50 2 50 5 50 1.3 50 943.76663 0GEOM110a 71 88 73 7 72 171 72 1529 71 5140 71 2218.7 71 9152.86497 0GEOM110b 77 87 79 2 78 676 78 24416 78 18136 77 2598.7 79 8829.13587 2GEOM120 59 67 60 4 59 0 59 1 59 2 59 0.5 59 615.18443 0GEOM120a 82 101 84 4 84 614 82 34176 82 62876 82 171.1 82 9112.61543 0GEOM120b 84 103 86 9 84 857 - - 85 66301 84 3568.7 86 9159.90177 2 From the Table 2, it can be seen that the VNS algorithm is competitivewith other methods. VNS achieves total of 24 previous best-known solutions.It is evident that the results achieved by older methods from [14] and [16] areimproved by the newer ones, with the exception of three small instances, forwhich the best results are reported in [14]. The VNS and EA from [20] give28 same best results, in 3 cases EA is better and VNS is better in two cases.Comparing to the MITS from [22], for VNS and MITS 23 equal best results arereported, in 5 cases MITS is better, in one case VNS is better. In four cases,no solution is reported in [22]. VNS achieve 27 same solutions as the two mostrecent methods PR and LHS, and in 6 cases PR and LHS are better than VNS.
Algorithm developed for BCP instances can also be applied for solvingBMCP, after the implicit transformation of each BMCP to BCP instance. Fromthe experimental results presented in this section we see that our VNS achievemany previously known best known results and two new best ones.Table 3 provides the results obtained on BMCP instances. The Table 3 isorganized similar to the case of BCP instances: first four columns contain theinstance name, number of vertices ( | V | ) and number of edges ( | E | ) and the bestknown result from the literature. The next five columns contain data related tothe VNS: column ( k ∗ ) contains the best found result, the average result (column avg ) obtained in 30 runs, the total average execution time in seconds needed to15 able 3: Results of the VNS obtained on BMCP instances
Instance | V | | E | best k ∗ avg time[s] Nhit k ∗ − best
GEOM20 20 40 149 149 149 54.2701 30/30 0GEOM20a 20 57 169 169 169 3289.39977 30/30 0GEOM20b 20 52 44 44 44 0.02153 30/30 0GEOM30 30 80 160 160 160 5.7033 30/30 0GEOM30a 30 111 209 209 209 4123.7125 30/30 0GEOM30b 30 111 77 77 77 1.2923 30/30 0GEOM40 40 118 167 167 167.0333333 2107.13567 29/30 0GEOM40a 40 186 213 213 214.1666667 13192.2284 5/30 0GEOM40b 40 197 74 74 74.0333333 1821.8568 29/30 0GEOM50 50 177 224 224 224.1 1671.3315 27/30 0GEOM50a 50 288 311 311 314.2333333 21685.93933 2/30 0GEOM50b 50 299 83 83 84.2 14260.65607 5/30 0GEOM60 60 245 258 258 258.4333333 5780.4842 19/30 0GEOM60a 60 399 353 353 355.3 23989.30317 2/30 0GEOM60b 60 426 113 114 115.7 16381.0242 2/30 1GEOM70 70 337 266 267 267.7 12384.2772 14/30 1GEOM70a 70 529 465 achieve the presented best result (column time ), the hit rate ( N hit ), as well asthe column ( k ∗ − best ), which contains the difference between the best resultobtained by the VNS and the previous best-known result from the literature.In column k ∗ , new best results are marked in bold.Data in Table 3 indicate that VNS achieves 21 best known results and in2 cases VNS obtains new best results. In 10 cases, VNS could achieve resultsclose to the best ones. For all smaller BMCP instances (up to 50 vertices), VNSobtains all previous best-known results, with a relatively high hit rate for mostof them. VNS achieves 2 new best results, for two middle instances GEOM70aand GEOM80a. For 9 large-sized instances, (100-120 vertices), VNS achievespreviously known best results in 4 cases and in 5 cases VNS achieves nearly bestresults.Table 4 shows the comparative results obtained by the state-of-the-art meth-ods from the literature and the proposed VNS. The first column of the tablecontains the instance name. The next five blocks of two columns contain bestresults and execution times of the five recent and most successful methods fromthe literature: FCNS [16] by Prestwich, Malaguti and Toth’s EA from [20],the MITS algorithm from [22] presented by Lai and Lu, path relinking (PR)algorithm from [23] and learning hybrid-based search (LHS) from [24]. Likein the case of BCP, all these results are also extracted from [24]. Last threecolumns contain best results, the execution times for the proposed VNS and thedifference between best VNS and previous best-known results.From the Table 4 it can be seen that FCNS, EA, MITS and PR could achievemost of the best known solutions for small instances up to 50 vertices, and LHSand VNS achieve all of the best known solutions for small instances. MITS and16 able 4: Comparison of the proposed VNS algorithm to other reference works on BMCPinstances [16] [20] [22] [23] [24] VNSInstance best k time k time k time k time k time k ∗ time[s] diffGEOM20 149 149 4 149 18 149 2 149 1 149 1.8 149 54.2701 0GEOM20a 169 170 2 169 9 169 15 169 7 169 0.5 169 3289.39977 0GEOM20b 44 44 0 44 5 44 0 44 0 44 0 44 0.02153 0GEOM30 160 160 0 160 1 160 0 160 0 160 0.1 160 5.7033 0GEOM30a 209 214 11 210 954 209 10 209 26 209 16.2 209 4123.7125 0GEOM30b 77 77 0 77 0 77 0 77 0 77 0 77 1.2923 0GEOM40 167 167 1 167 20 167 0 167 1 167 0.2 167 2107.13567 0GEOM40a 213 217 299 214 393 213 328 213 133 213 9 213 13192.2284 0GEOM40b 74 74 4 74 1 74 2 74 4 74 1.5 74 1821.8568 0GEOM50 224 224 1 224 1197 224 8 224 2 224 0.3 224 1671.3315 0GEOM50a 311 323 51 316 4675 314 40373 312 270860 311 1452.6 311 21685.93933 0GEOM50b 83 86 1 83 197 83 1200 83 723 83 72.1 83 14260.65607 0GEOM60 258 258 77 258 139 258 19 258 23 258 1.3 258 5780.4842 0GEOM60a 353 373 10 357 8706 356 38570 354 34580 353 9007.1 353 23989.30317 0GEOM60b 113 116 12 115 460 113 104711 113 63579 113 910.7 114 16381.0242 1GEOM70 266 277 641 272 1413 270 7602 266 130844 266 2534 267 12384.2772 1GEOM70a 465 482 315 473 988 467 38759 466 6952 465 36604.9 PR fails to achieve best known solution only for one small instance (GEOM50a).For the middle-size instances (60 to 90 vertices), the situation is slightlydifferent; FCNS and EA could achieve only one best known solution (instanceGEOM60), while MITS could achieve two best known solutions for two instanceswith 60 vertices. For other middle-size instances, MITS achieves nearly bestknown solutions. For this class of instances, PR could achieve 6 best knownsolutions and in other cases is close to the best ones. LHS achieves all bestknown solutions except in ten cases and in two cases close to the best ones.VNS achieves five best known solutions, in five cases VNS achieve solutionsclose to the best ones and in two cases VNS finds new best solutions.For the large-size instances, PR could not find any best known solution, whileEA and MITS achieve only one best known solution. PR achieves four bestknown solutions and for other large-size instances achieve solutions relativelyclose to the best ones. While LHS achieves all best knows solutions for largeinstances, VNS achieve best ones for six instances and for the rest nearly bestsolutions.Regarding execution times, it is obvious that they are quite different, sincedifferent approaches provide results with different k values. Additionally, someof the algorithms (like EA and VNS) spend additional time for the constructionphase, while other algorithms (MITS, PR and LHS) start with the previous bestknown solutions. 17 .3. Justification of the usage of the criteria in the VND procedure In order to further analyse the behaviour of the proposed VND procedureand to justify the usage of the criteria for ordering vertices, additional exper-iments are performed with three large BMCP instances (namely GEOM110,GEOM110a and GEOM110b). Recall that in the VND procedure three criteriaare combined for determining the ordering: the first criterium is the total num-ber of conflicts for the vertex, the second is the distance of the color assignedto the vertex from the middle and the third one is the geometric mean of thetotal sum of the weights of the edges incident with the vertex and the maximaledge distance for that vertex. In the experiment, total of eight possible differ-ent variants of the overall criterium are analysed: each of the mentioned threecriteria is or is not used.Table 5 provides the experimental results obtained in all of these eight cases.Each case is denoted as
XY Z , where
X, Y and Z belongs to { , } , indicatingif the criterium is used (value 1) or not used (value 0). For each case, bestfound and average results are shown. The time limit for this experiment isset to 3000s. From the table 5, it can be seen that the variant proposed in Table 5:
Comparison of the various combinations of the criteria used in the VND
000 001 010 011instance best avg best avg best avg best avgGeom110 376 379.16667 375 378.53333 375 378.96667 375 378.46667GEOM110a 486 491.23333 487 491.23333 483 487.86667 483 488.33333GEOM110b 201 204.06667 201 204.3 202 204.1 202 203.96667100 101 110 111instance best avg best avg best avg best avgGeom110 376 378.2 376 378.03333 376 378.56667 375 377.9GEOM110a 482 489.83333 484 488.96667 483 487.73333 481 486.8333GEOM110b 203 204.6 202 204.6 202 204.16667 202 204.0333 this paper (column 111 - all three criteria are used) tends to be the best one,although some other variants also gives good results. For the first instance(GEOM110), in the variants denoted as 001, 010 and 011 the best result is alsoachieved, but the average result is worse than in the proposed variant (111). Forthe second instance (GEOM110a), in the proposed variant (111) both the bestknown and the average values are better than in the other cases. For the lastinstance (GEOM110b), the first two variants achieves better best result thanthe proposed one, but the average value obtained by the proposed variant isbetter.These results indicate that the usage of the proposed combination of thecriteria is justified, having in mind that some other variants can also reach highquality results.
5. Conclusions
In this paper we present the VNS algorithm for solving two generalizations ofthe vertex coloring problems: bandwidth coloring problem and multiple band-width coloring problem. Since BCP and MBCP enjoy many applications, pre-sented algorithm and achieved results are of a great interest for both theory andpractice. 18n the shaking procedure, an increasing number of vertices are permuted,forming the new solution which is subject of the further improvement in theVND. In the VND procedure, vertices are arranged in a way to increase theprobability of successful recoloring. This approach of the arrangement of thevertices splits the local search in a series of disjoint procedures, enabling betterchoices of the vertices which are addressed to re-color. The overall criterionfor the ordering the vertices is based on the number of conflicts of each vertex,combined with two additional criteria.The algorithm is tested on the common used instances. In the case of BCP,VNS achieves many previous best-known results and in the case of BMCP,VNS obtains two new best solutions in a reasonable time. Experimental resultsindicate that the proposed VNS becomes one of state-of-the-art methods forsolving BCP and BMCP.The further investigation of this problem can include parallelization andrunning on some powerful multiprocessor system, as well as the application ofthe proposed method for solving some similar real-life problems.
References [1] A. Schaerf, A survey of automated timetabling, Artificial Intelligence Re-view 13 (2) (1999) 87–127.[2] E. K. Burke, B. McCollum, A. Meisels, S. Petrovic, R. Qu, A graph-basedhyper-heuristic for educational timetabling problems, European Journal ofOperational Research 176 (1) (2007) 177 – 192.[3] R. Qu, E. K. Burke, B. McCollum, Adaptive automated construction ofhybrid heuristics for exam timetabling and graph colouring problems, Eu-ropean Journal of Operational Research 198 (2) (2009) 392 – 404.[4] N. Sabar, M. Ayob, R. Qu, G. Kendall, A graph coloring constructivehyper-heuristic for examination timetabling problems, Applied Intelligence37 (1) (2012) 1–11.[5] T. Budiono, K. W. Wong, A pure graph coloring constructive heuristic intimetabling, in: Computer Information Science (ICCIS), 2012 InternationalConference on, Vol. 1, 2012, pp. 307–312.[6] R. Lewis, J. Thompson, C. Mumford, J. Gillard, A wide-ranging computa-tional comparison of high-performance graph colouring algorithms, Com-puters & Operations Research 39 (9) (2012) 1933 – 1950.[7] W. Hale, Frequency assignment: Theory and applications, Proceedings ofthe IEEE 68 (12) (1980) 1497–1514.[8] B. A. Tesman, Set t-colorings, Congressus Numerantium 77 (1990) 229–242. 199] F. S. Roberts, T-colorings of graphs: recent results and open problems,Discrete Mathematics 93 (23) (1991) 229 – 245.[10] K. Aardal, S. Hoesel, A. Koster, C. Mannino, A. Sassano, Models and so-lution techniques for frequency assignment problems, Annals of OperationsResearch 153 (1) (2007) 79–129.[11] E. Malaguti, P. Toth, A survey on vertex coloring problems, InternationalTransactions in Operational Research 17 (1) (2010) 1–34.[12] P. Galinier, J.-P. Hamiez, J.-K. Hao, D. Porumbel, Recent advances ingraph vertex coloring, in: I. Zelinka, V. Snel, A. Abraham (Eds.), Hand-book of Optimization, Vol. 38 of Intelligent Systems Reference Library,Springer Berlin Heidelberg, 2013, pp. 505–528.[13] M. Trick, Computational symposium: Graph coloring and its generaliza-tions, http://mat.gsia.cmu.edu/color02/ (2002).[14] V. Phan, S. Skiena, Coloring graphs with a general heuristic search engine,in: Computational Symposium on Graph Coloring and its Generalization,2002, pp. 92–99.[15] S. Prestwich, Constrained bandwidth multicoloration neighbourhoods, in:Computational Symposium on Graph Coloring and its Generalization,2002, pp. 126–133.[16] S. Prestwich, Generalised graph colouring by a hybrid of local search andconstraint programming, Discrete Applied Mathematics 156 (2) (2008) 148– 158.[17] A. Lim, X. Zhang, Y. Zhu, A hybrid methods for the graph coloring andits related problems, in: Proceedings of MIC2003: The Fifth MetaheuristicInternational Conference, Kyoto, Japan, 2003.[18] A. Lim, Y. Zhu, Q. Lou, B. Rodrigues, Heuristic methods for graph col-oring problems, in: Proceedings of the 2005 ACM Symposium on AppliedComputing, SAC ’05, ACM, New York, NY, USA, 2005, pp. 933–939.[19] M. Chiarandini, T. Sttzle, Stochastic local search algorithms for graphset t-colouring and frequency assignment, Constraints 12 (3) (2007) 371–403. http://dx.doi.org/10.1007/s10601-007-9023-yhttp://dx.doi.org/10.1007/s10601-007-9023-y