280 likes | 483 Views
Carousel Greedy: A Generalized Greedy Algorithm for Optimizing the Cardinality of a Set. Carmine Cerrone , Raffaele Cerulli , Bruce Golden GO IX Sirmione , Italy July 2014. Outline. Motivation The Minimum Label Spanning Tree (MLST) problem Experimental justification
E N D
Carousel Greedy: A Generalized Greedy Algorithm for Optimizing the Cardinality of a Set Carmine Cerrone, RaffaeleCerulli, Bruce Golden GO IX Sirmione, Italy July 2014
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
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
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
2 2 5 3 4 5 4 3 6 1 e c e d 6 1 a e e a d b b b b b b Motivation • A Small Example Input Solution
Description of MVCA 0. Input: G (V, E, L). • Let C { } be the set of used labels. • repeat 3. Let H be the subgraph of G restricted to V and edges with labels from C. 4. for all iL – 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.
2 5 3 5 3 4 2 3 5 2 4 4 6 1 e c 6 1 e d e e a a d b b b b b b How MVCA Works Solution Intermediate Solution Input 1 6 b b b
a a a a c c c 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
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 b b b c c c
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
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
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
MVCA Phase Experiment end of MVCA start 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
A Limitation of MVCA • 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?
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
Carousel Greedy Illustration for S = 5, α = 1, β= 40% • 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
The Carousel Greedy Algorithm Start 2 3 1 B P R P G O O O G R R R 5 4 6 R R R P G P G G O O
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
Carousel Greedy Improvements over MVCA α = 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 α = 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
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
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
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 • BuonCompleannoGrazia!!!