Dynamic inventory and pricing control of a perishable product with multiple shelf life phases
Bibliographic record
Abstract
This paper investigates a dynamic inventory-pricing system with perishable products of multiple freshness levels. The firm may set different prices for items of different freshness levels, and customers either balk or choose to buy the freshness level that maximizes their utility. We model this inventory-pricing problem as a Markov decision process, where the assortment dynamically changes based on the freshness levels of the available items. Using the concept of anti-multimodularity, we characterize the structure of the optimal policy. Specifically, we show that the optimal production policy has a state-dependent threshold-based structure. The production decisions are more sensitive to the inventory of fresher items than less fresh ones. Moreover, the optimal price of a freshness level is nonincreasing in the inventory of items of any freshness level, and it is more sensitive to those of a closer freshness level. The structural properties enable us to devise three novel heuristic policies with good performance. We further extend the model by considering donations and a system with multiple freshness phases. Our research suggests that freshness-dependent pricing and dynamic pricing are two substitutable strategies, while freshness-dependent pricing and donation are strategic complements. The results further imply that the firm can benefit from high variability in freshness among items under dynamic pricing, but such variability may lead to a significant loss when single, static pricing is used. The results of our heuristic policies show that considering inventory and pricing decisions as a parametrized function of the inventory state leads to nearly optimal solutions.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.002 | 0.003 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.002 | 0.002 |
| Open science | 0.002 | 0.001 |
| Research integrity | 0.001 | 0.001 |
| Insufficient payload (model declined to judge) | 0.002 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".