Microsoft PowerPoint - VCP_Summer-School_Erice_2011.ppt

Méndez-Díaz, Zabala (Disc. Appl. Math. 2008). ▫ Critical Subgraphs Approach: Desrosiers, Galinier, Hertz (Disc. Appl. Math. 2008). ▫ Set Packing Formulation:.
335KB taille 32 téléchargements 320 vues
Models and Algorithms for Vertex Coloring Problems Paolo Toth DEIS (Dipartimento di Elettronica, Informatica e Sistemistica), Alma Mater Studiorum, A.D. 1087, University of Bologna, Italy

1

Based on the papers: E. Malaguti, P. Toth “A Survey on Vertex Coloring Problems”, International Transactions in Operational Research, 2010; E. Malaguti, M. Monaci, P. Toth “A Metaheuristic Approach for the Vertex Coloring Problem”, INFORMS J. on Computing, 2008; E. Malaguti, M. Monaci, P. Toth “An Exact Approach for the Vertex Coloring Problem”, Discrete Optimization, 2011. 2

Outline  Vertex

Coloring Problem:

Problem Definition  Integer Linear Programming Formulations  Heuristic and Metaheuristic Algorithms  Exact Algorithms  Computational Results 

3

Vertex Coloring Problem (VCP) 

 

Given an undirected graph G = (V,E), with n = |V| and m = |E|, assign a color to each vertex in such a way that colors on adjacent vertices are different, and the number of colors used is minimized. chromatic number χ(G): minimum number of colors which can be used. A feasible coloring which uses k colors is a k-coloring.

infeasible coloring 4

Vertex Coloring Problem (VCP) 

 

Given an undirected graph G = (V,E), with n = |V| and m = |E|, assign a color to each vertex in such a way that colors on adjacent vertices are different and the number of colors used is minimized. chromatic number χ(G): minimum number of colors which can be used. A feasible coloring which uses k colors is a k-coloring.

infeasible coloring 5

Vertex Coloring Problem (VCP) 

 

Given an undirected graph G = (V,E), with n = |V| and m = |E|, assign a color to each vertex in such a way that colors on adjacent vertices are different and the number of colors used is minimized. chromatic number χ(G): minimum number of colors which can be used. A feasible coloring which uses k colors is a k-coloring.

4-coloring 6

Vertex Coloring Problem (VCP) 

 

Given an undirected graph G = (V,E), with n = |V| and m = |E|, assign a color to each vertex in such a way that colors on adjacent vertices are different and the number of colors used is minimized. chromatic number χ(G): minimum number of colors which can be used. A feasible coloring which uses k colors is a k-coloring.

3-coloring Optimal solution (χ(G)=3) 7

Vertex Coloring Problem (VCP)   

VCP is NP-Hard (Garey and Johnson, 1979). Feasibility Problem (with given k) is NP-Hard. Real-world applications: - air traffic flow management; - register allocation; - frequency assignment; - communication networks; - satellite range scheduling; - crew scheduling; - train platforming; - printed circuit testing; - round-robin sports scheduling; - course timetabling; - geographical information systems; -…

8

Application: Frequency Assignment 

Problem: given a set of broadcast emitting stations (vertices), assign a frequency (color) to each station so that adjacent (and possibly interfering) stations use different frequencies and the number of used frequencies is minimized.

9

Recent Surveys Galinier, Hertz (Computers & Operations Research, 2006);  Chiarandini, Dumitrascu, Stutzle (Handbook of Approximation Algorithms and Metaheuristics, Gonzalez ed., Chapman & Hall/CRC, 2007);  Johnson, Mehrotra, Trick (Discrete Applied Mathematics, 2008);  Malaguti, T. (International Trans. in O. R., 2010). 

Web Page: Bibliography on Graph Vertex Coloring (maintained by M. Chiarandini, S. Gualandi) 10

The Clique Lower Bound   

A clique K of a graph G is a complete subgraph of G. A clique is maximal if no vertex can be added to the subgraph still having a clique. The cardinality ω of the maximum (cardinality) clique is a Lower Bound for VCP. Computing ω is NP-Hard.

clique k, |k|=2

1

3

5

clique k1, |k1|=3 2

4

maximal clique k2, |k2|=4 maximal clique

k3,

|k3|=3

LB = ω = 4 11

The Clique Lower Bound 1

2

3

5

4

1

2

3

5

4

cardinality of any clique (and of the maximum clique) |K| = |Kmax| = 2: LB = ω = 2 chromatic number χ(G) =3 The worst case performance ratio ω/χ(G) is arbitrarily bad 12

Maximal Clique 



-

The cardinality of any (maximal) clique of graph G represents a Lower Bound for the problem. A fast greedy algorithm (D. Johnson, J. Comp. Syst. Sci. 1974) can be used to compute a maximal clique K of G(V,E): Given an ordering of the vertices, consider the candidate vertex set W. Set W = V, K = 0 and iteratively: * Choose the vertex v of W of maximum degree and add it to the current clique K. * Remove from W vertex v and all the vertices not adjacent to the current clique K. Different orderings of the vertices generally produce different maximal cliques. 13

Greedy Algorithm Vertex ordering: 1, 2, 3, 4, 5 1

2

3

5

4

14

Greedy Algorithm Vertex ordering: 5, 2, 3, 4, 1 1

2

3

5

4

15

ILP models for VCP: Model VCP-ASSIGN 

Binary variables:

xih = { yh = {

1 if vertex i has color h 0 otherwise 1 if color h is used 0 otherwise

i =1,…,n h =1,…,n h =1,…,n

n

min

∑y

(1)

h

h =1

n

∑x

ih

=1

i = 1,.., n

( 2)

h =1

xih + x jh ≤ yh xi ,h ∈ {0,1} yh ∈ {0,1}

∀i, j : (i, j ) ∈ E i = 1,..., n h = 1,..., n

h = 1,..., n

(3)

h = 1,..., n (4) 16

Model VCP-ASSIGN is a “weak” model: 

Its LP Relaxation produces a Lower Bound = 2: y1 = 1, y2 = 1; xi1 = xi2 = 1/2 xih = 0

yh =0 h = 3,…,n i=1,…,n i=1,…,n h=3,…,n

n

min

∑y

(1)

h

h =1

n

∑x

ih

=1

i = 1,.., n

( 2)

h =1

xih + x jh ≤ yh xi ,h ∈ {0,1} yh ∈ {0,1}

∀i, j : (i, j ) ∈ E i = 1,..., n h = 1,..., n

h = 1,..., n

(3)

h = 1,..., n (4) 17

Model VCP-ASSIGN is a “weak” model (2): • “Symmetry Property”:

 n  • Every solution of value k ( partitioning of the graph into independent sets. 1

2

3

5

4 21

Set Partitioning Formulation for VCP (Mehrotra, Trick; INFORMS J. on. Comp. 1996) 

Feasible coloring -> partition of the graph into independent sets.



IS = family of all the Independent Sets of graph G



Binary variables:

xI = { min

s.t.

∑x I∈

∑x

I

1 if Independent Set I is given a color 0 otherwise (1)

I

IS

=1

∀v ∈ V

(2)

∀I ∈ IS

(3)

I :v∈I

xI ∈ {0,1}

Constraints (2) can be replaced by:

∑x

I

≥1

∀v ∈ V

(2’)

I :v∈I 22

Set Covering Formulation SC - VCP min s.t.

∑x

(1)

I

IS

I∈

∑x

(2’) I

≥1

∀v ∈ V

I :v∈I

xI ∈ {0,1}

∀I ∈ IS

(3)



If a vertex is assigned more than one color, a feasible solution of the same value can be obtained by using any of these colors for the vertex.



IS can be defined as the family of all the maximal Independent Sets of graph G. 23

Independent Sets

1

3

2

1

2

5

4

3

5

4 24

Set Covering Formulation SC - VCP min s.t.

∑x

(1)

I

IS

I∈

∑x

(2’) I

≥1

∀v ∈ V

I :v∈I

xI ∈ {0,1}





∀I ∈ IS

(3)

The LP Relaxation of this formulation leads to tight lower bounds, and symmetry in the solution is avoided, but the number of maximal independent sets (i.e. the number of “columns”) can grow exponentially w.r.t. the number of vertices n -> The corresponding SCP is difficult to solve to optimality. 25

Independent Sets and Cliques 

Given a graph G = (V, E) 1

3

2

5 Independent Set

4

Define its “complement” G = (V, E), where E = {(i, j): (i, j) ∈/ E} 1

2

3

5 clique

4

independent set of G → clique of G (and viceversa) clique of G → independent set of G (and viceversa)

26

Additional ILP Formulations 

Williams and Yan (INFORMS J. on Comp., 2001): VCP-ASSIGN plus “precedence constraints”.



Lee (J. of Comb. Opt., 2002), and Lee and Margot (INFORMS J. on Comp., 2007): binary encoding formulation.



Barbosa, Assis, do Nascimiento (J. of Comb. Opt., 2004): encodings based on acyclic orientations.



Burke, Marecek, Parkes, Rudova (Ann. of Oper. Res., 2010): “supernodal” formulation (transformation of the original VCP into a Multicoloring Vertex Problem having a smaller number of vertices and edges). 27

DIMACS Benchmark Instances Johnson, Trick, 2nd DIMACS Implementation Challenge 1993 

DIMACS benchmark graph instances compose a variety of graph classes used for evaluating the performance of VCP algorithms: - random graphs: DSJC_n.x; - geometric random graphs: DSJR_n.x; r_n.x; - quasi-random graphs: flat_n.x; - artificial graphs: le_n.x; latin_square_10; Queen_rn.rn; myciel_k - real-world application-related graphs. 28

DIMACS Benchmark Instances (2) Johnson, Trick, 2nd DIMACS Implementation Challenge 1993

To allow comparisons on results obtained with different machines, a benchmark program is available.  CPU times can be scaled w.r.t. the performance obtained on this program. 

ftp://dimacs.rutgers.edu/pub/challenge/graph http://mat.gsia.cmu.edu/COLOR04 29

Heuristic Approaches Greedy Algorithms: - Sequential Coloring (SEQ). - DSATUR: Brélaz (Comm. ACM, 1979). - Recursive Largest Fit: (RLF) Leighton (J. Res. NBS, 1979). - Backtracking: Bollobas, Thomason (Ann. Disc. Math., 1985). - Iterated Greedy: Culberson, Luo (2nd DIMACS Implem. Challenge, 1993). - DANGER: Glover, Parker, Ryan (2nd DIMACS Implem. Challenge, 1993). 30

Metaheuristic Approaches 

Simulated Annealing Algorithms: Chams, Hertz, de Werra (European J. of O. R., 1987); Johnson, Aragon, Mc Geoch, Schevon (Oper. Res. 1991).



Tabu Search Algorithms: - TABUCOL: Hertz, de Werra (Computing, 1987); Improvements: - Dorne, Hao (Metaheuristics:…, Kluwer, 1998); - Blöchliger, Zufferey (Computers & Oper. Res., 2008).



GRASP Algorithm: Laguna, Marti’ (Comp. Optimiz. and Appl, 2001). 31

Metaheuristic Approaches (2) 

IMPASSE Class Neighborhood: Morgenstern (2nd DIMACS Impl. Challenge, 1993).



Evolutionary Algorithms: - Fleurent, Ferland (Annals of O.R., 1996); - Davis (Handbook of Genetic Algs., Van Nostrand Reinhold, 1998); - Galinier, Hao (J. of Comb. Opt., 1999).



MIPS-CLR Algorithm: Funabiki, Higashino (IEICE T.F., 2000).



Variable Neighborhood Search Alg: Avanthay, Hertz, Zufferey (European J. of O. R., 2003). 32

Metaheuristic Approaches (3)  Truncated

Branch and Bound:

Caramia, Dell’Olmo (Networks, 2004).

 Quadratic

Binary Approach:

Kochengerger, Glover, Alidaee, Rego (Annals of O.R., 2005).

 Improved

and Iterated Local Search:

Caramia, Dell’Olmo, Italiano (J. of Discrete Algorithms, 2006). Caramia, Dell’Olmo (Discrete Applied Math., 2008)

 Edge

Oriented Method:

Gendron, Hertz, St. Louis (J. of Comb. Opt.,2007). 33

Metaheuristic Approaches (4)  Adaptive

Memory Alg:

Galinier, Hertz, Zufferey (Discrete Applied Math., 2008).

 Neuronal

Network Approach:

Talavan, Yanez (European J. O.R., 2008).

 Variable

Search Space Alg:

Hertz, Plumettaz, Zufferey (Discr. Applied Math., 2008).

 Two-Phase

Alg:

Malaguti, Monaci, T. (INFORMS J. on Comp., 2008).

 Multiagent

Fusion Search:

Xie, Liu (J. of Comb. Opt., 2009). 34

Metaheuristic Approaches (5)  Hill-Climbing

Alg.:

Lewis (Comp. & Oper. Res., 2009).

 Ant

Optimization System:

Dowsland, Thompson (Disc. Applied Math., 2007); Bui, Nguyen, Patel, Phan (Disc. Applied Math., 2008); Plummettaz, Schindl, Zufferey (J. O. R. Society, 2010).

 Clustering-

Guided Tabu Search:

Porumbel, Hao, Kuntz (Comp. & Oper. Res., 2010). 35

Metaheuristic Approaches (6)  Memetic

Alg.:

Lu, Hao (Europ. J. O.R., 2010).  Hybrid

Quantum Annealing Alg:

Titiloye, Crispin (Discrete Optimization, 2011).  Independent

Set Extraction:

Wu, Hao (Comp. & Oper. Res., 2012) 36

Greedy Algorithms for VCP SEQ Algorithm: Vertex 1 is assigned to the first color class, and thereafter, vertex i (i=2,…,n) is assigned to the lowest indexed color class that contains no vertices adjacent to i. 1

2

3

color order 4

5

6

Vertex ordering: 2, 3, 4, 5, 6, 1

37

Greedy Algorithms for VCP SEQ Algorithm: Vertex 1 is assigned to the first color class, and thereafter, vertex i (i=2,…,n) is assigned to the lowest indexed color class that contains no vertices adjacent to i. 1

2

3

color order 4

5

6

Vertex ordering: 2, 3, 4, 5, 6, 1 Optimal solution

38

Greedy Algorithms for VCP SEQ Algorithm: Vertex 1 is assigned to the first color class, and thereafter, vertex i (i=2,…,n) is assigned to the lowest indexed color class that contains no vertices adjacent to i. 1

2

3

color order 4

5

6

DSATUR, Brélaz (Comm. ACM 1979), is similar to SEQ, but dynamically chooses the vertex to color next, picking the first vertex that is adjacent to the largest number of distinctly colored vertices (i.e. the vertex with maximum chromatic degree). 1

4

2

5

3

6

Optimal solution 39

TABUCOL: a Tabu Search approach for VCP (Hertz - de Werra, Computing 1987)  

  

A target k is required for the number of colors to be used. A solution s is a partition of V into k color classes (with possible conflicts). Resolving all the conflicts gives a feasible k-coloring. The solution evaluating function f(s) of a solution s is represented by its number of conflicts. A move consists in choosing one conflicting vertex and moving it to a new color class which minimizes the number of conflicts. To avoid cycling, a vertex cannot enter the color class it left during the last T (tabu tenure) iterations.

s

s’ 3-coloring

40

TABUCOL: a Tabu Search approach for VCP (Hertz - de Werra, Computing 1987)  

  

A target k is required for the number of colors to be used. A solution s is a partition of V into k color classes (with possible conflicts). Resolving all the conflicts gives a feasible k-coloring. The solution evaluating function f(s) of a solution s is represented by its number of conflicts. A move consists in choosing one conflicting vertex and moving it to a new color class which minimizes the number of conflicts. To avoid cycling, a vertex cannot enter the color class it left during the last T (tabu tenure) iterations.

s

s’ 41

TABUCOL: a Tabu Search approach for VCP (Hertz - de Werra, Computing 1987)  

  

A target k is required for the number of colors to be used. A solution s is a partition of V into k color classes (with possible conflicts). Resolving all the conflicts gives a feasible k-coloring. The solution evaluating function f(s) iof a solution s is represented by its number of conflicts. A move consists in choosing one conflicting vertex and moving it to a new color class which minimizes the number of conflicts. To avoid cycling, a vertex cannot enter the color class it left during the last T (tabu tenure) iterations.

s

s’ Feasible 3-coloring

42

Impasse Class Neighborhood (Morgenstern, 2nd DIMACS Impl. Challenge 1993)  

A target k is required for the number of colors to be used. A solution s is a partition of V in k+1 color classes in which all classes except possibly the last one are independent sets. Making this last class empty gives a feasible k-coloring. To move from a solution s to a neighbor solution s’: - randomly choose an uncolored vertex v (in class k+1) - assign v to a color class - move all vertices w in this class, which are adjacent to v, to class k+1

v s

w

w

v

v s’ 43

Tabu Search Approach MMT (Malaguti, Monaci, T., INFORMS J. on Comp. 2008)



Impasse Class Neighborhood



Objective function:

min f ( s) =

∑ δ (v ) v∈K +1



Tabu Search: - Move from s to the best solution s’ in the neighborhood (even if f(s) LB (MMT) LB = LB (MMT) LB < LB (MMT) Best LB only algorithm

9 43 14 8

1 23 42 0

2 27 10 2

6 (3)

Upper Bound UB < UB (MMT) UB = UB (MMT) UB > UB (MMT) Best UB only algorithm

0 24 42 0

0 18 48 0

0 27 12 0

30 (8)

Branch-and-Price Algorithm 4 (Held, Cook, Sewell; IPCO Conference 2011) 

Column Generation procedure: detect possible negative reduced cost columns by solving MWISP through an improved Branchand-Bound algorithm;



Parallel Branch-and-Price framework.



New best Lower Bounds found on 4 instances with very large time limits (up to 36 days). 77