PRODUCTION PLANNING AND SCHEDULING Part Andrew Kusiak 9 Seamans Center Iowa City, Iowa - 7 Tel: 9-9 Fax: 9-669 andrew-kusiak@uiowa.edu http://www.icaen.uiowa.edu/~ankusiak Forecasting Planning Hierarchy Forecasting Master Production Planning () Material Requirements Planning () Production Forecasting II (Manufacturing Resource Planning II) 970 s Material Requirements Planning 980 s II Manufacturing Resource Planning 990 s ERP Enterprise Resource Planning (e.g., SAP system) Forecasting II Master Production Schedule specifies Sequence and Quantity of Products (C) EXAMPLE Jan Feb March Month ERP systems are used from Automotive industry to 00 C 0 C7 80 C 9 C 0 C7 80 C 8 C7 8 C 60 C6 670 C7 0 C9 Pharmaceutical industry
Planning horizon: month to day period S Product C S and ERP Systems Backward (top down) generation of a production plan Forward (push) implementation of the production plan P P The BOM of Product C Note: Kanban systems are pull systems EXAMPLE: Material Requirements Records for the Spider Climber Record Merged Material Requirements for Aluminum Pipe Record Record Record From the previous production stage or storage The Basic (ERP) Record Arithmetic Lead time = period Lot size = 0 Safety stock = 0 0 0 0 0-6 Note: should be >= Safety stock Lead time = period Lot size = 0 Safety stock = 0- + = - = - = = Lead time 0 0 0-6
Question? The Answer Lead time = period Lot size = 0 Safety stock = 0- + = - = - = = 0 0 0-6 0? What 0? What will a 0 do to the record? (safety stock) Lead time = period Lot size = 0 Safety stock = 0 0 0 0 - + = - = - = = -6 0 0 - = 0 Previously omitted New order release Explosion of Requirements for Subassembly S and Part P S Lead time = period Lot size = 0 0 0 0 0-6 0 0 CAPACITY BALANCING P 8 0 00 8 8 8 8-00 Lead time = period Lot size = 00 8 hour period operations to be assigned to machines Part operations Part operation Part operations The result of capacity balancing Machine 0 NOTE: Operation is a set of tasks (e.g., removal of machining features) of a part is performed on one machine Machine 80
Question: Is this Gantt chart a feasible schedule? Machine Machine NO! 0 80 Why Not? Machine Machine Conflict Conflict 0 80 An assignment only due to two conflicts M M 0 Conflict Conflict M M 80 Assignment Feasible Schedule 670 CAPACITY BALANCING MODELS MODEL : No splitting of batches Parameters I set of batches of operations to be processed J set of machines Tij time of processing batch i on machine j Cij cost of processing batch i on machine j bj processing time available on machine j (capacity of machine j) Decision variable if batch i of operations is processed on machine j, j J x ij = 0 otherwise Model : No splitting of batches min C ij x ij i I batch machine x ij = T ij x ij b j i I j J x ij =0,, Min total processing cost One batch per machine constraint Integrality constraint Processing cost Processing time Machining capacity [C ] = ij [Τ ] = ij 7 7.. 6 6 8 7 6 6 T [b j] = [, 0, ] Batch x Machine
Min x + 7x + 7x +.x +... + x Solution For batch i = x +x +x = (row) i = x +x +x = i = x +x +x = i = x +x +x = i = x +x +x = For machine j = x +x + x + x +x<= (column) j = 8x +x + x + 6x +x<= 0 T ij x ij b j j = 7x +6x +x + x +x<= xij = 0, for i = to, j = to x ij = x =, x =, x =, x =, x = Machine : batches, Machine : batch Machine : batches, k ij fj qj Z j z j Model : Limited Tool Magazine No batch splitting space occupied in atool magazine by tools required foroperation i at machine j i I, j J capacityofthetoolmagazineonmachinej,j J penalty forusing the tool magazine on machine j, j J upperlimit on the numberof tool magazines to be used on machine j, j J number of tool magazines required on machine j, j J Model min C ij x ij + q j z j Min total processing + tool magazine penalty cost x ij = i I One batch per machine T ij x ij b j j J Machine capacity constraint k ij x ij f j z j for each j J Tool magazine capacity constraint x ij =0, foreachi I, j J Integrality constraint z j Z j integer for each j J Integrality + bounding constraint Model : Batch Splitting is Allowed tij processing time of each operation from batch i on machine j cij processing cost of an operation from batch i on machine j ai required number of operations in batch i (the size of batch i) yij number of operations of batch i to be processed on machine j min c ij y ij y ij =a i i I t ij y ij b j j J y ij 0 integer, Min total processing cost Required number of operations Machine capacity constraint Integrality constraint [t ij] = () number of operation types I = 0 () number of machine types J = () matrix of machining times 6 7 8 9 0 9.. 8. 0.0. 8.0. 6. Batch - machine..0 matrix 6.. 7. 8. 6.. 9. 9. 8.. 6.8
() vector of batch sizes [ai ] = [8, 7,,,, 0,, 8,, 6] () vector of machine capacity [bj ] = [800, 000, 00] Solution y = 8, y = 7, y =, y =, y = 0, y = 9, y = 6, y6 = 0, y7 =, y8 = 8, y9 =, y0, = 6 Machine : 7 operations (of type ), 9(), 8(8), (9), 6(0) Machine : 8(), (), 6(), 0(6), (7) Machine : (), 0() NOTE: Operations are processed on machines and Line Assignment of tasks to stations Task x station matrix? What leads to more uniform utilization of machine capacity: balancing with batch splitting, or? When the capacity loading Gantt chart would be equivalent to the schedule Gantt chart? balancing without batch splitting? M M 0 Conflict Conflict 80 Assignment If there were NO precedence constraints! Manufacturing M M Schedule 670
8 hour period Manufacturing Example: Two machine schedule Operation Definition is the assignment of operations, jobs, tasks, etc. to resources in time. M 7 M 6 8 0 6 8 9 0 Makespan = Π Π Π Parts Π Π Manufacturing Basic Models Flow Shop Machine Μ Μ Μ Μ Job Shop (More general than the flow shop) Μ Μ Μ Μ Parameters Used in Models tij = processing time of operation oi on machine Mj ri = readiness of operation oi for processing, i.e., the time operation oi s available for scheduling di = due date, i.e., the promised delivery time of operation oi wi = weight (priority), which expresses the relative urgency of operation oi Ci = completion time of operations oi Fi = flow time (the difference between completion time and readiness), Fi = Ci - ri Li = lateness (the difference between completion time and due date), Li = Ci - di Ti = tardiness, Ti = max {Ci - di, 0} Π Parts