EMIS 8373: Integer Programming

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Lecture 15. Graph Algorithms
Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices. Edges are.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
© 2004 Goodrich, Tamassia Minimum Spanning Trees1 Minimum Spanning Trees (§ 13.7) Spanning subgraph Subgraph of a graph G containing all the vertices of.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Minimum Spanning Tree Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Minimum Spanning Trees and Clustering By Swee-Ling Tang April 20, /20/20101.
WEIGHTED GRAPHS. Weighted Graphs zGraph G = (V,E) such that there are weights/costs associated with each edge Õw((a,b)): cost of edge (a,b) Õrepresentation:
Graph Dr. Bernard Chen Ph.D. University of Central Arkansas.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
Minimum Spanning Trees Suppose G = (V, E) is a undirected network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …) Determine.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Minimum Spanning Trees Easy. Terms Node Node Edge Edge Cut Cut Cut respects a set of edges Cut respects a set of edges Light Edge Light Edge Minimum Spanning.
Minimum-Cost Spanning Tree CS 110: Data Structures and Algorithms First Semester,
Lecture 19 Greedy Algorithms Minimum Spanning Tree Problem.
1 Minimum Spanning Trees (some material adapted from slides by Peter Lee, Ananda Guna, Bettina Speckmann)
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
Minimum Spanning Tree: Prim’s & Kruskal’s Algorithms Presenter: Michal Karpinski.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Minimum- Spanning Trees
1 22c:31 Algorithms Minimum-cost Spanning Tree (MST)
Prims Algorithm for finding a minimum spanning tree
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Trees Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT
WEEK 12 Graphs IV Minimum Spanning Tree Algorithms.
MST Lemma Let G = (V, E) be a connected, undirected graph with real-value weights on the edges. Let A be a viable subset of E (i.e. a subset of some MST),
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Kruskal’s Algorithm for Computing MSTs Section 9.2.
Graph Search Applications, Minimum Spanning Tree
Minimum Spanning Trees
Introduction to Algorithms
Minimum Spanning Tree Chapter 13.6.
Minimum Spanning Trees
Lecture 22 Minimum Spanning Tree
CISC 235: Topic 10 Graph Algorithms.
Data Structures & Algorithms Graphs
Minimum-Cost Spanning Tree
Minimum Spanning Tree.
Minimum Spanning Trees
Connected Components Minimum Spanning Tree
Minimum Spanning Tree.
Minimum Spanning Tree.
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Minimum-Cost Spanning Tree
Kruskal’s Algorithm for finding a minimum spanning tree
Graph Operations And Representation
Minimum-Cost Spanning Tree
Trees.
Kruskal’s Minimum Spanning Tree Algorithm
MA/CSSE 473 Day 33 Student Questions Change to HW 13
Minimum Spanning Tree Algorithms
Minimum Spanning Tree.
Minimum Spanning Trees (MSTs)
EMIS 8373: Integer Programming
CSE 332: Minimum Spanning Trees
Minimum-Cost Spanning Tree
Minimum Spanning Trees
Presentation transcript:

EMIS 8373: Integer Programming Optimal Spanning Trees updated 10 April 2007

Minimum Spanning Tree (MST) Input A (simple) graph G = (V,E) Edge cost cij for each edge (i,j)  E Optimization Problem Find a minimum-cost spanning tree Spanning tree: a set of |V|-1 edges T such that each vertex is adjacent to at least one edge in T, and T contains no cycles.

MST Example: Input 1 3 2 5 4 6 7

MST Example: Some Feasible Spanning Trees 6 6 2 3 2 3 3 3 5 cost = 17 1 7 1 cost = 16 1 2 5 4 5 4 6 2 3 2 3 cost = 14 cost = 16 1 4 7 1 7 1 1 2 2 5 4 5 4

IP Formulation Sets Variables: Objective Function: Let Adj[i] be the set of edges in E that are adjacent to vertex i. Variables: Let xij = 1 if and only if edge (i,j) is in the spanning tree. Objective Function:

IP Formulation Constraints The tree must contain at least one edge that is adjacent to any given vertex: Cycle (subtour) elimination:

Kruskal’s Algorithm F := E T := {} Repeat Until |T| = |V| - 1 Select (i,j)  F such that cij = min(cuv: (u,v)  F) F := F \ {(i,j)} If T  {(i,j)} does not contain a cycle then T := T  {(i,j)}

Kruskal’s Algorithm: Example 1 6 2 4 3 5 1 4 7 2 1 3 5

Testing for Cycles Let GT be the subgraph of G induced by the set of edges in T. As edges are added to T, the algorithm creates a forest (i.e., a collection of trees). Each tree in the forest forms a connected component of GT. By keeping track of which component each node is in, we can quickly, and easily determine whether or not adding a new edge to T will create a cycle.

Testing for Cycles Initialize component[i] = 0 for all i  V. When edge (i, j) is inspected, there are 5 cases to consider component[i] = component[j] = 0 Add (i, j) to T; (i, j) becomes a new component of GT. component[i] = 0, component[j] > 0. Add (i, j) to T; vertex i will go into the same component as j. component[i] > 0, component[j] = 0. Add (i,j) to T; vertex j will go into the same component as i. component[i] > 0, component[j] > 0, component[i]  component[j] Add (i, j) to T; merge components. component[i] = component[j] > 0 Adding (i, j) to T would create a cycle.

Kruskal’s Algorithm: Example 2 4 2 4 2 5 1 3 1 2 6 3 5

Kruskal’s Algorithm: Example 2 4 2 4 1 2 2 5 1 3 1 2 6 3 5 1 2 (2, 3) creates a cycle because vertices 2 and 3 are in the same connected component.

Kruskal’s Algorithm: Example 2 4 2 4 1 2 2 5 1 3 1 2 6 3 5 1 2 (2, 4) does not create a cycle because vertices 2 and 4 are in different connected components.

Kruskal’s Algorithm: Example 2 4 2 4 1 2 2 5 1 3 1 2 6 3 5 1 2 Merge components 1 and 2.

Kruskal’s Algorithm: Example 2 1 4 2 4 1 2 1 5 1 3 1 2 6 3 5 1 1 Component 1 is a MST.