The Traveling Salesman Problem Approximation

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science
Advertisements

Instructor Neelima Gupta Table of Contents Approximation Algorithms.
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
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 ( )
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
Lecture 21 Approximation Algorithms Introduction.
Minimum Spanning Trees Kun-Mao Chao ( 趙坤茂 ) Department of Computer Science and Information Engineering National Taiwan University, Taiwan
Great Theoretical Ideas in Computer Science.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
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.
Approximation Algorithms1. 2 Outline and Reading Approximation Algorithms for NP-Complete Problems (§13.4) Approximation ratios Polynomial-Time Approximation.
1 Approximation Algorithms CSC401 – Analysis of Algorithms Lecture Notes 18 Approximation Algorithms Objectives: Typical NP-complete problems Approximation.
Great Theoretical Ideas in Computer Science.
Approximation Algorithms for the Traveling Salesperson Problem.
NP-Complete Problems (Fun part)
Vertex cover problem S  V such that for every {u,v}  E u  S or v  S (or both)
Graphs. Graph A “graph” is a collection of “nodes” that are connected to each other Graph Theory: This novel way of solving problems was invented by a.
Network Optimization Problems: Models and Algorithms
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
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.
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
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.
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.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
6.1 Hamilton Circuits and Paths: Hamilton Circuits and Paths: Hamilton Path: Travels to each vertex once and only once… Hamilton Path: Travels to each.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
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
1 Approximation Algorithm Updated on 2012/12/25. 2 Approximation Algorithm Up to now, the best algorithm for solving an NP-complete problem requires exponential.
Approximation Algorithms for TSP Tsvi Kopelowitz 1.
1 Travelling Salesman Problem Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij.
Approximation Algorithms Guo QI, Chen Zhenghai, Wang Guanhua, Shen Shiqi, Himeshi De Silva.
Approximation Algorithms
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.
Traveling Salesman Problem DongChul Kim HwangRyol Ryu.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
1 Minimum Spanning Tree: Solving TSP for Metric Graphs using MST Heuristic Soheil Shafiee Shabnam Aboughadareh.
Approximation Algorithms
Steiner trees: Approximation Algorithms
Optimization problems such as
Approximation Algorithms
Hamiltonian Cycle and TSP
Hamiltonian Cycle and TSP
Great Theoretical Ideas in Computer Science
Approximation Algorithms
Approximation Algorithms
Approximation Algorithms for TSP
Discrete Mathematics for Computer Science
Minimum Spanning Trees
Richard Anderson Lecture 28 Coping with NP-Completeness
Minimum Spanning Trees
Minimum Spanning Trees
Approximation Algorithms
Minimum Spanning Trees
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

The Traveling Salesman Problem Approximation Rachit Shah March 3 Class Notes CSE Department UTA Arlington CSE 6311 Adv Comp Models and Algorithms Prof: Dr Gautam Das

Traveling Salesman Problem Traveling Salesman Problem (TSP): Given a complete graph with nonnegative edge costs, Find a minimum cost cycle visiting every vertex exactly once. Application (Example): Given a number of cities and the costs of traveling from any city to any other city, what is the cheapest round-trip route that visits each city exactly once and then returns to the starting city

Triangle Inequality a + b ≥ c For example, cost of an edge as the euclidian distance between two points. Metric Traveling Salesman Problem (metric TSP): Given a complete graph with edge costs satisfying triangle inequalities, Find a minimum cost cycle visiting every vertex exactly once. a c b

Metric TSP approximation The cost function satisfies the triangle inequality for all vertices u, v, w in V c(u,w) <= c(u,v) + c(v,w) Eulerian graphs and Eulerian circuits: Eulerian circuit: cycle that uses each edge exactly once Eulerian graph: graph with a Eulerian circuit An undirected graph is Eulerian iff each vertex has even degree

Approximate-TSP-tour (G) Find MST T of G Double every edge of the MST to get a Eulerian graph G’ Idea: Get a tour from Minimum spanning tree without increasing its cost too much (at most twice). Find an Eulerian circuit E on G’ Output the vertices of G in order of appearance in E

First let’s compare the optimal solutions of MST and TSP for any problem instance G=(V,E) Optimal MST sol-n Optimal TSP sol-n A tree obtained from the tour (*) Cost (Opt. TSP sol-n) Cost (Opt. MST sol-n) ≥ Cost (of this tree) ≥

What is the cost of the tour compared to the cost of MST? 1 2 3 4 5 6

Analysis This is a 2 approximation algorithm MST < Euler Cycle = 2 * MST <= 2.0 TSP Can we improve this? The previous algorithm was a factor 2 algorithm. Recall Step 2: Double every edge of the MST to get a Eulerian graph G’ If we can work avoid this, we could possibly have a better solution !

Perfect Matching Matching: a matching is a subset M of E such that for all vertices v in V, at most one edge is incident on v. Perfect Matching: is a matching M such that for all vertices v in V exactly one edge of M is incident on v.

Minimum Weight Matching Perfect matching with minimum sum of weights Input: Complete weighted graph s, |v| is even Output: A pair of values (vi, vj) such that the sum of weights is smallest.

1.5 approximation algorithm (Known as Christofides Heuristics) Find a MST T of G Find a minimum weight (perfect) matching M on the set of odd degree vertices in T. Add M to T to get the Eulerian graph G’ Find an Eulerian circuit E on G’ by skipping vertices already seen (shortcutting) Output the vertices of G in order of appearance in E

Step 2: Even nodes with odd degree?? How can I know that I always have even number of nodes, which have odd degree, for me to do the MATCHING? Let Sum(d) = 2m, where m= number of edges. Therefore Sum(d) is even. Let SumEven(d) to be the sum of degrees of the vertices which have even degree, SumEven(d) is also even. Therefore SumOdd(d)=Sum(d)-SumEven(d) = 2k, k=1,2,…, which means that the sum of degrees of the vertices which have odd degree each is also an even number. Thus there are even numbers of vertices which have odd number of degree.

Analysis TSP = match1 + match2 (we can divide TSP in two mutually exclusive matchings) MWM <= min{ match1, match2} Match1 + match 2 = TSP MWM + MWM <= TSP (MWM <= match1 and MWM <= match2) MWM <= .5 TSP MST < Euler Cycle = MST + MWM <= TSP + .5 TSP = 1.5 TSP