Non-Stationary Inventory Control with Lead Times

Nele H. Amiri, Sean R. Sinclair, Maximiliano Udenio
2/5/2026
math.OCcs.LGstat.ML

No official code found. Best implementation: NeleAmiri/nonstationary-inventory (0 stars, last commit 2026-02-01).

Abstract

We study non-stationary single-item, periodic-review inventory control problems in which the demand distribution is unknown and may change over time. We analyze how demand non-stationarity affects learning performance across inventory models, including systems with demand backlogging or lost-sales, both with and without lead times. For each setting, we propose an adaptive online algorithm that optimizes over the class of base-stock policies and establish performance guarantees in terms of dynamic regret relative to the optimal base-stock policy at each time step. Our results reveal a sharp separation across inventory models. In backlogging systems and lost-sales models with zero lead time, we show that it is possible to adapt to demand changes without incurring additional performance loss in stationary environments, even without prior knowledge of the demand distributions or the number of demand shifts. In contrast, for lost-sales systems with positive lead times, we establish weaker guarantees that reflect fundamental limitations imposed by delayed replenishment in combination with censored feedback. Our algorithms leverage the convexity and one-sided feedback structure of inventory costs to enable counterfactual policy evaluation despite demand censoring. We complement the theoretical analysis with simulation results showing that our methods significantly outperform existing benchmarks.

View on arXivView PDF

Code Implementations(1)

Non-Stationary Inventory Control With Lead Times

00PythonJan 18, 20268 months ago

Similar Papers

Cite this paper

@article{amiri2026nonstationary,
  title  = {Non-Stationary Inventory Control with Lead Times},
  author = {Nele H. Amiri and Sean R. Sinclair and Maximiliano Udenio},
  year   = {2026},
  eprint = {2602.05799},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2602.05799v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2602.05799.svg)](https://codeofpaper.com/paper/2602.05799)

Discussion