Great Ideas: Algorithm Implementation

Slides:



Advertisements
Similar presentations
Network Design with Degree Constraints Guy Kortsarz Joint work with Rohit Khandekar and Zeev Nutov.
Advertisements

Weighted Matching-Algorithms, Hamiltonian Cycles and TSP
Approximating Graphic TSP by Matchings Tobias Mömke and Ola Svensson KTH Royal Institute of Technology Sweden.
Instructor Neelima Gupta Table of Contents Approximation Algorithms.
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Branch and Bound See Beale paper. Example: Maximize z=x1+x2 x2 x1.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
The Subtour LP for the Traveling Salesman Problem (or, What I did on my sabbatical) David P. Williamson Cornell University 11 Oct 2011 Joint work with.
Combinatorial Algorithms
Lecture 21 Approximation Algorithms Introduction.
Approximating Graphic TSP with Matchings
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
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.
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.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Minimum Spanning Network: Brute Force Solution
NP-Complete Problems (Fun part)
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms Ola Svensson. Course Information Goal: – Learn the techniques used by studying famous applications Graduate Course FDD
The Travelling Salesman Problem (TSP)
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
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.
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
June 21, 2007 Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks Anand Prabhu Subramanian, Himanshu Gupta.
CSE 421 Algorithms Richard Anderson Lecture 24 Network Flow Applications.
Combinatorial Optimization Problems in Computational Biology Ion Mandoiu CSE Department.
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.
Data Structures & Algorithms Graphs
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
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Approximation Algorithms for the Traveling Salesman Problem Shayan Oveis Gharan.
Instructor Neelima Gupta Table of Contents Introduction to Approximation Algorithms Factor 2 approximation algorithm for TSP Factor.
1 CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Traveling Salesman Problem DongChul Kim HwangRyol Ryu.
1 Minimum Spanning Tree: Solving TSP for Metric Graphs using MST Heuristic Soheil Shafiee Shabnam Aboughadareh.
Approximation algorithms
Optimization problems such as
School of Computing Clemson University Fall, 2012
Joint work with Frans Schalekamp and Anke van Zuylen
Hamiltonian Cycle and TSP
Hamiltonian Cycle and TSP
The Subtour LP for the Traveling Salesman Problem
Great Theoretical Ideas in Computer Science
1 The Travelling Salesman Problem (TSP) H.P. Williams Professor of Operational Research London School of Economics.
Great Ideas in Computing Complexity Theory
Graph Algorithm.
Branch and Bound See Beale paper.
Great Ideas in Computing Average Case Analysis
Richard Anderson Lecture 28 Coping with NP-Completeness
Richard Anderson Lecture 29 Complexity Theory
The Traveling Salesperson Problem
Maximum Flow Neil Tang 4/8/2008
Approximation Algorithms
Richard Anderson Lecture 22 Network Flow
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Great Ideas: Algorithm Implementation Richard Anderson University of Washington July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Theory and Practice What is the connection between theory and practice July 3, 2008 IUCEE: Algorithm Implementation

Algorithm Implementation Challenge Solve large instances of problems on real world data July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Network Flow DIMACS Network Flow Challenge Compare standard flow algorithms on different data sets Dramatic speedups over simpler algorithms Not all theoretical algorithms were good July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation N-Body Problem Simulate large scale phenomena O(n2) algorithm reduces to O(n log n) algorithm Interesting questions – what types of spatial decomposition trees to use July 3, 2008 IUCEE: Algorithm Implementation

Speeding up algorithms Approximation algorithms TSP with triangle inequality Dist(a, c)  Dist(a, b) + Dist(b, c) Theorem 1: A minimum spanning tree gives a 2 approximation of the TSP Theorem 2 (Christophides) : There exists a 3/2 approximation algorithm for the TSP Construct matching of vertices of odd degree to get an eulerian tour July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Local Improvement Improve solution until a local maximum is reached Two-Opting July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Simulated Annealing Local improvement algorithm that is allowed to make things worse Over time the “temperature” is lowered, reducing variation July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Brute Force Solution Look at all possible tours n = 10 takes 1 second n = 12 n = 14 n = 16 n = 18 n = 20 n = 10, 1 second, 1 n = 12, 2 minutes, 132 n = 14, 6 hours, 24024 n =16, 2 months, 5765760 n=18, 50 years, 1764322560 n=20, 200 centuries 670442572800 July 3, 2008 IUCEE: Algorithm Implementation

Dynamic programming algorithm Reduces complexity from n! to n22n July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Euclidean TSP Cities on a map Distance function is Euclidean distance July 3, 2008 IUCEE: Algorithm Implementation

Exact Solution of Euclidean TSP Year Team Size 1954 Dantzig, Fulkerson 49 1971 Held, Karp 64 1975 Cemerini 67 1977 Grotschell 120 1980 Crowder 318 1987 Padberg 532 666 2392 1994 Applegate et al. 7397 1998 13509 2001 15112 2004 24978 July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Sweden Tour Applegate et al. 24,978 cities July 3, 2008 IUCEE: Algorithm Implementation

Finding an optimal tour Sweden Tour Log Date Gap Lowerbound Upperbound 24.8.01 855683 26.8.01 .041 % 855331 4.9.01 .034% 855618 20.9.01 .033% 855612 30.9.01 855610 16.3.03 .032% 855602 18.3.03 .031% 855597 24.3.03 .012% 855493 2.6.03 .009% 855528 .001% 855595 20.5.04 Optimal 855577 July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation TSP Solving Finding good tours Proving Lower Bounds July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Local Improvement July 3, 2008 IUCEE: Algorithm Implementation

IUCEE: Algorithm Implementation Tour Merging July 3, 2008 IUCEE: Algorithm Implementation

Lower Bound Optimal solution to an easier problem gives a lower bound Assignment problem Select one outgoing edge from each vertex Select one incoming edge to each vertex Minimize the cost of the selected edges

Making a TSP out of an Assignment Problem Need to make sure edge cross every cut This adds many constraints To get lower bounds we progressively add more cuts

Summary for TSP Solution Heuristics to find good tours Improve lower bounds by adding cutting plans Know we have the optimal when the lower bound meets the upper bound July 3, 2008 IUCEE: Algorithm Implementation