Topic 28 Flexible Assembly Systems Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson Job Shops Each job has an unique identity Make to order, low volume environment Possibly complicated route through system Very difficult June 28, 2016 Flexible Assembly Limited number of product types Given quantity of each type Mass production High degree of automation Even more difficult! Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 2 Flexible Assembly Systems Sequencing Unpaced Assembly Systems Sequencing Paced Assembly Systems Simple flow line with finite buffers Conveyor belt moves at a fixed speed Scheduling Flexible Flow Systems Flow lines with finite buffers and bypass June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 3 Sequencing Unpaced Assembly Systems Number of machines in series No buffers Material handling system When a job finishes moves to next station No bypassing Blocking Can model any finite buffer situation June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 4 Cyclic Schedules Schedules often cyclic or periodic: Given set of jobs scheduled in certain order Contains all product types May contain multiple jobs of same type Second identical set scheduled, etc. Practical if insignificant setup time Low inventory cost Easy to implement June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 5 Minimum Part Set Suppose l product types Let Nk be target number of jobs of type k Let z be the greatest common divisor Then Nl N1 N 2 N , ,..., z z z * is the smallest set with ‘correct’ proportions Called the minimum part set (MPS) June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 6 Defining a Cyclic Schedule Consider the jobs in the MPS as n jobs 1 l n Nk z l 1 Let pij be as before A cyclic schedule is determined by sequencing the job in the MPS Maximizing TP = Minimizing cycle time June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 7 MPS Cycle Time Example Jobs 1 2 3 p1 j 0 1 0 p2 j 0 0 0 p3 j 1 0 1 p4 j 1 1 0 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson Buffer! 8 Sequence: 1,2,3 (ii) (iii) (i) (i) (ii) (ii) (ii) (iii) (iii) (i) (i) (i) (ii) (ii) (ii) (iii) (i) (i) (ii) (ii) 1 2 3 4 5 6 7 8 Cycle Time = 3 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 9 Sequence: 1,3,2 1 (i) (ii) (ii) (iii) (iii) (i) (i) (ii) (ii) (iii) (iii) (i) (i) (ii) (ii) (iii) (iii) (i) (i) (ii) (ii) (iii) 2 3 4 5 6 7 Cycle Time June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 10 Minimizing Cycle Time Profile Fitting (PF) heuristic: Select first job j1 Arbitrarily Largest amount of processing Generates profile i Di , j1 ph , ji h 1 Determine which job goes next June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 11 PF: Next Job Compute for each candidate job Time machines are idle Time job is blocked Start with departure times: max D D1, j2 max D1, j2 p1c , D2, j1 Di , j2 i 1, j2 pic , Di 1, j1 , i 2,..., m 1 Dm1, j2 Dm1, j2 pmc June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 12 Nonproductive Time Calculate sum of idle and blocked time m D i 1 i , j2 Di , j1 pic , Repeat for all remaining jobs in the MPS Select job with smallest number Calculate new profile and repeat June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 13 Discussion: PF Heuristic PF heuristic performs well in practice Refinement: Nonproductive time is not equally bad on all machines Bottleneck machine Use weight in the sum June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 14 Discussion: PF Heuristic Basic assumptions Setup is not important Low WIP is important Cyclic schedules good Want to maximize throughput Minimize cycle time PF heuristic performs well June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 15 Discussion: FMS Flexible Manufacturing Systems (FMS) Scheduling Numerically Controlled machines Automated Material Handling system Produces a variety of product/part types Routing of jobs Sequencing on machines Setup of tools Similar features but more complicated June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 16 Discussion: Solution Methods Formulated as ‘simple’ sequencing Can apply branch-and-bound In general constraints make mathematical programming formulation difficult PF heuristic easy to generalize June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 17 Additional Complications The material handling system does not wait for a job to complete Paced assembly systems There may be multiple machines at each station and/or there may be bypass Flexible flow systems with bypass June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 18 Topic 29 Paced Assembly Systems Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson Paced Assembly Systems Conveyor moves jobs at fixed speeds Fixed distance between jobs Spacing proportional to processing time No bypass Unit cycle time time between two successive jobs June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 20 Grouping and Spacing Attributes and characteristics of each job Changeover cost color, options, destination of cars Group operations with high changeover Certain long operations Space evenly over the sequence Capacity constrained operations (criticality index) June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 21 Objectives Minimize total setup cost Meet due dates for make-to-order jobs Spacing of capacity constrained operations Total weighted tardiness Pi(l) = penalty for working on two jobs l positions apart in ith workstation Regular rate of material consumption June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 22 Grouping and Spacing Heuristic Determine the total number of jobs to be scheduled Group jobs with high setup cost operations Order each subgroup accounting for shipping dates Space jobs within subgroups accounting for capacity constrained operations June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 23 Example Single machine with 10 jobs Each job has a unit processing time Setup cost c jk a j1 ak 1 If a j 2 ak 2 there is a penalty cost P2 (l ) max( 3 l ,0) June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 24 Example Data Job 1 2 3 4 5 6 7 8 9 10 a1 j 1 1 1 3 3 3 5 5 5 5 a2 j 0 1 1 0 1 1 1 0 0 0 dj 2 6 wj 0 4 0 0 0 0 4 0 0 0 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 25 Grouping Group A: Jobs 1,2, and 3 Group B: Jobs 4,5, and 6 Group C: Jobs 7,8,9, and 19 Best order: A B C June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 26 Grouped Jobs A B C Job 1 2 3 4 5 6 7 8 9 10 a1 j 1 1 1 3 3 3 5 5 5 5 a2 j 0 1 1 0 1 1 1 0 0 0 dj 2 6 wj 0 4 0 0 0 0 4 0 0 0 Due date Order A C B June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 27 Capacity Constrained Operations A C B Job 2 1 3 8 7 9 10 5 4 6 a1 j 1 1 1 5 5 5 5 3 3 3 a2 j 1 0 1 0 1 0 0 1 0 1 dj 2 6 wj 4 0 0 0 4 0 0 0 0 0 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 28 Topic 30 Flexible Flow Systems Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson Flexible Flow System with Bypass June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 30 Flexible Flow Line Algorithm Objectives Minimizes the makespan of a day’s mix Maximize throughput Minimize work-in-process (WIP) Actually minimization of cycle time for MPS Reduces blocking probabilities June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 31 Flexible Flow Line Algorithm Three phases: Machine allocation phase Sequencing phase assigns each job to a specific machine at station orders in which jobs are released dynamic balancing heuristic Time release phase June 28, 2016 minimize MPS cycle time on bottlenecks Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 32 Machine Allocation Bank of machines Which machine for which job? Basic idea: workload balancing Use LPT dispatching rule June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 33 Sequencing Basic idea: spread out jobs sent to the same machine Dynamic balancing heuristic For a given station, let pij be processing time of job j on ith machine Let n n Wi pij j 1 June 28, 2016 W Wi j 1 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 34 Dynamic Balancing Heuristic Let Sj be the jobs released before and including job j Define Target * j June 28, 2016 pik ij 0,1 kS j Wi m n m p / p kS j i 1 ik k 1 i 1 ik p kS j Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson k /W 35 Minimizing Overload Define the overload of the ith machine oij pij p jWi / W The cumulative overload is Oij Minimize oik kS j kS j max O ,0 n m i 1 j 1 June 28, 2016 * p ik jWi ij Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 36 Release Timing MPS workload of each machine known Highest workload = bottleneck MPS cycle time Bottleneck cycle time Algorithm Step 1: Release all jobs as soon as possible Step 2: Delay all jobs upstream from bottleneck as much as possible Step 3: Move up all jobs downstream from the bottleneck as much as possible June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 37 Example June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 38 Data Jobs 1 2 3 4 5 p1' j 6 3 1 3 5 p2' j 3 2 1 3 2 ' 3j 4 5 6 3 4 p June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 39 Machine Allocation Jobs 1 2 3 4 5 p1 j 6 0 0 3 0 p2 j 0 3 1 0 5 p3 j 3 2 1 3 2 p4 j 4 5 0 3 0 p5 j 0 0 6 0 4 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 40 Workload W1 9 W2 9 W3 11 W4 12 W5 10 p1 13 p2 10 p3 8 p4 9 p5 11 W 51 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 41 Overload o11 6 13 9 o21 0 13 9 51 3.71 2.29 51 o31 3 13 11 0.20 51 o41 4 13 12 0.94 51 o51 0 13 10 2.55 51 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 42 Overload Matrix 3.71 -2.29 0.20 0.94 -2.55 June 28, 2016 -1.76 1.24 -0.16 2.65 -1.96 -1.41 -0.41 -0.73 -1.88 4.43 1.41 -1.59 1.06 0.88 -1.76 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson -1.94 3.06 -0.37 -2.59 1.84 43 Dynamic Balancing 3.71 0.00 0.20 0.94 0.00 0.00 1.24 0.00 2.65 0.00 0.00 0.00 0.00 0.00 4.43 1.41 0.00 1.06 0.88 0.00 0.00 3.06 0.00 0.00 1.84 4.84 3.88 4.43 3.35 4.90 First Job June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 44 Selecting the Second Job Calculate the cumulative overload O11 p1k 1*W1 kS1 k{4,1} p1k 0.43 9 (3 6) 0.43 9 5.13 where 1* p kS j k /W p k{4 ,1} k / 51 (9 13) / 51 0.43 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 45 Cumulative Overload Oi1 (5.11,3.88,1.26,1.82,4.32) Oi 2 (0.35,0.36,0.90,3.52,3.72) Oi 3 (0.00,2.00,0.33,1.00,2.67) Oi 5 (0.53,1.47,0.69,1.71,0.08) Selected next June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 46 Final Cycle Schedule jobs 4,5,1,3,2 Release timing phase Machine 4 is the bottleneck Delay jobs on Machine 1, 2, and 3 Expedite jobs on Machine 5 June 28, 2016 Lecture Notes for Planning and Scheduling Prepared by Siggi Olafsson 47