An iteration of Branch and Bound One iteration of Branch and Bound consists of the following four steps: Some definitions. Branch and Bound.

Similar documents
Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

CSE 417 Branch & Bound (pt 4) Branch & Bound

Practice Final Exam 1

Assignment 3b: The traveling salesman problem

3 INTEGER LINEAR PROGRAMMING

Spanning Tree. Lecture19: Graph III. Minimum Spanning Tree (MSP)

of optimization problems. In this chapter, it is explained that what network design

Partha Sarathi Mandal

UNIT 4 Branch and Bound

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Branch and Bound. Live-node: A node that has not been expanded. It is similar to backtracking technique but uses BFS-like search.

TSP! Find a tour (hamiltonian circuit) that visits! every city exactly once and is of minimal cost.!

Solutions for Operations Research Final Exam

(Refer Slide Time: 01:00)

Modified Order Crossover (OX) Operator

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

7KH9HKLFOH5RXWLQJSUREOHP

Constructive and destructive algorithms

Mathematics for Decision Making: An Introduction. Lecture 4

Mathematical Tools for Engineering and Management

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

Algorithms for Integer Programming

Notes for Lecture 24

Lagrangian Relaxation in CP

Coping with the Limitations of Algorithm Power Exact Solution Strategies Backtracking Backtracking : A Scenario

COMP 8620 Advanced Topics in AI

Search Algorithms. IE 496 Lecture 17

mywbut.com Uninformed Search

Improving the Held and Karp Approach with Constraint Programming

and 6.855J Lagrangian Relaxation I never missed the opportunity to remove obstacles in the way of unity. Mohandas Gandhi

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

Approximation Algorithms

Optimal tour along pubs in the UK

11. APPROXIMATION ALGORITHMS

Traveling Salesperson Problem (TSP)

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

CAD Algorithms. Shortest Path

Backtracking and Branch-and-Bound

Overview. H. R. Alvarez A., Ph. D.

Algorithms for Euclidean TSP

5.3 Cutting plane methods and Gomory fractional cuts

Algorithm Design and Analysis

TIM 206 Lecture Notes Integer Programming

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

Lecture 3: Totally Unimodularity and Network Flows

Pre-requisite Material for Course Heuristics and Approximation Algorithms

Theorem 2.9: nearest addition algorithm


Minimum spanning trees

Greedy Algorithms. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms

CS 5114: Theory of Algorithms. Graph Algorithms. A Tree Proof. Graph Traversals. Clifford A. Shaffer. Spring 2014

Integer Programming. Xi Chen. Department of Management Science and Engineering International Business School Beijing Foreign Studies University

B553 Lecture 12: Global Optimization

Algorithm Design Techniques. Hwansoo Han

Local search. Heuristic algorithms. Giovanni Righini. University of Milan Department of Computer Science (Crema)

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP:

val(y, I) α (9.0.2) α (9.0.3)

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

Branch-and-bound: an example

Fundamentals of Integer Programming

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

1. [1 pt] What is the solution to the recurrence T(n) = 2T(n-1) + 1, T(1) = 1

Mathematical Thinking

A region is each individual area or separate piece of the plane that is divided up by the network.

the Further Mathematics network V SUMMARY SHEET DECISION MATHS Algorithms Input A and B (positive integers)

Effective probabilistic stopping rules for randomized metaheuristics: GRASP implementations

Approximation Algorithms

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Approximation Algorithms

The MIP-Solving-Framework SCIP

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

On the Phase Coupling Problem between Data Memory Layout Generation and Address Pointer Assignment

CS1800: Graph Algorithms (2nd Part) Professor Kevin Gold

Greedy algorithms is another useful way for solving optimization problems.

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science Artificial Intelligence Fall, 2010

Mathematical and Algorithmic Foundations Linear Programming and Matchings

SUMMARY SHEET DECISION MATHS. Algorithms. Input A and B (positive integers) Let Q = int(b/a) Let R1 = B A Q

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

1 The Traveling Salesman Problem

1. Lecture notes on bipartite matching

NP-complete Reductions

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Primal Dual Schema Approach to the Labeling Problem with Applications to TSP

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

Introduction to Approximation Algorithms

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 4: Matching and other stuff

Combinatorial Optimization - Lecture 14 - TSP EPFL

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

1. Lecture notes on bipartite matching February 4th,

APPM 4120/5120 Exam #2 Practice Solutions Spring 2015

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a

Module 6 NP-Complete Problems and Heuristics

Notes for Lecture 20

Transcription:

ranch and ound xamples and xtensions jesla@man.dtu.dk epartment of Management ngineering Technical University of enmark ounding ow do we get ourselves a bounding function? Relaxation. Leave out some constraints. Keep the same objective function f. So now we maximize f over a larger solution space P. If all original constraints are satisfied we have an incumbent. hange the objective function f to g. ere gx) fx) for all x S. Optimality of g does not automaticly guarantee optimality of f. Use the two above at the same time. 3 Some definitions branching is a division of the original feasible set S into subsets S1... SK. branching is valid if K i=1 S i = S It is possible to determine and optimize over each set Si branching is called partitive if the sets Si are disjoint. 2 n iteration of ranch and ound One iteration of ranch and ound consists of the following four steps: 1. Selection of the node to be processed. 2. ound calculation. 3. Pruning? 4. ranching. 4 1

Strategy for branching In many situations there is not only one variable/candidate for branching. The question is which to choose. ranch on most fractional variable. ranch on least fractional variable. stimate the cost of forcing xj to become integer. These are all heuristic strategies, there is no guaranteed best strategy. Mostly mentioned strategies S: epth irst Search strategy: select among the active nodes one of those with the largest level. S: readth irst Search strategy: select among the active nodes one of those with the lowest level. es: est irst Search strategy: select among the active nodes one of those with the lowest bound. (sometime also called global best node selection). 7 Strategy for selecting the next subproblem In choosing a search strategy we might consider two different goals: Minimizing overall solution time. inding a good feasible solution to our original problem. 6 The est irst Search strategy One way to minimize overall solution time is to try to minimize the size of the search tree. subproblem (& node) is critical if the bound exceeds the value of the optimal solution. critical node must always be examined. Only nodes with values larger than or equal to the optimum will be searched. No superfluous calculations take place in est irst Search after the optimum has been found. 8 5

ranch and ound for TSP Input: distance matrix for a digraf = V ) with n vertices (so dij may be different from dji). If the edge i j) is in then dij equals the distance from i to j, otherwise dij equals. Output: The length d) of a shortest directed circuit in visiting each vertex exactly once, and an n-vector of edges v1 v2)... vn 1 vn)). Method: &: ounding function, search and branching strategy is described below. TSP xample 3 93 13 33 9 4 77 42 21 16 45 17 36 16 28 39 90 80 56 7 28 46 88 33 25 3 88 18 46 92 11 Mathematical formulation of the TSP min st. n n dijxij i=1 n j=1i=j n j=1 i=1i=j ij S xij = 1 i 1... n} xij = 1 j 1... n} xij S 1 S V xij 0 1} i j 1... n} 10 TSP Lower bound calculation 0 75 2 30 6 0 58 30 17 12 29 1 12 0 12 32 83 58 49 0 3 21 48 0 0 0 85 0 35 89 12 9

TSP - & omponents I ounding function: Perform row and column reductions as for the assignment problem subtract the smallest element in each row from all row elements and then the smallest element in each column of the resulting matrix from all column elements. The sum of the subtracted elements constitutes a lower bound for the length of the optimal TSP tour. 13 TSP - & omponents III Search strategy: epth first: xamine the subproblem with the included edge first. ecause i j) is most expensive to leave out, there is a fair chance that the other subproblems is pruned in a later iteration. 15 TSP - & omponents II ranching: ind that 0-position i j) in the reduced matrix, for which the sum of the next-smallest elements in row i and column j is largest ( the most expensive edge to leave out in a new solution ). onstruct two subproblems: one in which i j) is forced into the solution (remove row i and column j from the matrix and set dji to ), and one in which i j) is excluded from the solution (set dij equal to ). 14 TSP ranching on 6 3) 1-branch 0-branch 0 2 30 6 0 30 17 12 29 1 12 0 32 83 49 0 3 21 0 0 0 75 2 30 6 0 58 30 17 12 29 1 12 0 12 32 83 58 49 0 3 21 48 0 0 0 85 35 89 16

TSP numeration tree with solution L=81 +(6,3) (6,3) L=81 L=129 +(6,3); +(4,6) +(6,3); (4,6) L=81 L=113 +(6,3); +(4,6); +(2,1) +(6,3); +(4,6); (2,1) L=84 L=101 +(6,3); +(4,6); +(2,1); +(1,4) +(6,3); +(4,6); +(2,1); (1,4) L=112 Solution with value 104! 17 ounds One way to identify a bound for the TSP is by relaxing constraints. This could be to allow subtours. This bound is although known to be rather weak. n alternative is the 1 tree relaxation. 19 The Symmetric TSP min s.t. ij) j ij S dijxij xij = 2 i 1 2... n} xij S 1 S V xij 0 1 i j) 18 The 1-tree bound Identify a special vertex 1 (this can be any vertex of the graph). 1 and all edges incident with 1 are removed from. or the remaining graph determine the minimum spanning tree T. Now the two smallest edges e1 and e2 incident with 1 are added to T producing T1 (called a 1 tree) 20

Why is T1 a bound? We need to convince ourselves that the total cost of T1 is a lower bound of the value of an optimal tour. Note that a amiltonian tour can be divided into two edges e 1 and e 2 that are incident with 1 and the rest of the tour (let us call it T ). So the set of amiltonian tours is a subset of 1-trees of. Since e1 e2 are the two smallest edges incident to 1 + d d de e2 e + d e. urthermore as T is a 2 tree dt ) dt ). 21 TSP of ornholm 0 11 24 25 30 29 15 11 0 13 20 32 37 17 15 17 24 13 0 16 30 39 29 22 25 20 16 0 15 23 18 12 30 32 30 15 0 9 23 15 29 37 39 23 9 0 14 21 15 17 29 18 23 14 0 7 15 17 22 12 15 21 7 0 23 So the cost of T1 is less that or equal to the cost of any amiltonian tour. In the case T1 is a tour we have found the optimal solution and can prune by bounding. otherwise we need to bound. 22 1-tree bound of ornholm Tree in rest of dge left out by Kruskal s MST algorithm 1 tree edge ost of 1 tree = 97 24

Strengthening the bound Idea: Vertices of T1 with high degree are incident with too many attractive edges. Vertices of degree 1 have on the other hand too many unattractive edges. efine πi as the degree of vertex i minus 2. Note that i V π i equals 0 since T1 has n edges and therefore the degree sum is 2n. or each edge i j) we transform the cost to d ij = d ij + πi + πj. 25 ow do we branch? Observe that in the case our 1-tree is not a tour at least one vertex has degree 3 or more. So choose a vertex v with degree 3 or more. or each edge ui v) generate a subproblem where ui v) is excluded from the set of edges. 27 Strengthen the bound Modified distance matrix: 0 11 24 25 29 29 16 15 11 0 13 20 31 37 18 17 24 13 0 16 29 39 30 22 25 20 16 0 14 23 19 12 29 31 29 14 0 8 23 14 29 37 39 23 8 0 15 21 16 18 30 19 23 15 0 8 ost of 1 tree = 97 15 17 22 12 14 21 8 0 26 ranching on ornholm xclude (,) xclude (,) xclude (,) ost of 1 tree = 98 The optimal tour! ost of 1 tree = 104 28

Using & as a heuristic rom the root-node of the &-tree we have a (global) upper bound u. When we compute an initial solution at root node or bound by optimality we have a global lower bound l. This gives us the opportunity to estimate the worst-case deviation from the optimum. 29 Keys to success ave a good bounding function. If several are available the stronger the better even if it is computationally harder to solve. et a good incumbent early (never underestimate the value of a good initial solution). xperiment, experiment, experiment. 31 Optimization-based heuristics Stop the & when the estimate on the deviation is below a certain threshold. on t investigate all branches in the &-tree (especially applied within inary integer programming) eam Search: Usefull technique if memory is limited. Set an upper limit α on active nodes that are stored. If this limit is reached only keep the α best. 30