100 likes | 368 Views
Network Optimization Problems: Models and Algorithms. This handout: Minimum Spanning Tree Problem. Terminology of Graphs. A graph (or network) consists of a set of points a set of lines connecting certain pairs of the points. The points are called nodes (or vertices ).
E N D
Network Optimization Problems:Models and Algorithms • This handout: • Minimum Spanning Tree Problem
Terminology of Graphs • A graph (or network) consists of • a set of points • a set of lines connecting certain pairs of the points. The points are called nodes (or vertices). The lines are called arcs (or edges or links). • Example:
Terminology of Graphs: Paths • A path between two nodes is a sequence of distinct nodes and edges connecting these nodes. Example: a b
Terminology of Graphs: Cycles, Connectivity and Trees • A path that begins and ends at the same node is called a cycle. Example: • Two nodes are connected if there is a path between them. • A graph is connected if every pair of its nodes is connected. • A graph is acyclic if it doesn’t have any cycle. • A graph is called a tree if it is connected and acyclic. Example:
3 3 b b d d 2 2 8 8 a a 3 3 5 5 7 7 4 4 e e c c 4 4 Minimum Spanning Tree Problem • Given: Graph G=(V, E), |V|=n Cost function c: E R . • Goal: Find a minimum-cost spanning tree for V i.e., find a subset of arcs E* E which connects any two nodes of V with minimum possible cost. • Example: Min. span. tree: G*=(V,E*) G=(V,E) Red bold arcs are in E*
Algorithm for solving the Minimum Spanning Tree Problem • Initialization: Select any node arbitrarily, connect to its nearest node. • Repeat • Identify the unconnected node which is closest to a connected node • Connect these two nodes Until all nodes are connected Note: Ties for the closest node are broken arbitrarily.
3 3 b b d d 2 2 8 8 a a 3 3 5 5 7 7 4 4 e e c c 4 4 The algorithm applied to our example • Initialization: Select node a to start. Its closest node is nodeb. Connect nodesa and b. • Iteration 1: There are two unconnected node closest to a connected node: nodes c and d (both are 3 units far from node b). Break the tie arbitrarily by connecting node c to node b. Red bold arcs are in E*; thin arcs representpotential links.
3 3 b b d d 2 2 8 8 a a 3 3 5 5 7 7 4 4 e e c c 4 4 The algorithm applied to our example • Iteration 2: The unconnected node closest to a connected node is noded (3far from node b). Connect nodes b and d. • Iteration 3:The only unconnected node left is node e. Its closest connected node is node c (distance between c and e is 4). Connect node e to node c. • All nodes are connected. The bold arcs give a min. spanning tree.