CG3500 - Production Planning Lecture 9 College of the North Atlantic, Fall 2018 Max Erler Important (tentative) dates: Quiz 1: 04-Oct-2018 Quiz 2: 09-Nov-2018 Term Project: 26-Nov-2018 Final Exam: 12-Dec-2018 Production Scheduling: Air Canada About 10% of Air Canada’s flights are disrupted per year, half because of weather The ripple effect throughout the system Cost is millions of dollars in lost revenue, overtime pay, food and lodging vouchers The Operations Control Centre at Toronto’s Pearson Airport adjusts to changes, notifies passengers, and keeps flights flowing Mathematical programming to anticipate and react to potential problems Static programming Dynamic programming (If – Then scenarios) Short-Term Scheduling Short-term schedules translate capacity decisions, aggregate planning, and master schedules into job sequences and specific assignments of personnel, materials, and machinery Figure 15.1 Scheduling Decisions Importance of Short-Term Scheduling Effective and efficient scheduling can be a competitive advantage Faster movement of goods through a facility means better use of assets and lower costs Additional capacity resulting from faster throughput improves customer service through faster delivery Good schedules result in more dependable deliveries Scheduling Issues Scheduling deals with the timing of operations The task is the allocation and prioritization of demand Significant issues are The type of scheduling, forward or backward The criteria for priorities Forward and Backward Scheduling Forward scheduling starts as soon as the requirements are known Produces a feasible schedule though it may not meet due dates Frequently results in buildup of work-inprocess inventory Now Due Date Forward and Backward Scheduling Backward scheduling begins with the due date and schedules the final operation first Schedule is produced by working backwards though the processes Resources may not be available to accomplish the schedule Now Due Date Forward and Backward Scheduling Backward scheduling begins with the due date and schedules the final operation first Schedule is produced by working backwards though the processes Resources may not be available to accomplish the schedule Now Due Date 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 Scheduling Criteria 1. Minimize completion time 2. Maximize utilization of facilities 3. Minimize work-in-process (WIP) inventory 4. Minimize customer waiting time Optimize the use of resources so that production objectives are met Scheduling Schedule incoming orders without violating capacity constraints Check availability of tools and materials before releasing an order Establish due dates for each job and check progress Check work in progress Provide feedback Provide work efficiency statistics and monitor times Gantt Charts Load chart shows the loading and idle times of departments, machines, or facilities Displays relative workloads over time Schedule chart monitors jobs in process All Gantt charts need to be updated frequently to account for changes Gantt Load Chart Example Day Work centre Metalworks Monday Tuesday Job 349 Job 349 Job 408 Painting Processing Thursday Friday Job 350 Mechanical Electronics Wednesday Job 408 Job 349 Job 295 Job 408 Unscheduled Job 349 centre not available Figure 15.3 Gantt Schedule Chart Example Job Day 1 Day Day 2 3 Day Day Day Day Day 4 5 6 7 8 A B Start of an activity End of an activity Scheduled activity time allowed Actual work progress Maintenance Nonproduction time C Point in time when chart is reviewed Now Figure 15.4 Assignment Method A special class of linear programming models that assigns tasks or jobs to resources Objective is to minimize cost or time Only one job (or worker) is assigned to one machine (or project) Assignment Method Build a table of costs or time associated with particular assignments Job R-34 A $11 S-66 T-50 $ 8 $ 9 Typesetter B $14 $10 $12 C $ 6 $11 $ 7 Assignment Method 1. Create zero opportunity costs by repeatedly subtracting the lowest costs from each row and column 2. Draw the minimum number of vertical and horizontal lines necessary to cover all the zeros in the table. If the number of lines equals either the number of rows or the number of columns, proceed to step 4. Otherwise proceed to step 3. Assignment Method 3. Subtract the smallest number not covered by a line from all other uncovered numbers. Add the same number to any number at the intersection of two lines. Return to step 2. 4. Optimal assignments are at zero locations in the table. Select one, draw lines through the row and column involved, and continue to the next assignment. Assignment Example Create zero opportunity costs by repeatedly subtracting the lowest costs from each row and column Typesetter Job R-34 S-66 T-50 Step 1a - Rows B C $11 $ 8 $ 9 $14 $10 $12 $ 6 $11 $ 7 Step 1b - Columns Typesetter Typesetter A Job R-34 S-66 T-50 A $ 5 $ 0 $ 2 B $ 8 $ 2 $ 5 C $ 0 $ 3 $ 0 Job R-34 S-66 T-50 A B C $ 5 $ 0 $ 2 $ 6 $ 0 $ 3 $ 0 $ 3 $ 0 Draw the minimum number of vertical and horizontal lines necessary to cover all the zeros in the table. If the number of lines equals either the number of rows or the number of columns, proceed to step 4. Otherwise proceed to step 3. Subtract the smallest number not covered by a line from all other uncovered numbers. Add the same number to any number at the intersection of two lines. Return to step 2. Step 2 - Lines Typesetter Job R-34 S-66 T-50 A B C $ 5 $ 0 $ 2 $ 6 $ 0 $ 3 $ 0 $ 3 $ 0 The smallest uncovered number is 2 so this is subtracted from all other uncovered numbers and added to numbers at the intersection of lines Step 3 - Subtraction Typesetter Because only two lines are needed to cover all the zeros, the solution is not optimal Job R-34 S-66 T-50 A B C $ 3 $ 0 $ 0 $ 4 $ 0 $ 1 $ 0 $ 5 $ 0 Optimal assignments are at zero locations in the table. Select one, draw lines through the row and column involved, and continue to the next assignment. Assignment Example Step 2 - Lines Typesetter Job R-34 S-66 T-50 A B C $ 3 $ 0 $ 0 $ 4 $ 0 $ 1 $ 0 $ 5 $ 0 Because three lines are needed, the solution is optimal and assignments can be made Start by assigning R-34 to worker C as this is the only possible assignment for worker C. Job T-50 must go to worker A as worker C is already assigned. This leaves S-66 for worker B. Step 4 - Assignments Typesetter Job R-34 S-66 T-50 A B C $ 3 $ 0 $ 0 $ 4 $ 0 $ 1 $ 0 $ 5 $ 0 Assignment Example Step 4 - Assignments Typesetter Typesetter A Job R-34 S-66 T-50 $11 $ 8 $ 9 B $14 $10 $12 C $ 6 $11 $ 7 Job R-34 S-66 T-50 A B C $ 3 $ 0 $ 0 $ 4 $ 0 $ 1 $ 0 $ 5 $ 0 From the original cost table Minimum cost = $6 + $10 + $9 = $25 Sequencing Jobs Specifies the order in which jobs should be performed at work centres Priority rules are used to dispatch or sequence jobs FCFS: First come, first served SPT: Shortest processing time EDD: Earliest due date LPT: Longest processing time Comparison of Sequencing Rules No one sequencing rule excels on all criteria SPT does well on minimizing flow time and number of jobs in the system But SPT moves long jobs to the end which may result in dissatisfied customers FCFS does not do especially well (or poorly) on any criteria but is perceived as fair by customers EDD minimizes maximum lateness Critical Ratio (CR) An index number found by dividing the time remaining until the due date by the work time remaining on the job Jobs with low critical ratios are scheduled ahead of jobs with higher critical ratios Performs well on average job lateness criteria Time remaining Due date – Today’s date CR = = Workdays remaining Work (lead) time remaining Critical Ratio Technique 1. Helps determine the status of specific jobs 2. Establishes relative priorities among jobs on a common basis 3. Relates both stock and make-to-order jobs on a common basis 4. Adjusts priorities automatically for changes in both demand and job progress 5. Dynamically tracks job progress Example: Machine shop has 5 unprocessed jobs (J1, J2, J3, J4, J5) numbers by order they entered Bottleneck machines queue: Job # Process Time Due Date 1 11 61 2 29 45 3 31 31 4 1 33 5 2 32 Using First Come First Serve (FCFS): Sequence Process Time Comp. Time D. Date Tardiness J1 11 11 61 0 J2 29 40 45 0 J3 31 71 31 40 J4 1 72 33 39 J5 2 74 32 42 Totals 268 Avg Tardiness: (121)/5 = 24.2 # Tardy Jobs: 3 121 Shortest Processing Time (SPT): Sequence Comp. Time D. Date Tardiness J4 1 33 0 J5 3 32 0 J1 14 61 0 J2 43 45 0 J3 74 31 43 Totals 135 Avg Tardiness: (43)/5 = 8.6 # Tardy: 1 43 Earliest Due Date (EDD): Sequence Comp. Time D. Date Tardiness J3 31 31 0 J5 33 32 1 J4 34 33 1 J2 63 45 18 J1 74 61 13 Totals 235 Avg Tardiness: (33)/5 = 6.6 # Tardy: 4 33 Critical Ratio (CR) Set Current Time (sum of time of all scheduled jobs so far) Compute: Due _ Date Cur _ Time CR Pr._ Work _ Re maining Model Starts with current time = 0 Current time updates after each selection by adding scheduled Process Time to current time CR CR: JOB Pr. Time D. Date Due _ Date Cur _ Time CR Pr._ Work _ Re maining JOB Pr. Time D. Date CR Current Time = 31 Current Time = 0 1 11 61 5.546 1 11 61 2.727 2 29 45 1.552 2 29 45 .483 3 31 31 1.00 4 1 33 2 4 1 33 33 5 2 32 0.5 5 2 32 16 Continuing (CR) JOB Pr. Time D. Date CR JOB Proc. Time 11 61 D. Date Tardy Summary Current Time = 60 1 Comp. Time 0.091 do last 3 31 31 31 0 2 29 60 45 15 4 1 33 -27* 4 1 61 31 30 5 2 32 -14** 5 2 63 33 30 1 11 74 32 42 *,** It is possible that the numerator will be negative for some or all of the remaining jobs. When that occurs it means that the job is late, and we will assume that late jobs are automatically scheduled next. If there is more than one late job, then the late jobs are scheduled in SPT sequence. Total : 289 117 Summarizing from CR analysis: Mean Tardiness: (117)/5 = 23.4 # Tardy: 4 Example Taylor Machine Shop is open from 8:00 A.M. until 5:00 P.M. each weekday, plus weekend hours as needed, the customer pickup times are measured in business hours from the current time. Determine the schedule for the engine expert by using (a) the EDD rule and (b) (b) the SPT rule. For each rule, calculate the average flow time, average hours early, and average hours past due. If average past due is most important, which rule should be chosen? Sequencing N Jobs on Two Machines: Johnson’s Rule Works with two or more jobs that pass through the same two machines or work centers Minimizes total production time and idle time Johnson’s Rule 1. List all jobs and times for each work center 2. Choose the job with the shortest activity time. If that time is in the first work center, schedule the job first. If it is in the second work center, schedule the job last. 3. Once a job is scheduled, it is eliminated from the list 4. Repeat steps 2 and 3 working toward the center of the sequence Johnson’s Rule Example Job Work centre 1 (drill press) Work centre 2 (lathe) A 5 2 B 3 6 C 8 4 D 10 7 E 7 12 Johnson’s Rule Example Job Work Centre 1 (drill press) Work Centre 2 (lathe) A 5 2 B 3 6 C 8 4 D 10 7 E 7 12 B E D C A Johnson’s Rule Example Job Work Centre 1 (drill press) Work Centre 2 (lathe) A 5 2 B 3 6 C 8 4 D 10 7 E 7 12 Time WC 1 WC 2 0 3 B 10 E B E D C A 20 D 28 C 33 A Johnson’s Rule Example Job Work Centre 1 (drill press) Work Centre 2 (lathe) A 5 2 B 3 6 C 8 4 D 10 7 E 7 12 Time WC 1 0 3 10 B E WC 2 Time 0 1 20 5 28 D B 3 B E D C A C E 7 9 10 11 12 13 B 33 A D 17 19 21 22 2325 E 27 29 D C A 31 33 35 C A Limitations of Rule-Based Dispatching Systems 1. Scheduling is dynamic and rules need to be revised to adjust to changes 2. Rules do not look upstream or downstream 3. Rules do not look beyond due dates Finite Capacity Scheduling Overcomes disadvantages of rule-based systems by providing an interactive, computer-based graphical system May include rules and expert systems or simulation to allow real-time response to system changes Initial data often from an MRP system FCS allows the balancing of delivery needs and efficiency Finite Capacity Scheduling MRP Data • Master schedule • BOM • Inventory Priority rules • Expert systems • Simulation models Interactive Finite Capacity Scheduling • Routing files • Work centre information Tooling and other resources Setups and run time Figure 15.5 Scheduling Repetitive Facilities Level material use can help repetitive facilities Better satisfy customer demand Lower inventory investment Reduce batch size Better utilize equipment and facilities Scheduling Repetitive Facilities Advantages include: 1. Lower inventory levels 2. Faster product throughput 3. Improved component quality 4. Reduced floor-space requirements 5. Improved communications 6. Smoother production process Scheduling Services Service systems differ from manufacturing Manufacturing Schedules machines and materials Inventories used to smooth demand Machine-intensive and demand may be smooth Scheduling may be bound by union contracts Few social or behavioural issues Services Schedule staff Seldom maintain inventories Labour-intensive and demand may be variable Legal issues may constrain flexible scheduling Social and behavioural issues may be quite important Scheduling Services Hospitals have complex scheduling system to handle complex processes and material requirements Banks use a cross-trained and flexible workforce and part-time workers Retail stores use scheduling optimization systems that track sales, transactions, and customer traffic to create work schedules in less time and with improved customer satisfaction Scheduling Services Airlines must meet complex FAA and union regulations and often use linear programming to develop optimal schedules 24/7 operations like police/fire departments, emergency hot lines, and mail order businesses use flexible workers and variable schedules, often created using computerized systems Demand Management Appointment or reservation systems FCFS sequencing rules Discounts or other promotional schemes When demand management is not feasible, managing capacity through staffing flexibility may be used Scheduling Service Employees With Cyclical Scheduling Objective is to meet staffing requirements with the minimum number of workers Schedules need to be smooth and keep personnel happy Many techniques exist from simple algorithms to complex linear programming solutions