Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

CPSC 502, Lecture 15Slide 1 Introduction to Artificial Intelligence (AI) Computer Science cpsc502, Lecture 15 Nov, 1, 2011 Slide credit: C. Conati, S.
Analysis of Algorithms
Algorithms + L. Grewe.
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
CPSC 322, Lecture 5Slide 1 Uninformed Search Computer Science cpsc322, Lecture 5 (Textbook Chpt 3.4) January, 14, 2009.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Computability Start complexity. Motivation by thinking about sorting. Homework: Finish examples.
Integer Programming 3 Brief Review of Branch and Bound
6 - 1 § 6 The Searching Strategies e.g. satisfiability problem x1x1 x2x2 x3x3 FFF FFT FTF FTT TFF TFT TTF TTT.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
1 -1 Chapter 1 Introduction Why Do We Need to Study Algorithms? To learn strategies to design efficient algorithms. To understand the difficulty.
Dealing with NP-Complete Problems
Computational Methods for Management and Economics Carla Gomes
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.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Ch 13 – Backtracking + Branch-and-Bound
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
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
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.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Integer programming Branch & bound algorithm ( B&B )
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Bold Stroke January 13, 2003 Advanced Algorithms CS 539/441 OR In Search Of Efficient General Solutions Joe Hoffert
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
The Lower Bounds of Problems
WOOD 492 MODELLING FOR DECISION SUPPORT
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
§1.4 Algorithms and complexity For a given (optimization) problem, Questions: 1)how hard is the problem. 2)does there exist an efficient solution algorithm?
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Algorithm Design Methods (II) Fall 2003 CSE, POSTECH.
Optimization Problems
Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.
Computer Science/Ch. Algorithmic Foundation of CS 4-1 Chapter 4 Chapter 4 Algorithmic Foundation of Computer Science.
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
© The McGraw-Hill Companies, Inc., Chapter 1 Introduction.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
Branch and Bound Searching Strategies
Greedy Algorithms Prof. Kharat P. V. Department of Information Technology.
Optimization Problems
Brute-Force, Heuristic Algorithms
BackTracking CS255.
Algorithm Design Methods
Backtracking And Branch And Bound
Introduction to Operations Research
Analysis and design of algorithm
Design and Analysis of Computer Algorithm (CS575-01)
Analysis and design of algorithm
Objective of This Course
Optimization Problems
Analysis & Design of Algorithms (CSCE 321)
Discrete Mathematics CMP-101 Lecture 12 Sorting, Bubble Sort, Insertion Sort, Greedy Algorithms Abdul Hameed
Advanced Algorithms Analysis and Design
Chapter 11 Limitations of Algorithm Power
Branch and Bound Searching Strategies
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Cynthia Phillips (Sandia National Laboratories)
Algorithm Design Methods
Chapter 1 Introduction.
We have the following incomplete B&B tree:
Algorithm Design Methods
Discrete Optimization
Presentation transcript:

Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL Reconnect ‘04 Experimental Algorithmics with a Focus on Branch and Bound for Discrete Optimization Problems Cynthia Phillips, Sandia National Labs Jeff Linderoth, Lehigh Jonathan Berry, Lafayette

Slide 2 Discrete (Combinatorial) Optimization Informally, a Combinatorial Optimization problem is the minimization (maximization) of an objective function over a finite set of feasible solutions. Examples from everyday life: Scheduling family activities (just finding a feasible solution) –Vehicle routing Packing a moving van or dishwasher Budgeting

Slide 3 Complexity Most of the problems we really want to solve are NP-complete: Any algorithm that computes the optimal solution for all input instances is likely to take an unacceptable amount of time in the worst case. But we still need to solve them in practice: Approximation Restricted input instances Average Case

Slide 4 Solving Combinatorial Optimization Problems in Practice Goal: Do the best we can in solving a particular instance. That’s what people really want to solve Structural insight from optimal solutions to small problems leads to –Better approximation algorithms (theory) –Better heuristics (practice) –Better solution of bigger problems

Slide 5 Experimental Algorithmics Rigorous computer experimentation –How well does an algorithm/implementation perform? Time, Approximation quality –Algorithm comparisons Algorithmic questions arising during development of robust, efficient software –Cache issues –Generation of synthetic data Algorithm Engineering

Slide 6 Branch and Bound Branch and Bound is an intelligent (enumerative) search procedure for discrete optimization problems. Three required (problem-specific) procedures: Compute a lower bound (assuming min) b(X) Split a feasible region (e.g. over parameter/decision space) Find a candidate solution –Can fail –Require that it recognizes feasibility if X has only one point

Slide 7 Branching (Splitting) Usually partitions the feasible region (or better)

Slide 8 Branching (Splitting) Usually partitions the feasible region (or better) Region X X1X1 X2X2 X3X3

Slide 9 Branch and Bound Recursively divide feasible region, prune search when no optimal solution can be in the region. Root Problem = original fathomed infeasible

Slide 10 Terminology The best feasible solution found so far is called the incumbent. A node awaiting bounding or splitting (not done) is called active. The set of active nodes is sometimes called the frontier.

Slide 11 Branch and Bound Solution Quality At any point in the computation, we have a global lower bound: the lowest lower bound among all open (active) nodes. We can stop at any point and compute an instance-specific approximation bound: value of incumbent/global bound If B&B runs to completion we have –Found an optimal solution –Proven that this solution is optimal

Slide 12 Example: Binary Knapsack Given set of objects 1..n Each has weight/size w i, and value v i Thief wants the most valuable set that fits into a knapsack of size W Find a subset of objects S that Maximizes Subject to

Slide 13 Binary Knapsack - Upper Bound (and Candidate) Bound with greedy strategy –Maximize value/unit weight Sort objects by “bang for the buck”: –Add objects in order –Split last object value weightW

Slide 14 Greedy Isn’t optimal Knapsack is weakly NP-complete For W = 9, {B,C} is optimal wvv/w A6122 B599/5 C441

Slide 15 Knapsack - Partitioning Represent a decision region with three subsets: IN, OUT, UNDECIDED Upper bound and candidate: (value of) greedy on UNDECIDED with new bound W - W(IN). Branch object (i above): The one partially-included item in the greedy solution Take Object i Leave Object i Object i Undecided

Slide 16 Branch and Bound Recursively divide feasible region, prune search when no optimal solution can be in the region. Root Problem: IN, OUT empty infeasible fathomed Object i IN Object i OUT Object k OUT Object j OUT Object k IN Object j IN

Slide 17 Representation - Space issues Two Lists (IN and OUT) UNDECIDED is implied Object i INObject i OUT IN,OUT Share OUT with parentShare IN with parent

Slide 18 Representation Issue - Space 3-valued vector: IOU Save difference with parent Issue: length of chains vs. space cost of replication Object i IN Object i OUT Object k OUT Object j OUT Object k IN Object j IN

Slide 19 This course covers Practical ways to solve combinatorial optimization problems with branch and bound Integer Programming –Natural general way to express any NP-complete problem (most useful combinatorial optimization problems) –Theoretical foundations as relevant to practice –Software tools Experimental Algorithmics –Answering “so what?” for your experimental study We’ll see example applications, but they’re the tip of the iceberg