Production-related Decision Making in Large Corporations Production-related Decision Making in Large Corporations (borrowed from Heizer and Render) Product and Process Design, Sourcing, Equipment Selection and Capacity Planning Major Topics • Product and Process Design • Documenting Product and Process Design • Sourcing Decisions: – A simple “Make or Buy” model – Decision Trees: A scenario-based approach • Equipment Selection and Capacity Planning Product Selection and Development Stages (borrowed from Heizer & Render) Quality Function Deployment (DFD) and the House of Quality • QFD: The process of – Determining what are the customer “requirements” / “wants”, and – Translating those desires into the target product design. • House of quality: A graphic, yet systematic technique for defining the relationship between customer desires and the developed product (or service) House of Quality Example (borrowed from Heizer & Render) The “House of Quality” Chain (borrowed from Heizer & Render) Concurrent Engineering: The current approach for organizing the product and process development • The traditional US approach (department-based): Research & Development => Engineering => Manufacturing => Production Clear-cut responsibilities but lack of communication and “forward thinking”! • The currently prevailing approach (cross-functional team-based): Product development (or design for manufacturability, or value engineering) teams: Include representatives from: – Marketing – Manufacturing – Purchasing – Quality assurance – Field service – (even from) vendors Concurrent engineering: Less costly and more expedient product development The time factor: Time-based competition • Some advantages of getting first a new product to the market: – Setting the “standard” (higher market control) – Larger market share – Higher prices and profit margins • Currently, product life cycles get shorter and product technological sophistication increases => more money is funneled to the product development and the relative risks become higher. • The pressures resulting from time-based competition have led to higher levels of integrations through strategic partnerships, but also through mergers and acquisitions. Additional concerns in contemporary product and process design – promote robust design practices Robustness: the insensitivity of the product performance to small variations in the production or assembly process => ability to support product quality more reliably and cost-effectively. – Control the product complexity – Improve the product maintainability / serviceability – (further) standardize the employed components Modularity: the structuring of the end product through easily segmented components that can also be easily interchanged or replaced => ability to support flexible production and product customization;increased product serviceability. – Improve job design and job safety – Environmental friendliness: safe and environmentally sound products, minimizing waste of raw materials and energy, complying with environmental regulations, ability for reuse, being recognized as good corporate citizen. Documenting Product Designs • Engineering Drawing: a drawing that shows the dimensions, tolerances, materials and finishes of a component. (Fig. 5.9) • Bill of Material (BOM): A listing of the components, their description and the quantity of each required to make a unit of a given product. (Fig. 5.10) • Assembly drawing: An exploded view of the product, usually via a three-dimensional or isometric drawing. (Fig. 5.12) • Assembly chart: A graphic means of identifying how components flow into subassemblies and ultimately into the final product. (Fig. 5.12) • Route sheet: A listing of the operations necessary to produce the component with the material specified in the bill of materials. • Engineering change notice (ECN): a correction or modification of an engineering drawing or BOM. • Configuration Management: A system by which a product’s planned and changing components are accurately identified and for which control of accountability of change are maintained Documenting Product Designs (cont.) • Work order: An instruction to make a given quantity (known as production lot or batch) of a particular item, usually to a given schedule. • Group technology: A product and component coding system that specifies the type of processing and the involved parameters, allowing thus the identification of processing similarities and the systematic grouping/classification of similar products. Some efficiencies associated with group technology are: – Improved design (since the focus can be placed on a few critical components – Reduced raw material and purchases – Improved layout, routing and machine loading – Reduced tooling setup time, work-in-process and production time – Simplified production planning and control Engineering Drawing Example (borrowed from Heizer & Render) Bill of Material (BOM) Example (borrowed from Heizer & Render) Assembly Drawing & Chart Examples (borrowed from Heizer & Render) Operation Process Chart Example (borrowed from Francis et. al.) Route Sheet Example (borrowed from Francis et. al.) “Make-or-buy” decisions • Deciding whether to produce a product component “inhouse”, or purchase/procure it from an outside source. • Issues to be considered while making this decision: – Quality of the externally procured part – Reliability of the supplier in terms of both item quality and delivery times – Criticality of the considered component for the performance/quality of the entire product – Potential for development of new core competencies of strategic significance to the company – Existing patents on this item – Costs of deploying and operating the necessary infrastructure A simple economic trade-off model for the “Make or Buy” problem Model parameters: • c1 ($/unit): cost per unit when item is outsourced (item price, ordering and receiving costs) • C ($): required capital investment in order to support internal production • c2 ($/unit): variable production cost for internal production (materials, labor,variable overhead charges) • Assume that c2 < c1 • X: total quantity of the item to be outsourced or produced internally Total cost as a function of X c1*X C+c2*X C X0 = C / (c1-c2) X Example: Introducing a new (stabilizing) bracket for an existing product • Machine capacity available • Required “infrastructure” for in-house production – new tooling: $12,500 – Hiring and training an additional worker: $1,000 • Internal variable production (raw material + labor) cost: $1.12 / unit • Vendor-quoted price: $1.55 / unit • Forecasted demand: 10,000 units/year for next 2 years X0 = (12,500+1,000)/(1.55-1.12) = 31,395 > 20,000 Buy! Evaluating Alternatives through Decision Trees • Decision Trees: A mechanism for systematically pricing all options / alternatives under consideration, while taking into account various uncertainties underlying the considered operational context. • Example – – – – An engineering consulting company (ECC) has been offered the design of a new product.The price offered by the customer is $60,000. If the design is done in-house, some new software must be purchased at the price of $20,000, and two new engineers must be trained for this effort at the cost of $15,000 per engineer. Alternatively, this task can be outsourced to an engineering service provider (ESP) for the cost of $40,000. However, there is a 20% chance that this ESP will fail to meet the due date requested by the customer, in which case, the ECC will experience a penalty of $15,000. The ESP offers also the possibility of sharing the above penalty at an extra cost of $5,000 for the ECC. Find the option that maximizes the expected profit for the ECC. Decision Trees: Example 10K 60K-20K-2*15K=10K 1 17K 17K 0.8 60K-40K=20K 2 0.2 60K-40K-15K=5K 3 13.5K 0.8 0.2 60K-45K=15K 60K-45K-7.5K=7.5K Technology selection • The selected technology must be able to support the quality standards set by the corporate / manufacturing strategy • This decision must take into consideration future expansion plans of the company in terms of – production capacity (i.e., support volume flexibility) – product portfolio (i.e., support product flexibility) • It must also consider the overall technological trends in the industry, as well as additional issues (e.g., environmental and other legal concerns, operational safety etc.) that might affect the viability of certain choices • For the candidates satisfying the above concerns, the final objective is the minimization of the total (i.e., deployment plus operational) cost Production Capacity • Design capacity: the “theoretical” maximum output of a system, typically stated as a rate, i.e., product units / unit time. • Effective capacity: The percentage of the design capacity that the system can actually achieve under the given operational constraints, e.g., running product mix, quality requirements, employee availability, scheduling methods, etc. • Plant utilization = actual prod. rate / design capacity • Plant efficiency = actual prod. rate / (effective capacity x design capacity) • Notice that actual prod. rate = (design capacity) x (utilization) = (design capacity) x (effective capacity) x (efficiency) Capacity Planning • Capacity planning seeks to determine – the number of units of the selected technology that needs to be deployed in order to match the plant (effective) capacity with the forecasted demand, and if necessary, – a capacity expansion plan that will indicate the time-phased deployment of additional modules / units, in order to support a growing product demand, or more general expansion plans of the company (e.g., undertaking the production of a new product in the considered product family). • Frequently, technology selection and capacity planning are addressed simultaneously, since the required capacity affects the economic viability of a certain technological option, while the operational characteristics of a given technology define the production rate per unit deployed and aspects like the possibility of modular deployment. Quantitative Approaches to Technology Selection and Capacity Planning • All these approaches try to select a technology (mix) and determine the capacity to be deployed in a way that it maximizes the expected profit over the entire life-span of the considered product (family). • Expected profit is defined as expected revenues minus deployment and operational costs. • Typically, the above calculations are based on net present values (NPV’s) of the expected costs and revenues, which take into consideration the cost of money: NPV = (Expense or Revenue) / (1+i)N where i is the applying interest rate and N the time period of the considered expense. • Possible methods used include: – Break-even analysis, similar to that applied to the “make or buy” problem, that seeks to minimizes the total (fixed + variable) cost. – Decision trees which allow the modeling of problem uncertainties like uncertain market behavior, etc., and can determine a strategy as a reaction to these unknown factors. – Mathematical Programming formulations which allow the optimized selection of technology mixes. Selecting the Process Layout Operation Process Chart Example for discrete part manufacturing (borrowed from Francis et. al.) Major Layout Types (borrowed from Francis et. al.) Advantages and Limitations of the various layout types (borrowed from Francis et. al.) Advantages and Limitations of the various layout types (cont. - borrowed from Francis et. al.) Selecting an appropriate layout (borrowed from Francis et. al.) The product-process matrix Production volume & mix Process type Jumbled flow (job Shop) Low volume, low standardization Commercial printer Disconnected line flow (batch) High volume, high standardization, commodities Void Heavy Equipment Connected line flow (assembly Line) Continuous flow (chemical plants) Multiple products, Few major products, low volume high volume Auto assembly Void Sugar refinery Cell formation in group technology: A clustering problem Partition the entire set of parts to be produced on the plant-floor into a set of part families, with parts in each family characterized by similar processing requirements, and therefore, supported by the same cell. Part-Machine Indicator Matrix P1 P2 P3 P4 P5 P6 P1 P3 P2 P4 P5 P6 M1 1 M2 M3 1 1 M4 1 M5 M4 1 1 1 1 1 1 M1 1 1 1 1 M6 1 1 M7 1 1 1 M6 1 M2 M3 M5 1 1 1 1 1 1 1 1 M7 1 1 Clustering Algorithms for Cellular Manufacturing Row & Column Masking P1 P2 P3 P4 P5 P6 P1 P3 P2 P4 P5 P6 M1 1 M2 M3 1 1 M4 1 M5 M4 1 1 1 1 1 1 M1 1 1 1 1 M6 1 1 M7 1 1 1 M6 1 M2 M3 M5 1 1 1 1 1 1 1 1 M7 1 1 Clustering Algorithms for Cellular Manufacturing: Similarity Coefficients - Motivation P1 P2 P3 P4 P5 P6 P1 P3 P2 P4 P5 P6 M1 1 1 M2 M3 1 1 M4 1 M5 1 M4 1 1 1 1 1 1 M1 1 1 1 1 M6 1 1 M7 1 1 1 M6 1 M2 M3 M5 1 1 1 1 1 1 1 1 M7 1 1 Clustering Algorithms for Cellular Manufacturing: Similarity Coefficients - Definitions • P(Mi) = set of parts supported by machine Mi • |P(Mi)| = cardinality of P(Mi), i.e., the number of elements of this set • SC(Mi,Mj) = |P(Mi)P(Mj)| / |P(Mi)P(Mj)| = |P(Mi)P(Mj)| / (|P(Mi)|+|P(Mj)|-|P(Mi)P(Mj)|) • Notice that: 0 SC(Mi,Mj) 1.0, and the closer this value is to 1.0 the greater the similarity among the part sets supported by machines Mi and Mj. • By picking a desired threshold, one can cluster together all machines that have a similarity coefficient greater than or equal to this threshold. A typical (logical) Organization of the Production Activity in Repetitive Manufacturing Assembly Line 1: Product Family 1 S1,1 Raw Material & Comp. Inventory S1,i S1,2 S1,n Fabrication (or Backend Operations) Dept. 1 S2,1 S2,2 Dept. 2 Dept. j S2,i Assembly Line 2: Product Family 2 Finished Item Inventory Dept. k S2,m Synchronous Transfer Lines: Examples (Pictures borrowed from Heragu) Flow Patterns for Product-focused Layouts (borrowed from Francis et. al.) Discrete vs. Continuous Flow and Repetitive Manufacturing Systems (Figures borrowed from Heizer and Render) Production Planning and Scheduling 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 family. •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 Unit Availability (Current Inventory Position) Aggregate Production Plan 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 A prototype problem Forecasted demand: Jan: 1280 Feb: 640 Mar: 900 Apr: 1200 May:2000 Jun: 1400 On-hand Inventory: 500 Required on-hand Inventory at end of June: 600 Cost structure: Inv. holding cost: $80/unit x month Hiring cost: $500/worker Firing cost: $1000/worker Current Workforce Level: 300 Worker prod.capacity: 0.14653 units/day Working days per month Jan: 20 Feb: 24 Mar: 18 Apr: 26 May: 22 Jun: 15 A prototype problem (cont.) Forecasted demand: Jan: 1280 Feb: 640 Mar: 900 Apr: 1200 May:2000 Jun: 1400 On-hand Inventory: 500 Required on-hand Inventory at end of June: 600 Net predicted demand: Jan: 780 Feb: 640 Mar: 900 Apr: 1200 May: 2000 Jun: 2000 An LP formulation for the prototype problem Problem Parameters Dt = Forecasted demand for period t dt = working days at period t c = daily worker capacity W0=Initial workforce level I0 = Current on-hand inventory CH = Hiring cost per worker CF = Firing cost per worker CI = Inventory holding cost per unit per period Problem Decision Variables Ht = Workers hired at period t Ft = Workers fired at period t Wt = Workforce level at period t Pt = Level of production at period t It = Inventory at the end of period t An LP formulation for the prototype problem 6 6 6 t 1 t 1 t 1 min( C H H t C F Ft C I I t ) s.t. Wt Wt 1 H t Ft , t 1,...,6 Pt (dt c) Wt , t 1,...,6 It It 1 Pt Dt , t 1,...,6 I 6 600 Wt , H t , Ft , Pt , I t 0, t 1,...,6 Optimal Plan for the considered example •Fire 27 workers in January •Hire 465 workers in May •Produce at full (labor) capacity every month Resulting total cost: $379320.900 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. Prod. Capacity: t, (u_l_r)*Pt (s_d)*(w_d)t*Wt+Ot Material Balance: t, Pt+It-1+St = (Dt-Bt)+Bt-1+It Workforce Balance: t, Wt = Wt-1+Ht-Ft ( Any additional policy constraints ) Var. sign restrictions: t, P , W , O , H , F , S , I , B 0 t t t t t t t t Time unit: month / unit_labor_req. /shift_duration (in hours) / (working_days) for month t Demand (vs. Capacity) Options or Proactive Approaches to Aggregate Planning • 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) • => The outcome of this type of planning is communicated to the overall aggregate planning procedure as (expected) changes in the demand forecast. 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 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 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 (borrowed from Heizer and Render) 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 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. Capacity Planning (Example) Available labor hours 150 100 50 1 2 3 4 5 6 7 8 Periods Pegging and Bottom-up Replanning (borrowed from Heizer and Render) 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. Example J_2 J_1 W_1 W_2 W_q J_N W_i W_M A modeling abstraction • 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 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 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 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 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 alternatives 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) 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 for job j) – Critical ratios, defined as (d_j-current time)/rem. proc. time for job j Assembly Line Balancing Synchronous Transfer Lines: Examples (Pictures borrowed from Heragu) Balancing Synchronous Transfer Lines • Given: – a set of m tasks, each requiring a certain (nominal) processing time t_i, and – a set of precedence constraints regarding the execution of these m tasks, • assign these tasks to a sequence of k workstations, in a way that – the total amount of work assigned to each workstation does not exceed a pre-defined cycle time c, (constraint I) – the precedence constraints are observed, (constraint II) – while the number of the employed workstations k is minimized. (objective) • Remark: The problem is hard to solve optimally, and quite often it is addressed through heuristics. Heuristics for Assembly Line Balancing Developed in class – c.f. your class notes!