Carthagène A brief introduction to combinatorial optimization: The Traveling Salesman Problem Simon de Givry Thales Research & Technology, France (minor.

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science
Advertisements

Instructor Neelima Gupta Table of Contents Approximation Algorithms.
CS6800 Advanced Theory of Computation
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Carthagène A brief introduction to combinatorial optimization: The Traveling Salesman Problem Simon de Givry.
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.
Greedy Algorithms Spanning Trees Chapter 16, 23. What makes a greedy algorithm? Feasible –Has to satisfy the problem’s constraints Locally Optimal –The.
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.
Reducibility Class of problems A can be reduced to the class of problems B Take any instance of problem A Show how you can construct an instance of problem.
A Parallel GPU Version of the Traveling Salesman Problem Molly A. O’Neil, Dan Tamir, and Martin Burtscher* Department of Computer Science.
Vehicle Routing & Scheduling: Part 1
Lecture 21 Approximation Algorithms Introduction.
Rohit Ray ESE 251. The goal of the Traveling Salesman Problem (TSP) is to find the most economical way to tour of a select number of “cities” with the.
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 Lecture for CS 302. What is a NP problem? Given an instance of the problem, V, and a ‘certificate’, C, we can verify V is in.
Great Theoretical Ideas in Computer Science.
EAs for Combinatorial Optimization Problems BLG 602E.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
Ch. 11: Optimization and Search Stephen Marsland, Machine Learning: An Algorithmic Perspective. CRC 2009 some slides from Stephen Marsland, some images.
Ant Colony Optimization: an introduction
Hon Wai Leong, NUS (CS6234, Spring 2009) Page 1 Copyright © 2009 by Leong Hon Wai CS6234 Lecture 1 -- (14-Jan-09) “Introduction”  Combinatorial Optimization.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
The Traveling Salesperson Problem Algorithms and Networks.
CS 312: Algorithm Design & Analysis Lecture #34: Branch and Bound Design Options for Solving the TSP: Tight Bounds This work is licensed under a Creative.
University of Texas at Arlington Srikanth Vadada Kishan Kumar B P Fall CSE 5311 Solving Travelling Salesman Problem for Metric Graphs using MST.
SPANNING TREES Lecture 21 CS2110 – Spring
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Combinatorial Optimization Chapter 1. Problems and Algorithms  1.1 Two Problems (representative problems)  The Traveling Salesman Problem 47 drilling.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 12 MACHINE SETUP AND OPERATION SEQUENCING E. Gutierrez-Miravete Spring 2001.
Using traveling salesman problem algorithms for evolutionary tree construction Chantal Korostensky and Gaston H. Gonnet Presentation by: Ben Snider.
Metaheuristic – Threshold Acceptance (TA). 2 Outlines ▪ Measuring Computational Efficiency ▪ Construction Heuristics ▪ Local Search Algorithms ▪ Metaheuristic.
The Traveling Salesman Problem Over Seventy Years of Research, and a Million in Cash Presented by Vladimir Coxall.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Vehicle Routing & Scheduling
Presenter: Leo, Shih-Chang, Lin Advisor: Frank, Yeong-Sung, Lin /12/16.
Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
MCS 312: NP Completeness and Approximation algorthms Instructor Neelima Gupta
SPANNING TREES Lecture 21 CS2110 – Fall Nate Foster is out of town. NO 3-4pm office hours today!
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Steiner Tree Problem Given: A set S of points in the plane = terminals
I can describe the differences between Hamilton and Euler circuits and find efficient Hamilton circuits in graphs. Hamilton Circuits I can compare and.
Management Science 461 Lecture 7 – Routing (TSP) October 28, 2008.
Unit 2 Hamiltonian Circuits. Hamiltonian Circuit: A tour that starts at a vertex of a graph and visits each vertex once and only once, returning to where.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Ch3 /Lecture #4 Brute Force and Exhaustive Search 1.
Mathematical modeling To describe or represent a real-world situation quantitatively, in mathematical language.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Approximate methods: local search Material based.
Exhaustive search Exhaustive search is simply a brute- force approach to combinatorial problems. It suggests generating each and every element of the problem.
1 Minimum Spanning Tree: Solving TSP for Metric Graphs using MST Heuristic Soheil Shafiee Shabnam Aboughadareh.
Hamiltonian Cycle and TSP
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
Traveling Salesman Problem Basic Data Structure
Genome Assembly.
Fine-Grained Complexity Analysis of Improving Traveling Salesman Tours
Richard Anderson Lecture 28 Coping with NP-Completeness
The Traveling Salesperson Problem
Graphs CS 2606.
Spanning Trees Lecture 20 CS2110 – Spring 2015.
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Carthagène A brief introduction to combinatorial optimization: The Traveling Salesman Problem Simon de Givry Thales Research & Technology, France (minor modifications by Benny Chor)

Find a tour with minimum distance, visiting every city only once Madiera Island (west of Morocco in Atlantic ocean)

Distance matrix (miles)

Find an order of all the markers with maximum likelihood A similar task in the genomic domain

2-point distance matrix (Haldane)

Link M1 M2M3M4M5M6M7 M dummy 00 …0…  i,j,k distance(i,j) ? distance(i,k) + distance(k,j) =,   Multi-point likelihood (with unknowns)  the distance between two markers depends on the order

Traveling Salesman Problem Complete graph Positive weight on every edge Symmetric case: dist(i,j) = dist(j,i) Triangular inequality: dist(i,j)  dist(i,k) + dist(k,j) Euclidean distance (assume we got wings) Find the shortest Hamiltonian cycle

7 8 15

Total distance = xxx miles

Traveling Salesman Problem Theoretical interest Basic NP-complete problem (  not easy) : +150 articles about TSP in INFORMS & Decision Sciences databases Practical interest Vehicle Routing Problem Genetic/Radiated Hybrid Mapping Problem NCBI/Concorde, Carthagène,...

Variants Euclidean Traveling Salesman Selection Problem Asymmetric Traveling Salesman Problem Symmetric Wandering Salesman Problem Selective Traveling Salesman Problem TSP with distances 1 and 2, TSP(1,2) K-template Traveling Salesman Problem Circulant Traveling Salesman Problem On-line Traveling Salesman Problem Time-dependent TSP The Angular-Metric Traveling Salesman Problem Maximum Latency TSP Minimum Latency Problem Max TSP Traveling Preacher Problem Bipartite TSP Remote TSP Precedence-Constrained TSP Exact TSP The Tour Cover problem...

Plan Introduction to TSP Building a new tour “from scratch” Improving an existing tour Finding the best tour (or almost)

Building a new tour from scratch

Nearest Neighbor heuristic (greedy, order dependent, some neighbors not so near)

A different greedy, multi-fragments heuristic

Savings heuristic (Clarke-Wright 1964): Details in

Heuristics Mean distance to the optimum Savings:11% Multi-fragments: 12% Nearest Neighbor:26%

Improving an existing tour

Which local modification can improve this tour?

Remove two edges and rebuild another tour  Invert a given sequence of markers

Remove three edges and rebuild another tour (7 possibilities)  Swap the order of two sequences of markers

“greedy” local search 2-opt Note: a finite sequence of “2-change” can generate any tour, including the optimum tour Strategy: Select the best 2-change among N*(N-1)/2 neighbors (2-move neighborhood) Repeat this process until a fix point is reached (i.e. no local tour improvement can be made)

2-opt

Greedy local search Mean distance to the optimum 2-opt :9% 3-opt :4% LK (limited k-opt) :1% Complexity 2-opt : ~N 3 3-opt :~N 4 LK (limited k-opt) :~N k+1

Complexity n = number of vertices

For each edge (u,v), maintain the list of vertices w such that dist(w,v) < dist(u,v). Consider only such w for replacing (u,v) by (w,v). u v 2-opt implementation trick:

Lin & Kernighan (1973) k-change : e 1 ->f 1,e 2 ->f 2,... => Sum k i=1 ( dist(e i ) - dist(f i ) ) > 0 There is an order of i such that all the partial sums are positives: S l = Sum l i=1 ( dist(e i ) - dist(f i ) ) > 0 => Build a valid increasing alternate cycle: xx ’->yx ’, yy’ -> zy’, zz’ -> wz’, etc. dist(f 1 )<dist(e 1 ),dist(f 1 )+dist(f 2 )<dist(e 1 )+dist(e 2 ),.. + Backtrack on y and z choices + Restart

x x’ y y’ z z’ w (for maximization) e2e2 e3e3 e4e4 e1e1 f1f1 f3f3 f2f2 f4f4 w’ {x,y,z,w,..} ^ {x’,y’,z’,w’,..} = 0 y is among the 5 best neighbors of x’, the same for z’ and w

Is this 2-opt tour optimum?

2-opt + vertex reinsertion (removing a city and reinserting it next to one of its 5 nearest neighbors)

local versus global optimum

Local search & « meta-heuristics » Tabu Search Select the best neighbor even if it decreases the quality of the current tour Forbid previous local moves during a certain period of time List of tabu moves Restart with new tours When the search goes to a tour already seen Build new tours in a random way

Tabu Search Stochastic size of the tabu list False restarts

Experiments with CarthaGène N=50 K=100 Err=30% Abs=30% Legend: partial 2-opt = early stop, guided 2-opt 25% = early stop & sort with X = 25%

Experiments - next

Other meta-heuristics Simulated Annealing Local moves are randomly chosen Neighbor acceptance depends on its quality Acceptance process is more and more greedy Genetic Algorithms Population of solutions (tours) Mutation, crossover,… Variable Neighborhood Search …

Simulated Annealing Move from A to A’ accepted if cost(A’) ≤ cost(A) or with probability P(A,A’) = e –(cost(A’) – cost(A))/T

Variable Neighborhood Search Perform a move only if it improves the previous solution Start with V:=1. If no solution is found then V++ else V:=1

Local Search Demonstration

Finding the best tour

Search tree M2M1M3 M2M3 M1M3M1M2 M3 M2M3M1M2 M1 M1,M2,M3 depth 1: depth 2: depth 3: leaves node branch root = choice point = alternative = solutions

Tree search Complexity : n!/2 different orders Avoid symmetric orders (first half of the tree) Can use heuristics in choice points to order possible alternatives Branch and bound algorithm Cut all the branches which cannot lead to a better solution Possible to combine local search and tree search

Lower bound to TSP: Minimum weight spanning tree Prim algorithm (1957) Held & Karp algorithm (modified spanning trees) (1971) MST  TSP

Christofides approximation algorithm (1976): Start with MST. Find shortcircuits, and rearrange => A(I) / OPT(I)  3/2 (requires triangular inequalities)

Exact methods, some benchmarks 1954 : 49 cities 1971 : 64 cities 1975 : 100 cities 1977 : 120 cities 1980 : 318 cities 1987 : 2,392 cities 1994 : 7,397 cities 1998 : 13,509 cities 2001 : 15,112 cities ( sec.  19 years of CPU!)