Carthagène A brief introduction to combinatorial optimization: The Traveling Salesman Problem Simon de Givry.

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 Thales Research & Technology, France (minor.
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.
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.
Chapter 10 Complexity of Approximation (1) L-Reduction Ding-Zhu Du.
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.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
1 Traveling Salesman Problem (TSP) Given n £ n positive distance matrix (d ij ) find permutation  on {0,1,2,..,n-1} minimizing  i=0 n-1 d  (i),  (i+1.
Vehicle Routing & Scheduling
Travelling Salesman Problem an unfinished story...
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.
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.
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.
Projects Network Theory VLSI PSM 1. Network 1. Steiner trees
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Traveling Salesman Problem (TSP)
Transportation Logistics Professor Goodchild Spring 2011.
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
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
NPC.
Steiner Tree Problem Given: A set S of points in the plane = terminals
Management Science 461 Lecture 7 – Routing (TSP) October 28, 2008.
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.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
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.
School of Computer Science & Engineering
Hamiltonian Cycle and TSP
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.
Lecture 24 NP-Complete Problems
Traveling Salesman Problem Basic Data Structure
Genome Assembly.
Fine-Grained Complexity Analysis of Improving Traveling Salesman Tours
The Traveling Salesperson Problem
ICS 353: Design and Analysis of Algorithms
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

Find a tour with minimum distance, visiting every city only once

Distance matrix (miles)

Find an order of all the markers with maximum likelihood

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 Find the shortest Hamiltonian cycle

7 8 15

Total distance = xxx miles

Traveling Salesman Problem Theoretical interest NP-complete problem : +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 Improving an existing tour Finding the best tour

Building a new tour

Nearest Neighbor heuristic

Greedy (or multi-fragments) heuristic

Savings heuristic (Clarke-Wright 1964)

Heuristics Mean distance to the optimum Savings:11% Greedy: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

2-change

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 reach 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 tour improvement was 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 4 ?

Complexity n = number of vertices

For each edge (uv), maintain the list of vertices w such that dist(w,v) < dist(u,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 (in 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

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

Branch and bound Minimum weight spanning tree Prim algorithm (1957) Held & Karp algorithm (better spanning trees) (1971)  linear programming relaxation of TSP, LB(I)/OPT(I)  2/3

Christofides heuristic (1976) => A(I) / OPT(I)  3/2 (with triangular inequalities)

Complexity Standard computer Computer 100 times faster Computer 1000 times faster NN1100*N11000*N1 N2N2 N210*N231,6*N2 N3N3 N34,64*N310*N3 2N2N N4N4+6,64N4+9,97 3N3N N5N5+4,19N5+6,29

Complete methods 1954 : 49 cities 1971 : 64 cities 1975 : 100 cities 1977 : 120 cities 1980 : 318 cities 1987 : 2,392 cities 1994 : cities 1998 : cities 2001 : cities ( sec.  19 years of CPU!)