a branch and cut algorithm for the minimum labeling
play

A branch-and-cut algorithm for the Minimum Labeling Hamiltonian - PowerPoint PPT Presentation

A branch-and-cut algorithm for the Minimum Labeling Hamiltonian Cycle Problem and two variants Nicolas Jozefowiez 1 , Gilbert Laporte 2 , Fr eric Semet 3 ed 1. LAAS-CNRS, INSA, Universit e de Toulouse, Toulouse, France,


  1. A branch-and-cut algorithm for the Minimum Labeling Hamiltonian Cycle Problem and two variants Nicolas Jozefowiez 1 , Gilbert Laporte 2 , Fr´ eric Semet 3 ed´ 1. LAAS-CNRS, INSA, Universit´ e de Toulouse, Toulouse, France, nicolas.jozefowiez@laas.fr 2. CIRRELT, HEC, Montr´ eal, Canada, gilbert@crt.umontreal.ca 3. LAGIS, Ecole Centrale de Lille, Villeneuve d’Ascq, France, frederic.semet@ec-lille.fr 1 / 21

  2. The Minimum Labeling Hamiltonian Cycle Problem (MLHCP) Data: G = ( V, E ) : an undirected graph C is a set of colors Each e ∈ E has a color k ∈ C Goal: Find a Hamiltonian cycle Minimize the number of colors appearing on the cycle 2 / 21

  3. State-of-the-art Minimum labelling hamiltonian cycle problem (Tabu search) [Cerulli, Dell’Olmo, Gentili, Raiconi, 2006] Colorful traveling salesman problem (heuristic, GA) [Xiong, Golden, Wasil, 2007] Traveling salesman problem with labels (approximation algorithm) [Gourv` es, Monnot, Telelis, 2008] Minimum labelling spanning tree problem 3 / 21

  4. Two variants ◮ Valuations on the edges ◮ Minimum Labeling Hamiltonian Cycle Problem with Length Constraint (MLHCPLC) ◮ Minimize the number of colors appearing on the cycle ◮ Impose a bound on the length of the tour ◮ Label Constrained Traveling Salesman Problem (LCTSP) ◮ Minimize the length of the tour ◮ Impose a bound on the number of colors appearing on the tour 4 / 21

  5. Integer program for the MLHCP ( 1 if e ∈ E is used, Variables x e = 0 otherwise. ( 1 if k ∈ C is used, u k = 0 otherwise. Constants and notations ∀ e ∈ E, δ ( e ) = k ∈ C the color of e ∀ k ∈ C, ζ ( k ) = { e ∈ E | δ ( e ) = k } ∀ S ⊂ V, ω ( S ) = { e = ( i, j ) ∈ E | i ∈ S and j ∈ V \ S } 5 / 21

  6. Integer program for the MLHCP X Objective functions min u k k ∈ C X Constraints x e = 2 ∀ i ∈ V e ∈ ω ( { i } ) X x e ≥ 2 ∀ S ⊂ V, 3 ≤ | S | ≤ | V | − 3 e ∈ ω ( S ) x e ≤ u δ ( e ) ∀ e ∈ E x e ∈ { 0 , 1 } ∀ e ∈ E u k ∈ { 0 , 1 } ∀ k ∈ C X Valid constraints u k ≤ x e ∀ k ∈ C e ∈ ζ ( k ) 6 / 21

  7. Adaptations to the MLHCPLC and LCTSP MLHCPLC : Add constraint P e ∈ E c e x e ≤ ǫ LCTSP : Replace objective with min P e ∈ E c e x e Add constraint P k ∈ C u k ≤ ǫ 7 / 21

  8. Valid inequalities Proposition. Let T ⊆ E . If the constraint X α e x e ≤ β e ∈ T is valid for the TSP, then for a label k ∈ C , the inequality X α e x e ≤ βu k e ∈ T ∩ ζ ( k ) is valid for the MLHCP, the MLHCPLC, and the LCTSP. 8 / 21

  9. Valid inequalities (cont.) Proposition. The constraints X x e ≤ 2 u k ( i ∈ V, k ∈ C, 3 ≤ | ω ( { i } ) ∩ ζ ( k ) | ≤ | V | − 3) e ∈ ω ( { i } ) ∩ ζ ( k ) are valid for the MLHCP, the MLHCPLC, and the LCTSP. Proposition. The constraints X x e ≤ ( | S | − 1) u k ( k ∈ C, S ⊂ V, 3 ≤ | S | ≤ | V | − 3) e ∈ E ( S ) ∩ ζ ( k ) are valid for the MLHCP, the MLHCPLC, and the LCTSP. S i j 0,5 1 0,5 1 1 0,5 0,5 1 0,5 i 1 1 0,5 0,5 0,5 1 1 0,5 1 0,5 1 l k 9 / 21

  10. Valid inequalities (cont.) Proposition. Let T ⊆ E . If the inequality X α e x e ≥ β e ∈ T is valid for the TSP, then the inequality X X min { α e , β } u k ≥ β k ∈ C e ∈ T ∩ ζ ( k ) is valid for the MLHCP, the MLHCPLC, and the LCTSP. Proposition. The inequalities X γ k ( S ) u k ≥ 2 ( S ⊂ V, 3 ≤ | S | ≤ | V | − 3) k ∈ C with 8 if ∄ e ∈ ω ( S ) , e ∈ ζ ( k ) 0 > < γ k ( S ) = 1 if ∃ ! e ∈ ω ( S ) , e ∈ ζ ( k ) > 2 otherwise. : are valid for the MLHCP, the MLHCPLC, and the LCTSP. 10 / 21

  11. Polyhedral results for the MLHCP Lemma A solution for the TSP is also a solution for the MLCHP. Lemma If constraints u k ≤ P e ∈ ζ ( k ) x e are added to the model, there is a one to one correspondence between the solutions of the TSP and those of the MLHCP. Theorem. Let k ∈ C and i ∈ V , if 3 ≤ | ω ( { i } ) ∩ ζ ( k ) | ≤ | V | − 3 and ζ ( k ) \ ( ω ( { i } ) ∩ ζ ( k )) � = ∅ , then F ki = { ( x, u ) ∈ C MLHCP | P e ∈ ω ( { i } ) ∩ ζ ( k ) x e − 2 u k = 0 } is a proper face of 1 C MLHCP . Theorem. Let k ∈ C and S ⊂ V , if 3 ≤ | S | ≤ | V | − 3 and ∀ i ∈ S, | ω ( { i } ) ∩ ζ ( k ) | ≥ | S | 2 , then F kS = { ( x, u ) ∈ C MLHCP | P e ∈ E ( S ) ∩ ζ ( k ) x e − ( | S | − 1) u k = 0 } is a proper face of 2 C MLHCP . 11 / 21

  12. Heuristic for the LCTSP STEP 1: Solve the following mixed integer program (with a time limit) to obtain a solution (¯ x, ¯ u ): X X min c e x e + m u k e ∈ E k ∈ C X x e = 2 ∀ i ∈ V e ∈ ω ( { i } ) x e ≤ u δ ( e ) ∀ e ∈ E X u k ≤ x e ∀ k ∈ C e ∈ ζ ( k ) X u k ≤ ǫ k ∈ C 0 ≤ x e ≤ 1 ∀ e ∈ E u k ∈ { 0 , 1 } ∀ k ∈ C STEP 2: If no feasible solution was found, ǫ ← ǫ − 1. Go to STEP 1 STEP 3: Solve a TSP on G ′ = ( V, E ) with new costs c ′ e = 1 if ¯ u δ ( e ) = 1, | V | max v ∈ E c v + c e otherwise ( e ∈ E ). STEP 4: If the tour obtained uses less than ǫ colors, return the solution, otherwise ǫ ← ǫ − 1 and go to STEP 1. 12 / 21

  13. Branch-and-cut algorithm Step 1 (Root of the tree) Generate an initial upper bound ub . Define a first subproblem. Insert the subproblem in a list L . Step 2 (Stopping criterion) If L = ∅ then STOP, else choose a subproblem from L and remove it from L . Step 3 (Subproblem solution) Solve the subproblem to obtain the lower bound lb . Step 4 (Constraint generation) if lb ≥ ub then Go to Step 2. else if the solution is integer then ub ← lb . Go to Step 2. else if violated constraints are identified then Add them to the model and go to Step 3. else Go to Step 5. end if end if Step 5 (Branching) Branch on a variable and introduce the corresponding subproblems in L . Go to Step 2. 13 / 21

  14. Branch-and-cut algorithm : initial subproblem X min u k k ∈ C X x e = 2 ∀ i ∈ V e ∈ ω ( { i } ) x e ≤ u δ ( e ) ∀ e ∈ E X u k ≤ x e ∀ k ∈ C e ∈ ζ ( k ) X γ k ( S ) u k ≥ 2 ( S ⊂ V, 3 ≤ | S | ≤ | V | − 3) k ∈ C X ≤ ( | S | − 1) u k ( k ∈ C, S = i, j, k ⊂ V, ∀ e ∈ S × S, u δ ( e ) = k ) x e e ∈ E ( S ) ∩ ζ ( k ) 0 ≤ x e ≤ 1 ∀ e ∈ E 0 ≤ u k ≤ 1 ∀ k ∈ C 14 / 21

  15. Branch-and-cut algorithm: constraint generation Connectivity constraints X x e ≥ 2 ( S ⊂ V, 3 ≤ | S | ≤ | V | − 3) e ∈ ω ( S ) X γ k ( S ) u k ≥ 2 ( S ⊂ V, 3 ≤ | S | ≤ | V | − 3) k ∈ C with 8 if ∄ e ∈ ω ( S ) , e ∈ ζ ( k ) 0 > < γ k ( S ) = 1 if ∃ ! e ∈ ω ( S ) , e ∈ ζ ( k ) > 2 otherwise. : Min-cut problem : G m = ( V m , E m ), find S ⊂ V m minimizing P e ∈ ω ( S m ) c e CONCORDE function [Padberg & Rinaldi, 1990] 15 / 21

  16. Branch-and-cut algorithm: branching and initial upper bound Branching In priority on the fractional u K with the largest value of | ζ ( k ) Then, on the fractional variable x e closest to 0.5 Initial upper bound MLHCP : none MLHCPLC, LCTSP : heuristic 16 / 21

  17. Computational results C Intel Core 2 Duo E6550 2.33Ghz CPU CPLEX 11.1.2 CONCORDE library TSPLIB for the MHLCPLC and LCTSP √ An edge ( i, j ) is given the label ⌊| C | ( ijA − ⌊ ijA ⌋ ) ⌋ , where A = ( 5 − 1) / 2 17 / 21

  18. Computational results: MLHCP | V | | C | Opt lb/Opt #Nodes #u #x #Cuts Seconds 50 50 4 0.552 113 56 0 33 19 50 100 5 0.691 37 18 0 2 4 50 150 6 0.749 41 20 0 4 3 50 200 7 0.783 3427 1711 2 75 295 100 50 3 0.572 13 6 0 0 26 100 100 4 0.561 143 68 3 7 290 100 150 5 0.587 973 486 0 6 2036 100 200 6 0.602 6587 3289 4 87 12583 150 50 2 0.826 5 1 1 7 46 150 100 3 0.667 11 5 0 9 91 150 150 4 0.626 81 40 0 2 524 150 200 5 0.580 1379 688 1 16 8872 200 50 2 0.812 3 1 0 4 152 200 100 3 0.643 31 3 12 17 289 200 150 4 0.564 285 140 2 12 4105 200 200 4 0.617 133 59 7 40 2630 18 / 21

  19. Computational results: LCTSP Inst./ | C | /% Opt lb/Opt #Nodes #u #x #Cuts Seconds kroA100/50/25 36423/12 0.901 11623 5815 0 1139 3600 kroA100/50/50 24812/25 0.945 43106 21246 315 664 3600 kroA100/50/75 21639/37* 0.984 72289 21890 14254 221 909 kroA100/100/25 30056/25 0.933 20689 10350 0 957 3600 kroA100/100/50 21833/50* 0.989 79747 38602 1271 290 2100 kroA100/100/75 21282/62* 0.984 206817 78684 24724 212 1860 kroB100/50/25 35882/12 0.908 12028 5986 31 1246 3600 kroB100/50/50 24912/25* 0.976 14701 7255 95 447 1192 kroB100/50/75 22361/37* 0.988 23503 6769 4982 207 379 kroB100/100/25 30764/25 0.943 25196 12600 5 778 3600 kroB100/100/50 23095/50 0.982 126400 61772 1436 344 3600 kroB100/100/75 22211/68 0.983 256317 98252 29918 236 3600 eil101/50/25 931/12 0.899 13084 6503 43 1158 3600 eil101/50/50 693/25* 0.968 23581 11759 31 1104 2174 eil101/50/75 638/37* 0.994 431 214 1 88 12 eil101/100/25 803/25 0.936 27371 13661 31 897 3600 eil101/100/50 643/50* 0.994 1059 528 1 125 30 eil101/100/75 629/66* 0.998 12459 5598 631 208 227 lin105/50/25 23803/12* 0.921 2153 1071 5 470 558 lin105/50/50 16208/25* 0.980 1885 902 40 228 136 lin105/50/75 14635/37* 0.999 7 3 0 37 1 lin105/100/25 20420/25 0.946 23169 11583 5 772 3600 lin105/100/50 15021/50* 0.994 10971 5440 45 135 248 lin105/100/75 14379/68* 0.999 3 1 0 33 0 19 / 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend