Operations Scheduling
Advanced Operations Management Dr. Ron Tibben-Lembke Ch 16: 539-544,
Scheduling opportunities
Job shop scheduling Personnel scheduling Facilities scheduling Vehicle scheduling Vendor scheduling Project scheduling Dynamic vs. static scheduling
You are here
Resource Planning Sales and Operations Planning Demand Management
Master Production Scheduling
Front end
Detailed Capacity Planning
Detailed Material Planning
Engine
Material and Capacity Plans
Shop-Floor Systems
Supplier Systems
Back end
Example
Job 1 2 3 4 5 Processing Time 6 2 3 4 5 Due 18 6 9 11 8
What order should we do them in?
Example
Job Characteristics
Arrival pattern: static or dynamic Number and variety of machines
We will assume they are all identical
Number of workers Flow patterns of jobs:
all follow same, or many different
Evaluation of alternative rules
Objectives
Many possible objectives: Meet due dates Minimize WIP Minimize average flow time through High worker/machine utilization Reduce setup times Minimize production and worker costs
Terminology
Flow shop: all jobs use M machines in same order Job shop: jobs use different sequences Parallel vs. sequential processing Flow time: from start of first job until completion of job I Makespan: start of first to finish of last Tardiness: >= 0 Lateness: can be <0 or >0
Sequencing Rules
First-come, first-served (FCFS) order they entered the shop Shortest Processing Time (SPT) longest job done last Earliest Due Date (EDD) job with last due date goes last Critical Ratio (CR) - processing time / time until due, smallest ratio goes first
Other rules
R - Random LWR - Least Work Remaining FOR - Fewest Operations Remaining ST - Slack Time ST/O-Slack Time per Operation NQ-Next Queue choose job that is going next to the machine with smallest queue LSU - Least Setup
Performance
Quantities of interest Li Lateness of i: can be +/Ti Tardiness of i: always >= 0 Ei Earliness of i Tmax Maximum tardiness
Example: FCFS
Job Time 1 6 2 2 3 3 4 4 5 5 Total Done 6 8 11 15 20 50 Due 18 6 9 11 8 Tardy 0 2 2 4 12 20 = 10.0 = 4.0 4 12
Mean flow time = 50 / 5 Average tardiness = 20 / 5 Number of tardy jobs = Max. Tardy
Example: SPT
Job Time 2 2 3 3 4 4 5 5 1 6 Total Done 2 5 9 14 20 50 Due 6 9 11 8 18 Tardy 0 0 0 6 2 8 10.0 1.6 2 6
Mean flow time = 50 / 5 = Average tardiness = 8 / 5 = Number tardy = Max Tardy
Example: EDD
Job Time 2 2 5 5 3 3 4 4 1 6 Total Done 2 7 10 14 20 51 Due 6 8 9 11 18 Tardy 0 0 1 3 2 6 10.2 1.2 3 3
Mean flow time = 51 / 5 = Average tardiness = 6 / 5 = Number tardy = Max Tardy =
Critical Ratio
Critical ratio: looks at time remaining between current time and due date considers processing time as a percentage of remaining time CR = 1.0 means just enough time CR > 1 .0 more than enough time CR < 1.0 not enough time
Example: Critical Ratio
T=0 Job 1 2 3 4 5
Process Time 6 2 3 4 5
Due 18 6 9 11 8
Critical Ratio 3.0 3.0 3.0 2.75 1.6
Job 5 is done first.
Example: Critical Ratio
T=5 Job 1 2 3 4
Process Time 6 2 3 4
Due Current 13 1 4 6
Critical Ratio 2.17 0.5 1.33 1.5
Job 2 is done second.
Example: Critical Ratio
T=7 Job 1 3 4
Process Time 6 3 4
Due Current 11 2 4
Critical Ratio 1.84 0.67 1.0
Job 3 is done third.
Example: Critical Ratio
T = 10 Job 1 4
Process Time 6 4
Due Current 8 1
Critical Ratio 1.84 0.25
Job 4 is done fourth, and job 1 is last.
Critical Ratio Solution
Job Time 5 5 2 2 3 3 4 4 1 6 Total Done 5 7 10 14 20 56 Due 8 6 9 11 18 Tardy 0 1 1 3 2 7 11.2 1.4 4 3
Mean flow time = 56 / 5 = Average tardiness = 7 / 5 = Number tardy = Max Tardy
Summary
Method FCFS SPT EDD CR Flow 10.0 10.0 10.0 11.2 Average Number Max Tardiness tardy Tardy 4.0 4 12 1.6 2 6 1.2 3 3 1.4 4 3
Minimizing Average Lateness
Mean flow time minimized by SPT For single-machine scheduling, minimizing the following is equivalent:
Mean flow time Mean waiting time Mean lateness
Minimize Max Lateness
Earliest Due Date (EDD) minimizes maximum lateness
Minimizing Number of Tardy Jobs
Moores Algorithm: 1. Start with EDD solution 2. Find first tardy job, i. None? Goto 4 3. Reject longest job in 1- i. Goto 2. 4. Form schedule by doing rejected jobs after scheduled jobs. Rejects can be in any order, because they will all be late.
Moores Example
Start with EDD schedule Job Time Done 2 2 2 5 5 7 3 3 10 4 4 14 1 6 20 Due 6 8 9 11 18 Tardy 0 0 1 3 2
Job 3 is first late job. Job 2 is longest of jobs 2,5,3.
Moores Example
Job 2 3 4 1 5 Time 2 3 4 6 5 Done 2 5 9 15 20 Due 6 9 11 18 8 Tardy 0 0 0 0 12 10.2 2.4 1 12
Average Flow = 51 / 5 = Average tardiness = 12 / 5 = Number tardy = Max. Tardy =
Summary 2
Method FCFS SPT EDD CR Moores Flow 10.0 10.0 10.0 11.2 10.2 Average Number Max Tardiness tardy Tardy 4.0 4 12 1.6 2 6 1.2 3 3 1.4 4 3 2.4 1 12
Multiple Machines
N jobs on M machines: (N!)Mpossible sequences. For 5 jobs and 5 machines = 25 billion Complete enumeration is not the way
Multiple Machines
2 jobs, 2 machines. Job M1 M2 I 4 1 J 1 4
Four possible sequences:
Multiple Machines
2 jobs, 2 machines. Job M1 M2 I 4 1 J 1 4
Four possible sequences:
1 2 3 4
M1 M2 IJ IJ IJ JI JI JI JI IJ
Two Machines
Sequence IJ IJ IJ JI
I I
J I J
Makespan 9
J
10
J
JI IJ JI JI
I
10
J J
I I I J I J
Two Machines
Permutation schedules: IJ IJ, JI JI
Jobs processed same sequence on both
For N jobs on two machines, there will always be an optimal permutation schedule.
2 Machines, N Jobs (Johnsons Algorithm)
Ai = processing time of job I on machine A Bi = processing time of job I on machine B 1. List Ai and Bi in two columns 2. Find smallest in two columns. If it is in A, schedule it next, if its in B, then last. 3. Continue until all jobs scheduled.
Johnson Example
Job 1 2 3 4 5 Seq: 2, A 5 1 9 3 10 , B 2 6 7 8 4 , , 1. Job 2 is smallest, so it goes first.
Johnson Example
Job 1 2 3 4 5 Seq: 2, A 5 1 9 3 10 , B 2 6 7 8 4 , 1. Job 2 goes first. 2. Job 1 is next smallest, in B, so goes last. ,1
Johnson Example
Job 1 2 3 4 5 A 5 1 9 3 10 B 2 6 7 8 4 , ,1 1. Job 2 goes first. 2. Job 1 goes last. 3. Job 4 is smallest, in A column, so it goes next.
Seq: 2, 4 ,
Johnson Example
Job 1 2 3 4 5 A 5 1 9 3 10 B 2 6 7 8 4 , 5, 1 1. 2. 3. 4. Job 2 goes first. Job 1 goes last. Job 4 goes next. Job 5 smallest in B, comes next to last.
Seq: 2, 4,
Johnson Example
Job 1 2 3 4 5 A 5 1 9 3 10 B 2 6 7 8 4 1. 2. 3. 4. 5. Job Job Job Job Job 2 1 4 5 3 goes first. goes last. goes next. next to last. comes next.
Seq: 2, 4, 3, 5, 1
Conclusions
Single machine scheduling:
FCFS, SPT, EDD, CR, Moores Algorithm Johnsons Algorithm Avg Lateness, Max Tardy, Avg Tardy, Number of jobs Tardy
Two machines:
Performance:
Scheduling Days Off
1. Compute no. people needed each day. 2. Find the smallest two consecutive days
s s Highest number in the pair is <= highest number in any other pair Those two days will be the first workers days off
1.
Subtract one from the days the first worker wasnt scheduled 2. Repeat
Example Workers needed each day
M 4 T 3 W 4 Th 2 F 3 Sa 1 Su 2
Example
#1 #2 #3 #4 #5 M 4 3 2 1 0 T 3 2 1 0 0 W 4 3 2 1 0 Th 2 1 0 0 0 F 3 2 1 1 1 Sa 1 1 1 0 0 Su 2 2 2 1 0
Example - Retry
#1 #2 #3 #4 #5 M 4 3 2 1 0 T 3 2 1 0 0 W 4 3 2 1 1 Th 2 1 0 0 0 F 3 2 2 1 0 Sa 1 1 1 1 0 Su 2 2 1 1 0
Example 4 days
M T W Th #1 4 3 4 2 #2 3 2 3 1 #3 2 1 2 0 #4 1 0 1 0 Do you want to work the F Sa Su 3 1 2 2 1 2 1 1 2 1 0 1 #4 schedule?
Scheduling Daily Work Times
Different # people needed in different areas at different times
Scheduling Hourly Times
When should people start shifts? First Hour principle:
For first hour, assign # people needed that hour Each additional hour, add more if needed When shift ends, add more, only if needed
Hourly Work Times
Need Start 10 4 4 11 6 2 12 8 2 1 8 0 2 6 0 3 4 0 4 4 0 5 6 0 6 8 4 7 8 10 10 4 2 9 6 0
On
10 10
10
Production vs. Transfer batch sizes
Lot Sizes all 1,000 p. 552
Production Lot Size = 1,000 Transfer Batch Size = 100 Production Lot Size = 200 Transfer Batch Size = 100 Production Lot Size = 500
HW, p. 567 Due 12/9
DQ: 4 Problems: 1,2,3,4,5