Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

Branch-and-Bound Technique for Solving Integer Programs
Traveling Salesperson Problem
CS6800 Advanced Theory of Computation
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
Types of Algorithms.
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.
Algorithms + L. Grewe.
Dynamic Programming.
Branch & Bound Algorithms
Obtaining a Solution to TSP using Convex Hulls Eric Salmon & Joseph Sewell.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Branch and Bound Searching Strategies
1 Chapter 5 Advanced Search. 2 Chapter 5 Contents l Constraint satisfaction problems l Heuristic repair l The eight queens problem l Combinatorial optimization.
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Nature’s Algorithms David C. Uhrig Tiffany Sharrard CS 477R – Fall 2007 Dr. George Bebis.
MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.
MAE 552 – Heuristic Optimization Lecture 4 January 30, 2002.
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
Ch 13 – Backtracking + Branch-and-Bound
1 Tree Searching Strategies. 2 The procedure of solving many problems may be represented by trees. Therefore the solving of these problems becomes a tree.
Branch and Bound Algorithm for Solving Integer Linear Programming
MAE 552 – Heuristic Optimization Lecture 5 February 1, 2002.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Backtracking.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Informed Search Idea: be smart about what paths to try.
Island Based GA for Optimization University of Guelph School of Engineering Hooman Homayounfar March 2003.
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Branch & Bound UPPER =  LOWER = 0.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Fundamentals of Algorithms MCS - 2 Lecture # 7
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
CSC 211 Data Structures Lecture 13
Honors Track: Competitive Programming & Problem Solving Optimization Problems Kevin Verbeek.
CSC 221: Recursion. Recursion: Definition Function that solves a problem by relying on itself to compute the correct solution for a smaller version of.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Iterative Improvement Algorithm 2012/03/20. Outline Local Search Algorithms Hill-Climbing Search Simulated Annealing Search Local Beam Search Genetic.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
A General Introduction to Artificial Intelligence.
Optimization Problems
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Ramakrishna Lecture#2 CAD for VLSI Ramakrishna
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Branch and Bound Searching Strategies
Escaping Local Optima. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Exhaustive search Hill.
Optimization Problems
Traveling Salesperson Problem
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Signal processing and Networking for Big Data Applications: Lecture 9 Mix Integer Programming: Benders decomposition And Branch & Bound NOTE: To change.
Backtracking And Branch And Bound
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Analysis and design of algorithm
Types of Algorithms.
metaheuristic methods and their applications
Types of Algorithms.
Optimization Problems
Branch and Bound.
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Multi-Objective Optimization
Types of Algorithms.
Lecture 4: Tree Search Strategies
Branch-and-Bound Technique for Solving Integer Programs
Presentation transcript:

Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL

Traveling Salesman Problem

Heuristic Algorithms for TSP A heuristic is a technique for solving a problem quicker when other methods are too slow or for finding an approximate solution to a problem.  Random Search Generate random permutation for a tour  Genetic Algorithm Mimic evolution to arrive at a tolerable tour  Simulated Annealing Find a solution by moving slowly towards a global optimum without being trapped in local optimums

Genetic Algorithm  A genetic algorithm is a search heuristic that mimics the process of natural selection.

Simulated Annealing  Name inspired from metal work  Heating and cooling an object to alter its properties  While the algorithm is ‘hot’, it is allowed to jump out of its local optimums  As the algorithm ‘cools’ it begins to hone on the global optimum

Simulated Annealing (cont.)

Dynamic Programming  A method for solving complex problems by breaking them down into simpler sub-problems  Exploits sub-problem overlap  Example: Finding Fibonacci numbers.  F(n) = F(n-2) + F(n-1)  To find F(n) you must also compute F(n-2) and F(n-1)  These values will be recomputed for each F(n) you want to find  Using Dynamic Programming, every computed value would be stored which would then be looked up before computation.

Computing Fibonacci (naïve) fib(n) if n <= 2 : f = 1 else : f = fib(n-1) + fib(n-2) return f

Dynamic Programing: Fibonacci array = {} fib(n): if n in array: return array[n] if n <= 2 : f = 1 else: f = fib(n-1) + fib(n-2) array[n] = f return f

Branch & Bound  An algorithm design for optimization problems.  Enumerations are possible solutions  Candidate partial solutions are child nodes from the root  Before enumerating child node, this branch is checked against upper/lower bounds compared to optimal solution  In the case of TSP this would be total distance up to that node  If this value is greater than the bound, discard entire branch  No added distance would ever decrease total distance  Continue enumeration through tree until solution found

Branch & Bound  is an algorithm design paradigm for discrete and combinatorial optimization problems. A branch-and-bound algorithm consists of a systematic enumeration of candidate solutions by means of state space search: the set of candidate solutions is thought of as forming a rooted tree with the full set at the root. The algorithm explores branches of this tree, which represent subsets of the solution set. Before enumerating the candidate solutions of a branch, the branch is checked against upper and lower estimated bounds on the optimal solution, and is discarded if it cannot produce a better solution than the best one found so far by the algorithm.

Branch & Bound  A branch-and-bound procedure requires two tools. The first one is a splitting procedure that, given a set S of candidates, returns two or more smaller sets S 1, S 2, … whose union covers S. Note that the minimum of f(x) over S is min{v 1, v 2, …}, where each v i is the minimum of f(x) within S i. This step is called branching, since its recursive application defines a search tree whose nodes are the subsets of S.

Branch & Bound  The second tool is a procedure that computes upper and lower bounds for the minimum value of f(x) within a given subset of S. This step is called bounding.  The key idea of the BB algorithm is: if the lower bound for some tree node (set of candidates) A is greater than the upper bound for some other node B, then A may be safely discarded from the search. This step is called pruning, and is usually implemented by maintaining a global variable m (shared among all nodes of the tree) that records the minimum upper bound seen among all sub-regions examined so far. Any node whose lower bound is greater than m can be discarded.

Branch & Bound  The recursion stops when the current candidate set S is reduced to a single element, or when the upper bound for set S matches the lower bound. Either way, any element of S will be a minimum of the function within S.

Branch & Bound on TSP  Given:

Branch & Bound on TSP