Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science
Advertisements

Instructor Neelima Gupta Table of Contents Approximation Algorithms.
Design and Analysis of Algorithms Approximation algorithms for NP-complete problems Haidong Xue Summer 2012, at GSU.
Great Theoretical Ideas in Computer Science for Some.
Approximation Algorithms for TSP
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
NP-Complete Problems Polynomial time vs exponential time
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
9.2 The Traveling Salesman Problem. Let us return to the question of finding a cheapest possible cycle through all the given towns: We have n towns (points)
Combinatorial Algorithms
Great Theoretical Ideas in Computer Science.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Approximation Algorithms: Concepts Approximation algorithm: An algorithm that returns near-optimal solutions (i.e. is "provably good“) is called an approximation.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Network Optimization Problems: Models and Algorithms This handout: Minimum Spanning Tree Problem.
Math443/543 Mathematical Modeling and Optimization
Mathematical Modeling and Optimization: Summary of “Big Ideas”
Great Theoretical Ideas in Computer Science.
1 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V such that for each edge (u, v) ∈ E at least one of u and v belongs to V’ and |V’| is minimized.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
1 Assignment 4. This one is cancelled since there is a solution on website. I new assignment will be given on Nov. 28. (Due on Friday of Week 14. Drop.
1 NP-Complete Problems Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph, the length.
NP-Complete Problems (Fun part)
9-1 Chapter 9 Approximation Algorithms. 9-2 Approximation algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Network Optimization Problems: Models and Algorithms
Solution methods for Discrete Optimization Problems.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 NP-Complete Problems (Fun part) Polynomial time vs exponential time –Polynomial O(n k ), where n is the input size (e.g., number of nodes in a graph,
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
1 Traveling Salesman Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
The Traveling Salesperson Problem Algorithms and Networks.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
The Traveling Salesman Problem Approximation
University of Texas at Arlington Srikanth Vadada Kishan Kumar B P Fall CSE 5311 Solving Travelling Salesman Problem for Metric Graphs using MST.
1 The TSP : NP-Completeness Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell.
Mathematical Modeling and Optimization: Summary of “Big Ideas”
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Great Theoretical Ideas in Computer Science.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
The Traveling Salesman Problem Over Seventy Years of Research, and a Million in Cash Presented by Vladimir Coxall.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Projects Network Theory VLSI PSM 1. Network 1. Steiner trees
Traveling Salesman Problem (TSP)
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Approximation Algorithms for TSP Tsvi Kopelowitz 1.
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
1 Travelling Salesman Problem Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Approximation Algorithms Guo QI, Chen Zhenghai, Wang Guanhua, Shen Shiqi, Himeshi De Silva.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Instructor Neelima Gupta Table of Contents Introduction to Approximation Algorithms Factor 2 approximation algorithm for TSP Factor.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
1 Minimum Spanning Tree: Solving TSP for Metric Graphs using MST Heuristic Soheil Shafiee Shabnam Aboughadareh.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
Approximation Algorithms
Optimization problems such as
School of Computing Clemson University Fall, 2012
Hamiltonian Cycle and TSP
Great Theoretical Ideas in Computer Science
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
Approximation Algorithms for TSP
Discrete Mathematics for Computer Science
Approximation Algorithms
Presentation transcript:

Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman 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:

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: e b c d a e b c d a G=(V,E) Min. span. tree: 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.

The algorithm applied to our example Initialization: Select node a to start. Its closest node is node b. Connect nodes a 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 e b c d a e b c d a Red bold arcs are in E*; thin arcs represent potential links.

The algorithm applied to our example Iteration 2 : The unconnected node closest to a connected node is node d (3 far 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 e b c d a e b c d a

Recall Classes of discrete optimization problems:  Class 1 problems have polynomial-time algorithms for solving the problems optimally. Ex.: Min. Spanning Tree problem Assignment Problem  For Class 2 problems (NP-hard problems) No polynomial-time algorithm is known; And more likely there is no one. Ex.: Traveling Salesman Problem Coloring problem

Three main directions to solve NP-hard discrete optimization problems: Integer programming techniques Heuristics Approximation algorithms We gave examples of the first two methods for TSP. In this handout, an approximation algorithm for TSP.

Definition of Approximation Algorithms Definition: An α-approximation algorithm is a polynomial-time algorithm which always produces a solution of value within α times the value of an optimal solution. That is, for any instance of the problem Z algo / Z opt  α, (for a minimization problem) where Z algo is the cost of the algorithm output, Z opt is the cost of an optimal solution. α is called the approximation guarantee (or factor) of the algorithm.

Some Characteristics of Approximation Algorithms Time-efficient (sometimes not as efficient as heuristics) Don’t guarantee optimal solution Guarantee good solution within some factor of the optimum Rigorous mathematical analysis to prove the approximation guarantee Often use algorithms for related problems as subroutines Next we will give an approximation algorithm for TSP.

An approximation algorithm for TSP Given an instance for TSP problem, 1.Find a minimum spanning tree (MST) for that instance. (using the algorithm of the previous handout) 2.To get a tour, start from any node and traverse the arcs of MST by taking shortcuts when necessary. Example: Stage 1Stage 2 start from this node red bold arcs form a tour

Approximation guarantee for the algorithm In many situations, it is reasonable to assume that triangle inequality holds for the cost function c: E  R defined on the arcs of network G=(V,E) : c uw  c uv + c vw for any u, v, w  V Theorem: If the cost function satisfies the triangle ineqality, then the algorithm for TSP is a 2-approximation algorithm. w v u

Approximation guarantee for the algorithm (proof)  First let’s compare the optimal solutions of MST and TSP for any problem instance G=(V,E), c: E  R. Idea: Get a tour from Minimum spanning tree without increasing its cost too much (at most twice in our case). Cost (Opt. TSP sol-n)Cost (of this tree)Cost (Opt. MST sol-n) ≥≥ Optimal TSP sol-n Optimal MST sol-n A tree obtained from the tour (*)

Approximation guarantee for the algorithm (proof)  The algorithm takes a minimum spanning tree starts from any node traverse the MST arcs by taking shortcuts when necessary to get a tour.  What is the cost of the tour compared to the cost of MST? Each tour (bold) arc e is a shortcut for a set of tree (thin) arcs f 1, …, f k (or simply coincides with a tree arc) start from this node red bold arcs form a tour

Approximation guarantee for the algorithm (proof) Based on triangle inequality, c(e)  c(f 1 )+…+c(f k ) E.g, c 15  c 13 + c 35 c 23  c 23 But each tree (thin) arc is shortcut exactly twice. (**) E.g., tree arc 3-5 is shortcut by tour arcs 1-5 and 5-6.  The following chain of inequalities concludes the proof, by using the facts we obtained so far: start from this node red bold arcs form a tour

Performance of TSP algorithms in practice A more sophisticated algorithm (which again uses the MST algorithm as a subroutine) guarantees a solution within factor of 1.5 of the optimum (Christofides). For many discrete optimization problems, there are benchmarks of instances on which algorithms are tested. For TSP, such a benchmark is TSPLIB. On TSPLIB instances, the Christofides’ algorithm outputs solutions which are on average 1.09 times the optimum. For comparison, the nearest neighbor algorithm outputs solutions which are on average 1.26 times the optimum. A good approximation factor often leads to good performance in practice.