Presentation on theme: "Operations Scheduling"— Presentation transcript:
1Operations Scheduling Operations ManagementDr. Ron Lembke
2Kinds of Scheduling Job shop scheduling Personnel scheduling Facilities schedulingVehicle schedulingVendor schedulingProject schedulingDynamic vs. static scheduling
3Hierarchy of Decisions Forecasts of Future DemandAggregate PlanMaster Production Scheduleby product, quantity and periodMaterials Requirements Planning SystemDetailed Job Scheduling System
4Example 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?
5Objectives Many possible objectives: Meet due dates Minimize WIP Minimize average flow time throughHigh worker/machine utilizationReduce setup timesMinimize production and worker costs
6Forward 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
7Job 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
8Terminology 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
9Sequencing 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
10Example: 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
11Example: 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
12Example: 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
13Critical 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
14Example: Critical Ratio T = 0 Process Time until CriticalJob Time Due RatioJob 5 is done first.
15Example: Critical Ratio T = 5 Process Time until CriticalJob Time Due RatioJob 2 is done second.
16Example: Critical Ratio T = 7 Process Time until CriticalJob Time Due RatioJob 3 is done third.
17Example: Critical Ratio T = 10 Process Time until CriticalJob Time Due RatioJob 4 is done fourth, and job 1 is last.
18Critical 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
19SummaryAverage Number Max Method Flow Tardiness Tardy Tardy FCFS SPT EDD CR
20Minimizing 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
21Minimizing 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.
22Moore’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.
23Moore’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!
24Summary 2Average Number Max Method Flow Tardiness tardy Tardy FCFS SOT DDate CR Moore’s
25Multiple Machines N jobs on M machines: (N!)M possible sequences. For 5 jobs and 5 machines = 25 billionComplete enumeration is not the way
26Multiple Machines 2 jobs, 2 machines. Job M1 M2 I 4 1 J 1 4 Four possiblesequences:
27Multiple 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:
28Two Machines I J I J I J J I J I I J J I J I Sequence Makespan 9 10 6
29Two 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.
302 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.
31Johnson Example 1. Job 2 is smallest, so it goes first. Job A B Seq: 2, , , ,
32Johnson Example 1. Job 2 goes first. 2. Job 1 is next smallest, in B, so goes last.Job A B Seq: 2, , , , 1
33Johnson 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
34Johnson 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
35Johnson 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
36N jobs on N machines, one machine per job Assignment methodManually, or using LP
37Sequencing 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
38Real-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
39Scheduling 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
40ExampleM T W Th F Sa Su # # # # Do you want to work the #4 schedule?
42Scheduling 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