Production Planning & Scheduling in Large Corporations 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) Aggregate Planning Product Aggregation Schemes •Items (or Stock Keeping Units - SKU’s): The final products delivered to the (downstream) customers •Families: Group of items that share a common manufacturing setup cost; i.e., they have similar production requirements. •Aggregate Unit: A fictitious item representing an entire product type. •Aggregate Unit Production Requirements: The amount of (labor) time required for the production of one aggregate unit. This is computed by appropriately averaging the (labor) time requirements over the entire set of items represented by the aggregate unit. •Aggregate Unit Demand: The cumulative demand for the entire set of items represented by the aggregate unit. Remark: Being the cumulate of a number of independent demand series, the demand for the aggregate unit is a more robust estimate than its constituent components. Computing the Aggregate Unit Production Requirements Washing machine Model Number A5532 Required labor time (hrs) 4.2 Item demand as % of aggregate demand 32 K4242 4.9 21 L9898 5.1 17 3800 5.2 14 M2624 5.4 10 M3880 5.8 06 Aggregate unit labor time = (.32)(4.2)+(.21)(4.9)+(.17)(5.1)+(.14)(5.2)+ (.10)(5.4)+(.06)(5.8) = 4.856 hrs Aggregate Planning Problem Aggr. Unit Production Reqs Corporate Strategy Aggregate Unit Demand Aggregate Production Plan Aggregate Unit Availability (Current Inventory Position) Aggregate Planning Aggregate Production Plan: •Aggregate Production levels •Aggregate Inventory levels •Aggregate Backorder levels Required Production Capacity Production Capacity Plan: •Workforce level(s) •Overtime level(s) •Subcontracted Quantities Pure Aggregate Planning Strategies 1. Demand Chasing: Vary the Workforce Level PC WC HC FC D(t) P(t) = D(t) W(t) •D(t): Aggregate demand series •P(t): Aggregate production levels •W(t): Required Workforce levels •Costs Involved: •PC: Production Costs •fixed (setup, overhead) •variable (materials, consumables, etc.) •WC: Regular labor costs •HC: Hiring costs: e.g., advertising, interviewing, training •FC: Firing costs: e.g., compensation, social cost Pure Aggregate Planning Strategies 2. Varying Production Capacity with Constant Workforce: PC SC WC OC UC D(t) P(t) S(t) O(t) U(t) W = constant •S(t): Subcontracted quantities •O(t): Overtime levels •U(t): Undertime levels •Costs involved: •PC, WC: as before •SC: subcontracting costs: e.g., purchasing, transport, quality, etc. •OC: overtime costs: incremental cost of producing one unit in overtime •(UC: undertime costs: this is hidden in WC) Pure Aggregate Planning Strategies 3. Accumulating (Seasonal) Inventories: PC WC IC D(t) P(t) I(t) W(t), O(t), U(t), S(t) = constant •I(t): Accumulated Inventory levels •Costs involved: •PC, WC: as before •IC: inventory holding costs: e.g., interest lost, storage space, pilferage, obsolescence, etc. Pure Aggregate Planning Strategies 4. Backlogging: PC WC BC D(t) P(t) B(t) W(t), O(t), U(t), S(t) = constant •B(t): Accumulated Backlog levels •Costs involved: •PC, WC: as before •BC: backlog (handling) costs: e.g., expediting costs, penalties, lost sales (eventually), customer dissatisfaction Typical Aggregate Planning Strategy A “mixture” of the previously discussed pure options: PC WC HC FC OC UC SC IC BC P W H F O U S I B D Io Wo + Additional constraints arising from the company strategy; e.g., •maximal allowed subcontracting •maximal allowed workforce variation in two consecutive periods •maximal allowed overtime •safety stocks •etc. Solution Approaches • Graphical Approaches: Spreadsheet-based simulation • Analytical Approaches: Mathematical (mainly linear programming) Programming formulations Technology Requirements • Effective Data Collection and Maintenance/Data Integrity: There is a need for a monitoring tool that will provide a centralized, correct and efficient representation of the system status at any point in time. – Industry Solution: Manufacturing Execution Systems (MES) • e.g., SAP, Oracle, PeopleSoft • Efficient and Coherent Computerized Planning Tools: There is a need for a suite of computationally efficient planning tools that will effectively address the problems arising at the various levels of the decomposition framework, while maintaining plan consistency across the different levels. – Industry Solution: Production and Supply Chain Planning Software • e.g., I2 Technologies, BAAN, Manugistics Aggregate Planning: Example (Adapted from Chase and Aquilano, “Fundamentals of Operations Management”, Irwin Pub., 1991) Example: Introduction A vacuum cleaner manufacturer tries to “plan ahead” in order to effectively address the seasonal variation appearing in the annual demand of its products. A planning horizon of 6 months is used. The (aggregate) demand forecast for the next six months along the number of working days are as follows: Month Jan. Febr. March April May June Demand Forecast No. of Working Days 1,800 22 1,500 19 1,100 21 900 21 1,100 22 1,600 20 Total: 8,000 units Total: 125 Days Example: Introduction (cont.) The associated cost break-down is as follows: Cost Item Material Inventory Holding Marginal Stockout Marginal Cost of Subcontracting (Cost of buying less material costs) Hiring and Training Layoff Regular Labor cost per hour Overtime labor cost per hour Cost($) $100 per unit $5 per unit per month $10 per unit per month $20 per unit $1000 per worker $1500 per worker $15 per employee per hour $20 per employee per hour Example: Introduction (cont.) Starting and Operating Conditions: Current Inventory 400 units Current Workforce 38 workers Labor hours per unit 5 employee-hours/unit Regular labor time per employee per day 8 hours Inventory at the end of each month 25% of coresp. demand The tabular approach: Computing net requirements Month Jan. Febr. March April May June Beg. Inv. Forc. Dem. End. Inv. Prod. Req. 400 1,800 450 1,850 450 1,500 375 1,425 375 1,100 275 1,000 275 900 225 850 225 1,100 275 1,150 275 1,600 400 1,725 8,000 Plan 1: Demand Chasing Produce exactly the quantities required for each period through regular labor, by varying the workforce size. Month Prod. Req. Req. Labor Hours Work Days Workers Jan. 1,850 9,250 22 53 Febr. 1,425 7,125 19 47 March 1,000 5,000 21 30 April 850 4,250 21 25 May 1,150 5,750 22 33 June 1,725 8,625 20 54 PC 185000 142500 100000 85000 115000 172500 800000 WC 139920 107160 75600 63000 87120 129600 602400 HC 15000 0 0 0 8000 21000 44000 TC= FC 0 9000 25500 7500 0 0 42000 1488400 Plan 1: Demand Chasing (cont.) 2,000 1,800 1,600 1,400 1,200 Series2 1,000 800 Series1 600 400 200 0 1 2 3 4 5 6 Plan 2: Minimum Production Workforce + Subcontracting •Adjust the workforce so that the minimal monthly demand is met through regular labor. •Subcontract all excess demand. Month Prod. Req. Req. Labor Hours Work Days Workers Int. Prod. Subcontr. Quantity PC WC Jan. 1,850 9,250 22 26 915 935 91500 68640 Febr. 1,425 7,125 19 26 790 635 79000 59280 March 1,000 5,000 21 26 874 126 87400 65520 April 850 4,250 21 26 850 0 85000 65520 May 1,150 5,750 22 26 915 235 91500 68640 June 1,725 8,625 20 26 832 893 83200 62400 517600 390000 SC FC 112200 18000 76200 0 15120 0 0 0 28200 0 107160 0 338880 18000 TC= 1264480 Plan 2: Minimum Production Workforce + Subcontracting 2,000 1,800 1,600 1,400 1,200 Series1 1,000 800 Series2 Series3 600 400 200 0 1 2 3 4 5 6 Plan 3: Anticipatory (Seasonal) Inventories + Backlogging •Employ the minimal workforce level that can cover the total production requirements over the considered planning horizon, by working only regular hours. •Take care of the demand fluctuations by building anticipatory inventories and/or backlogging excess demand. Month Prod. Req. Work Days Workers Act. Prod. Inventory Backlogs Jan. 1,800 22 38 1338 0 62 Febr. 1,500 19 38 1155 0 407 March 1,100 21 38 1277 0 230 April 900 21 38 1277 147 0 May 1,100 22 38 1338 385 0 June 1,600 20 38 1215 0 0 8000 125 7600 PC 133800 115500 127700 127700 133800 121500 760000 WC 100320 86640 95760 95760 100320 91200 570000 IC 0 0 0 735 1925 0 2660 TC= BC 620 4070 2300 0 0 0 6990 1339650 Plan 3: Anticipatory (Seasonal) Inventories + Backlogging (cont.) 2,000 1,500 1,000 Series1 500 Series2 Series3 0 1 -500 -1,000 2 3 4 5 6 Analytical Approach: A Linear Programming Formulation min TC = St ( PCt*Pt+WCt*Wt+OCt*Ot+HCt*Ht+FCt*Ft+ SCt*St+ICt*It+BCt*Bt ) s.t. t, Pt+It-1+St = (Dt-Bt)+Bt-1+It t, Wt = Wt-1+Ht-Ft t, 5*Pt 8*WDt*Wt+Ot ( t, It 0.25*Dt ) B6= 0 t, Pt, Wt, Ot, Ht, Ft, St, It, Bt 0 Proactive approaches to demand management • Influencing demand variation so that it aligns to available production capacity: – advertising – promotional plans – pricing (e.g., airline and hotel weekend discounts, telecommunication companies’ weekend rates) • “Counter-seasonal” product (and service) mixing: Develop a product mix with antithetic (seasonal) trends that level the cumulative required production capacity. – (e.g., lawn mowers and snow blowers) 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 (Typical) Analytical Approaches to MPS • Recognizing that switching production from item to item (or family to family) requires significant set-up times, during which the effective productivity of the line is equal to zero, these (formal) approaches try to apportion the planned production capacity to the various items in a way that meets their effective demand while it minimizes the (long-run) number of set-ups. • However, they tend to be technically cumbersome and/or limiting in terms of modeling capability, and therefore, not extensively used in practice. • Example: – Textbook, Section 5.7.1 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 McGuinnes & Co. Microbrewery Case Study Company Description • One of the three largest microbreweries in Atlanta area • Company started in 1995 • A 12,000sq. ft. production facility and warehouse in the Chattahoochee Industrial Park • The company is run by its owner, Mr. McGuinness • Three full-time and two-part time employees, and occasionally hires part-time help • Last year’s sales: > 35,000 cases => > $180,000 • Average weekly sales: 500-800 cases Company Products • Pale Ale: The oldest company product. Since May 2000, this product is also offered in the NY and Boston areas, through a major national distributor. • Product monthly sales over the last four years (1997-2000) in cases of beer: Sales 1600 1400 1200 1000 800 Sales 600 400 200 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 Company Products • Stout: A rather new product, offered only in the last 14 months. • Monthly sales in cases for the last 14 months: Sales 700 600 500 400 Sales 300 200 100 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Company Products • Winter Ale: A seasonal beer, offered primarily during the winter period (from October to April). • Product monthly sales over the last 4 years: Sales 1400 1200 1000 800 Sales 600 400 200 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 Company Products • Summer Brew: A seasonal beer offered primarily during the summer season. A new product offered over the last two years. • Product monthly sales in cases over the last two years: Sales 700 600 500 400 Sales 300 200 100 0 1 3 5 7 9 11 13 15 17 19 21 23 Company Products • Octoberfest: An “image promoter” for the company, offered once a year, during the Octoberfest season. The product is delivered to the company distributors and the local restaurants only once a year, in late September or early October. • Product annual sales in cases for the last four years: Sales 450 400 350 300 250 200 150 100 50 0 Sales 1 2 3 4 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 Company Challenges • Company production scheduled by its owner, in an ad-hoc fashion • Sustained growth strains the company production capacity • There is a dire need for a systematic methodology that will allow the company and its owner to – foresee the expected production requirements over a certain planning horizon; – organize appropriately its production activity based on the forecasted demand; – systematically manage its growth by adjusting appropriately its capacity. • Eventually, this methodology should be offered to the company in a set of user-friendly tools. 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 Advantages and Disadvantages of the Empirical Approach • Advantages: – Easy to present and motivate – Provides clear visibility to the problems and their underlying causes – Supports effective and efficient “what-if” analysis – Provides modeling flexibility • Disadvantages – No guarantee for optimality or exhaustive search for a feasible solution – Hard to trace for more complex production environments Modeling the Inventory Spoilage # 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: 6 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% 45 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 45 -40 40 -40 40 -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 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 Materials Requirements Planning (MRP) 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 (J. Heizer and B. Render “Operations Management”, 6th Ed. Prentice Hall) 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 Capacity Planning (Example) Available labor hours 150 100 50 1 2 3 4 5 6 7 8 Periods 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 Some Lot Sizing Heuristics • Economic Order Quantity (EOQ): Compute a lot size using the EOQ formula with the demand rate D set equal to the average of the demand values 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. Shop floor-level Production Control / Scheduling General Problem Definition Determine the timing of – the releases of the various production lots on the shop-floor and – the allocation to them of the system resources required for the execution of their various operations so that the production plans decided at the tactical planning - i.e., MPS & MRP - level are observed as close as possible. A modeling absrtaction • M: number of machine types / workstations. • N: number of jobs to be scheduled. • Job routing: an ordered list / sequence of machines that a job needs to visit in order to be completed. • Operation: a single processing step executed during the job visit to a machine. • P_j: the set of operations in the routing of job j. • t_kj: the processing time for the k-th operation of job j. • d_j: due date for job j. • r_j: the release date of job j, i.e., the date at which the material required for starting the job processing will be available. Example J_2 J_1 W_1 W_2 W_q J_N W_i W_M Problem variations • Based on job routing: – job shop: each job has an arbitrary route – flow shop: all jobs have the same route, but different operational processing times – re-entrant flow shop: some machine(s) is visited more than once by the same job – flexible job shop / flow shop: each operation has a number of machine alteratives for its execution • Based on the operational processing times: – deterministic: the various processing times are known exactly – stochastic: the processing times are known only in distribution • Based on the possibility of pre-emption: – pre-emptive: the execution of a job on a machine can be interrupted upon the arrival of a new job – non-preemptive: each machine must complete its currently running job before switching to another one. • Based on the considered performance objective(s) Performance-related job and schedule attributes • job completion time: C_j • schedule makespan: max_j C_j • job lateness: L_j = C_j - d_j (notice that, by definition, job lateness can be either positive or negative - in which case that the job is finished earlier than its due date) • job tardiness: T_j = max (0, L_j) = [L_j]+ • job flow time: F_j =C_j - r_j (i.e., the amount of time the job spends on the shop-floor) • job tardy index: TI_j = 1 if job is tardy; 0 otherwise. • Number of tardy jobs: NT • job importance weight: w_j (the higher the weight, the more important the job) Performance Criteria Job Attribute Lateness Tardiness Flow time Tardy index Completion min total S_j L_j S_j T_j S_j F_j NT S_j C_j min weighted total S_j w_j*L_j S_j w_j*T_j S_j w_j*F_j min max max_j L_j max_j T_j max_j F_j min weighted max max_j w_j*L_j max_j w_j*T_j max_j w_j*F_j S_j w_j*C_j max_j C_j max_j w_j*C_j Example Jon number Due Date Oper. #1 Oper. #2 Oper. #3 Oper. #4 Oper. #5 1 17 (1,2) (2,4) (4,3) (5,3) 2 18 (1,4) (3,2) (2,6) (4,2) (5,3) 3 19 (2,1) (5,4) (1,3) (3,4) (2,2) 4 17 (2,4) (4,2) (1,2) (3,5) 5 20 (4,5) (5,3) (1,7) A feasible schedule and its Gantt Chart Machine 1 2 3 4 5 5 Job 1 Job 2 10 Job 3 15 Job 4 20 Time Job 5 Schedule Performance Evaluation Job 1 2 3 4 5 Total average max d_j 17 18 19 17 20 C_j 15 20 17 18 18 F_j 15 20 17 18 18 L_j -2 2 -2 1 -2 T_j 0 2 0 1 0 TI_j 0 1 0 1 0 88 17.6 20 88 17.6 20 -3 -0.6 2 3 0.6 2 2 Solution Approaches • Analytical (Mixed Integer Programming) formulations: Notoriously difficult to solve even for relatively small configurations • Heuristics: In the scheduling literature, the applied heuristics are known as dispatching rules, and they determine the sequencing of the various jobs waiting upon the different machines, based upon job attributes like – the required processing times – due dates – priority weights – slack times, defined as d_j - (current time + total remaining processing time) – etc. Course Objectives • Demonstrate the combinatorial nature of the problem and the sources of the problem complexity, by investigating the single-machine scheduling problem. • Introduce some basic dispatching rules used in practice, and discuss the motivational logic behind them.