Detailed Production Planning & Shop-Floor Control Dealing with the Problem Complexity through Decomposition Corporate Strategy Aggregate Unit Demand Aggregate Planning (Plan. Hor.: 1 year, Time Unit: 1 month) Capacity and Aggregate Production Plans End Item (SKU) Demand Master Production Scheduling (Plan. Hor.: a few months, Time Unit: 1 week) SKU-level Production Plans Manufacturing and Procurement lead times Materials Requirement Planning (Plan. Hor.: a few months, Time Unit: 1 week) Component Production lots and due dates Part process plans Shop floor-level Production Control (Plan. Hor.: a day or a shift, Time Unit: real-time) Disaggregation and Master Production Scheduling (MPS) The (Master) Production Scheduling Problem Capacity Company Product Economic Consts. Policies Charact. Considerations Placed Orders Forecasted Demand Current and Planned Availability, eg., •Initial Inventory, •Initiated Production, •Subcontracted quantities Master Production Schedule: When & How Much to produce for each product MPS Planning Horizon Time unit Capacity Planning MPS Example: Company Operations Grain cracking (1 milling machine) Fermentation (3 40-barrel ferm. tanks) Mashing (1 mashing tun) Boiling (1 brew kettle) Bottling (1 bottling station) Filtering (1 filter tank) Fermentation Times: Brew Pale Ale Stout Ferm. Time 2 weeks 3 weeks Winter Ale 2 weeks Summer Brew 2 weeks Octoberfest 8-10 weeks Example: Implementing the Empirical Approach in Excel # Fermentors: 1 Microbrewery Performance Week # Fermentors Req'd Feasible Loading? Min # Fermentors Req'd Fermentor Utilization Total Spoilage Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 0 Unit Cap: 200 1 0 2 0 3 0 2 0% 0 2 0% 0 2 0% 0 Fermentation Time: 0 1 45 200 1 100 255 Fermentation Time: 0 1 35 150 2 2 115 3 Shelf Life: 20 4 0 5 0 6 0 7 0 8 0 9 0 10 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 4 5 6 7 8 9 10 50 40 40 40 40 40 40 40 40 205 165 125 85 45 5 -35 35 -40 40 -40 40 3 2 3 4 5 6 7 8 9 10 40 30 30 40 40 40 40 50 50 75 45 15 -25 25 -40 40 -40 40 -40 40 -50 50 -50 50 Computing Inventory Positions and Net Requirements Inventory Position: IPi = max{IPi-1,0}+ SRi+BNRi -Di (Material Balance Equation) (IPi-1)+ SRi+BNRi i Di IPi Net Requirement: NRi = abs(min{0, IPi}) Problem Decision Variables: Scheduled Releases # Fermentors: 1 Microbrewery Performance Week # Fermentors Req'd Feasible Loading? Min # Fermentors Req'd Fermentor Utilization Total Spoilage Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 0 Unit Cap: 200 1 0 2 0 3 0 2 0% 0 2 0% 0 2 0% 0 Fermentation Time: 0 1 45 200 1 100 2 2 255 3 Shelf Life: 20 4 0 5 0 6 1 7 1 8 0 9 0 10 0 2 0% 0 2 0% 0 2 100% 0 2 100% 0 2 0% 0 2 0% 0 2 0% 0 6 7 8 4 5 9 10 50 40 40 40 40 40 40 40 40 205 165 125 85 45 5 165 125 85 200 200 1 1 Fermentation Time: 0 1 35 150 115 3 2 3 4 5 6 1 7 8 9 10 40 30 30 40 40 40 40 50 50 75 45 15 -25 25 -40 40 -40 40 -40 40 -50 50 -50 50 Testing the Schedule Feasibility # Fermentors: 1 Microbrewery Performance Week # Fermentors Req'd Feasible Loading? Min # Fermentors Req'd Fermentor Utilization Total Spoilage Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 0 Unit Cap: 200 1 0 2 1 3 1 2 0% 0 2 100% 0 2 2 Fermentation Time: 0 1 45 200 1 100 255 Shelf Life: 20 4 1 5 0 6 1 2 100% 0 2 100% 0 2 0% 0 3 4 5 8 1 9 1 10 0 2 100% 0 7 2 NO 2 200% 0 2 100% 0 2 100% 0 2 0% 0 6 7 8 9 10 50 40 40 40 40 40 40 40 40 205 165 125 85 45 5 165 125 85 200 200 1 1 Fermentation Time: 0 1 35 150 115 3 2 3 4 5 6 1 7 8 9 10 40 30 30 40 40 40 40 50 50 75 45 15 175 135 95 55 5 155 200 200 1 1 1 1 200 200 1 1 1 1 Fixing the Original Schedule # Fermentors: 1 Microbrewery Performance Week # Fermentors Req'd Feasible Loading? Min # Fermentors Req'd Fermentor Utilization Total Spoilage Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 0 Unit Cap: 200 1 0 2 1 3 1 2 0% 0 2 100% 0 2 2 Fermentation Time: 0 1 45 200 1 100 255 Shelf Life: 20 4 1 5 1 6 1 7 1 8 1 9 1 10 0 2 100% 0 2 100% 0 2 100% 0 2 100% 0 2 100% 0 2 100% 0 2 100% 0 2 0% 0 3 4 5 6 7 8 9 10 50 40 40 40 40 40 40 40 40 205 165 125 85 45 205 165 125 85 200 200 1 1 Fermentation Time: 0 1 35 150 115 3 2 3 4 5 1 6 7 8 9 10 40 30 30 40 40 40 40 50 50 75 45 15 175 135 95 55 5 155 200 200 1 1 1 1 200 200 1 1 1 1 Infeasible Production Requirements # Fermentors: 1 Microbrewery Performance Week # Fermentors Req'd Feasible Loading? Min # Fermentors Req'd Fermentor Utilization Total Spoilage Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 0 Unit Cap: 200 1 1 2 1 3 1 2 100% 0 2 100% 0 2 2 Fermentation Time: 0 1 45 100 55 Shelf Life: 20 4 1 5 0 6 0 7 0 8 0 9 0 10 0 2 100% 0 2 100% 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 2 0% 0 3 4 5 6 7 8 9 10 50 200 1 40 40 40 40 40 40 40 40 205 165 125 85 45 5 -35 35 -40 40 -40 40 1 Fermentation Time: 0 1 35 150 115 3 2 3 4 5 6 7 8 9 10 40 40 40 40 40 40 40 50 50 75 35 -5 5 160 120 80 40 -10 10 -50 50 200 200 1 1 1 1 A feasible schedule with spoilage effects # Fermentors: 1 Microbrewery Performance Week # Fermentors Req'd Feasible Loading? Min # Fermentors Req'd Fermentor Utilization Total Spoilage Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 0 Unit Cap: 200 1 1 2 1 3 1 2 100% 0 2 100% 0 2 2 Fermentation Time: 0 1 45 200 1 100 255 Shelf Life: 6 4 1 5 1 6 0 7 1 8 1 9 1 10 0 2 100% 0 2 100% 0 2 100% 0 2 0% 0 2 100% 45 2 100% 0 2 100% 0 2 0% 5 3 4 5 6 7 8 9 10 50 40 40 40 40 40 40 40 40 205 165 125 85 245 45 160 120 80 40 200 200 1 1 Fermentation Time: 0 1 35 150 115 3 2 3 4 1 5 6 7 8 9 10 40 30 30 40 40 40 40 50 50 75 45 215 175 135 95 55 5 5 150 200 200 1 1 1 1 200 200 1 1 1 1 Computing Spoilage and Modified Inventory Position Spoilage: SPi = max{0, IPi-1-(SRi-1+SRi-2+…+SRi-sl+1) -(BNRi-1+BNRi-2+…+BNRi-sl+1)} Inventory Position: IPi = max{IPi-1,0}+ SRi+BNRi -Di-SPi (Material Balance Equation) (IPi-1)+ SRi+BNRi i Di SPi IPi The Driving Logic behind the Empirical Approach Demand Availability: •Initial Inventory Position •Scheduled Receipts due to initiated production or subcontracting Compute Future Inventory Positions Net Requirements Future inventories Lot Sizing Scheduled Releases Resource (Fermentor) Occupancy Feasibility Testing Product i Schedule Infeasibilities Master Production Schedule Revise Prod. Reqs MRP II: Manufacturing Resource Planning & Scheduling The “MRP Explosion” Calculus BOM Lead Times Planned Order Releases MPS Current Availabilities Lot Sizing Policies MRP Priority Planning Example: The (complete) MRP Explosion Calculus Item BOM: Alpha B(1) D(2) C(1) C(2) E(1) E(1) F(1) F(1) Item Alpha B C D E F Gross Reqs for Alpha Period Gross Reqs. Item Levels: Level 0: Alpha Level 1: B Level 2: C, D Level 3: E, F Lead Time 1 2 3 1 1 1 6 7 8 9 50 Current Inv. Pos. 10 20 0 100 10 50 10 11 12 50 13 100 The “MRP Explosion” Calculus External Demand Level 0 Initial Inventories Level 1 Capacity Planning Level 2 Scheduled Receipts Level N Gross Requirements Planned Order Releases (borrowed from Heizer and Render) Computing the item Scheduled Releases Item C Period Gross Requirements Scheduled Receipts Inventory Position: 20 Net Requirements Planned Sched. Receipts Planned Sched. Releases 1 2 3 20 20 40 40 4 40 5 6 12 7 10 40 28 18 72 Safety Stock Requirements Parent Sched. Rel. Item External Demand Synthesizing item demand series Gross Reqs Projecting Net Inv. Positions Reqs and Net Reqs. Scheduled Receipts Initial Inventory 8 9 90 18 -72 72 72 10 11 75 0 -75 75 75 12 0 75 Lot Sizing Policy Lot Sizing Lead Time Planned Order Receipts TimePhasing Planned Order Releases Lot Sizing • If affordable, a lot-for-lot (L4L) policy will incur the lowest inventory holding costs and it will maintain a smoother production flow. • Possible reasons for departure from a L4L policy: – High set up times and costs => need for serial process batching to control the capacity losses – Processes that require a large production volume in order to maintain a high utilization (e.g., fermentors, furnaces, etc.) => need for parallel process batching • Selection of a pertinent process batch size – It must be large enough to maintain feasibility of the production requirements – It must control the incurred • inventory holding costs, and/or • part delays (this is a measure of disruption to the production flow caused by batching) • Move or transfer batches: The quantities in which parts are moved between the successive processing stations. – They should be as small as possible to maintain a smooth process flow Some Lot Sizing Methods employed in the traditional MRP framework • Main focus: Balance set-up and holding costs • Wagner-Whitin Algorithm for dynamic Lot Sizing • Economic Order Quantity (EOQ): Compute a lot size using the EOQ formula with the demand rate D set equal to the average of the net requirements observed over the considered planning horizon. • Periodic Order Quantity (POQ): Compute T = round(EOQ/D), and every time you schedule a new lot, size it to cover the net requirements for the subsequent T periods. • Silver-Meal (SM): Every time you start a new lot, keep adding the net requirements of the subsequent periods, as long as the average (setup plus holding) cost per period decreases. • Least Unit Cost (LUC): Every time you start a new lot, keep adding the net requirements of the subsequent periods, as long as the average (setup plus holding) cost per unit decreases. • Part Period Balancing (PPB): Every time you start a new lot, add a number of subsequent periods such that the total holding cost matches the lot set up cost as much as possible. Optimal Parallel Batching: A factory physics approach Model Parameters: k: (parallel) batch size ra: arrival rate (parts/hr) t: batch processing time (hrs) B: maximum batch size ca: CV of inter-arrival times ce: CV for effective batch processing time Then CT = WTBT + CTq+t 1 1 k 1 1 (k 1)k k 1 WTBT [0 ... ] k ra ra kra 2 2ra CTq ca2b ce2 2 k a2 ca2 ra u 2 t ; cab ; u t 1 k ra t 1 u (kta ) 2 k k From the above, Remark: Notice that CT as k 1 ca2 / k ce2 u k 1 ca2 / k ce2 u CT t t [ 1]t u1 but also as u0 ! 2ra 2 1 u 2ku 2 1 u Determining an “optimal” batch size Let um rat . Then u = um / k k = um / u . Substituting this expression for k in the expression for CT, we get: um / u 1 ca2u / um ce2 u k 1 ca2 / k ce2 u CT [ 1]t [ 1]t 2ku 2 1 u 2um 2 1 u Recognizing that ca2u um ca2 k k 0 , we set ca2u um 0 and we get 1 u 2 ce2 u 1 1 y (u ) 1 y ( u ) ( c ) CT [ 1]t [ 1]t where e u 1 u 2u 2um 2 1 u 2 2um To minimize CT, it suffices to minimize y(u). This can be achieved as follows: 1 ce2 dy (u ) (1 u ) 2 ( ce2 )u 2 1 2 2 * 0 ( c 1 ) u 2 u 1 0 u e du u 2 (1 u ) 2 ce2 1 1 ce2 1 and 0 u * which further implies that k * ra t (1 ce ) ra t ce 1 Remark: If ce2 0, the term in the original expression for u* will significant. In that case, ca2 1 * we can set and obtain u* and k* as before. um 1 ce Finite-Capacity Planning & Scheduling in the MRP II / ERP context: Load Reports (Example) Available resource time 150 100 50 1 2 3 4 5 6 7 8 Periods Finite-Capacity Planning & Scheduling in the MRP II / ERP context: More Systematic Approaches • Bottleneck-based scheduling in a cellular manufacturing context (Goldratt’s Theory of Constraints approach): – Each part (family) has its own production cell with a well-defined bottleneck resource. – Production is scheduled on the bottleneck resource and the schedule for the other resources are organized around this schedule by taking consideration the expected cycle times. – Typically, a “cushion” of extra workload is maintained at the bottleneck in order to prevent its starvation, in case of any disruptions in the upstream processes. – If the bottleneck supports the production of more than one part types, a “singlemachine” scheduling problem arises naturally. This is addressed by selecting an appropriate dispatching rule. • Earliest Due Date (EDD) => minimizes maximum lateness (tardiness) • Least slack (LS), where slack = difference between job due date and expected completion time => tend to reduce average tardiness • Shortest Processing Time (SPT) => minimizes average flowtime at the bottleneck, and (by Little’s law) average WIP • Other heuristics addressing different problem variations including weighted performance measures, non-zero release times, etc. Finite-Capacity Planning & Scheduling in the MRP II / ERP context: More Systematic Approaches (cont.) • • • • Cases where the previous approach is not effective: – There are more than one capacity-constrained resource – Bottlenecks are shifting depending on the product mix – There are operations involving parallel process batching – Process routes are non-linear (e.g., due to routing flexibility, re-entrance, extensive need for rework) Remark: The semiconductor manufacturing operational context is a typical example of all of the above. A more global view of the system operations is necessary in order to support effective and efficient scheduling. Possible approaches – Employ a set of pertinently selected dispatching rules at the different (critical) resources, and assess its efficacy through simulation (possibly maintain a bank of such rules for different operational conditions – meta-heuristics) – Generate efficient (not necessarily optimal) global schedules by employing an approach that searches for such a schedule in the space of feasible schedules Typical approaches employed in the solution of the job shop scheduling problem • • • Branch & Bound (B&B): Constructs all possible schedules incrementally, fathoming options that are clearly suboptimal to some other options. Can generate optimal schedules but it is very time consuming. Beam search: Similar to B&B, but it employs additional heuristics to increase fathoming. Local search techniques: Given an initially constructed schedule, try to identify an improved schedule that is obtained from the original one through a localized change (e.g., through the change of the order of two jobs on a single machine); repeat. Also, need a mechanism to avoid local optima. – Simulated annealing: Seeks to avoid local optima by maintaining a non-zero probability for transitioning to an inferior schedule. However, this probability is reduced with the passage of time. – Tabu search: Seeks to avoid local optima by pronouncing certain schedule changes as taboo (these changes are apparent improvements that might attract the schedule back to a local optimum) – Genetic algorithms: Maintains an entire set of schedules at each iteration, and it updates this set by replacing schedules of inferior performance with new schedules resulting from the “combination” of the most efficient schedules currently available; the synthesis of such new schedules is known as “crossover”. Also, “mutation” provides additional schedules resulting from the local modification of some single schedules. Pegging and Bottom-up Replanning (borrowed from Heizer and Render) Some Limitations of MRP-based Planning • The employment of fixed nominal lead times – This problem is mitigated in case of a stable operational environment where past experience and / or approximate formal models can provide insight for setting lead times – Lead time assessment is also facilitated by a well-structured, cellular shopfloor • Possible system nervousness due to re-planning and the applied lot sizing policies – Potential remedies • Firm orders • Time fences • L4L planning whenever possible • Lack of an inherent mechanism for detecting and managing shop-floor congestion – a purely “Push” approach – However, it is possible to combine the planning visibility offered by the MRP explosion calculus with more sophisticated production control mechanisms that take advantage of the existing technology of Manufacturing Execution Systems (MES). The Revolution of Just-In-Time (JIT) and Lean Manufacturing The essence of the JIT revolution and Lean Manufacturing • Try to reduce the system operational inefficiencies and the resulting waste by identifying the sources of these inefficiencies and working proactively to eliminate them as much as possible. • In the emerging philosophy, inventories should be carefully controlled and they should not function as the mechanism for accommodating the system inefficiencies => Just-In-Time (JIT) • The aforementioned effort should be an ongoing process towards continuous improvement rather than one-time/shot effort. Targeting the sources of inefficiency – input • unreliable quality of raw material • unreliable delivery times – operation • unreliable processes in terms of – required processing times – process outcome • complex interacting process flows • long set-up times • unreliable (irresponsive and irresponsible) personnel – output • Highly variable production requirements in terms of – production volume, and – production scope JIT enabling factors and practices • Emphasis on quality at both the process and the supply side by promoting – Statistical Process Control (SPC) theory and practice – Quality certification programs – Deployment of stable automated processes and foolproof practices (like checklists and machines gauges) to guarantee the desired performance – Employee empowerment and knowledge management (quality circles) • “Tightening” of the supply chain by promoting – Long-lasting and trustful relationships between the different parties in the supply chain – Timely and reliable information flow across these parties that takes advantage of modern IT technologies, like • Electronic Data Interchange (EDI), and e-commerce practices • Real-time communications and global positioning systems – Promotion of vendor owned and managed inventory practices that • Establish economies of scale and protection to variability through pooling • Enhance the demand visibility across the entire supply chain. JIT enabling factors and practices (cont.) • Simplification of the process flows by promoting cellular manufacturing practices – Dedication of separate production cells to product families with similar processing requirements – U-shaped layouts for facilitating employee sharing – Employee cross-training for more flexible and higher utilization • Set-up time reduction through – – – – • The adoption of cellular manufacturing Externalization of set-up times Employment of flexible processes and pertinent auxiliary equipment like pertinent fixtures Part standardization Focus on repetitive manufacturing and promote the establishment of stable production rates through – Smoothing of the aggregate production requirements by appropriate quota setting – Pertinent sequencing of the final assembly to support a desired product mix – Use of buffer capacity (planned overtime) to protect against slippages from the target production rates – Component standardization Institutionalizing the JIT practice through the KANBAN-based Production Authorization Mechanism Station 1 Station 2 Station 3 Remarks: • The KANBANS at each station cap the WIP at that station and they offer a natural mechanism for reacting to various disruptions taking place in the system operation. • In particular, production at each station is “pulled” as a result of the downstream activity rather than “pushed” by an MPS-generated schedule. • The KANBANS at each station should be set at a level that enables production at the target rate • A safe approach to set the KANBAN level at each station is by setting it initially to the “historical” WIP level, and subsequently decrease it incrementally while observing its impact on the production rate • Frequent KANBAN changes are ineffective, since the production rate of the line is rather insensitive to these changes, and they should be avoided From KANBAN to CONWIP Station 1 Station 2 Station 3 FGI Why? • It maintains the WIP cap but at the same time it offers more operational flexibility than KANBAN. • The unrestricted flow of WIP within the line enables better utilization of the (shifting) bottleneck, and therefore, higher throughput. • Less stress for the line operators since it enables them to work at the “natural pace” of the line. • It enables more flexible scheduling of the line, since in the CONWIP operational context, WIP is interpreted more generally as some aggregate amount of workload loaded into the line (even measured in time-units, rather than number of parts) – new parts are pulled from an available “work backlog” according to a pertinent set of dispatching rules. • Easier to analyze and parameterize through the theory of closed-queueing networks. • Remark: While the above features of CONWIP mitigate the rigidity of the KANBAN-based shop-floor control, its “pull” nature still implies that it requires stable target production rates in order to function well, and therefore, it is appropriate for repetitive manufacturing contexts. A CONWIP-based “pull” framework (borrowed from Hopp & Spearman) Course Outline • 1. Inventory Control Theory – – – – The basic EOQ model and some of its variants Replenishment coordinating approaches Dynamic Lot Sizing Statistical Inventory Control Models • The News Vendor Model • The Base Stock Model • The (Q,r) Model – An introduction to multi-echelon models 2. Factory Physics: A queueing-theoretic analysis of serial production systems – Characterizing a flow line as a queueing system – Some fundamental relationships between the line attributes and its performance indices – The nature, role and impact of the operational variability – An introduction to logical control of production systems Course Outline • 3. Integrating the Factory Physics insights to the OM practice – Process Design, Capacity Planning and Line Balancing – Hierarchical Production Planning • • • • The classical hierarchical planning framework Forecasting Aggregate Planning Master Production Scheduling (MPS) and Material Requirement Planning (MRP), and their limitations • Shop floor scheduling – Just-in-Time (JIT) and Lean Manufacturing • • • • • The JIT philosophy JIT practices and the KANBAN production authorization system Shop-floor control based on the CONWIP production authorization model Production Planning and Scheduling for CONWIP-controlled production systems The JIT limitations Thanks for being in the class! Have a Nice Holiday! But in the meantime, please, give me your feedback in an evaluation! :)