Lecture 10: Integer Programming & Branch-and-Bound

Slides:



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

Algorithm Design Methods Spring 2007 CSE, POSTECH.
Lecture 6: Job Shop Scheduling Introduction
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
EE 553 Integer Programming
Progress in Linear Programming Based Branch-and-Bound Algorithms
Water Resources Development and Management Optimization (Integer Programming) CVEN 5393 Mar 11, 2013.
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.
© J. Christopher Beck Lecture 15: CP Search.
Introduction to Linear and Integer Programming
Computational problems, algorithms, runtime, hardness
Branch and Bound Searching Strategies
Computational Methods for Management and Economics Carla Gomes
© J. Christopher Beck Lecture 4: Project Planning 1.
Approximation Algorithms
Optimization for Network Planning Includes slide materials developed by Wayne D. Grover, John Doucette, Dave Morley © Wayne D. Grover 2002, 2003 E E 681.
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.
© J. Christopher Beck Lecture 11: Constraint Programming 1.
Review of Reservoir Problem OR753 October 29, 2014 Remote Sensing and GISc, IST.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
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’
(Not in text).  An LP with additional constraints requiring that all the variables be integers is called an all-integer linear program (IP).  The LP.
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
© J. Christopher Beck Lecture 5: Project Planning 2.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Chapter 9 Integer Programming
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.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
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.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Models in I.E. Lectures Introduction to Optimization Models: Shortest Paths.
Chap 10. Integer Prog. Formulations
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
1 Lagrangean Relaxation --- Bounding through penalty adjustment.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Lecture 9: Simplified Shifting Bottleneck
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Integer Programming Li Xiaolei. Introduction to Integer Programming An IP in which all variables are required to be integers is called a pure integer.
Chapter 3 Algorithms Complexity Analysis Search and Flow Decomposition Algorithms.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
Integer LP In-class Prob
Lagrangean Relaxation
Lecture.6. Table of Contents Lp –rounding Dual Fitting LP-Duality.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Integer Programming, Branch & Bound Method
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
Branch and Bound Searching Strategies
© J. Christopher Beck Lecture 16: Local Search.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Lecture 11: Tree Search © J. Christopher Beck 2008.
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
Integer Linear Programming
Integer Programming (정수계획법)
Topic 15 Job Shop Scheduling.
Branch-and-Bound Algorithm for Integer Program
Presentation transcript:

Lecture 10: Integer Programming & Branch-and-Bound © J. Christopher Beck 2005

Outline Quick mathematical programming review Disjunctive graph Disjunctive programming formulation Example 5.3.1 Branch-and-bound Example B.4.1 Note: Some slides taken from see text CD (Iowa State, Amsterdam) © J. Christopher Beck 2005

Review of Mathematical Programming Many scheduling problems can be formulated as mathematical programs: Linear Programming Integer Programming See Appendix A in book. © J. Christopher Beck 2005

Linear Programs Minimize subject to © J. Christopher Beck 2005

Solving LPs LPs can be solved efficiently Polynomial time Simplex method (1950s) Interior point methods (1970s) Polynomial time Has been used in practice to solve huge problems © J. Christopher Beck 2005

Integer Programming LP where all variables must be integer Mixed-integer programming (MIP) Much more difficult than LP Most useful for scheduling © J. Christopher Beck 2005

Example: Single Machine One machine and n jobs Minimize Define the decision variables © J. Christopher Beck 2005

All activities start once IP Formulation Minimize subject to End time of job j All activities start once “Time-indexed” formulation – one way to model a scheduling problems as a MIP Jobs can’t overlap © J. Christopher Beck 2005

Solving IPs Branch-and-bound methods Branch on the decision variables Linear programming relaxation provides bounds There are other methods but we will focus on B&B We will come back to B&B later in the lecture © J. Christopher Beck 2005

Disjunctive Graph Formulation A alternative MIP formulation from the time-indexed one Each job follows a given route Picture each job as a row of nodes: (i,j)=operation on machine i of job j (1,1) (2,1) (3,1) Conjunctive arcs Source (1,2) (2,2) (4,2) Sink (2,3) (1,3) (4,3) (3,3) © J. Christopher Beck 2005

Graph Representation To model the machines, introduce the arc set B (...), giving ‘a clique’ of bidirected arc-pairs on each machine Full Graph G(N, AB) Disjunctive arcs (1,1) (2,1) (3,1) Conjunctive arcs Source (1,2) (2,2) (4,2) Sink (2,3) (1,3) (4,3) (3,3) © J. Christopher Beck 2005

Solving the Problem Select one arc from each disjunctive pair (1,1) (2,1) (3,1) Source (1,2) (2,2) (4,2) Sink (2,3) (1,3) (4,3) (3,3) © J. Christopher Beck 2005

Feasibility of the Schedule Are all selections feasible? Resulting graph must be acyclic (1,1) (2,1) (3,1) Source (1,2) (2,2) (4,2) Sink (2,3) (1,3) (4,3) (3,3) © J. Christopher Beck 2005

Conjunctive vs. Disjunctive All constraints must be satisfied “AND” In JSP they come from the job routings Disjunctive At least one of the constraints must be satisfied “OR” In JSP they come from the machine usage © J. Christopher Beck 2005

Disjunctive Programming Idea Formulate an Integer Program based on the disjunctive graph and use standard IP solution techniques (e.g., B&B) to solve it How do we formulate a JSP as a disjunctive program? Assume objective is to minimize makespan (i.e., min Cmax) © J. Christopher Beck 2005

Notation N – set of all operations A – set of all conjunctive constraints B – set of all disjunctive constraints yij – starting time of operation (i, j) (i,j)=operation on machine i of job j © J. Christopher Beck 2005

Disjunctive Programming Formulation Minimize Cmax s.t. © J. Christopher Beck 2005

Disjunctive Programming Formulation Minimize Cmax s.t. All operations must end before makespan © J. Christopher Beck 2005

Disjunctive Programming Formulation Minimize Cmax s.t. An operation cannot start before the previous operation (in the job) ends © J. Christopher Beck 2005

Disjunctive Programming Formulation Minimize Cmax s.t. One disjunctive arc must be chosen © J. Christopher Beck 2005

Disjunctive Programming Formulation Minimize Cmax s.t. Start times cannot be negative © J. Christopher Beck 2005

Disjunctive Programming Formulation See Example 5.3.1 You should be able to create a disjunctive programming formulation for a given JSP instance © J. Christopher Beck 2005

OK, now what? Either the time-indexed or the disjunctive formulation So we’ve got a IP formulation of the problem, how do we solve it? Using standard IP solution techniques such as branch-and-bound Doesn’t mean the problem is easy Will now talk about branch-and-bound (B&B) which can be used to solve IPs and other hard problems © J. Christopher Beck 2005

Branch-and-Bound Idea Creates a search tree Systematically search through possible variable values Use heuristics to pick a decision to try (“branch”) Use lower bounds on solutions to “bound” the search Creates a search tree © J. Christopher Beck 2005

B&B Search Tree: Branching Imagine a problem with 3 variables a, b, c є {0, 1} Branch a = 0 a = 1 b = 0 b = 1 b = 0 b = 1 c = 0 c = 1 c = 0 c = 1 c = 0 c = 1 c = 0 c = 1 100 90 110 115 80 90 100 110 © J. Christopher Beck 2005

B&B Search Tree: Bounding Imagine I have a way to calculate a lower bound on the cost at each node a = 0 a = 1 50 b = 0 b = 1 b = 0 70 80 Bound c = 0 c = 1 c = 0 85 95 80 100 90 80 © J. Christopher Beck 2005

B&B Branch: assign a heuristic value to a variable Creates two subproblems Bound: compare lower bound at node with best known solution If LB > best, you can backtrack right away © J. Christopher Beck 2005

B&B for IP Usually lower bound is found by solving the linear relaxation of the IP LP formed by ignoring integral constraints Branch on one of the integer variables with a non-integer value to be: greater than or equal to the next highest integer, or Less than or equal to the next lowest integer © J. Christopher Beck 2005

All activities start once IP Formulation Minimize subject to End time of job j All activities start once Jobs can’t overlap © J. Christopher Beck 2005

B&B for IP Solve LP to give cost LB xi ≤ floor(r) xi ≥ ceil(r) xk ≤ floor(s) … … Solve LP to give cost LB If solution in non-integer, choose xi = r (r in non-integer) Branch on xi Repeat at next node © J. Christopher Beck 2005

B&B is Important! We will look at it again in the next lecture! You should understand Sections B.3 and B.4 (in Appendix B) © J. Christopher Beck 2005