reinforced tabu search (rts) for graph colouring

22
1 Reinforced Tabu Search (RTS) for Graph Colouring Daniel Porumbel PhD student (joint work with Jin Kao Hao and Pascale Kuntz) Laboratoire d’Informatique de Nantes Atlantique Laboratoire d'Etude et de Recherche en Informatique d'Angers

Upload: deva

Post on 03-Feb-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Reinforced Tabu Search (RTS) for Graph Colouring. Daniel Porumbel PhD student (joint work with Jin Kao Hao and Pascale Kuntz). Laboratoire d’Informatique de Nantes Atlantique. Laboratoire d'Etude et de Recherche en Informatique d'Angers. Graph Colouring and K-Colouring. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reinforced Tabu Search (RTS) for Graph Colouring

1

Reinforced Tabu Search (RTS) for Graph Colouring

Daniel PorumbelPhD student

(joint work with Jin Kao Hao and Pascale Kuntz)

Laboratoire d’Informatique de Nantes Atlantique

Laboratoire d'Etude et de Recherche en Informatique d'Angers

Page 2: Reinforced Tabu Search (RTS) for Graph Colouring

2

Graph Colouring and K-Colouring

1. Graph K-colouring problem:• A graph G=(V,E) is K-colourable if we

can label its vertices with exactly K colours so that any two adjacent vertices have different labels (colours) assigned

Page 3: Reinforced Tabu Search (RTS) for Graph Colouring

3

Graph Colouring and K-Colouring

1. Graph K-colouring problem:• A graph G=(V,E) is K-colourable if we

can label its vertices with exactly K colours so that any two adjacent vertices have different labels (colours) assigned

2. The general graph colouring problem is to determine minimal number K so that G is K-colourable

• the chromatic number χ(G)

Page 4: Reinforced Tabu Search (RTS) for Graph Colouring

4

Applications

Applications and examples: Assigning frequencies in mobile

networks Scheduling problems

Timetabling Register allocation in compilers Four color theorem Sudoku

Daniel
I can explain how the applications work
Page 5: Reinforced Tabu Search (RTS) for Graph Colouring

5

Basic Representation for K-coloring

Configuration C = a vector <c1|c2|…|c|V||> of labels/colors

The conflict number of C: The number of edges with both

ends of the same color

K-coloring problem ≈ find configuration C* minimizing the conflict number The problem is solved if C* has no

conflicts

Configuration C=(3|1|1|1|2)

Conflict number = 2

(V3-V2 and V3-V4)

daniela
if K>>xsi => we should be able to find a legal-coloring, the minimal conflict number should be zeroBut K might be considerably less than xsi, in which case we cannot find the mininal confict number to be zero - but we can stiil solve the K coloring problem, which is an optimization problem by itself
Page 6: Reinforced Tabu Search (RTS) for Graph Colouring

6

The Landscape for K-colouring

The set of all possible configurations has cardinal K|V| ~ a space of dimension |V|

The neighbourhood relation: We pass from a

configuration C to C’

by changing just one

colour in a conflicting

vertex of C

Page 7: Reinforced Tabu Search (RTS) for Graph Colouring

7

Related WorksExact algorithms: |V| <100 Inexact algorithms

Metaheuristics (working on landscape): Local Search: Tabu Search, Simulated

Annealing [Hertz et Al, A variable neighborhood search for graph coloring, 2003], [Zufferey et. al, A graph coloring heuristic using partial solutions and a reactive tabu scheme, 2007]

Evolutionary algorithms [Fleurent et. Al, Genetic and hybrid algorithms for graph coloring, 1996], [Hao et Al, Hybrid Evolutionary Algorithms for Graph Coloring, 1999][Galinier et Al, An adaptive memory algorithm for graph coloring,2004]

Sequential construction: DSatur Algorithm, RLS

Page 8: Reinforced Tabu Search (RTS) for Graph Colouring

8

Steepest Descent It starts from a random configuration

At each step, we move to the best neighbouring configuration

We stop when it is no longer possible to find better neighbouring configurations (in a local minimum)

G=Global minimum

L=Local minimum

Page 9: Reinforced Tabu Search (RTS) for Graph Colouring

9

Steepest Descent: Cases

Page 10: Reinforced Tabu Search (RTS) for Graph Colouring

10

Tabu Search

A steepest descent that can perform “up moves” We can move to a worse configuration when there is no

possible move not increasing the number of conflicts Risk : to repeat a set of moves again and again

=> Tabu list = a list of temporary forbidden moves

Page 11: Reinforced Tabu Search (RTS) for Graph Colouring

11

Tabu Search: evolution of the number of conflicts

Graph = dsjc250.5

K = 27

Best K = 28

Page 12: Reinforced Tabu Search (RTS) for Graph Colouring

12

Tabu Search: evolution of the number of conflicts

Page 13: Reinforced Tabu Search (RTS) for Graph Colouring

13

Tabu Search: evolution of the number of conflicts

Page 14: Reinforced Tabu Search (RTS) for Graph Colouring

14

Tabu List Length

The role of the tabu list is to restrain the algorithm from cycling in a local plateau Tabu List Length: tl = RandomInt(0,10) + f Each time we perform move m, we forbid the

algorithm from re-applying m on next tl moves  tl = 2 enough to break a cycle of length 2

Col(v)=1

Col(v)=4

Col(v)=1

Page 15: Reinforced Tabu Search (RTS) for Graph Colouring

15

Tabu List Length

The same tabu list length = 2 is NOT enough to break larger cycles

We can find both very small or very large plateaus small or large cycles

Long tabu list for large plateaus and small tabu list for small plateaus

Page 16: Reinforced Tabu Search (RTS) for Graph Colouring

16

Adaptive Tabu List Length We double the tabu list length when we

stayed X moves at the same conflict number A constant very long tabu list length would forbid

a move (an assignment of a color) for much too long!

Page 17: Reinforced Tabu Search (RTS) for Graph Colouring

17

New Evaluation Function In most algorithms, all configurations are

compared and assessed with the classical evaluation function f

Not all conflicts are as difficult to solve We can have:

Edges with easy conflicts (V3-V4) We can simply change the color in one end

Edges with hard conflicts (V3-V2) We cannot change a color without

generating new conflicts

Page 18: Reinforced Tabu Search (RTS) for Graph Colouring

18

Degree-based Evaluation

{i,j} Easy conflict in C1{i,k} Hard conflict in C2

Vertex j: degree=1 Vertex k: degree=6

Each edge has a weight, according to the degree of

each vertex

Page 19: Reinforced Tabu Search (RTS) for Graph Colouring

19

RTS vs. Other Tabu Algorithms

RTS gains one colour on 75% of the Dimacs graphs - in comparison with the same algorithm without the two improvements

RTS gains one colour in 50% of graphs in comparison with the best of all Tabu algorithms ever written

The new evaluation function gains one colour in 25% of cases vs classical evaluation function

Page 20: Reinforced Tabu Search (RTS) for Graph Colouring

20

1. [A. Hertz and D. de Werra, Using tabu search techniques for graph coloring, 1987]

2. [C. Fleurent and J. A. Ferland, Genetic and hybrid algorithms for graph coloring, 1996]

3. [Dorne and J. K. Hao, Tabu search for graph coloring, T-colorings and set T-colorings, 1998]

4. [P. Gallinier and J. K. Hao, Hybrid Evolutionary Algorithms for Graph Coloring, 1999]

Page 21: Reinforced Tabu Search (RTS) for Graph Colouring

21

RTS vs Best Algorithms

The best algorithms are often population-based hybrid algorithms

RTS is able to find the best colorings ever reported for 75% of the Dimacs graphs (28 out of the 38)

We obtained the best results of previous local search algorithms in almost 100% of cases (2 exceptions)

Page 22: Reinforced Tabu Search (RTS) for Graph Colouring

22

Conclusions

Two simple techniques are enough to make a basic local search provide very competitive results.

Tabu Search can now attain the best results ever found in 75% of the Dimacs graphs