580 likes | 596 Views
Production Planning & Scheduling in Large Corporations. The role of aggregate planning and scheduling in the broader picture (borrowed from Heizer and Render). Dealing with the Problem Complexity through Decomposition. Corporate Strategy. Aggregate Unit Demand. Aggregate Planning.
E N D
The role of aggregate planning and scheduling in the broader picture(borrowed from Heizer and Render)
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 Shop floor-level Production Control Part process plans (Plan. Hor.: a day or a shift, Time Unit: real-time)
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 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 Planning Aggregate Unit Availability (Current Inventory Position) Required Production Capacity • Aggregate Production Plan: • Aggregate Production levels • Aggregate Inventory levels • Aggregate Backorder levels • Production Capacity Plan: • Workforce level(s) • Overtime level(s) • Subcontracted Quantities
PC WC HC FC D(t) P(t) = D(t) W(t) Pure Aggregate Planning Strategies 1.Demand Chasing: Vary the Workforce Level • 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)
PC WC IC D(t) P(t) I(t) W(t), O(t), U(t), S(t) = constant Pure Aggregate Planning Strategies 3.Accumulating (Seasonal) Inventories: • 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 D H F O Io U S I Wo B + • 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
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 A prototype problem 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 Cost structure: Inv. holding cost: $80/unit x month Hiring cost: $500/worker Firing cost: $1000/worker
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 A prototype problem (cont.) 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
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. • t,(u_l_r)*Pt (s_d)*(w_d)t*Wt+Ot Prod. Capacity: • t, Pt+It-1+St = (Dt-Bt)+Bt-1+It Material Balance: • t, Wt = Wt-1+Ht-Ft Workforce Balance: ( Any additional policy constraints ) Var. sign restrictions: • t, Pt, Wt, Ot, Ht, Ft, St, It, Bt 0 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.
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 Shop floor-level Production Control Part process plans (Plan. Hor.: a day or a shift, Time Unit: real-time)
The (Master) Production Scheduling Problem Capacity Consts. Company Policies Product Charact. Economic Considerations Placed Orders MPS Master Production Schedule: When & How Much to produce for each product Forecasted Demand • Current and Planned • Availability, eg., • Initial Inventory, • Initiated Production, • Subcontracted quantities Planning Horizon Time unit Capacity Planning
Grain cracking (1 milling machine) Mashing (1 mashing tun) Boiling (1 brew kettle) Fermentation (3 40-barrel ferm. tanks) Filtering (1 filter tank) Bottling (1 bottling station) MPS Example: Company Operations Fermentation Times:
Inventory Position: IPi = max{IPi-1,0}+ SRi+BNRi -Di (Material Balance Equation) (IPi-1)+ Di i SRi+BNRi IPi Computing Inventory Positions and Net Requirements Net Requirement: NRi = abs(min{0, IPi})
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)+ Di i SPi SRi+BNRi IPi
The Driving Logic behind the Empirical Approach • Initial Inventory Position • Scheduled Receipts due to initiated production or subcontracting Demand Availability: Compute Future Inventory Positions Net Requirements Future inventories Lot Sizing Scheduled Releases Resource (Fermentor) Occupancy Product i Revise Prod. Reqs Feasibility Testing Schedule Infeasibilities Master Production Schedule
MRP Planned Order Releases MPS Current Availabilities Priority Planning The “MRP Explosion” Calculus Lot Sizing Policies Lead Times BOM
Example: The (complete) MRP Explosion Calculus Item BOM: Alpha B(1) C(1) D(2) C(2) E(1) F(1) E(1) F(1) Item Levels: Level 0: Alpha Level 1: B Level 2: C, D Level 3: E, F
The “MRP Explosion” Calculus External Demand Level 0 Capacity Planning Initial Inventories Level 1 Level 2 Scheduled Receipts Level N Planned Order Releases Gross Requirements
Computing the item Scheduled Releases Safety Stock Requirements Lot Sizing Policy Lead Time Gross Reqs Planned Order Releases Parent Sched. Rel. Planned Order Receipts Net Reqs Synthesizing item demand series Projecting Inv. Positions and Net Reqs. Lot Sizing Time- Phasing Item External Demand Scheduled Receipts Initial Inventory
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.
Pegging and Bottom-up Replanning (borrowed from Heizer and Render)
Finite-Capacity Planning & Scheduling in the MRP II / ERP context: Load Reports (Example) Available resource time 150 100 50 8 1 2 3 Periods 4 5 6 7
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 into consideration the expected lead 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 “single-machine” 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
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_2 W_i W_1 W_M W_q J_N
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.
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)