Carmine Cerrone, Raffaele Cerulli, Bruce Golden GO IX Sirmione, Italy July
Outline Motivation The Minimum Label Spanning Tree (MLST) problem Experimental justification Introduction to Carousel Greedy Details of Carousel Greedy Computational experiments in combinatorial optimization Computational experiments in statistics Conclusions 2
Motivation We seek a heuristic framework that generalizes and enhances greedy algorithms We want a heuristic that is fast It should outperform a greedy algorithm It should be applicable to many greedy algorithms It should be simpler than a metaheuristic It should involve a small number of parameters 3
Motivation The Minimum Label Spanning Tree (MLST) Problem Communications network design Edges may be of different types or media (e.g., fiber optics, cable, microwave, telephone lines, etc.) Each edge type is denoted by a unique letter or color Construct a spanning tree that minimizes the number of colors 4
Motivation A Small Example c e a d e a b bb d ee b b b InputSolution
Description of MVCA 0. Input: G (V, E, L). 1. Let C { } be the set of used labels. 2. repeat 3. Let H be the subgraph of G restricted to V and edges with labels from C. 4. for all i L – C do 5.Determine the number of connected components when inserting all edges with label i in H. 6. end for 7. Choose label i with the smallest resulting number of components and do: C C {i}. 8. Until H is connected. 6
How MVCA Works 7 Solution c e a d e a b bb d ee b b b Input Intermediate Solution b bb 1 6
An Example to Motivate Carousel Greedy b d b d b Apply MVCA: add a, b, and c to obtain {a,b,c} Note that label a looked best, but now we can discard it 8 a a c a a c c
An Example to Motivate Carousel Greedy {b, c} is a MLST of cardinality 2 MVCA chose a wrong label initially Carousel Greedy will try to correct this 9 b c b c c b
Observations about MVCA and Greedy Algorithms in General We can divide MVCA into three phases 1 iterations S Phase I The set of candidate labels is very large Many labels yield similar results It is not possible to learn much from previous label selections, because there haven’t been many 10
Observations about MVCA--continued Phase II The set of candidate labels has been reduced It is possible to learn from previous label selections The Phase 2 selections are “smarter” Some labels, chosen in Phase I, no longer look so good Phase III The set of candidate labels required for feasibility is small This phase is short since we are near the end 11
MCVA Phase Experiment We generated 10,000 random labeled graphs with V = 85, E = 340, and L = 85 The optimal solution is 20 labels in all cases (Xiong, Golden, Wasil – 2005) The x-axis indicates the percentage of the selections in MVCA that have been completed The y-axis indicates the average percentage of labels that are in the optimal solution 12
MVCA Phase Experiment 13 start of MVCA end of MVCA
A Limitation of MVCA We generated 1,300 random labeled graphs with V = 81, L = {30, 60, 90, …, 390} and E = 4 L The optimal solution is 20 labels in all cases The x-axis indicates the number of available labels, L The y-axis indicates the average number of labels in the MVCA solution 14
A Limitation of MVCA 15 When L is small, MVCA performs poorly Can a generalized greedy algorithm do better?
Questions to Address Can we extend Phase II? Can we improve performance when L is small? Can we ensure reasonable running times? Can we keep it simple? 16
Iterated Greedy: A Simple Generalized Greedy Algorithm (Ruiz, Stutzle – 2008) Step 1. Apply greedy algorithm to obtain a feasible solution Step 2. Destruction phase: Remove some elements from the current solution, leaving a partial solution Step 3. Construction phase: Apply the greedy algorithm to the partial solution to obtain another feasible solution Step 4. Repeat Steps 2 & 3 until a stopping condition is satisfied 17
Carousel Greedy Illustration for S = 5, α = 1, β = 40% MVCA Solution Carousel Start Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Final Step 18 The length of a carousel string is S (1- β ) and the number of passes is α
More on Carousel Greedy We can represent this example by images of a carousel in motion The carousel is divided into S wedges The number of full turns or passes is α The final step obtains a feasible solution The carousel representation of this generalized greedy algorithm is shown on the next slide 19
The Carousel Greedy Algorithm 20 R R RRR R G G GG O O O O P P P B G R O P Start
Carousel Greedy Performs Well for Small L 21
Further Experiments with Carousel Greedy We look at the MLST problem We generate 20 random labeled graphs with V = 100, L = 100, and E = 400 We tested different values of α and β The optimal solution is 25 labels in all cases Average improvements and running times are presented next 22
Carousel Greedy Improvements over MVCA 38%47%41%47%52%55%44%55% 54%60% 66%67%62% 64% 55%71%73%72%75%74%71%72% 60%72% 75%74%75%73% 23 α = 1 α = 2 α = 3 α = 4α = 5 α = 6α = 7 α = 8 β = 20% β = 15% β = 10% β = 5% For example, when α = 5 and β = 10%, Carousel Greedy reduces the gap between the MVCA solution and the optimal solution by 75%
Carousel Greedy Running Time 24 α = 1 α = 2 α = 3 α = 4 α = 5 α = 6 α = 7 α = 8 β = 20% β = 15% β = 10% β = 5% Time is in milliseconds With α = 1, we expect the running time to be about twice the MVCA running time (10 ms)
Estimating the Complexity of Carousel Greedy Let O(I) be the computational complexity of the basic greedy algorithm We can show that Carousel Greedy has an approximate computational cost of (α + 1) O(I) Next, we summarize our extensive computational results 25
MLST Instances We looked at 420 small instances with V = L ≤ 200 Pilot outperforms Carousel Greedy (CG) and Iterated Greedy (IG) CG was faster than IG which was faster than Pilot We looked at 400 large instances with V = L ≤ 1000 Pilot is too slow to be useful CG clearly outperforms IG IG takes about five times as long as CG 26
Other Computational Experiments We also tested CG on the Minimum Vertex Cover and Maximum Independent Set problems CG improves upon greedy to a substantial degree In addition, we tested CG on the Minimum Weight Vertex Cover problem CG outperforms greedy, SA, TS, and ACO Finally, we tested CG against Stepwise Regression on four instances CG reduced the standard error in each instance 27
Conclusions We introduced Carousel Greedy--a new, generalized greedy algorithm It is fast and widely applicable It has two (easy to set) parameters It has been tested on problems in combinatorial optimization and statistics It outperforms greedy, Iterated Greedy, and Pilot Further testing on Stepwise Regression is required Buon Compleanno Grazia!!! 28