448. (R, s, S)
Periodic review with a reorder point. Generalizes (R, S) by adding a “do nothing” option when inventory is high.
Decision rule: at every review point (every time units), observe the inventory position .
- If (inventory low): order (bring up to ).
- Else (, inventory still healthy): don’t order.
Three parameters:
- = review interval
- = reorder point
- = order-up-to level
448.0.1. When to use
Use (R, s, S) when:
- Reviews are periodic (truck arrives weekly), but
- You don’t want to order every review when inventory is still healthy (saves order cost when consumption was light).
Compared to (R, S): saves order cost in low-consumption periods. Compared to (s, S): adds the periodic-review constraint (simpler operations, less precise).
(R, s, S) is widely considered the most general periodic policy. It generalizes both (R, S) (set , always order) and zero ordering (set very low, never order).
448.0.2. Inventory profile
Sawtooth, with order skipping:
- Some reviews: , no order. Inventory continues to drain.
- Other reviews: , order up to .
- Order arrives at next review or before, depending on vs .
If is short relative to mean cycle, most reviews do not trigger orders. If is long, almost every review triggers.
448.0.3. Set — protection-window logic
Same as (R, S): the protection window is , because an order placed at review covers demand until the next review’s order arrives. So:
Identical to the in (R, S)! That’s because in (R, s, S) plays the same protection role as in (R, S) — it’s the level above which we still have enough buffer.
448.0.4. Set
should be the EOQ-style batch size. Heuristic:
When inventory drops to exactly between reviews, the next order is for . With overshoot (inventory below at review), the order is bigger — same as (s, S).
448.0.5. Computing optimal exactly
Closed forms exist for special cases (Wagner’s lower-bound formula); in general, require dynamic programming or simulation. The heuristic above is within a few % of optimal for typical industrial parameter ranges.
448.0.6. Final formulas
Example
Given (same policy-comparison params):
- /yr, /day, , days, days
- = $50, = $2/unit/yr,
Step 1 — reorder point (same as from (R, S))
Step 2 — order-up-to level
Step 3 — typical reviews
Steady-state inventory between reviews drops by about units per review interval.
- Review 1: position is 2282 (just received order). Drains to by review 2.
- Review 2: position 1292. Below ✓ → order units.
- Continues this pattern.
Almost every review triggers an order because is comparable to the average cycle time. Behaviorally similar to (R, S).
Step 4 — when “don’t order” actually fires
Suppose demand is unusually light over a review period (e.g., only 200 units consumed instead of 990). Then inventory at the next review is . No order placed → save $50.
Then next review: another 200 consumed → 1882, still above → no order. Then another: 1682 → still above → no order. Eventually drops below , then big catch-up order.
(R, s, S) sleeps through low-consumption stretches; (R, S) would have ordered every review regardless.
Compare to (R, S)
- (R, S): always order every review. at protection-window level (1507). Number of orders = /year.
- (R, s, S): may skip some reviews. Same (1507), (2282). Order frequency varies; expected /year but with variability.
Use (R, s, S) when order setup cost is significant and consumption variability is high — the “skip a review” behavior amortizes the setup cost across larger batches.