From strategic to tactical carriers’ selection: A new SDDP algorithm to handle dynamic stochastic demand
Bibliographic record
Abstract
This paper addresses a Carrier’s Selection and Shipment Assignment Problem (CSSAP) in a distribution network where a set of products need to be shipped from warehouses to distribution centers to satisfy the demand at each distribution center at each period of a tactical planning horizon. The demand at distribution centers is uncertain and back-ordering is permitted but penalized. Shipments are ensured by external carriers either strategic or spot ones. Strategic carriers are long-term contracts carriers with commitments to respect when solving the CSSAP. The problem is formulated as a multi-stage dynamic stochastic model. New variants of the Stochastic Dual Dynamic Programming (SDDP) algorithm are proposed to solve it. They consider novel cut removal techniques and new stopping criterion inspired by the concept of regret from the field of reinforcement learning. The concept of regret additionally enables evaluating the quality of the SDDP decisions, rarely addressed in the literature. We carried out experiments and evaluated our results against other cut removal strategies and stopping criteria reported in the literature. Our results first show that the SDDP algorithm is a good approach to solve the CSSAP under different contexts yielding good-quality solutions in a reasonable time. Second, some of the new variants we propose outperform existing ones and this is mostly due to the new techniques we propose to remove what we call the detrimental cuts. The new SDDP variants can be easily adapted to be used for any other problem to which a standard SDDP algorithm may apply. • SDDP is appropriate for tactical planning of transport decisions under uncertainty. • The standard SDDP algorithm may generate detrimental cuts resulting in bad results. • Detecting and removing detrimental cuts improve the SDDP performance. • The novel concept of regret helps better analyze the quality of the SDDP solutions. • A stopping criterion using the concept of regret deteriorates the SDDP performance.
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.001 | 0.002 |
| Meta-epidemiology (narrow) | 0.001 | 0.001 |
| Meta-epidemiology (broad) | 0.001 | 0.001 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.000 | 0.001 |
| Scholarly communication | 0.001 | 0.001 |
| Open science | 0.002 | 0.001 |
| Research integrity | 0.001 | 0.002 |
| Insufficient payload (model declined to judge) | 0.003 | 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".