MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound.

Slides:



Advertisements
Similar presentations
Section 3.4 The Traveling Salesperson Problem Tucker Applied Combinatorics By Aaron Desrochers and Ben Epstein.
Advertisements

Traveling Salesperson Problem
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.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
Branch and Bound Optimization In an exhaustive search, all possible trees in a search space are generated for comparison At each node, if the tree is optimal.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Branch & Bound Algorithms
Search Techniques MSc AI module. Search In order to build a system to solve a problem we need to: Define and analyse the problem Acquire the knowledge.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Search by partial solutions. Where are we? Optimization methods Complete solutions Partial solutions Exhaustive search Hill climbing Random restart General.
Combinatorial Algorithms
Branch and Bound Searching Strategies
MAE 552 – Heuristic Optimization Lecture 24 March 20, 2002 Topic: Tabu Search.
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.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Dealing with NP-Complete Problems
EAs for Combinatorial Optimization Problems BLG 602E.
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
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.
Jin Zheng, Central South University1 Branch-and-bound.
Linear Programming Applications
Backtracking.
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.
NP-Complete Problems and how to go-on with them Data Structures and Algorithms A.G. Malamos References: Algorithms, 2006, S. Dasgupta, C. H. Papadimitriou,
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
Copyright © 2013, 2009, 2005 Pearson Education, Inc. 1 5 Systems and Matrices Copyright © 2013, 2009, 2005 Pearson Education, Inc.
Fundamentals of Algorithms MCS - 2 Lecture # 7
Design and Analysis of Algorithms - Chapter 111 How to tackle those difficult problems... There are two principal approaches to tackling NP-hard problems.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
BackTracking CS335. N-Queens The object is to place queens on a chess board in such as way as no queen can capture another one in a single move –Recall.
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
Notes 5IE 3121 Knapsack Model Intuitive idea: what is the most valuable collection of items that can be fit into a backpack?
Computer Science CPSC 322 Lecture 9 (Ch , 3.7.6) Slide 1.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
WOOD 492 MODELLING FOR DECISION SUPPORT
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
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.
An Algorithm for the Traveling Salesman Problem John D. C. Little, Katta G. Murty, Dura W. Sweeney, and Caroline Karel 1963 Speaker: Huang Cheng-Kang.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
Flow in Network. Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Chapter 13 Backtracking Introduction The 3-coloring problem
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Chapter 3.5 and 3.6 Heuristic Search Continued. Review:Learning Objectives Heuristic search strategies –Best-first search –A* algorithm Heuristic functions.
Other partial solution strategies. Partial solution algorithms greedy  branch and bound  A*  divide and conquer  dynamic programming.
Branch and Bound Searching Strategies
Optimization Problems The previous examples simply find a single solution What if we have a cost associated with each solution and we want to find the.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
(iii) Simplex method - I D Nagesh Kumar, IISc Water Resources Planning and Management: M3L3 Linear Programming and Applications.
School of Computer Science & Engineering
Traveling Salesperson Problem
BackTracking CS255.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Types of Algorithms.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Branch and Bound.
Applied Combinatorics, 4th Ed. Alan Tucker
Branch and Bound Searching Strategies
Chapter 6 Network Flow Models.
Backtracking and Branch-and-Bound
Lecture 4: Tree Search Strategies
Presentation transcript:

MAE 552 – Heuristic Optimization Lecture 26 April 1, 2002 Topic:Branch and Bound

Parallel and Distributed Branch-and- Bound/A* Algorithms A Branch-and-Bound Algorithm for the Quadratic Assignment Problem

Branch and Bound We have seen this semester that the size of real-world problems grows very large as the number of design variables increases. Recall that there are (n-1)!/2 different solutions for the Travelling Salesman Problem (TSP). Exhaustive search is impractical when n>20 It would be helpful of we could reduce the size of the search space where we know the optimum solution will not exist.

Branch and Bound Branch and Bound works on the idea of successively partitioning the design space. 1 st we need some means on determining a lower bound on the cost of any particular solution. A lower bound on a solution means the solution will cost at least the value of this lower bound. If we are maximizing the we need to find an upper bound on a solution - a value which this solution cannot exceed

Branch and Bound For minimization –If we have a solution 1 with a cost c –AND we know that another solution 2 has lower bound that is greater than c –THEN we do not need to evaluate 2 because we know that 2 will exceed 1.

Branch and Bound For maximization –If we have a solution 1 with a cost c –AND we know that another solution 2 has upper bound that is less than c –THEN we do not need to evaluate 2 because we know that 2 will never exceed 1.

Branch and Bound We can determine an lower or upper bound by partially evaluating a particular solution. Example using TSP: Say we evaluate a partial tour of a TSP with 15 cities and after 8 cities it already exceeds our best solution so far. 1 8 There is no need to evaluate the rest of the tour AND there is no need to evaluate the other tours that start with those 8 cities!!!!

Branch and Bound The design space can be organized in a tree structure The branch and bound prunes away branches that are not of interest. The design space of the TSP can be organized on the basis of whether or not edge (1 2) occurs in the solution. It can be further divided into branches where edge (2 3) appears and so forth. Consider the search space of a 5 city TSP with 12 total solutions

Branch and Bound S Underline means edge not present in solution (1 2) (2 3) (1 2) (2 3) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (1 2) (2 3) (1 2) (2 3) (3 4) (1 2) (2 3) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (1 5) (1 2) (2 3) (3 4) (1 5) (1 2) (2 3) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (1 2) (2 3) (3 4) (2 5) (1 2) (2 3) (3 4) (2 5)

Branch and Bound Suppose the cost can for travelling between cities is described by the following cost matrix. Each entry is the cost of travelling from a city in the i th row to one in the j th column. The zeros down the diagonal indicate that you cannot travel from a city to itself C =

Branch and Bound Given the search tree we need a heuristic for estimation a lower bound on the cost of any final solution, or even any solution containing a particular node (i.e. city) If the lower bound is higher than the best solution we have found so far, we can keep looking without having to actually compute its final cost.

Branch and Bound Here is a simple but not very effectual way to compute a lower bound for a tour. Consider a complete solution for the TSP. Every tour comprises 2 adjacent edges for every city, one edge enters the city, one edge goes on to the next city. If we select the two shortest edges that are connected to each city and take the sum of these edges divided by 2 we will obtain a lower bound. We could not possibly do better because this selects the very best edges for all the cities.

Branch and Bound With respect to the cost matrix this turns out to be [(7+8)+(7+7)+(9+10)+(7+8)+(10+11)]/2=84/2=42 Note that 7 and 8 in the first parentheses correspond to the lengths of the two shortest edges connected to city 1 whereas the 7 and 7 correspond to the lengths of the two shortest edges connected to city 2 and so on C =

Branch and Bound At first glance this may seem to be good way find a good solution but it is important to note that determining the lower bound does not specify a solution. It is not possible to specify a solution that incorporates all of these shortest edges because it is generally necessary to specify some worse edges to form a legal tour.

Branch and Bound Once some edges are specified we can incorporate that information and calculate a lower bound on that partial solution. If we knew that edge (2 3) were included but edge (1 2) was not then the lower bound on the partial solution would be: [(8+11)+(7+10)+(9+10)+(7+8)+(10+11)]/2=45.5 C =

Branch and Bound We can improve the lower bound by including the implied edges or excluding those that cannot occur. If we determined that edges (1 2) and (2 4) were included in a tour then we would get a lower bound of 42. But with these two edges included we can exclude edge (1 4) which would raise the lower bound to 44. If we already have a solution less than 44 then we can eliminate every possible solution containing edges (1 2) and (2 4) WITHOUT EVALUATING THEM.

Branch and Bound Exercise: Show that with edges (1 2) and (2 4) included the lower bound is 44. [( )+( ) + ( ) + ( ) + ( )]/2= C = [(7+11)+( 7+7 ) + ( 9+10) + (7+9) + ( )]/2=44

Branch and Bound Exercise: Find the lower bound with edges (3 5) and (5 1) excluded. [(7+8)+(7+7) + (9+10) + (7+8) + (10+13)]/2=43 C = [( )+( ) + ( ) + ( ) + ( )]/2=

Branch and Bound It is important to recognize that is cost time to compute the lower bounds The cost of computing the lower bounds has to be made up in the time saved in pruning the tree. So we want the best lower bound possible, to ensure efficient pruning. This is the subject of much research.

Branch and Bound - Continuous Problems The branch and bound algorithm can also be applied to continuous problems. The idea here is to iteratively subdivide the design space into regions and check each region to see if there is a single or multiple local optima. This check is performed by testing to see if the partial derivatives are always negative or positive. If the area is monotonic then a lower bound is computed for it. If not, then the region is further subdivided. Regions are eliminated whose lower bounds are greater than the best solution found thus far.

Branch and Bound Lower bounds can be computed by looking at the edges of each monotonic region. Decreasing F Lower Bound for Region Lower Bound for Region

Branch and Bound There are many variants of this generic branch and bound algorithm –Interval analysis can be used to determine the bounds where the calculations are performed on intervals instead of on real number –A stochastic version of the algorithm calculates f at random points to determine a lower bound. We will go into the application of Branch and Bound to continuous problems in more detail next lecture