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 .

Three parameters:

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

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

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.