Lecture 10 Integer Programming BranchandBound J Christopher Beck
Lecture 10: Integer Programming & Branch-and-Bound © J. Christopher Beck 2005 1
Outline n n n Quick mathematical programming review Disjunctive graph Disjunctive programming formulation n n Branch-and-bound n n Example 5. 3. 1 Example B. 4. 1 Note: Some slides taken from see text CD (Iowa State, Amsterdam) © J. Christopher Beck 2005 2
Review of Mathematical Programming n Many scheduling problems can be formulated as mathematical programs: n n n Linear Programming Integer Programming See Appendix A in book. © J. Christopher Beck 2005 3
Linear Programs Minimize subject to © J. Christopher Beck 2005 4
Solving LPs n LPs can be solved efficiently n n Simplex method (1950 s) Interior point methods (1970 s) Polynomial time Has been used in practice to solve huge problems © J. Christopher Beck 2005 5
Integer Programming n n LP where all variables must be integer Mixed-integer programming (MIP) Much more difficult than LP Most useful for scheduling © J. Christopher Beck 2005 6
Example: Single Machine n One machine and n jobs Minimize n Define the decision variables n © J. Christopher Beck 2005 7
IP Formulation Minimize End time of job j subject to “Time-indexed” formulation – one way to model a scheduling problems as a MIP © J. Christopher Beck 2005 All activities start once Jobs can’t overlap 8
Solving IPs n Branch-and-bound methods n n n Branch on the decision variables Linear programming relaxation provides bounds There are other methods but we will focus on B&B n We will come back to B&B later in the lecture © J. Christopher Beck 2005 9
A alternative MIP formulation from the time-indexed one Disjunctive Graph Formulation n Each job follows a given route n Source Picture each job as a row of nodes: (i, j)=operation on machine i of job j (1, 1) (2, 1) (1, 2) (2, 3) (1, 3) © J. Christopher Beck 2005 (3, 1) Conjunctive arcs (4, 2) (4, 3) (3, 3) Sink 10
Graph Representation n To model the machines, introduce the arc set B (. . . ), giving ‘a clique’ of bidirected arc-pairs on each machine Disjunctive arcs (1, 1) (2, 1) Source (1, 2) (2, 3) (1, 3) © J. Christopher Beck 2005 (3, 1) Conjunctive arcs (4, 2) (4, 3) (3, 3) Sink 11
Solving the Problem n Select one arc from each disjunctive pair Source (1, 1) (2, 1) (1, 2) (2, 3) (1, 3) © J. Christopher Beck 2005 (3, 1) (4, 2) (4, 3) (3, 3) Sink 12
Feasibility of the Schedule n Are all selections feasible? Resulting graph must be acyclic Source (1, 1) (2, 1) (1, 2) (2, 3) (1, 3) © J. Christopher Beck 2005 (3, 1) (4, 2) (4, 3) (3, 3) Sink 13
Conjunctive vs. Disjunctive n Conjunctive n n All constraints must be satisfied “AND” In JSP they come from the job routings Disjunctive At least one of the constraints must be satisfied n “OR” n Beck In 2005 JSP they come from the machine usage 14 © J. Christopher n
Disjunctive Programming Idea n n 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? n Assume objective is to minimize makespan (i. e. , min Cmax) © J. Christopher Beck 2005 15
Notation n n N – set of all operations A – set of all conjunctive constraints B – set of all disjunctive constraints yij – starting time of operation (i, j)=operation on machine i of job j © J. Christopher Beck 2005 16
Disjunctive Programming Formulation Minimize Cmax s. t. © J. Christopher Beck 2005 17
Disjunctive Programming Formulation Minimize Cmax s. t. All operations must end before makespan © J. Christopher Beck 2005 18
Disjunctive Programming Formulation Minimize Cmax s. t. An operation cannot start before the previous operation (in the job) ends © J. Christopher Beck 2005 19
Disjunctive Programming Formulation Minimize Cmax s. t. One disjunctive arc must be chosen © J. Christopher Beck 2005 20
Disjunctive Programming Formulation Minimize Cmax s. t. Start times cannot be negative © J. Christopher Beck 2005 21
Disjunctive Programming Formulation n n See Example 5. 3. 1 You should be able to create a disjunctive programming formulation for a given JSP instance © J. Christopher Beck 2005 22
OK, now what? n So we’ve got a IP formulation of the problem, how do we solve it? n n n Either the time-indexed or the disjunctive formulation 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 23
Branch-and-Bound n Idea n n 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 24
B&B Search Tree: Branching n Imagine a problem with 3 variables n a, b, c є {0, 1} Branch a=0 b=0 c=0 100 c=1 90 © J. Christopher Beck 2005 a=1 b=1 c=0 110 b=0 c=1 115 c=0 80 c=1 90 b=1 c=0 100 c=1 110 25
B&B Search Tree: Bounding n Imagine I have a way to calculate a lower bound on the cost at each node a=0 b=0 c=0 100 85 70 c=1 90 © J. Christopher Beck 2005 a=1 50 b=1 95 b=0 c=0 80 80 80 Bound 26
B&B n Branch: assign a heuristic value to a variable n n Creates two subproblems Bound: compare lower bound at node with best known solution n If LB > best, you can backtrack right away © J. Christopher Beck 2005 27
B&B for IP n Usually lower bound is found by solving the linear relaxation of the IP n n LP formed by ignoring integral constraints Branch on one of the integer variables with a non-integer value to be: n n greater than or equal to the next highest integer, or Less than or equal to the next lowest integer © J. Christopher Beck 2005 28
IP Formulation Minimize End time of job j subject to All activities start once Jobs can’t overlap © J. Christopher Beck 2005 29
B&B for IP xi ≤ floor(r) xk ≤ floor(s) xi ≥ ceil(r) … … 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 30
B&B is Important! n n 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 31
- Slides: 31