Production Scheduling for the McGuiness & Co. Microbrewery

Download Report

Transcript Production Scheduling for the McGuiness & Co. Microbrewery

Production Scheduling for the McGuiness & Co. Microbrewery

A Production Planning & Control Framework

Tactical Planning

Demand Forecasting Production Scheduling Capacity Planning Material Requirements Planning

Execution

Sales order Processing

Recording

Purchasing Inventory records Production Control Shop-floor data Collection

The Production Scheduling Problem

Capacity Consts.

Company Policies Product Charact.

Economic Considerations Placed Orders Forecasted Demand Current Inventory Positions Already Initiated Production

Production Scheduling

Master Production Schedule: When & How Much to produce for each product Planning Horizon Time unit Capacity Planning

Problem Specialization for McGuinness Microbrewery Case Study

• Capacity Constraints: Number and capacity of fermentors • Company Policies: – Product cannot be shelved for more than 2 months – Production in a fermentor can be started at any level of its capacity.

• Product Characteristics: – Production lead times • Economic Considerations: (Unnecessary) Inventories should be minimized (consistent with the Just-In-Time philosophy) • Planning Horizon: 6-12 months (based on production lead times, product seasonalities, and product obsolescence) • Time unit: 1 week (based on the order of production lead times)

Possible Approaches • Empirical Approach:

Spreadsheet-based Simulation

• Analytical Approach:

Mathematical (Integer) Programming formulation

The Driving Logic for the Empirical Approach

Demand Availability: •Initial Inventory Position •Scheduled Receipts Compute Future Inventory Positions Net Requirements Future inventories Scheduled Releases Lot Sizing Resource (Fermentor) Occupancy Product i Feasibility Testing Schedule Infeasibilities Master Production Schedule Revise Prod. Reqs

Example: Implementing the Empirical Approach in Excel

Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage # Fermentors: 1 0 1 0 2 0% 0 Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 100 Fermentation Time: 0 1 45 200 1 255 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 Unit Cap: 2 0 2 0% 0 2 2 50 3 2 205 40 75 200 3 0 2 0% 0 3 3 40 165 30 45 4 0 2 0% 0 4 4 40 125 30 15 Shelf Life: 20 5 0 2 0% 0 5 5 40 85 40 -25 25 6 0 2 0% 0 6 6 40 45 40 -40 40 7 0 2 0% 0 7 7 40 5 40 -40 40 8 0 2 0% 0 8 8 40 -35 35 40 -40 40 9 0 2 0% 0 9 9 40 -40 40 50 -50 50 10 0 2 0% 0 10 10 40 -40 40 50 -50 50

Computing Inventory Positions and Net Requirements

Inventory Position: IP i = max{IP i-1 ,0}+ SR i +BNR i -D i (Material Balance Equation) (IP i-1 ) + i D i SR i +BNR i IP i Net Requirement: NR i = abs(min{0, IP i })

Problem Decision Variables: Scheduled Releases

# Fermentors: Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage 1 0 1 0 2 0% 0 Unit Cap: 2 0 2 0% 0 Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 100 Fermentation Time: 0 1 45 200 1 255 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 2 2 50 205 3 2 40 75 200 3 0 2 0% 0 3 3 40 165 30 45 4 0 2 0% 0 Shelf Life: 20 5 0 2 0% 0 6 1 2 100% 0 7 1 2 100% 0 4 4 40 125 30 15 5 5 40 85 40 -25 25 6 6 40 45 200 1 1 40 -40 40 7 7 40 5 1 40 -40 40 8 0 2 0% 0 8 8 40 165 200 40 -40 40 9 0 2 0% 0 9 9 40 125 50 -50 50 10 0 2 0% 0 10 40 10 85 50 -50 50

Testing the Schedule Feasibility

# Fermentors: Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage 1 0 1 0 2 0% 0 Unit Cap: Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 100 Fermentation Time: 0 1 45 200 1 255 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 2 2 50 205 3 2 40 75 200 1 1 200 2 1 2 100% 0 3 1 2 100% 0 4 1 2 100% 0 3 3 40 165 30 45 1 4 4 40 125 30 15 1 Shelf Life: 20 5 0 2 0% 0 5 5 40 85 40 175 200 6 1 2 100% 0 6 6 40 45 200 1 1 40 135 7 2 NO 2 200% 0 7 7 40 5 1 40 95 200 1 1 8 1 2 100% 0 9 1 2 100% 0 8 8 40 165 200 40 55 1 9 9 40 125 50 5 1 10 0 2 0% 0 10 40 10 85 50 155 200

Fixing the Original Schedule

# Fermentors: Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage 1 0 1 0 2 0% 0 Unit Cap: 2 1 2 100% 0 3 1 2 100% 0 4 1 2 100% 0 5 1 2 100% 0 6 1 2 100% 0 7 1 2 100% 0 8 1 2 100% 0 9 1 2 100% 0 Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 100 Fermentation Time: 0 1 45 200 1 255 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 2 2 50 205 3 2 40 75 200 1 1 200 3 3 40 165 30 45 1 4 4 40 125 30 15 1 Shelf Life: 5 5 40 85 200 1 1 40 175 200 20 6 6 40 45 1 40 135 7 7 40 205 200 40 95 200 1 1 8 8 40 165 40 55 1 9 9 40 125 50 5 1 10 0 2 0% 0 10 40 10 85 50 155 200

Infeasible Production Requirements

# Fermentors: Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage 1 0 Unit Cap: 200 1 1 2 100% 0 2 1 2 100% 0 3 1 2 100% 0 4 1 2 100% 0 Shelf Life: 20 5 0 2 0% 0 6 0 2 0% 0 7 0 2 0% 0 8 0 2 0% 0 9 0 2 0% 0 10 0 2 0% 0 Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 100 0 1 45 55 1 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 2 2 50 200 1 205 3 2 40 75 200 1 1 3 40 4 40 3 165 40 35 1 4 125 40 -5 5 1 5 40 6 40 85 5 40 6 40 160 200 45 120 7 40 8 40 9 40 10 40 7 5 40 80 8 -35 35 40 40 9 -40 40 50 -10 10 10 -40 40 50 -50 50

Modeling the Inventory Spoilage

# Fermentors: Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage 1 0 1 0 2 0% 0 Unit Cap: 2 0 2 0% 0 Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 100 Fermentation Time: 0 1 45 200 1 255 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 2 2 50 205 3 2 40 75 200 3 0 2 0% 0 3 3 40 165 30 45 4 0 2 0% 0 4 40 4 125 30 15 Shelf Life: 6 5 0 2 0% 0 6 0 2 0% 0 5 5 40 85 40 -25 25 6 6 40 45 40 -40 40 7 0 2 0% 45 7 40 45 -40 40 -40 40 8 0 2 0% 0 8 40 -40 40 7 40 8 40 -40 40 9 0 2 0% 0 9 40 10 40 9 -40 40 50 -50 50 10 0 2 0% 0 10 -40 40 50 -50 50

A feasible schedule with spoilage effects

# Fermentors: Microbrewery Performance Week # Fermentors Req'd Feasible Loading?

Min # Fermentors Req'd Fermentor Utilization Total Spoilage 1 0 Unit Cap: 1 1 2 100% 0 2 1 2 100% 0 Pale Ale Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied 100 Fermentation Time: 0 1 45 200 1 255 Stout Week Demand Scheduled Receipts Fermentors Released Inventory Spoilage Inventory Position Net Requirements Batched Net Receipts Scheduled Releases Fermentors Seized Total Fermentors Occupied Fermentation Time: 150 0 1 35 115 200 1 1 2 2 50 205 3 2 40 75 1 200 3 1 2 100% 0 4 1 2 100% 0 3 3 40 165 30 45 1 4 4 40 125 200 1 1 30 215 200 Shelf Life: 6 5 1 2 100% 0 5 5 40 85 1 40 175 6 0 2 0% 0 6 6 40 245 200 40 135 7 1 2 100% 45 7 40 45 160 7 40 95 200 1 1 8 1 2 100% 0 8 8 40 120 40 55 1 9 1 2 100% 0 9 40 80 9 50 5 1 10 0 2 0% 5 10 40 40 10 50 5 150 200

Computing Spoilage and Modified Inventory Position

Spoilage: SP i = max{0, IP i-1 ( SR i-1 +SR i-2 +…+SR i-sl+1 ) ( BNR i-1 +BNR i-2 +…+BNR i-sl+1 )} Inventory Position: IP i = max{IP i-1 ,0}+ SR i +BNR i -D i -SP i SR i (Material Balance Equation) (IP i-1 ) + +BNR i i D i SP i IP i

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