Approximation Algorithms

Slides:



Advertisements
Similar presentations
Introduction to Algorithms NP-Complete
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.
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.
Approximation Algorithms for TSP
Combinatorial Algorithms
Minimum Spanning Trees Kun-Mao Chao ( 趙坤茂 ) Department of Computer Science and Information Engineering National Taiwan University, Taiwan
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.
Math443/543 Mathematical Modeling and Optimization
Analysis of Algorithms CS 477/677
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
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,
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Programming & Data Structures
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
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 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Great Theoretical Ideas in Computer Science.
P, NP, and Exponential Problems Should have had all this in CS 252 – Quick review Many problems have an exponential number of possibilities and we can.
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
Approximation Algorithms for TSP Tsvi Kopelowitz 1.
Algorithms for hard problems Introduction Juris Viksna, 2015.
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.
1 Minimum Spanning Tree: Solving TSP for Metric Graphs using MST Heuristic Soheil Shafiee Shabnam Aboughadareh.
Approximation algorithms
Hard Problems Some problems are hard to solve.
EMIS 8373: Integer Programming
Optimization problems such as
School of Computing Clemson University Fall, 2012
Joint work with Frans Schalekamp and Anke van Zuylen
Approximation Algorithms
Hamiltonian Cycle and TSP
Hamiltonian Cycle and TSP
Algorithms for hard problems
EECS 203 Lecture 20 More Graphs.
Great Theoretical Ideas in Computer Science
CS4234 Optimiz(s)ation Algorithms
Approximation Algorithms
Approximation Algorithms
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
Minimum Spanning Trees
Heuristic Algorithms via VBA
Approximation Algorithms
Minimum Spanning Trees
The Traveling Salesperson Problem
No Guarantee Unless P equals NP
Heuristic Algorithms via VBA
Heuristic Algorithms via VBA
Minimum Spanning Trees
Minimum Spanning Trees
Lecture 24 Vertex Cover and Hamiltonian Cycle
Complexity Theory: Foundations
Presentation transcript:

Approximation Algorithms and Heuristics

Approximation Algorithms Many interesting problems involve sifting through a large amount of data to make an informed decision. Most of the problems of interest (that is, real-world problems) are discrete optimization problems which are NP-hard (i.e. at least as difficult as NP). This means that the number of operations required to find an optimal solution grows exponentially with problem size. Typical exponential growth rates involves doubling the number of operations for each additional element added to the problem set. Unless it turns out that P = NP, we will not be able to find optimal solutions for all members of a particular problem class in polynomial time. In other words we must give up on one of the following three requirements. The algorithm will. . . (1) always find optimal solutions (2) in polynomial time (3) for any problem instance

A Subset of Problems in NP may have Polynomial Solutions Omitting Requirement # 3 - A subset of problems for TSP in which all points in the problem set are either (1) on the convex hull or (2) points on a line inside the convex hull is polynomial-time solvable. Given that there are n points on the convex hull and m interior points on a line, the complexity of the solution is O(mn) time and O(n) space. http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/0853-05.pdf

TSP is NP-Hard but (so far) has not been Proved to be NP-Complete A problem is NP if it can be shown (in deterministic polynomial time) that a given candidate solution is, in fact, a solution to the problem. A problem is NP-Hard if it is at least as hard as any NP problem of equal size. A problem is NP-complete if it is both NP and NP-Hard Say wha??? Every problem in P is clearly also in NP because, if it can be solved deterministically in polynomial time, then it can be solve non-deterministically in polynomial time. We can prove (proof not provided here) that TSP is NP-Hard (trust me on this, or go ahead and prove it to yourself). To be an actual solution, a candidate solution to TSP is NP if we can, in polynomial time show that (1) each city is visited only once AND (2) there is no shorter solution. So far there is no known method to achieve the second condition. So TSP has not been proved to be NP-Complete.

Some NP-Hard Algorithms Efficiently Solve Many Real-World Problems Omitting Requirement # 2 - The Simplex Algorithm, for example, has a worst-case run time of O(2n), however it provides low-order polynomial runtime performance for many real-world problems.

Approximation Algorithms Omitting Requirement #1 - Giving up optimality is by far the most common approach to dealing with the NP-Hard problems when you need a good answer in a reasonable time. a is called the performance guarantee of the algorithm. Sometime it is called the approximation ratio of the algorithm. An a-approximation algorithm for an optimization problem is a polynomial-time algorithm that, for all instances of the problem, produces a solution whose value is within a factor of a of the value of an optimal solution.

Scheduling Jobs with Deadlines

The K-Center Problem

Scheduling Jobs on Identical Parallel Machines

Analysis of Scheduling on Identical Parallel Machines

The Traveling Salesperson Problem

No a-approximation Algorithm Exists for TSP

The Triangle Inequality So what? The triangle inequality is important because it is used to define a class of problems called metric problems. So the distance directly between nodes i and j is always shorter (i.e. straight line) than any path involving an intermediate node. ckj cik cij

TSP Nearest Addition Algorithm (Heuristic)

Analysis of Nearest Addition Algorithm TSP Greedy Tour A Spanning Tree Minimum Spanning Tree

Double-Tree TSP Algorithm Minimum Spanning Tree Multigraph Eulerian Traversal Double-Tree TSP create a minimum spanning tree (e.g. Prim's Algorithm) double up on all the edges (i.e. create a multigraph) generate Eulerian Tour of the nodes remove all but the first instance of each node in tour

Christofides' Algorithm for TSP Minimum Spanning Tree Set of Nodes of Odd Degree Find the minimum spanning tree for complete graph Build a set containing all nodes of odd degree Perfect Matching to Make an Eulerian Graph Shortcut Eulerian Graph Pair up the odd degree nodes so that the total distance between matched pairs is minimal. Adding these edges to the MST produces an Eulerian graph. As in the Double Tree algorithm, shortcut the Eulerian path such that only the first encountering of each node is preserved

Is This As Good As It Gets?

The Euclidean Traveling Salesman Problem