Presentation on theme: "Operations Scheduling"— Presentation transcript:
1 Operations Scheduling Operations ManagementDr. Ron Lembke
2 Kinds of Scheduling Job shop scheduling Personnel scheduling Facilities schedulingVehicle schedulingVendor schedulingProject schedulingDynamic vs. static scheduling
3 Hierarchy of Decisions Forecasts of Future DemandAggregate PlanMaster Production Scheduleby product, quantity and periodMaterials Requirements Planning SystemDetailed Job Scheduling System
4 Example Job Processing Time Due 1 6 18 2 2 6 3 3 9 4 4 11 5 5 8 1 6 182 2 63 3 94 4 115 5 8What order should we do them in?
5 Objectives Many possible objectives: Meet due dates Minimize WIP Minimize average flow time throughHigh worker/machine utilizationReduce setup timesMinimize production and worker costs
6 Forward and Backward Forward scheduling: Backward scheduling: Takes a job, starts with first task, figures out when each following task can startBackward scheduling:Starts with a due date, figures out when last task can finish, works toward start
7 Job Characteristics Arrival pattern: static or dynamic Number and variety of machinesWe will assume they are all identicalNumber of workersFlow patterns of jobs:all follow same, or many differentEvaluation of alternative rules
8 Terminology Organization of the Equipment: Flow shop: all jobs use M machines in same orderJob shop: jobs use different sequencesParallel vs. sequential processingMeasuring Performance:Makespan: start of first to finish of lastFlow time: from start of first job until completion of job IThe amount of time the job spends in the systemTardiness: >= 0Lateness: can be <0 or >0
9 Sequencing RulesFirst-come, first-served (FCFS) order they entered the shopShortest Processing Time (SPT) longest job done lastEarliest Due Date (EDD) job with last due date goes lastCritical Ratio (CR) –processing time / time until due, smallest ratio goes firstSlack per Operation (S/O) Slack time divided by # steps left to doRush – Emergency or preferred customers firstSlack Time Remaining (STR) Time due – current timeLCFS – last come, first served – top of the pile,Random order or whim – what you feel like
10 Example: FCFSJob Time Done Due Tardy Total Mean flow time = 60 / 5 = 12.0 Average tardiness = 20 / 5 = 4.0 Number of tardy jobs = 4 Max Tardy = 12
11 Example: SPTJob Time Done Due Tardy Total 50 8 Mean flow time = 50 / 5 = 10.0 Average tardiness = 8 / 5 = 1.6 Number tardy = 2 Max Tardy = 6
12 Example: EDDJob Time Done Due Tardy Total 51 6 Mean flow time = 51 / 5 = 10.2 Average tardiness = 6 / 5 = 1.2 Number tardy = 3 Max Tardy = 3
13 Critical Ratio Critical ratio: looks at time remaining between current time and due dateconsiders processing time as a percentage of remaining timeCR = time until due / processing timeCR = 1.0 means just enough timeCR > more than enough timeCR < 1.0 not enough time
14 Example: Critical Ratio T = 0 Process Time until CriticalJob Time Due RatioJob 5 is done first.
15 Example: Critical Ratio T = 5 Process Time until CriticalJob Time Due RatioJob 2 is done second.
16 Example: Critical Ratio T = 7 Process Time until CriticalJob Time Due RatioJob 3 is done third.
17 Example: Critical Ratio T = 10 Process Time until CriticalJob Time Due RatioJob 4 is done fourth, and job 1 is last.
18 Critical Ratio Solution Job Time Done Due Tardiness Total 56 7 Mean flow time = 56 / 5 = 11.2 Average tardiness = 7 / 5 = 1.4 Number tardy = 4 Max tardy = 3
19 SummaryAverage Number Max Method Flow Tardiness Tardy Tardy FCFS SPT EDD CR
20 Minimizing Average Lateness Mean flow time minimized by SPTFor single-machine scheduling, minimizing the following is equivalent:Mean flow timeMean waiting timeMean latenessMinimize Max LatenessEarliest Due Date (EDD) minimizes maximum lateness
21 Minimizing Number of Tardy Jobs Moore’s Algorithm:1. Start with EDD solution2. Find first tardy job, i. None? Goto 43. 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.
22 Moore’s ExampleStart with EDD schedule Job Time Done Due Tardy Job 3 is first late job. Job 2 is longest of jobs 2,5,3.
23 Moore’s ExampleJob Time Done Due Tardy Average Flow = 51 / 5 = 10.2 Average tardiness = 12 / 5 = 2.4 Number tardy = 1 Max Tardy = 12I’m really late!
24 Summary 2Average Number Max Method Flow Tardiness tardy Tardy FCFS SOT DDate CR Moore’s
25 Multiple Machines N jobs on M machines: (N!)M possible sequences. For 5 jobs and 5 machines = 25 billionComplete enumeration is not the way
26 Multiple Machines 2 jobs, 2 machines. Job M1 M2 I 4 1 J 1 4 Four possiblesequences:
27 Multiple Machines 2 jobs, 2 machines. Job M1 M2 M1 M2 I 4 1 1 I J I J J I J J I3 J I J IFour possible 4 J I I Jsequences:
28 Two Machines I J I J I J J I J I I J J I J I Sequence Makespan 9 10 6
29 Two Machines Permutation schedules: IJ IJ, JI JI Jobs processed same sequence on bothFor N jobs on two machines, there will always be an optimal permutation schedule.
30 2 Machines, N Jobs (Johnson’s 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 it’s in B, then last. 3. Continue until all jobs scheduled.
31 Johnson Example 1. Job 2 is smallest, so it goes first. Job A B Seq: 2, , , ,
32 Johnson Example 1. Job 2 goes first. 2. Job 1 is next smallest, in B, so goes last.Job A B Seq: 2, , , , 1
33 Johnson Example 1. Job 2 goes first. 2. Job 1 goes last.3. Job 4 is smallest, in A column, so it goes next.Job A B Seq: 2, 4 , , , 1
34 Johnson Example 1. Job 2 goes first. 2. Job 1 goes last.3. Job 4 goes next.4. Job 5 smallest in B, comes next to last.Job A B Seq: 2, 4, , 5, 1
35 Johnson Example 1. Job 2 goes first. 2. Job 1 goes last.3. Job 4 goes next.4. Job 5 next to last.5. Job 3 comes next.Job A B Seq: 2, 4, 3, 5, 1
36 N jobs on N machines, one machine per job Assignment methodManually, or using LP
37 Sequencing Summary Single machine scheduling: Two machines: FCFS, SPT, EDD, CR, Moore’s AlgorithmTwo machines:Johnson’s AlgorithmPerformance:Avg Flow Time, Max Tardy, Avg Tardy, Number of jobs Tardy
38 Real-World Scheduling N jobs on M machinesUse dynamic methods – re-evaluate the schedule regularlyBased on slack in some way – jobs with least slack get highest priorityBuild slack into your initial scheduleMore jobs will always arrive with tight due dates
39 Scheduling Days Off Compute no. people needed each day. Find the smallest two consecutive daysHighest number in the pair is <= highest number in any other pairThose two days will be the first worker’s days offSubtract one from the days the first worker wasn’t scheduledRepeat
40 ExampleM T W Th F Sa Su # # # # Do you want to work the #4 schedule?
42 Scheduling Hourly Times When should people start shifts?“First Hour” principle:For first hour, assign # people needed that hourEach additional hour, add more if neededWhen shift ends, add more, only if needed