Spring 2002IE 5141 Topic 11 Basic Project Scheduling.

Slides:



Advertisements
Similar presentations
Chapter 7 Project Management
Advertisements

Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
ECE 667 Synthesis and Verification of Digital Circuits
Lecture 6: Job Shop Scheduling Introduction
DMOR Branch and bound. Integer programming Modelling logical constraints and making them linear: – Conjuction – Disjunction – Implication – Logical constraints.
Multi-Objective Optimization NP-Hard Conflicting objectives – Flow shop with both minimum makespan and tardiness objective – TSP problem with minimum distance,
Contents College 4 §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out)
Terminology Project: Combination of activities that have to be carried out in a certain order Activity: Anything that uses up time and resources CPM: „Critical.
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
IEOR Basic Project Scheduling. IEOR Project Scheduling zJobs subject to precedence constraints zJob on arc format (most common)
1 1 Slide © 2004 Thomson/South-Western Chapter 12 Project Scheduling: PERT/CPM n Project Scheduling with Known Activity Times n Project Scheduling with.
Lecture 10: Integer Programming & Branch-and-Bound
Lateness Models Contents
Project Scheduling. SEEM Project Scheduling (PS) To determine the schedules to perform the various activities (tasks) required to complete the project,
Spring, Scheduling Operations. Spring, Scheduling Problems in Operations Job Shop Scheduling. Personnel Scheduling Facilities Scheduling.
MIT and James Orlin © Networks II Quick Review of Shortest Path Problem The Critical Path Method (CPM) Topological Sort.
Vehicle Routing & Scheduling: Part 1
Characterizing the Distribution of Low- Makespan Schedules in the Job Shop Scheduling Problem Matthew J. Streeter Stephen F. Smith Carnegie Mellon University.
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
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.
© J. Christopher Beck Lecture 4: Project Planning 1.
21st European Conference on Operational Research Algorithms for flexible flow shop problems with unrelated parallel machines, setup times and dual criteria.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 6 SCHEDULING E
Ant Colony Optimization Optimisation Methods. Overview.
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
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.
Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has.
LP formulation of Economic Dispatch
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Elements of the Heuristic Approach
Package Transportation Scheduling Albert Lee Robert Z. Lee.
Operational Research & ManagementOperations Scheduling Flow Shop Scheduling 1.Flexible Flow Shop 2.Flexible Assembly Systems (unpaced) 3.Paced Assembly.
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.
1.3 Modeling with exponentially many constr.  Some strong formulations (or even formulation itself) may involve exponentially many constraints (cutting.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
© J. Christopher Beck Lecture 5: Project Planning 2.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
Extensions of the Basic Model Chapter 6 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
1 Project Planning, Scheduling and Control Project – a set of partially ordered, interrelated activities that must be completed to achieve a goal.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
8-1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall Project Management Chapter 8.
Operational Research & ManagementOperations Scheduling Project Scheduling 1.Project Planning (revisited) 2.Resource Constrained Project Scheduling 3.Parallel.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Outline Introduction Minimizing the makespan Minimizing total flowtime
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
Heuristic Methods for the Single- Machine Problem Chapter 4 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R2.
Earliness and Tardiness Penalties Chapter 5 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Problems in Combinatorial Optimization. Linear Programming.
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.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Some Topics in OR.
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
The minimum cost flow problem
Basic Project Scheduling
Basic Project Scheduling
1.3 Modeling with exponentially many constr.
Integer Programming (정수계획법)
1.3 Modeling with exponentially many constr.
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Integer Programming (정수계획법)
Topic 15 Job Shop Scheduling.
Flexible Assembly Systems
Chapter 1. Formulations.
Presentation transcript:

Spring 2002IE 5141 Topic 11 Basic Project Scheduling

Spring 2002IE 5142 Project Scheduling zJobs subject to precedence constraints zJob on arc format (most common)

Spring 2002IE 5143 Overview Project Scheduling No resource Constraints Resource Constraints Critical Path Method (CPM) Program Evaluation and Review Technique (PERT) Heuristic Resource Leveling Integer Programming Formulations

Spring 2002IE 5144 Planning a Concert

Spring 2002IE 5145 Job on Arc Network zNot allowed: no two jobs can have the same starting and ending node! zNeed to introduce a dummy job. A B D C A B D C

Spring 2002IE 5146 Changing a Tire

Spring 2002IE 5147 Job on Arc Network A B C D E Is this correct?

Spring 2002IE 5148 Job on Arc Network AB CD E

Spring 2002IE 5149 Job on Node Network ABE DC zNo need for a dummy node zLess used traditionally zRecently more popular

Spring 2002IE Critical Path Method (CPM) zThink of unlimited machines in parallel z… and n jobs with precedence constraints zProcessing times p j as before zObjective to minimize makespan

Spring 2002IE Critical Path Method zForward procedure: yStarting at time zero, calculate the earliest each job can be started yThe completion time of the last job is the makespan zBackward procedure yStarting at time equal to the makespan, calculate the latest each job can be started so that this makespan is realized

Spring 2002IE Forward Procedure Step 1: Set at time t = 0 for all jobs j with no predecessors, S j ’ =0 and set C j ’ = p j. Step 2: Compute for each job j C j ’ = S j ’ + p j. Step 3: The optimal makespan is STOP

Spring 2002IE Backward Procedure Step 1: Set at time t = C max for all jobs j with no successors, C j ’’ = C max and set S j ’’ = C max - p j. Step 2: Compute for each job j S j ’’ = C j ’’ - p j. Step 3: Verify that STOP

Spring 2002IE Comments zThe forward procedure gives the earliest possible starting time for each job zThe backwards procedures gives the latest possible starting time for each job zIf these are equal the job is a critical job. zIf these are different the job is a slack job, and the difference is the float. zA critical path is a chain of jobs starting at time 0 and ending at C max.

Spring 2002IE Example

Spring 2002IE Forward Procedure = = =33 5+9= = = = = = = = = =56

Spring 2002IE Backwards Procedure = = =2443-9= = = = = = = = =51 56

Spring 2002IE Critical Path

Spring 2002IE Topic 12 Variable Processing Times

Spring 2002IE Time/Cost Trade-Offs zAssumed the processing times were fixed zMore money  shorter processing time zStart with linear costs zProcessing time zMarginal cost

Spring 2002IE Linear Costs Resources (money) Processing time

Spring 2002IE Solution Methods zObjective: minimum cost of project zTime/Cost Trade-Off Heuristic yGood schedules yWorks also for non-linear costs zLinear programming formulation yOptimal schedules yNon-linear version not easily solved

Spring 2002IE Sources, Sinks, and Cuts Source (dummy) node Sink node Minimal cut set Cut set

Spring 2002IE Time/Cost Trade-Off Heuristic Step 1: Set all processing times at their maximum Determine all critical paths with these processing times Construct the graph G cp of critical paths Continue to Step 2

Spring 2002IE Time/Cost Trade-Off Heuristic Step 2: Determine all minimum cut sets in G cp Consider those sets where all processing times are larger than their minimum If no such set STOP; otherwise continue to Step 2

Spring 2002IE Time/Cost Trade-Off Heuristic Step 3: For each minimum cut set: Compute the cost of reducing all processing times by one time unit. Take the minimum cut set with the lowest cost If this is less than the overhead per time unit go on to Step 4; otherwise STOP

Spring 2002IE Time/Cost Trade-Off Heuristic Step 4: Reduce all processing times in the minimum cut set by one time units Determine the new set of critical paths Revise graph G cp and go back to Step 2

Spring 2002IE Example

Spring 2002IE Maximum Processing Times

Spring 2002IE Maximum Processing Times

Spring 2002IE Critical Path Subgraph (G cp ) C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 Minimum cut set with lowest cost Cut sets: {1},{3},{6},{9}, {11},{12},{14}.

Spring 2002IE Critical Path Subgraph (G cp ) C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 13 Cut sets: {1},{3},{6},{9}, {11},{12,13},{14}. C 13 =4 Minimum cut set with lowest cost

Spring 2002IE Critical Path Subgraph (G cp ) C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 13 Reduce processing time next on job 6 C 13 =14 Reduce processing time until = 4

Spring 2002IE Critical Path Subgraph (G cp ) C 1 =7 C 3 =4 C 6 =3C 9 =4 C 11 =2 C 12 =2 C 14 =8 13 C 13 = C 2 =2 C 4 =3 C 7 =4 C 10 =5

Spring 2002IE Linear Programming Formulation zThe heuristic does not guaranteed optimum zHere total cost is linear zWant to minimize

Spring 2002IE Linear Program Minimize subject to

Spring 2002IE Topic 13 PERT

Spring 2002IE Program Evaluation and Review Technique (PERT) zAssumed processing times deterministic  Processing time of j random with mean  j and variance  j 2. zWant to determine the expected makespan zAssume we have p j a = most optimistic processing time p j m = most likely processing time (mode) p j b = most pessimistic processing time

Spring 2002IE Expected Makespan zEstimate expected processing time zApply CPM with expected processing times zLet J cp be a critical path zEstimate expected makespan

Spring 2002IE Distribution of Makespan zEstimate the variance of processing times zand the variance of the makespan zAssume it is normally distributed

Spring 2002IE Discussion zPotential problems with PERT: yAlways underestimates project duration xother paths may delay the project yNon-critical paths ignored xcritical path probability xcritical activity probability yActivities are not always independent xsame raw material, weather conditions, etc. yEstimates by be inaccurate

Spring 2002IE Discussion zNo resource constraints: yCritical Path Method (CPM) ySimple deterministic yTime/cost trade-offs xLinear cost (heuristic or exact) xNon-linear cost (heuristic) yAccounting for randomness (PERT)

Spring 2002IE Topic 14 Adding Resource Constraints

Spring 2002IE Resource Constraints zRenewable resources zVery hard problem zNo LP zCan develop an IP zLet job n+1 be dummy job (sink) and

Spring 2002IE Makespan zLet H bound the makespan, e.g. zCompletion time of job j is and the makespan

Spring 2002IE IP Formulation Minimize Subject to

Spring 2002IE In Practice zThe IP cannot be solved z(Almost) always resource constraints z  Heuristic: Resource constraint  Precedence constraint zExample: pouring foundation and sidewalk yboth require same cement mixer ydelaying foundation delays building yprecedence constraint: pour foundation first ynot a logical constraint

Spring 2002IE Optimality of Heuristic zSay n jobs need the same resource zCould otherwise all be done simultaneously zAdd (artificial) precedence constraints zHave n! possibilities zWill we select the optimal sequence?

Spring 2002IE Decision Support zResource leveling ySolve with no resource constraints yPlot the resource use as a function of time yIf infeasible suggest precedence constraints xLongest job xMinimum slack yUser adds constraints yStart over

Spring 2002IE Example: One Resource Uses resource Time Resource Profile Capacity

Spring 2002IE Topic 15 Job Shop Scheduling

Spring 2002IE Job Shop Scheduling zHave m machines and n jobs zEach job visits some or all of the machines zCustomer order of small batches yWafer fabrication in semiconductor industry yHospital zVery difficult to solve

Spring 2002IE Job Shop Example zConstraints yJob follows a specific route yOne job at a time on each machine (1,1) (2,3) (3,1) (4,3) (1,2)(1,3) (2,1)(2,2) (4,2) (3,3) Machine 1 Machine 2 Machine 3 Machine 4

Spring 2002IE Graph Representation Each job follows a specific route through the job shop... (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source (Conjuctive arcs)

Spring 2002IE Graph Representation Machine constraints must also be satisfied... (Disjunctive arcs) (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source

Spring 2002IE Solving the Problem zSelect one of each pair of disjunctive arcs zThe longest path in this graph G(D) determines the makespan (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source

Spring 2002IE Feasibility of the Schedule zAre all selections feasible? (1,1)(2,1)(3,1) (1,2)(2,2)(4,2) (2,3)(1,3)(4,3)(3,3) Sink Source

Spring 2002IE Disjunctive Programming Minimize Subject to

Spring 2002IE Solution Methods zExact solution yBranch and Bound y20 machines and 20 jobs zDispatching rules (16+) yShifting Bottleneck zSearch heuristics yTabu, SA, GA, etc.

Spring 2002IE Topic 16 Types of Schedules

Spring 2002IE Definitions zA schedule is nondelay if no machine is idled when there is an operation available zA schedule is called active if no operation can be completed earlier by altering the sequence on machines and not delaying other operations zFor “regular” objectives the optimal schedule is always active but not necessarily nondelay

Spring 2002IE Schedule Space Nondelay Active Semiactive All Schedules Optimum

Spring 2002IE Nonactive Schedule (3,2) Machine 2 Machine 1 Machine 3 (1,1) (2,3) (2,2)(2,1) (2,1)

Spring 2002IE Active Schedule, not Nondelay (3,2) Machine 2 Machine 1 Machine 3 (1,1) (2,3) (2,2)(2,1)

Spring 2002IE Nondelay schedule (3,2) Machine 2 Machine 1 Machine 3 (1,1) (2,3)(2,2)(2,1)

Spring 2002IE Topic 17 Branch & Bound for Job Shops

Spring 2002IE Branch and Bound zOperation (i,j) with duration p ij zMinimize makespan zBranch by generating all active schedules zNotation  Let  denote operations whose predecessors have been scheduled  Let r ij be the earliest possible starting time of (i,j) in .

Spring 2002IE Generating Active Schedules Step 1. (Initialize) Let  contain the first operation of each job Let r ij = 0 for all (i,j) . Step 2. (Machine selection) Compute the current partial schedule and let i * denote the machine where minimum achieved

Spring 2002IE Generating Active Schedules Step 3. (Branching) Let  ’ denote all operations on machine i such that For each operation in  ’ consider a partial schedule with that operation next on i * For each partial schedule, delete operation from  and include immediate follower in . Go back to Step 2.

Spring 2002IE Branching Tree Selection of (i *,j) Selection of (i *,l)

Spring 2002IE Example (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2)

Spring 2002IE Partitioning Tree zLevel 1

Spring 2002IE Level 1: select (1,1) (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) Disjunctive Arcs 10

Spring 2002IE Level 1: select (1,3) (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) Disjunctive Arcs 4 4

Spring 2002IE Branching Tree (1,1) scheduled first on machine 1 LB = 24 (1,3) scheduled first on machine 1 LB = 26 No disjunctive arcs

Spring 2002IE Branching Tree zLevel 2:

Spring 2002IE Level 2: Select (2,2) (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2) Disjunctive Arcs 10

Spring 2002IE Branching Tree (1,1) scheduled first on machine 1 LB = 24 (1,3) scheduled first on machine 1 LB = 26 No disjunctive arcs (1,1) first on M1 and (2,2) first on M2

Spring 2002IE Lower Bounds zLower bounds yThe length of the critical path in G(D’) xQuick but not very tight yLinear programming relaxation yA maximum lateness problem (see book)

Spring 2002IE Topic 18 The Shifting Bottleneck Heuristic

Spring 2002IE Shifting Bottleneck zMinimize makespan in a job shop zLet M denote the set of machines zLet M 0  M be machines for which disjunctive arcs have been selected zBasic idea: ySelect a machine in M - M 0 to be included in M 0 ySequence the operations on this machine

Spring 2002IE Example

Spring 2002IE Iteration 1 (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2)

Spring 2002IE Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 1: Optimum sequence is 1,2,3 with L max (1)=5

Spring 2002IE Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 2: Optimum sequence is 2,3,1 with L max (2)=5

Spring 2002IE Selecting a Machine zSimilarly,  Either Machine 1 or Machine 2 is the bottleneck

Spring 2002IE Iteration 2 (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2)

Spring 2002IE Selecting a Machine Set up a nonpreemptive single machine maximum lateness problem for Machine 2: Optimum sequence is 2,1,3 with L max (2)=1

Spring 2002IE Selecting a Machine Similarly,  Either Machine 2 or Machine 3 is the bottleneck

Spring 2002IE Iteration 3 (1,1)(2,1)(3,1) (2,2)(1,2)(3,2) (1,3)(2,3)(4,3) SinkSource (4,2)

Spring 2002IE Discussion zProcedure continues until all the disjunctive arcs have been added zExtremely effective yFast yGood solutions z‘Just a heuristic’ yNo guarantee of optimum

Spring 2002IE Solving the Maximum Lateness Problem (,,) (1,,)(2,,)(3,,) (1,2,3)(1,3,2)(3,1,2)(3,2,1)

Spring 2002IE Discussion zThe solution is actually a little bit more complicated than before zPrecedence constraints because of other (already scheduled) machines zDelay precedence constraints (see example in book)

Spring 2002IE Discussion zShifting bottleneck can be applied generally zBasic idea ySolve problem “one variable at a time” yDetermine the “most important” variable yFind the best value of that variable yMove on to the “second most important” …. yHere we treat each machine as a variable

Spring 2002IE Topic 19 Shifted Bottleneck for Total Weighted Tardiness Objective

Spring 2002IE Total Weighted Tardiness zWe now apply a shifted bottleneck procedure to a job shop with total weighted tardiness objective yNeed n sinks in disjunctive graph yMachines scheduled one at a time yGiven current graph calculate completion time of each job ySome n due dates for each operation yPiecewise linear penalty function

Spring 2002IE Cost Function for Operation (i,j)

Spring 2002IE Machine Selection zMachine criticality ySolve a single machine problem yPiecewise linear cost function yMay have delayed precedence constraints yGeneralizes single-machine with n jobs, precedence constraints, and total weighted tardiness objective yATC rule

Spring 2002IE Generalized ATC Rule Earliest time machine can be used Scaling constant Ranks jobs  good schedule

Spring 2002IE Criticality of Machines zCriticality = subproblem objective function ySimple zMore effective ways, e.g. yAdd disjunctive arcs for each machine yCalculate new completion times and

Spring 2002IE Example (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) Sink

Spring 2002IE Subproblem: Machine 1

Spring 2002IE Subproblem: Machine 2

Spring 2002IE Subproblem: Machine 3

Spring 2002IE Subproblem Solutions zSolve using dispatching rule yUse K=0.1 yHave t = 4, zFor machine 1 this results in Schedule first

Spring 2002IE Solution to Subproblems Schedule first

Spring 2002IE First Iteration (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) Sink 5 5

Spring 2002IE Subproblem: Machine 2

Spring 2002IE Subproblem: Machine 3

Spring 2002IE Solution to Subproblems Schedule first

Spring 2002IE Second Iteration (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) Sink

Spring 2002IE Subproblem: Machine 3

Spring 2002IE Third Iteration (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) Sink

Spring 2002IE Final Schedule ,33,2 2,3 1,11,2 2,12,2 3,1 1,3 Machine 1 Machine 2 Machine 3

Spring 2002IE Performance zObjective function zTry finding a better schedule using LEKIN (optimal value = 18)

Spring 2002IE Topic 20 Random Search for Job Shop Scheduling

Spring 2002IE Random Search Methods zPopular to use genetic algorithms, simulated annealing, tabu search, etc. zDo not work very well yProblems defining the neighborhood yDo not exploit special structure

Spring 2002IE Defining the Neighborhood zApproximately nm neighbors! zSimply too inefficient (1,1)(2,1)(3,1) (3,2)(1,2) (3,3)(2,3)(1,3) Sink Source (2,2) Sink

Spring 2002IE Job Shop with Makespan zRandom search methods can be applied yUse ‘critical path’ neighborhood yCan eliminate many neighbors immediately zSpecialized methods usually better yRandom search = ‘giving up’ ! yTraveling Salesman Problem (TSP) xVery well studied xLin-Kernighan type heuristics (1970) xOrder of 1000 times faster than random search

Spring 2002IE Comparison of Methods Percentage over known optimum: Winner

Spring 2002IE The Nested Partitions Method zPartitioning yby scheduling the bottleneck machine first zRandom sampling yusing randomized dispatching rules zCalculating the promising index yincorporating local improvement heuristic zCan incorporate any special structure!

Spring 2002IE Topic 21 Special Case: Flow Shops

Spring 2002IE A Flexible Flow Shop with Setups Stage 1 Stage 2 Stage 3 Stage 4

Spring 2002IE Applications zVery common in applications: yPaper mills ySteel lines yBottling lines yFood processing lines

Spring 2002IE Classical Literature zExact solutions ySimple flow shop with makespan criterion yTwo machine case (Johnson’s rule) zRealistic problems require heuristic approaches

Spring 2002IE Objectives zMultiple objectives usual yMeet due dates yMaximize throughput yMinimize work-in-process (WIP) Setting for job j on Machine i

Spring 2002IE Generating Schedules zIdentify bottlenecks zCompute time windows at bottleneck stage zCompute machine capacity at bottleneck zSchedule bottleneck stage zSchedule non-bottlenecks

Spring 2002IE Identifying Bottlenecks zIn practice usually known zSchedule downstream bottleneck first zDetermining the bottleneck yloading ynumber of shifts ydowntime due to setups zBottleneck assumed fixed

Spring 2002IE Identifying Time Window zDue date yShipping day yMultiply remaining processing times with a safety factor zRelease date  Status  j of job j  Release date if  j = l Decreasing function - determined empirically

Spring 2002IE Computing Capacity zCapacity of each machine at bottleneck ySpeed yNumber of shifts ySetups zTwo cases: yIdentical machines yNon-identical machines

Spring 2002IE Scheduling Bottleneck zJobs selected one at a time ySetup time yDue date yCapacity zFor example ATCS rule

Spring 2002IE Schedule Remaining Jobs zDetermined by sequence at bottleneck stage zMinor adjustments yAdjacent pairwise interchanges to reduce setup

Spring 2002IE Summary: Job Shops zRepresentation: graph w/disjoint arcs zSolution methods yBranch-and-bound yShifted bottleneck heuristic yBeam search xCan incorporate bottleneck idea & dispatching rules yRandom search methods zSpecial case: flow shops