Chapter 17: Operations Scheduling • Scheduling is the allocation of resources over time to perform a collection of tasks • Resources – Workers, Machines, Tools • Tasks – Operations that bring some physical changes to material in order to eventually manufacture products – Setups such as walking to reach the workplace, obtaining and returning tools, setting the required jigs and fixtures, positioning and inspecting material, cleaning etc. Production Systems High Project Job Shop Customization Batch production Flow Shop Continuous production Low Low High Volume High Production Systems Aircraft Project Custom-made machines and Job Shop parts Books Customization Batch production Automobile Flow Shop Oil refinery Continuous production Low Low High Volume Production Systems Labor intensive High Project Job Shop Customization Batch production Capital intensive Flow Shop Continuous production Low Low High Volume Production Systems More frequent Rescheduling High Project Job Shop Customization Batch production Flow Shop Less frequent Rescheduling Continuous production Low Low High Volume Infinite/Finite Scheduling • Infinite - assumes infinite capacity – Loads without regard to capacity, levels the load and sequence jobs – Job shop/batch production • Finite - assumes finite (limited) capacity – Sequences jobs as part of the loading decision, resources are never loaded beyond capacity – Flow shop/continuous production Scheduling Job Shop/Batch Production • Batch Production – many planning steps • • • • aggregate planning master scheduling material requirements planning (MRP) capacity requirements planning (CRP) • Scheduling determines – machine/worker/job assignments – resource/requirement matchings Objectives in Scheduling • Conformance to prescribed deadlines – Meet customer due dates, minimize job lateness, minimize maximum lateness, minimize number of tardy jobs • Response time or lead time – Minimize mean completion time, minimize average time in the system • Efficient utilization of resources – Maximize machine or labor utilization, minimize idle time, maximize throughput, minimize the length of time the shop is open • Costs – Minimize work-in-process inventory, minimize overtime Responsibilities of Production Control Department • Loading – Allocate orders to workers and machines, worker and machines to work centers etc. • Sequencing – Release work orders to shop & issue dispatch lists for individual machines • Monitoring – Maintain progress reports on each job until it is complete Loading • Allocate orders to workers and machines, workers and machines to work centers, etc. • Perform work on most efficient resources • Use assignment method of linear programming to determine allocation Assignment Method 1. Perform row reductions – Subtract minimum value in each row from all other row values 2. Perform column reductions – Subtract minimum value in each column from all other column values 3. Line Test – Cross out all zeros in matrix using minimum number of horizontal & vertical lines. If number of lines equals number of rows in matrix, optimum solution has been found, stop. 4. Matrix Modification – Subtract minimum uncrossed value from all uncrossed values & add it to all cells where two lines intersect. Go to Step 3. Assignment Example Cooker Food Beans Peaches Tomatoes Corn 1 10 6 7 9 Row reduction 5 0 1 5 4 0 2 4 2 1 0 1 5 1 0 6 2 5 2 6 5 3 4 6 10 4 6 5 6 4 10 Column reduction 3 0 1 4 2 0 2 3 0 1 0 0 3 1 0 5 Line Test 3 0 1 2 0 2 0 1 0 3 1 0 Number lines <> number of rows so modify matrix 4 3 0 5 Assignment Example Modify matrix Line Test 1 0 0 1 1 0 0 1 0 0 3 1 1 2 2 0 2 1 0 3 0 0 3 1 Cooker Food Beans Peaches Tom Corn 1 1 0 0 1 2 0 0 3 1 1 2 2 0 2 1 0 3 # lines = # rows so at optimal solution Cooker 3 1 2 2 0 4 2 1 0 3 Food 1 2 3 4 Beans 10 5 6 10 Peaches 6 2 4 6 Tomatoes 7 6 5 6 Corn 9 5 4 10 Orders completed in 6 hours Total number of hours = 21 Sequencing • Prioritize jobs assigned to a resource • If no order specified use first-come firstserved (FCFS) • Many other sequencing rules exist • Each attempts to achieve to an objective Sequencing Rules • • • • FCFS - first-come, first-served SOT - shortest operating time DDATE - earliest due date STR - slack time remaining – (due date - today’s date) - (remaining processing time) • LCFS - last come, first served Critical Ratio Rule • CR = time remaining / work remaining = due date - today’s date remaining processing time Jobs with the smallest CR are run first. Performance Measures • Completion time – Epoch at which the job is completed • Makespan – Completion time of the last job processed • Lateness – Lateness of job j – = (completion time of job j)-(due date of job j) • Tardiness – Tardiness of job j = max(0, lateness of job j) Sequencing Rule Example Processing Due Job Time Date A 5 10 B 10 15 C 2 5 D 8 12 E 6 8 Slack (10-1) - 5 = 4 (15-1)-10 = 4 (5-1)-2 = 2 (12-1)-8 = 3 (8-1)-6 = 1 120 possible sequences for 5 jobs Critical Ratio (10-1)/5 = 1.80 (15-1)/10 = 1.40 (5-1)/2 = 2.00 (12-1)/8 = 1.37 (8-1)/6 = 1.16 First-Come First-Served Start Processing SequenceTime Time A B C D E Average 5 10 2 8 6 Completion Time Due Date 10 15 5 12 8 Tardiness Earliest Due Date Start Processing SequenceTime Time C E A D E Average 2 6 5 8 10 Completion Time Due Date 5 8 10 12 15 Tardiness Slack Time Remaining Slack for each job A - 4, B - 4, C - 2, D - 3, E - 1 Start Processing SequenceTime Time E C D A B Average 6 2 8 5 10 Completion Time Due Date 8 5 12 10 15 Tardiness Critical Ratio CR for each job A - 1.80, B - 1.40, C - 2.00, D - 1.37, E - 1.16 Start Processing SequenceTime Time E 6 D 8 B 10 A 5 C 2 Average Completion Time Due Date 8 12 15 10 5 Tardiness Shortest Operating Time Start Processing SequenceTime Time C A E D B Average 2 5 6 8 10 Completion Time Due Date 5 10 8 12 15 Tardiness Summary Rule FCFS DDATE STR CR SOT Average Completion Time 18.60 15.00 16.40 20.80 14.80 * * * Best values ** Guaranteed best values Average No. of Maximum Tardiness Jobs Tardy Tardiness 9.6 3* 23 5.6 * 3 * 16 ** 6.8 4 16 * 11.2 4 26 6.0 3 * 16 * Johnson’s Rule: Sequencing Jobs Through a Two Machine Flow Shop to Minimize Makespan 1. List time required to process each job at each machine. Set up a one-dimensional matrix to represent desired sequence with # of slots equal to # of jobs. 2. Select smallest processing time at either machine. If that time is on machine 1, put the job as near to beginning of sequence as possible. 3. If smallest time occurs on machine 2, put the job as near to the end of the sequence as possible. 4. Remove job from list. 5. Repeat steps 2-4 until all slots in matrix are filled & all jobs are sequenced. Johnson’s Rule Example Job A B C D E Machine Center 1 6 11 7 9 5 Machine Center 2 8 6 3 7 10 Johnson’s Rule Example Job A B Machine Center 1 6 11 D E 9 5 Machine Center 2 8 6 7 10 C Johnson’s Rule Example Job A B Machine Center 1 6 11 Machine Center 2 8 6 D 9 7 E C Johnson’s Rule Example Job Machine Center 1 Machine Center 2 B 11 6 D 9 7 E A C Johnson’s Rule Example Job Machine Center 1 Machine Center 2 D 9 7 E A B C Johnson’s Rule Example Job E Machine Center 1 Machine Center 2 A C D B Johnson’s Rule Example Job E A D B C E Machine Center 1 5 6 9 11 7 Machine Center 2 10 8 7 6 3 A C D B Each triplet above shows the start, processing, and stopping times of an operation. Johnson’s rule guarantees that the above schedule gives the best value (41) of makespan. Monitoring with Gantt Chart Key: Completed Activity Job 32B 3 Behind schedule Planned Activity Facility Job 23C 2 Ahead of schedule Job 11C Job 12A 1 On schedule 1 2 3 4 5 6 8 9 10 11 12 Days Today’s Date Gantt Chart shows both planned and completed activities against a time scale Employee Scheduling • Labor is very flexible resource • Scheduling workforce is a complicated repetitive task • An objective is to create a consecutive days off schedule that uses the fewest workers. • Heuristics are commonly used. Employee Scheduling Heuristic 1. Consider the first worker and the unassigned workload. 2. Assign the worker to all days except the two consecutive days with the lowest unassigned workload. 3. If there are unassigned workload, consider the next worker and repeat step 2. Else, stop. Employee Scheduling Example Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 Employee Scheduling Example Worker 1 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 Employee Scheduling Example Worker 1 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 Employee Scheduling Example Worker 1 Worker 2 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 Employee Scheduling Example Worker 1 Worker 2 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 Employee Scheduling Example Worker 1 Worker 2 Worker 3 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 2 2 3 2 2 3 1 Employee Scheduling Example Worker 1 Worker 2 Worker 3 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 2 2 3 2 2 3 1 Employee Scheduling Example Worker 1 Worker 2 Worker 3 Worker 4 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 2 2 3 2 2 3 1 2 1 2 1 1 2 1 Employee Scheduling Example Worker 1 Worker 2 Worker 3 Worker 4 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 2 2 3 2 2 3 1 2 1 2 1 1 2 1 Employee Scheduling Example Worker 1 Worker 2 Worker 3 Worker 4 Worker 5 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 2 2 3 2 2 3 1 2 1 2 1 1 2 1 1 0 1 1 1 1 0 Employee Scheduling Example Worker 1 Worker 2 Worker 3 Worker 4 Worker 5 Number of Workers Required M Tu W Th F S Su 3 3 4 3 4 5 3 3 3 4 3 4 5 3 3 3 3 2 3 4 2 2 2 3 2 2 3 1 2 1 2 1 1 2 1 1 0 1 1 1 1 0 Employee Scheduling Example Remark: The resulting schedule provides consecutive days off to 4 workers among 5. Still, it’s better than two schedules shown next. Employee Scheduling Example Day of week M Min # workers 3 Worker 1 O Worker 2 O Worker 3 X Worker 4 X Worker 5 X IMPROVED SCHEDULE Day of week M Min # workers 3 Worker 1 O Worker 2 O Worker 3 X Worker 4 X Worker 5 X T 3 X X O O X W 4 X X X X O Th 3 0 0 X X X F 4 X X O X X Sa 5 X X X X X Su 3 X X X O O T 3 O O X X X W 4 X X O X X Th 3 X X O O X F 4 X X X X O Sa 5 X X X X X Su 3 X X X O O Reading • Reading: Chapter 17 pp. 668-74, 678-81 • Chapter end problems: 4,6,12,13