452. (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 𝐼𝑡.

Three parameters:

452.0.1. When to use

Use (R, s, S) when:

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).

452.0.2. Inventory profile

Sawtooth, with order skipping:

If 𝑅 is short relative to mean cycle, most reviews do not trigger orders. If 𝑅 is long, almost every review triggers.

452.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.

452.0.4. Set 𝑆

𝑆𝑠 should be the EOQ-style batch size. Heuristic:

𝑆=𝑠+𝑄EOQ=𝑠+2𝐷𝑆setup

When inventory drops to exactly 𝑠 between reviews, the next order is for 𝑆𝑠=𝑄EOQ. With overshoot (inventory below 𝑠 at review), the order is bigger — same as (s, S).

452.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.

452.0.6. Final formulas

𝑠=𝜇𝑅+𝐿+𝑧𝜎𝑅+𝐿𝑆=𝑠+2𝐷𝑆setupSS=𝑧𝜎𝑅+𝐿
Example

Given (same policy-comparison params):

  • 𝐷=12000/yr, 𝑑=33/day, 𝜎𝑑=5, 𝐿=14 days, 𝑅=30 days
  • 𝑆setup = $50, = $2/unit/yr, 𝑧=1.645

Step 1 — reorder point (same as 𝑆 from (R, S))

𝑠=𝜇𝑅+𝐿+𝑧𝜎𝑅+𝐿=1452+54.61507

Step 2 — order-up-to level

𝑄EOQ=212000502775𝑆=𝑠+𝑄EOQ=1507+7752282

Step 3 — typical reviews

Steady-state inventory between reviews drops by about 𝑅𝑑=990 units per review interval.

  • Review 1: position is 2282 (just received order). Drains to 2282990=1292 by review 2.
  • Review 2: position 1292. Below 𝑠=1507 ✓ → order 22821292=990 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 2282200=2082>1507=𝑠. 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 = 365𝑅=12.2/year.
  • (R, s, S): may skip some reviews. Same 𝑠 (1507), 𝑆=𝑠+𝑄EOQ (2282). Order frequency varies; expected 365𝑄EOQ𝑑=36577533=15.5/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.