Travelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

Size: px
Start display at page:

Download "Travelling Salesman Problem. Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij"

Transcription

1 Travelling Salesman Problem Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij 1

2 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics, a.o.: Christofides, insertion heuristics Improvement heuristics, a.o.: 2-opt, 3-opt, Lin-Kernighan Exact algorithms 2

3 Travelling Salesman Problem Algorithms and Networks PROBLEM DEFINITION APPLICATIONS 3

4 Problem Instance: n vertices (cities), distance between every pair of vertices. Question: Find shortest (simple) cycle that visits every city?

5 Applications Pickup and delivery problems Robotics Board drilling / chip manufacturing Lift scheduling 5

6 Assumptions / Problem Variants Complete graph vs underlying graph structure. Complete graph: a given distance between all pairs of cities. Directed edges vs undirected arcs. Undirected: symmetric: w(u,v) = w(v,u). Directed: not symmetric. Asymmetric examples: painting/chip machine application. Lengths: Lengths are non-negative (or positive). Triangle inequality: for all x, y, z: w(x,y) + w(y,z) w(x,z) Different assumptions lead to different problems. 6

7 NP-complete Instance: cities, distances, k. Question: is there a TSP-tour of length at most k? Is an NP-complete problem. Relation with Hamiltonian Circuit problem. 7

8 If triangle inequality does not hold Theorem: If P NP, then there is no polynomial time algorithm for TSP without triangle inequality that approximates within a ratio c, for any constant c. Proof: Suppose there is such an algorithm A. We build a polynomial time algorithm for Hamiltonian Circuit (giving a contradiction): Take instance G=(V,E) of Hamiltonian Circuit. Build instance of TSP: A city for each v V. If (v,w) E, then d(v,w) = 1, otherwise d(v,w) = nc+1. A finds a tour with distance at most nc, if and only if, G has a Hamiltonian circuit. 8

9 Travelling Salesman Problem Algorithms and Networks CONSTRUCTION HEURISTICS 9

10 Heuristics and approximations Construction heuristics: A tour is built from nothing. Improvement heuristics: Start with `some tour, and continue to change it into a better one as long as possible 10

11 1 st Construction Heuristic: Nearest neighbor Start at some vertex s; v=s; While not all vertices visited Select closest unvisited neighbor w of v Go from v to w; v=w Go from v to s. Without triangle inequality: Approximation ratio arbitrarily bad. With triangle inequality: Approximation ratio O(log n). 11

12 2 nd Construction Heuristic: Heuristic with ratio 2 Find a minimum spanning tree Report vertices of tree in preorder Preorder: visit a node before its children Approximation ratio 2 (with triangle inequality): OPT MST 2 MST Result Result / OPT 2MST / MST = 2 12

13 3 rd Construction Heuristic: Christofides 1. Make a Minimum Spanning Tree T. 2. Set W = {v v has odd degree in tree T}. 3. Compute a minimum weight matching M in the graph G[W]. 4. Look at the graph T+M. Note that T+M is Eulerian! 5. Compute an Euler tour C in T+M. 6. Add shortcuts to C to get a TSP-tour. 13

14 Ratio 1.5 Total length edges in T: at most OPT Total length edges in matching M: at most OPT/2. T+M has length at most 3/2 OPT. Use D-inequality. 14

15 4 th Construction Heuristic: Closest insertion heuristic Build tour by starting with one vertex, and inserting vertices one by one. Always insert vertex that is closest to a vertex already in tour. 15

16 Closest insertion heuristic has performance ratio 2 Build tree T: if v is added to tour, add to T edge from v to closest vertex on tour. T is a Minimum Spanning Tree (Prim s algorithm). Total length of T OPT. Length of tour 2* length of T. 16

17 Many variants Closest insertion: insert vertex closest to vertex in the tour. Farthest insertion: insert vertex whose minimum distance to a node on the cycle is maximum. Cheapest insertion: insert the node that can be inserted with minimum increase in cost. Gives also ratio 2. Computationally expensive. Random insertion: randomly select a vertex. Each time: insert vertex at position that gives minimum increase of tour length. 17

18 5 th Construction Heuristic: Cycle merging heuristic Start with n cycles of length 1. Repeat: Find two cycles with minimum distance. Merge them into one cycle. Until 1 cycle with n vertices. This has ratio 2: compare with algorithm of Kruskal for MST. 18

19 6 th Construction Heuristic: Savings heuristic Cycle merging heuristic where we merge tours that provide the largest savings : Saving for a merge: merge with the smallest additional cost / largest savings. 19

20 Some test results In an overview paper, Junger et al. report on tests on set of instances ( vertices; city-generated TSP benchmarks) Nearest neighbor: 24% away from optimal in average Closest insertion: 20%; Farthest insertion: 10%; Cheapest insertion: 17%; Random Insertion: 11%; Preorder of min spanning trees: 38%; Christofides: 19% with improvement 11% / 10%; Savings method: 10% (and fast). 20

21 Travelling Salesman Problem Algorithms and Networks IMPROVEMENT HEURISTICS 21

22 Improvement heuristics Start with a tour (e.g., from heuristic) and improve it stepwise 2-Opt 3-Opt K-Opt Lin-Kernighan Iterated LK Simulated annealing, Iterative improvement Local search 22

23 Scheme Rule that modifies solution to different solution While there is a Rule(sol, sol ) with sol a better solution than sol Take sol instead of sol Cost decrease Stuck in `local minimum Can use exponential time in theory 23

24 Very simple Node insertion: Take a vertex v and put it in a different spot in the tour. Edge insertion: Take two successive vertices v, w and put these as edge somewhere else in the tour. 24

25 2-opt Take two edges (v,w) and (x,y) and replace them by (v,x) and (w,y) if this improves the tour. Costly: part of tour should be turned around. On R 2 : get rid of crossings of tour. 25

26 2-Opt improvements Reversing shorter part of the tour. We need a direction on the tour to decide what reconnect option leads to subtours. Postpone correcting tour. Clever search to improving moves. Restrict distance function evaluations. Prove that you do not need to consider some potential 2-opt moves, because these were not improving in earlier steps. Look only to subset of candidate improvements. Combine with node insertion. 26

27 3-opt Choose three edges from tour Remove them, and combine the three parts to a tour in the cheapest way to link them 27

28 3-opt Costly to find 3-opt improvements: O(n 3 ) candidates k-opt: generalizes 3-opt 28

29 Lin-Kernighan Idea: modifications that are bad can lead to enable something good Tour modification: Collection of simple changes Some increase length Total set of changes decreases length 29

30 Lin-Kernighan One LK step: Make sets of edges X = {x 1,, x r }, Y = {y 1,,y r } If we replace X by Y in tour then we have another tour Sets are built stepwise Repeated until Variants on scheme possible 30

31 One Lin-Kernighan step Choose vertex t 1, and edge x 1 = (t 1,t 2 ) from tour. i=1. Choose edge y 1 =(t 2, t 3 ) not in tour with g 1 = w(x 1 ) w(y 1 ) > 0 (or, as large as possible). Repeat a number of times, or until i++; Choose edge x i = (t 2i-1,t 2i ) from tour, such that: x i not one of the edges y j. oldtour X + (t 2i,t 1 ) +Y is also a tour. if oldtour X + (t 2i,t 1 ) +Y has shorter length than oldtour, then take this tour: done. Choose edge y i = (t 2i, t 2i+1 ) such that: g i = w(x i ) w(y i ) > 0. y i is not one of the edges x j. y i not in the tour. 31

32 Iterated Lin-Kernighan Construct a start tour. Repeat the following r times: Improve the tour with Lin-Kernighan until not possible. Do a random 4-opt move that does not increase the length with more than 10 percent. Report the best tour seen. Cost much time. Gives excellent results! 32

33 Other methods Simulated annealing and similar methods. Problem specific approaches, special cases. Iterated LK combined with treewidth/branchwidth approach: Run ILK a few times (e.g., 5). Take graph formed by union of the 5 tours. Find minimum length Hamiltonian circuit in graph with clever dynamic programming algorithm. 33

34 Travelling Salesman Problem Algorithms and Networks DYNAMIC PROGRAMMING 34

35 Held-Karp algorithm for TSP O(n 2 2 n ) algorithm for TSP. Uses dynamic programming. Take some starting vertex s. For set of vertices R (s R), vertex w R, let B(R,w) = minimum length of a path, that Starts in s. Visits all vertices in R (and no other vertices). Ends in w. 35

36 TSP: Recursive formulation B({s},s) = 0 B({s},v) = if v s If R > 1, then B(R,x) = min v R\{x} B( R\{x}, v ) + w(v,x) If we have all B(V,v) then we can solve TSP. Gives requested algorithm using DP-techniques. 36

37 Space Improvement for Hamiltonian Cycle Dynamic programming algorithm uses: O(n 2 2 n ) time. O(n2 n ) space. In practice space becomes a problem before time does. Next, we give an algorithm for Hamiltonian Cycle that uses: O(n 3 2 n ) time. O(n) space. This algorithm counts solutions using Inclusion/Exclusion. 37

38 Counting (Non-)Hamiltonian Cycles Computing/counting tours is much easier if we do not care about which cities are visited. This uses exponential space in the DP algorithm. Define: Walks[ v i, k ] = the number of ways to travel from v 1 to v i traversing k times an edge. We do not care whether nodes/edges are visited (or twice). Using Dynamic Programming: Walks[ v i, 0 ] = 1 if i = 1 Walks[ v i, 0 ] = 0 otherwise Walks[ v i, k ] = vj N(vi) Walks[ v j, k 1 ] Walks[ v 1, n ] counts all length n walks that return in v 1. This requires O(n 3 ) time and O(n) space. 38

39 How Does Counting Arbitrary Cycles Help? A useful formula: Number of cycles through v j = total number of cycles (some go through v j some don t) - total number of cycles that do not go through v j. Hamiltonian Cycle: cycle of length n that visits every city. Keeping track of whether every vertex is visited is hard. Counting cycles that do not go through some vertex is easy. Just leave out the vertex in the graph. Counting cycles that may go through some vertex is easy. We do not care whether it is visited or not (or twice) anymore. 39

40 Using the formula on every city A useful formula: Number of cycles through v j = total number of cycles (some go through v j some don t) - total number of cycles that do not go through v j. What if we apply the above formula to every city (except v 1 )? We get 2 n-1 subproblems, were we count walks from v 1 to v 1 where either the city is not allowed to be visited, or may be visited (not important whether it is visited, or twice, or not). After combining the computed numbers from all 2 n-1 subproblems using the above formula, we get: The number of cycles of length n visiting every vertex. I.e, the number of Hamiltonian cycles. 40

41 Apply the formula to every city: the Inclusion/Exclusion formula A useful formula: Number of cycles through v j = total number of cycles (some go through v j some don t) - total number of cycles that do not go through v j. Let CycleWalks( V ) be the number of walks from v 1 to v 1 using only vertices in V, then: 41

42 Travelling Salesman Problem Algorithms and Networks CONCLUSIONS 42

43 Conclusions TSP has many applications. Also many applications for variants of TSP. Heuristics. Construction heuristics Improvement heuristics Dynamic programming in O(n 2 2 n ) time and O(n2 n ) space. Inclusion/Exclusion for Hamiltonian Cycle in O(n 3 2 n ). Further reading: M. Jünger, G. Reinelt, G. Rinaldi, The Traveling Salesman Problem, in: Handbooks in Operations Research and Management Science, volume 7: Network Models, North- Holland Elsevier,

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij Traveling Salesman Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,

More information

Optimal tour along pubs in the UK

Optimal tour along pubs in the UK 1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/

More information

Approximation Algorithms

Approximation Algorithms Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs

More information

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Seven Bridges of Königsberg Can one take a walk that crosses each bridge exactly once? Seven Bridges of Königsberg Model as a graph Is there a path

More information

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Lecture 8: The Traveling Salesman Problem

Lecture 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 information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 4: Matching and other stuff

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 4: Matching and other stuff Institute of Operating Systems and Computer Networks Algorithms Group Network Algorithms Tutorial 4: Matching and other stuff Christian Rieck Matching 2 Matching A matching M in a graph is a set of pairwise

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

Approximation Algorithms

Approximation Algorithms Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms Tamassia Approximation Algorithms 1 Applications One of

More information

(Refer Slide Time: 01:00)

(Refer Slide Time: 01:00) Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture minus 26 Heuristics for TSP In this lecture, we continue our discussion

More information

NP-Hard (A) (B) (C) (D) 3 n 2 n TSP-Min any Instance V, E Question: Hamiltonian Cycle TSP V, n 22 n E u, v V H

NP-Hard (A) (B) (C) (D) 3 n 2 n TSP-Min any Instance V, E Question: Hamiltonian Cycle TSP V, n 22 n E u, v V H Hard Problems What do you do when your problem is NP-Hard? Give up? (A) Solve a special case! (B) Find the hidden parameter! (Fixed parameter tractable problems) (C) Find an approximate solution. (D) Find

More information

CMSC 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 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 information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 397 E-mail: natarajan.meghanathan@jsums.edu Optimization vs. Decision

More information

IE 102 Spring Routing Through Networks - 1

IE 102 Spring Routing Through Networks - 1 IE 102 Spring 2017 Routing Through Networks - 1 The Bridges of Koenigsberg: Euler 1735 Graph Theory began in 1735 Leonard Eüler Visited Koenigsberg People wondered whether it is possible to take a walk,

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu Optimization vs. Decision

More information

Assignment 5: Solutions

Assignment 5: Solutions Algorithm Design Techniques Assignment 5: Solutions () Port Authority. [This problem is more commonly called the Bin Packing Problem.] (a) Suppose K = 3 and (w, w, w 3, w 4 ) = (,,, ). The optimal solution

More information

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19: CS270 Combinatorial Algorithms & Data Structures Spring 2003 Lecture 19: 4.1.03 Lecturer: Satish Rao Scribes: Kevin Lacker and Bill Kramer Disclaimer: These notes have not been subjected to the usual scrutiny

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 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 information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu P, NP-Problems Class

More information

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS) COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small

More information

Graph Applications, Class Notes, CS 3137 1 Traveling Salesperson Problem Web References: http://www.tsp.gatech.edu/index.html http://www-e.uni-magdeburg.de/mertens/tsp/tsp.html TSP applets A Hamiltonian

More information

Steiner Tree. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij

Steiner Tree. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij 1 The Steiner Tree Problem Let G = (V,E) be an undirected graph, and let N µ V be a subset of the terminals. A Steiner

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0).

V1.0: Seth Gilbert, V1.1: Steven Halim August 30, Abstract. d(e), and we assume that the distance function is non-negative (i.e., d(x, y) 0). CS4234: Optimisation Algorithms Lecture 4 TRAVELLING-SALESMAN-PROBLEM (4 variants) V1.0: Seth Gilbert, V1.1: Steven Halim August 30, 2016 Abstract The goal of the TRAVELLING-SALESMAN-PROBLEM is to find

More information

Reference Sheet for CO142.2 Discrete Mathematics II

Reference Sheet for CO142.2 Discrete Mathematics II Reference Sheet for CO14. Discrete Mathematics II Spring 017 1 Graphs Defintions 1. Graph: set of N nodes and A arcs such that each a A is associated with an unordered pair of nodes.. Simple graph: no

More information

Partha Sarathi Mandal

Partha Sarathi Mandal MA 515: Introduction to Algorithms & MA353 : Design and Analysis of Algorithms [3-0-0-6] Lecture 39 http://www.iitg.ernet.in/psm/indexing_ma353/y09/index.html Partha Sarathi Mandal psm@iitg.ernet.in Dept.

More information

2 Approximation Algorithms for Metric TSP

2 Approximation Algorithms for Metric TSP Comp260: Advanced Algorithms Tufts University, Spring 2002 Professor Lenore Cowen Scribe: Stephanie Tauber Lecture 3: The Travelling Salesman Problem (TSP) 1 Introduction A salesman wishes to visit every

More information

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch] NP Completeness Andreas Klappenecker [partially based on slides by Jennifer Welch] Dealing with NP-Complete Problems Dealing with NP-Completeness Suppose the problem you need to solve is NP-complete. What

More information

Assignment 3b: The traveling salesman problem

Assignment 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 information

Introduction to Algorithms

Introduction to Algorithms Introduction to Algorithms 6.046J/18.401J Lecture 24 Prof. Piotr Indyk Dealing with Hard Problems What to do if: Divide and conquer Dynamic programming Greedy Linear Programming/Network Flows does not

More information

Matching 4/21/2016. Bipartite Matching. 3330: Algorithms. First Try. Maximum Matching. Key Questions. Existence of Perfect Matching

Matching 4/21/2016. Bipartite Matching. 3330: Algorithms. First Try. Maximum Matching. Key Questions. Existence of Perfect Matching Bipartite Matching Matching 3330: Algorithms A graph is bipartite if its vertex set can be partitioned into two subsets A and B so that each edge has one endpoint in A and the other endpoint in B. A B

More information

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu

More information

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

Coping 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 information

Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background

More information

Precept 4: Traveling Salesman Problem, Hierarchical Clustering. Qian Zhu 2/23/2011

Precept 4: Traveling Salesman Problem, Hierarchical Clustering. Qian Zhu 2/23/2011 Precept 4: Traveling Salesman Problem, Hierarchical Clustering Qian Zhu 2/23/2011 Agenda Assignment: Traveling salesman problem Hierarchical clustering Example Comparisons with K-means TSP TSP: Given the

More information

Design and Analysis of Algorithms

Design 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 information

1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m

1 Minimum Spanning Trees (MST) b 2 3 a. 10 e h. j m Minimum Spanning Trees (MST) 8 0 e 7 b 3 a 5 d 9 h i g c 8 7 6 3 f j 9 6 k l 5 m A graph H(U,F) is a subgraph of G(V,E) if U V and F E. A subgraph H(U,F) is called spanning if U = V. Let G be a graph with

More information

Best known solution time is Ω(V!) Check every permutation of vertices to see if there is a graph edge between adjacent vertices

Best known solution time is Ω(V!) Check every permutation of vertices to see if there is a graph edge between adjacent vertices Hard Problems Euler-Tour Problem Undirected graph G=(V,E) An Euler Tour is a path where every edge appears exactly once. The Euler-Tour Problem: does graph G have an Euler Path? Answerable in O(E) time.

More information

Greedy algorithms Or Do the right thing

Greedy algorithms Or Do the right thing Greedy algorithms Or Do the right thing March 1, 2005 1 Greedy Algorithm Basic idea: When solving a problem do locally the right thing. Problem: Usually does not work. VertexCover (Optimization Version)

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 4 Homework Problems Problem

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

More information

Hardness of Approximation for the TSP. Michael Lampis LAMSADE Université Paris Dauphine

Hardness of Approximation for the TSP. Michael Lampis LAMSADE Université Paris Dauphine Hardness of Approximation for the TSP Michael Lampis LAMSADE Université Paris Dauphine Sep 2, 2015 Overview Hardness of Approximation What is it? How to do it? (Easy) Examples The PCP Theorem What is it?

More information

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?)

Questions? You are given the complete graph of Facebook. What questions would you ask? (What questions could we hope to answer?) P vs. NP What now? Attribution These slides were prepared for the New Jersey Governor s School course The Math Behind the Machine taught in the summer of 2011 by Grant Schoenebeck Large parts of these

More information

3 Euler Tours, Hamilton Cycles, and Their Applications

3 Euler Tours, Hamilton Cycles, and Their Applications 3 Euler Tours, Hamilton Cycles, and Their Applications 3.1 Euler Tours and Applications 3.1.1 Euler tours Carefully review the definition of (closed) walks, trails, and paths from Section 1... Definition

More information

1 The Traveling Salesman Problem

1 The Traveling Salesman Problem Comp 260: Advanced Algorithms Tufts University, Spring 2011 Prof. Lenore Cowen Scribe: Jisoo Park Lecture 3: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem

More information

Notes for Recitation 9

Notes for Recitation 9 6.042/18.062J Mathematics for Computer Science October 8, 2010 Tom Leighton and Marten van Dijk Notes for Recitation 9 1 Traveling Salesperson Problem Now we re going to talk about a famous optimization

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/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 information

Chapter 9 Graph Algorithms

Chapter 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 information

Restricted Delivery Problems on a Network. December 17, Abstract

Restricted Delivery Problems on a Network. December 17, Abstract Restricted Delivery Problems on a Network Esther M. Arkin y, Refael Hassin z and Limor Klein x December 17, 1996 Abstract We consider a delivery problem on a network one is given a network in which nodes

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 101, Winter 2018 Design and Analysis of Algorithms Lecture 9: Minimum Spanning Trees Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Goal: MST cut and cycle properties Prim, Kruskal greedy algorithms

More information

Polynomial time approximation algorithms

Polynomial time approximation algorithms Polynomial time approximation algorithms Doctoral course Optimization on graphs - Lecture 5.2 Giovanni Righini January 18 th, 2013 Approximation algorithms There are several reasons for using approximation

More information

1 Variations of the Traveling Salesman Problem

1 Variations of the Traveling Salesman Problem Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

More information

Combinatorial Optimization - Lecture 14 - TSP EPFL

Combinatorial Optimization - Lecture 14 - TSP EPFL Combinatorial Optimization - Lecture 14 - TSP EPFL 2012 Plan Simple heuristics Alternative approaches Best heuristics: local search Lower bounds from LP Moats Simple Heuristics Nearest Neighbor (NN) Greedy

More information

1 The Traveling Salesman Problem

1 The Traveling Salesman Problem Comp 260: Advanced Algorithms Tufts University, Spring 2018 Prof. Lenore Cowen Scribe: Duc Nguyen Lecture 3a: The Traveling Salesman Problem 1 The Traveling Salesman Problem The Traveling Salesman Problem

More information

An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem

An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem An O(log n/ log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem and more recent developments CATS @ UMD April 22, 2016 The Asymmetric Traveling Salesman Problem (ATSP) Problem

More information

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility Outline CS38 Introduction to Algorithms Lecture 18 May 29, 2014 coping with intractibility approximation algorithms set cover TSP center selection randomness in algorithms May 29, 2014 CS38 Lecture 18

More information

Coping with NP-Completeness

Coping with NP-Completeness Coping with NP-Completeness Siddhartha Sen Questions: sssix@cs.princeton.edu Some figures obtained from Introduction to Algorithms, nd ed., by CLRS Coping with intractability Many NPC problems are important

More information

Outline. Graphs. Divide and Conquer.

Outline. Graphs. Divide and Conquer. GRAPHS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Outline Graphs.

More information

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 70010, India. Organization Introduction

More information

5.5 The Travelling Salesman Problem

5.5 The Travelling Salesman Problem 0 Matchings and Independent Sets 5.5 The Travelling Salesman Problem The Travelling Salesman Problem A travelling salesman, starting in his own town, has to visit each of towns where he should go to precisely

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 28 Chinese Postman Problem In this lecture we study the Chinese postman

More information

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Approximation Algorithms

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, Approximation Algorithms Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms 1 Bike Tour Suppose you decide to ride a bicycle around

More information

CS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques

CS 4407 Algorithms. Lecture 8: Circumventing Intractability, using Approximation and other Techniques CS 4407 Algorithms Lecture 8: Circumventing Intractability, using Approximation and other Techniques Prof. Gregory Provan Department of Computer Science University College Cork CS 4010 1 Lecture Outline

More information

35 Approximation Algorithms

35 Approximation Algorithms 35 Approximation Algorithms Many problems of practical significance are NP-complete, yet they are too important to abandon merely because we don t know how to find an optimal solution in polynomial time.

More information

CSCE 350: Chin-Tser Huang. University of South Carolina

CSCE 350: Chin-Tser Huang. University of South Carolina CSCE 350: Data Structures and Algorithms Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Announcement Homework 2 will be returned on Thursday; solution will be available on class website

More information

Chapter 9 Graph Algorithms

Chapter 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 information

Improved Approximations for Graph-TSP in Regular Graphs

Improved Approximations for Graph-TSP in Regular Graphs Improved Approximations for Graph-TSP in Regular Graphs R Ravi Carnegie Mellon University Joint work with Uriel Feige (Weizmann), Jeremy Karp (CMU) and Mohit Singh (MSR) 1 Graph TSP Given a connected unweighted

More information

1 Better Approximation of the Traveling Salesman

1 Better Approximation of the Traveling Salesman Stanford University CS261: Optimization Handout 4 Luca Trevisan January 13, 2011 Lecture 4 In which we describe a 1.5-approximate algorithm for the Metric TSP, we introduce the Set Cover problem, observe

More information

Algorithm Design Techniques. Hwansoo Han

Algorithm 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 information

Mathematical Thinking

Mathematical Thinking Mathematical Thinking Chapter 2 Hamiltonian Circuits and Spanning Trees It often happens in mathematics that what appears to be a minor detail in the statement of a problem can have a profound effect on

More information

Traveling Salesperson Problem (TSP)

Traveling Salesperson Problem (TSP) TSP-0 Traveling Salesperson Problem (TSP) Input: Undirected edge weighted complete graph G = (V, E, W ), where W : e R +. Tour: Find a path that starts at vertex 1, visits every vertex exactly once, and

More information

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two.

Lecture 1. 2 Motivation: Fast. Reliable. Cheap. Choose two. Approximation Algorithms and Hardness of Approximation February 19, 2013 Lecture 1 Lecturer: Ola Svensson Scribes: Alantha Newman 1 Class Information 4 credits Lecturers: Ola Svensson (ola.svensson@epfl.ch)

More information

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger

Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order. Gerold Jäger Algorithms and Experimental Study for the Traveling Salesman Problem of Second Order Gerold Jäger joint work with Paul Molitor University Halle-Wittenberg, Germany August 22, 2008 Overview 1 Introduction

More information

TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.!

TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.! TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.! Local Search! TSP! 1 3 5 6 4 What should be the neighborhood?! 2-opt: Find two edges in the current

More information

Autumn Minimum Spanning Tree Disjoint Union / Find Traveling Salesman Problem

Autumn 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 information

Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP).

Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP). Optimal tree for Genetic Algorithms in the Traveling Salesman Problem (TSP). Liew Sing liews_ryan@yahoo.com.sg April 1, 2012 Abstract In this paper, the author proposes optimal tree as a gauge for the

More information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 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 information

ALGORITHM CHEAPEST INSERTION

ALGORITHM CHEAPEST INSERTION Version for STSP ALGORITHM CHEAPEST INSERTION. Choose the two furthest vertices i and k as initial subtour (c ik = max {c hj : (h, j) A}); set V := V \ {i} \ {k} (set of the unvisited vertices).. For each

More information

Approximation Algorithms

Approximation Algorithms 15-251: Great Ideas in Theoretical Computer Science Spring 2019, Lecture 14 March 5, 2019 Approximation Algorithms 1 2 SAT 3SAT Clique Hamiltonian- Cycle given a Boolean formula F, is it satisfiable? same,

More information

Mathematical Tools for Engineering and Management

Mathematical 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 information

Problem Set 6 (Due: Wednesday, December 6, 2006)

Problem Set 6 (Due: Wednesday, December 6, 2006) Urban OR Fall 2006 Problem Set 6 (Due: Wednesday, December 6, 2006) Problem 1 Problem 6.6 in Larson and Odoni Problem 2 Exercise 6.7 (page 442) in Larson and Odoni. Problem Suppose we have a network G(N,

More information

Graphs and Algorithms 2016

Graphs and Algorithms 2016 Graphs and Algorithms 2016 Teachers: Nikhil Bansal and Jesper Nederlof TA: Shashwat Garg (Office Hours: Thursday: Pick??) Webpage: www.win.tue.nl/~nikhil/courses/2wo08 (for up to date information, links

More information

Chapter 9 Graph Algorithms

Chapter 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 information

Approximation Algorithms

Approximation Algorithms 18.433 Combinatorial Optimization Approximation Algorithms November 20,25 Lecturer: Santosh Vempala 1 Approximation Algorithms Any known algorithm that finds the solution to an NP-hard optimization problem

More information

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

SLS Methods: An Overview

SLS Methods: An Overview HEURSTC OPTMZATON SLS Methods: An Overview adapted from slides for SLS:FA, Chapter 2 Outline 1. Constructive Heuristics (Revisited) 2. terative mprovement (Revisited) 3. Simple SLS Methods 4. Hybrid SLS

More information

Two new variants of Christofides heuristic for the Static TSP and a computational study of a nearest neighbor approach for the Dynamic TSP

Two new variants of Christofides heuristic for the Static TSP and a computational study of a nearest neighbor approach for the Dynamic TSP Two new variants of Christofides heuristic for the Static TSP and a computational study of a nearest neighbor approach for the Dynamic TSP Orlis Christos Kartsiotis George Samaras Nikolaos Margaritis Konstantinos

More information

A constant-factor approximation algorithm for the asymmetric travelling salesman problem

A constant-factor approximation algorithm for the asymmetric travelling salesman problem A constant-factor approximation algorithm for the asymmetric travelling salesman problem London School of Economics Joint work with Ola Svensson and Jakub Tarnawski cole Polytechnique F d rale de Lausanne

More information

Tolerance based Greedy Heuristics for the Asymmetric TSP. Gerold Jäger Martin Luther University Halle-Wittenberg

Tolerance based Greedy Heuristics for the Asymmetric TSP. Gerold Jäger Martin Luther University Halle-Wittenberg Tolerance based Greedy Heuristics for the Asymmetric TSP Gerold Jäger Martin Luther University Halle-Wittenberg Cooperation with Boris Goldengorin DFG Project: Paul Molitor December 21, 200 Overview 1

More information

Simple Graph. General Graph

Simple Graph. General Graph Graph Theory A graph is a collection of points (also called vertices) and lines (also called edges), with each edge ending at a vertex In general, it is allowed for more than one edge to have the same

More information

Exact Algorithms for NP-hard problems

Exact Algorithms for NP-hard problems 24 mai 2012 1 Why do we need exponential algorithms? 2 3 Why the P-border? 1 Practical reasons (Jack Edmonds, 1965) For practical purposes the difference between algebraic and exponential order is more

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 7 Graph properties By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com 2 Module-2: Eulerian

More information

Graphs and Algorithms 2015

Graphs and Algorithms 2015 Graphs and Algorithms 2015 Teachers: Nikhil Bansal and Jorn van der Pol Webpage: www.win.tue.nl/~nikhil/courses/2wo08 (for up to date information, links to reading material) Goal: Have fun with discrete

More information

Lecture 13. Reading: Weiss, Ch. 9, Ch 8 CSE 100, UCSD: LEC 13. Page 1 of 29

Lecture 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 information

An Experimental Evaluation of the Best-of-Many Christofides Algorithm for the Traveling Salesman Problem

An Experimental Evaluation of the Best-of-Many Christofides Algorithm for the Traveling Salesman Problem An Experimental Evaluation of the Best-of-Many Christofides Algorithm for the Traveling Salesman Problem David P. Williamson Cornell University Joint work with Kyle Genova, Cornell University July 14,

More information

Overview. H. R. Alvarez A., Ph. D.

Overview. H. R. Alvarez A., Ph. D. Network Modeling Overview Networks arise in numerous settings: transportation, electrical, and communication networks, for example. Network representations also are widely used for problems in such diverse

More information