Weighted Spanning Tree Constraint with Explanations
|
|
- Randolph Henry
- 6 years ago
- Views:
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 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 informationMinimum-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 informationChapter 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 informationLagrangian 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 informationVariable 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 informationCS 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 informationCSE 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 informationCSE202 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 informationDiscrete 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 informationCS : 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 informationLecture 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 informationGraphs 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 informationCSE 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 informationSTSM 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 informationCSE 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 information9. 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 informationGreedy 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 informationUnion/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 informationAlgorithm 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 informationLecture 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 informationis 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 information4.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 information22 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 informationCOMP 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 informationCS521 \ 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 informationConstruction 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 informationUNIT 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 informationDESIGN 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 informationChapter 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 informationKruskal'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 informationChapter 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 informationChapter 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 informationChapter 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 informationDepartment 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 information22 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 informationA 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 informationHybrid 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 informationThomas 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 informationA 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 informationConflict 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 informationAssignment 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 informationDecreasing 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 informationCSC 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 informationMST 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 informationLecture 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 informationFinal 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 informationImproving 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 informationMathematical 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 informationIntroduction 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 informationChapter 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 informationCIS 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 informationmanaging 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 informationExam 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 informationA 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 informationCSC 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 informationDesign 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 informationChapter 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 information11/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 informationLecture 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 informationMinimum 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 informationHeuristic 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 informationlooking 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 informationOptimal 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 informationCMSC 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 informationIII 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 informationWeighted 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 informationLecture 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 informationStrategies 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 informationThree 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 informationThree 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 informationCoping 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 informationMinimum 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 informationRepresentations 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 informationModule 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 informationThis 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 informationLecture 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 informationarxiv: 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 informationPropagating 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 informationCSC 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 informationGreedy 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 informationCS 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 informationAlgorithm 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 informationIntroduction 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 informationAutumn 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 informationCSC 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 informationEECS 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 informationChapter 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 informationMinimum 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 informationLecture 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 informationAlgorithms 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 informationMinimum 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 informationAlgorithm 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 informationGreedy 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 informationtree 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 informationCS/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 informationLecture 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 informationCOMP 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 informationNP 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 informationThe 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 information23.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