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.

Slides:



Advertisements
Similar presentations
IEOR 4004 Final Review part II.
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
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
EE 553 Integer Programming
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
Introduction to Linear and Integer Programming
THE SINGLE MACHINE EARLY/TARDY PROBLEM* PENG SI OW & THOMAS E. MORTON IE Paper Presentation A. İrfan Mahmutoğulları *Ow, P. S., & Morton, T. E. (1989).
AMA522 SCHEDULING Set # 2 Dr. LEE Heung Wing Joseph
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
Solving Integer Programs. Natural solution ideas that don’t work well Solution idea #1: Explicit enumeration: Try all possible solutions and pick the.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
Chapter 2: Model of scheduling problem Components of any model: Decision variables –What we can change to optimize the system, i.e., model output Parameters.
Duality in Optimization and Constraint Satisfaction J. N. Hooker Carnegie Mellon Univ. Pittsburgh, USA September 2006.
Computational Methods for Management and Economics Carla Gomes
1 IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Optimization for Network Planning Includes slide materials developed by Wayne D. Grover, John Doucette, Dave Morley © Wayne D. Grover 2002, 2003 E E 681.
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.
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’
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Integer programming Branch & bound algorithm ( B&B )
Decision Procedures An Algorithmic Point of View
Job-shop Scheduling n jobs m machines No recirculation – Jobs do not revisit the same machine (i, j) is referred to as an operation in which job j is processed.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
MILP algorithms: branch-and-bound and branch-and-cut
Decision Diagrams for Sequencing and Scheduling Andre Augusto Cire Joint work with David Bergman, Willem-Jan van Hoeve, and John Hooker Tepper School of.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
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}
M Tech Project – First Stage Improving Branch-And-Price Algorithms For Solving 1D Cutting Stock Problem Soumitra Pal [ ]
5-1 Copyright © 2013 Pearson Education Integer Programming: The Branch and Bound Method Module C.
Integer Programming, Branch & Bound Method
Branch-and-Bound & Beam-Search. Branch and bound Enumeration in a search tree each node is a partial solution, i.e. a part of the solution space... root.
Raunak Singh (ras2192) IEOR 4405: Production Scheduling 28 th April 2009.
Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 C1C1 C3C3 C4C4 Turret lathes Vertical mills Center lathes Drills From “Fundamentals of.
Chapter 6 Optimization Models with Integer Variables.
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.
Solving IPs – Implicit Enumeration Similar to Binary IP Branch and Bound General Idea: Fixed variables – those for which a value has been fixed. Free Variable.
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
The CPLEX Library: Mixed Integer Programming
Instructor: Vincent Conitzer
Introduction to Operations Research
MILP algorithms: branch-and-bound and branch-and-cut
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
Integer Linear Programming
2. Generating All Valid Inequalities
Chapter 1. Formulations (BW)
Planning and Scheduling in Manufacturing and Services
Integer Programming (정수계획법)
Topic 15 Job Shop Scheduling.
IOE/MFG 543 Chapter 14: General purpose procedures for scheduling in practice Sections : Dispatching rules and filtered beam search.
Chapter 1. Formulations.
Branch-and-Bound Algorithm for Integer Program
Integer LP: Algorithms
Chapter 6. Large Scale Optimization
Branch-and-Bound Technique for Solving Integer Programs
Presentation transcript:

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 constrained project scheduling (will be handed out)

2 Planning and scheduling optimization techniques Dispatching Rules Composite Dispatching Rules Adaptive search Dynamic Programming (Integer) Linear Programming Cutting plane methods Branch and Bound Beam Search

3 Linear programming (LP) model LP: Matrix form: objective function constraints variable restrictions where: x, c:n-vector A:m,n-matrix b:m-vector

4 Linear programming example or:

5 Linear programming example: graphical solution (2D) x1x x2x2 0 solution space

6 Linear programming (cont.) Solution techniques: –(dual) simplex method –interior point methods (e.g. Karmarkar algorithm) Commercial solvers, for example: –CPLEX (ILOG) –XPRESS-MP (Dash optimization) –OSL (IBM) Modeling software, for example: –AIMMS –AMPL

7 Integer programming (IP) models Integer variable restriction –IP: integer variables only –MIP: part integer, part non-integer variables –BIP: binary (0-1) variables General IP-formulation: Complex solution space

8 Integer programming example: graphical solution (2D) x1x x2x2 0 2 optimal solutions!

9 Total unimodularity property for integer programming models Suppose that all coefficients are integer in the model: i.e. Example: transportation problem if A has the total unimodularity property (i.e. every square submatrix has determinant 0,1,-1)  there is an optimal integer solution x* &the simplex method will find such a solution

10 Integer programming tricks PROBLEM: x = 0 or x  k use binary indicator variable y= restrictions:

11 PROBLEM: fixed costs: if x i >0 then costs C(x i ) use indicator variable y i = restrictions : Integer programming tricks (2)

12 Hard vs. soft restrictions –hard restriction: must hold, otherwise unfeasibility for example: –soft restriction: may be violated, with a penalty for example: (Integer) programming tricks (3)

13 Absolute values: solution: (Integer) programming tricks (4) goal variation

14 Conjunctive/disjunctive programming - conjunctive set of constraints: must all be satisfied - disjunctive set of constraints: at least one must be satisfied example (Appendix A.4): Integer programming tricks (5)

15 IP example nonpreemptive single machine, total weighted completion time (App. A.3) objective function: minimize weighted completion time: model definition:

16 IP example (cont.) Restriction: all jobs must be completed once: Restriction: only one job per time t: if job j is in process during t, it must be completed somewhere during [t,t+p j ]

17 IP example (cont.) Complete IP-model: n  Cmax integer variables

18 IP example (cont.) Additional restriction: precedence constraints Model definition: SUCC(j) = successors of job j  job j must be completed before all jobs in SUCC(j):

19 Integer programming solution techniques Heuristic vs. explicit approach: –trade-off between solution quality and computation time –trade-off between implementation effort/costs and yield (i.e. profits gained from solution quality improvement) Heuristic methods; for example: –local search (e.g. simulated annealing, tabu search, k-opt) –(composite) dispatching rules (e.g. EDD, SPT, MS) –adaptive search –rounding fractional solutions –beam search

20 Explicit methods; 3 categories: 1. dynamic programming 2. cutting plane (polyhedral) methods 3. branch and bound or: hybrid methods (combination of the above) Commercial IP solvers usually use a combination of heuristics and 2, 3 Integer programming solution techniques (cont.)

21 Dynamic programming Problem divided into stages Each stage can have various states A recursive objective function is used to iterate through all states and all stages (forwards or backwards)

22 Cutting plane methods STEP 0:Create a relaxation of the problem by omitting restrictions (e.g. the integrality restrictions) STEP 1:Solve the current problem STEP 2:If solution is infeasible then generate a restriction that cuts of the solution, and add it to the problem  STEP 1 Otherwise: DONE

23 Branch and bound Enumeration in a search tree each node is a partial solution, i.e. a part of the solution space... root node child nodes Level 0 Level 1 Level 2

24 Branch and bound example 1 Disjunctive programming (appendix A.4): disjunctive set of constraints: at least one must be satisfied x j = completion time of job j restriction: solve LP without disjunctive restrictions (= LP relaxation) if disjunct. restr. violated for j & k Level 0 Level 1...

25 Branch and bound (cont.) Upper bound: e.g. a feasible solution Lower bound: e.g. a solution to an “easier” problem Node elimination (fathom/discard nodes): when lower bound >= upper bound

26 Branch and bound (cont.) Branching strategy: how to partition solution space Node selection strategy: –sequence of exploring nodes: depth first (tries to obtain a solution fast) breadth/best bound first (tries to find the best solution) –which nodes to explore (filter and beam width) filter width: #nodes selected for thorough evaluation beam width: #nodes that are branched on (  filter width)  Beam search

27 Branch and bound example 2 Single machine, maximum lateness, release and due dates lower bound: EDD + preemption (?,?,?,?) (1,?,?,?) (4,?,?,?)(2,?,?,?) Level 0 Level 1 (3,?,?,?)

28 Branch and bound example 2 Lower bound for: (1,?,?,?) Lower bound: Lmax = max(0,17-12,15-11,0)=5 t r(2)r(3)r(4) d(4)<d(3)d(3)<d(2)

29 (?,?,?,?) (1,?,?,?) (4,?,?,?)(2,?,?,?) Level 0 Level 1 (3,?,?,?) Branch and bound example 2 (cont.) LB=5 LB=7* =UB (1,2,?,?)(1,3,?,?) infeasible: (1,3,4,3,2) LB=6* =UB (1,2,4,3) LB=5*=UB (1,3,4,2) DONE (1,2,4,3)(1,3,4,2)

30 Branch and bound example x1x x2x2 0 obj: 3 LP solution:

31 Beam search example 1 single-machine, total weighted tardiness Upper bound: ATC rule (apparent tardiness cost): schedule 1 job at a time every time a machine comes available, determine ranking of jobs: MS rule WSPT rule look-ahead parameter: K = R(R  0.5) K = 6 - 2R(R  0.5) = due date range factor

32 Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) Upper bound by ATC rule:

33 Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) Upper bound by ATC rule: Total = 408

34 Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) UB=408 UB=436UB=814UB=440 discardedexplored further (beam width = 2) 4 nodes analyzed (filter width=4)

35 Beam search example 1 (cont.) (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) UB= (1,2,?,?) (1,3,?,?) (1,4,?,?) UB= (1,4,2,3) (1,4,3,2) UB= best solution (2,1,?,?) (2,3,?,?) (2,4,?,?) 436 (2,4,1,3) (2,4,3,1)