Weighted Spanning Tree Constraint with Explanations

Size: px
Start display at page:

Download "Weighted Spanning Tree Constraint with Explanations"

Transcription

1 Weighted Spanning Tree Constraint with Explanations CPAIOR 016 Diego de Uña, Graeme Gange, Peter Schachte and Peter J. Stuckey Presented by Peter J. Stuckey May 1, 016 University of Melbourne CIS Department NICTA/Data61 Victoria

2 Table of Contents 1. Background Spanning Trees in the Real World Variants of the Minimum Spanning Tree The WST constraint. Explaining Kruskal s algorithm Kruskal s algorithm with mandatory and forbidden edges Example Propagation rule. Experimental Results Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

3 Background

4 Spanning Trees in the Real World Off-shore Wind Farm Planning (Klein et al., 015): Minimize the amount of cable needed to connect a network of turbines such that: The degree of each turbine is less than. The number of turbines on each branch connected to the main transformer is less than 7. Cables between turbines don t cross each other. Electrical and computer networks: there is a maximum number of cables that can be connected to a single switch (Wang et al., 199). Data Compression uses the Spanning trees with bounds on the diameter (Bookstein et al., 1991). Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

5 Variants of the Minimum Spanning Tree Most variants of the Minimum Spanning Tree are NP-hard: Capacitated MST: where a root is chosen and each subtree under the root has a maximum number of nodes (Papadimitriou et al., 198). Degree-constrained MST: minimum or maximum degree of nodes (Narula et al., 1980). Constrained MST: two weights per edge (costs of building and maintenance, for instance) with a bound on one and an objective on the other (Ravi et al., 1996). Diameter-constrained MST: bound on the diameter of the tree (Achuthan et al., 199).... Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 5

6 The WST constraint Given: a graph G = (N, E) a weight function ws : E N a set B containing a Boolean variable c e for each edge. an integer variable w the constraint wst(n, E, ws, B, w) ensures that B describes a sub-tree T of G that spans all nodes in G and is of cost w. c e = true e T Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 6

7 Previous work & Constribution Brief literature review on the WST constraint: The MST constraint (Dooms et al., 006): ensure a graph is an MST. Cannot compromise cost for side constraints. The WST constraint (Dooms et al., 007)(Régin, 008): first appearance of the constraint we study. No explanations Contributions: Explanations for the lower bound of the WST constraint. Explanations for a propagation rule previously introduced. Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 7

8 Explaining Kruskal s algorithm

9 Kruskal s algorithm revisited Kruskal s algorithm main idea: Add cheapest edge until tree is formed. Use a priority queue to retrieve edges. Before adding an edge, ensure it does not form a cycle. Use Union-Find to test acyclicity. Observations: When adding an edge e = (u, v), if u and v are already connected, all edges between them are cheaper (or equal to) than e. If we skip an edge e = (u, v), a more expensive (or equal) edge will be used to connect u and v. Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 9

10 Kruskal s algorithm with mandatory and forbidden edges It is easy to modify Kruskal s algorithm to incorporate information about which edges MUST be in the tree and which edges CANNOT be in the tree. Mandatory edges: Pre-add mandatory edges as long as they don t form cycles. Forbidden edges: Simply skip them. Some more expensive group of edges will connect the endnodes. Peter J. Stuckey WST Constraint with Explanations CPAIOR

11 Explaining Kurskal s algorithm We need to explain failure when the cost of the cheapest possible Spanning Tree given the current decisions is above the limit w. 1. Run Kruskal s algorithm while identifying: a subset of forbidden edges to add in the explanations, a substitute edge for each edge. Identify mandatory edges that could be substituted by cheaper edges such that the total cost was below the limit. Substitute edge e s is a substitute of e T iff replacing e with e s in T yields a spanning tree. Peter J. Stuckey WST Constraint with Explanations CPAIOR

12 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c b h 1 a 5 f d g e i Fig. 1: Initial graph Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 1

13 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c b h 1 a 5 f d g e i Fig. 1: Mandatory edges pre-added. Forbidden edges appear dotted in grey Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 1

14 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (h, a) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 1

15 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (e, i) Peter J. Stuckey WST Constraint with Explanations CPAIOR

16 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (f, g) Peter J. Stuckey WST Constraint with Explanations CPAIOR

17 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: cannot add edge (b, c) Peter J. Stuckey WST Constraint with Explanations CPAIOR

18 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = h f g Forbidden edge 1 We will have to connect b to c through some more expensive b a edges, thus e we add it to the explanation: c (b,c) 5 10 c d 100 i Fig. 1: Following Kruskal s algorithm: cannot add edge (b, c) Peter J. Stuckey WST Constraint with Explanations CPAIOR

19 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (b, a) Peter J. Stuckey WST Constraint with Explanations CPAIOR

20 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: cannot add edge (g, e) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 0

21 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) Substitute edge h Node g and e are already connected. 1 Edge (g, e) could be used instead of (g, f ), (f, a), (a, d) b or (d, e). We say (g, e) substitutes those edges. c a 5 f d g e i Fig. 1: Following Kruskal s algorithm: cannot add edge (g, e) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 1

22 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (a, f ) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

23 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (c, a) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

24 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (a, d) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

25 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) c b h 1 a 5 f d g e i Fig. 1: Following Kruskal s algorithm: add edge (d, e) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 5

26 Explaining Kurskal s algorithm: Step 1 (Example) Why is the cost of the spanning tree greater than 7 given the current decisions? Explanation = c (b,c) h Total cost = f 11 > 7 We must fail. b a 5 c d g e i Fig. 1: Following Kruskal s algorithm: add edge (d, e) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 6

27 Explaining Kruskal s algorithm: Step (Example) Processing the mandatory edges: For each mandatory edge that has a possible substitute, pretend we substitute the edge (relax it). If the new cost is lower than the limit explanation Else continue decreasing the cost In our example: 1 (f, a) + (g, e) = 1 + = 0 > 7 continue 0 (a, d) + (g, e) = = 8 > 7 continue 8 (d, e) + (g, e) = = 1 < 7 explanation The final explanation is: c (b,c) c (d,e) w > 7 Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 7

28 Explaining Kruskal s algorithm (Example) Final explanation: c (b,c) c (d,e) w > 7 c b h 1 a 5 f d g e i Fig. : Following Kruskal s algorithm: add edge (d, e) Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 8

29 Summary of the algorithm 1. Pre-add mandatory edges. Add edges e = (u, v) as per Kruskal s algorithm if u and v not yet connected and e is forbidden: add c e to the explanation if u and v connected:.1 update substitutes in the path connecting them. if some edge in the path is more expensive than e and e is forbidden add c e to the explanation. Relax mandatory edges e with their substitutes e s until we get to a cost lower than the limit: if cost w e + w es limit: cost cost w e + w es else add c e to the explanation Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 9

30 Explaining propagation We have computed the cheapest Spanning Tree T given the current decisions of cost W. Let e = (u, v) be a possible edge not in T. Its support is the most expensive edge in T in the path from u to v. If replacing the support of e with e in T yields a tree that is too expensive, e cannot be part of T (Régin, 008). Our explanations are also applicable to this! Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 0

31 Experimental Results

32 Diameter Constrained Spanning Trees We compare NoProp: using a decomposition with explanation NoExpl: using a global propagator without explanation NaiveExpl: using a global propagator with naive explanations Expl: using a global propagator with good explanations Choco: using Choco and its WST propagator NRS: published results for CP Optimizer with WST propagator Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

33 Diameter-Constrained MST Instance NoProp NoExpl NaiveExpl Expl Choco NRS (IBM OPL) N E D Nodes Time Nodes Time Nodes Time Nodes Time Nodes Time Nodes Time Total Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

34 Non-Crossing Minimal Spanning Trees classes of Euclidean distance complete graphs C101, C01, R101, RC101 (Solomon benchmarks for VRP) Modify lengths of edges by random coefficient w[e] = coef * randomweight + (1-coef) * originalweight Compare results of NoExpl versus Expl reduction in nodes in search Results for time are correlated Peter J. Stuckey WST Constraint with Explanations CPAIOR 016

35 Non-crossing edges MST on Euclidian Graphs reduct reduct coef coef -1.0 C101 C01 R101 RC101 (a) Instances with 5 nodes, 00 edges -1.0 C101 C01 R101 RC101 (b) Instances with 0 nodes, 5 edges reduct reduct coef coef -1.0 C101 C01 R101 RC101 (c) Instances with 5 nodes, 595 edges -1.0 C101 C01 R101 RC101 (d) Instances with 0 nodes, 780 edges Fig. : Reduction in nodes provided by explanations. The closer the reduction is to 1, the more beneficial explanations were. Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 5

36 Conclusion Efficient algorithm for computing explanations for WST propagations Does not produce minimal explanations Beneficial in constrained spanning tree problems Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 6

37 Thank you for your attention. Questions? Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 7

38 Why do we need to update the cost? (just in case) d e a b c 10 1 Fig. : Example of when updating the cost is absolutely necessary Say limit is 5. This is feasible (MST is = ). If (a, b) and (b, c) are mandatory though, the best solution is = 7, = 7 empty explanation = 7, = c (b,c) explanation Peter J. Stuckey WST Constraint with Explanations CPAIOR 016 8

Weighted Spanning Tree Constraint with Explanations

Weighted Spanning Tree Constraint with Explanations Weighted Spanning Tree Constraint with Explanations Diego de Uña 1, Graeme Gange 1, Peter Schachte 1, and Peter J. Stuckey 1,2 {d.deunagomez@student.,gkgange@,schachte@,pstuckey@}unimelb.edu.au 1 Department

More information

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that

More information

Lagrangian Relaxation in CP

Lagrangian Relaxation in CP Lagrangian Relaxation in CP Willem-Jan van Hoeve CPAIOR 016 Master Class Overview 1. Motivation for using Lagrangian Relaxations in CP. Lagrangian-based domain filtering Example: Traveling Salesman Problem.

More information

Variable Neighborhood Search for the Bounded Diameter Minimum Spanning Tree Problem

Variable Neighborhood Search for the Bounded Diameter Minimum Spanning Tree Problem Variable Neighborhood Search for the Bounded Diameter Minimum Spanning Tree Problem Martin Gruber 1, Günther R. Raidl 1 1 Institute of Computer Graphics and Algorithms Vienna University of Technology Favoritenstraße

More information

CS 310 Advanced Data Structures and Algorithms

CS 310 Advanced Data Structures and Algorithms CS 0 Advanced Data Structures and Algorithms Weighted Graphs July 0, 07 Tong Wang UMass Boston CS 0 July 0, 07 / Weighted Graphs Each edge has a weight (cost) Edge-weighted graphs Mostly we consider only

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

CSE202 Greedy algorithms. Fan Chung Graham

CSE202 Greedy algorithms. Fan Chung Graham CSE202 Greedy algorithms Fan Chung Graham Announcement Reminder: Homework #1 has been posted, due April 15. This lecture includes material in Chapter 5 of Algorithms, Dasgupta, Papadimitriou and Vazirani,

More information

Discrete Optimization over Graph Problems

Discrete Optimization over Graph Problems Discrete Optimization over Graph Problems Diego De Uña Submitted in total fulfilment of the requirements of the degree of Doctor of Philosophy Department of Computing and Information Systems THE UNIVERSITY

More information

CS : Data Structures

CS : Data Structures CS 600.226: Data Structures Michael Schatz Dec 7, 2016 Lecture 38: Union-Find Assignment 10: Due Monday Dec 5 @ 10pm Remember: javac Xlint:all & checkstyle *.java & JUnit Solutions should be independently

More information

Lecture 25 Spanning Trees

Lecture 25 Spanning Trees Lecture 25 Spanning Trees 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning, Iliano Cervesato The following is a simple example of a connected, undirected graph with 5 vertices (A,

More information

Graphs and Network Flows ISE 411. Lecture 7. Dr. Ted Ralphs

Graphs and Network Flows ISE 411. Lecture 7. Dr. Ted Ralphs Graphs and Network Flows ISE 411 Lecture 7 Dr. Ted Ralphs ISE 411 Lecture 7 1 References for Today s Lecture Required reading Chapter 20 References AMO Chapter 13 CLRS Chapter 23 ISE 411 Lecture 7 2 Minimum

More information

CSE 100 Minimum Spanning Trees Prim s and Kruskal

CSE 100 Minimum Spanning Trees Prim s and Kruskal CSE 100 Minimum Spanning Trees Prim s and Kruskal Your Turn The array of vertices, which include dist, prev, and done fields (initialize dist to INFINITY and done to false ): V0: dist= prev= done= adj:

More information

STSM Report. December 24, Improving preparedness of networks to disaster based failures

STSM Report. December 24, Improving preparedness of networks to disaster based failures STSM Report December 24, 2016 1 STSM Title Improving preparedness of networks to disaster based failures 2 STSM Applicant Dr. Deepak Mehta, United Technologies Research Centre, Ireland. 3 Host Prof. Amaro

More information

CSE 100: GRAPH ALGORITHMS

CSE 100: GRAPH ALGORITHMS CSE 100: GRAPH ALGORITHMS Dijkstra s Algorithm: Questions Initialize the graph: Give all vertices a dist of INFINITY, set all done flags to false Start at s; give s dist = 0 and set prev field to -1 Enqueue

More information

9. Which situation is true regarding a cascading cut that produces c trees for a Fibonacci heap?

9. Which situation is true regarding a cascading cut that produces c trees for a Fibonacci heap? 1 1 Name Test 1 - Closed Book Student ID # Multiple Choice. Write your answer to the LEFT of each problem. points each 1. During which operation on a leftist heap may subtree swaps be needed? A. DECREASE-KEY

More information

Greedy Approach: Intro

Greedy Approach: Intro Greedy Approach: Intro Applies to optimization problems only Problem solving consists of a series of actions/steps Each action must be 1. Feasible 2. Locally optimal 3. Irrevocable Motivation: If always

More information

Union/Find Aka: Disjoint-set forest. Problem definition. Naïve attempts CS 445

Union/Find Aka: Disjoint-set forest. Problem definition. Naïve attempts CS 445 CS 5 Union/Find Aka: Disjoint-set forest Alon Efrat Problem definition Given: A set of atoms S={1, n E.g. each represents a commercial name of a drugs. This set consists of different disjoint subsets.

More information

Algorithm Analysis Graph algorithm. Chung-Ang University, Jaesung Lee

Algorithm Analysis Graph algorithm. Chung-Ang University, Jaesung Lee Algorithm Analysis Graph algorithm Chung-Ang University, Jaesung Lee Basic definitions Graph = (, ) where is a set of vertices and is a set of edges Directed graph = where consists of ordered pairs

More information

Lecture Summary CSC 263H. August 5, 2016

Lecture Summary CSC 263H. August 5, 2016 Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.

More information

is the Capacitated Minimum Spanning Tree

is the Capacitated Minimum Spanning Tree Dynamic Capacitated Minimum Spanning Trees Raja Jothi and Balaji Raghavachari Department of Computer Science, University of Texas at Dallas Richardson, TX 75083, USA raja, rbk @utdallas.edu Abstract Given

More information

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting... Contents 1 Introduction... 1 1.1 What is Competitive Programming?... 1 1.1.1 Programming Contests.... 2 1.1.2 Tips for Practicing.... 3 1.2 About This Book... 3 1.3 CSES Problem Set... 5 1.4 Other Resources...

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

COMP 355 Advanced Algorithms

COMP 355 Advanced Algorithms COMP 355 Advanced Algorithms Algorithms for MSTs Sections 4.5 (KT) 1 Minimum Spanning Tree Minimum spanning tree. Given a connected graph G = (V, E) with realvalued edge weights c e, an MST is a subset

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen University of Copenhagen Outline Motivation and Background Minimum-Weight Spanner Problem Greedy Spanner Algorithm Exact Algorithm:

More information

UNIT 3. Greedy Method. Design and Analysis of Algorithms GENERAL METHOD

UNIT 3. Greedy Method. Design and Analysis of Algorithms GENERAL METHOD UNIT 3 Greedy Method GENERAL METHOD Greedy is the most straight forward design technique. Most of the problems have n inputs and require us to obtain a subset that satisfies some constraints. Any subset

More information

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD 1 DESIGN AND ANALYSIS OF ALGORITHMS UNIT II Objectives GREEDY METHOD Explain and detail about greedy method Explain the concept of knapsack problem and solve the problems in knapsack Discuss the applications

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected

More information

Kruskal's MST Algorithm

Kruskal's MST Algorithm Kruskal's MST Algorithm In Wednesday's class we looked at the Disjoint Set data structure that splits a bunch of data values into sets in such a way that each datum is in exactly one set. There are 2 primary

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected

More information

Department of Computer Science and Engineering Analysis and Design of Algorithm (CS-4004) Subject Notes

Department of Computer Science and Engineering Analysis and Design of Algorithm (CS-4004) Subject Notes Page no: Department of Computer Science and Engineering Analysis and Design of Algorithm (CS-00) Subject Notes Unit- Greedy Technique. Introduction: Greedy is the most straight forward design technique.

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

A BDD-Based Polytime Algorithm for Cost-Bounded Interactive Configuration

A BDD-Based Polytime Algorithm for Cost-Bounded Interactive Configuration A BDD-Based Polytime Algorithm for Cost-Bounded Interactive Configuration Tarik Hadzic and Henrik Reif Andersen Computational Logic and Algorithms Group IT University of Copenhagen, Denmark {tarik,hra}@itu.dk

More information

Hybrid Constraint Solvers

Hybrid Constraint Solvers Hybrid Constraint Solvers - An overview Why Hybrid Solvers CP and SAT: Lazy Clause Generation CP and LP: Reification of Linear Constraints Conclusions 9 November 2011 Pedro Barahona - EPCL - Hybrid Solvers

More information

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Introduction to Algorithms Preface xiii 1 Introduction 1 1.1 Algorithms 1 1.2 Analyzing algorithms 6 1.3 Designing algorithms 1 1 1.4 Summary 1 6

More information

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem Mario Ruthmair and Günther R. Raidl Institute of Computer Graphics and Algorithms Vienna University of Technology,

More information

Conflict Graphs for Combinatorial Optimization Problems

Conflict Graphs for Combinatorial Optimization Problems Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO

More information

Assignment 3b: The traveling salesman problem

Assignment 3b: The traveling salesman problem Chalmers University of Technology MVE165 University of Gothenburg MMG631 Mathematical Sciences Linear and integer optimization Optimization with applications Emil Gustavsson Assignment information Ann-Brith

More information

Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )

Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, ) Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 1. if >. 2. error new key is greater than current key 3.. 4.. 5. if NIL and.

More information

CSC 1700 Analysis of Algorithms: Minimum Spanning Tree

CSC 1700 Analysis of Algorithms: Minimum Spanning Tree CSC 1700 Analysis of Algorithms: Minimum Spanning Tree Professor Henry Carter Fall 2016 Recap Space-time tradeoffs allow for faster algorithms at the cost of space complexity overhead Dynamic programming

More information

MST worksheet By Jim Xu

MST worksheet By Jim Xu Name: Name: Name: MST worksheet By Jim Xu Please work in groups of 2 or 3 to work the following problems. Use additional paper as needed, and staple the sheets together before turning them in. ONLY TURN

More information

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29 Lecture 13 Connectedness in graphs Spanning trees in graphs Finding a minimal spanning tree Time costs of graph problems and NP-completeness Finding a minimal spanning tree: Prim s and Kruskal s algorithms

More information

Final Examination CSE 100 UCSD (Practice)

Final Examination CSE 100 UCSD (Practice) Final Examination UCSD (Practice) RULES: 1. Don t start the exam until the instructor says to. 2. This is a closed-book, closed-notes, no-calculator exam. Don t refer to any materials other than the exam

More information

Improving the Held and Karp Approach with Constraint Programming

Improving the Held and Karp Approach with Constraint Programming Improving the Held and Karp Approach with Constraint Programming Pascal Benchimol 1, Jean-Charles Régin 2, Louis-Martin Rousseau 1, Michel Rueher 2, Willem-Jan van Hoeve 3 1 CIRRELT,École Polytechnique

More information

Mathematical Tools for Engineering and Management

Mathematical Tools for Engineering and Management Mathematical Tools for Engineering and Management Lecture 8 8 Dec 0 Overview Models, Data and Algorithms Linear Optimization Mathematical Background: Polyhedra, Simplex-Algorithm Sensitivity Analysis;

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected

More information

CIS 121 Data Structures and Algorithms Minimum Spanning Trees

CIS 121 Data Structures and Algorithms Minimum Spanning Trees CIS 121 Data Structures and Algorithms Minimum Spanning Trees March 19, 2019 Introduction and Background Consider a very natural problem: we are given a set of locations V = {v 1, v 2,..., v n }. We want

More information

managing an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm

managing an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm Spanning Trees 1 Spanning Trees the minimum spanning tree problem three greedy algorithms analysis of the algorithms 2 The Union-Find Data Structure managing an evolving set of connected components implementing

More information

Exam 3 Practice Problems

Exam 3 Practice Problems Exam 3 Practice Problems HONOR CODE: You are allowed to work in groups on these problems, and also to talk to the TAs (the TAs have not seen these problems before and they do not know the solutions but

More information

A Bounded Path Propagator on Directed Graphs

A Bounded Path Propagator on Directed Graphs A Bounded Path Propagator on Directed Graphs Diego de Uña 1, Graeme Gange 1, Peter Schachte 1, and Peter J. Stuckey 1,2 {d.deunagomez@student.,gkgange@,schachte@,pstuckey@}unimelb.edu.au 1 Department of

More information

CSC 8301 Design & Analysis of Algorithms: Kruskal s and Dijkstra s Algorithms

CSC 8301 Design & Analysis of Algorithms: Kruskal s and Dijkstra s Algorithms CSC 8301 Design & Analysis of Algorithms: Kruskal s and Dijkstra s Algorithms Professor Henry Carter Fall 2016 Recap Greedy algorithms iterate locally optimal choices to construct a globally optimal solution

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Lecture Notes on Spanning Trees

Lecture Notes on Spanning Trees Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 25, 2013 The following is a simple example of a connected, undirected graph with 5 vertices

More information

Minimum Spanning Tree

Minimum Spanning Tree Minimum Spanning Tree 1 Minimum Spanning Tree G=(V,E) is an undirected graph, where V is a set of nodes and E is a set of possible interconnections between pairs of nodes. For each edge (u,v) in E, we

More information

Heuristic solution methods for the Fiber To The Home cabling problem

Heuristic solution methods for the Fiber To The Home cabling problem Lecture Notes in Management Science (2014) Vol. 6: 198 206 6 th International Conference on Applied Operational Research, Proceedings Tadbir Operational Research Group Ltd. All rights reserved. www.tadbir.ca

More information

looking ahead to see the optimum

looking ahead to see the optimum ! Make choice based on immediate rewards rather than looking ahead to see the optimum! In many cases this is effective as the look ahead variation can require exponential time as the number of possible

More information

Optimal k-level Planarization and Crossing Minimization

Optimal k-level Planarization and Crossing Minimization Optimal k-level Planarization and Crossing Minimization Graeme Gange 1, Peter J. Stuckey 1, and Kim Marriott 2 1 Department of Computer Science and Software Engineering The University of Melbourne, Vic.

More information

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping

More information

III Optimal Trees and Branchings

III Optimal Trees and Branchings Efficient Graph Algorithms III Optimal Trees and Branchings III Optimal Trees and Branchings 4 1 3 2 2 8 7 3 8 Efficient Graph Algorithms Wolfgang Stille WS 2011/2012 Chapter III - Optimal Trees and Branchings

More information

Weighted Graph Algorithms Presented by Jason Yuan

Weighted Graph Algorithms Presented by Jason Yuan Weighted Graph Algorithms Presented by Jason Yuan Slides: Zachary Friggstad Programming Club Meeting Weighted Graphs struct Edge { int u, v ; int w e i g h t ; // can be a double } ; Edge ( int uu = 0,

More information

Lecture 25 Notes Spanning Trees

Lecture 25 Notes Spanning Trees Lecture 25 Notes Spanning Trees 15-122: Principles of Imperative Computation (Spring 2016) Frank Pfenning 1 Introduction The following is a simple example of a connected, undirected graph with 5 vertices

More information

Strategies for Replica Placement in Tree Networks

Strategies for Replica Placement in Tree Networks Strategies for Replica Placement in Tree Networks http://graal.ens-lyon.fr/~lmarchal/scheduling/ 2 avril 2009 Introduction and motivation Replica placement in tree networks Set of clients (tree leaves):

More information

Three Graph Algorithms

Three Graph Algorithms Three Graph Algorithms Shortest Distance Paths Distance/Cost of a path in weighted graph sum of weights of all edges on the path path A, B, E, cost is 2+3=5 path A, B, C, E, cost is 2+1+4=7 How to find

More information

Three Graph Algorithms

Three Graph Algorithms Three Graph Algorithms Shortest Distance Paths Distance/Cost of a path in weighted graph sum of weights of all edges on the path path A, B, E, cost is 2+3=5 path A, B, C, E, cost is 2+1+4=7 How to find

More information

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario Coping with the Limitations of Algorithm Power Tackling Difficult Combinatorial Problems There are two principal approaches to tackling difficult combinatorial problems (NP-hard problems): Use a strategy

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees 1 Minimum- Spanning Trees 1. Concrete example: computer connection. Definition of a Minimum- Spanning Tree Concrete example Imagine: You wish to connect all the computers in an office

More information

Representations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs

Representations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs Representations of Weighted Graphs (as Matrices) A B Algorithms and Data Structures: Minimum Spanning Trees 9.0 F 1.0 6.0 5.0 6.0 G 5.0 I H 3.0 1.0 C 5.0 E 1.0 D 28th Oct, 1st & 4th Nov, 2011 ADS: lects

More information

Module 10. Network Simplex Method:

Module 10. Network Simplex Method: Module 10 1 Network Simplex Method: In this lecture we shall study a specialized simplex method specifically designed to solve network structured linear programming problems. This specialized algorithm

More information

This is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have

This is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have This is a set of practice questions for the final for CS16. The actual exam will consist of problems that are quite similar to those you have encountered on homeworks, the midterm, and on this practice

More information

Lecture 8: The Traveling Salesman Problem

Lecture 8: The Traveling Salesman Problem Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes

More information

arxiv: v1 [math.co] 25 Sep 2018

arxiv: v1 [math.co] 25 Sep 2018 Algorithms for Euclidean Degree Bounded Spanning Tree Problems Patrick J. Andersen and Charl J. Ras School of Mathematics and Statistics, The University of Melbourne, Australia arxiv:1809.09348v1 [math.co]

More information

Propagating separable equalities in an MDD store

Propagating separable equalities in an MDD store Propagating separable equalities in an MDD store T. Hadzic 1, J. N. Hooker 2, and P. Tiedemann 3 1 University College Cork t.hadzic@4c.ucc.ie 2 Carnegie Mellon University john@hooker.tepper.cmu.edu 3 IT

More information

CSC 505, Fall 2000: Week 7. In which our discussion of Minimum Spanning Tree Algorithms and their data Structures is brought to a happy Conclusion.

CSC 505, Fall 2000: Week 7. In which our discussion of Minimum Spanning Tree Algorithms and their data Structures is brought to a happy Conclusion. CSC 505, Fall 2000: Week 7 In which our discussion of Minimum Spanning Tree Algorithms and their data Structures is brought to a happy Conclusion. Page 1 of 18 Prim s algorithm without data structures

More information

Greedy Algorithms. At each step in the algorithm, one of several choices can be made.

Greedy Algorithms. At each step in the algorithm, one of several choices can be made. Greedy Algorithms At each step in the algorithm, one of several choices can be made. Greedy Strategy: make the choice that is the best at the moment. After making a choice, we are left with one subproblem

More information

CS 6783 (Applied Algorithms) Lecture 5

CS 6783 (Applied Algorithms) Lecture 5 CS 6783 (Applied Algorithms) Lecture 5 Antonina Kolokolova January 19, 2012 1 Minimum Spanning Trees An undirected graph G is a pair (V, E); V is a set (of vertices or nodes); E is a set of (undirected)

More information

Algorithm Design Techniques. Hwansoo Han

Algorithm Design Techniques. Hwansoo Han Algorithm Design Techniques Hwansoo Han Algorithm Design General techniques to yield effective algorithms Divide-and-Conquer Dynamic programming Greedy techniques Backtracking Local search 2 Divide-and-Conquer

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Greedy Algorithms October 5, 2015 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff INRIA Lille Nord Europe Course Overview 2 Date Topic Mon, 21.9.2015 Introduction

More information

Autumn Minimum Spanning Tree Disjoint Union / Find Traveling Salesman Problem

Autumn Minimum Spanning Tree Disjoint Union / Find Traveling Salesman Problem Autumn Minimum Spanning Tree Disjoint Union / Find Traveling Salesman Problem Input: Undirected Graph G = (V,E) and a cost function C from E to the reals. C(e) is the cost of edge e. Output: A spanning

More information

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms Professor Henry Carter Fall 2016 Recap Space-time tradeoffs allow for faster algorithms at the cost of space complexity

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #8: Task Assignment and Scheduling on Multiprocessor Systems

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #8: Task Assignment and Scheduling on Multiprocessor Systems EECS 571 Principles of Real-Time Embedded Systems Lecture Note #8: Task Assignment and Scheduling on Multiprocessor Systems Kang G. Shin EECS Department University of Michigan What Have We Done So Far?

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.5 Minimum Spanning Tree Minimum Spanning Tree Minimum spanning tree. Given a connected

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees Overview Problem A town has a set of houses and a set of roads. A road connects and only houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and

More information

Lecture 19. Broadcast routing

Lecture 19. Broadcast routing Lecture 9 Broadcast routing Slide Broadcast Routing Route a packet from a source to all nodes in the network Possible solutions: Flooding: Each node sends packet on all outgoing links Discard packets received

More information

Algorithms for Minimum Spanning Trees

Algorithms for Minimum Spanning Trees Algorithms & Models of Computation CS/ECE, Fall Algorithms for Minimum Spanning Trees Lecture Thursday, November, Part I Algorithms for Minimum Spanning Tree Sariel Har-Peled (UIUC) CS Fall / 6 Sariel

More information

Minimum Spanning Trees. CSE 373 Data Structures

Minimum Spanning Trees. CSE 373 Data Structures Minimum Spanning Trees CSE 373 Data Structures Reading Chapter 3 Section 3.7 MSTs 2 Spanning Tree Given (connected) G(V,E) a spanning tree T(V,E ): Spans the graph (V = V) Forms a tree (no cycle); E has

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 10 Implementing MST Algorithms Adam Smith Minimum spanning tree (MST) Input: A connected undirected graph G = (V, E) with weight function w : E R. For now, assume

More information

Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d

Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

tree follows. Game Trees

tree follows. Game Trees CPSC-320: Intermediate Algorithm Design and Analysis 113 On a graph that is simply a linear list, or a graph consisting of a root node v that is connected to all other nodes, but such that no other edges

More information

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims. Lecture 25: Review and Open Problems CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 25: Review and Open Problems Course Overview Programming Concepts Object-Oriented Programming Interfaces

More information

Lecture 7. Search. Search. Foundations of Constraint Programming

Lecture 7. Search. Search. Foundations of Constraint Programming Lecture 7 1 Outline Introduce search trees Discuss various types of labeling trees, in particular trees for - forward checking - partial look ahead - maintaining arc consistency (MAC) Discuss various search

More information

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Approximation Algorithms CLRS 35.1-35.5 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 30 Approaching

More information

NP and computational intractability. Kleinberg and Tardos, chapter 8

NP and computational intractability. Kleinberg and Tardos, chapter 8 NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient

More information

The k-center problem Approximation Algorithms 2009 Petros Potikas

The k-center problem Approximation Algorithms 2009 Petros Potikas Approximation Algorithms 2009 Petros Potikas 1 Definition: Let G=(V,E) be a complete undirected graph with edge costs satisfying the triangle inequality and k be an integer, 0 < k V. For any S V and vertex

More information

23.2 Minimum Spanning Trees

23.2 Minimum Spanning Trees 23.2 Minimum Spanning Trees Kruskal s algorithm: Kruskal s algorithm solves the Minimum Spanning Tree problem in O( E log V ) time. It employs the disjoint-set data structure that is similarly used for

More information