Branch and Bound Algorithms Present by Tina Yang Qianmei Feng.

Slides:



Advertisements
Similar presentations
Integer Linear Programming
Advertisements

Branch-and-Bound Technique for Solving Integer Programs
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Pure, Mixed-Integer, Zero-One Models
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
EE 553 Integer Programming
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
Branch & Bound Algorithms
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
Branch and Bound Searching Strategies
Computational Methods for Management and Economics Carla Gomes
1 Maximum matching Max Flow Shortest paths Min Cost Flow Linear Programming Mixed Integer Linear Programming Worst case polynomial time by Local Search.
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.
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
LP formulation of Economic Dispatch
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
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.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Types of IP Models All-integer linear programs Mixed integer linear programs (MILP) Binary integer linear programs, mixed or all integer: some or all of.
MILP algorithms: branch-and-bound and branch-and-cut
To accompany Quantitative Analysis for Management, 8e by Render/Stair/Hanna 11-1 © 2003 by Prentice Hall, Inc. Upper Saddle River, NJ Chapter 11.
1 Chapter 4: Integer and Mixed-Integer Linear Programming Problems 4.1 Introduction to Integer and Mixed-Integer Linear Programming 4.2 Solving Integer.
WOOD 492 MODELLING FOR DECISION SUPPORT
Energy-Efficient Sensor Network Design Subject to Complete Coverage and Discrimination Constraints Frank Y. S. Lin, P. L. Chiu IM, NTU SECON 2005 Presenter:
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 Lagrangean Relaxation --- Bounding through penalty adjustment.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Column Generation By Soumitra Pal Under the guidance of Prof. A. G. Ranade.
Integer Linear Programming Terms Pure integer programming mixed integer programming 0-1 integer programming LP relaxation of the IP Upper bound O.F. Lower.
Integer Programming Li Xiaolei. Introduction to Integer Programming An IP in which all variables are required to be integers is called a pure integer.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Divide and Conquer Optimization problem: z = max{cx : x  S}
Integer LP In-class Prob
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
1/74 Lagrangian Relaxation and Network Optimization Cheng-Ta Lee Department of Information Management National Taiwan University September 29, 2005.
Chapter 2. Optimal Trees and Paths Combinatorial Optimization
Integer Programming, Branch & Bound Method
Branch and Bound Searching Strategies
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Chapter 6 Optimization Models with Integer Variables.
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
0 Integer Programming Introduction to Integer Programming (IP) Difficulties of LP relaxation IP Formulations Branch and Bound Algorithms Reference: Chapter.
Water Resources Development and Management Optimization (Integer and Mixed Integer Programming) CVEN 5393 Mar 28, 2011.
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
Introduction to Operations Research
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Integer Linear Programming
MIP Tools Branch and Cut with Callbacks Lazy Constraint Callback
1.3 Modeling with exponentially many constr.
ENGM 435/535 Integer Programming.
Integer Linear Programming
Branch-and-Bound Algorithm for Integer Program
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Branch-and-Bound Technique for Solving Integer Programs
Discrete Optimization
Presentation transcript:

Branch and Bound Algorithms Present by Tina Yang Qianmei Feng

Branch and Bound is a general search method. Starting by considering the root problem (the original problem with the complete feasible region), the lower-bounding and upper-bounding procedures are applied to the root problem. If the bounds match, then an optimal solution has been found and the procedure terminates. Introduction

Otherwise, the feasible region is divided into two or more regions, these subproblems partition the feasible region. The algorithm is applied recursively to the subproblems. If an optimal solution is found to a subproblem, it is a feasible solution to the full problem, but not necessarily globally optimal. Introduction

If the lower bound for a node exceeds the best known feasible solution, no globally optimal solution can exist in the subspace of the feasible region represented by the node. Therefore, the node can be removed from consideration. The search proceeds until all nodes have been solved or pruned, or until some specified threshold is met between the best solution found and the lower bounds on all unsolved subproblems. Introduction

Algorithm for LP-Based Branch and Bound Max z =c j x j s.t. a ij x j ≤ b i i = 1,…,m x j ≥ 0 j = 1,…, n L j ≤ x j ≤ U j j = 1,…, n x j are integers j = 1,…, n

Algorithm for LP-Based Branch and Bound Step 0: Initialization. Let the master list initially include only the original linear program, let t=1, and z 1 = -∞. Step 1: Branching. Stop if the master list is empty. Otherwise select a program from the master list.

Algorithm for LP-Based Branch and Bound Step 2: Relaxation. Solve the problem taken from the master list. If the problem has no feasible solution, or if its objective function value z is less than z t (this branch has been fathomed), let z t+1 = z t and go to Step 1. Otherwise go to Step 3. Step 3: If the solution to the solved LP satisfies the integer constraints, then store the solution and let z t+1 equal the objective function value for the solution. Since this branch has been fathomed, go to Step 1. If the integer condition is not satisfied, go to Step 4.

Algorithm for LP-Based Branch and Bound Step 4: Separation. Select any variable x j whose value b j in the current solution does not satisfy the integer requirement. Add two problems to the master list; these problems are identical to the one just solved except that in one we add: x j ≥ [b j ]+1 and in the other we add: x j ≤ [b j ] Let z t+1 = z t and go to Step 1.

Example Max Z = 21x 1 +11x 2 s.t. 7x 1 +4x 2 ≤13 x 1 ≥0, x 2 ≥0 x 1,x 2 are integers

Example (cont.)  Step 0: Set Z 1 = - . Create Problem 1.  Step 1: Remove Problem 1 from the master list.  Step 2: Solve Problem 1.  Step 3: Branch on X 1, since X 1 not integer-valued.  Step 4: Create Problem 2 & 3. Place on master list.

Example (cont.)  Step 0: Set Z 2 = - .  Step 1: Remove Problem 2 from the master list.  Step 2: Solve Problem 2.  Step 3: No feasible solution. Stop.

Example (cont.)  Step 0: Set Z 3 = -   Step 1: Remove Problem 3 from the master list  Step 2: Solve Problem 3  Step 3: Branch on X 2, since X 2 not integer-valued  Step 4: Create Problem 4 & 5 place on master list

Example (cont.)  Step 0: Set Z 4 = - .  Step 1: Remove Problem 4 from the master list.  Step 2: Solve Problem 4.  Step 3: Solution satisfies integer constraint. Record the solution and stop!

Example (cont.)  Following the same steps, terminate computations until master list is empty.

Branch and Bound Codes in Matlab  Available Matlab code for Branch and Bound algorithm – BNB on the following ftp site: ftp://ftp.mathworks.com/pub/contrib/v5/optim/  The algorithm detects 0-1 variables with constrains like: x(a)+x(b)+x(c)+..=1 and adapts the branching to it.  To function BNB, you need: Matlab 5.3 or newer Optimization Toolbox 2.0 The Courier-LD font

Conclusion  Although a number of algorithms have been proposed for the integer linear programming problem, the branch-and-bound technique has proven to be reasonably efficient on practical problems, and it has the added advantage that it solves continuous linear programs as sub problems.  The technique is also used in a lot of software in global optimization.