6.3 Material Requirements Planning (MRP), Bill of Materials & Capacity Planning
Key Takeaways
Material Requirements Planning (MRP) deterministically explodes independent-demand MPS end-items into time-phased dependent-demand requirements for subassemblies, components, and raw materials.
The Low-Level Coding (LLC) algorithm assigns each part number the lowest numerical level at which it appears across all product trees (), guaranteeing that a part's gross requirements are completely aggregated before explosion.
The core MRP computational record calculates Gross Requirements (), Scheduled Receipts (), Projected Available Balance (), Net Requirements (), Planned Order Receipts (), and Planned Order Releases (), offset by procurement/manufacturing lead times.
Lot sizing balances order setup expenses against inventory holding costs: Lot-for-Lot (L4L) minimizes carrying costs for volatile/expensive items; EOQ imposes static batches; POQ aligns orders with economic cycles; and Part Period Balancing (PPB) equates cumulative carrying cost to setup cost.
Capacity Requirements Planning (CRP) validates the feasibility of MRP planned releases at individual work centers by converting planned order releases into machine and labor hours, generating load profiles to detect and resolve work center overloads.
Material Requirements Planning (MRP), Bill of Materials & Capacity Planning
Core Principle: Material Requirements Planning (MRP) transforms independent MPS demand into time-phased dependent requirements across multi-echelon Bills of Materials. By coupling inventory status records with lead-time offsetting and work center capacity profiles, MRP ensures components arrive precisely when required while minimizing work-in-process (WIP).
In manufacturing systems, inventory items fall into two distinct demand regimes: independent demand and dependent demand. Independent demand (finished goods, spare parts) is influenced by external market forces and must be forecasted stochastically. Dependent demand (components, subassemblies, raw materials) is derived mathematically from the production schedule of parent assemblies. Applying statistical reorder points to dependent components creates artificial bullwhip amplifications; instead, dependent items must be managed via deterministic, time-phased Material Requirements Planning (MRP).
1. Core Inputs to the MRP Engine
The MRP processing algorithm integrates three fundamental data streams:
Core MRP Inputs & Outputs Architecture
[Master Production Schedule (MPS)] [Bill of Materials (BOM)] [Inventory Status Records]
(What end-items to make & when) (Product structure tree) (On-hand, on-order, lead time)
│ │ │
└─────────────────────────┬─────────┴──────────────────────────────┘
▼
[MRP Computational Engine]
│
┌──────────────────────────────────┴──────────────────────────────────┐
▼ ▼
[Primary MRP Outputs] [Secondary Exception Outputs]
- Planned Order Releases (Shop & POs) - Expedite / De-expedite notices
- Time-phased Planned Order Receipts - Cancel order notices
- Rescheduling action advisories - Capacity overload warnings
- Master Production Schedule (MPS): Defines the quantities and required completion dates for all independent-demand finished items.
- Bill of Materials (BOM): An engineering database defining the exact hierarchy, parent-child relationships, and unit quantities required to fabricate one parent unit.
- Inventory Status Records: Contains item-specific operational parameters:
- On-Hand Inventory: Physical usable stock physically present in the warehouse.
- Scheduled Receipts (): Open purchase orders or factory work orders previously committed and due to arrive at the start of a specific time bucket.
- Safety Stock (): Buffer inventory reserved to absorb scrap, yield losses, or lead-time variance.
- Lead Time (): Total elapsed time from order release to physical receipt into inventory (supplier lead time or manufacturing cycle time).
- Lot-Sizing Rule: Pre-assigned heuristic governing order batch quantities.
2. Bill of Materials (BOM) & Low-Level Coding (LLC)
A Bill of Materials (BOM) represents product structure hierarchically. A single-level BOM displays only immediate children, whereas an indented multi-level BOM exposes the full explosion path from finished unit to raw materials.
Product Structure Tree with Low-Level Coding
Level 0: [Final Product A]
/ \
Level 1: [Sub B] (qty: 2) [Sub C] (qty: 1)
/ \ \
Level 2: [Comp D] (3) [Comp E] (1) [Comp D] (2)
Low-Level Code (LLC) Assignment:
- Product A: LLC = 0 (Appears only at Level 0)
- Subassembly B: LLC = 1
- Subassembly C: LLC = 1
- Component E: LLC = 2
- Component D: LLC = 2 (Appears at Level 2 under both B and C; LLC = max depth = 2)
The Low-Level Coding (LLC) Algorithm
When a common component appears at multiple levels in different subassemblies (or across multiple products), exploding requirements naively causes fragmentation: orders would be generated at Level 1, and then additional requirements discovered at Level 2 would require duplicate setups and split batches.
To ensure computational efficiency and prevent fragmented lot sizing, MRP systems execute the Low-Level Coding (LLC) algorithm during BOM maintenance:
- Operational Rule: An end-item is coded as Level 0. Any component used as an immediate child of a Level 0 item is Level 1, unless it also appears deeper in another branch. The item's LLC is assigned the maximum depth level at which it appears anywhere in the company's product structures.
- Explosion Integrity: The MRP processing engine explodes requirements strictly level by level (). No component's net requirements or planned orders are calculated until all parent assemblies possessing a lower LLC number have been fully exploded and their planned order releases aggregated. This ensures all gross requirements for a shared part are consolidated into single time buckets.
3. The Mathematical Mechanics of MRP Explosion
For each inventory item, the MRP matrix processes a time-phased grid across planning buckets . The row definitions and computational sequence are:
MRP Time-Phased Matrix Structure
Row Parameter Mathematical Relationship
─────────────────────────────────────────────────────────────────────────────
Gross Requirements (GR_t) Parent PORel × Usage Qty + Independent Demand
Scheduled Receipts (SR_t) Open orders confirmed arriving in period t
Projected Available (PAB_t) PAB_{t-1} + SR_t + PORc_t - GR_t
Net Requirements (NR_t) max(0, GR_t + SS - (PAB_{t-1} + SR_t))
Planned Order Receipts (PORc_t) Lot-sized batch to satisfy NR_t (PORc_t ≥ NR_t)
Planned Order Releases (PORel) PORel_{t-L} = PORc_t (Offset by Lead Time L)
Step-by-Step Computational Formulations
- Gross Requirements (): Total anticipated demand for the component in period :
Where is the Planned Order Release of parent in period , and is the usage multiplier (units of child required per unit of parent).
- Preliminary Available Balance (): Stock available before receiving any new planned order:
- Net Requirements (): Deficit below required safety stock ():
-
Planned Order Receipts (): If , an order receipt is scheduled in period . The quantity is determined by the active lot-sizing rule (). If , .
-
Updated Projected Available Balance ():
- Planned Order Releases (): To ensure the order arrives at period , it must be released periods earlier (lead-time offsetting):
4. Lot-Sizing Techniques in MRP
Lot-sizing rules dictate how net requirements are grouped into replenishment batches. Choosing an inappropriate lot-sizing rule can either inflate inventory holding costs or create excessive setup overhead.
| Lot-Sizing Method | Mechanics | Advantages | Disadvantages | Optimal Application |
|---|---|---|---|---|
| Lot-for-Lot (L4L) | Set in each period. Zero ending inventory beyond safety stock. | Minimizes inventory holding cost; eliminates cycle stock. | Incurs setup/ordering cost for every non-zero period. | High holding costs, expensive custom components, JIT / Lean systems. |
| Economic Order Quantity (EOQ) | Fixed lot size based on annualized average demand. | Exploits economies of scale; simple to administer. | Causes "lumpiness"; carries excessive inventory when requirements are sporadic. | High setup costs, stable continuous demand profiles. |
| Periodic Order Quantity (POQ) | Economic order interval . Orders sum of next periods' net requirements. | Adapts to lumpy demand; eliminates holding inventory across zero-demand periods. | Requires dynamic recalculation if demand fluctuates sharply. | Lumpy, intermittent dependent demand with moderate setup costs. |
| Part Period Balancing (PPB) | Groups sequential periods until cumulative holding cost most closely matches setup cost . | Dynamically balances setup and holding costs without rigid time buckets. | Computationally intensive; forward-looking horizon effects. | High-value components with dynamic, seasonal, or irregular demand. |
Part Period Balancing (PPB) Mathematics
PPB evaluates carrying cost in units of Part-Periods (one unit of inventory held for one period). The Economic Part Period () is the ratio of setup cost to inventory carrying cost per unit per period :
The algorithm accumulates net requirements for future periods and computes cumulative part-periods:
The batch is closed at the period where cumulative part-periods are closest to .
5. Comprehensive Worked Numerical MRP Example
An industrial instrumentation firm manufactures an automated fluid monitor (Item A). Each unit of A requires 2 units of Subassembly B. The operational parameters are:
- Finished Item A: Lot-for-Lot (L4L), Lead Time week, Safety Stock , Initial On-Hand .
- Subassembly B: Fixed Order Quantity units, Lead Time weeks, Safety Stock , Initial On-Hand , Scheduled Receipt in Week 1.
The Master Production Schedule requires completing 50 units of Item A in Week 3 and 80 units of Item A in Week 5.
MRP Explosion for Finished Item A (Parent)
| Week () | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| Gross Requirements () | 0 | 0 | 50 | 0 | 80 | 0 |
| Scheduled Receipts () | 0 | 0 | 0 | 0 | 0 | 0 |
| Projected Available Balance () [Initial = 10] | 10 | 10 | 0 | 0 | 0 | 0 |
| Net Requirements () | 0 | 0 | 40 | 0 | 80 | 0 |
| Planned Order Receipts () [L4L] | 0 | 0 | 40 | 0 | 80 | 0 |
| Planned Order Releases () [] | 0 | 40 | 0 | 80 | 0 | 0 |
- Item A Calculations:
- In Week 3: . Deficit is . . . Offset by week .
- In Week 5: . . Offset by week .
MRP Explosion for Subassembly B (Child, Usage = 2)
Gross requirements for B are driven by Item A's planned releases: :
- Week 2: units.
- Week 4: units.
| Week () | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| Gross Requirements () | 0 | 80 | 0 | 160 | 0 | 0 |
| Scheduled Receipts () | 100 | 0 | 0 | 0 | 0 | 0 |
| Projected Available Balance () [Initial = 45, ] | 145 | 65 | 65 | 105 | 105 | 105 |
| Net Requirements () | 0 | 0 | 0 | 115 | 0 | 0 |
| Planned Order Receipts () [FOQ = 100] | 0 | 0 | 0 | 200 | 0 | 0 |
| Planned Order Releases () [] | 0 | 200 | 0 | 0 | 0 | 0 |
- Subassembly B Step-by-Step Calculations:
- Week 1: .
- Week 2: . Available before order is . Since (), . Updated .
- Week 3: .
- Week 4: . Required stock is . Prior balance is . The net requirement is units.
- Because lot size is , the system must order multiples of 100. Sizing for 115 requires units. Thus, .
- Updated balance: (note: if safety stock is held separately, is 105 total, or 85 above ).
- Offset by lead time weeks: order must be released in Week . Therefore, units.
6. Capacity Requirements Planning (CRP) & Closed-Loop MRP
MRP generates planned orders assuming infinite capacity—it assumes machines and labor are always available when needed. In reality, work centers face rigid throughput limits. Capacity Requirements Planning (CRP) acts as the critical reality check, converting planned order releases into machine and labor hours at specific work centers.
MRP to CRP Translation & Load Leveling
[Planned Order Releases (PORel)] × [Standard Routing Sheet (Setup & Run)]
│
▼
[Work Center Capacity Load Profile]
Hours ^
| Overload Spikes (Must resolve via OT/rerouting)
| [===]
| ┌────┴───┴────┐
| │ │
Cap +-------------+-------------+-------------+------------- Rated Max Capacity
| [===] │ │ [===] │
| │ │ │ │ │ │ │ [===]
| │ │ │ │ │ │ │ │ │
+----+---+----+-------------+----+---+----+----+---+----> Time (Weeks)
Week 1 Week 2 Week 3 Week 4
CRP Load Calculation
For a specific work center in time bucket , the required workload in standard hours is:
Where:
- is the set of all lots scheduled to be processed at work center during period .
- is the setup time in standard hours for lot .
- is the planned lot size.
- is the run time per unit in standard hours.
Rated Work Center Capacity
Theoretical nominal hours must be discounted by machine availability and worker productivity:
Where:
- : Number of machines or operators.
- : Working hours per shift.
- : Number of shifts per day.
- : Operating days per period.
- : .
- : .
Resolving Load Discrepancies
When CRP detects an overload condition (), closed-loop MRP requires intervention:
- Short-Term Adjustments: Authorize overtime shifts, re-route operations to alternate work centers, split large production batches, or hire temporary contract labor.
- Schedule Adjustments: Pull forward planned releases into earlier periods with surplus capacity (load leveling).
- MPS Revision: If capacity cannot be expanded, the Master Production Schedule must be revised downward in the slushy or liquid zones.
A complex subassembly product, Model Alpha (Level 0), requires 2 units of Subassembly Beta (Level 1) and 1 unit of Subassembly Gamma (Level 1). Each Subassembly Beta requires 3 units of Component Delta. Each Subassembly Gamma requires 2 units of Component Delta. Component Delta is also distributed directly to service technicians as a spare part, with an independent demand of 50 units in Week 5. The Master Production Schedule establishes an order for 100 units of Alpha due in Week 6. Component lead times are: Alpha = 1 week, Beta = 2 weeks, Gamma = 1 week, and Delta = 1 week. Assuming zero on-hand inventory and lot-for-lot sizing, what is the Low-Level Code (LLC) of Component Delta, and what are the total Gross Requirements for Component Delta in Week 4?
LLC = 1; Gross Requirement = 500 units
LLC = 2; Gross Requirement = 800 units
LLC = 3; Gross Requirement = 250 units
LLC = 2; Gross Requirement = 200 units
A designated machining cell comprises 4 identical computer numerical control (CNC) mills. The cell operates on two 8-hour shifts per day, 5 days per week. Engineering records indicate that the work center achieves an average Machine Utilization of 85% and an Operational Efficiency of 90%. In Week 3, the MRP system generates Planned Order Releases for three production lots routed through this cell:
- Part X: 200 units, Setup time = 2.5 hours, Run time = 0.15 hours/unit
- Part Y: 150 units, Setup time = 4.0 hours, Run time = 0.20 hours/unit
- Part Z: 100 units, Setup time = 1.5 hours, Run time = 0.10 hours/unit
What is the total required capacity load on the machining cell for Week 3, and what is the rated capacity of the cell?
Total Load = 70.0 hours; Rated Capacity = 272.0 hours
Total Load = 78.0 hours; Rated Capacity = 244.8 hours
Total Load = 78.0 hours; Rated Capacity = 70.0 hours
Total Load = 86.5 hours; Rated Capacity = 320.0 hours
Sections you finish are checked off in the contents.