Uploaded by Yoga Purbaya Adiwiguna

Christopher Grob - Inventory Management in Multi-Echelon Networks On the Optimization of Reorder Points

advertisement
AutoUni – Schriftenreihe
Christopher Grob
Inventory
Management in
Multi-Echelon Networks
On the Optimization of Reorder Points
AutoUni – Schriftenreihe
Band 128
Reihe herausgegeben von/Edited by
Volkswagen Aktiengesellschaft
AutoUni
Die Volkswagen AutoUni bietet Wissenschaftlern und Promovierenden des Volks­
wagen Konzerns die Möglichkeit, ihre Forschungsergebnisse in Form von Mono­
graphien und Dissertationen im Rahmen der „AutoUni Schriftenreihe“ kostenfrei zu
veröffentlichen. Die AutoUni ist eine international tätige wissenschaftliche Einrich­
tung des Konzerns, die durch Forschung und Lehre aktuelles mobilitätsbezogenes
Wissen auf Hochschulniveau erzeugt und vermittelt.
Die neun Institute der AutoUni decken das Fachwissen der unterschiedlichen
Geschäftsbereiche ab, welches für den Erfolg des Volkswagen Konzerns unabding­
bar ist. Im Fokus steht dabei die Schaffung und Verankerung von neuem Wissen und
die Förderung des Wissensaustausches. Zusätzlich zu der fachlichen ­Weiterbildung
und Vertiefung von Kompetenzen der Konzernangehörigen fördert und unterstützt
die AutoUni als Partner die Doktorandinnen und Doktoranden von Volkswagen
auf ihrem Weg zu einer erfolgreichen Promotion durch vielfältige Angebote – die
Veröffentlichung der Dissertationen ist eines davon. Über die Veröffentlichung in der
AutoUni Schriftenreihe werden die Resultate nicht nur für alle ­Konzernangehörigen,
sondern auch für die Öffentlichkeit zugänglich.
The Volkswagen AutoUni offers scientists and PhD students of the ­Volkswagen
Group the opportunity to publish their scientific results as monographs or ­doctor’s
theses within the “AutoUni Schriftenreihe” free of cost. The AutoUni is an
international scientific educational institution of the Volkswagen Group Academy,
which produces and disseminates current mobility-related knowledge through its
research and tailor-made further education courses. The AutoUni’s nine institutes
cover the expertise of the different business units, which is indispensable for the
success of the Volkswagen Group. The focus lies on the creation, anchorage and
transfer of knew knowledge.
In addition to the professional expert training and the development of specialized
skills and knowledge of the Volkswagen Group members, the AutoUni supports and
accompanies the PhD students on their way to successful graduation through a
variety of offerings. The publication of the doctor’s theses is one of such offers. The
publication within the AutoUni Schriftenreihe makes the results accessible to all
Volkswagen Group members as well as to the public.
Reihe herausgegeben von/Edited by
Volkswagen Aktiengesellschaft
AutoUni
Brieffach 1231
D-38436 Wolfsburg
http://www.autouni.de
Weitere Bände in der Reihe http://www.springer.com/series/15136
Christopher Grob
Inventory
Management in
Multi-Echelon Networks
On the Optimization of Reorder Points
Christopher Grob
Wolfsburg, Germany
Dissertation, University of Kassel, 2018
Any results, opinions and conclusions expressed in the AutoUni – Schriftenreihe are
solely those of the author(s).
AutoUni – Schriftenreihe
ISBN 978-3-658-23374-7
ISBN 978-3-658-23375-4
https://doi.org/10.1007/978-3-658-23375-4
(eBook)
Library of Congress Control Number: 2018953778
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part
of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission
or information storage and retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are exempt
from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authors or the editors give a warranty, express or implied, with respect to the material contained
herein or for any errors or omissions that may have been made. The publisher remains neutral with
regard to jurisdictional claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Fachmedien Wiesbaden GmbH
part of Springer Nature
The registered company address is: Abraham-Lincoln-Str. 46, 65189 Wiesbaden, Germany
Preface
I would like to use this opportunity to thank everybody who made this work possible and
supported me. I developed this work during a 3 year PhD-program at Volkswagen AG in
cooperation with the University of Kassel.
Foremost, my thanks is due to Prof. Dr. Andreas Bley and my adviser from the Volkswagen
AG. Their support was essential and during numerous discussions they did not only offer
encouragement but especially invaluable ideas, feedback and inspiration. My thanks is also
due to Stefan Minner for being the second reviewer of this thesis.
I would also like to thank all my colleagues at Volkswagen who aided me wherever they
could. Without them, this project would not have happened.
Finally, I like to thank my parents and friends for their support. I want to highlight the
contribution of Günther Emanuel and Tobias Berg for their valuable feedback and especially
Marie Perennes who supported me in every step.
Christopher Grob
Contents
Preface . . . .
List of Figures
List of Tables
Nomenclature
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. V
. IX
. XI
. XV
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Inventory management . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Basic concepts . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Supply chain structures . . . . . . . . . . . . . . . . . .
2.1.2 Inventory . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Customer response to stock-outs . . . . . . . . . . . . .
2.1.4 Lead time . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5 Demand . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6 The order quantity . . . . . . . . . . . . . . . . . . . .
2.1.7 Order policies . . . . . . . . . . . . . . . . . . . . . . .
2.1.8 Service level definitions . . . . . . . . . . . . . . . . .
2.1.9 Cost structure . . . . . . . . . . . . . . . . . . . . . . .
2.2 Single-echelon systems . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Stochastic Lead Time Demand . . . . . . . . . . . . . .
2.2.2 Insights on the inventory position and the inventory level
2.2.3 Calculating the fill rate for some demand distributions .
2.2.4 Determining optimal reorder points . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
9
11
11
12
12
13
14
15
15
16
17
18
20
3
Multi-echelon distribution networks . . . . . . . . . . . . . . . . .
3.1 Lead time demand and fill rate at non-local warehouses . . . . .
3.1.1 Mean and variance of lead time demand . . . . . . . . .
3.1.2 Fitting a distribution and calculating the fill rate . . . . .
3.2 Wait time approximation . . . . . . . . . . . . . . . . . . . . .
3.2.1 METRIC-type approximation . . . . . . . . . . . . . .
3.2.2 Kiesmüller et al. approximation . . . . . . . . . . . . .
3.2.3 Berling and Farvid approximation . . . . . . . . . . . .
3.2.4 Negative Binomal approximation . . . . . . . . . . . .
3.3 Summary of assumptions and classification within the literature
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
23
23
25
25
26
27
28
29
30
4
Multi-echelon optimization . . . .
4.1 The 2-echelon case . . . . . .
4.1.1 Problem formulation .
4.1.2 The general algorithm
4.1.3 Initialization . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
33
34
40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
VIII
Contents
4.1.4
4.1.5
4.1.6
4.2
Checking and refining breakpoints . . . . . . . . . . . . . . . . .
Adding new breakpoints . . . . . . . . . . . . . . . . . . . . . .
Heuristic to speed up the algorithm by introducing additional step
size constraints . . . . . . . . . . . . . . . . . . . . . . . . . . .
The n-echelon case . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Wait time calculation in n-echelons . . . . . . . . . . . . . . . .
4.2.2 Structure of the optimization problem . . . . . . . . . . . . . . .
4.2.3 Optimization algorithm . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 Step size heuristic . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
41
42
.
.
.
.
.
.
44
50
51
54
55
64
5
Experimental results . . . . . . . . . . . . . . . . . . . . . . .
5.1 Set-up of simulation . . . . . . . . . . . . . . . . . . . . .
5.2 Comparison of wait time approximations . . . . . . . . . .
5.2.1 Random data . . . . . . . . . . . . . . . . . . . .
5.2.2 Real-world data . . . . . . . . . . . . . . . . . . .
5.2.3 Summary of comparison . . . . . . . . . . . . . .
5.3 2-echelon results . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Structure of the optimal solution . . . . . . . . . .
5.3.2 Optimization and simulation using real-world data
5.3.3 Performance of the algorithm . . . . . . . . . . .
5.3.4 Analysis of heuristics . . . . . . . . . . . . . . . .
5.4 n-echelon results . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Set-up of optimization and input data . . . . . . .
5.4.2 Structure of the solution . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
69
69
72
74
82
94
95
95
99
103
104
107
107
108
6
Real-world application . . . . . . . . . . . . . . . . . . . . . .
6.1 Selection of suitable wait time approximations . . . . . . . .
6.2 Selection of optimization algorithms and heuristics . . . . .
6.3 Key takeaways for implementation in real world applications
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
113
113
114
115
7
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
List of Figures
2.1
2.2
2.3
2.4
Example of a serial system . . .
Example of a divergent system .
Example of a convergent system
Example of a general system . .
.
.
.
.
8
8
9
9
3.1
3.2
A 3-echelon distribution network . . . . . . . . . . . . . . . . . . . . . . .
Effects of increasing a non-local reorder point . . . . . . . . . . . . . . . .
21
22
Example of a 2-echelon distribution network . . . . . . . . . . . . . . . . .
Flow chart of our optimization algorithm . . . . . . . . . . . . . . . . . . .
Example of an under- and overestimator . . . . . . . . . . . . . . . . . . .
Refining the constraint of a warehouse i by adding new breakpoints . . . .
Local reorder point needed for a given cental reorder point to fulfill fill rate
targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Length of the step sizes and corresponding central reorder point . . . . . .
4.7 Actual local reorder points needed and underestimating constraints . . . . .
4.8 Actual local reorder points needed and estimating constraints with or
without adjusted slopes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Network with three echelons . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Reduction of Ri, j given different Rl,m ∈ Pi, j . . . . . . . . . . . . . . . . .
4.11 Refinement of Constraint 4.38 for one warehouse (l, m) ∈ Pi, j . . . . . . . .
32
35
37
43
4.1
4.2
4.3
4.4
4.5
5.1
5.2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
45
45
47
49
50
57
59
Schematic process diagram of the simulation . . . . . . . . . . . . . . . . 70
Process of calculating reorder points for the simulation given a prescribed
central fill rate target, a wait time approximation and local fill rate targets . 73
5.3 Errors of KKSL approximation for mean and standard deviation of wait
time for the “medium high” scenario and the test set of base
parametrization of Table 5.4 for the different warehouses . . . . . . . . . . 78
5.4 Errors of mean and standard deviation of the wait time for the different
approximations and network sizes in the “medium low” scenario . . . . . . 79
5.5 Average value of reorder points and inventory levels for local warehouses
for the different scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.6 Average value of reorder points for local warehouses for the different
scenarios excluding test cases not suitable for NB . . . . . . . . . . . . . . 82
5.7 Absolute error of mean of the different approximations for different classes
88
5.8 Absolute error of standard deviation of the different approximations for
different classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.9 Boxplot of central fill rates for different wait time approximations . . . . . 96
5.10 Deviations of simulation results from fill rate targets, real-world scenario . . 100
5.11 Real-world 3-echelon distribution network with expected transportation times108
X
List of Figures
5.12 Boxplot of the share of stock at different echelons for results with non-zero
non-local reorder points . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.13 Scatter plot of the share of reorder points on first and second echelon for
results with non-zero non-local reorder points . . . . . . . . . . . . . . . . 110
A.1
A.2
A.3
A.4
A.5
A.6
A.7
A.8
Varying expected local demand . . . .
Varying variance of local demand . .
Varying central order quantity . . . .
Varying local order quantity . . . . .
Varying price at central warehouse . .
Varying lead time at central warehouse
Varying fill rate targets . . . . . . . .
Varying number of local warehouses .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
133
134
135
136
137
138
139
140
List of Tables
3.1
Classification within the literature as suggested by de Kok et al. [dKGL+ 18]
30
5.1
5.2
5.3
5.4
5.5
Warehouse input data needed for simulation . . . . . . . . . . . . . . . . .
Parameters of simulation . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performance measures for each warehouse of the simulation . . . . . . . .
Sample network characteristics . . . . . . . . . . . . . . . . . . . . . . . .
Parameter variations and variation type, multiplicative (m) or absolute (a),
for the creation of the test cases . . . . . . . . . . . . . . . . . . . . . . . .
Prescribed central fill rate, average simulated fill rate and name of scenario .
Average wait time and standard deviation for different scenarios and wait
time approximations in comparison to the simulated results . . . . . . . . .
Average deviations from fill rate targets for local warehouses, average of
all test cases except the test cases for the network size n and the fill rate
targets β̄ (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Average deviation from fill rate target for local warehouses for NB
approximation excluding test cases not suitable for NB . . . . . . . . . . .
Prescribed central fill rate and average simulated value . . . . . . . . . . .
Relative accuracy of the KKSL approximation of mean and standard
deviation (sd) for scenarios with medium to high fill rate relative to the
other approximations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Average simulated values and absolute error of the approximations for test
cases in different scenarios . . . . . . . . . . . . . . . . . . . . . . . . . .
Error of the approximations in different scenarios . . . . . . . . . . . . . .
Relative accuracy of KKSL approximation compared to other
approximations for test cases with small and large differences between
local warehouses, with difference defined as in eq. (5.5) . . . . . . . . . . .
Absolute error of approximated standard deviation (sd) of wait time for test
cases with different values of Qi /μi . . . . . . . . . . . . . . . . . . . . .
Average simulated values and error of the approximations of mean and
standard deviation (sd) for different scenarios, for test cases with Qi /μi ≤ 25
Relative accuracy of the NB approximation for the mean, the standard
deviation (sd) and a combined (comb.) compared to other approximations.
Evaluated for different scenarios regarding the central fill rate (fr), only for
test cases with Qi /μi ≤ 25 . . . . . . . . . . . . . . . . . . . . . . . . . .
Relative accuracy of the KKSL approximation for the mean, the standard
deviation (sd) and a combined (comb.) compared to other approximations.
Evaluated for different scenarios regarding the central fill rate (fr), only for
test cases with Qi /μi ≤ 25 . . . . . . . . . . . . . . . . . . . . . . . . . .
70
72
72
74
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
75
76
77
80
81
84
85
85
86
87
88
90
90
90
XII
List of Tables
5.19 Relative accuracy of NB approximation compared to other approximations
for test cases with small and large differences between local warehouses,
for medium to high central fill rate scenarios and Qi /μi ≤ 25 and with
difference defined as in eq. (5.5) . . . . . . . . . . . . . . . . . . . . . . .
5.20 Relative accuracy of NB approximation compared to other approximations
for test cases with small and large differences between the order quantity
of local warehouses, for low central fill rate scenarios and Qi /μi ≤ 25 . . .
5.21 Mean of simulation and error of approximations for the standard deviation
for results with different number of local warehouses . . . . . . . . . . . .
5.22 Relative accuracy of the BF approximation for the mean and standard
deviation (sd), comparison for high and low mean of central lead time
compared to other approximations . . . . . . . . . . . . . . . . . . . . . .
5.23 Relative accuracy of AXS approximation compared to other
approximations for test cases with small and large differences between
local warehouses, with difference defined as in eq. (5.5) . . . . . . . . . . .
5.24 Average simulated values and errors of the approximations for the mean
and standard deviation (sd), for test cases with different values of σ 2 /μ . .
5.25 Sample network characteristics . . . . . . . . . . . . . . . . . . . . . . . .
5.26 Average daily inventory value, real-world scenario . . . . . . . . . . . . .
5.27 Total value of reorder points, real-world scenario . . . . . . . . . . . . . .
5.28 Deviation of the average daily inventory value from the optimal solution
given a prescribed central fill rate . . . . . . . . . . . . . . . . . . . . . . .
5.29 Approximation and simulation results for the mean and standard deviation
of the wait time, real-world scenario . . . . . . . . . . . . . . . . . . . . .
5.30 Approximation and simulation result for the wait time for big differences
in replenishment order quantity, real-world scenario . . . . . . . . . . . . .
5.31 Comparison of runtime, objective values and share of optimal results of
heuristics and original optimization algorithm . . . . . . . . . . . . . . . .
5.32 Comparison of runtime, objective values and share of optimal results of
heuristics and original optimization algorithm for high demand instances
with long runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.33 Distribution of stock in the network . . . . . . . . . . . . . . . . . . . . .
5.34 Distribution of stock in the network . . . . . . . . . . . . . . . . . . . . .
5.35 Pearson correlation coefficients of different values with the share of
reorder points kept at respective warehouses . . . . . . . . . . . . . . . . .
6.1
6.2
91
92
92
93
94
94
95
101
101
101
102
103
105
106
109
109
111
Percentage share of number of parts and revenue in the classes of the
multi-criteria abc analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Multi-criteria ABC analysis and selection of suitable algorithms . . . . . . 115
A.1 Data that was used to create the example in the 2-level heuristics section.
pi is equal for all warehouses. . . . . . . . . . . . . . . . . . . . . . . . . 128
A.2 Mean simulated fill rates over all variations and instances for local
warehouses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
List of Tables
A.3 Absolute error of the standard deviation for test cases with different ratios
of order quantity and mean daily demand, Analysis of H3 . . . . . . . . . .
A.4 Relative accuracy of the AXS approximation regarding the mean, standard
deviation (sd) and combined (comb.) for different central fill rates (fr) and
test cases with Qi /μi ≤ 25 . . . . . . . . . . . . . . . . . . . . . . . . . .
A.5 Average simulated values and absolute errors of mean and standard
deviation (sd) of the approximations for different scenarios, for test cases
with Qi /μi ≤ 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.6 Mean of simulation and absolute error of the approximations for the
standard deviation for test cases with different number of local warehouses .
A.7 Average simulated values and absolute error of mean and standard
deviation (sd) of the approximations, for test cases with different values of
σ 2 /μ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.8 Approximation and simulation results for the mean and standard deviation
of the wait time, retrospective scenario . . . . . . . . . . . . . . . . . . . .
A.9 Approximation and simulation results for the wait time for large
differences in replenishment order quantities, retrospective scenario . . . .
XIII
130
130
130
131
131
131
132
Nomenclature
Roman Symbols
B
Backorders
D
Demand
L
Lead time
Q
Order Quantity
R
Reorder point
T
Transportation time
W
Wait time
X
Random variable
p
Price of part or cost of holding an item in storage during one time unit
Abbreviations
cd
complete deliveries
cdw
complete deliveries weighted
pd
partial deliveries
AXS Wait time approximation by Axsäter [Axs03]
BF
Wait time approximation by Berling and Farvid [BF14]
KKSL Wait time approximation by Kiesmüller et al. [KdKSvL04]
METRIC Multi-echelon Technique for Recoverable Item Control
NB
New wait time approximation based on the negative binomial distribution
fr
fill rate
ILP
Integer linear programming
sd
standard deviation
XVI
Nomenclature
Mathematical Symbols
β̄
Fill rate target
β (R) Fill rate for a given reorder point R
Γ(·)
Gamma function
γ(·, ·) Lower incomplete gamma function
bini (R0 ) Inverse fill rate function, which returns the lowest Ri for a given R0 such that the
fill rate target is fulfilled
cdf X (x) Cumulative distribution function of the random variable X evaluated at x
pdf X (x) Probability distribution (or mass) function of the random variable X evaluated at x
μ
Mean demand during one time unit
σ
Standard deviation of demand during one time unit
D(L) Demand during lead time
I Lev
Inventory level
I Pos
Inventory position
Pr(X = x) The probability that the random variable X is equal to x
1 Introduction
Inventory is one of the most important levers in supply chain management and is often used
to balance competing goals. Developments in the last decades with rapid advancements in
information technology have in theory enabled companies to plan inventory along their entire supply chain and enter the field of multi-echelon inventory management. By holistically
looking at the supply chain, it takes inventory at every echelon into consideration. Simultaneously, academic research has developed algorithms to plan inventory and optimize safety
stocks across all echelons. However, even today many companies just do single stage inventory planning with only little advance towards a true network planning. Nevertheless,
Silver et al. state that those methods are a “critical element of long-term survival and competitive advantage” [SPT16, p1]. The gap between the existence of algorithms and the low
penetration of industry with advanced inventory planning methods was the motivation for
this thesis.
The reasons for this gap are twofold: Many of the proposed algorithms make unrealistic assumptions about real-world supply chains and rather focus on what is mathematically tractable than what is being found in practice. For many real-world settings, companies have
to deal with “second best solutions” or even evaluate options by simulation only [Axs15].
Cattani et al. even claim that [traditional inventory literature is] “practically useless in an
actual multi-echelon system” [CJS11]. At the same time most companies do not fully understand the complexity of inventory management and prefer to rely on easy to understand
heuristics or on the experience of their planers rather than mathematically sound inventory
management methods. In fact, many companies and commercial software solutions fall
back to simple single-echelon calculations [CJS11].
Inventory is a measure to deal with uncertainty in demand and it allows a company to satisfy
the demand of its customers for the respective goods. The two competing goals are usually
to keep costs down while maintaining a high service level. A high service level is a major
driver of customer satisfaction. Companies therefore usually have a lot of capital tied in
inventory. With better tools, it is possible to reduce inventory without increasing other costs
and maintaining the same service level.
The aim of our work is to
1. develop efficient algorithms to manage inventory that can be applied in real-world supply
chains,
2. use real-world data to point out the significant savings that can be obtained by the use of
these algorithms,
3. and test the quality of the solutions with simulations based on historic demand data.
We supply companies with the needed algorithms to plan inventory in networks and show
that an implementation is worth the effort. By running simulations based on historic demand
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_1
2
1 Introduction
data, we validate that our assumptions and theoretical insights are suitable to use in realworld supply chains.
Our work was inspired by the needs of an after sales supply chain of a big automotive
company. This company is supplying customers all over the world with spare parts for
their cars and operates a distribution network with more than 60 warehouses. This supply
chain faces two particular challenges: Demand is highly uncertain and customers expect
a high service level. The algorithms, however, can be applied in all supply chains which
operate with the same inventory policy, i.e., distribution networks where all locations use
(R,Q)-policies. The (R,Q)-order policy is probably the most widely used policy in practical
applications. Our aim is to determine the optimal reorder points for given order quantities.
In the next section, we give a literature review and point out how and where our research
adds value to the field of inventory management.
1.1 Literature review
In multi-echelon inventory management two competing approaches exist. The stochasticservice approach was started at the end of the 50s with a work by Clark and Scarf on serial
systems [CS60] [CS62]. The first model on divergent systems is by Sherbrooke who introduced the so called METRIC model (Multi-echelon Technique for Recoverable Item Control) [She68]. The other approach on so called guaranteed service was started by Simpson
[Sim58]. The approaches differ in a central assumption about lead time. In the stochastic
service approach, each stage is subject to stochastic delays in deliveries caused by stockouts, in the following referred to as wait time. The guaranteed service approach assumes
that demand is bounded or each stage has resources other than on hand inventory to handle
stock-outs. Therefore, no additional delay caused by stock-outs occurs. These additional
resources are usually summarized by the term operational flexibility and are, for example,
expediting or overtime. For a comparison of the two approaches, we refer to Graves and
Willems [GW03] as well as Klosterhalfen and Minner [KM10]. A recent review and typology of the entire field of multi-echelon optimization was done by de Kok et al. [dKGL+ 18].
Other recent reviews are by Gümüs et al. [GG07] and Simchi-Levi and Zhao [SLZ12]. In
our work we focus solely on the stochastic service approach due to its better fit to the practical applications that motivated our work. Especially, that the guaranteed service model
neglects the possibility of internal stock inefficiencies is not a realistic assumption in many
of the supply chains we deal with in this work.
The majority of the research focuses on 2-echelon networks only. For many models the
extension to n-echelons is not straightforward, which is why we will especially highlight
the research that considers n-level networks. Customer demand that cannot be fulfilled from
stock on hand is either backordered or lost. We will only consider the backorder case in this
literature review and our work, which is motivated by a spare parts supply chain. In such a
supply chain the assumption that customers wait until parts are delivered is realistic.
1.1 Literature review
3
There are two major different objectives of multi-echelon optimization. The first one is cost
minimization, which usually means the minimization of the sum of holding and backorder
costs in the network. This concept is difficult to implement in practice because it is not easy
to estimate backorder cost. The second one is to minimize the holding cost or the investment
in stock subject to service level constraints. In practice, service level constraints are easier
to define than backorder cost. Another not so common objective is minimizing the number
of expected backorders.
A lot of research covers (s,S)-policies, which is also referred to as base-stock policies. The
Clark and Scarf model and subsequent papers based on it use those policies with periodic inventory review. Clark and Scarf considered a serial system and showed that a (s,S)-policy is
optimal in this system [CS60]. The extension to distribution systems relies on the so called
balance assumption. Upstream warehouses can allocate negative quantities to downstream
warehouses. This implies that an optimal allocation of stock in the network is always possible. Eppen and Schrage used this in a 2-level network with identical retailers and a normal
distribution of demand [ES81]. The central warehouse is not allowed to hold stock in their
model. Various extensions exist, for example, for non-identical retailers and stock at the
central warehouse ([Fed93], [DdK98] and many more). Dogru et al. studied the effects of
the balance assumption extensively and conclude, that it is not appropriate in many settings
but leads to good results in some [DdKvH09]. Especially if the lead time of the central
warehouse is long or the coefficient of variation of demand is large, the balance assumption
is often violated.
The approximate METRIC approach ([She68]) and its first extensions ([Muc73], [She86],
[Gra85]) use a continuous review base-stock policy and assume Poisson demand. Therefore,
the demand at upstream warehouses also follows a Poisson distribution. This approach is
suitable for low demand items with low variance. It was originally intended for repairable
items but can also be used for consumable items [AR93]. By applying Little’s formula,
the expected wait time is computed as an average for all preceding warehouses. Then, the
stochastic lead time is simply approximated by its mean, i.e., the sum of expected transportation time and wait time. The original METRIC model does not model the variance of the
wait time but only considers the mean. Axsäter additionally included the variance of the
wait time with the help of a normal approximation [Axs03].
If a cost minimization approach is used, the optimal solution can be found by enumeration (cp. [Axs03]). A different approach is to minimize the number of expected backorders
(or the expected backorder cost) for a given investment in inventory (for example [She13]).
METRIC is simple and easy to implement and is probably the most widely used approach
in practical applications. If local warehouses are non-identical, applying the METRIC approach means that the average delay of all retailers is used and this may lead to large errors
for individual local warehouses. An alternative to the METRIC solution is to analyze the
system by disaggregating the backorders of the central warehouse to the individual local
warehouses, i.e., to determine the distribution of outstanding orders of each local warehouse.
This way, an exact solution is possible (cp. [Gra85]).
4
1 Introduction
Batch-ordering systems, especially systems where all warehouses use a (R,Q)-policy, are
much more difficult to evaluate [Axs03]. The reason is that the demand process at a central
warehouse is a superposition of the order processes of all succeeding warehouses. Most
publications on this kind of systems consider only policy evaluation and not optimization.
Deuermeyer and Schwarz were the first to extend METRIC approximations to batch-ordering systems [DS81]. They consider a 2-level distribution system with identical retailers and
Poisson demand. Schwarz et al. developed heuristics based on this model which maximize
system fill-rate subject to a constraint on system safety stock [SDB85]. Svoronos and Zipkin
additionally derived an approximation of the variance of the wait time [SZ88]. Axsäter used
a similar technique [Axs03]. He presents a simple search algorithm for optimization that
may end up in a local optimum and also sketches how his model can be extended to nlevels.
Andersson et al. suggested an iterative coordination procedure for the 2-level case, identical
local warehouses and a METRIC-type approach [AAM98]. They decomposed the cost
minimization model and introduced a shortage penalty cost at the central warehouse level
for delayed orders of succeeding warehouses. If the lead time demand is normally distributed, they can guarantee optimality. Andersson and Marklund generalized this for nonidentical local warehouses [AM00]. Berling and Marklund analyzed what the optimal shortage penalty cost for various system parameters is [BM06]. Later, Berling and Marklund
also extended the model and introduced fill rate constraints at local warehouses ([BM13],
[BF14]).
Disaggregating the backorders at the central warehouse is also possible for batch-ordering
systems. Determining the exact distribution is difficult and was only done for Poisson demand by Chen and Zheng [CZ97]. Approximate procedures were developed by Lee and
Moinzadeh ([LM87a], [LM87b]). Another possibility is tracking each supply unit. Due to
computational limitations, this is only possible for relatively small problems [Axs00]. For
a short overview of this line of research we refer to Axsäter [Axs15].
More recently Kiesmüller et al. developed an approximation for the first two moments of the
wait time due to stock-outs in general n-level distribution systems by using a two-moment
distribution fitting technique [KdKSvL04]. They assumed compound Poisson demand. Berling and Farvid considered a similar system but only deal with the 2-level case [BF14].
To our knowledge, no techniques to find optimal reorder points for the approximations of
Kiesmüller et al. and Berling and Farvid exist until now.
It is clear from the literature review that multiple models to characterize the system characteristics of multi-echelon inventory systems exist. They vary widely in the assumptions they
make and produce results of different quality in different circumstances. However, the lack
of fitting techniques to obtain the optimal solution is striking. A notable exception is the
line of research by Andersson, Berling and Marklund, who supply optimization algorithms
for the 2-level case and a METRIC-type approach. Many papers omit the topic of finding
the optimal parametrization for an order policy completely. The few that dealt with it either
offer some kind of heuristic or simply suggest an enumeration or simulation approach to
1.1 Literature review
5
obtain good results. Most available algorithms make assumptions like identical local warehouses or Poisson demand, that are hardly valid in practice. Furthermore, most papers focus
on 2-level networks with no ready means to extend algorithms to the n-level case.
In our work, we fill this research gap and introduce a generic method for the 2-level case,
which only relies on mild assumptions and can handle different types of wait time approximations. Additionally, we develop a method for the n-level case which builds on the work
by Kiesmüller et al. [KdKSvL04].
In Chapter 2, we present the basic concepts of inventory management, derive the necessary
equations for a single-echelon system and summarize the assumptions of our work. We then
extend the findings to multi-echelon distribution networks and discuss different wait time
approximations as well as introducing a new approximation in Chapter 3. The core of our
work are the optimization algorithms, which we develop in Chapter 4 for the 2-echelon case
and the general n-echelon case. For both cases, we develop additional heuristics, which can
not guarantee optimality anymore but are expected to find good solutions fast and often end
up in the optimum. In Chapter 5, we report on extensive numerical experiments and simulations. First, we compare how accurate different wait time approximations are in different
settings and develop guidelines how to choose a suitable distribution. Then, we analyze
results of our 2-level optimization algorithm with test as well as real-world data to gain insights into the structure of an optimal solution given the different wait time approximations.
At the end we do a similar but somewhat more limited analysis for the n-level algorithm by
computing results for a real-world 3-level distribution network. In Chapter 7, we summarize
our findings and highlight future research opportunities.
2 Inventory management
In this chapter we introduce the basic definitions and concepts of inventory management in
a multi-echelon setting. We hereby focus on the content needed for our thesis, but also highlight other essentials of inventory management. Then, we give a comprehensive overview
of the assumptions made in this thesis. In the last section of this chapter, we discuss the
characteristics of a single-echelon system as many results carry over to the multi-echelon
case.
2.1 Basic concepts
2.1.1 Supply chain structures
The diversity of supply chains has lead to the establishment of different structures in the
literature, which cover a wide range of problem settings. We present the four basic types:
serial, convergent, divergent and general structures.
The most essential nodes in our work are the warehouses (indicated by triangles in the
following figures), where inventory is kept. Note, that warehouses could also be considered
as production or transformation nodes in a more general setting. They are under control
of the planer, which is illustrated by the area encircled by the dotted line in the following
figures. The suppliers (indicated by an rectangle) and the customers (indicated by circles)
are outside of the system and exogenous factors. The arrows indicate the flow of material.
By ordering stock from the supplier, material enters the system. When goods are demanded
by the customer and the order is fulfilled, stock exits the system. Material moves through
the system and we will refer to each stage or level as an echelon. We enumerate the echelons
(levels) of the system from top to bottom along the flow of material.
The nodes of the last echelon, that fulfill external customer demand, are often called retailers
or local warehouses. In a 2-level system, i.e., a system with two echelons, the warehouse in
the first echelon is commonly refereed to as central warehouse. In all networks, warehouses
on the first (up-most) echelon, which receive goods from external suppliers, are sometimes
referred to as master warehouses or entry nodes. Only the last echelon in the network
fulfills customer demand. If a network is considered where this constraint is violated, virtual
warehouses with zero lead time can be added. This procedure is explained in more detail at
the beginning of Chapter 3.
We will first explain our notation in more detail with the simplest system, a serial system,
and then carry it over to more complicated systems.
Definition 1 (Serial system). A serial system is a system of warehouses where each node
in the network may only have one predecessor and one successor.
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_2
8
2 Inventory management
An example of this kind of system with two echelons is shown in Figure 2.1. Each echelon
consists of only one warehouse (indicated by a triangle) with the up-most warehouse in the
chain being the first echelon and the succeeding warehouse being part of the second echelon.
The supplier (rectangle) and the customers (circles) are outside of the planners control.
Figure 2.1: Example of a serial system
Definition 2 (Divergent System). A divergent system is a system of warehouses where
each node in the network may only have one predecessor but many successors. A divergent
system is arborescent.
Divergent structures usually refer to a replenishment or distribution system. Starting from
the entry node inventory is distributed along the network. This is the classical system of
spare parts inventory management. Figure 2.2 shows a divergent system with two echelons.
Figure 2.2: Example of a divergent system
Definition 3 (Convergent system). A convergent system is a system of warehouses where
each node in the network may have many predecessors but only one successor.
Convergent systems have the contrary definition compared to divergent systems. This type
of structures is mainly used for manufacturing supply chains where certain materials are
processed through several echelons until the end product is manufactured.
2.1 Basic concepts
9
Figure 2.3: Example of a convergent system
Definition 4 (General system). A general system is a system of warehouses with no restrictions on the number of predecessors and successors.
A general system allows for any kind of relationship and has no restrictions whatsoever.
Examples for this are a generalization of distribution systems which permit lateral transshipment or assembly systems where a node has more than one successor, i.e., a good that
is processed in one node is needed in more than one node in the next echelon (cp. Figure 2.4
for an example).
Figure 2.4: Example of a general system
The considered supply chain in this work has a divergent structure and we will only deal
with structures of this type unless noted otherwise.
2.1.2 Inventory
In order to discuss inventory, we introduce different concepts of how to think of stock or the
lack thereof at each individual warehouse in our network.
10
2 Inventory management
Definition 5 (Stock on hand). Stock on hand is the physical inventory in a warehouse that
is immediately available to fulfill orders.
Definition 6 (Outstanding orders). Outstanding orders is the total quantity of stock that
has been ordered by a warehouse but yet has to arrive.
Definition 7 (Backorders). Backorders are demand that already occurred but could not yet
be delivered to a succeeding warehouse or customer, respectively.
Backorders do not occure in the case of lost sales (cp. Section 2.1.3).
Definition 8 (Inventory level). The inventory level I Lev is the stock on hand minus the
backorders.
The inventory level describes how much inventory is available to satisfy incoming demand.
It can also be negative if backorders are larger than the stock on hand.
Definition 9 (Inventory position). The inventory position I Pos is defined as stock on hand
plus outstanding orders minus backorders and characterizes the current stock situation at a
warehouse.
The inventory position is a useful concept for implementing order policies, as an ordering
decision can not only be made depending on the stock on hand (see Section 2.1.7). It
also has to take backorders as well as any outstanding order that has not yet arrived into
consideration. In a multi-echelon context two different concepts of the inventory position
exist. The installation stock concept considers only the stock at the current installation. In
this case, the inventory position is determined as described in Definition 9.
The alternative is the echelon stock concept. The echelon inventory position is the installation inventory position of the current warehouse plus the installation inventory position of
all succeeding downstream warehouses. Here, the idea is to capture the inventory situation
in the respective warehouse itself and all dependent warehouses.
While echelon stock reorder point policies dominate installation stock reorder point policies
for serial and assembly systems, this is not the case for divergent systems. For divergent
systems, it depends on the characteristics of the system which stock concept performs better
([Axs93], [AJ96], [AJ97]). For 2-level divergent systems, echelon stock seems to outperform installation stock for long central warehouse lead times, while installation stock seems
to be better for short lead times, but the cost difference was small in many cases [AJ96].
We only consider installation stock in this thesis, which is commonly used in practical
applications. The concept is much easier understood and handled by practitioners.
2.1 Basic concepts
11
2.1.3 Customer response to stock-outs
If demand cannot be satisfied immediately, there are three different possible customer reactions: backorders, lost sales and guaranteed service. Backorders imply that customers wait
until additional stock arrives to satisfy their order in case of a stock-out. On the contrary,
lost sales imply that the demand and therefore the possible associated sale cannot be realized and therefore is lost. As already pointed out in Section 1.1, we focus on the stochastic
service approach which allows either backordering or lost sales.
To contrast the two approaches and for the sake of completeness, we nevertheless provide
some details about guaranteed service: Here, the assumption is made that all demand can be
satisfied in any case, which is either obtained by bounding demand or by introducing some
unspecified flexibility into the model. By this unspecified flexibility, additional inventory
appears, for example, by some emergency measure if a costumer demand occurs during
a stock-out situation. Strictly speaking, the customer response in stock-out situations is
unspecified, as such a situation does not occur.
We assume full backordering, i.e., all demand that occurs during stock-outs is backordered
and fulfilled at some later point in time. This is a common assumption in the literature (cp.
[dKGL+ 18]), and especially valid for spare parts networks. If a customer requires a part for
a repair, the assumption that he waits for the part to arrive and the sale is not lost is much
more plausible than for example for consumable goods.
2.1.4 Lead time
Lead time L is the time it takes for an order of a warehouse to be fulfilled, i.e., from the time
the order is placed until the goods arrive at the warehouse and are available to fulfill the
demand. Lead time therefore consists out of the transportation time T and some additional
delay due to stock-outs at the supplying unit, the so called wait time W . Note, that the
transportation time T does not only capture the pure transit time from supplier to warehouse.
It is the entire time frame from when the stock is available at the supplier to fulfill the order
until it is available for customer orders at the warehouse. Therefore, it does among others
also include inspection time at the warehouse or time it takes to store the goods in the
warehouse after they arrived.
The transportation time can be deterministic or stochastic. In the literature it is often assumed to be deterministic [dKGL+ 18]. However, it is stochastic in real-world due to a number of different factors such as traffic, delays in custom, cutoff times for sea or rail transport
and many more. We will therefore assume stochastic transportation time. Many models
require the additional assumption that orders cannot cross each other in time if transportation time is stochastic (for example [KdKSvL04]). An extensive discussion of this issue can
be found in the textbook of Axsäter [Axs15]. Our optimization algorithms do not require
any assumption about order crossing. Our novel wait time approximation, however, is a
modification of the model of [KdKSvL04] and therefore also requires this assumption.
12
2 Inventory management
Wait time either is a stochastic variable or 0. The wait time is 0 if the assumption is that the
respective supplier has ample stock. This assumption is often made for external suppliers
when no insight into the stocking situation and decision of the supplier is available. Any
variation in lead time is then modeled as part of a stochastic transportation time. Wait time
is only 0 for the entry node/master warehouse in the supply chain, which is supplied by an
external supplier.
2.1.5 Demand
Throughout our work stochastic, stationary customer demand D is considered. For many
formulas and the experimental results, we focus on a compound Poisson process. Customers
arrive according to a Poisson process with intensity λ and the demand size of each incoming
customer is a stochastic variable. However, our optimization algorithms themselves make
very little assumptions about the type of stochastic demand and can be applied to other
settings as well.
In practical applications, the properties of the stochastic demand are not given. Usually a
forecast value for a time period and a historical forecast error such as the root mean squared
error (RMSE) are available. As inventory can always be replenished within the lead time, it
is usually considered as “the period of risk”. Often forecast and forecast error are used to
derive mean and variance during lead time. Then, a suitable distribution is selected and a
two-moment fitting is done. We will detail this out in Section 2.2.1. An alternative to this
is to use the historic demand data to do a more sophisticated distribution fitting or construct
an empirical distribution.
If demand during a time period is large, the discrete demand is commonly approximated by
a continuous distribution in literature as well as practical applications [Axs15]. This either
allows more analytical insights into models or simply offers computational benefits.
2.1.6 The order quantity
The order quantity (or lot size) Q is the quantity a warehouse orders from its predecessor
or supplier respectively if it has decided to place a replenishment order. Lot sizes are either
fixed or dynamic. In our work, the order quantity for an item is fixed for the considered time
period and given exogenously.
The underlying assumption for fixed order quantities is usually a constant demand. The bestknown approach for fixed lot sizes is the so called economic order quantity, which derives
an optimal order quantity, i.e., minimize holding and ordering costs. It was first developed
by Harris [Har13]. It is very easy to apply, but relies on restricting assumptions which are
usually violated in practical applications. There are numerous extensions that include all
kinds of additional factors. A common approach in practice is to determine an economic
order quantity and then round to the nearest package size, which is often a limitation on
2.1 Basic concepts
13
how to set order quantities in practical applications. For a more indepth discussion of order
quantities, we refer to Silver et al. [SPT16, pp.145ff.].
2.1.7 Order policies
An order policy prescribes how and when new stock is ordered by a warehouse. A number
of different order policies exist in research as well as in practice. One essential difference
is whether discrete or continuous time is assumed. We assume continuous time throughout
our thesis and omit all policies based on discrete time. We refer to Silver et al. and Axsäter
instead ([SPT16], [Axs15]). Note that the policies presented here can also be used in discrete time if a review period is additionally specified. A common inventory management
policy in practice and in the literature is an order point policy due to its simplicity [SPT16].
Two essential order policies are the (R,Q)-policy and the (s,S)-policy.
Definition 10 ((R,Q)-policy). An order of size Q is placed every time the inventory position
is at or below the reorder point R until the inventory position is above R again.
In case of continuous review and continuous or unit-sized demand, the order is always made
when the inventory position is exactly at R. In all other cases this is not guaranteed. It may
be necessary to order multiple Q until the inventory position is sufficiently high again. This
policy is therefore sometimes also denoted as (R,nQ)-policy.
In this work we do not allow for negative reorder points, as is in line with many practical
applications. Our algorithm, however, is not restricted to positive reorder points. If implemented with negative reorder points, we advice to carefully check the implications and the
effect that negative reorder points should have on the objective function.
An alternative to the (R,Q)-policy is the (s,S)-policy.
Definition 11 ((s,S)-policy). Whenever the inventory position is at or below the reorder
point s, enough stock is ordered to fill the inventory position back up to the order-up-to
level S.
The (s,S)-policy is also sometimes referred to as order-up-to policy. If the (s,S)-policy is
used, the order quantity is not constant and is equal to the difference between inventory
position and S. The (s,S)- and (R,Q)-policies are equivalent if an order is always placed
exactly at s and R, respectively, while s = R and S = R + Q hold true.
A special case of the (s,S)-policy is the so called base-stock policy, where s = S − 1, i.e.,
an order is always made when a demand occurs (in case of integer demand and continuous
review). The base-stock policy could alternatively also be interpreted as a special case of a
(R,Q)-policy with Q = 1.
14
2 Inventory management
2.1.8 Service level definitions
In this section, we focus on service level towards external customers, i.e., the service level
of local warehouses. In general three different measures for service level are considered in
research as well as in practical applications with slightly varying definitions (cp. among others [Axs15, pp. 79-80], [SPT16, pp. 248-250] and [Tem99, pp. 368-371]). We differentiate
between demand and orders. Demand is the total number of parts requested during a time
period, while order is the number of parts requested by an individual customer at a specific
point in time.
Definition 12 (Fill rate). The fill rate is the fraction of demand (or orders) that can be
satisfied directly from stock on hand. In the first case we refer to it as volume fill rate while
in the second case we refer to it as order fill rate. Fill rate is also called type 2 service level
or β service level.
Fill Ratevolume =
Fill Rateorders =
Demand satisfied from stock on hand
Total demand
(2.1)
Orders satisfied from stock on hand
Total number of orders
(2.2)
The order fill rate is the most commonly used definition in practical applications and also
the definition we will use throughout this work. The literature focuses mainly on the volume
fill rate. This implies that partial deliveries are possible. A notable exception are Larsen and
Thorstenson who also consider order fill rates and discuss in detail the difference between
the measurements and the underlying implications [LT08]. The other two service level
measures are the cycle service level and the ready rate.
Definition 13 (Cycle service level). The cycle service level is the probability that no stockout occurs during an order cycle, i.e., the probability that no stock-out occurs during two
consecutive replenishment orders. It is also called type 1 or α service level. Assuming a
(R,Q)-order policy and that we order the batch size Q exactly when the inventory level hits
the reorder point R, we can denote the cycle service level as the probability that the reorder
point R is greater or equal than the demand during the lead time L:
Cycle service level = Pr (R ≥ D(L)) .
(2.3)
Note that eq. (2.3) is only correct if the undershoot is ignored.
Definition 14 (Ready rate). The ready rate is the fraction of time with a positive inventory
level:
Ready rate = Pr(I lev > 0).
(2.4)
Recall that the inventory level is defined as stock on hand minus backorders (Definition 8).
The ready rate describes how often the system is “ready” to fulfill new incoming orders
because it has stock on hand. In case of continuous demand the ready rate is equal to the fill
rate.
2.2 Single-echelon systems
15
2.1.9 Cost structure
Up to three types of costs are usually considered in inventory management:
The first type is the holding cost, i.e., the cost of holding an item in storage. Holding cost is
usually expressed as a percentage of the items value and apply for the time that an item is
kept in storage. Part of the holding cost is the return on an alternative investment, handling,
storage, damage, obsolescence, insurance, taxes, etc.
The second type is the penalty cost, i.e., the cost of backordering an item or the cost of a
lost sale, depending on the type of customer the supply chain is dealing with. This cost is
difficult to estimate in practice. Therefore, it is often replaced by a service constraint (see
Section 2.1.8).
The third type is the order cost, i.e., a cost that occurs every time a (replenishment) order
is made. It may incorporate administrative, handling, transportation, machine set-up costs,
etc.
The common assumption in literature is that holding and penalty costs are linear in time and
linear in the number of stock on hand or number on backorder respectively, while order cost
is a fixed cost for each order made [dKGL+ 18].
We use service level constraints throughout this work and therefore do not consider penalty
cost. Furthermore, as our order quantities are exogenously given (see Section 2.1.6), we
cannot influence order cost. The number of orders needed to satisfy demand is fixed as we
assume full backordering (cp. Section 2.1.3).
We are left with the holding cost as our sole cost parameter. An alternative to using some
kind of holding cost, is to just consider the investment in stock. We will use the parameter p
which can either stand for the price of the considered part or the (absolute) cost of holding
one item during one time period in storage. The latter one can be derived as the product of
the holding cost times the price of the item.
2.2 Single-echelon systems
We now derive some insights on single-echelon systems. Those insights can later on be used
for local warehouses, i.e., warehouses on the last echelon of a multi-echelon system, with
little modifications. They will form the basis with which we model all warehouses with
external customer demand.
A single-echelon system is a warehouse that orders parts from an external supplier and
fulfills demand from external customers. We assume that the lead time L as well as the
demand during a single time period D is stochastic. The first two moments of those random
variables are given, while the distribution is not necessarily known. The warehouse has to
fulfill a given fill rate target with minimum inventory.
16
2 Inventory management
First, we derive some demand and inventory characteristics. Then, we detail out how the fill
rate is determined for several demand distributions and how a reorder point can be determined for a given fill rate target.
2.2.1 Stochastic Lead Time Demand
We determine mean and variance of the demand during lead time D(L). Given the expected
demand μ and the variance σ 2 of demand for one time unit, we can compute
E[D(L)] := μE[L]
(2.5)
Var[D(L)] := σ 2 E[L] + μ 2Var[L]
(2.6)
and
[Axs15, p.100].
Now, we fit a suitable distribution to the mean and variance. Many research papers assume
a normal or Poisson distribution [dKGL+ 18]. We believe, that the choice of these two
distributions was made because they are widely known and easy to handle. Both, however,
have some elementary flaws when applied to model lead time demand.
A severe limitation of the normal distribution is that its domain is in the real numbers R.
It always has a positive probability mass on negative values. Unless customer returns are
possible and should be accounted for in the model, this concept of negative demand is not
realistic. Truncating the distribution at 0 increases computational complexity dramatically
[Bur75]. The quality of the approximation depends on the size of the probability mass on
negative values. Most researchers that use the normal distribution argue that it is a good
estimate if the probability mass on negative values is sufficiently small (for a discussion
of this claim cp. among others [TO97]). As the normal distribution is usually used for
high demand this translates to a low coefficient of variation. The normal distribution also
leads to analytical issues, for example, that the uniformity property (Lemma 15) does not
hold anymore, but is just an approximation. Lau and Lau furthermore argue that the normal
approximation is not very robust in many situations and leads to non-optimal solutions even
if the coefficient of variation is very low (i.e., ≤ 0.3) [LL03]. It is even more unsuitable in
situations where the coefficient of variation is high [GKR07].
The Poisson distribution has the limitation that mean and variance are equal by definition,
which is not true in many applications. The demand is therefore not adequately modeled
and the specific uncertainty of demand not captured if this distribution is used.
Experience in industrial settings shows that an approximation with a negative binomial (cp.
Appendix A.2.4) or gamma distribution (cp. Appendix A.2.2) is more fitting. This is in
line with Rossetti and Ünlü, who show in a numerical analysis that those two distributions
are suitable to approximate lead time demand and lead to low errors [RÜ11]. They still
perform reasonably well even if the true distribution is different. In their simulations, the
negative binomial performs slightly better than the gamma distribution. Both distributions
2.2 Single-echelon systems
17
are only defined for non-negative values and therefore do not suffer the drawbacks of the
normal distribution. Furthermore, they are not symmetrical like the normal distribution but
skewed to the right which often better represents demand patterns observed in practice. An
alternative to settling on one distribution only is the use of distribution selection rules which
outperforms the use of one distribution only in many cases.
Our algorithms do not rely on the assumption of a specific distribution. For the experimental
results, we choose to approximate the lead time demand by a negative binomial with the
correct mean and variance as stated in eqs. (2.5) and (2.6).
2.2.2 Insights on the inventory position and the inventory level
If a (R, Q)-policy (see Definition 10) is used and under the assumption that demand is nonnegative and not all realizations of demand are multiples of some integer larger than one,
the following lemma can be shown:
Lemma 15 (Uniformity property of the inventory position). The inventory position as
defined by Definition 9 is uniformly distributed on the integers R + 1, R + 2, ..., R + Q in
steady state.
For a proof, we refer to Axsäter [Axs15, pp. 74-75].
Let t be an arbitrary time and assume the system is in steady state, then the inventory level
(cp. Definition 8) can be expressed as
I Lev (t) = I Pos (t) − D(L).
(2.7)
Now we can determine the expected number of units in stock (I Lev )+ for integer demand:
+ +
E I Lev
= E I Pos (t) − D(L)
=
=
1
Q
1
Q
R+Q
∑
E ( j − D(L))+
j=R+1
j
R+Q
∑ ∑ ( j − k)pdf D(L)(k),
(2.8)
j=R+1 k=0
where pdf D(L) is the probability distribution function of the demand during the lead time
L.
and the expected number of units backordered (see Definition 7) E[B] = E[(I Lev )− ]:
E[B] =
1
Q
R+Q
∞
∑ ∑
(k − j)pdf D(L) (k).
j=R+1 k= j+1
(2.9)
18
2 Inventory management
If demand is continuous, a modified version of the uniformity property is still valid as long
as the probability for negative demand is 0. The inventory position is then uniformly distributed on the interval [R, R + Q]. In cases where the probability for negative demand is
non-zero, for example when using the normal distribution, this is a good approximation as
long as the probability for negative demand is small ([Axs15]). Equations (2.8) and (2.9)
can also be modified to accommodate for continuous demand.
2.2.3 Calculating the fill rate for some demand distributions
In this section, we will detail out how the fill rate is calculated for two demand distributions,
i.e., compound Poisson and gamma for a given reorder point R. We will denote the fill rate
function as β (R).
If demand during lead time follows a continuous distribution, this implies that we have
a continuous demand stream over the considered time period. The concept of order size
therefore does not exist and fill rate and ready rate are equal. Those two insights can be
used to calculate the fill rate.
Compound Poisson demand (Special case: negative binomial demand)
Compound Poisson demand assumes that customers arrive according to a Poisson process
and that the probability for the order size k of each incoming customer is Pr(K = k). If
the order size K follows a logarithmic distribution, the demand during a time period (for
example the lead time) is negatively binomial distributed.
If partial deliveries (pd) are possible and a customer order arrives, the minimum between
the inventory level j and the order size K will be delivered and we can calculate the fill rate
as (cp. [Axs15]):
βpd (R) =
=
R+Q
lev = j)
∑∞
k=1 ∑ j=1 min( j, k)Pr(K = k)Pr(I
∞
∑k=1 k Pr(K = k)
R+Q
∑∞
k=1 ∑ j=1 min( j, k)Pr(K
= k)Pr(I lev = j)
E[K]
(2.10)
.
(2.11)
The probability that the inventory level is equal to a value j can be expressed as:
Pr(I lev = j) =
1 R+Q
∑ Pr(D(L) = l − j).
Q l=R+1
This follows from the uniformity property of the inventory position (cp. Lemma 15).
(2.12)
2.2 Single-echelon systems
19
If only complete deliveries (cd) are permitted, an order can only be fulfilled if the inventory
level j is at least as big as the order size k:
R+Q R+Q
βcd (R) =
∑ ∑ Pr(K = k)Pr(I lev = j).
(2.13)
k=1 j=k
The above formula for complete orders weights all orders equally, independent of size. If
orders should be weighted by size (cdw - complete deliveries weighted), the following formula can be used:
βcdw (R) =
=
R+Q R+Q
∑k=1 ∑ j=1 k Pr(K = k)Pr(I lev = j)
∑∞
k=1 k Pr(K = k)
(2.14)
R+Q
∑k=1 k Pr(K = k)Pr(I lev ≥ k)
E[K]
(2.15)
where
Pr(I lev ≥ k) =
1 R+Q
∑ Pr(D(L) ≤ l − k).
Q l=R+1
(2.16)
Equation (2.16) gives the probability that the inventory level is larger than or equal to a
certain value k. We sum up all all possible starting values l of the uniformly distributed
inventory position (cp. Lemma 15) multiplied by their respective probability Q1 . We multiply
each of the values by the probability that the demand during lead time is less than or equal
to the inventory position, i.e., Pr(D(L) ≤ l − k), and get the steady state probability for the
inventory level.
Gamma demand
Following Tempelmeier [Tem99, p.378], the fill rate can be expressed as
β (R) = 1 −
1
E[backorders at the end of an order cycle]
Q
− E[backorders at the start of an order cycle] .
(2.17)
An order cycle is defined as the time between two subsequent orders. The average backorders during one cycle can be calculated as the difference between the expected backorders
at the end and the start of the cycle.
E[backorders at the start of an order cycle] =
E[backorders at the end of an order cycle] =
∞
R+Q
∞
R
(y − R − Q)Pr(D(L) = y)dy
(y − R)Pr(D(L) = y)dy
(2.18)
(2.19)
20
2 Inventory management
Equation (2.17) works for any continuous distribution and can be calculated for the gamma
distribution as:
β (R) = 1 −
1
α
γ[α + 1, (R + Q)λ ] − γ[α + 1, Rλ ]
Q λ Γ(α + 1)
γ[α, Rλ ]
γ[α, (R + Q)λ ]
+R
− (R + Q)
Γ(α)
Γ(α)
(2.20)
where γ(·, ·) is the lower incomplete gamma function, Γ(·) is the gamma function, α =
E[D(L)]2 /Var[D(L)] and λ = E[D(L)]/Var[D(L)] (derived from [Bur75] and [Tem99, p.
381]). Equation (2.20) is only defined for R ≥ 0.
2.2.4 Determining optimal reorder points
Assuming (R,Q)-order policy (Definition 10) with a given order quantity Q and a fill rate
target β̄ , we can determine the smallest reorder point R to fulfill β̄ using a binary search.
The fill rate (eqs. (2.10) and (2.13)) is increasing in R. Furthermore, for any negative Q
and R ≤ Q the inventory is always non-positive and therefore β = 0. Sometimes, practical
considerations require R ≥ 0. We therefore choose either −Q or −1 as a lower bound for
the binary search and a sufficiently high value for the upper bound.
The general outline of the binary search is explained in Algorithm 16.
Algorithm 16 (Binary search).
1. Choose initial suitable lower and upper bounds lb and ub for the binary search.
2. If ub − lb ≤ 1, terminate the search and return ub.
3. Set m = 12 (lb + ub).
4. If β (m) < β̄ , set lb = m. Otherwise, set ub = m. Go to Step 2.
Note that, because we have chosen to update the lower bound in Step 4 only if β (m) < β̄ ,
we can terminate the search if ub − lb ≤ 1 in Step 2. Choosing tight bounds is imperative in
keeping the runtime low.
3 Multi-echelon distribution networks
In this chapter we are going to extend the results of single-echelon systems in Section 2.2 to
divergent distribution network (cp. Definition 2). We hereby describe how demand and fill
rate can be modeled on the different echelons and how stock on the echelons is connected
via the wait time. Figure 3.1 shows an exemplary 3-echelon distribution network.
We assume that only the last echelon fulfills customer demand. We refer to customer serving
warehouses on the last echelon as local warehouses and non-customer serving warehouses
on higher echelons as non-local warehouses to distinguish these two types of warehouses.
The assumption of customer demand only at the last echelon can be overcome, for example,
by the introduction of virtual warehouses with 0 lead time, as sometimes suggested in literature ([Axs07], [BM13]). Then, stock is exclusively kept for both, local customers and succeeding warehouses, leading to a potential overstock. We advice to only introduce the virtual warehouses to apply the optimization algorithms presented in this thesis. Subsequently,
an inventory rationing strategy for two demand classes could be introduced (as described
for example by Teunter and Haneveld [TH08] or references therein).
For local warehouses i, the properties and formulas of single-echelon systems apply as
described in Section 2.2, but the lead time Li may depend on the stocking decisions at
preceding warehouses. The lead time Li is not a given random variable but is the sum of the
endogenous wait time Wi , which depends on the characteristics of the supplying warehouse,
and the given exogenous transportation time Ti .
For non-local warehouses, we have to aggregate the demand from all succeeding warehouses to compute the lead time demand and subsequent measures like fill rate. We derive
the necessary formulas for this step after discussing the basic mechanics in multi-echelon
distribution networks.
Supplier
Warehouses
Customers
Figure 3.1: A 3-echelon distribution network
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_3
22
3 Multi-echelon distribution networks
While we focus on distribution networks with (R,Q)-order policies and fill rate targets for
local warehouses, many of our results can be extended to other order policies and service
level concepts. In the following we consider networks of a structure as defined by Definition 17.
Definition 17 (Reference network). The reference system is defined as a n-level distribution network. All warehouses operate according to a (R,Q)-policy. A service level target is
given for each local warehouse. Furthermore, Qi is considered a fixed input. We are therefore concerned with determining the reorder points Ri for warehouse i, such that the service
level target at each local warehouse is fulfilled.
The central mechanism that connects stocking decisions at different echelons is the so called
wait time:
Definition 18 (Wait time). Wait time is the time an order has to wait at a non-local warehouse due to a stock-out until sufficient stock is available again to fulfill the order.
In Section 3.2 a more detailed discussion of wait time and its approximation is given. A
stocking decision at a warehouse has consequences for all succeeding warehouses, as the
wait time increases with decreasing reorder point and the lead time is subsequently increased
as well. To illustrate the mechanics at work, an overview of the trade-off of selecting suitable
reorder points is given in Figure 3.2.
Figure 3.2: Effects of increasing a non-local reorder point
After increasing or decreasing a non-local reorder point, we can always find a suitable (local)
reorder point at each local warehouse such that service level targets are met. The same is
not necessarily true if we change local reorder points. Non-local reorder points can only
influence the wait time and not the transportation time. We always need sufficiently high
local reorder points to cope with demand during transportation time. We cannot compensate
the fill rate loss of any decrease of a local reorder points by an increase of a non-local reorder
point.
Lemmas 19 and 20 state two main properties of our system which may sound trivial at first,
but supply us with useful information about the dynamics in our system. We later use those
properties to construct our optimization algorithms in Chapter 4.
Lemma 19 (Monotonicity of service level). The service level at a local warehouse in
the reference network (Definition 17) is non-decreasing in the reorder points of the local
warehouse itself and in the reorder points of all its predecessors.
3.1 Lead time demand and fill rate at non-local warehouses
23
While Lemma 19 is intuitively true, we proof it for the special case of order fill rate and
compound Poisson demand in Appendix A.1.1. Similar proofs can be constructed for other
settings.
Lemma 20 (Reorder points substitution). Consider the reference network (Definition 17).
Each warehouse has a parametrization (Ri , Qi ), such that the local service level targets
are fulfilled. The reorder points Ri are the minimal reorder points needed to fulfill the
service level target: No reorder point Ri of this base parametrization can be lowered without
violating the targets. Starting from this parametrization, an increase of a reorder point at
any warehouse by 1 permits at best a decrease of a reorder point at a succeeding warehouse
by 1 and an increase of a reorder point at a succeeding warehouse by 1 permits at best a
decrease of the reorder point at a preceding warehouse by 1.
Lemma 20 can easily be verified by starting from a serial system with two warehouses as
a special case of Definition 17 and zero transportation time between the two warehouses.
This is the ideal case where we have perfect substitution between the two reorder points and
an exchange ratio of 1:1. Any extension or change to the network or transportation time
worsens the possibility of substitution between reorder points.
3.1 Lead time demand and fill rate at non-local warehouses
To determine the lead time demand at non-local warehouses, we extend the results for singleechelon systems (cp. Section 2.2.1) to non-local warehouses. These results differ from local
warehouses as downstream demand has to be aggregated and the order quantities Q of all
succeeding warehouses have to be taken into consideration.
We assume a 2-level network for ease of notation and refer to the central warehouse with
the index 0, while local warehouses have an index i > 0. An extension to a n-level network
is straightforward.
3.1.1 Mean and variance of lead time demand
We derive the mean and variance of central lead time demand by extending the work of
Berling and Marklund to allow for stochastic lead time at the central warehouse [BM13].
Let L0 be the given random lead time. Furthermore, we assume that the support of this
function is positive.
Due to the uniformity property of the inventory position (cp. Lemma 15), (IiPos (t) − Ri ) is
uniformly distributed on (1, Qi ]. The probability of warehouse i placing at most k orders
conditioned on L0 = l, δi (k|L = l), is:
δi (k|L0 = l) =
Qi
1
∑ Qi Pr (Di(l) ≤ kQi + x − 1) for k = 0, 1, 2, ...
x=1
(3.1)
24
3 Multi-echelon distribution networks
We get a shift of −1 in eq. (3.1) because we want to consider the probability that less than
x orders of size Qi are made during the next lead time l.
Now we can compute the probability by conditioning (cp. [Ros14, p.115]) and obtain for a
continuous distribution of the lead time:
∞
Qi
1
δi (k) =
(3.2)
∑ Pr (Di(l) ≤ kQi + x − 1) Pr(L0 = l) dl
l=1 x=0 Qi
and analog for a discrete distribution.
Directly from eq. (3.1) or eq. (3.2) respectively, we get the probability that exactly k subbatches of size Qi are placed from warehouse i:
⎧
⎪
if k = 0
⎨δi (0),
fiord (k) = δi (k) − δi (k − 1), if k > 0
⎪
⎩
0,
otherwise.
(3.3)
Lead time demand is a random variable which describes the demand during the lead time
that occurs at a specific warehouse. The mean and variance of lead time demand at the
central warehouse can now be determined as
N
E[D0 (L0 )] = ∑ μi E[L0 ] and
(3.4)
i=1
N
Var[D0 (L0 )] = ∑
∞
∑
(μi E[L0 ] − kQi )2 fiord (k)
.
(3.5)
i=1 k=0
Equation (3.4) is a summation of the multiplied expected values of all local warehouses
1, ..., N, where N is the number of local warehouses. For eq. (3.5), we have to assume that
the variances induced from the order process of each retailers are independent. The variance
2 ord
in the order process of local warehouse i is ∑∞
k=0 (μi E[L0 ] − kQi ) f i (k), i.e., the sum of
all possible deviations from the mean squared and weighted by their probabilities. Only
multiples k of the order quantity Qi can be ordered and we can have between 0 and (theoretically) ∞ orders during a lead time. Due to the independence assumption the variances from
all local warehouses can then be summed up.
If a common subbatch q, i.e., a greatest common divisor, of all order quantities Qi exists, the
calculation should be done in units of q as this improves the quality of the approximation.
3.2 Wait time approximation
25
3.1.2 Fitting a distribution and calculating the fill rate
A commonly used measure of multi-echelon inventory systems is the fill rate at the central
warehouse. In the previous section, we have already determined the mean and variance
of lead time demand in eqs. (3.4) and (3.5). We can now fit standard distributions to the
mean and the variance and calculate the fill rate as described in Section 2.2.3. The first two
moments of lead time demand can also be used to compute any other service level measure
by assuming a distribution.
We use the following distribution selection rule, which is similar to, for example, Berling
and Marklund [BM13]. If Var[D0 (L0 )] > E[D0 (L0 )], we use the negative binomial distribution. This is a necessary precondition for the distribution to exist. In all other cases, we
suggest the gamma distribution.
This calculation can only give an estimate of the actual fill rate obtained, as we do not explicitly consider the order quantities of the succeeding warehouses. The larger the common
subbatch q is, the better the approximation of the fill rate will be as the effect of neglecting
the order quantities gets smaller.
The demand in reality is often more intermittent compared to the distributions proposed here
if order quantities of local warehouses are large. In the numerical sections, we compare
the calculated fill rate of central warehouses with the fill rate obtained in simulations at
several occasions (for example in Tables 5.6 and 5.10). These results confirm that the fill
rate calculation proposed here is not suitable if order quantities play a significant role and
should only be used as an indication of how high the fill rate may be.
3.2 Wait time approximation
There is only one approach to exactly compute the wait times in a distribution systems using
(R, Q)-policies to the best of our knowledge, which is by Axsäter [Axs00]. Following each
supply unit through the system, Axsäter is able to derive an exact evaluation. However,
he permits partial deliveries, the necessary evaluations are computationally very demanding
and feasible only for very small problem sizes. Therefore, we have to use approximations of
wait times in our algorithm. In this section, we briefly review three wait time approximations
from the literature and additionally introduce a new approach. These approximations are
more suitable for computations with real-world size networks than the above mentioned
exact method.
We have chosen an approximation approach by Axsäter as a representative of the “classic”
METRIC line of research (in the following refered to as AXS) [Axs03]. Furthermore, we
use the more recent approximation by Kiesmüller et al. [KdKSvL04] and Berling and Farvid
[BF14], respectively referred to as KKSL or BF. Each approximation has shortcomings and
weaknesses, which we will discuss in more detail later in this section. These shortcomings
served as the motivation for creating a new kind of approximation, the NB approximation.
26
3 Multi-echelon distribution networks
All approximations are presented for the 2-level case to simplify notation. The approximation by Berling and Farvid is only applicable for 2-levels while the approximation by
Kiesmüller et al. is shown for the general n-level case in their paper. Axsäter presents the
2-level case but also sketches an extension to n-level at the end of his paper. Our own work
is in theory extendable to n-levels but in limited experiments, we found that the quality of
the approximation gets bad and therefore we cannot recommend our approximation for the
n-level case.
Later, in Section 5.2, we will consider each of these approximations and develop guidelines
for choosing the most suitable approximation for given circumstances. Furthermore, we
analyze in Section 5.3 how the chosen approximation influences the structure of the resulting
optimal solutions in the 2-level case. For the experimental results in the n-level case in
Section 5.4, we only consider the KKSL approximation.
3.2.1 METRIC-type approximation
For benchmark and comparison purposes a METRIC-type approximation based on Little’s
law is used. It was originally introduced by Sherbrooke [She68]. Deuermeyer and Schwarz
were the first to adapt it for batch ordering systems and it was widely used in research
publications since then [DS81]. They assume identical demand and order quantities at local
warehouses. If the characteristics are not identical, the formula yields the average delay
for all warehouses. This means that we may get significant errors, if the order quantities
of local warehouses differ substantially. Nevertheless it is still used as an approximation
for the (real) expected value of the wait time. Due to their simplicity, the METRIC-type
approximations are probably the most widely used approach in practical applications.
Some approaches exist which also model the variance of the average delay. Svoronos and
Zipkin derive the variance based on an extension of Little’s law for higher moments, but it
is only exact if the order quantity of all local warehouses is 1 [SZ88].
Axsäter, which is our “representative” for the METRIC-type approximations, derives not
only the mean but also the variance of the average delay based on a normal approximation
of lead time demand [Axs03]. He derives mean and variance based on Little‘s law, the
normal approximation of lead time demand, a constant central lead time and a continuous
uniform approximation of the (discrete) central inventory position. They are identical for
all local warehouses, therefore we drop the subscript i of Wi . To apply the formulas also for
random central lead time we replace the constant central lead time in the original formula of
Axsäter by the expected lead time E[L0 ]. Under these assumptions the mean can be obtained
as the expected number of backorders at the central warehouse E[B0 ] = E[(I0Lev ))− ] divided
by the sum of expected demand at local warehouses for a time unit ∑Ni=1 μi :
E[W ] =
E[(I0Lev ))− ] G(k(R0 )) N
= N
∑ σiE[L0],
∑Ni=1 μi
∑i=1 μi i=1
(3.6)
3.2 Wait time approximation
and the variance as
Var[W ] =
27
E[Wi ]
G (k(R0 ))
2
(1 − Φ(k(R0 ))) −
(E[Wi ])2 k(R0 )
− (E[Wi ])2 ,
G(k(R0 ))
(3.7)
where G(·) is the normal loss function and
k(R0 ) =
R0 + Q0 − ∑Ni=1 (μi E[L0 ])
.
∑ni=1 σi E[L0 ]
Axsäter compares the approximation to the exact solution for a problem instance with very
low demand, as the exact solution is computable in this case. He concludes that the deviations of the approximation from the exact solution would be acceptable in most practical
situations.
3.2.2 Kiesmüller et al. approximation
Kiesmüller et al. suggest approximations for the first two moments of the wait time in a
system with compound renewal customer demand [KdKSvL04]. They use the stationary
interval method of Whitt to superpose the renewal processes with mixed Erlang distributions
[Whi82]. Their model only applies for non-negative central reorder points. They introduce
an additional random variable Oi for the actual replenishment order size of warehouse i
and state the proposition that the distribution function of Wi conditioned on Ti = t can be
approximated for 0 ≤ x ≤ t by
Pr(Wi ≤ x|Ti = t) ≈ 1 −
1
(E[D0 (l − x)] + Oi − R0 ) − E[D0 (l − x)] + Oi − (R0 + Q0 )) .
Q0
(3.8)
Equation (3.8) is again based on the idea of starting from all possible values of the inventory
position, which is uniformly distributed (Lemma 15). They consider the inventory position
I0pos (x0 ) at time x0 just before the order of warehouse i is placed. Let D0 (x1 , x2 ) be the
aggregate demand at 0 during the interval (x1 , x2 ]. If T0 = t and 0 ≤ x ≤ t, I0pos (x0 + x − t) −
D0 (x0 + x − t, x0 ) is larger than Oi (x0 ) if and only if i has to wait less than x. Subsequently,
Pr(Wi ≤ x|Ti = t) = Pr(I0pos (x0 + x −t) − D0 (x0 + x −t, x0 ) ≥ Oi (x0 ). After conditioning and
several reformulations, they obtain eq. (3.8). For details we refer to the paper of Kiesmüller
et al.
The first moment can then be approximated as
+ + E[L0 ]
E[Wi ] ≈
E D0 (L̂0 ) + Oi − R0
− E D0 (L̂0 ) + Oi − (R0 + Q0 )
,
Q0
(3.9)
where L̂0 is a random variable representing the residual lifetime of L0 with the cumulative
distribution function
y
1
cdf L̂0 (y) =
(3.10)
1 − cdf L0 (z) dz.
E[L0 ] 0
28
3 Multi-echelon distribution networks
The second moment of the waiting time can be approximated by
E[Wi2 ] ≈
+ + E[L02 ]
E D0 (L̃0 ) + Oi − R0
− E D0 (L̃0 ) + Oi − (R0 + Q0 )
, (3.11)
Q0
where L̃0 is a random variable with the distribution function
cdf L̃0 (y) =
2
E[L02 ]
y ∞
0
x
(z − x)dcdf L0 (z)dx.
(3.12)
For further details of the calculation we refer to the original paper of Kiesmüller et al.
[KdKSvL04].
Kiesmüller et al. report that the performance of their approximation is excellent if order
quantities are large. This applies especially for the order quantities of the local warehouses.
The error of the approximation reportedly also decreases with increasing demand variability.
Unfortunately, their formulas sometimes yield negative variances, an observation also made
by Berling and Farvid [BF14].
We also encountered numerical instabilities due to the two-moment fitting technique of
Kiesmüller et al. using the mixed Erlang distribution. This happens if the squared coefficient
of variation is very low, for example in situations where the order quantity of the local
warehouse is very large compared to lead time demand.
3.2.3 Berling and Farvid approximation
Berling and Farvid estimate mean and variance by replacing stochastic lead time demand
with a stochastic demand rate and offer several methods how this demand rate can be approximated [BF14]. Their methods differ in how the demand rate is estimated. We use
method “E5” from their paper, which is an approximation based on the lognormal distribution. Berling and Farvid obtained good results with this method in their numerical analysis.
Additionally, it is easy to implement and it does not require challenging computations. The
authors, however, assume a constant central lead time.
Berling and Farvid compared their methods to the ones by Kiesmüller et al., Axsäter, Andersson and Marklund as well as Farvid and Rosling ([KdKSvL04], [Axs03], [AM00],
[FR14]). Their method showed superior results for the cases considered. Kiesmüller et
al. claim that their approximation works best with highly variable demand and large order
quantities. Berling and Farvid use very low order quantities (compared to the demand rate)
and a demand process with low variance. Thus, the superior results are not surprising.
The Berling and Farvid approximation does not work if the order quantity of a local warehouse is larger than the sum of the order quantity of the central warehouse and the central
reorder point. In this case a negative expected wait time is calculated. However, this scenario is not common. We recommend setting the wait time equal to the central lead time in
these cases.
3.2 Wait time approximation
29
3.2.4 Negative Binomal approximation
As an alternative approximation, we propose to approximate the aggregate lead time demand
at the central warehouse by a negative binomial distribution and then compute the first two
moments of the wait time based on Kiesmüller et al. [KdKSvL04]. The negative binomial
distribution is a flexible distribution and suitable to model lead time demand as already
pointed out in Section 2.2.1. Our approach does not face numerical instabilities and negative
variances as encountered by Kiesmüller et al.
We determine mean and variance of Di (L̂0 ) and Di (L̃0 ) using eqs. (3.4) and (3.5), replacing
L0 with the respective random variables. Instead of deriving the real distribution function,
we fit the mean and variance to a negative binomial distribution. If the variance is smaller
than the mean, the negative binomial distribution is not defined. This can only happen if
local order quantities and the coefficient of variation of local demand are small. In this case,
we propose using the gamma distribution instead.
In our industrial application the order quantity is large compared to lead time demand. We
therefore assume that the actual order size is always equal to the order quantity. If order
quantities are too small for this assumption to hold, it is easy to incorporate the changes in
the model. Adapting the eqs. (3.9) and (3.11) given by Kiesmüller et al., we can express the
first two moments of the wait time as
E[Wi ] ≈
+ + E[L0 ]
E D0 (L̂0 ) + Qi − R0
− E D0 (L̂0 ) + Qi − (R0 + Q0 )
Q0
(3.13)
and
E[Wi2 ] ≈
+ + E[L02 ]
E D0 (L̃0 ) + Qi − R0
− E D0 (L̃0 ) + Qi − (R0 + Q0 )
, (3.14)
Q0
where L̂0 and L̃0 are defined in eqs. (3.10) and (3.12).
For a discrete distribution with positive support such as the negative binomial distribution,
it is easy to show that
z
E[(X − z)+ ] = E[X] − ∑ x pdf X (x) − z(1 − cdf X (z)), z ≥ 0.
(3.15)
x=0
For the gamma distribution a similar equation can be derived.
Given the issues with the original Kiesmüller et al. wait time approximation, our motivation
was to develop a more stable approach for the use in practical applications. Our negative
binomial approximation, although inspired by the Kiesmüller et al. model, does not suffer
from the same instabilities. However, the approximation faces problems if Qi >> Q0 . In
this case, the variance can be negative as well but this is illogical and not a likely setting in
real-world applications.
30
3 Multi-echelon distribution networks
3.3 Summary of assumptions and classification within the literature
We use the typology introduced by de Kok et al. [dKGL+ 18] to place our research in the
general field of multi-echelon optimization and summarize the assumptions we make. Our
dissertation can be classified as: 2n, D, C, G | I, G | B, B | q, Q, N | S || AEFS, O. This
translates to:
Table 3.1: Classification within the literature as suggested by de Kok et al. [dKGL+ 18]
Dimension
System specification:
Echelons
Structure
Time
Information
Resources specification:
Capacity
Delay
Market specification:
Demand
Customer
Control type specification:
Policy
Lot sizing
Operational flexibility
Performance specification:
Performance indicator
Direction of the paper:
Methodology
Research goal
Keys
Explanation
2n
D
C
G
two echelons, general number of echelons
divergent
continuous
global
I
G
infinite
general stochastic
B
B
compound “batch” Poisson
backordering
q
Q
N
installation (s,nQ)
fixed order quantity
none
S
meeting operational service requirements
AEFS approximate, exact, field study, simulation
O
optimization
4 Multi-echelon optimization
In this chapter we are concerned with finding optimal reorder points in multi-echelon distribution systems.
In the literature it is often assumed that service level targets are given for each warehouse,
including non-local warehouses. Then, the system can be decoupled and a parametrization of a given order policy can be determined for each warehouse individually as in the
single-echelon case. However, the only important service level for companies in the end
is the service of (external) customer demand, while (internal) service levels of non-local
warehouses are only means to an end. Therefore, we consider systems where service level
targets are only given for local warehouses. In that case the optimal parameters of a chosen
order policy cannot be determined separately for each warehouse and we have to optimize
the network as a whole.
This complicates the optimization drastically but provides significantly better stocking decisions. We start by solving the easier 2-level case before applying the insights gained on
the systems to develop an algorithm to find optimal reorder points in the general n-level
case.
4.1 The 2-echelon case
In this section, we present and describe our optimization algorithm for the 2-echelon case.
Section 4.1 is in publication as a joint work together with Andreas Bley [GBS18] with the
exception of the heuristics presented in Section 4.1.6. We start with a general outline of
the algorithm and afterwards discuss its main components, namely its initialization and the
refinement and addition of breakpoints to the used models, in detail. Subsequently, we
analyze experimental results using the 2-echelon algorithm with test as well as real-world
data in the next chapter in Section 5.3.
In our model, we consider a 2-level divergent system as defined in Definition 2. A central
warehouse is supplied with parts from an external source. The external supplier has unlimited stock, but the transportation time is random with known mean and variance. The central
warehouse distributes the parts further on to n local warehouses, which fulfill the stochastic
stationary customer demands. Figure 4.1 shows a sample network. The central as well as
the local warehouses order according to a continuous review (R, Q)-inventory policy (cp.
Definition 10).
The local warehouses i = 1, 2, ..., N order from the central warehouse 0, whereas the central
warehouse orders from the external supplier. If sufficient stock is on hand, the order arrives
after a random transportation time with known distribution, T0 or Ti , respectively. We only
allow for complete deliveries. If stock is insufficient to fulfill the complete order, it is backordered, i.e., the order is fulfilled as soon as enough stock is available again. Orders and
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_4
32
4 Multi-echelon optimization
External
supplier
Central
warehouse
Local
warehouses
Customer
demand
Figure 4.1: Example of a 2-echelon distribution network
backorders are served first come - first serve. If a stock-out occurs at the central warehouse,
orders of local warehouses have to wait for an additional time until sufficient stock is available again. This additional time is modeled as a random variable, the wait time Wi . The
stochastic lead time therefore is Li = Ti + Wi . Ti and Wi are independent random variables.
We assume unlimited stock at the supplier. Hence, the wait time of orders of the central
warehouse is 0.
The local warehouses fulfill external customer demand. Unfulfilled customer orders are
backordered until sufficient stock is on hand and are served on a first come - first serve
basis.
Throughout this section we will restrict to a type 2 service level (cp. Definition 12). This is
one of the most widely used service levels in practical applications [LT08]. Yet, our model
also works with other service levels, such as those defined in Section 2.1.8. For each node
i > 0 we want to fulfill some given fill rate target β̄i . The fill rate target is an externally set
goal specifying how many orders should be fulfilled from stock on hand. The fill rate βi ,
that is actually achieved, depends on both the local reorder point Ri and the central reorder
point R0 . The higher the central reorder point is set, the lower is the resulting wait time and,
therefore, the lead time.
The goal of the problem considered throughout this section is to determine the reorder points
Ri , i = 0, ...., N, of all warehouses, such that customer demands can be satisfied at least
with the probability specified via the service quality requirements and, on the other hand,
investment in stock held at the warehouses is minimized. We introduce pi as the price of
the considered part in node i.
4.1 The 2-echelon case
33
Note that we assume that the order quantity Qi of each warehouse i is fixed and given as
already pointed out in Sections 2.1.6 and 3.3. In the practical application that motivated
this work, and in many other applications we are aware of, specialized algorithms are used
to determine an order quantity that permits smooth and efficient handling operations in
the warehouse and cost-efficient transport. These algorithms usually take many factors
into account, including cost considerations, storage limitations for specific parts, volumes
and weights for ergonomic handling, package sizes, hazardous goods handling restrictions,
limited shelf life, and many more. Hence, we take the order quantity as a given and fixed
input parameter and focus on the optimization of the reorder points, although the two are
closely connected. The assumption of a fixed order quantity is common in literature [Axs15,
p.107][SPT16, p.257].
4.1.1 Problem formulation
The goal of our optimization model is to simultaneously determine the reorder points Ri
of the central warehouse i = 0 and all local warehouses i = 1, . . . , N such that the working
capital is minimized while the fill rate target β̄i is fulfilled at each local warehouse. This
problem can be formulated as
N
min
∑ (pi · Ri)
(4.1)
i=0
s.t. βi (R0 , Ri ) ≥ β̄i
for all i = 1, . . . , N .
In industrial applications, it is common practice to determine reorder points such that the
investment in capital, the so-called working capital, is minimized. By minimizing the
weighted sum of the reorder points Ri and the price at the respective location pi , we implicitly minimize the weighted sum of the inventory positions due to the uniformity property.
The inventory position includes stock on hand as well as stock on order. The weighted sum
of the inventory positions thus can be seen as the total value of stock in the distribution network, including the investment that is either tied by stock on hand, stock in transit between
warehouses or stock already ordered from the supplier.
Note that this objective function differs from those typically used in the literature (for example in [Axs03], [BM13]). Normally, the aim is to minimize costs like holding, order and
backordering costs (cp. Section 2.1.9). Backordering costs are implicitly taken care of in
our model via the fill rate constraints. Order costs are irrelevant due to the given and fixed
order quantities. While an alternative interpretation of pi could be the cost of stocking a unit
of this item in the location or the holding cost, normally the positive parts of the inventory
levels, (Ii )+ , are minimized and not the reorder points. This was not the focus of our work,
but we did some limited numerical experiments and found that minimizing reorder points
is a good proxy for minimizing the positive parts of the inventory levels. In case of minimizing the positive part of the inventory level, stock in transit between warehouses is not
considered anymore and therefore would not carry a cost penalty.
34
4 Multi-echelon optimization
Due to the nonlinear nature of the constraints, Model 4.1 is not easy to solve.
If the central reorder point R0 is fixed at some chosen value, then the optimal local reorder
points Ri for this particular value of R0 and the given fill rate targets β̄i can be computed,
in principle, by solving an inverse fill rate computation problem for each local warehouse
independently. Hence, the problem could be considered as a 1-dimensional problem whose
only decision variable is R0 . However, even for a given value R0 = R̄0 , computing the
corresponding optimal Ri -values is difficult. In general, it is not possible to analytically
determine the inverse of the fill rate function βi (R̄0 , .), i.e., to derive a closed formula for
the minimal value of Ri for which βi (R̄0 , Ri ) ≥ β̄i . To compute this value Ri numerically,
one has to use binary search, which becomes cumbersome if the mean and the variance
of the demands or the order quantities are large. Throughout this section, we will refer to
the inverse fill rate function, which returns the lowest Ri for a given R0 such that the fill
rate target is fulfilled, as bini (R0 ). As this function must be evaluated via binary search
in practice, enumerative solution approaches quickly become computationally infeasible,
especially if the optimization problem has to be solved for many different parts, which is
the case in our application. In order to solve real-world instances of the problem, it is
absolutely necessary to reduce the number of evaluations of this function and to reduce
the computational costs within the binary search using additional bound strengthening and
adaptive speedup techniques.
4.1.2 The general algorithm
The central idea of the optimization algorithm is to construct an under- as well as an overestimating integer linear programming (ILP) model. In these models, we approximate the
non-linear constraints by piecewise linear functions that either under- or overestimate the
inverse fill rate functions bini (R0 ) of the original constraints. These two linear programs
will then be iteratively refined and resolved until a given target optimality gap is reached or
an optimal solution is found. In every iteration the underestimating model yields a global
lower bound for the objective value, while the overestimating model yields a valid solution,
i.e., reorder points that satisfy the fill rate constraints. In each iteration, we thus can decide
to either stop the optimization, if the found solution is good enough, or to continue until,
ultimately, the two solution values of the under- and the overestimating model are identical
and an optimal solution is found. The solution values of the under- and overestimating integer linear programs converge towards the optimal solution value of the original Model
(4.1). As the solution space of the original model is finite, both approximations eventually
reach this global optimum.
Figure 4.2 shows a flow chart of our optimization algorithm. In general, it works as follows:
In order to construct the piecewise linear over- or underestimators of the original non-linear
constraints, we evaluate these constraints at certain breakpoints, i.e., compute Ri = bini (R0 )
for some given values of R0 . Instead of letting the binary search run until it terminates with
the exact value of Ri , we propose to use a truncated binary search: After a fixed number of
iterations, we abort the binary search and use the lower and upper bounds computed for Ri so
far to construct less tight piecewise linear under- and overestimators of the constraints to be
4.1 The 2-echelon case
35
Figure 4.2: Flow chart of our optimization algorithm
used in the under- and overestimating ILP models. This substantially reduces the computing
time necessary to set up the initial ILP models. In later iterations of our algorithm, we then
iteratively refine the piecewise linear functions in an adaptive way, adding either further
breakpoints or improving the lower and upper bounds on the Ri values by continuing the
binary search only if and where necessary. This leads to a substantial reduction of the overall
computational effort compared to an a-priori discretization of the original constraints with
an exact evaluation of the constraints via binary search.
Note that this approach relies on only two properties of the system: Firstly, we require that
bini (R0 ) is monotonously decreasing in R0 (cp. Lemma 19). Secondly, we use Lemma 20,
i.e, that bini (R0 ) will reduce by at most 1 if we increase the central reorder point R0 by
1. This means bini (R0 ) has a “gradient” in the range [−1, 0] for all i. These two bounds
on the gradient are used in the construction of the piecewise linear functions to under- and
36
4 Multi-echelon optimization
overestimate bini (R0 ). It is easy to show that both properties apply for divergent 2-level inventory systems. Relying only on these mild properties, our algorithm can directly be used
for a number of different set-ups of divergent 2-level inventory systems. For example, it can
handle different types of service level constraints as well as different wait time approximations. This flexibility allows the application of the algorithm in a wide range of practical
applications. Even more, adapting the piecewise linear under- and overestimating functions,
our algorithm can be adapted easily to different bounds for the gradients of bini (R0 ).
It is easy to show that those properties apply for divergent 2-level inventory systems. However, in certain situations the wait time approximations discussed in Section 3.2 do not
satisfy these properties: The KKSL approximation has certain instabilities that may lead
to violations of both properties, as already mentioned in Section 3.2.2. The BF approximation as well as the NB approximation cause problems, if the expected lead time demand, the
variance-to-mean-ratio of the lead time demand, and the fill rate targets of a local warehouse
are very high. In these cases, the gradient might be smaller than −1 for these approximations. This, however, is only an artifact of these approximations.
For the latter case, our algorithm still produces excellent results, but we might end up in a
local optimum. In our numerical experiments, however, our algorithms actually terminated
with the optimal solution also in these cases (verified by enumeration). The irregularities
only occur when the central reorder point R0 is close to 0. As long as the global and all
locally optimal values for R0 are not close to 0, the algorithm ends up with the optimal
solution. In fact, our algorithm can be easily extended to handle correctly also cases where
the gradient of the functions bini (R0 ) is within [−z, 0] for some fixed z ∈ N.
We approximate the non-linear constraints of the original Model (4.1) by piecewise linear
functions, which either over- or underestimate the functions bini (R0 ) for all warehouses i.
Assume we are given a set Vi = {ri1 , . . . , rik } of k candidate values for the central reorder
point R0 , which shall be used to approximate the local reorder point at warehouse i. For each
ri j ∈ Vi , we then calculate the local reorder point yi j := bini (ri j ) for the given fill rate target
β̄i . For each individual candidate value ri j , we obtain an overestimating function oi j with
oi j (R0 ) ≥ bini (R0 ) for all R0 as well as an underestimating function ui j with ui j (R0 ) ≤ Ri (R0 )
for all R0 based on the value yi j and the monotonicity and gradient property of bini (R0 ):
(yi j + ri j ) − R0 , if R0 < ri j
oi (R0 ) =
(4.2)
yi j , if R0 ≥ ri j
yi j , if R0 ≤ ri j
(4.3)
ui (R0 ) =
(yi j + ri j ) − R0 , if R0 > ri j .
Note that the set of central reorder points Vi is the same for the over- and underestimating
functions, but may depend on the local warehouse i. Combining eq. (4.3) for all central
4.1 The 2-echelon case
37
100
90
Local reorder point
80
70
60
50
40
30
20
10
0
200
bini (R0 )
400
600
Central reorder point
fiu (R0 )
800
1000
fio (R0 )
Figure 4.3: Example of an under- and overestimator
reorder point candidates ri j ∈ Vi , we get a piecewise linear function fiu (R0 ) underestimating
bini (R0 ) for warehouse i:
⎧
yi1 , if R0 ≤ ri1
⎪
⎪
⎪
⎪
⎪
max(y
+
r
−
R
,
y
if ri2 ≥ R0 > ri1
⎪
i1
i1
0 i2 ),
⎪
⎪
⎨
max(y
+
r
−
R
,
y
),
if ri3 ≥ R0 > ri2
i2
i2
0 i3
(4.4)
fiu (R0 ) =
⎪
...
⎪
⎪
⎪
⎪
⎪
max(yik + rik − R0 , yi(k+1) ), if rik ≥ R0 > rik−1
⎪
⎪
⎩
max(yik + rik − R0 , 0), if R0 > rik .
Analogously, one obtains a piecewise linear overestimating function fio (R0 ) for each warehouse i based on eq. (4.2). Figure 4.3 illustrates these under- and overestimators for one
warehouse. The black line bini (R0 ) shows the original function bini (R0 ), the green line
shows the underestimating function, and the red line the overestimating function. The approximate functions are based on five breakpoints, which are the positions where the three
functions are identical. Between these breakpoints, the under- and overestimating functions
are implicitly defined by the two properties we assumed, the monotonicity and the bounded
“gradient” of bini (R0 ): If we reduce the central reorder point, then the local reorder point
does not increase, and, if we increase the central reorder point by 1, then the local reorder
point will decrease by 1 at most.
In order to model these piecewise linear functions, we use so-called special ordered set
constraints of type 2 (SOS 2) for each node i [VKN08]. Let buij , j ∈ {1, . . . , 2k − 1}, denote
38
4 Multi-echelon optimization
the breakpoints of fiu (R0 ), i.e., the values of R0 where the gradient of fiu (R0 ) changes, and let
fiuj := fiu (buij ). Note that the breakpoints buij are equal to the central reorder points ri,( j+1)/2
for all odd j, while they are derived from ri, j/2 and ri, j/2+1 and their corresponding yi j -values
as buij = ri, j/2 + yi, j/2 − yi, j/2+1 for all even j.
The piecewise linear underestimator fiu (R0 ) then can be modeled in a straightforward way,
introducing continuous variables ui1 , ..., uik ≥ 0, which form the special order set and describe which segment of the piecewise linear function is binding at the current solution.
Constraints (4.6) and (4.7) connect the central reorder point to each of the local warehouses
via the SOS 2 variables u. By specifying the variables u to form an SOS 2 set in constraint
(4.10), at most two of these variables may be non-zero and, furthermore, if two variables are
non-zero they must be consecutive. Two consecutive u variables represent a line segment
in the piecewise linear function and the values of the u variables indicate an exact position
on that line segment. Together with constraints (4.8) and (4.9) this ensures that exactly one
line segment and one point on this segment is chosen. The additional constraints (4.11) enforce global lower bounds τi ≥ 0 on the Ri -variables, which can be computed by assuming
Li = Ti . This can also be interpreted as choosing R0 so large that the wait time Wi is 0. In
this situation, increasing central stock does not lead to any further decrease of local stock.
The modeling of optimization problems involving non-convex piecewise linear functions
as is the case here as MIPs and solving it with a general purpose MIP solver is a known
technique in optimization ([VAN10] and references therein). The advantage of the approach
is that state of the art technology of MIP solvers is taken advantage of. In the tests of Vielma
et al. SOS2 based formulations are always among the 5 best formulations.
Altogether, the underestimating integer linear program can be written as:
N
min
∑ (pi · Ri)
(4.5)
i=0
k
s.t. R0 − ∑ buij ui j ≥ 0
for all i = 1, . . . , N
(4.6)
Ri − ∑ fiuj ui j ≥ 0
for all i = 1, . . . , N
(4.7)
ui1 + ... + uik = 1
ui j ≥ 0
{ui1 , ..., uik } : SOS 2 set
Ri ≥ τi
for all i = 1, . . . , N
for all i = 1, . . . , N, j = 1, . . . , k
for all i = 1, . . . , N
for all i = 0, . . . , N
j=1
k
j=1
(4.8)
(4.9)
(4.10)
(4.11)
Note that the SOS 2 constraints in this model implicitly involve integrality constraints to
restrict the number and the pattern of the non-zero u variables. However, it is not necessary to explicitly enforce integrality of the reorder point variables R0 and Ri as long as all
candidate central reorder points ri j used to build the piecewise linear approximations are
integer. Due to the structure of the optimization model, the reorder points will always be
4.1 The 2-echelon case
39
integer in an optimal solution of the model. One easily verifies that any non-integer solution
can be turned into a nearby integer solution without increasing cost. In practice, omitting
the integrality constraints for the reorder point variables speeds up the solution of the ILP
models significantly.
Analogously, we define the overestimating integer linear program using fio (R0 ). Here the
breakpoints boij for odd j are equal to the central reorder points ri,( j+1)/2 , while the breakpoints boij with even j are derived from ri, j/2 and ri, j/2+1 as boij = ri, j/2+1 − yi, j/2 + yi, j/2+1 .
Solving these ILPs, we obtain a lower and an upper bound for the optimal solution of the
original model. Furthermore, the solution of the overestimating ILP yields reorder points
that are also valid in the original model: The fill rates in a solution of the overestimating
ILP are higher than the fill rate targets, as we overestimate all inverse fill rate functions and,
thus, underestimate the true fill rates of the solution.
In practice, the integer linear programs are solved by standard ILP solvers very quickly. In
later iterations of our algorithm, the solutions of previous ones can be used to create good
starting solutions and further speed up the solution of the modified ILPs.
As mentioned before, we perform a binary search on the fill rate βi (Ri , R0 ) to compute
bini (R0 ), which is computationally very expensive. One goal therefore is to reduce the number of breakpoints in the piecewise linear over- and underestimators fio (R0 ) and fiu (R0 ) of
the nonlinear functions bini (R0 ). In order to reduce the overall computational effort, we interrupt each evaluation of bini (R0 ) after several iterations of the binary search and construct
or update the piecewise linear over- and underestimators using the bounds on bini (R0 ) found
by the halted binary search until then. We resume the binary search of the function evaluation to compute more precise bounds or even the exact function value in later iterations of
the overall algorithm only when necessary. Our results show that limiting the number of
binary search iterations in each refinement step of the overall algorithm actually improves
the performance of the algorithm dramatically. Note that, as a result of interrupting the binary search, the yi j -values used to construct fiu (R0 ) and fio (R0 ) are not necessarily the same
anymore. If the binary search has been interrupted, we have to use the current upper bound
of the search for the overestimator and the current lower bound for the underestimator. Thus,
we differentiate between values yuij used to construct the underestimator fiu (R0 ) and values
yoij used to construct the overestimator fio (R0 ) in the following.
A summary of the overall algorithm is shown in Algorithm 21. In a nutshell, the algorithm
approximates the non-linear constraints using piecewise linear under- and overestimating
functions, which are iteratively refined in the proximity of the current solution until the gap
between the over- and underestimator is sufficiently small. For values of R0 that are far
away from the optimum, we do not care about the size of the gap as long as the estimators
are good enough to prove that these R0 values will not be optimal. In each iteration, we
refine the under- and overestimating models in one of the two following ways: If some linear constraint that is binding at the solution of the current under- or overestimating model
involves bounds yuij = fiu (ri j ) or yoij = fio (ri j ) that have been computed by a prematurely interrupted binary search for yi j = bini (ri j ), then we first resume this binary search to tighten
40
4 Multi-echelon optimization
these bounds in Step 3 and then update the corresponding over- and underestimating piecewise linear functions with the tighter bounds (or even the exact value of yi j ) in Step 5 of the
algorithm. Otherwise, if all constraints that are binding at the current solutions are based
on exact values for yi j , i.e., yi j = yuij = yoij = bini (ri j ), we refine the piecewise linear underand overestimators by adding further breakpoints near the respective solutions’ R0 -values to
these functions in Steps 4 and 5.
Algorithm 21 (Master algorithm – Iterative refinement).
1. Choose initial sets of breakpoints and determine fiu (R0 ) and fio (R0 ).
Section 4.1.3
2. Solve the resulting under- and overestimating ILPs.
3. If possible refine the breakpoints, on which both solutions are based, by continuing the
binary searches.
Section 4.1.4
4. Otherwise, add additional breakpoints to the model.
Section 4.1.5
5. Update and resolve under- and overestimating ILPs.
6. Repeat Steps 3 to 5 until the gap between over- and underestimating ILP is sufficiently
small or the optimal solution is found.
In the following we describe our strategies for initializing, refining and adding new breakpoints to the over- and underestimating ILPs.
4.1.3 Initialization
The algorithm is initialized with a set of central reorder points, which define the breakpoints
of the initial over- and underestimating piecewise linear functions. The choice of these
reorder points is important to steer the algorithm in the area of optimality and therefore
limit runtime. We denote by Dlw = ∑ni=1 E[D(Ti )] the sum of the expected demand during
the transportation time at all local warehouses. As suggested in the literature, the optimal
reorder points at the central warehouse tend to be low in the optimal solution ([Wah99],
1
[Axs15], [BM06], [MY08]). We thus decided to choose the 4 values of 0, 16
Dlw , 18 Dlw and
1
4 Dlw as initial central reorder points.
For the chosen initial central reorder points, then breakpoints for all local warehouses in the
network are computed. In principle, we compute bini (ri j ) for all ri j ∈ Vi via binary search.
To speed up the binary search, the local reorder point computed for the first (lowest) central
reorder point, bini (ri0 ), can be used as an upper bound in the binary search to compute
bini (ri1 ), and so forth. Vice versa, the result bini (R0 ) of a larger central reorder point can
be used as a lower bound later on. A trivial lower bound used during initialization is 0. We
only require these bounds for the first binary search done in our algorithm to speed up the
initial calculation. After this, we always have bounds available from previous computations
for the binary searches themselves as well as for the reorder points.
4.1 The 2-echelon case
41
Choosing a suitable upper bound b¯ui to evaluate bini (R0 ) at the first breakpoint is quite
challenging, even for ri j = 0. This bound mainly depends on the mean and the variance
of the demand during the lead time, the order quantity, and the fill rate target. The higher
any of these values except the order quantity is, the higher the local reorder point will be
and the higher our initial upper bound should be set. A higher order quantity allows for a
lower initial upper bound. On the other hand, choosing an upper bound much higher than
the actual reorder point leads to a substantially larger running time of the binary search. In
our numerical experiments, we obtained good results with the heuristic shown in Algorithm
22.
Algorithm 22 (Upper bound for binary search on Ri (0)).
Set b¯ui = Max E[D(Li )] + k(β̄i ) ∗ σ (D(Li )) − Qi , 0
u
Fill Rate for reorder point at upper bound.
Calculate β (b¯i )
while β (b¯ui ) < β̄i do
Check if upper bound is high enough.
If not, increase it.
b¯ui = b¯ui + 0.5E[D(Li )]
Recalculate β (b¯ui )
end while
The intention of Algorithm 22 is to guess a small but valid upper bound b¯ui for bini (R0 ) based
on the mean and the standard deviation of the lead time demand as well as the order quantity,
check if this bound is valid and, if not, iteratively increase it. In this procedure, the standard
deviation is adjusted by a factor k(β̄i ), which depends on the fill rate target. Promising
values of this parameter have been determined empirically and are shown below:
⎧
0, if β̄i < 0.3
⎪
⎪
⎪
⎪
⎪
0.5,
if 0.3 ≤ β̄i < 0.6
⎪
⎪
⎪
⎨
2, if 0.6 ≤ β̄i < 0.8
k(β̄i ) :=
⎪
⎪
⎪ 3, if 0.8 ≤ β̄i < 0.9
⎪
⎪
⎪
3.5, if 0.9 ≤ β̄i < 0.95
⎪
⎪
⎩
4, if β̄i ≥ 0.95 .
4.1.4 Checking and refining breakpoints
In Step 3 of our algorithm, we check and refine the breakpoints bi j . For each local warehouse i, we check which of the variables ui j are non-zero. For each warehouse i, these
variables form an SOS 2 set, so either only one variable ui j or two neighboring variables ui j
and ui, j+1 are non-zero in an optimal solution. The corresponding breakpoints bi j or bi j and
bi, j+1 have been derived from either one or two central reorder points ri j (see Section 4.1.2).
For these ri j , we check if yuij and yoij can be refined.
Let k be the index of the reorder point in question. If the binary search used to evaluate
bini (rik ) was interrupted prematurely, we resume it for another round of iterations and then
use the new results to refine the corresponding breakpoints and function values. Let su be
42
4 Multi-echelon optimization
the lower bound and so the upper bound returned by the resumed binary search for bini (rik ).
Note, that su = so if the binary search was truncated again prematurely after several iterations and su = so if it terminated with the exact value. Then, we set the new bounds to
yuik = su and yoik = so . Furthermore, these new bounds are also used to tighten the bounds
{yuij } and {yoij } at the other candidate values ri j ∈ Vi as follows:
• For all ri j with j < k, we set yuij = max(yuij , su ).
• For all ri j with j > k, we set yoij = min(yoij , so ).
The validity of this operation again follows directly from the monotonicity of bini (R0 ) (cp.
Lemma 19).
With the refined sets {yuij } and {yoij }, we then update bi j and the corresponding fi j as described in Section 4.1.2.
4.1.5 Adding new breakpoints
In this subsection we present our strategies for adding new breakpoints to the over- and
underestimating ILP models in Step 4 of the master algorithm.
Before we discuss these strategies, we explain the general methodology for inserting a new
ri j into the set Vi of an existing model. Note that we always improve the under- and overestimating constraints for a local warehouse i in parallel, i.e., both ILP models are always
based on the same set Vi . Yet, the sets of breakpoints {bi j } of the under- and overestimating functions fiu (R0 ) and fio (R0 ) differ due to the different construction of the functions
(eqs. (4.2) and (4.3)) for the same set Vi .
Assume we have selected a local warehouse i for refinement. The constraints associated
with i are altered based on the solution of the under- as well as the overestimating model. In
either case, we take Rˆ0 := ∑kj=1 buij ui j , implied by eq. (4.6), as a starting point for adding a
new breakpoint.
In the underestimating model, we add Rˆ0 to Vi if it is not already a member of Vi . If Rˆ0
is already a member, we do not need to add additional breakpoints as the underestimating
model is already exact at the current value Rˆ0 .
For the overestimating model, we have to distinguish a number of cases:
• If Rˆ0 is not a member of Vi , then we add Rˆ0 to Vi .
• If Rˆ0 is a member of Vi and
– Rˆ0 is the largest member of Vi , then we add Rˆ0 + 12 Dlw to Vi .
– Otherwise, if Rˆ0 ∈ Vi but Rˆ0 is not the largest member of Vi , let k be the position of Rˆ0 in
Vi , i.e., rik = Rˆ0 . In this case we add the value 1/2(rik + ri(k+1) ) rounded to the nearest
integer as a new candidate to Vi . If it is not possible to add a new candidate between rik
and ri(k+1) , we try to add a new candidate to the left of rik instead, i.e., 1/2(rik + ri(k−1) )
rounded to the nearest integer.
4.1 The 2-echelon case
43
To illustrate this, consider Figure 4.4. Assume we add new breakpoints based on the edge
marked by the green circle for the underestimating model and the edge marked by the red
circle for the overestimating model. In the underestimating model, the candidate point is
not yet a member of Vi and is therefore added. In the overestimating model, it is already
a member, so we add 1/2(rik + ri(k+1) ) as a new candidate to Vi . Note, that we update
the over- as well as the underestimating constraints based on both new additions to Vi , as
they are always based on the same set Vi . The two models will therefore be exact at the
positions of the newly added members of Vi after the respective linear piecewise functions
were updated, assuming that bini (·) is computed exactly at the new breakpoints.
Figure 4.4: Refining the constraint of a warehouse i by adding new breakpoints
We now describe this update process. Assume we have added a new member r̂i j to Vi . We
first determine upper and lower bounds ŝuij and ŝoij for bini (r̂i j ) running the binary search for
a specified number of iterations. If neighboring breakpoints j − 1 and j + 1 exist, then the
bounds yui( j−1) and yoi( j+1) already known for these breakpoints are used as initial upper and
lower bounds for the new binary search. This way, we get tighter bounds and are able to
decrease the time spend within the binary search. Afterwards, we update fiu (R0 ) (eq. (4.4))
and fio (R0 ) at r̂i j with values ŝuij and ŝoij , respectively. Consequently, we update the set of
associated breakpoints {buij } and {boij } as well as the function values { fiuj } and { fioj }.
If a new element was added to Vi , we can use the new information gained to potentially refine
all other elements of Vi that originate from unfinished binary searches. We therefore propagate the new result through the set of central reorder points as described in Section 4.1.4. We
44
4 Multi-echelon optimization
then construct improved over- and underestimating functions as a new basis for our ILPs as
described in Section 4.1.2.
The following strategies are used to decide for which warehouses i the over- and underestimating linear functions are refined by adding new breakpoints.
In the naive approach, we refine all under- and overestimating functions for each local
warehouse in every iteration. The new breakpoints to be added are derived from both the
solution of the underestimating ILP as well as the solution of the overestimating ILP.
In the greatest delta approach, we also choose the new breakpoints based on both the solution of the underestimating and the solution of the overestimating program. However, we
refine the over- and underestimating piecewise linear functions only for some of the warehouses. The goal of our algorithm is to minimize the gap between over- and underestimating
ILP. Looking at (|Roi − Rui |)pi , we try to identify those constraints that have the largest impact on the gap. More formally, we refine the constraints of the N2 warehouses with the
largest values (|R̂oi − R̂ui |)pi , where R̂ui is the reorder point in the solution of the underestimating ILP model and R̂oi that of the solution of the overestimating ILP for warehouse i.
If this deviation is 0 for all local warehouses, we insert new breakpoints for all local warehouses, as in the naive approach. The deviation can be 0 for all local warehouses and the
algorithm is not yet terminated if the local reorder points of the solutions of the over- and
underestimating ILP are equal, but the central reorder point is different.
In the fill rate violation approach, we select those local warehouses for refinement, for
which the solution of the underestimating ILP violates the original model’s fill rate constraints the most. If the fill rate constraint is not violated by the current solution, then the
underestimator is actually accurate at this position and no refinement is needed. Similar
to the greatest delta approach, we only refine the constraints for the N2 local warehouses
with the largest deviation between actual fill rate of the underestimating solution and the fill
rate target. The disadvantage of the fill rate violation approach is that fill rates need to be
computed in every iteration, which adds to runtime.
4.1.6 Heuristic to speed up the algorithm by introducing additional step size constraints
During the work on our 2-level algorithm, we noticed a pattern in the relationship between
local and central reorder points that can be exploited to introduce additional constraints,
which strengthen the model and possibly speed up computations. The downside of this is
that optimality cannot be guaranteed anymore.
As an example, consider the relationship between the reorder point at a local warehouse and
the reorder point at the central warehouse depicted in Figure 4.5. The slope of the curve first
decreases before increasing again. The curve has a turned over S-shape form. We noticed
this form over and over again. Recall that, however, the curve is not a smooth curve but a
step function. The data used to generate this example is shown in Table A.1.
4.1 The 2-echelon case
45
Figure 4.5: Local reorder point needed for a given cental reorder point to fulfill fill rate targets
Figure 4.6 shows the length of each step in combination with the associated central reorder
point. The step size, i.e., how much the central reorder point has to be increased before
the local reorder point can be decreased by 1, first decreases, then stays relatively level
before increasing again. Here, we often get a characteristic U-shape. The zigzagging effect,
that can be observed, especially where the step size is relatively level, is due to a fill rate
“stack-up”: We select the lowest local reorder point, such that the fill rate target is satisfied.
Due to the integrality of the reorder point, we are sometimes close on target and sometimes
further above target. If we are further above target, the next step may be shorter and we are
subsequently close on target again.
Figure 4.6: Length of the step sizes and corresponding central reorder point
Our 2-echelon optimization algorithm uses the results of Lemma 20, i.e., a best-case step
size of 1, which we then use to construct our under- and overestimators (cp. Figure 4.3). In
the example shown in Figure 4.6 the lowest step size however is 11. This results in a large
initial gap between our under- and overestimators and the actual function. We subsequently
need many iterations for refinement until we have found the optimal solution.
46
4 Multi-echelon optimization
Unfortunately, it is not easy to find the smallest step size. We were not able to analytically
derive a smallest step size nor the inflection points of the curve. Both, Figures 4.5 and 4.6,
were derived by enumeration. We had to run a binary search 3000 times to get the results
for these graphs, which is the same as just solving the optimization problem by enumeration
and computationally not feasible unless for very small problem sizes.
To still be able to use the general insights, our intention is the following. We try to select a
point which is probably in the area where the step size curve is relatively level. In Figure 4.6
this would be approximately between step 30 and 80 or, alternatively, for an central reorder
point between about 500 and 1200. We then compute the step size and use it to strengthen
our underestimating model by introducing additional constraints based on this step size.
We use a central reorder point as a starting point for Algorithm 23 to determine the step size.
In this algorithm, we perform a simple search in both directions from the starting point to
determine the length of the corresponding step size.
Algorithm 23 (Compute a step size for a local warehouse).
1. Choose initial central reorder point Rinit
0 .
2. Calculate local Rinit
i needed to fulfill fill rate target using Algorithm 16.
init
3. Decrease R0 starting from Rinit
0 −1 until Ri needs to be increased to fulfill fill rate target.
.
Denote this position as Rstart
0
init can be lowered and fill rate target is still
4. Increase R0 starting from Rinit
0 + 1 until Ri
end
fulfilled. Denote this position as R0 .
start as step size.
5. Return si = Rend
0 − R0
To limit runtime, it is essential to integrate Algorithm 23 well within the 2-level optimization
algorithm (Algorithm 21). The initial central reorder point in Step 1 should be chosen from
the set of central reorder points used during initialization in Section 4.1.3. This way we
avoid an additional binary search. If the search was truncated at that central reorder point
we have to, however, continue it until the bounds are tight (but we can also use the tighter
bounds for the construction of constraints in our under- and overestimator). Step 3 can then
init
be executed by using the binary search with lower bound Rinit
i and upper bound Ri + 1 and
init
init
Step 4 with Ri − 1 and Ri respectively (due to Lemma 20).
For Figure 4.7, we have computed an si = 11 for an R0 = 648, which was the initialization
value R0 = 14 Dlw (cp. Section 4.1.3), to construct an additional constraint for that warehouse
to our underestimating model (shown as “Step size constraint”). From the underestimating
breakpoint at 0, we added a straight line with slope −1/(si − 1)R0 . The corresponding constraint in the ILP would be Ri ≥ yui0 − 1/(si − 1)R0 . The reason for subtracting 1 is, that
we try to capture the lowest step size to ensure we underestimate the actual model. As
observed before, we have zigzagging effect due to a fill rate stack-up. Therefore, we generally subtract 1 in case we have hit a step which benefited from that effect. If we consider
the “original underestimator”, i.e., the underestimating step size constraint obtained after
initialization, it is obvious that our model becomes a lot stronger by adding the step size
4.1 The 2-echelon case
47
constraint. Recall however, that we had to continue the binary search at the chosen central reorder point (which was 648 in this instance). As one could argue that this additional
computational effort would have also profited the original underestimator, we display the
effects of this as “strengthened underestimator”. Even the model with this strengthened
underestimator benefits greatly from adding the additional step size constraint.
Figure 4.7: Actual local reorder points needed and underestimating constraints
By introducing the additional step size constraints for every local warehouse right from
initialization, the intention is to strengthen the underestimating model and speed-up runtime.
The downside of it is that we cannot guarantee optimality anymore. If we pick a step
size from a wrong region, which is too high, our underestimating model is not necessarily
underestimating the original constraints. In the example we picked for Figure 4.7, an si = 18
would be sufficient for a violation to occur. The si would be even lower if the yui1 , i.e., the
underestimating value for Ri at 0 would not have been based on a prematurely finished
binary search.
In the following, we will specify how to implement the step size constraints within our 2level optimization algorithm, Algorithm 21. A part of this is also a correction mechanism,
which tries to detect violations as described above during each iteration.
Algorithm 24 (Adjustment procedure for Algorithm 21 to introduce step size constraint).
1. During initialization select one of the initial central reorder points to compute the step
size for each local warehouse using Algorithm 23. Add the constraint Ri ≥ yui1 − 1/(si −
1)R0 to the underestimating ILP (eqs. 4.5-4.11).
48
4 Multi-echelon optimization
2. Each time the underestimating ILP is solved, check for each local warehouse if the step
size constraint was a binding constraint.
3. For each local warehouse with a binding step size constraint check if a violation occurred.
We calculate the actual local reorder point Ract
i needed to fulfill the fill rate target given
the solution of the underestimating ILP for the central reorder point, R∗0 . If this local
reorder point is smaller than the solution of the underestimating model, R∗i , we adjust the
u
∗
slope of the step size constraint to (Ract
i − yi0 )/R0 . The step size constraint will now be
exact in this point and not force an overestimation of the local reorder point.
For the initial central reorder point we have chosen R0 = 14 Dlw as in line with the initialization of our initial optimization algorithm (Section 4.1.3). While the correction mechanism
described in Step 3 of Algorithm 24 can prevent some non-optimal results, it is not sufficient to guarantee optimality. If the step size constraint does lead us away from the optimal
region and we never have a result of the underestimating ILP in that region, we never get
the chance to correct the constraint.
To apply the idea to the overestimating constraints, we normally would need to derive a maximal step size. As can be seen in Figure 4.6, the maximal step size over the entire region is
very large. In fact, the length of the last “step” - once the local reorder point is at its lower
bound - can be interpreted as infinity. We do not have enough analytical insights to derive
a maximal step size in a region and how to define those regions. If we want to numerically
establish some good candidates for a maximal step size and the corresponding regions, a
lot of additional binary searches and therefore computational effort is needed. We believe
that strengthening just the underestimator is sufficient and the additional effort would not be
justified. Recall, that the underestimating ILP alone already converges to the optimal solution. We basically keep the overestimator in every iteration to have an optimality gap and
to additionally steer the algorithm in the right direction while the additional computational
effort for the overestimator is small.
An alternative to introducing additional step size constraints would be to use the slope derived from the step size directly in the construction of the linear piecewise functions that
underestimate the fill rate constraints in our model. There, we use the constant slope of −1
based on Lemma 20. These constraints could be directly strengthened by using −1/(si − 1)
instead. The adjustment procedure is described in Algorithm 25. Instead of using the
slope −1, we will consequently use −1/(si − 1) for the construction of the underestimating model.
However, for the correction mechanism we cannot simply check for a binding constraint
anymore as we do not have a dedicated step size constraint anymore. Instead, we check
for each underestimating constraint if two SOS 2 variables of the underestimating solution
are non-zero. If this is the case, the combination of central and local reorder point is on a
segment of the underestimating constraints, which was constructed using the slope derived
from the step size. Then, we check for a violation as described in Step 3 of Algorithm 24.
If we detect a violation, we will adjust the underestimating constraint based on the updated
slope. For the calculation of the slope in Step 2 of Algorithm 25 we cannot use yi1 and R∗ as
4.1 The 2-echelon case
49
in Algorithm 24. Instead we need to calculate the slope from the next smaller neighboring
element in Vi . If we would calculate the slope starting from 0, we could end up with a even
higher slope, which may lead to further violations (recall that the slope is negative) due to
the potential S-shape of the curve (cp. Figure 4.5).
Algorithm 25 (Adjustment procedure of optimization algorithm to modify slope of
underestimating constraints).
1. During initialization select one of the initial central reorder points to compute the step
size for each local warehouse using Algorithm 23. For the construction of the underestimating model use −1/(si − 1) as a slope instead of 1 for each local warehouse i.
2. Each time the underestimating ILP is solved, check for each local warehouse if two
SOS 2 variables of the underestimating solution are non-zero. If so, verify if a violation
occurred. We calculate the actual local reorder point Ract
i needed to fulfill the fill rate
target given the solution of the underestimating ILP for the central reorder point, R∗0 . Let
k be the index of rik ∈ Vi , which is the next smaller reorder point to Ract
in the set V .
i
∗
If the reorder point Ract
i is smaller than the solution of the underestimating model, Ri ,
act
∗
we adjust the slope of the step size constraint to (Ri − yik )/(R0 − rik ) and adjust the
underestimating constraints accordingly.
Figure 4.8: Actual local reorder points needed and estimating constraints with or without adjusted
slopes
One could argue to use the new slope based on the step size of the underestimating constraints also for the overestimating constraints. We have again constructed the constraints
with the adjusted slops and the original constraints after initialization for our example in
Figure 4.8. In this instance, the underestimating constraint with adjusted slope does capture
50
4 Multi-echelon optimization
the original relationship very well and does not violate the postulate of underestimation.
The overestimator does also benefit from the adjusted slope. However, we use the overestimator in our algorithm to have a valid solution in every iteration. If we use the step size,
we cannot guarantee this anymore. We would then need to check if we have a valid solution
when we want to terminate the algorithm. In the instance of Figure 4.8, the overestimator
with adjusted slope is in fact no valid overestimator anymore (at a central reorder point of
about 550).
In the Section 5.3.4, we test the runtime improvements of these algorithm and how often the
optimal result is not found because of the additional constraint.
4.2 The n-echelon case
In this section, we develop an optimization algorithm for the general n-level case. Major
parts of this section are in publication as a joint work together with Andreas Bley [GB18b],
with the exception of Section 4.2.4.
To extend our network from 2 to n-level, we have to adjust our notation to allow for a general
number of echelons. Reorder points are denoted as Ri, j , where i is the echelon, i = 1, ..., n
and j is the index of the warehouses in the respective echelon. In Figure 4.9, the reorder
point of the warehouse in the first echelon, that gets supplied externally, is R1,1 , whereas for
the last warehouse in the third echelon the notation would be R3,6 . Accordingly, the order
quantity is denoted as Qi, j and μi, j and σi, j are the mean and standard deviation of demand
at a warehouse (i, j) per time unit. The lead time from warehouse j at echelon i from its
predecessor is Li, j = Ti, j +Wi, j , where Ti, j is the transportation time and Wi, j is the wait time
due to stock-outs at the predecessor. For i = 1 we assume L1,1 = T1,1 .
First echelon
Second echelon
Third echelon
Figure 4.9: Network with three echelons
C denotes the set of all local warehouses, i.e., warehouses without successors. We assume
as in the 2-level case that only local warehouses fulfill external customer demand and have
4.2 The n-echelon case
51
fill rate targets β̄i, j . The set of each of its predecessors of a warehouse (i, j) is referred to as
Pi, j .
For the n-level case, we focus solely on the KKSL approximation, as the other ones considered in Section 3.2 are not suitable or have to be extended for more than 2-levels as
already discussed in Section 3.2.
We introduce pi, j as the price of the considered part in warehouse (i, j). Then, we have to
solve the following optimization model. The reasoning for this type of optimization model
is the same as in the 2-level case (cp. Section 4.1.1).
min
∑ ∑ pi, j · Ri, j
i
(4.12)
j
s.t. βi, j (Ri, j , {Rl,m }(l,m)∈Pi, j ) ≥ β̄i, j
for all (i, j) ∈ C
(4.13)
We rewrite the fill rate formula given by eq. (2.13) for the n-level case as
βi, j (Ri, j , {Rl,m }(l,m)∈Pi, j )
Ri, j +Qi, j Ri, j +Qi, j
=
∑
k=1
∑
Pr(Ki, j = k)Pr(I lev = y)
y=k
Ri, j +Qi, j Ri, j +Qi, j
=
∑
k=1
∑
R +Q
Pr(Ki, j = k)
y=k
1 i, j i, j
Pr(Di, j (Li, j ) = z − y),
Qi, j z=R∑
i, j +1
(4.14)
where Li, j is a function of the reorder points of all preceding warehouses {Rl,m }(l,m)∈Pi, j .
4.2.1 Wait time calculation in n-echelons
The calculation of the wait time has to be done from top to bottom in the network as the
lead time of the predecessor has to be taken into consideration.
Each warehouse (i, j) has to take a wait time in addition to the transportation time from
its directly preceding warehouses (i − 1, m) ∈ Pi, j into consideration. We use the KKSL
approximation and rewrite the formulas already presented in Section 3.2.2 for the n-level
ind
case. Note that we assume Qi, j
E[Dind
i, j ], where Di, j is the size of an individual demand,
and therefore assume that the average replenishment order size is Qi, j . This is the case in
our real-world data and simplifies notation. This condition can easily be relaxed as in the
paper of Kiesmüller et al. [KdKSvL04] and does not influence our subsequent analysis.
E[Wi, j (Ri−1,m )] ≈
+ E[Li−1,m ]
E Di−1,m (L̂i−1,m ) + Qi, j − Ri−1,m
Qi−1,m
−E
Di−1,m (L̂i−1,m ) + Qi, j − (Ri−1,m + Qi−1,m )
+ ,
(4.15)
52
4 Multi-echelon optimization
where L̂i−1,m is a random variable representing the residual lifetime of Li−1,m with the cumulative distribution function (cdf)
cdfL̂i−1,m (y) =
1
y
E[Li−1,m ]
0
1 − cdfLi−1,m (z) dz
(4.16)
and
E[Wi,2j (Ri−1,m )] ≈
+ E[Li−1,m ]2
E Di−1,m (L̃i−1,m ) + Qi, j − Ri−1,m
Qi−1,m
+ ,
− E Di−1,m (L̃i−1,m ) + Qi, j − (Ri−1,m + Qi−1,m )
(4.17)
where L̃i−1,m is a random variable with the cumulative distribution function
cdf L̃i−1,m (y) =
2
E[(Li−1,m )2 ]
y ∞
0
x
(z − x)dcdf Li−1,m (z)dx.
(4.18)
Analysis of wait time behavior
Using eq. (3.15), we can simplify eqs. (4.15) and (4.16).
We define X = Di−1,m (L̂i−1,m ) + Qi, j and obtain
E[Wi, j (Ri−1,m )]
R
+Q
E[Li−1,m ] i−1,m i−1,m
x pdf X (x) − Ri−1,m (1 − cdfX (Ri−1,m ))
≈
∑
Qi−1,m
x=Ri−1,m
+ (Ri−1,m + Qi−1,m ) (1 − cdf X (Ri−1,m + Qi−1,m )) .
(4.19)
The first two moments of the wait time are a function of the reorder point of the preceding
warehouse. We analyze how big the decrease δ (E[Wi, j (Ri−1,m )]) in the two moments of
the wait time is, if we increase the respective reorder point Ri−1,m by one and obtain the
following equation after numerous rearrangements
δ (E[Wi, j (Ri−1,m )]) := E[Wi, j (Ri−1,m )] − E[Wi, j (Ri−1,m + 1)]
E[Li−1,m ]
=
(cdf X (Ri−1,m + Qi−1,m ) − cdf X (Ri−1,m )) .
Qi−1,m
(4.20)
4.2 The n-echelon case
53
Proof. Define X = Di−1,m (L̂i−1,m ) + Qi, j . Then we can rewrite eq. (4.19) using eq. (3.15) as
E[Wi, j (Ri−1,m )] ≈
E[Li−1,m ]
E[X] −
Qi−1,m
Ri−1,m
∑
x cdf X (x) − Ri−1,m (1 − cdf X (Ri−1,m )) − E[X]
x=0
Ri−1,m +Qi−1,m
∑
+
x pdf X (x) + (Ri−1,m + Qi−1,m )(1 − cdf X (Ri−1,m + Qi−1,m )
x=0
=
E[Li−1,m ]
Qi−1,m
Ri−1,m +Qi−1,m
∑
x=Ri−1,m +1
x pdf X (x) − Ri−1,m (1 − cdf X (Ri−1,m ))
+ (Ri−1,m + Qi−1,m )(1 − cdf X (Ri−1,m + Qi−1,m ) .
(4.21)
We now insert eq. (4.21) into
E[Wi, j (Ri−1,m )] − E[Wi, j (Ri−1,m + 1)]
=
E[Li−1,m ]
Qi−1,m
Ri−1,m +Qi−1,m
∑
x pdf X (x) − Ri−1,m (1 − cdf X (Ri−1,m ))
x=Ri−1,m +1
Ri−1,m +1+Qi−1,m
+ (Ri−1,m + Qi−1,m )(1 − cdf X (Ri−1,m + Qi−1,m ) −
∑
x pdf X (x)
x=Ri−1,m +2
+ (Ri−1,m + 1)(1 − cdf X (Ri−1,m + 1))
− (Ri−1,m + 1 + Qi−1,m )(1 − cdf X (Ri−1,m + 1 + Qi−1,m ))
=
E[Li−1,m ]
(Ri−1,m + 1)pdf X (Ri−1,m + 1)
Qi−1,m
− (Ri−1,m + Qi−1,m + 1)pdf X (Ri−1,m + Qi−1,m + 1)
+ (1 − cdf X (Ri−1,m ) − (1 − cdf X (Ri−1,m + Qi−1,m ))
+ (Ri−1,m + 1)(1 − cdf X (Ri−1,m + 1) − 1 + cdf X (Ri−1,m ))
+ (Ri−1,m + Qi−1,m + 1)
(1 − cdf X (Ri−1,m + Qi−1,m ) − 1 + cdf X (Ri−1,m + Qi−1,m + 1))
=
E[Li−1,m ]
(cdf X (Ri−1,m + Qi−1,m ) − cdf X (Ri−1,m ))
Qi−1,m
and obtain eq. (4.20).
Due to cdf X being a cumulative distribution function, we can obtain from the definition
cdf X (Ri−1,m + Qi−1,m ) ≥ cdf X (Ri−1,m )
(cdf X (Ri−1,m + Qi−1,m ) − cdf X (Ri−1,m )) ∈ [0, 1]
lim cdf X (Ri−1,m ) = 0.
Ri−1,m →∞
for all Ri−1,m ,
for all Ri−1,m and
(4.22)
(4.23)
(4.24)
54
4 Multi-echelon optimization
From eq. (4.23) we know that (cdf X (Ri−1,m + Qi−1,m ) − cdf X (Ri−1,m ) in eq. (4.20) can be at
most 1. The upper for bound for the decrease in mean wait time therefore is
δ (E[Wi, j (Ri−1,m )]) ≤
E[Li−1,m ]
.
Qi−1,m
(4.25)
For the second moment eq. (4.17) can be rewritten analogously and we obtain
δ (E[Wi,2j (Ri−1,m )]) ≤
E[(Li−1,m )2 ]
Qi−1,m
(4.26)
as an upper bound.
What we are ultimately interested in is the effect on warehouses that do not have successors,
i.e., fulfill external customer demand. Therefore, let (i, j) ∈ C in the following. Then, for
all (l, m) ∈ Pi, j
δ (E[Wi, j (Rl,m )]) ≤
E[Ll,m ]
and
∑(n,o)∈Pl,m Qn,o
(4.27)
δ (E[Wi,2j (Rl,m )]) ≤
E[(Ll,m )2 ]
, respectively.
∑(n,o)∈Pl,m Qn,o
(4.28)
This follows directly from eqs. (4.25) and (4.26). Ll,m is defined as the lead time to (l, m),
but we still have to consider the effects of all order quantities on the path and therefore have
∑(n,o)∈Pl,m Qn,o in the denominator. We collapse the chain up to (l, m) on this warehouse and
consider it as a warehouse that faces the entire lead time up to itself and orders the combined
order quantities up to itself.
From eqs. (4.27) and (4.28) we can derive the maximum possible impact on the variance
δ (Var[Wi, j (Rl,m )])
≤ δ (E[Wi,2j (Rl,m )]) − δ (E[Wi, j (Rl,m )])2
≤ E[(Ll,m )2 ]/(
∑
Qn,o ) − (E[Ll,m ]/
(n,o)∈Pl,m
∑
Qn,o )2 .
(4.29)
(n,o)∈Pl,m
4.2.2 Structure of the optimization problem
Our constraint is to achieve the fill rate target at the last echelon of our supply chain. Each
change of reorder points at higher echelons leads to a changed wait time and therefore
potentially requires a change in local reorder points. The aim of this section is to quantify
the size of this change.
We can quantify the impact of a change of a reorder point at higher echelons on expected
wait time and variance of wait time by taking the derivative with respect to the non-local
reorder point Rl,m .
4.2 The n-echelon case
55
The fill rate formula at local warehouses (i, j) ∈ C is driven by the mean and variance of demand during lead time. Let Di, j (Li, j ) be the demand during the lead time of a warehouse j at
the last echelon i. The correct mean and variance can be computed as eqs. (2.5) and (2.6).
A change in expected wait time by 1 therefore changes E[Di, j (Li, j )] by a factor of μ and accordingly Var[Di, j (Li, j )] by a factor of σ 2 . Accordingly, a change in Var[Wi, j ] by 1 changes
Var[Di, j (Li, j )] by a factor of μ 2 .
If we plug in the maximum possible values from eqs. (4.27) and (4.29), we obtain the
highest possible change of mean and variance of demand during lead time. The largest
possible decrease in mean and variance of lead time demand of a local warehouse, if we
increase a reorder point Rl,m of any preceding warehouse (l, m) ∈ Pi, j , is
δ (E[Di, j (Li, j )]) ≤ μi, j
E[Ll,m ]
and
∑(n,o)∈Pl,m Qn,o
δ (Var[Di, j (Li, j )]) ≤ σi,2 j E[Ll,m ]/
⎡
(4.30)
∑ Qn,o
(n,o)∈Pl,m
⎤
+ μi,2 j ⎣E[(Ll,m )2 ]/
Qn,o − (E[Ll,m ]/
Qn,o )2 ⎦.
(n,o)∈Pl,m
(n,o)∈Pl,m
∑
∑
(4.31)
This insight now serves as a basis to formally introduce an underestimating relationship
between non-local and local reorder points based on eqs. (4.30) and (4.31) in the next section.
4.2.3 Optimization algorithm
Constructing an underestimating ILP
We construct an underestimating ILP for the model defined by eqs. (4.12) and (4.13) by creating an approximate linear relationship between the reorder point of the local warehouse
and each of its predecessors. For each of the local warehouses, we introduce an underestimating piecewise linear function which assumes that an increase of a predecessor’s reorder
point has a maximal impact on the wait time as described in the previous section.
To determine Ll,m in eqs. (4.30) and (4.31), we need in principle to set all reorder points of
warehouses in Pl,m and calculate the respective wait times. To avoid this, we assume that
we always have to wait at every preceding stage, i.e., we incorporate the full transportation
time of all predecessors in Ll,m . By doing so, we overestimate the possible impact.
For each (i, j) and (l, m) ∈ Pi, j the range of Rl,m in which the wait time of (i, j) is influenced
is limited and smaller than the actual range if we assume maximum impact. With this
assumption, we calculate for all predecessors (l, m) ∈ Pi, j the upper bounds, up to which
56
4 Multi-echelon optimization
the reorder point of the respective predecessor can influence the mean of the wait time and
therefore implicitly the variance. Using eqs. (4.30) and (4.31) we obtain:
ūi,l,mj := E[Ll,m ]
∑
(n,o)∈Pl,m
Qn,o /E[Ll,m ] =
∑
Qn,o .
(4.32)
(n,o)∈Pl,m
In eq. (4.32) we simply divide the expected lead time E[Ll,m ] by the upper bound on the
reduction of the wait time if we increase Rl,m by 1. If this upper bound was actually realized
in every increase, the lead time for the local warehouse (i, j) would be 0 by the time we
increase Rl,m to ūi,l,mj . We also assume that the lower bound for each Rl,m is 0. Rl,m then is in
the range [0, ūi,l,mj ].
Let Ri, j |(Li, j = L) be the reorder point needed at a local warehouse (i, j) assuming Li, j = L,
such that the fill rate constraint is fulfilled. We calculate a general lower bound for all
local warehouses as li, j := Ri, j |(Li, j = Ti, j ). This assumes that the wait time caused by all
preceding warehouses (l, m) ∈ Pi, j is 0. We also calculate an upper bound by assuming the
order has to wait at every stage, i.e., R̄i, j := Ri, j |(Li, j = ∑(l,m)∈Pi, j Tl,m ).
Algorithm 26 (Initial construction of underestimator). For each predecessor (l, m) of a
local warehouse (i, j), we calculate the following:
1. Set the lead time Ll,m of the predecessor (l, m) to its upper bound, i.e., as the sum of
all transportation times to this predecessor, and assume all intermediate warehouses
between (l, m) and (i, j) act as cross-docks only, i.e., full transportation time on this path
applies.
2. Calculate Ri, j assuming Rl,m = 0. Call this reorder point R̂l,m
i, j .
i, j
3. Calculate the slope bi,l,mj of the linear relationship as bi,l,mj = (R̂l,m
i, j − li, j )/ūl,m .
4. With the above assumptions, the following function is an underestimator for Ri, j , given a
Rl,m , (l, m) ∈ Pi, j and all Rn,o = −1, (n, o) ∈ Pi, j \ {(l, m)}:
if ūi,l,mj ≥ Rl,m ≥ 0
(R̂l,m
i, j − 1) − bl,m Rl,m ,
ei,l,mj (Rl,m ) =
(4.33)
i, j
l,m
(R̂i, j − 1) − bl,m ūl,m , if Rl,m > ūi,l,mj
Step 1 ensures that we exclude all effects of the intermediate warehouses except the transportation time. We therefore allow (l, m) to “buffer” the whole transportation time in the
network for the local warehouse (i, j). Each increase in Rl,m can therefore have the highest
possible impact on Ri, j : The nominator in the upper bound of the effect of an increase of
Rl,m on Ri, j is largest, cp. eqs. (4.27) and (4.28).
Note that we try to approximate a step function with the help of ei,l,mj (Rl,m ). If a local reorder
point is decreased by 1 right at the start when Rl,m is increased from 0 to 1, ei,l,mj (Rl,m ) can
intersect the true step function. By subtracting 1 in eq. (4.33) from the y-intercept, we
prevent this from happening.
4.2 The n-echelon case
57
Combining eq. (4.33) for all (l, m) ∈ Pi, j , we get an underestimator for Ri, j given the reorder
points of all predecessors.
Ri, j ≥ R̄i, j −
∑
(l,m)∈Pi, j
(gi,l,mj (Rl,m )) for all (i, j) ∈ C,
(4.34)
i, j
where gi,l,mj (Rl,m ) := −(ei,l,mj (Rl,m ) − R̂l,m
i, j ). Figure 4.10 shows how the function gl,m (Rl,m )
may look like.
! Figure 4.10: Reduction of Ri, j given different Rl,m ∈ Pi, j
In the construction of the linear relationship between (i, j) and (l, m), we ensured that the
slope bi,l,mj is overestimating the real decrease of Ri, j if Rl,m is increased. We limited the
range in which Rl,m influences Ri, j by assuming that the wait time is always decreased by
the maximum possible value (eq. (4.32)) and in a second step, calculated an upper bound
for the decrease of Ri, j caused by Rl,m and applied this upper bound to the limited range.
Additionally, we need to impose an upper bound on the sum of the reductions of a local
reorder point. Each non-local reorder point Rl,m can decrease the wait time to 0 for a local
reorder point Ri, j . In Step 1 of Algorithm 26, we assume that the lead time to each warehouse (l, m) is the full transportation time from the supplier. We therefore need to introduce
an additional constraint to combine the reductions of all non-local warehouses, such that
the same transportation time is not (implicitly) buffered several times for a local warehouse.
The local reorder point would then be reduced too much.
gi,l,mj (Rl,m ) +
∑
(n,o)∈Pl,m
(gi,n,oj (Rn,o )) ≤ b̄i,l,mj for all (i, j) ∈ C, (l, m) ∈
/ C ∪ {(1, 1)}.
(4.35)
Here b̄i,l,mj is the maximum reduction of a local reorder point that can be achieved by the
i, j
warehouses (l, m) and (n, o) ∈ Pl,m . Defining Hl,m
as the set of all warehouses that connect
(i, j) and (l, m), including (i, j) and excluding (l, m). Also, let Ri, j [Li, j = l] be the reorder
58
4 Multi-echelon optimization
point needed at the local warehouse (i, j) to fulfill the fill rate target given the lead time
Li, j = l. We can then calculate an upper bound on the reduction a warehouse (l, m) can
achieve on the reorder point of warehouse (i, j) as
⎞
⎛
⎞ ⎛
b̄i,l,mj ≤ ⎝Ri, j [Li, j =
∑
⎜
Tn,o + Ti, j ]⎠ − ⎝Ri, j [Li, j =
(n,o)∈Pi, j
⎟
∑ i,Tj n,o]⎠ .
(4.36)
(n,o)∈Hl,m
Equation (4.36) calculates the difference in local reorder point needed to fulfill the fill rate
target given full transportation time from supplier to the local warehouse minus the local
reorder point needed to fulfill the target if the wait time at warehouse (l, m) was 0.
Now we can construct an ILP, that is an underestimator of the model defined by eqs. (4.12)
and (4.13).
min
∑ ∑ pi, j · Ri, j
i
s.t.
(4.37)
j
Ri, j ≥ R̄i, j −
∑
(gi,l,mj (Rl,m )) for all (i, j) ∈ C
(4.38)
for all (i, j) ∈ C
(4.39)
for all (i, j) ∈ C, (l, m) ∈ Pi, j
(4.40)
(l,m)∈Pi, j
Ri, j
i, j
gl,m (Rl,m )
≥ li, j
≤
∑
b̄i,l,mj −
(gi,n,oj (Rn,o ))
(n,o)∈Pl,m
The above optimization model is an ILP because we require special order sets of type 2
to describe the functions gi,l,mj (Rl,m ) (cp. Figure 4.10). After solving the ILP, we have two
options to refine our model.
Refining the functions gi,l,mj (Rl,m )
For each local warehouse (i, j) ∈ C, we can refine the function gi,l,mj (Rl,m ) for all (l, m) ∈ Pi, j
based on the optimal solution determined for the ILP defined by eqs. (4.37) to (4.40).
Recall that the function gi,l,mj (Rl,m ) gives an upper bound for the reduction of the local reorder
point Ri, j by setting a reorder point Rl,m of a predecessor to a certain value. With the solution
R∗l,m of the ILP, we can update the function gi,l,mj (Rl,m ), i.e., we recalculate the reduction of
gi,l,mj at R∗l,m and add update the function as illustrated in Figure 4.11.
The solution of the ILP defined by eqs. (4.37) to (4.40) overestimates the impact of nonlocal warehouse and therefore our solution is an underestimating solution, which violates
fill rate constraints. The actual reduction of the local reorder points by non-local reorder
points as expressed by gi,l,mj for all (i, j), (l, m).
We have to charge the reduction to the different predecessors because our functions g only
express a relationship between one local and one non-local warehouse. We therefore assume
4.2 The n-echelon case
59
Figure 4.11: Refinement of Constraint 4.38 for one warehouse (l, m) ∈ Pi, j
that Rn,o = 0, (n, o) ∈ Pl,m , and that all intermediate warehouses between (i, j) and (l, m) act
as cross-docks only. Furthermore, we set the variance of the wait time caused by R∗l,m to
0. With these settings, we make sure that we still overestimate the reduction of Ri, j by an
increase of Rl,m and our overall model is still underestimating the original problem. First,
we recalculate the local reorder point Ri, j given R∗l,m for each (l, m) ∈ Pi, j such that the fill
rate constraint is met.
i, j
i, j
Then we calculate the reduction as r̄l,m
= R̂l,m
i, j − Ri, j + 1 and refine gl,m (Rl,m ) by inserting
i, j
) using the following two properties: If Rl,m increases by 1, the
the new point (R∗l,m , r̄l,m
maximum possible decrease of Ri, j is bi,l,mj . If Rl,m decreases, a decrease of Ri, j is not possible.
i, j
)/bi,l,mj + R∗l,m ).
Finally, we have to update the upper bound ūi,l,mj = max(ūi,l,mj , (R̄i, j − r̄l,m
Refining the ILP based on actual solutions
We can calculate the actual local reorder points Ract
i, j , (i, j) ∈ C needed to fulfill the fill rate
targets given the non-local reorder points from the optimal solution. If we reduce the reorder
points Rl,m , (l, m) ∈ Pi, j , the required local reorder point (i, j) can not be smaller:
∗
Ri, j ≥ Ract
i, j , if Rl,m < Rl,m f. a. (l, m) ∈ Pi, j .
(4.41)
Furthermore, we can introduce constraints for all other cases, i.e., if we increase some or
many Rl,m , (l, m) ∈ Pi, j :
Ri, j ≥ Ract
i, j −
∑
(l,m):Rl,m ≥R∗l,m
(gi,l,mj (Rl,m )).
(4.42)
60
4 Multi-echelon optimization
Equations (4.41) and (4.42) can be modeled in the ILP as indicator constraints or with the
help of auxiliary binary variables. By introducing these new constraints, our ILP is now
exact at {R∗l,m }, much tighter in the area around this spot and we can guarantee optimality
of our algorithm. However, especially if multiple constraints of this type are introduced,
runtime increases significantly. The combination of general constraints and SOS constraints
of type 2 with the SOS variables appearing in different constraints seems to be difficult for
the solver to tackle.
Because of this computational complexity, we use a somewhat weaker but less complex
formulation. For this we solely use the property, that a local reorder point can be reduced
by at most 1, if a non-local reorder point of a predecessor is increased by 1 (cp. Lemma 20).
If we reduce the reorder points Rl,m , (l, m) ∈ Pi, j , the required local reorder point (i, j) can
not be smaller:
∗
Ri, j ≥ Ract
i, j , if Rl,m < Rl,m f. a. (l, m) ∈ Pi, j .
(4.43)
Furthermore, we can again introduce constraints for all other cases, i.e., if we increase some
or many Rl,m , (l, m) ∈ Pi, j :
Ri, j ≥ Ract
i, j −
∑
(l,m):Rl,m ≥R∗l,m
(Rl,m − R∗l,m ).
(4.44)
Equations (4.43) and (4.44) have again to be modeled with indicator constraints, but we
do not have any entanglement with SOS constraints or variables anymore. Furthermore, if
we introduce constraints based on multiple actual solutions, we can use the dependencies
between the different constraints to reduce the number of variables and to convey information about the structure of our optimization problem to the solver:
First, we have to introduce a big-M-type constraint and two binary variables bsmaller
and
l,m
blarger
to model eq. (4.44). For this, we can use the maximum of our already derived upper
l,m
bounds Ū(l,m) := max(i, j) ūi,l,mj + 1 as a sufficiently large but still small M number:
+ blarger
=1
bsmaller
l,m
l,m
Rl,m ≤
(R∗l,m − 1) + Ū(l,m) blarger
l,m .
(4.45)
(4.46)
and blarger
for each non-local warehouse (l, m)
With the help of the binary variables bsmaller
l,m
l,m
as well as the help of indicator constraints, we can now model eqs. (4.43) and (4.44).
AND{b1 , b2 , ..., bn } denotes an and-constraint which is equal to 1 if all binary variables
b1 , b2 , ..., bn are 1 and 0 otherwise. IND{b → ax ≤ c} denotes an indicator-constraint. The
constraint on the right side, ax ≤ c, only applies if b is 1.
Then, eq. (4.43) can be written as
, f. a. (l, m)}
bsmaller = AND{bsmaller
l,m
(4.47)
4.2 The n-echelon case
61
and
IND{bsmaller → Ri, j ≥ Ract
i, j }.
(4.48)
Note that we have to introduce eq. (4.47) only once for all local warehouses with the same
predecessors, while we set up eq. (4.48) for each local warehouse.
For eq. (4.44), we have to introduce a similar set of constraints for each combination of Rl,m
being smaller or larger than R∗l,m , except where all Rl,m are smaller, as this is already covered
by eqs. (4.47) and (4.48). In a 3-level network, for example, we have 3 additional possible
combinations. Let m be the index of the predecessors of a local warehouse (i, j) at the first
level and n be the index of the predecessor at the second level. Then,
bcase1 = AND{bsmaller
, blarger
1,m
2,n },
(4.49)
smaller
= AND{blarger
},
b
1,m , b2,n
larger larger
case3
= AND{b1,m , b2,n }
b
(4.50)
case2
(4.51)
and
IND{bcase1 → Ri, j ≥ Ract
i, j − R2,n },
(4.52)
IND{bcase2 → Ri, j ≥ Ract
i, j − R1,m },
(4.53)
IND{bcase3 → Ri, j ≥ Ract
i, j − R1,m − R2,n }.
(4.54)
Again, eqs. (4.49) to (4.51) only have to be introduced once for each possible set of predecessors, while eqs. (4.52) to (4.54) are set up for each local warehouse.
Because eqs. (4.47) and (4.49) to (4.51) are linking all local warehouses for which some or
all predecessors are the same, we replicate the network structure and the dependencies of
our distribution network within the ILP model.
If we introduce constraints of this sort based on more than one solution {R∗l,m }, R∗l,m can
be equal to the same value r for some warehouses in some solutions. We then can reuse
the same bsmaller
and blarger
and therefore convey information about the interdependence
l,m
l,m
between the constraints.
Constructing a two-step optimization algorithm
We start the construction of our algorithm with some key observations. After obtaining
an optimal solution for the ILP defined by eqs. (4.37) to (4.40), which underestimates the
real problem defined by eqs. (4.12) and (4.13), we can always obtain a valid solution by
recalculating all local reorder points, such that the fill rate targets are met. We can use this
solution to calculate an optimality gap:
Lemma 27. Let Z ∗ be the objective value for the solution of the ILP and let Z act be the
objective value taking into consideration the recalculated local reorder points. Z act − Z ∗ is
then a bound for the absolute optimality gap of the solution of the current ILP.
62
4 Multi-echelon optimization
We construct an algorithm to determine optimal reorder points by iteratively refining the
linear functions and introducing new constraints. Our algorithm is subdivided into two
parts: During the first part we use the structural properties derived in the previous section,
to narrow down the area in which the optimal solution may be located. In the second part,
we use the actual local reorder points needed to fulfill eq. (4.13) to strengthen our model.
By doing so we reduce the optimality gap and can even guarantee optimality.
Algorithm 28 (n-echelon Optimization).
1. Construct initial ILP (eqs. (4.37) to (4.40)) as described in Section 4.2.3.
2. Complete first refinement process:
a) Solve ILP and obtain the solution R∗i, j for all (i, j) and the resulting objective value
z∗ .
b) If the solution of the ILP R∗i, j for all (i, j) did not change compared to the previous
iteration, go to Step 3a.
c) Otherwise, refine the functions gi,l,mj (Rl,m ) as described in Section 4.2.3 and continue
with Step 2a.
3. Complete second refinement process:
a) Based on all non-local reorder points R∗i, j , (i, j) ∈
/ C, calculate the actual local reorder points R̃i, j , (i, j) ∈ C needed to fulfill the fill rate targets of eq. (4.13) and calculate the objective value zact of this solution.
b) If zact = z∗ or the gap between the two values is as small as desired, return R∗i, j , (i, j) ∈
/
C, R̃i, j , (i, j) ∈ C as the solution. Otherwise, go to Step 3c.
c) Use R̃i, j , (i, j) ∈ C to introduce new constraints to the ILP based on actual solutions
as described in Section 4.2.3.
d) Solve ILP and obtain the solution R∗i, j for all (i, j) and the resulting objective value
z∗ . Go to Step 3a.
In Step 3 the right implementation is key to keeping runtime low. By setting up the model
in a solver, solving it to optimality, then adding the additional constraints to this model and
resolving, information from the previous solving process is retained by the solver.
One special case may be taken into consideration: If the first solution found in Step 2a is 0
for all Ri, j , (i, j) ∈
/ C, the functions g cannot be refined because of their initial design. They
are already constructed from a starting point of 0. Then, new constraints as in Step 3 should
/ C before continuing with the first refinement process
be introduced for the Ri, j = 0, (i, j) ∈
(Step 2).
4.2 The n-echelon case
63
Performance improvements
Tighter bounds of binary search Recall, that we have to run binary searches in both
stages of Algorithm 28 on eq. (4.13) to refine our ILP. By doing so, we determine the minimal Ri, j that leads to a fill rate higher than the fill rate target for given demand characteristics. Those demand characteristics either stem from the set-up or refinement of eq. (4.34)
of a given set of non-local reorder points when we calculate actual local reorder points as
described in Section 4.2.3.
During the execution of Algorithm 28 we keep a list for each local warehouse (i, j), that
links each Ri, j which was computed by a binary search to the mean and variance of lead
time demand used to compute it. At the beginning of each call to a binary search, we then
check if that list has entries where mean and variance are larger than what we currently
consider and take the Ri, j with the smallest mean as an upper bound. Analogously, we
check if the list has entries where mean and variance are smaller and take the Ri, j with the
largest mean as lower bound. The mean and variance of lead time demand are the two
decisive input factors besides the non-local reorder points needed to run the binary search
(cp. Section 2.2.4) as they are needed to calculate the fill rate (cp. eq. (2.13)).
We are left with the case of determining good bounds when no usable information from
previous searches is available. For this, we reuse the heuristic developed for the 2-level case
(cp. Section 4.1.3), which can easily be modified for the n-level case. For the lower bound
we can always use 0 by definition in absence of any more usable information.
With the help of these two techniques, we can decrease the runtime of the binary searches
and therefore of our algorithm significantly.
Tweaks for large solution spaces If the solution space is large, the runtime of our algorithm may still not be sufficiently short. In that case, a number of performance tweaks
are possible.
If a greatest common divisor q > 1 of the order quantities of all warehouses exists, the entire
system should be expressed in units of q and this shrinks the solution space by the factor
q. This is a common method in inventory management. However, if no such q exists and
if order quantities are larger, we may still express the entire system in terms of some factor
q̂ if the rounding error is small. In our experience, the objective function is flat around the
optimum and if the “rounding” error is small, we will deviate little from the optimal value,
especially if the rounding errors occur only at a limited number of warehouses. When
looking at real-world data, we often found that finding a greatest common divisor q > 1
was possible if not for one or two warehouses which had “odd” order quantities. This
may be better illustrated with an example: Imagine a situation where the order quantities
of all warehouses except one have the greatest common divisor of q = 10. The missing
warehouse has an order quantity of Qi, j = 78. Expressing the system in units of q, would
lead to Qi, j = 7.8, which is not possible due to the integrality constraint. We have to round
up to Qi, j = 8. However, this is only a deviation of 2.6% from the original order quantity. By
64
4 Multi-echelon optimization
rounding we speed up the computation of our algorithm dramatically, but we have to check
the found solution for fill rate violations and increase local reorder points if necessary.
Especially during the second refinement process (Step 3 of Algorithm 28), solving the ILP
for some iterations may take long. In these situations, the solver usually finds a very good
solution within very short time and then takes a long time to prove optimality of that solution
or to find a solution which is only little better. It is then valuable to introduce an acceptable
optimality gap and/or a runtime limit. Recall, that during this refinement process we use
the same optimization model during each iteration and only add additional constraints to it.
Therefore, the solver retains the information from previous iterations. If we are interested
in the optimal solution or can not find a solution within the desired solution gap (between
actual and ILP solution), we can decrease the optimality gap and/or increase the runtime
limit gradually during later iterations.
4.2.4 Step size heuristic
The heuristics based on the idea of strengthening the underestimating model by using insights on the step size, as done for the 2-echelon case in Section 4.1.6, can also be applied
for the n-echelon case. But, as before, when moving to n-echelons the extension is not
straightforward and has to be done carefully.
Once we have somehow derived a possible minimal size of the step size constraint, we have
three different possibilities how to use this information.
Firstly, we can introduce additional step size constraints, similar to Algorithm 24 for the
2-echelon case. In this case, the expectation is that our underestimating ILP, described by
eqs. (4.37) to (4.40), is tighter from the beginning and we move faster in the direction of the
optimal solution.
Secondly, we can use the step size directly to derive a slope that can be used in the second
refinement process (Step 3) of the original Algorithm 28. Instead of using a slope of 1 in the
construction of constraints based on the optimal solution (cp. Section 4.2.3), we use the new
smaller slope. This option can be combined with the additional step size constraints, such
that we already benefit from the step size information during the first refinement process of
Algorithm 28.
Thirdly, we can build a completely new algorithm that is solely based on the step size.
The challenge here is to model the connections between different preceding warehouses,
as the step size constraint only models a 1 : 1 connection between a local and a non-local
warehouse.
All three possibilities can implement a correction mechanism as done for the 2-echelon case.
We start by describing the design of the “guessing process” of the minimal step size before
sketching the three different possible heuristics.
4.2 The n-echelon case
65
Derive candidate for minimal step size
For the n-echelon case it is in general difficult to gain insights in the structure as possible
for the 2-echelon case, because it is not feasible anymore to explore sample problems by
enumeration. We therefore are left with applying our insights gained from the 2-echelon
analysis and from the construction of the original n-echelon optimization model.
From the analysis of the n-echelon optimization problem in Section 4.2.2, we know that a
preceding warehouse has the biggest impact on a local warehouse if the warehouses above
the preceding warehouse are empty. Experience from the computation of a step size in the
2-echelon case shows that the smallest step sizes are obtained if the reorder point Rl,m of
the preceding warehouse is in a medium range. In the 2-level case, we have simply chosen
a suitable Rl,m from the initialization values.
However, we do not have initial values for the non-local reorder points in the n-echelon
algorithm. Instead we construct the functions gi,l,mj (Rl,m ) during initialization as described
in “Constructing an underestimating ILP” in Section 4.2.3. Recall, that those functions
overestimate the impact of the warehouse (l, m) on the local warehouse (i, j) and therefore
underestimate the actually needed reorder points. This underestimation is usually quite
drastic in the beginning due to the assumption of a maximum impact of an increase in Rl,m ,
which is never obtained in reality.
We therefore propose using the initial upper bound ūi,l,mj up to which Rl,m has an impact as a
starting point to compute the step size and use the upper bound of the lead time Ll,m as done
during the initialization of the n-echelon optimization algorithm (Algorithm 26). It is then
straightforward to apply Algorithm 23 from the 2-level case.
Alternatively, the starting point of the step size computation can be based on the sum of the
expected local demand during local lead time of all local warehouses (i, j) that have the nonlocal warehouse (l, m) as a predecessor. We calculate Dl,m = ∑(i, j)∈C|(l,m)∈Pi, j E[Di, j (Li, j )].
We then can take this value or a multiple as a starting point. If we want to mimic the logic
of the 2-level case, we take 1/4Dl,m as a starting point.
Algorithm 29 (Computation of step size for the n-echelon case). For each predecessor
(l, m) of a local warehouse (i, j), we calculate the following:
1. Set the lead time Ll,m of the predecessors (l, m) to its upper bound, i.e., as the sum of
all transportation times to this predecessor, and assume all intermediate warehouses
between (l, m) and (i, j) act as cross-docks only, i.e., full transportation time on this path
applies.
i, j
2. Calculate the step size si,l,mj assuming Rinit
l,m = ūl,m using Algorithm 23.
66
4 Multi-echelon optimization
Option 1: Heuristic to introduce additional step size constraints in the original model
Once we have derived the step sizes for each connection between local and non-local warehouses as described in the previous section, it is straightforward to introduce similar constraints as done in the 2-echelon case in Section 4.1.6.
We also do not need to add any additional constraint to prevent an overreduction of local
reorder points by increasing several non-local reorder points too much, as this is already
taken care of by eq. (4.40) in the original ILP.
We therefore only introduce the constraint
Ri, j ≥ R̄i, j −
1
∑
Rl,m
i, j
(l,m)∈Pi, j (sl,m − 1)
for all (i, j) ∈ C
(4.55)
to the ILP described by eqs. (4.37) to (4.40).
While we can compute the actual solution based on the non-local reorder points and therefore detect a violation of the assumption of underestimation, we have no easy way to correct
this violation as in the 2-echelon case. We need to charge the violation to the different preceding warehouses of a local warehouse to do so. Due to the lack of any sophisticated
model for the charging process, we simply suggest increasing (1/(si,l,mj − 1)) in parallel for
all preceding warehouses until the violation is resolved.
To check for a violation, we have to perform additional binary searches during every iteration of the first refinement process, while no additional effort is needed during the second
refinement process. It is therefore an open question when the constraints should be added.
Especially, as we expect that eq. (4.55) will dominate eq. (4.38) during at least the first iterations of the first refinement process. It will therefore often be the binding constraint of the
solution and the check for a violation would be essential. Further analysis is needed if this
additional computational effort during the first refinement process are justified by a faster
solving process.
Option 2: Heuristic to use the slope derived from the step size in the original model
During the second refinement process of our two-step optimization Algorithm 28, we implicitly use a slope of −1 for the modified version to introduce constraints starting from an
actual solution in case we increase one or several of the non-local warehouses that precede
a local warehouse (cp. eq. (4.44)). We can improve eq. (4.44) by using si,l,mj :
Ri, j ≥ Ract
i, j −
∑
1
Rl,m .
i, j
(l,m)|Rl,m ≥R∗l,m (sl,m − 1)
(4.56)
Even if we use the more complex approach of eq. (4.42), we recommend replacing the
constraint by eq. (4.56). We expect the constraint to be tighter and it is easier to handle by a
solver.
4.2 The n-echelon case
67
If eq. (4.56) is a binding constraint, we can check for a violation using the actual solution
which is computed during each iteration of the second refinement process anyways. We
then can use the same correction mechanism as described for option 1.
Option 2 can also be easily combined with option 1, no matter if the constraints of option 1
are already added during the first refinement process or only during the second refinement
process.
Option 3: Heuristic solely based on step size insights
The last and most radical option is to construct an optimization heuristic from scratch based
on the step size and drop the original idea. The original model uses the approach to assume
maximal impact on a local reorder point of each non-local reorder point. We iteratively
improved this underestimating solution by adding new constraints.
Similarly, we can start with an ILP with eq. (4.55) as constraints. However, we now need
to find a new way to decide in which area to compute the step size, as ūi,l,mj , that was used
in Derive candidate for minimal step size in Section 4.2.4, is not available anymore. We
therefore fall back to the alternative starting point using the sum of expected local lead time
demand in the respective subnetwork.
Our new initial underestimating ILP is described by eqs. (4.57) to (4.59).
min
∑ ∑ pi, j · Ri, j
i
s.t.
(4.57)
j
Ri, j ≥ R̄i, j −
Ri, j ≥ li, j
∑
1
Rl,m
i, j
(l,m)∈Pi, j (sl,m − 1)
for all (i, j) ∈ C
(4.58)
for all (i, j) ∈ C
(4.59)
As already indicated in Option 1: Heuristic to introduce additional step size constraints in
the original model, a way to prevent an over-reduction of a local reorder point by several
non-local reorder points is at least beneficial. We now can not fall back to eq. (4.40) to take
care of this issue anymore. However, as we could not come up with another approach, we
rely only on the lower bound (eq. (4.59)). Any over-reduction will be taken care of by the
refinement process, which is described in the following and which basically renders every
solution based on an over-reduction infeasible in the subsequent refinement step.
Our new proposed heuristic is summarized by Algorithm 30 and makes heavy use of the
insights obtained in this and the previous section. We compute the step sizes and start
by solving our new initial ILP. Then we calculate the actual local reorder points needed
to fulfill the fill rate targets. We use the actual solution to first check for a violation of
the underestimating assumption by the step size constraints and correct the constraints if
necessary. We then use the actual reorder points to refine our ILP similar to the second
refinement process of Algorithm 28 using the improved eq. (4.56), which is based on the
step size as well. We can terminate our algorithm if the “optimality gap” is 0 or as small as
68
4 Multi-echelon optimization
desired. Recall, that we cannot guarantee optimality anymore and therefore the optimality
gap only describes the gap between the solution of the approximate ILP and the actual
solution at the current position.
Algorithm 30 (n-echelon step size heuristic).
1. Calculate Dl,m = ∑(i, j)∈C|(l,m)∈Pi, j E[Di, j (Li, j )] for each non-local warehouse.
2. Compute step sizes as described in Algorithm 29 using 14 Dl,m .
3. Set up and solve initial ILP described by eqs. (4.57) to (4.59).
4. Complete refinement process:
a) Based on all non-local reorder points R∗i, j , (i, j) ∈
/ C, calculate the actual local reorder points R̃i, j , (i, j) ∈ C needed to fulfill the fill rate targets of eq. (4.13) and calculate the objective value zact of this solution.
b) Check for a violation and, if a violation is detected, correct the size of the step size
as described in “Option 1: Heuristic to introduce additional step size constraints in
the original model”.
c) If no violation was detected and zact = z∗ or the gap between the two values is as
small as desired, return R∗i, j , (i, j) ∈
/ C, R̃i, j , (i, j) ∈ C as the solution. Otherwise, go
to Step 4d.
d) Use R̃i, j , (i, j) ∈ C to introduce new constraints to the ILP based on the actual solution
as described in “Refining the ILP based on actual solutions” in Section 4.2.3 using
the improved eq. (4.56).
e) Solve ILP and obtain the solution R∗i, j for all (i, j) and the resulting objective value
z∗ .
5 Experimental results
In this chapter, we compare the quality of the different wait time approximations presented
in Section 3.2. We focus especially on the conditions in which each approximation performs
best in approximating the mean and variance of the wait time.
We also test the algorithms developed in Chapter 4: We analyze in-depth the structure of
the optimal solution for the 2-level and the n-level case. For the 2-level case, we also
investigate the runtime of the different algorithms and especially compare the heuristics
with the original optimization algorithm.
To be able to obtain all these experimental results, we have developed a simulation tool,
which was build to imitate the behavior of the considered real world supply chain as closely
as possible. One major strength of the results presented here is the use of real-world data.
On the one hand we solve real world problems and on the other hand we test the obtained
solution with real world historical demand data.
5.1 Set-up of simulation
Our network simulates a divergent inventory system where all warehouses use a (R,Q)-order
policy. In the real-world network considered for this thesis ordering is done in continuous
time, for end customers as well as warehouses. However, the transports between the warehouses internally in the network usually have specified cut-off times, i.e., the time when the
truck, freight car or container is closed and leaves. To mimic this behavior we have therefore
chosen to work with discrete time steps and implement a modified first come first serve rule
for the handling of orders. Orders are generally served in the order of appearance. However,
as we only allow for complete orders to be fulfilled, there is the possibility that while a large
earlier order cannot be fulfilled anymore a smaller later order can still be fulfilled. In this
case we do not want a large order to block all subsequent orders. We therefore deviate from
the FCFS rule and use the remaining stock on hand to fulfill smaller orders. As long as the
replenishment order size Qi is sufficiently large, this does not hurt the customer with the
large order as he has to wait anyways until the next replenishment arrives but all customers
with smaller orders benefit from this rule.
Figure 5.1 shows the schematics process diagram of our simulation. Our goal was to simulate the behavior of real-world warehouses, that is why we have chosen to move in discrete
time steps and have a specified order of receiving shipments, fulfilling demands and placing
new orders. In our application the discrete time step is one day, but it could also be any
other time unit.
The input data shown in Table 5.1 is needed for each warehouses (i, j) in the network. In the
following, we describe the simulation and especially the process steps S1-S4 of Figure 5.1
in more detail.
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_5
70
5 Experimental results
Figure 5.1: Schematic process diagram of the simulation
Table 5.1: Warehouse input data needed for simulation
Input data
Reorder points
Order quantities
Expected transportation time
Variance of transportation time
Notation
Ri, j
Qi, j
E[Ti, j ]
Var[Ti, j ]
We initialize inventory on hand at each warehouse with Ri, j + 1. Then, new orders are
triggered as soon as we have the first incoming demands at the local warehouses and orders
are propagated throughout the network. This ensures that our system moves towards a
“steady-state” fast. All other variables are initially set to 0 and there are no shipments on the
way at the start of the simulation.
First, in process step S1, we check for each warehouse in our network if there are any
incoming shipments for that specific day and add them to the inventory on hand.
In process step S2, we check for each warehouse if there are any outstanding backorders.
Here, we have to do a different procedure for local warehouses, which fulfill customer demand, and non-local warehouses which only handle internal demand. For local warehouses,
we use our inventory on hand to serve backorders as far as possible. For non-local warehouses, we use our inventory on hand to fulfill orders of succeeding warehouses. In this
case, if we fulfill an order of a successor, we also have to schedule a shipment. For this we
5.1 Set-up of simulation
71
have to draw a random number t given the mean and variance of the transportation time and
assuming a distribution. In our simulations, we assumed a gamma distribution of transportation time and round the drawn random number to the nearest integer. The order is then
scheduled to arrive t days in the future. The minimal transportation time possible is one
day.
Afterwards, in step S3, we iterate over all local warehouses and try to fulfill the customer
demand of that day first come - first serve. Here, our simulation allows for two modes of
operation: The first one is based on historical demand data, while the second one is based
on artificial demand data drawn from random distributions.
In the first case, the historical demand data for all local warehouses for a certain period of
time is given and on each day we try to fulfill all (historical) demand of that day in the order
it occurred. In the second case, we assume compound Poisson demand. Therefore, we need
the mean of the Poisson arrival process and mean and variance of the order size of each
arrival. We first draw the number of customers arriving from the Poisson distribution (cp.
Appendix A.2.5) and then draw the order size for each arriving customer. The logarithmic
distribution (cp. Appendix A.2.3) is used as an order size distribution. We then have a
negative binomial distribution of lead time demand and can use the fill rate formulas from
Section 2.2.3. When using real-world data, estimates for mean and variance are available
from the inventory planning system.
In the last step S4, we check if the inventory position, i.e., inventory on hand plus inventory
on order minus backorders, at that respective warehouse is below or equal to the reorder
point. If this is the case, we position orders of size Qi, j at the preceding warehouse until
the inventory position is raised above Ri, j again. If the preceding warehouse has enough
inventory on hand, we fulfill the demand and schedule a shipment in the future as done in
S2 for non-local warehouses.
Table 5.2 summarizes all parameters that can be configured for the simulation and gives the
default values that are used if not mentioned otherwise. We use a warm-up period which
should be a multiple of the longest transportation time in the network to allow for a few order
cycles to happen. We discard all performance measures obtained during warm up period.
As initial inventory we choose R + 1. One could argue that this creates a bias and it should
rather be set uniformly between R + 1 and R + Q. However, setting the initial inventory at
R + 1 causes the ordering cycle to start with the next demand at the respective warehouse
and steady state will be reached faster. Setting initial inventory uniformly between R + 1
and R+Q on the other hand would also create a basis in a different direction as the inventory
position and not the inventory level is uniformly distributed between the two. The reorder
points are computed prior to the simulation based on forecasting data. During the course
of the simulation we can update reorder points based on updated forecasting data but we
never use the results of the simulation to modify reorder points. Therefore, we do not need
to differentiate between in-sample and out-of sample. We only use the warm up period to
get the system close to a steady state behavior.
For each warehouse we have a number of performance measures as a result of the simulation
as shown in Table 5.3. Note, that all performance measures exclude the warm-up period.
72
5 Experimental results
Table 5.2: Parameters of simulation
Parameter
Transportation time
Initial inventory
Warm-up period
Runtime
Demand type
Order size
Input
distribution
pieces
time
time
random or historical
distribution
Default value
gamma
R+1
logarithmic
The order fill rate of a warehouse can be directly computed as orders fulfilled/total orders
(cp. Definition 12).
Table 5.3: Performance measures for each warehouse of the simulation
Performance measure
Average inventory on hand
Average inventory on order
Average backorders
Total orders
Orders fulfilled
Wait time
Description
Average inventory on hand over all time periods
Average of outstanding orders over all time periods
Average of backorders over all time periods
Sum of incoming orders
Sum of incoming orders, that were fulfilled on the same
day
Mean and variance of times a warehouse had to wait for
replenishment orders from the time the order was made
until it was shipped
5.2 Comparison of wait time approximations
In this section, we run simulations solely to test the performance of the different wait time
approximations. The results of the numerical experiments presented here are part of a joint
publication with Andreas Bley [GB18a]. In our experiments, we considered a 2-level network and prescribed several central fill rate targets. We then calculated the reorder points
for all warehouses such that the given local fill rate targets are met. The local reorder points
depend on the wait time, so different wait time approximations will lead to different local
reorder points. Figure 5.2 illustrates the process of calculating reorder points given a prescribed central fill rate, a wait time approximation and local fill rate targets. We want to
emphasize that for the same prescribed central fill rate the resulting central reorder point
is the same for all wait time approximations. The choice of approximation method only
affects the local reorder points. Hence, the results are directly comparable.
The presentation of our experimental results is split in two sections. First, we try to establish
a general understanding in which situation which approximation has the highest accuracy.
For this purpose, we have set up experiments using an artificial network and random data
5.2 Comparison of wait time approximations
73
Figure 5.2: Process of calculating reorder points for the simulation given a prescribed central fill
rate target, a wait time approximation and local fill rate targets
drawn from certain distributions. In a second step, we try to verify our findings using the
network and historical demand data of a real-world industrial supply chain. The second
step is much more challenging than the first one, as the real-world demand data is “dirty”.
Wagner coined this term to describe that real-world demand data usually contains many
irregularities, which often cannot be adequately represented by drawing random numbers
based on a fixed probability distribution [Wag02]. The real-world demand data therefore
can be seen as a more challenging environment and, consequently, a worse accuracy of the
distribution-based wait time approximations should be expected. Nevertheless, any method
that claims to have value in practical applications should be verified within a practical setting. To the best of our knowledge, we are the first to report on numerical tests of wait time
approximations in a real-world setting with real-world demand data.
To evaluate the accuracy of the wait time approximations regarding the mean and standard
deviation, we use two measures which we will define in the following for the NB approximation and which will be analogously used for all other approximations. Let μNB (t) and
σNB (t) be the computed estimators of the NB approximation for the mean and standard
deviation of the wait time for test case t. Analogously, let μSIMU (t) and σSIMU (t) be the
simulated mean and standard deviation of the wait time for test case t. In Section 5.2.1, we
consider random demand data. Here, μSIMU and σSIMU are the averages of the simulated
values of all instances (in the respective group of instances) that were simulated. We calculate the error and the absolute error of the mean of the wait time for the NB approximation
for a set T of test cases as
1
∑ (μNB(t) − μSIMU (t)) and
|T | t∈T
1
Absolute Error =
∑ |μNB(t) − μSIMU (t)|.
|T | t∈T
Error =
(5.1)
(5.2)
In the same fashion, we calculate error measures for the standard deviation and all other
approximation methods. While eq. (5.1) conveys information about the average direction of
the errors, eq. (5.2) conveys information about the average size of the errors.
74
5 Experimental results
5.2.1 Random data
Our objective in the experiments with random demand data is two-fold: First, we want
to evaluate the accuracy of the given wait time approximations in different situations. In
practice, however, managers do not care much about the wait time as a performance measure,
they care much more if the resulting fill rate targets are fulfilled. As second objective, we
thus also want to find out if using the wait time approximations to determine reorder points
leads to small or big errors in the resulting fill rates. For this, we first compute the local
reorder points for each test scenario and target fill rate using a wait time approximation, and
then, in a second step, compare this with the actual fill rate observed for these reorder points
in a simulation.
Set-up of experiments
In order to compare the quality of the different wait time approximations for random demand
data, we consider a 2-level network, where warehouse 0 is the central warehouse. The
demand characteristics of the default case are shown in Table 5.4. In this table, μi and σi2
Table 5.4: Sample network characteristics
Warehouse
0
1
2
3
4
5
6
7
8
μi σi2
2
3
4
5
6
7
8
9
4
6
8
10
12
14
16
18
Qi
β̄i
500
50
50
100
100
150
150
200
200
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
E[Ti ] σ (Ti )
60
5
5
5
5
5
5
5
5
pi
30 0.5
3
1
3
1
3
1
3
1
3
1
3
1
3
1
3
1
denote the mean and the variance of the demand for one day. From these values, one can
easily derive the necessary parameters θ of the logarithmic order size and λ of the Poisson
arrivals as
θi = 1 −
μi
and
σi2
λi = −μi (1 − θi )
(5.3)
log(θi )
.
θi
(5.4)
We have chosen to represent daily demand by its mean and variance, as this representation
is probably more intuitive for practitioners. One can easily grasp the size and the variability
of demand in the network.
5.2 Comparison of wait time approximations
75
From this default case we derive our set of test cases by varying the parameters. Table 5.5
summarizes the test cases we consider. If the variation typ is multiplicative, indicated by
‘m’ in Table 5.5, we multiply the parameter by the variation value in the respective line of
Table 5.4 . If the variation typ is absolute ‘a’, we replace it. A special case is the number n
of warehouses, where we vary the size of the network by considering the central warehouse
0 and n identical copies of warehouse 1. Note, that we only vary one parameter at a time
and keep all other parameters fixed to the values shown in Table 5.4. Therefore, we have a
total of 40 test cases, including the base scenario as shown in Table 5.4.
Table 5.5: Parameter variations and variation type, multiplicative (m) or absolute (a), for the creation of the test cases
Parameter
μi
σi2
Qi , i > 0
Q0
β̄i
T0
p0
n
#Test cases
2
4
5
5
4
5
3
10
Variation
0.25, 0.5
2, 4, 8, 16
0.25, 0.5, 2, 4, 8
0.25, 0.5, 2, 4, 8
0.25, 0.5, 0.8, 0.95
0.0625, 0.125, 0.25, 0.5, 2
2,4,8
2,3,4,5,6,7,8,10,15,20
Variation typ
m
m
m
m
a
m
m
-
Our objective is to test all wait time approximations over a wide range of central stocking
quantities, from storing little at the central warehouse to storing a lot. We therefore prescribe
different values for the central fill rate target. Based on the prescribed central fill rate, we
then calculate the central reorder point that is necessary to fulfill the specified fill rate target
as illustrated in Figure 5.2 to obtain sets of reorder points for the simulation.
The different wait time approximations suggest different ways to compute the central fill
rate. To obtain comparable results, we use the procedure described in Section 3.1 to approximate the central lead time demand and then calculate the fill rate using (2.13).
In the simulations, we considered a time horizon of 2000 days and used a warm-up period of
500 days. Complementary numerical experiments revealed that 100 independent runs of the
simulation for each instance are sufficient to get reliable numerical results, so all reported
simulation results are averages over 100 runs per instance. For further details on these tests
we refer to A.3.2.
In our initial experiment, we considered five scenarios where we prescribed a central fill
rate of 20%, 40%, 70%, 90% and 95%, respectively. We then calculated the central reorder
point based on the prescribed central fill rate and equation (2.13) using a binary search and
obtained the local reorder points using the procedure shown in Figure 5.2. Finally, we ran
simulations to check if the intended central fill rate was actually obtained. As shown in
Table 5.6, especially in the high fill rate scenarios, the fill rates observed in the simulation
are much lower than those anticipated. The five initial scenarios only cover the low and
medium range of central stocking quantities. As our objective is to cover a wide range of
76
5 Experimental results
Table 5.6: Prescribed central fill rate, average simulated fill rate and name of scenario
Prescribed central fr Average simulated fr Name of scenario
20%
10.86%
low
44.77%
medium low
40%
70%
56.06%
/
90%
63.59%
/
95%
67.80%
medium high
new
95.16%
high
central stocking quantities in our tests, we create a new scenario that led to a high central
fill rate of 95.16% in the simulation. We start from the medium high scenario and increase
reorder points of test cases with fill rate lower than 95%, obtain a new average simulated fill
rate and repeat the procedure until a average simulated central fill rate of more than 95% is
reached.
In the remaining experiments, we then only consider the scenarios 20%, 40%, 95% and
“new” shown in Table 5.6, which have been renamed for clarity to align with the central
fill rates actually observed in the simulations. Note that the “high” scenario is somewhat
special: In this scenario, the central fill rate is so high that the chance an order has to wait
at the central warehouse is really low. Hence, the effect of the wait time on the network is
very small in this case. Nevertheless, we found it worthwhile to also consider this case for
completeness.
For brevity, we refer to numbers obtained from the wait time approximations as computed
numbers and to the numbers observed in the simulation as simulated numbers in the following.
Results of the experiments
In this section, we discuss the results of the experiments with random data described in the
previous section. We compare simulated and computed wait time results. Based on this
analysis, we give recommendations when to use which approximation. Then, we analyze if
the local fill rate targets were satisfied and have a look at the inventory level for the different
scenarios and approximations.
Wait time results Table 5.7 shows the average simulated and computed mean and standard deviation for each scenario and approximation. The KKSL approximation seems to
perform best overall, while all other approximations seem to have great errors according to
the simulated results. However, we will observe later in this section that each approximation
performs best for at least some scenarios and test cases. Hence, the aggregated results can
only give a rough overview. Even more, some the aggregated results are strongly influenced
by few individual cases where an approximation did perform very poor. For example, the
standard deviation is badly overestimated by the NB approximation for a small number of
5.2 Comparison of wait time approximations
77
parameter settings, although this approximation performs very good for many other cases.
In the aggregate view, this is not properly represented.
Table 5.7: Average wait time and standard deviation for different scenarios and wait time approximations in comparison to the simulated results
low
medium low medium high
high
Mean
SD Mean
SD Mean
SD Mean SD
Simulation 24.76 15.63
9.11 11.35
4.12 7.21
0.42 1.90
KKSL
29.80 22.13
8.83 11.77
3.30 5.84
0.88 2.37
35.78 91.54
5.83 28.57
1.20 7.45
0.05 0.99
NB
BF
1.18 6.08
0.67 4.70
2.27 4.98
0.38 3.76
25.15 9.60
5.35 6.96
0.73 1.63
0.11 1.05
AXS
In the following, we will analyze which approximation works best in which circumstances.
When we refer to certain input parameters being high or low, this is always with respect to
our base setting shown in Table 5.4.
Evaluation of the different approximations The KKSL approximation has good accuracy for a wide range of input parameters. It is rather accurate if the central fill rate is medium
to high and if there are many local warehouses. It performs best if differences between local
warehouses are small and if local order quantities are in a medium range, i.e., Qi /μi ≈ 20.
Consider for example Figure 5.3, which shows the errors for the mean and the standard
deviation of the wait time for the “medium high” scenario and one test instance, i.e., the
base parametrization shown in Table 5.4. While the approximation performs good overall,
the differences between local warehouses are large. The approximation is very good if the
order quantity is neither too high nor too low, for example for warehouses 5 and 6, which
have an order quantity of 150. The accuracy is worst for warehouses with low demand and
low order quantity.
The NB approximation is very good for many input settings, especially at approximating
the mean of the wait time. However, it badly overestimates the standard deviation if Qi /μi
or if Q0 /Qi are large. On the other hand, we observed very good results with the NB
approximation when the central fill rate is medium to high and when the local warehouses
are heterogeneous.
In scenarios where the local order quantity and the central lead time are very low, BF is a
suitable approximation. In all other cases, it is not. We believe that the main reason for this
is that it assumes a very smooth and nearly steady demand at the central warehouse. Berling
and Farvid state that this assumption is valid only for small Qi [BF14]. In the numerical
analysis presented in their paper, increasing Qi causes larger errors. In our data, the ratio
Qi /μi is much larger than what Berling and Farvid considered. Moreover, our central lead
times are much longer, so the system is not reset as frequently and the error of the linear
approach supposedly adds up.
78
5 Experimental results
! !!"
Figure 5.3: Errors of KKSL approximation for mean and standard deviation of wait time for the
“medium high” scenario and the test set of base parametrization of Table 5.4 for the
different warehouses
By design, the AXS approximation computes only the average of the mean and the standard
deviation of the wait time over all local warehouses. Consequently, it is only suitable if
differences between local warehouses are not too large. Furthermore, it performs very good
if the central fill rate is low or if the variance of the demand is high.
Next, we will have a closer look at the effect of the network size on the quality of the
approximations. For this experiment, we consider a network with n identical warehouses
with the characteristics of warehouse 1 in Table 5.4. Note that this construction favors
approximations that benefit from homogeneous networks, namely KKSL and AXS. We
therefore focus on the trend and analyze how the accuracy of each individual approximation
changes if we increase the number of local warehouses.
Figure 5.4 shows the average error of the computed from the simulated mean and standard
deviation of the wait time for the “medium low” scenario. For the mean of the wait time,
we see no clear trend for n < 10, but for n ≥ 10 the accuracy of the approximation increases
for all methods except NB, which levels off for n ≥ 10.
For the standard deviation, we see an interesting behavior for the NB approximation: The
approximation is bad for small networks, which is consistent with our previous analysis (as
Qi
μi = 25), but the quality dramatically improves with more local warehouses. This indicates
that the mechanism that overestimates standard deviations for warehouses with those input
parameters diminishes with increasing network size. The other methods show a slightly
improving quality with increasing network size. This behavior is very similar for all other
central fill rate scenarios.
5.2 Comparison of wait time approximations
79
""#$
!!
%
%&
'#
!
(a) Mean
(b) Standard deviation
Figure 5.4: Errors of mean and standard deviation of the wait time for the different approximations
and network sizes in the “medium low” scenario
Finally, we look at the last test case, i.e., how do different wait time approximations perform
if we change the local fill rate target (β̄i in Table 5.5). The local fill rate target has no
effect on the accuracy of the approximations in our numerical experiments. This is hardly
surprising as the local fill rate target only influences the local reorder point. Therefore
only the timing of orders changes but neither the quantity nor the frequency of the ordering
process.
Local fill rates and inventory in network Ultimately, a planer does not care about wait
time but is interested in whether the fill rate targets at the local warehouses are met or
violated. Additionally, as a secondary objective, she or he might prefer fill rates to be not
much higher than the targets, as higher fill rates require additional stock.
80
5 Experimental results
Table 5.8 gives an overview on the average deviation of the local warehouses’ fill rates from
the fill rate targets. It shows the average of all test cases except the text ones regarding the
network size n and the fill rate targets β̄ (i) (cp. Table 5.5).
Table 5.8: Average deviations from fill rate targets for local warehouses, average of all test cases
except the test cases for the network size n and the fill rate targets β̄ (i)
Scenario
low
medium low
medium high
high
KKSL
7.31%
3.36%
2.75%
5.13%
NB
BF
AXS
9.04% -46.64% -7.04%
5.10% -13.83% -8.39%
1.70% -2.15% -6.24%
2.51% 5.19%
0.22%
AXS and BF on average violate the fill rate constraints considerably, except for the “high”
scenario, where the quality of the wait time approximation is hardly important. This confirms our previous finding that these two wait time approximations are only suitable in some
rather restrictive cases.
For KKSL and NB, the fill rate constraints are – on average – fulfilled in most cases. However, for the “low” and the “medium low” scenario the observed average fill rates are much
higher than the fill rate targets, indicating a substantial overstock.
Figure 5.5 shows the average value of the reorder points and inventory levels at local warehouses. As both bar charts show a very similar pattern, we discuss them together and more
generically refer to stock instead of reorder points and inventory levels.
Naturally, the local stock value is decreasing if more stock is kept at a central level.
The stock situation for AXS and BF reflects the violation of fill rate targets: Whenever the
violation is high, stock is low. Both the fill rate and the stock levels indicate that these two
approximations underestimate the wait time.
The much higher stock for the NB for the “low” scenario is striking. Contrary, for the
“high” scenario, results based on NB have the lowest stock. The higher the fill rate, the
more the stock situation for NB is similar to the other approximations. The KKSL behaves
more moderate than the NB approximation. We already found that the NB approximation
dramatically overestimates the standard deviation of the wait time for some input parameter
constellations. For these instances, way too much stock is kept. If we remove those instances from the analysis, the dramatic spike in the “low” scenario disappears. The NB
approximation still overstocks for low central fill rates, but the accuracy for higher central fill rates is much better. One could assume that the underestimation of the average fill
rate shown in Table 5.8 is also highly influenced by this and that NB may violate the fill
rate constraints if these instances are excluded from analysis. However, this is not the case:
Although the average fill rate is lower, the fill rate targets are still met, see Table 5.9.
5.2 Comparison of wait time approximations
81
!
!"
#
(a) Reorder points
!
(b) Inventory levels
Figure 5.5: Average value of reorder points and inventory levels for local warehouses for the different scenarios
If we vary the local fill rate targets, the behavior of all approximations is not surprising: The
higher the fill rate target, the more local stock is needed. The more accurate the approximation, the more precise the fill rate target is met and the less over- or understock, respectively,
is observed.
Table 5.9: Average deviation from fill rate target for local warehouses for NB approximation excluding test cases not suitable for NB
low
medium low medium high high
Deviation 8.46%
3.04%
1.15%
2.42%
Summary of the analysis based on random data The KKSL approximation seems to
be a good default choice, unless local order quantities differ too much or the central fill rate
82
5 Experimental results
Figure 5.6: Average value of reorder points for local warehouses for the different scenarios excluding test cases not suitable for NB
is very low. A suitable alternative in many instances is the NB approximation, especially if
the central fill rate is medium to high and if Qμii < 25 or if there are many local warehouses.
In these situations NB often outperforms the KKSL approximation.
The AXS approximation should only be used if the characteristics of local warehouses are
similar. If, additionally, the central fill rate is low or the variance of demand is very high, it
is an excellent choice.
Only for very low central lead time and local order quantities, BF should be chosen as
approximation.
5.2.2 Real-world data
The aim of the experiments presented in this section was to verify the findings for random
data also in a real-world setting with real-world data. For this purpose, we considered a
real-world distribution network with one central and 8 local warehouses and 445 parts from
the total stock assortment in this network. For all parts, we were given fill rate targets,
prices, order quantities and historical daily demand for all warehouses over a period of 1
year. The 445 parts were selected to make a small but representative sample of the total
stocking assortment of over 80,000 parts. For the majority of the parts, the variance of the
demand is very high compared to its mean.
In the simulation runs, the first 100 days were used as a warm-up period and results from
those days were discarded. The lead times were generated from gamma distributions with
given means and variances. For all scenarios considered here, the same random seed was
chosen.
In order to mimic a realistic real-world scenario, the reorder points were (re-)computed
every 3 months based on (updated) demand distributions, order quantities, fill rate targets
5.2 Comparison of wait time approximations
83
and prices. The demand distributions used as input in these computations were also updated
every 3 months based on the future demand forecast data from the productive inventory
planning system.
In the previous section, where we used artificial demand data, we followed an exploratory
approach, manually searching for patterns in the data obtained in the computations and simulations. This was possible, because the size of the data set to be analyzed was sufficiently
small. For the real-world data, this is not possible anymore. Therefore, we have chosen
to take a different approach here: We state the key findings from the previous sections as
hypotheses and try to confirm or falsify them here.
The mean and the variance of the transportation time from the central warehouse to each
local warehouse is the same for all parts, but it differs between local warehouses. For each
local warehouse, the mean is between 4 and 18 days and the variance is small, about 30%
of the mean. The lead time from the supplier to the central warehouse depends on the
supplier and is therefore not the same for all parts. The mean is between 45 and 100 days.
The variance is much higher, for some parts it is up to several factors larger than the mean.
These characteristic values limit our analysis, so we cannot replicate all investigations from
the previous sections.
Also, the evaluation of the results contains an additional challenge. We constructed the simulation to mimic the behavior of a real-world distribution system, where demands change and
reorder points are recalculated and adopted every 3 months. Every time the reorder points
are updated, also the wait time approximation will change implicitly. The stock situation at
the time of change, however, is determined by the results of the past. In the simulation, it
will take some time until the updated reorder points will become visible in the actual stock
and, thus, in the actual wait time. This behavior distorts the comparison of the approximation and the simulation, but this is something that would also happen if the approximations
were implemented in a real-world system. To cope with this difficulty, we will compare the
mean and the standard deviation of wait time computed by the respective wait time approximation, averaged over all re-computations, to the mean and the standard deviation observed
in the simulation over the entire time horizon excluding the warm-up period.
We start by looking at the central fill rate in order to verify the findings from Table 5.6,
namely that the simulated fill rate is much lower than the prescribed fill rate for high fill
rate scenarios. The results shown in Table 5.10 clearly confirm this observation. For the
scenarios with a prescribed fill rate of 90% and 95%, the simulated fill rate is indeed much
lower than those values. For low prescribed fill rates, the simulated fill rate is higher than
the prescribed value. Again we created an additional scenario by adjusting central reorder
points by trial and error to obtain a high central fill rate scenario namend “new”, as similarly
done for Table 5.6.
In total we have 18,396 test cases. A test case contains all results of our experiments for
each combination of scenario, part number and warehouse. For example, the test case for
scenario 20%, part “a” and warehouse “1” contains the results of the simulation as well as
the a-priori calculated moments of the wait time for the four different approximations.
84
5 Experimental results
Table 5.10: Prescribed central fill rate and average simulated value
Prescribed Fill Rate Average Simulated Fill Rate
20%
35.22%
41.87%
40%
70%
56.55%
90%
70.30%
95%
76.93%
new
93.73%
We use this big data set to test the following hypotheses, derived in the previous section for
random demand data. Note that our goal is not to confirm these hypotheses by any statistical
means, but only to detect patterns in the data that either confirm or reject those findings.
H1. The KKSL approximation is suitable if the central fill rate is medium to high.
H2. The KKSL approximation performs best if differences between local warehouses are
small and if local order quantities are in a medium range.
H3. The NB approximation overestimates the standard deviation significantly if
Qi /μi > 25, but it has a good accuracy if Qi /μi ≤ 25.
H4. The NB approximation is good if the central fill rate is medium to high and when local
warehouses are heterogeneous.
H5. The error of the NB approximation of the standard deviation reduces if the network
becomes larger.
H6. The BF approximation performs good if local order quantities and central lead time
are small.
H7. The AXS approximation performs good if the network is homogeneous, the central fill
rate is low or the variance of demand is high.
Hypothesis H1: KKSL is suitable if the central fill rate is medium to high While
hypothesis H1 explicitly states that KKSL is suitable for medium to high central fill rates,
this also implies that it is not as suitable for low central fill rates. We will therefore analyze
both situations, the accuracy of KKSL for medium to high central fill rates, corresponding
to the 4 scenarios 70%, 90%,, 95% and “new” in Table 5.10, and its accuracy for low central
fill rates, corresponding to scenarios 20% and 40%.
Table 5.11 shows the ranking of the KKSL approximation compared to the other approximations. The columns “mean” and “standard deviation” show the respective percentages of
the test cases, for which KKSL produced the best, at least the second best, or the worst of
the 4 approximations for the value of the mean or the standard deviation of the wait time
that was observed in the simulation. The column “combined” shows the percentages of the
5.2 Comparison of wait time approximations
85
test cases, where KKSL produced the best, at least second best, or worst values for both,
mean and standard deviation.
For medium to high central fill rates, KKSL is at least the second best approximation for
the mean in about 50% of the cases, but in 21.49% of the cases it is also the worst method.
The accuracy is better for the standard deviation. In more than 22% percent of the cases,
KKSL is best in approximating the mean and the standard deviation than any other method,
as shown in the combined ranking. Only in less than 6% of all cases it is the worst overall
method. Looking at the results for low central fill rates, we see that KKSL performs even
better.
Table 5.11: Relative accuracy of the KKSL approximation of mean and standard deviation (sd) for
scenarios with medium to high fill rate relative to the other approximations
Medium to high central fill rate
Low central fill rate
Sd
Combined
Mean
Sd
Combined
Measurement Mean
28.80% 42.06%
22.19%
25.38% 48.25%
14.66%
best
40.93%
56.80% 92.14%
49.77%
2nd or better 51.37% 71.33%
21.49% 9.17%
5.72%
10.36% 0.61%
0.18%
worst
Table 5.12 shows the absolute error of the approximated values from the values observed in
the simulation for the different methods, averaged over all test cases. Also these numbers
support our observation that KKSL is even better for low central fill rates than for medium
to high central fill rates. For medium to high central fill rates, the accuracy of KKSL for the
mean is comparable to other methods, but its accuracy for the standard deviation is better.
Table 5.12: Average simulated values and absolute error of the approximations for test cases in
different scenarios
Medium to high central fill rate
Low central fill rate
Mean
Standard deviation
Mean Standard deviation
Simulation 5.22
4.27
16.72
10.35
KKSL
4.43
4.94
8.85
7.11
4.30
11.93
9.08
43.92
NB
AXS
4.37
6.36
9.86
15.11
4.86
5.72
11.29
6.93
BF
In order to see if certain approximation tend to generally over- or underestimate the mean
or the standard deviation of the wait time, we also analyze the average positive or negative
error of the approximations in Table 5.13 instead of the the averaged absolute errors. This
additionally conveys information about the direction of the inaccuracies. For medium to
high central fill rates, the mean is underestimated by all methods and KKSL seems to perform especially bad. For the standard deviation, there is a general overestimation tendency
in all approximations and KKSL is very accurate.
86
5 Experimental results
Table 5.13: Error of the approximations in different scenarios
Medium to high central fill rate
Low central fill rate
Mean
Standard deviation
Mean Standard deviation
KKSL -2.31
1.83
-1.56
4.61
NB
-0.94
11.23
3.03
43.83
AXS
-2.11
4.33
3.25
14.92
BF
-2.01
2.73
-5.21
2.99
In total, KKSL seems to be a suitable choice for medium to high central fill rates. There are
high inaccuracies, but these are not worse than with the other methods. For low central fill
rates KKSL was very accurate compared to the other methods for the real-world data. We
find that KKSL is suitable across all central fill rates and seems to be a good general choice
relative to the other approximations.
Hypothesis H2: KKSL performs best if differences between local warehouses are
small and if local order quantities are in a medium range In order to evaluate hypothesis H2, we have to more formally define what a small difference between local warehouses means. By talking about how different local warehouses are, we refer to the difference in order quantities as well as demand, i.e., the mean and variance of demand per time
unit. We formally define how much the value xi of an individual local warehouse differs
from the mean of all xi as
δ xi :=
|xi − 1/n ∑nj=1 x j |
1/n ∑nj=1 x j
,
(5.5)
where xi may be the order size Qi , the mean demand μi or the variance of demand σi2 .
First, we analyze the case where the difference between warehouses is small only with
respect to a measure and unrestricted with respect to the other measure, i.e., the three cases
where δ Qi ≤ 20% for all i = 1, ..., n, δ μi ≤ 20% for all i = 1, ..., n or δ σi2 ≤ 100% for all i =
1, ..., n. The reason for the latter 100% is that we have to use a larger difference to have
enough test cases in this class.
Afterwards, we consider the case where the difference among the warehouses is small with
respect to all three measures. This combined evaluation of all three metrics, we have to
use larger differences for δ Qi and δ μi as well. There we consider all test cases for which
δ Qi ≤ 40%, δ μi ≤ 40% and δ σi2 ≤ 100% for all i = 1, ..., n.
The second part of hypothesis H2 is that a local order quantity is in a medium range relative
to the size of demand. Insights from Section 5.2.1 show that the ratio of Qi /μi should be in
the area of 20.
We start by evaluating test cases where differences in order quantity and demand of local
warehouses are small as defined above compared to test cases where those differences are
large. For the large differences, we only evaluate test cases where δ Qi > 20% for all i =
5.2 Comparison of wait time approximations
87
1, ..., n for the order quantity and analogously for the other two metrics. Therefore, in
those test cases the respective metric of each local warehouse differs substantially from
its mean.
Table 5.14 summarizes the results of this comparison. Again, it shows the proportion of
cases for which KKSL was best, second or better, or worst of all approximations for the
mean, the standard deviation or both measures combined for different subsets of our test
cases. With these results, the first part of Hypothesis H2 cannot be confirmed. For our realworld data sets, the KKSL approximation does not perform significantly better or worse if
differences between local warehouses are larger or smaller. There is even some indication
that the relative accuracy of KKSL approximation does improve if differences are larger.
The combined measure of mean and standard deviation is better for large differences of
order quantity and mean demand while it is slightly worse for the variance of demand. Especially for the mean demand, KKSL is the best approximation in 19.83% of the cases for
large differences compared to 12.65% for small cases.
Table 5.14: Relative accuracy of KKSL approximation compared to other approximations for
test cases with small and large differences between local warehouses, with difference
defined as in eq. (5.5)
Diff. of . . .
for all
i = 1, ..., n
δ Qi
≤ 20%
> 20%
δ μi
≤ 20%
> 20%
δ σi2
≤ 100%
> 100%
δ Qi ≤ 40%,
δ μi ≤ 40%,
δ σi2 ≤ 100%
Mean
Best 2nd or bet. Worst
Standard deviation
Best 2nd or bet. Worst
Combined
Best 2nd or bet. Worst
33.95% 54.76% 25.19% 38.42% 71.19% 3.77% 17.47% 39.78% 1.88%
26.68% 52.93% 16.62% 45.01% 79.37% 6.71% 20.03% 44.51% 4.18%
24.38% 45.37% 34.88% 42.28% 70.06% 7.41% 12.65% 32.10% 5.86%
27.73% 53.34% 17.42% 44.16% 78.44% 6.29% 19.83% 44.12% 3.83%
28.88% 53.60% 18.02% 45.88% 79.12% 6.02% 20.54% 44.18% 3.68%
24.28% 52.01% 17.10% 39.25% 75.91% 7.14% 17.31% 43.03% 4.41%
26.25% 45.80% 32.41% 37.66% 67.45% 7.22% 13.39% 29.92% 4.72%
Regarding the order quantity, Figure 5.7 shows the average error from the simulated mean
for different ratios of order quantity and mean demand. Figure 5.8 shows similar results
for the standard deviation. Again, it cannot be concluded that the KKSL approximation
performs better or worse for order quantities in a medium range.
Based on the findings using the real-world data, we cannot confirm hypothesis H2. However,
note that we could not intensively test the combination of only small differences between
local warehouses and of order quantities in a medium range, because the number of test
cases satisfying both conditions was too small.
88
5 Experimental results
!!"#
$%
&"
%'
Figure 5.7: Absolute error of mean of the different approximations for different classes
Hypothesis H3: The NB approximation overestimates the standard deviation significantly if Qi /μi > 25, but it has a good accuracy if Qi /μi ≤ 25 To test hypothesis H3,
we first compare all test cases for which Qi /μi > 25 to all test cases for which Qi /μi ≤ 25.
We want to emphasize that this overapproximation only occurs for the standard deviation
and not for the mean. We look at the errors of the approximation, i.e., the difference
between approximated standard deviation and simulated standard deviation, for these results. Table 5.15 shows the absolute average error, separately for cases where Qi /μi > 25 or
Qi /μi ≤ 25. Additionally, we state how many of the results fall in each category and what
the average standard deviation of these results was. We also supply the results for the other
approximations to confirm or reject that this is solely an issue for the NB approximation.
Table 5.15: Absolute error of approximated standard deviation (sd) of wait time for test cases with
different values of Qi /μi
Average sd
Average absolute error
Case #test cases in simulation NB KKSL AXS BF
> 25
15450
6.35
22.97 5.73
9.37 6.18
3.55
2.59
4.73 3.31
≤ 25
306
3.80
For the majority of our test cases, we have Qi /μi > 25. Note that the number of test cases
does not add up to the 18,396 sets in total, because we have to exclude the sets for the central
warehouse, where wait time does not apply. The results from the simulation with real-world
data allows us to confirm hypothesis H3: The error is much larger for the standard deviation
of the wait time if the NB approximation is used in the case Qi /μi > 25. For Qi /μi ≤ 25,
5.2 Comparison of wait time approximations
89
NB performs similar to the other approximations. Note that the other approximations also
get worse if Qi /μi is large, but they still perform much better than NB then.
A second interesting question is if the border is indeed rightly drawn at 25. Figure 5.8
shows the accuracy of the standard deviation predicted by the four approaches for different
classes of Qi /μi . Detailed results including the number of observations in each class are
shown in Table A.3 in the Appendix. The error for the NB approximation gets large once
Qi /μi > 30. In all classes with Qi /μi < 30, the quality of NB is comparable to the other
approximations. So, 25 seems to be a good threshold value to decide whether NB should be
used or not. Interestingly, the accuracy of AXS also becomes worse for increasing values
of Qi /μi , although at a much higher threshold. For KKSL and BF, we only see a light
deterioration in the approximation quality as Qi /μi increases.
!!"#
$%
&"
%'
Figure 5.8: Absolute error of standard deviation of the different approximations for different
classes
We now focus on test cases where Qi /μi ≤ 25 and try to establish if the NB approximation
can be recommended in these circumstances. Table 5.16 offers several insights: For the NB
approximation, the approximation of the standard deviation is indeed much more accurate
for Qi /μi ≤ 25 than it is in general. The accuracy of KKSL and AXS does also significantly
benefit from excluding results with high local order quantity compared to mean demand.
These three approximations all perform better than in the general case shown in Table 5.13.
The NB approximation performs on average worse than KKSL. It is also better than AXS
for the standard deviation, but worse than AXS for the mean.
A similar analysis was done also with the average absolute error instead of the average
positive and negative error in order to compare the absolute sizes of the approximation errors.
The results of this analysis, which are shown in Table A.5 in the Appendix, confirm the main
observations from Table 5.16. The remarkably good accuracy of AXS in approximating the
mean for medium to high central fill rate is due to cancel out effects.
90
5 Experimental results
Table 5.16: Average simulated values and error of the approximations of mean and standard deviation (sd) for different scenarios, for test cases with Qi /μi ≤ 25
All senarios Medium to high central fr Low central fr
Mean Sd
Mean
Sd
Mean
Sd
Simulation 5.01 3.80 3.23
2.87
8.57
5.66
KKSL
-1.72 -0.16 -1.47
-0.24
-2.23 0.00
-2.34 1.09 -2.12
-0.40
-2.79 4.07
NB
AXS
0.81 4.24 0.09
3.16
2.24
6.39
BF
-4.26 0.73 -2.58
1.42
-7.62 -0.67
Additionally, we repeat the analysis done in Table 5.11 for the NB approximation and the
limited subset of results with Qi /μi ≤ 25. Table 5.17 shows the results. Overall, the NB
approximation seems to be suitable if Qi /μi ≤ 25. As we have already pointed out, KKSL
also benefits from this condition and therefore may be an overall better choice. Table 5.18
replicates the results for KKSL. The share of cases where KKSL is best or second best is
much lower than for NB. We report the results for AXS in Table A.4 in the Appendix. AXS
does not perform better than NB. In particular, it has very little middle ground, especially
for the mean: It is either the best approximation or the worst with a roughly even split.
Table 5.17: Relative accuracy of the NB approximation for the mean, the standard deviation (sd)
and a combined (comb.) compared to other approximations. Evaluated for different
scenarios regarding the central fill rate (fr), only for test cases with Qi /μi ≤ 25
All scenarios
Medium to high central fr
Low central fr
Mean
sd
Comb.
Mean
sd
Comb.
Mean
sd
Comb.
36.60% 38.89% 27.45% 41.18% 43.14% 29.90% 27.45% 30.39% 22.55%
Best
2nd or better 61.11% 60.78% 48.69% 61.76% 70.10% 55.88% 59.80% 42.16% 34.31%
Worst
9.80% 17.32% 5.88% 11.27% 12.75% 7.35% 6.86% 26.47% 2.94%
Table 5.18: Relative accuracy of the KKSL approximation for the mean, the standard deviation
(sd) and a combined (comb.) compared to other approximations. Evaluated for different scenarios regarding the central fill rate (fr), only for test cases with Qi /μi ≤ 25
All scenarios
Medium to high central fr
Low central fr
Mean
sd
Comb.
Mean
sd
Comb.
Mean
sdn
Comb.
Best
14.38% 25.16% 8.17% 14.22% 25.98% 8.33% 14.71% 23.53% 7.84%
2nd or better 56.54% 68.95% 38.89% 58.82% 69.12% 41.18% 51.96% 68.63% 34.31%
11.11% 14.71% 9.80% 13.24% 15.69% 11.27% 6.86% 12.75% 6.86%
Worst
Overall, Hypothesis H3 is supported by our simulations with real-world data.
Hypothesis H4: The NB approximation is good if the central fill rate is medium to high
and when local warehouses are heterogeneous To evaluate hypothesis H4 we have to
repeat the first part of the analysis of H2 and for the subset of scenarios with medium to high
fill rates, i.e., scenarios 70%, 90%, 95% and “new” in Table 5.10. Based on the findings
5.2 Comparison of wait time approximations
91
for hypothesis H3, we only consider cases with Qi /μi ≤ 25. Because of these restrictions,
however, we can rely only on a relatively small number of test cases in the following.
One could argue that by only considering cases with Qi /μi ≤ 25, we exclude all test cases
where the NB approximation has a bad accuracy. We would then naturally get good results. We have chosen to do so to exclude the distorting effect of these test cases where the
accuracy for the standard deviation of the NB approximation is really bad as established in
the analysis of hypothesis H3. As we are looking at trends, i.e., does the accuracy improve
if warehouses are more heterogeneous and if the fill rate is higher, we are still able to gain
general insights. However, we also repeated the analysis done here for all test cases. All
findings reported in the following are supported by this data as well.
The results are summarized in Table 5.19, which has the same structure as Table 5.14. There
is indication that the NB approximation should be used if differences between local order
quantities δ Qi are large as it is more often more accuracte than the other approximations for
mean and standard deviation of the wait time.
For the differences in the mean of demand δ μi the relative accuracy is worse for larger
differences. For the variance of demand results are mixed and there is no clear indication if
NB approximation profits from larger differences.
Table 5.19: Relative accuracy of NB approximation compared to other approximations for test
cases with small and large differences between local warehouses, for medium to high
central fill rate scenarios and Qi /μi ≤ 25 and with difference defined as in eq. (5.5)
Diff. of . . .
for all
i = 1, ..., n
δ Qi
≤ 20%
> 20%
δ μi
≤ 20%
> 20%
δ σi2
≤ 100%
> 100%
Best
Mean
2nd or
better
Worst
Standard deviation
Best
2nd or
Worst
better
Best
Combined
2nd or
Worst
better
37.50% 64.29% 19.64% 41.96% 69.64% 17.86% 25.00% 58.04% 13.39%
45.65% 58.70% 1.09% 44.57% 70.65% 6.52% 35.87% 53.26% 0.00%
50.00% 78.13% 7.81% 42.19% 81.25% 9.38% 31.25% 70.31%
37.14% 54.29% 12.86% 43.57% 65.00% 14.29% 29.29% 49.29%
6.25%
7.86%
34.38% 68.75% 9.38% 45.31% 67.19% 10.94% 25.00% 59.38%
44.29% 58.57% 12.14% 42.14% 71.43% 13.57% 32.14% 54.29%
3.13%
9.29%
All in all, we have some supporting evidence that the NB approximation is good if the
central fill rate is medium to high, when local warehouses have a large difference in order
quantity while the difference between the mean demand should be rather small. This seems
to hold also for the low central fill rate scenarios, but here also the share of cases where NB
is the worst approximation increases, as shown in Table 5.20.
Hypothesis H5: The error of the NB approximation of the standard deviation reduces
if the network becomes larger This hypothesis is based on the findings in Figure 5.4.
There, we see a decreasing error of the NB approximation of the standard deviation. We
92
5 Experimental results
Table 5.20: Relative accuracy of NB approximation compared to other approximations for test
cases with small and large differences between the order quantity of local warehouses,
for low central fill rate scenarios and Qi /μi ≤ 25
Diff. of . . .
for all
i = 1, ..., n
δ Qi
≤ 20%
> 20%
Best
Mean
2nd or
better
Worst
Standard deviation
Best
2nd or
Worst
better
Best
Combined
2nd or Worst
better
21.43% 53.57% 0.00% 28.57% 50.00% 21.43% 16.07% 35.71% 0.00%
34.78% 67.39% 15.22% 32.61% 32.61% 32.61% 30.43% 32.61% 6.52%
have only limited means to test this in the real-world data, where we have 8 local warehouses.
However, we do not have demand for all parts at all warehouses and, therefore, have results
for which only a lower number of warehouses than 8 was considered.
Table 5.21 shows the error of the different approximations for all parts that ship to at most
3 local warehouses and for all parts that ship to all 8 local warehouses. Table A.6 in the
Appendix shows the absolute error with similar findings. There is hardly a difference in
the accuracy of the NB approximation between parts with at most 3 or exactly 8 local
warehouses. We also checked if the share of cases where the NB approximation is the
best or second best approximation changes (not presented here), but without finding any
significant results.
Therefore, we cannot confirm hypothesis H5. The only approximation that seems to suffer
from fewer warehouses in the real-world data is AXS. We suspect that this is caused by
the fact that this approximation considers only the mean across all warehouses and that
variability is higher for fewer warehouses.
Table 5.21: Mean of simulation and error of approximations for the standard deviation for results
with different number of local warehouses
#Local warehouses
8
≤3
Simulation
5.59 8.61
KKSL
2.35 2.98
21.23 21.20
NB
6.34 10.17
AXS
BF
-4.13 -0.90
Hypothesis H6: The BF approximation performs good if local order quantities and
central lead time are small Unfortunately, we cannot evaluate the two conditions of hypothesis H6 at the same time, as all test cases with a relatively low local order quantity also
have a relatively low central lead time. As the minimal mean central lead time in our data set
is about 45 days, it is questionable if we see effects at all. Nonetheless, we can evaluate the
two conditions separately and compare mean central lead times of about 45 days to about
100 days.
5.2 Comparison of wait time approximations
93
Table 5.22 shows the relative accuracy of the BF approximation for results with the two
different lead times. The relative accuracy of the BF approximation is indeed better for the
shorter central lead time.
Table 5.22: Relative accuracy of the BF approximation for the mean and standard deviation (sd),
comparison for high and low mean of central lead time compared to other approximations
Mean L0 :
≈ 45 days
≈ 100 days
Measurement Mean
sd
Combined Mean
sd
Combined
Best
23.78% 29.49%
12.99%
11.11% 35.42%
9.38%
30.63%
30.56% 57.99%
22.57%
2nd or better 40.51% 62.41%
Worst
41.75% 9.63%
7.65%
47.57% 9.38%
7.99%
To compare results for low and high local order quantities, we proceed as for hypothesis H3.
In Table 5.15, we have already seen an improvement in the approximation of the standard
deviation of BF for smaller local order quantities. Repeating the same analysis for the
mean, we find that the quality of the BF approximation does not change. In fact, it stays
remarkably constant. However, our limit of Qi /μi ≤ 25 is already quite high compared to
the ratios in the artificial data used in the previous section. Considering Figure 5.8 again,
we see that the accuracy already deteriorates if the ratio is above 10, but it is quite good for
the ratio being between 0 and 10.
Thus, we have at least a good indication that BF profits from small order quantities and
from smaller central lead times.
Hypothesis H7: The AXS approximation performs good if the network is homogeneous, the central fill rate is low or the variance of demand is high Hypothesis H7
consists of three conditions that we analyze separately. The statement concerning homogeneous networks is closely related to hypothesis H2. We therefore repeat the analysis that we
did for Table 5.14 in Table 5.23 for the AXS approximation. We see that the accuracy of
AXS relative to the other approximations does not improve for the real-world data. In fact,
and in contrast to to the hypothesis, the relative accuracy of AXS decreases for more homogeneous networks. This indicates that the other approximations, especially KKSL, benefit
even more from similar warehouses.
A comparison of the different approximations for a low central fill rate is presented in
Tables 5.16 and A.5 in the Appendix. These results show that AXS does not perform
significantly better than other approximations if central fill rates are low.
Table 5.24 shows the average error of the approximation from the simulated values for
different ratios of variance to mean of demand. Table A.7 in the appendix shows the absolute
errors. It seems that AXS performs best if the ratio σ 2 /μ is between 1 and 5 and its accuracy
decreases for higher variance.
In total, we did not find evidence to confirm hypothesis H7.
94
5 Experimental results
Table 5.23: Relative accuracy of AXS approximation compared to other approximations for test
cases with small and large differences between local warehouses, with difference
defined as in eq. (5.5)
Diff. of . . .
for all
i = 1, ..., n
δ Qi
≤ 20%
> 20%
δ μi
≤ 20%
> 20%
δ σi2
≤ 100%
> 100%
δ Qi ≤ 40%,
δ μi ≤ 40%,
δ σi2 ≤ 100%
Best
Mean
2nd or
better
Worst
Standard deviation
Best
2nd or
Worst
better
Best
Combined
2nd or Worst
better
21.19% 53.63% 18.08% 13.32% 28.06% 31.50% 6.69% 17.42% 7.06%
21.28% 48.72% 24.33% 18.71% 43.28% 8.92% 7.05% 26.02% 4.44%
18.21% 44.44% 21.30% 11.42% 29.01% 19.44% 3.09% 12.35% 5.25%
21.33% 49.49% 23.53% 18.12% 41.49% 11.81% 7.08% 25.12% 4.78%
21.16% 50.98% 22.21% 17.96% 41.45% 10.34% 6.74% 25.06% 3.15%
21.58% 44.97% 27.01% 18.06% 40.61% 16.48% 7.73% 24.31% 9.34%
20.47% 49.74% 20.87% 10.76% 28.48% 23.36% 3.02% 12.07% 3.94%
Table 5.24: Average simulated values and errors of the approximations for the mean and standard
deviation (sd), for test cases with different values of σ 2 /μ
σ 2 /μ < 1
σ 2 /μ < 5
σ 2 /μ ≥ 1
σ 2 /μ ≥ 5
Mean
sd
Mean
sd
Mean
sd
Mean
sd
Simulation 7.58 5.81
8.78 6.18
9.20 6.35 10.47 6.93
KKSL
-0.44 3.65 -1.73 3.08 -2.23 2.67 -3.77 1.06
2.16 24.52 0.78 23.01 0.20 21.86 -1.67 17.38
NB
1.37 8.77
0.05 8.23 -0.49 7.77 -2.25 6.00
AXS
-0.67 3.87 -2.45 3.20 -3.32 2.71 -6.34 0.88
BF
Summary of the analysis based on real-world data For our real-world data, the results
concerning the accuracy of the wait time approximations compared to the simulation are
sobering. We often see large errors of all considered approximations. We have (at least
some) supporting evidence for hypothesis H1, H3, H4, and H6, but we can neither clearly
confirm nor clearly reject the other hypotheses H2, H5, and H7.
5.2.3 Summary of comparison
Our experiments show that there is no generally “best” approximation, none of the wait time
approximations has a better accuracy than the others in all situations. In fact, it depends
heavily on the characteristics of demand and the network which approximation performs
best. In our experiments, we also observed rather large errors of the wait time approximations in some specific situations. This clearly shows room for improved models, at least for
these situations, and the need for further research in this area.
5.3 2-echelon results
95
Nevertheless, we were able to derive a few simple guidelines that describe which approximation is likely to perform accurate in which situation: The BF approximation should only
be used if the local order quantities and central lead times are low. The AXS approximation
is suitable for homogeneous networks, i.e., networks in which local warehouses are very
similar with regards to demand structures and order quantities. The KKSL and NB are
generally good choices in all other circumstances. For the NB approximation, however, the
ratio Qi /μi is critical for the quality of the approximation of the standard deviation of wait
time. NB should be used only if this ratio is smaller than 25.
5.3 2-echelon results
In this section, we apply and test the algorithms for 2-echelon distribution networks developed in Section 4.1. This section is part of a joint work together with Andreas Bley
[GBS18]. We analyze the structure of the optimal solution with artificial as well as realworld data given the different wait time approximations. We test the performance of our
original algorithm and then investigate how much faster the heuristics developed in Section 4.1.6 are and how much the solutions differ from the optimal values.
5.3.1 Structure of the optimal solution
As a starting point for our analysis, we consider a network consisting of one central and
eight local warehouses. The characteristics of the random demands are shown in Table 5.25.
Here, Di is a random variable describing the size of an individual customer demand at
the respective local warehouse, while μ and σ refer to the demand per time unit. The
variable Di is relevant only for the KKSL approximation, where the size of the individual
customer orders is taken into account. We assume that the central lead time follows a gamma
distribution with the given means and variances.
Table 5.25: Sample network characteristics
Warehouse
0
1
2
3
4
5
6
7
8
μi
σi
Qi
2
3
4
5
6
7
8
9
4
6
8
10
12
14
16
18
500
50
50
100
100
150
150
200
200
E[Di ] σ (Di )
1
1
1
1
1
2
2
2
2
2
2
2
2
4
4
4
β̄i
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
E[Li ] σ (Li )
60
5
5
5
5
5
5
5
5
pi
30 0.5
3
1
3
1
3
1
3
1
3
1
3
1
3
1
3
1
96
5 Experimental results
In the following, we will vary these problem parameters and analyze the effect this has on
the optimal solutions obtained for the four different wait time models. On one hand, we are
interested in seeing how changes in these parameters affect the values of the central reorder
point, the central fill rate, and the total stocking cost for each wait time model. On the other
hand, we want to analyze the influence of the chosen wait time model on the results. Due to
the requirements that order quantities must be at least one and that the central reorder point
is at least zero, we implicitly have a lower bound on the central fill rate.
Figures A.1a to A.6a show the results when varying the parameters from Table 5.25, while
Figures A.7a and A.7b and Figures A.8a and A.8b illustrate the changes observed in the
results when varying the local fill rate targets and the number of local warehouses, respectively.
Main results
Already Axsäter points out that the optimal central fill rate is typically much lower than most
practitioners would expect, with only few exceptions [Axs15]. Our first observation is that
his statement holds true even for the newer, more sophisticated wait time approximations.
While the central fill rate is well above 90% in many practical applications, our results
suggest that the optimal fill rate is much lower for many scenarios, often in the range of 70%.
Figure 5.9 shows a boxplot of the central fill rates for the different approximations. More
precisely, our results based on the BF approximation suggest central fill rates close to 0 and
those based on the NB approximation suggest slightly higher central fill rates than those
based on the KKSL and the AXS approximations. All models, however, lead to central fill
rates well below the industrial standards in these scenarios. These results emphasize that it
is very important to study the wait time in a distribution network and to choose a suitable
approximation. As the central fill rate in an inventory-optimized network is relatively low,
the probabilities for stock-outs and orders that need to wait are significant.
Figure 5.9: Boxplot of central fill rates for different wait time approximations
5.3 2-echelon results
97
A striking second observation for all graphs in this section is that the solutions obtained
using the BF approximation are considerably different from those obtained with the other
wait time models. In general, the BF approximation leads to very low central fill rates
and central reorder points in the optimal solution. Moreover, this wait time approximation
leads to very little overall stock in the network, so the objective values are considerably
lower than those obtained with the other wait time approximations. This either implies that
solutions obtained for the BF approximation stock too little and will subsequently violate
the fill rate targets, or that the solutions for the other wait time approximations overstock.
Increasing the central reorder point, the wait time decreases significantly faster in the BF
approximation than in all other models. In Section 5.3.2, where we report on the results of
our simulations with real-world data, we see that the fill rate constraints are heavily violated
for the optimal solutions based on the BF approximation. Thus, we conclude that the BF
wait time approximation largely underestimates the real wait time and, consequently, leads
to too little stock in the network (at least) in our test cases.
For most instances, the overall stock in the network obtained for the NB approximation is
comparable to that obtained with the AXS or the KKSL approximation and all wait time
models render objective values in the same range as Figures A.1c to A.8c in the Appendix
show.
Finally, the AXS and the KKSL approximations lead to overall very similar results regarding the central fill rate and the central reorder points. However, the local reorder points
obtained with these two wait time approximations differ significantly. The AXS approximation leads to the same wait time for all local warehouses and this wait time is lower than the
one obtained using the KKSL approximation. Consequently the solutions obtained using
the AXS approximation have lower objective values than those for the KKSL approximation, except for very low fill rate targets (see Figure A.7c).
Influence of different parameters
Next, we discuss the influence of the different input parameters on the results. Note that our
algorithm supplies an optimal solution, but the optimal solution is not necessarily unique. In
the graphs (shown in Appendix A.4), we sometimes observe little irregularities in otherwise
consistent patterns. We believe that these are mainly due to the fact that the algorithm
returned optimal solutions from different areas of the solution space in these cases.
In Figure A.1a, where we vary the expected value of the local demands, there is a general
downward trend of the fill rate when the expected demand increases, except for the KKSL
approximation. Increasing the variance of local demand has very little effect on the results,
except for an initial increase in the fill rate for the KKSL approximation. The central reorder
point in Figures A.1b and A.2b increases with increasing local expected demand, while it
stays essentially constant when increasing the variance of the local demands.
The latter phenomenon can be explained by an implicit “buffering effect”: As the local
order quantities are large compared to the lead time demand, the order quantities already
buffer most of the demand variance. Larger variances increase the local reorder points
98
5 Experimental results
only slightly, so also the objective value as shown in Figure A.2c increases very little. The
objective value and the central reorder point in Figure A.1c both depend almost linearly on
the expected local demands.
Figure A.3 shows the effect of varying the central order quantity. As expected, increasing the
central order quantity causes the central fill rate to increase too. Due to the non-negativity
constraint for the central reorder point, the central fill rate cannot be lower than a certain
threshold value. For high central order quantities, the central fill rate is high by default.
The results for varying local order quantities, which are presented in Figure A.4, show
an interesting mechanism. For all wait time approximations except AXS, the local order
quantity is an input parameter for the wait time calculation. Nevertheless, the central fill
rate is only slightly decreasing for very large local order quantities. Both the central fill
rate as well as the reorder point essentially stay in the same range. The objective value in
Figure A.4c is decreasing until the local order quantity reaches approximately 2Qi , which is
caused by the increased fill from higher order quantities. Increasing the local order quantity
further beyond this value, the objective value only reduces marginally. For the NB wait
time approximation, it even starts to increase, as additional central stock is added.
Increasing the stocking price at the central warehouse and, thereby, changing the ratio of
the central versus the local stocking price strongly affects the central fill rate and reorder
point of the optimal solutions in Figures A.5a and A.5b. Already at x = 2, where a part has
the same stocking price at the local and at the central level, the central fill rate and reorder
points decrease drastically. Only with the NB approximation we see a more moderate and
more steady decrease in central fill rate and central reorder point. For all other wait time
approximations, almost no stock should be kept at the central warehouse if there is no cost
benefit compared to stocking at the local warehouses. Recall, that we consider demand
with a relatively high variability (Table 5.25) as is common for the practical applications we
are concerned with. Previous research suggests that the benefits of risk pooling by shifting
stock from the local to central warehouses decrease as demand variability increases, see for
example the work by Berman et al. and references therein [BKM11]. Our results clearly
confirm these findings.
Increasing the central lead time leads to increasing central reorder points and slightly decreasing central fill rates for the optimal solutions based on the NB and the AXS wait time
approximations, as shown in Figures A.6a and A.6b. The risk of a longer central lead time
is offset by a higher central reorder point.
The results for varying local fill rate targets in Figures A.7a to A.7c show a consistent
picture. We see an increase in the central fill rate, in the reorder point, and in the objective
value when increasing the local fill rate targets. Increasing the local fill rate targets naturally
also leads to increasing local reorder points and costs.
Finally, we analyze the influence of the number of local warehouses, considering networks
with several identical copies of “warehouse 1” and varying the number of these warehouses.
Here, we see a number of different trends. The central fill rate slightly decreases when the
number of warehouses increases for all wait time approximations except BF. Our results
5.3 2-echelon results
99
show that, for all approximations except BF, it is optimal to increase the central reorder
points with increasing network size in order to keep the central fill rate and the wait time
stable, compare Figure A.8b. With the BF approximation, on the other hand, the central
fill rate is strongly decreasing when the number of warehouses increases. Surprisingly, here
also the local reorder points decrease slightly, while the central reorder point increases only
very little.
5.3.2 Optimization and simulation using real-world data
Considering different parts in a real-world network with one central and eight local warehouses, we evaluated the practicability of our optimization algorithm and the quality of the
four wait time approximations described above. In the first step, we determine the optimal
reorder points using our algorithm for each of the four different wait time approximations,
fitting each approximation as good as possible to historical demand data. Then we compare
the optimal solutions for the different approximations among each other and, in addition,
with the approach most commonly used in practice, which is to first prescribe a central fill
rate target and then, in a second step, compute all reorder points for this fixed central fill
rate target.
In the second step, the optimized networks have been simulated with the real historical demand data. The goal of this simulation was two-fold: First, we wanted to examine if the fill
rate constraints assumed in the optimization with the respective wait time approximations
were indeed satisfied also in the simulation with the real demands. Secondly, we wanted to
analyze and compare the performance of the different wait time approximations.
For our study, we selected 440 parts that form a representative sample of the total stocking
assortment in our industrial partner’s real network. For each of these parts, we were given fill
rate targets, stocking prices, order quantities, and historical demand data for about two years.
For the majority of the parts, the variance of demand is high compared to the mean demand.
Stocking prices were the same at the central and local level. In the simulations, the initial
stock at hand was set to Ri + 1, where Ri is the optimal local reorder point at warehouse
i. The first 100 days were used as a warm-up period for the simulation and the results
from those days were discarded. Lead times were generated from gamma distributions with
given means and variances. For all scenarios considered here, the same random seed was
chosen.
We used forecast data from the productive inventory planning system as input data for the
wait time approximations and our optimization algorithm. We considered a time period of
one year and tried to replicate a real-world scenario. In order to mimic the actual productive
system, the reorder points have been re-optimized periodically every three months based on
updated forecast data, order quantities, fill rate targets, and prices.
As one could argue that the forecasting error and the volatility introduced into the system by
the re-optimization may cause distortions, we also considered a more stable “retrospective”
setting. Here, we derive the necessary demand data directly from the historical demand data
100
5 Experimental results
!"
#$%
"&'&
Figure 5.10: Deviations of simulation results from fill rate targets, real-world scenario
and use a longer simulation period of two years. The results obtained for this experiment
are summarized in Appendix A and confirm the findings we report in the following.
Fill rate and inventory values
Figure 5.10 shows the deviation of the simulated fill rates of local warehouses from the
overall fill rate target. The overall fill rate target was computed as the weighted average of
the individual fill rate targets of all parts, weighted with the forecast value. All fill rates
observed in the simulation are below fill rate targets. The large deviations of the BF approximation are mainly due to the underestimation of the wait time. We believe that the
deviations of the other approximations are caused by two factors: First, demand in reality
is not stationary, and we recomputed the optimal reorder points only every three months.
Second, we considered only a small subset of the total assortment of parts.
The reorder points based on the AXS approximation achieve the highest fill rate, but reorder
points and average inventory values are also highest, as can be seen in Tables 5.26 and 5.27.
The average inventory value during the simulated period is shown in Table 5.26, where the
total inventory value of the KKSL result is indexed at 100 and all other values are set in
relation to this. Again, we see that it is optimal to have more stock at the central level
when using the NB or the AXS wait time approximations, while the BF approximation
understocks dramatically. Similar results are seen for the value of the reorder points in
Table 5.27.
Overall, a clear recommendation which wait time approximation is most suitable in this
environment cannot be given and requires further analysis and simulations.
5.3 2-echelon results
101
Table 5.26: Average daily inventory value, real-world scenario
Level
Local
Central
Total
KKSL
NB
BF
AXS
86.22 76.47 62.90 77.83
13.78 25.71 6.57 27.45
100.00 102.17 69.47 104.78
Table 5.27: Total value of reorder points, real-world scenario
KKSL
NB
BF
AXS
107.78 111.75 73.80 113.02
Potential savings using the optimization
A common approach in industry is to prescribe a central fill rate and then calculate central
and local reorder points to satisfy the prescribed central fill rate and the local fill rate targets.
In order to gauge the benefit of our optimization algorithm, we also prescribed different
central fill rates, calculated the corresponding reorder points, and then simulated the resulting network with historical demand data. Finally, we compared the results obtained by this
computation and simulation with those obtained by our optimization method. The central
reorder point is computed using a binary search on eq. (2.13) and the lead time demand is
calculated using eqs. (3.4) and (3.5). This implies that the central reorder point for a given
central fill rate is equal across all wait time approximations for each part. Table 5.28 shows
the deviation of the average daily inventory value from the optimal value in the real-world
scenario. We find that prescribing any central fill rate leads to significant overstocking compared to the optimal solution. In particular, prescribing fill rates above 90%, which is very
common in industry, leads to a substantially higher stock. Optimizing the network based on
the individual parts’ demand statistics, significant savings are possible in practice.
Table 5.28: Deviation of the average daily inventory value from the optimal solution given a prescribed central fill rate
Prescribed
central fill
rate
20%
40%
70%
90%
95%
KKSL
NB
BF
AXS
7.77%
7.65%
8.40%
17.03%
23.21%
71%
51%
25%
19%
23%
31.60%
34.50%
44.38%
66.32%
78.90%
30.59%
23.72%
14.41%
14.54%
20.99%
102
5 Experimental results
Evaluation of wait time approximations given the optimal solutions
In this section we analyze the accuracy of the different wait time approximations given the
optimal solutions as an addition to Section 5.2. The numbers presented in the following
are a by-product of the computations described above. Note, that the optimal solutions
vary depending on the used approximation and the results presented here are not as directly
comparable, as the ones in Section 5.2. Nevertheless, the results presented below give some
additional indication of the quality of the different approximations and in principle confirm
our previous findings.
Table 5.29 shows the mean and the standard deviation of the wait time we observed in the
simulation in comparison to those obtained by the corresponding wait time approximation
in the a-priori calculation, which has been used in the optimization. The numbers shown
are averages over all parts and warehouses. Table A.8 in the Appendix A.3.3 shows the
same results for the retrospective scenario. The mean is dramatically underestimated by
the BF approximation, while all other methods overestimate it. The standard deviation is
only slightly underestimated by the BF approximation. All other methods overestimate the
standard deviation, especially the NB approximation.
Note that the BF approximation assumes a constant central lead time, which is not the case
in our example. This, however, cannot fully explain the large deviation of the mean values.
We believe that the main reason for the large deviation is the assumption of a very smooth,
nearly steady demand at the central warehouse. Berling and Farvid state that this assumption
is valid only for small values Qi . In the numerical analysis presented in their paper, increasing Qi causes an increased deviation. In our data, many parts have a sporadic demand and
the ratio Qi /μi is much larger than what Berling and Farvid considered. Moreover, our
central lead times are much longer, so the system is not reset as frequently and the error of
the linear approach supposedly adds up. Also note that the aggregation over all warehouses
Table 5.29: Approximation and simulation results for the mean and standard deviation of the wait
time, real-world scenario
Mean
Standard deviation
Method Simulation Approximation Simulation Approximation
KKSL
11.83
8.06
8.28
9.27
4.81
3.59
4.04
10.15
NB
14.77
6.48
9.82
8.79
BF
AXS
7.89
4.09
5.93
8.27
and parts done in Table 5.29 implicitly favors the AXS approximation. Axsäter’s method is
based on Little’s law and therefore only computes average and standard deviation combined
for all warehouses.
In order to compare how well the different wait time approximations perform in a heterogeneous setting, we have chosen 55 out of the 440 parts and two out of the eight warehouses
for further analysis. These parts and warehouses are chosen in such a way that demand sizes
5.3 2-echelon results
103
and order quantities differ substantially between the two warehouses, which are in the following referred to as large and small warehouses. For all chosen parts, the order quantities
differ by more than a factor of 5 between the two warehouses.
Table 5.30 shows the means and the standard deviations of the wait times observed in the
simulations and computed by the corresponding wait time models for the two chosen warehouses individually and as a combined value. Analogous results for the retrospective scenario are reported in Table A.9.
Table 5.30: Approximation and simulation result for the wait time for big differences in replenishment order quantity, real-world scenario
Mean
Standard deviation
Method Warehouse Simulation Approximation Simulation Approximation
KKSL Large
6.55
5.73
6.94
7.59
Small
3.29
4.53
4.50
9.23
5.12
5.20
5.87
8.31
Combined
NB
Large
1.75
1.04
2.60
6.34
Small
0.69
0.37
1.22
11.46
1.28
0.74
1.99
8.59
Combined
BF
Large
12.21
3.53
11.94
9.05
8.44
1.56
7.41
6.30
Small
Combined
10.56
2.67
9.95
7.84
AXS Large
3.80
2.15
5.29
6.25
2.21
2.10
2.77
6.07
Small
Combined
3.10
2.13
4.18
6.17
The AXS approximation underestimates the actual wait time of the warehouse with the
large demand and replenishment order quantities. Vice versa, the AXS approximation overestimates the value for the warehouse with the smaller demands. Note, that the values are
not identical for large and small warehouses, as they should be for the AXS approximation,
because not all parts have demand and are stocked in the small warehouse.
The KKSL wait time model performs better for the individual warehouses. The KKSL
approximation is rather accurate for the large warehouse, while it overestimates mean and
standard deviation for the small warehouse. For the small warehouse, the standard deviation
is overestimated by all models except the BF approximation. This indicates that the other
methods perform better, when order quantities are large. The order quantity for most parts
at the small warehouse is only 1.
5.3.3 Performance of the algorithm
To our knowledge, our algorithm is the first one to efficiently compute optimal reorder
points based on a generic wait time approximation. No exact solution method for this problem existed before. For the KKSL approximation and the BF approximation, no optimiz-
104
5 Experimental results
ation method at all has been published until now. For the AXS approximation and similar
METRIC-type wait time approximations, only heuristics (for different objective functions
and different problem assumptions) have been proposed so far.
The optimization and the complementary simulation software, that is used to evaluate and
verify the solutions of the optimization in a stochastic simulation, have been implemented
in Java using the Stochastic Simulation in Java library [LMV02].
An enumerative solution approach or an a-priori discretization of the fill rate constraints is
computationally prohibitive for realistic problem sizes. The number of calls of the binary
search, that is needed to compute the reorder points for given fill rate targets, quickly gets
too large and computation times get too long. For many sample problems we tested, our
algorithm was able to compute optimal reorder points within minutes while enumeration
would take hours.
We tested our algorithm on a laptop computer equipped with an Intel Core i5-4300 1.9 GHz
processor with 8 GB of RAM for a sample set of 445 instances based on real-world data.
The observed runtime was less than one second for almost 70% of the instances. For 95.68%
of the instances, runtime was less than 50 seconds. The runtime gets long if the expected
demand and the variance of the demand are very high. Only 19 instances needed more than
100 seconds, only one instance needed more than 10,000 seconds (i.e., almost 14,000s).
These runtimes refer to the NB approximation, the greatest delta approach, and an optimality gap of 0%. For the other wait time approximations, runtimes are comparable. Note that
the required optimality gap has a significant impact on the runtime. If we allow a gap of 1%,
i.e., if we terminate our algorithm if over- and underestimating ILP deviate by less than 1%,
the runtimes reduce by 30%, while the objective values of the computed solutions increase
by only 0.15% over all instances.
We recommend to add new breakpoints with the naive approach if local warehouses face
similar demand and use similar order quantities. The more order quantities and demands
at local warehouses differ, the better the greatest delta approach performs. The fill rate
violation approach was always slowest in our experiments, but using it could be beneficial
if the fill rate targets between the local warehouses differ a lot.
5.3.4 Analysis of heuristics
In this subsection we analyze the heuristics introduced in Section 4.1.6 and focus on two
main factors: Firstly, what is the difference in runtime compared to the original algorithm1
and secondly, what is the optimality loss, i.e., in how many cases did we not end up in the
optimal solution and what is the associated deviation from optimality in these cases? In
Section 4.1.6 we introduced two different heuristics. One possibility is to add additional
constraints based on the step size (cp. Algorithm 24), while the second one is to modify the
1 Experiments were run on an updated hardware compared to Section 4.1.6. The processor now is an Intel
Core i5-6300U 2,4 GHz.
5.3 2-echelon results
105
slope of the original constraints with the help of the step size (cp. Algorithm 25). We will
refer to the first one as STEP - ADD and the latter one as STEP - SLOPE.
If we compare the runtime and the objective values for the same set of instances as in
Section 5.3.3 to Algorithm 21, which is the original algorithm that guarantees optimality, we
get a mixed picture. Table 5.31 summarizes the results. For STEP - ADD the average runtime
increases by almost 28% (second column), while for STEP - SLOPE it decreases by about a
third. The average deviation in objective value is small for both heuristics but it can be
large for individual instances. Recall, that the original optimization algorithm was already
really fast for the large majority of the instances (less than a second for almost 70% of the
instances). Here, we only get deviations within milliseconds. The overall average is heavily
influenced by few instances with a long runtime. In fact, the longer runtime for STEP - ADD
is caused by only one instance were it ran significantly longer. If we exclude this instance
from the analysis, runtime is about 15% faster compared to the original algorithm.
For the STEP - SLOPE we are still optimal in 74.16% of the cases despite the huge performance gains in runtime. On average the objective value is only 0.63% higher than the optimal
value. Nevertheless, there are cases with a deviation of up to 12.5% from the optimal value.
Interestingly enough, if we consider the sum of the objective values of all instances, we
only get a deviation of 0.51% between the results of STEP - SLOPE and the optimum (value
not shown in the table). As expected, the STEP - ADD heuristic more often is optimal and in
general closer to the optimal values, as the risk of a violation of the assumption of underestimation is lower.
Table 5.31: Comparison of runtime, objective values and share of optimal results of heuristics and
original optimization algorithm
Heuristic
STEP - ADD
STEP - SLOPE
Runtime
Objective value
No. of cases
Average dev. Average dev. Maximum dev.
Optimal
27.70%
0.23%
6.25%
92.13%
-33.22%
0.63%
12.5%
74.16%
The analysis above shows that there is room for potential runtime improvements with objective values that differ only little from the optimal values. However, for the majority of
the instances we can find the optimal solution very fast with our original optimization algorithm, guaranteeing optimality. For all instances that can be solved within milliseconds,
there is hardly a need for heuristics. Furthermore, the above analysis is heavily influenced
by a few instances with long runtime.
To verify the results, we do an additional comparison for instances where we expect our
algorithms to require a long runtime. We therefore have selected 89 additional instances
with high demand in the network. We expect the potential solution space to be large because
of the high demand and therefore to be challenging for our algorithms.
Indeed, with our original optimization algorithm the fastest of those instances took 40
seconds to solve, while the slowest took more than 10 hours. On average the algorithm
needed about 35 minutes to solve until optimality. Table 5.32 summarizes the results for
106
5 Experimental results
these difficult instances. The STEP - SLOPE heuristic is almost 60% faster than the original
algorithm and reduces total runtime from about 52 to 21 hours. The STEP - ADD heuristic
only decreases runtime by about 7%.
Comparing the objective values, STEP - ADD is optimal more often than STEP - SLOPE but,
surprisingly, on average deviates more from the optimal value. STEP - SLOPE is only optimal
in about 9% of the cases, but the average deviation from the optimal objective value is
less than 1%. If we again consider the sum of the objective values of all 89 instances, the
deviation of STEP - SLOPE from the sum of optimal objective values is also less than 1%.
Overall, STEP - SLOPE offers vast runtime improvements and we only deviate little from the
the optimal objective. The results for the STEP - ADD heuristic are not as good.
Table 5.32: Comparison of runtime, objective values and share of optimal results of heuristics and
original optimization algorithm for high demand instances with long runtime
Heuristic
STEP - ADD
STEP - SLOPE
Runtime
Objective value
No. of cases
Average dev. Average dev. Maximum dev.
Optimal
-6.87%
1.90%
14.26%
24.72%
-59.19%
0.91%
10.15%
8.99%
During the analysis of Tables 5.31 and 5.32, we have made an interesting observation, that
can potentially be used to decrease runtime even further. In cases where STEP - ADD performs worse than the original algorithm, the optimal central reorder point R0 often was 0.
If the optimal central reorder point is 0, the original algorithm often only needs one or two
iterations and we observe the following pattern: It solves the initial ILPs, obtains 0 as a solution and then, if necessary, refines the breakpoints at 0. After resolving (second iteration) it
again obtains 0 as a solution and terminates with the optimal solution. It is easy to adjust
the STEP - ADD for this special case: Before determining the step size and adding additional
or modified constraints to the underestimating ILP, we solve the ILP once and check if the
solution of R0 was 0. If the breakpoints at 0 are not based on a prematurely finished binary
search, R0 = 0 is the optimal solution. If they are based on a prematurely finished binary
search, we refine and resolve. If R0 = 0 again is the solution of the underestimating ILP, we
terminate with this optimal solution. If not, we determine the step sizes and run the heuristics as originally intended. The cost of this procedure can be approximated by the cost
of solving up to two additional ILPs and a binary search. Solving one ILP is usually done
within seconds for most instances. However, even if optimality is not proven for R0 = 0
after two iterations, the results obtained can be reused in the following iterations to supply
good starting solutions and strengthen the models. The potential runtime savings are high.
The problem is by design not relevant for the STEP - SLOPE heuristic.
If we exclude the two instances with optimal R0 = 0 from the analysis in Table 5.32, the
runtime of the STEP - ADD heuristic is about 17% faster than the original optimization algorithm. This is an indication of how much runtime savings can be obtained if this special
case is handled as described above, but still the STEP - ADD heuristic is much slower than the
STEP - SLOPE heuristic, while the average deviation from the optimal value is larger.
5.4 n-echelon results
107
In total, we recommend using the STEP - SLOPE heuristic if runtime is an issue with the
original algorithm. The heuristic obtains results at least close enough to the optimal solution
while being dramatically faster. Especially, if reorder points for large networks with many
instances should be obtained, this may be the only feasible approach.
5.4 n-echelon results
5.4.1 Set-up of optimization and input data
We consider a (sub-)network of a real-world supply chain in this chapter. The structure of
our network with three echelons including the respective transportation times is shown in
Figure 5.11. We have two warehouses on the second echelon and on the third echelon 4 and
8 local warehouses respectively. Recall, that the index of a warehouse is denoted as (i, j),
where i is the echelon and j an enumeration of the warehouses on the respective echelon.
We refer to the left sub-network in Figure 5.11 with 8 local warehouses as sub-network 1
and to the right sub-network with 4 local warehouses as sub-network 2. This differentiation
is solely for referencing purposes to simplify the analysis of the results. In the optimization, no division into sub-networks was done but the network was optimized in its entirety.
The expected lead time from the supplier to the master warehouse does vary substantially
from part to part based on the required production process at the supplier and the distance
from supplier to master warehouse. We have one intermediate warehouse which can be supplied in relatively short time and one intermediate warehouse which has long transportation
times. The transportation time to local warehouses varies between local warehouses. For
the 4 local warehouses in sub-network 2, the transportation time is about 2 days for 3 out
of the 4 warehouses and 11.5 days for the remaining warehouse. For the sub-network 2
the transportation time does vary between 8 and 23 days depending on the location of the
warehouse.
We have calculated reorder points for 662 different parts in this network using the algorithm
described in Section 4.2. We stopped optimization when the optimality gap was less than
0.01 and therefore did not let the optimization algorithm necessarily run until optimality
was guaranteed. One immediate outcome of the optimization is that the runtime of our
optimization algorithm is a challenge for a large network with large demand like this. There
is a need for faster methods for large networks and if reorder points have to be calculated
for many parts. The 663 parts are a mere subset of more than 100,000 parts that are stored
in the real world network.
The given price parameter pi, j is constant within the two sub-networks for each part, but
it varies between master warehouse and the two sub-networks and between the two subnetworks. pi, j is on average significantly lower at the master warehouse. For most parts pi, j
in the sub-network 1 is higher than pi, j in the sub-network 2. pi, j and the ratio between the
master warehouses and the sub-networks varies from part to part.
108
5 Experimental results
Optimized network
1-190 days
1,1
13.5 days
45 days
Sub-network 1
Sub-network 2
2,1
2,2
8-23 days
2-11 days
3,8
3,1
3,2
3,3
3,7
3,4
3,5
3,9
3,11
3,6
3,10
3,12
Figure 5.11: Real-world 3-echelon distribution network with expected transportation times
The wait time approximation used for the n-level optimization is the KKSL approximation
described in Section 3.2.2.
5.4.2 Structure of the solution
We start by having a general look at the overall distribution of stock. Table 5.33 shows the
share of reorder points and the share of reorder points and order quantities on the respective
echelons and within the sub-networks. The share of reorder points at a warehouse is the sum
of all reorder points of all parts at that warehouse divided by the sum of all reorder points of
all parts in the network. It is evident that only very little stock is kept at the second echelon
in this setting, while the majority of the stock is at the master warehouse and in the local
warehouses. This is in line with results from MRP literature with regards to placing buffers
[LA93]. For the intermediate network in the first sub-network, the share of reorder points
on the second echelon, i.e., in warehouse (2, 1), is only 0.79% while 41.29% are kept at a
local level. The share for the intermediate warehouse of the second sub-network is similar.
The reorder points at the master warehouse are 23.34% of the sum of total reorder points.
Recall, that we have a significantly lower price at the master warehouse compared to the
intermediate warehouses, whereas the intermediate warehouses have the same price as the
local warehouses.
Table 5.33 could indicate that the intermediate echelon may not be necessary in this case.
However, if we look in more detail at the results for individual parts, we notice large differ-
5.4 n-echelon results
109
Table 5.33: Distribution of stock in the network
Percentage share of total sum of
Warehouse(s) reorder points reorder points and order quantities
(1, 1)
23.34%
36.10%
(2, 1)
0.79%
4.70%
41.29%
34.15%
∑8j=1 (3, j)
(2, 2)
0.89%
1.82%
33.69%
23.23%
∑12
j=9 (3, j)
ences between parts and the need for a more nuanced analysis. In Table 5.34, it is shown
that the solution for many parts was to select the lowest reorder point possible, which is
0 for the intermediate warehouses. The same general tendency can be seen for the master warehouse. The last row in Table 5.34 shows the combined results, i.e., where all
Ri, j > 0, for all (i, j) ∈ {(1, 1), (2, 1), (2, 2)}, or = 0 respectively.
Table 5.34: Distribution of stock in the network
Number of parts with
Warehouse
Ri, j > 0
Ri, j = 0
(1, 1)
165
464
(2, 1)
83
546
(2, 2)
95
534
At all non-local warehouses
48
165
If we only look at the parts where all Ri, j > 0, for all (i, j) ∈ {(1, 1), (2, 1), (2, 2)}, we naturally see a higher stock at the second echelon. But even within this subset we see large
variations of how stock is distributed in the network. Figure 5.12 shows a boxplot of the
results. For the first and second echelon, it shows the share and sum of reorder points and
order quantities, respectively, that is kept on each echelon for all results of the non-zero
reorder points subset.
Similarly to the overall results, we see that the share on the first echelon is consistently
higher than on the second echelon. The (combined) share of the two reorder points on the
second echelon is below 10% for the majority of the parts, even for the subset where we
only consider results with reorder points larger 0.
The results shown in Figure 5.12 are decoupled for the individual parts. It could be the case
that a high stock on the first echelon leads to a low stock on the second echelon and vice
versa. A simple scatter plot of the share of stock on the two echelons is shown in Figure 5.13.
There, we see at least some indication of a linear relationship, but also a significant number
of parts where the share of stock on the second echelon is very low.
The leading question in the following therefore is if we can detect a pattern for which parts
it is beneficial to keep stock at an intermediate (and the master) warehouse and for which it
is not beneficial.
110
5 Experimental results
Figure 5.12: Boxplot of the share of stock at different echelons for results with non-zero non-local
reorder points
An obvious measure for determining if more stock should be kept at the first or second echelon would have been the ratio of the pi, j at the echelons. Surprisingly enough, we see only
a coefficient of correlation of −0.10 (−0.12, respectively) between p1,1 /p2,1 (p1,1 /p2,2 )
and R2,1 (R2,2 ). Therefore we cannot conclude that there is a linear relationship between the
share of stock at the second echelon and the ratio of prices.
Figure 5.13: Scatter plot of the share of reorder points on first and second echelon for results with
non-zero non-local reorder points
Our initial intuition was that the lead time of a respective warehouse itself does play a
significant role in determining how high the share of stock at a certain echelon should be.
We expected that warehouse (2, 1) does have a higher share of reorder points than warehouse
(2, 2) because of the significant longer lead time. Our analysis in Table 5.33 shows little
5.4 n-echelon results
111
difference in the share of the reorder points on the respective warehouse but some difference
if we additionally consider the order quantities. This difference gets smaller if we only
consider parts where the respective Ri, j > 0. In Table 5.34, it is shown that the number
of parts with Ri, j > 0 is even larger for warehouse (2, 2) but again the difference is small.
Therefore, we do not have sufficient rationale to confirm a significant role of the difference
in lead time between the two warehouses.
A number of other factors possibly influence how high the share of stock at the second
echelon should be: The lead time of the master warehouse, the demand structure and size
of (local) customer demand.
We start by looking at the influence of the transportation time of the master warehouse on
the share of reorder points kept at the second echelon. In the data, the standard deviation of
transportation time is some constant fraction of the expected transportation time. Therefore,
all results in the following are presented for the expected transportation time of the master
warehouse, but apply due to the given parametrization equally for the standard deviation of
transportation time. If we look at the correlation between expected transportation time and
share of reorder points at the warehouses on the second echelon, we see significantly higher
values compared to the correlation with the transportation time of the warehouse itself, as
shown in Table 5.35. Nonetheless, correlation coefficients of 0.37 and 0.32 are too low to
indicate a clear linear relationship.
Table 5.35: Pearson correlation coefficients of different values with the share of reorder points kept
at respective warehouses
Correlation with
Warehouse (l,m) E[T1,1 ] ∑ j∈Cl,m μ3, j ∑ j∈Cl,m σ3,2 j
(2, 1)
0.37
0.10
0.04
(2, 2)
0.32
-0.04
-0.03
p
l,m
cv
p1,1
-0.03 -0.10
0.00 -0.11
Next, we look at the mean and variance of local demand. ∑ j∈Cl,m μ3, j in Table 5.35 is
the sum of the expected demand per time unit of all child nodes of warehouse (l, m), i.e.,
all succeeding warehouses that order from warehouse (l, m). The next column shows the
same summation for the variance of demand per time unit. The correlation coefficient for
both warehouses on the second echelon are close to 0, indicating no linear relationship
between the two variables. We repeated the analysis for the mean and variance of demand
during lead time with very similar outcome. The coefficient of variation also does have
a correlation coefficient close to 0. Scatter plots also indicate no pattern. Therefore, we
have no indication for a connection between the sum of expected local demand as well
as the sum of variance of local demand. The correlation coefficient with the coefficient
of variation cv = (∑ j∈Cl,m σ3, j )/(∑ j∈Cl,m μ3, j ) is close to 0 and therefore we also have no
indication for a relationship with the variability of local demand. In addition to the results
shown here, we also analyzed if there is any relationship of the distribution of stock to how
concentrated demand at the local warehouses is, i.e., does the distribution of stock changes
112
5 Experimental results
for cases where demand is highly concentrated in one local warehouse only in each subnetwork and all other local warehouses face only little demand. For this, we also could not
find any pattern.
As a last measure, we had a closer look at the input data of the parts with the highest share of
reorder points on the second echelon and tried to detect a common pattern but were unable
to do so.
Overall, we can conclude that it is optimal to keep the majority of stock at the local warehouses, which clearly confirms our 2-level results (cp. Section 5.3). Additionally, for the
vast majority of the parts the results indicate that it is within 1% of optimality to keep little
stock at the second echelon. Only for a limited number of parts have the reorder points on
the second echelon been even larger than 0. We were unable to detect a pattern when this is
the case. We, however, only analyzed if there is a linear relationship between an input factor
and the distribution of stock in the network. Further research is needed, but computations
for a realistically sized network like the one considered here are demanding.
One could argue that, because we have an optimality gap of 1%, the difference in the value
of the objection function is relatively small for a number of different possible solutions.
Then we had only picked those non-zero reorder points by chance in those cases, because
the result was within our optimality gap. However, as our results are so consistent for a
large number of parts, this is unlikely. Nevertheless, we have solved some of the relevant
parts until optimality. Results did not change substantially and we could not observe a shift
away from non-zero reorder points at the second echelon.
6 Real-world application
In this section, we present an approach how the optimization algorithms of Chapter 4 and
the analysis of the numerical experiments in Chapter 5 can be used to implement a multiechelon optimization in a real world application. Much literature has already been written
on the implementation of inventory planning methods in general, for example the books of
Silver et al. [SPT16] and Axsäter [Axs15]. Here, we focus solely on the optimization in
multi-echelon networks with many warehouses and where an optimization has to be done
for many instances.
The industrial partner, who supplied the real world data used in Chapter 5, has a supply
chain network of about 100 warehouses and several 100,000 spare parts. The size alone is
a challenge if the network should be optimized in its entirety. While we have developed an
optimization model for the general n-level case, more work in this area is needed: Additional
insights into the structure and further simulations to determine the impact of an optimization
in an n-level network would be of great value and the runtime needs to be improved (cp.
Sections 4.2 and 5.4).
Therefore, our recommendation for practical applications and the focus of this section is on
2-level networks only. A more elaborated network could be decoupled and optimized by,
for example, regions with only 2-level networks. In many organizations, different regions
are usually managed separately, so this would at least fit the processes within companies.
The stocking levels of master warehouses above those regions then have to be determined
separately. This could for example be done by a simulation of different options in which the
consequences on the stock in the entire network are evaluated for a representative sample of
parts.
The following part of this section is based on the assumption that we are tasked with optimizing reorder points in a 2 level network of about 10 warehouses and for 50,000 to 100,000
different spare parts. The optimization then has to be done in a nightly batch or on the
weekend, which sets a limit on the available runtime.
We first give guidelines on how suitable wait time approximations can be selected and then
on which algorithm should be used for which subset of the assortment.
6.1 Selection of suitable wait time approximations
As is evident from Section 5.2, the selection of a suitable approximation of the wait time
has decisive consequences on the optimal reorder points and on the fill rate.
The first check should be if lead times and order quantities are really low, as only in this case
the BF approximation is suitable. If the demand structure and order quantities are similar
for each part in all local warehouses, the AXS approximation is worth considering.
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_6
114
6 Real-world application
If both conditions do not hold, these two approximations can be excluded from further analysis. Our analysis indicates that a promising approach then is to use the NB approximation
if Qi /μi < 25 for all local warehouses i and the KKSL approximation in all other cases.
Nevertheless, we recommend to do at least some simulations as described in Section 5.1
to verify the findings reported here and analyze if they apply for the network in question.
A simulation with historic demand data is preferable if this data is available. Otherwise,
randomly generated data can be used.
6.2 Selection of optimization algorithms and heuristics
A common approach in industry is to cluster the assortment with a (multi-criteria) ABC
analysis (cp. for example [FW87]). It ranks the importance of parts in inventory using
certain criteria. For example, it ranks the parts which are responsible for 80% of the sales
as most important A-parts, parts which are responsible for 15% of the sales as B-parts and
parts which are responsible for 5% of the sales as C-parts. Typically, only 20% of the parts
are responsible for 80% of the sales, while the majority of the parts are responsible for only
a small share of the sales and therefore are C-parts [SPT16].
In order to select a suitable algorithm for each part and keep runtime low, we suggest classifying the data along the two dimensions of demand and price. Then, for each of the 9
classes, either the original optimization algorithm is used, the STEP-SLOPE heuristic or
a simple enumeration. We do not consider the STEP-ADD heuristic, as the results for the
STEP-SLOPE heuristic were superior in our numerical experiments (cp. Section 5.3.4).
We suggest using a simple enumeration for items with low demand. The demand for many
items is usually very low, such that only very low reorder points are sensible for this type
of items. It is then not worth setting up the optimization algorithm. The solutions for a
central reorder point between [0; k] with k being a small number can just be evaluated and
compared.
In Sections 5.3.3 and 5.3.4, we report on the runtime of the original optimization algorithm
and the heuristics and evaluate how much worse the objective values of the heuristics are.
The objective is to obtain a solution for the whole assortment which is as good as possible,
while keeping runtime low.
In the following, we will illustrate the proposed approach with an example. We consider a
real world assortment of spare parts. This assortment has a very typical distribution, which
we have seen quite often in different supply chain networks of our industrial partner. The
assortment was clustered in an ABC-analysis with the categories price (from A - expensive
to C - cheap) and demand (A - high to C - low). In Table 6.1, we show what percentage
of parts is within each class and how high the revenue share of the respective classes is.
While, for example, only 0.6% of the parts are in the high demand - cheap price class (AC),
38.09% of the revenue was generated by this class. Only about 3% of the parts generate
roughly 75% of the revenue, i.e., the parts in the classes AC, AA and BC.
Price
6.3 Key takeaways for implementation in real world applications
115
Share of
No. Parts Revenue No. Parts Revenue No. Parts
C
0.60%
38.09%
1.09%
25.95%
5.12%
B 19.55%
7.47%
23.12%
1.43%
43.76%
A
1.31%
11.67%
2.25%
4.30%
3.20%
A
B
C
Demand
Revenue
2.00%
0.49%
20.27%
Table 6.1: Percentage share of number of parts and revenue in the classes of the multi-criteria abc
analysis
Price
Now, we select a suitable algorithm for each class to balance the two goals of optimality
and runtime. Table 6.2 shows how such a system may look like for the example on hand.
C
B
A
Original Optimization
STEP-SLOPE
Original Optimization
A
Original Optimization
STEP-SLOPE
STEP-SLOPE
B
Demand
Enumeration
Enumeration
Enumeration
C
Table 6.2: Multi-criteria ABC analysis and selection of suitable algorithms
For the small number of parts which are responsible for the majority of the revenue, i.e.,
the parts in AC, AA and BC, we use the original optimization algorithm to obtain optimal
results. For the about 45% of the parts in the classes AB, BA and BB we use the STEPSLOPE heuristic. For all items with low demand a simple enumeration is used as demand
is very low and it is better to just use a simple enumeration as described above. We want
to emphasize that this decisions are rule of thumb and always contain the trade-off between
runtime and quality of results. Some allocations of the algorithms in Table 6.2, could have
been done different if the focus was more on runtime or quality of results.
6.3 Key takeaways for implementation in real world applications
To implement the findings of this work into a real world application, several steps have to
be considered and we now summarize the key takeaways in this section.
First, suitable (sub-)networks should be selected if the considered supply chain has more
than two echelons. A strategy should be determined how much stock is kept at the upper
echelons and especially at the master warehouses.
Then, a suitable wait time approximation or several approximations should be determined
for the 2-level network. Selecting a suitable approximation is essential to determine reasonable reorder points and ensure that the fill rate targets are met.
116
6 Real-world application
Finally, the assortment should be clustered with a multi-criteria ABC analysis and then
appropriate algorithms should be assigned to each class.
7 Conclusion
In this work, we undertook a comprehensive look at the modeling and planning of inventory in multi-echelon distribution networks where all warehouses use (R,Q)-order policies.
Our contributions can be divided in three main areas: the approximation of wait time, the
optimization of reorder points in 2-echelon networks and the generalization to n-level networks.
Wait time is the central mechanism that connects the different echelons in the network. The
modeling of the wait time is complex and several approximations exist. Besides introducing our own novel wait time approximation (the NB approximation), we compared three
well known approximations from the literature and our own approximation in an extensive
numerical study. Hereby, we used random data as well as real-world demand data. There
is no “best” approximation and it does depend on the characteristics of the demand and
the network which approximation has the highest accuracy. Nevertheless, we were able to
establish a few guidelines that describe which approximation is likely to perform good in
which circumstances.
The core of our work is the joint optimization of reorder points. We have developed dedicated algorithms for the 2-level case and the n-level case. The algorithms simultaneously
optimize all reorder points in distribution networks. Our algorithms are the first ones that are
able to determine optimal reorder points for inventory distribution systems using complex
wait time approximations.
The 2-level optimization algorithm is applicable for generic wait time approximations and
only relies on very mild assumptions. It was tested with real-world data and performs fast
enough to be effectively used in practical applications. To cope with the non-linear fill
rate constraints, it over- and underestimates the original non-linear constraints by piecewise
linear functions. Using a truncated binary search to compute initial over- and underestimates
for the non-linear functions, it then iteratively refines and resolves over- and underestimating
integer linear programs until a globally optimal solution is found. As the algorithm produces
both lower and upper bounds, it can also be terminated when a desired optimality gap is
reached. Stock can be drastically reduced using our algorithm compared to the commonly
used approach of prescribing fixed central fill rates. Our experimental results indicate a
possible decrease in the range of 20% in many real-world cases. Our results also confirm
previous studies, which suggest that in many situations the optimal central fill rate is much
lower than what is commonly used in practice. The precise values of the optimal central fill
rates, however, depend heavily on the used wait time approximations.
Additionally, we have introduced two heuristics which are especially suitable for large networks with large demand. We determine a potential strong lower bound on the effect of an
increase of the central reorder point on each local reorder point. We use this information
to either introduce additional constraints or strengthen the constraints of the original model.
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4_7
118
7 Conclusion
The runtime of those algorithms was up to 60% faster than the original optimization algorithm in our numerical experiments. We cannot guarantee optimality anymore with those
algorithms, as our lower bound is only an estimate, but our experiments show that in many
cases they still end up in the optimum or at least close to the optimum.
The complexity rises significantly in the n-level case. Structurally we do not have a direct
relationship between the reorder point central warehouse and the reorder point of each local
warehouse anymore. Instead, we have a relationship between the reorder point of every
local warehouse and all its predecessors. Worse, the relationship of reorder points of a local
warehouse and a preceding warehouse additionally depends on the reorder points of all
other warehouses that precede the local warehouse. Only the approximation by Kiesmüller
et al. is readily applicable for the general n-level case. By assuming each increase of the
reorder point in a non-local warehouse imposes a maximal decrease of wait time for all
succeeding local warehouses and isolating this relationship from the rest of the network,
we constructed an underestimating piecewise-linear step function that relates the reorder
points of each local and non-local warehouses. The underestimating integer linear program
is then gradually refined in two distinct phases and can be solved even until optimality. Due
to the larger solution space, solving problems until optimality is computationally difficult.
Our algorithm supplies bounds in every iteration of the second refinement phase and can
therefore be also used to compute solutions that are within a given range of optimality. We
have also sketched possible heuristics based on step sizes, which we expect to be able to
solve even larger instances. We computed results for real-world problem instances of a 3echelon network. Surprisingly for us, almost no stock should be kept at the intermediate
echelon for the majority of cases.
Finally, we gave advice on how to apply our findings in real-world applications and presented the key takeaways for an implementation. While our research enhances the possibilities
to find optimal reorder points in divergent multi-echelon systems, it also makes clear how
many research opportunities still exist.
Optimization algorithms that can handle more general objective functions than our model
or simultaneously optimize reorder points and order quantities would be of great theoretical
and practical interest. In the n-level case more analytical insight in the problem structure
as well as in the structure of an optimal solution is needed. Here, even heuristics that can
supply good solutions fast for realistically sized networks and demand structures would be
of great value. While we sketched how those heuristics could look like, they still have to
be tested in numerical experiments and additional theoretical groundwork is needed. Furthermore, the sometimes large errors of the wait time approximation clearly show room
for improved models and the need for further research in this area. Rather than validating approximations by “artificial” simulations using random demand generators, we want
to emphasize the importance of using real-world demand data and realistic settings to test
approximations.
Bibliography
[AAM98]
Jonas Andersson, Sven Axsäter, and Johan Marklund. Decentralized
multiechelon inventory control. Production and Operations Management,
7(4):370–386, 1998.
[AJ96]
Sven Axsäter and Lars Juntti. Comparison of echelon stock and installation
stock policies for two-level inventory systems. International Journal of Production Economics, 45(1):303–310, 1996.
[AJ97]
Sven Axsäter and Lars Juntti. Comparison of echelon stock and installation
stock policies with policy adjusted order quantities. International Journal of
Production Economics, 48(1):1–6, 1997.
[AM00]
Jonas Andersson and Johan Marklund. Decentralized inventory control in
a two-level distribution system. European Journal of Operational Research,
127(3):483–506, 2000.
[AR93]
Sven Axsäter and Kaj Rosling. Notes: Installation vs. echelon stock policies
for multilevel inventory control. Management Science, 39(10):1274–1280,
1993.
[Axs93]
Sven Axsäter. Continuous review policies for multi-level inventory systems
with stochastic demand. Handbooks in operations research and management
science, 4:175–197, 1993.
[Axs00]
Sven Axsäter. Exact analysis of continuous review (r, q) policies in twoechelon inventory systems with compound poisson demand. Operations Research, 48(5):686–696, 2000.
[Axs03]
Sven Axsäter. Approximate optimization of a two-level distribution inventory
system. International Journal of Production Economics, 81:545–553, 2003.
[Axs07]
Sven Axsäter. On the first come-first served rule in multi-echelon inventory
control. Naval Research Logistics (NRL), 54(5):485–491, 2007.
[Axs15]
Sven Axsäter. Inventory Control. Springer Intern. Publ, 3 edition, 2015.
[BF14]
Peter Berling and Mojtaba Farvid. Lead-time investigation and estimation
in divergent supply chains. International Journal of Production Economics,
157:177–189, 2014.
[BKM11]
Oded Berman, Dmitry Krass, and M. Mahdi Tajbakhsh. On the benefits of
risk pooling in inventory management. Production and Operations Management, 20(1):57–71, 2011.
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4
120
Bibliography
[BM06]
Peter Berling and Johan Marklund. Heuristic coordination of decentralized
inventory systems using induced backorder costs. Production and Operations
Management, 15(2):294–310, 2006.
[BM13]
Peter Berling and Johan Marklund. A model for heuristic coordination of real
life distribution inventory systems with lumpy demand. European Journal of
Operational Research, 230(3):515–526, 2013.
[Bur75]
T. A. Burgin. The gamma distribution and inventory control. Operational
Research Quarterly (1970-1977), 26(3):507–525, 1975.
[CJS11]
Kyle D. Cattani, F. Robert Jacobs, and Jan Schoenfelder. Common inventory modeling assumptions that fall short: Arborescent networks, poisson demand, and single-echelon approximations. Journal of Operations Management, 29(5):488–499, 2011.
[CS60]
Andrew J. Clark and Herbert Scarf. Optimal policies for a multi-echelon
inventory problem. Management Science, 6(4):475–490, 1960.
[CS62]
Andrew J. Clark and Herbert Scarf. Approximate solutions to a simple multiechelon inventory problem. Studies in applied probability and management
science, pages 88–110, 1962.
[CZ97]
Fangruo Chen and Yu-Sheng Zheng. One-warehouse multiretailer systems
with centralized stock information. Operations Research, 45(2):275–287,
1997.
[DdK98]
Erik Bas Diks and Ton de Kok. Optimal control of a divergent multi-echelon
inventory system. European Journal of Operational Research, 111(1):75–97,
1998.
[DdKvH09] Mustafa K. Doğru, Ton de Kok, and Geert-Jan van Houtum. A numerical study on the effect of the balance assumption in one-warehouse multiretailer inventory systems. Flexible Services and Manufacturing Journal,
21(3-4):114–147, 2009.
[dKGL+ 18] Ton de Kok, Christopher Grob, Marco Laumanns, Stefan Minner, Jörg Rambau, and Konrad Schade. A typology and literature review on stochastic multiechelon inventory models. European Journal of Operational Research, 2018.
[DS81]
Bryan L. Deuermeyer and Leroy B. Schwarz. A model for the analysis of
system service level in warehouse-retailer distribution systems: The identical
retailer case. In Leroy B. Schwarz, editor, Multi-level production/inventory
control systems: theory and practice, volume 16, pages 163–193. North Holland, 1981.
[ES81]
Gary Eppen and Linus Schrage. Centralized ordering policies in a multiwarehouse system with lead times and random demand. Studies in the Management Sciences, 16:51–67, 1981.
Bibliography
121
[Fed93]
Awi Federgruen. Chapter 3 centralized planning models for multi-echelon
inventory systems under uncertainty. In S.C Graves, A.H.G. Rinnooy Kan
and P.H. Zipkin, editors, Logistics of Production and Inventory, volume 4
of Handbooks in Operations Research and Management Science, pages 133–
173. Elsevier, 1993.
[FR14]
Mojtaba Farvid and Kaj Rosling. Customer waiting times in continuous review (nq,r) inventory systems with compound poisson demand: Working paper. Working paper, 2014.
[FW87]
Benito E. Flores and D. Clay Whybark. Implementing multiple criteria abc
analysis. Journal of Operations Management, 7(1):79–85, 1987.
[GB18a]
Christopher Grob and Andreas Bley. Comparison of wait time approximations in distribution networks using (r,q)-order policies. ArXiv e-prints, 2018.
[GB18b]
Christopher Grob and Andreas Bley. On the optimality of reorder points a solution procedure for joint optimization in 2-level distribution networks
using (r,q) order policies: Working paper. Working paper, 2018.
[GBS18]
Christopher Grob, Andreas Bley, and Konrad Schade. Joint optimization
of reorder points in n-level distribution networks using (r,q)-order policies:
Working paper. Working paper, 2018.
[GG07]
Alev Taskin Gümüs and Ali Fuat Güneri. Multi-echelon inventory management in supply chains with uncertain demand and lead times: Literature review from an operational research perspective. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture,
221(10):1553–1570, 2007.
[GKR07]
Guillermo Gallego, Kaan Katircioglu, and Bala Ramachandran. Inventory
management under highly uncertain demand. Operations Research Letters,
35(3):281–289, 2007.
[Gra85]
Stephen C. Graves. A multi-echelon inventory model for a repairable item
with one-for-one replenishment. Management Science, 31(10):1247–1256,
1985.
[GW03]
Stephen C. Graves and Sean P. Willems. Supply chain design: safety stock
placement and supply chain configuration. Handbooks in operations research
and management science, 11:95–132, 2003.
[Har13]
Ford W. Harris. How many parts to make at once. Factory, The Magazine of
Management, 10(2):135–136, 152, 1913.
[KdKSvL04] Gudrun P. Kiesmüller, Ton de Kok, Sanne R. Smits, and Peter J.M. van Laarhoven. Evaluation of divergent n-echelon (s,nq)-policies under compound
renewal demand. OR-Spektrum, 26(4):547–577, 2004.
122
Bibliography
[KM10]
Steffen Klosterhalfen and Stefan Minner. Safety stock optimisation in distribution systems: a comparison of two competing approaches. International
Journal of Logistics: Research and Applications, 13(2):99–120, 2010.
[LA93]
A. G. Lagodimos and E. J. ANDERSON. Optimal positioning of safety
stocks in mrp. International Journal of Production Research, 31(8):1797–
1813, 1993.
[LL03]
Hon-Shiang Lau and Amy Hing-Ling Lau. Nonrobustness of the normal approximation of lead-time demand in a (q, r) system. Naval Research Logistics
(NRL), 50(2):149–166, 2003.
[LM87a]
Hau L. Lee and Kamran Moinzadeh. Operating characteristics of a twoechelon inventory system for repairable and consumable items under batch
ordering and shipment policy. Naval Research Logistics (NRL), 34(3):365–
380, 1987.
[LM87b]
Hau L. Lee and Kamran Moinzadeh. Two-parameter approximations for
multi-echelon repairable inventory models with batch ordering policy. IIE
Transactions, 19(2):140–149, 1987.
[LMV02]
P. L’Ecuyer, L. Meliani, and J. Vaucher. Ssj: A framework for stochastic simulation in java. In E. Yücesan, C.-H. Chen, J. L. Snowdon, and J. M. Charnes,
editors, Proceedings of the 2002 Winter Simulation Conference, pages 234–
242. IEEE Press, 2002.
[LT08]
Christian Larsen and Anders Thorstenson. A comparison between the order
and the volume fill rate for a base-stock inventory control system under a
compound renewal demand process. Journal of the Operational Research
Society, 59(6):798, 2008.
[Muc73]
John A. Muckstadt. A model for a multi-item, multi-echelon, multi-indenture
inventory system. Management Science, 20(4):472–481, 1973.
[MY08]
Chumpol Monthatipkul and Pisal Yenradee. Inventory/distribution control
system in a one-warehouse/multi-retailer supply chain. International Journal
of Production Economics, 114(1):119–133, 2008.
[Ros14]
Sheldon M. Ross. Introduction to Probability Models. Academic Press, 2014.
[RÜ11]
Manuel D Rossetti and Yasin Ünlü. Evaluating the robustness of lead time demand models. International Journal of Production Economics, 134(1):159–
176, 2011.
[SDB85]
Leroy B. Schwarz, Bryan L. Deuermeyer, and Ralph D. Badinelli. Fill-rate
optimization in a one-warehouse n-identical retailer distribution system. Management Science, 31(4):488–498, 1985.
[She68]
Craig C. Sherbrooke. Metric: A multi-echelon technique for recoverable item
control. Operations Research, 16(1):122–141, 1968.
Bibliography
123
[She86]
Craig C. Sherbrooke. Vari-metric: improved approximations for multiindenture, multi-echelon availability models.
Operations Research,
34(2):311–319, 1986.
[She13]
Craig C. Sherbrooke. Optimal Inventory Modeling of Systems: Multi-Echelon
Techniques, volume 72 of International Series in Operations Research &
Management Science. Springer, 2 edition, 2013.
[Sim58]
Kenneth F. Simpson. In-process inventories. Operations Research, 6(6):863–
873, 1958.
[SLZ12]
David Simchi-Levi and Yao Zhao. Performance evaluation of stochastic
multi-echelon inventory systems: A survey. Advances in Operations Research, 2012, 2012.
[SPT16]
E. A. Silver, D. F. Pyke, and D. J. Thomas. Inventory and Production Management in Supply Chains. Taylor & Francis, 4 edition, 2016.
[SZ88]
Antony Svoronos and Paul Zipkin. Estimating the performance of multi-level
inventory systems. Operations Research, 36(1):57–72, 1988.
[Tem99]
Horst Tempelmeier. Material-Logistik. Springer, 4 edition, 1999.
[TH08]
Ruud H. Teunter and Willem K. Klein Haneveld. Dynamic inventory rationing strategies for inventory systems with two demand classes, poisson
demand and backordering. European Journal of Operational Research,
190(1):156–178, 2008.
[TO97]
John E. Tyworth and Liam O’Neill. Robustness of the normal approximation of lead-time demand in a distribution setting. Naval Research Logistics,
44(2):165–186, 1997.
[VAN10]
Juan Pablo Vielma, Shabbir Ahmed, and George Nemhauser. Mixed-integer
models for nonseparable piecewise-linear optimization: Unifying framework
and extensions. Operations Research, 58(2):303–315, 2010.
[VKN08]
Juan Pablo Vielma, Ahmet B. Keha, and George L. Nemhauser. Nonconvex,
lower semicontinuous piecewise linear optimization. Discrete Optimization,
5(2):467–488, 2008.
[Wag02]
Harvey M. Wagner. And then there were none.
50(1):217–226, 2002.
[Wah99]
Christoph Wahl. Bestandesmanagement in Distributionssystemen mit dezentraler Disposition. PhD thesis, Difo-Druck GmbH, 1999.
[Whi82]
Ward Whitt. Approximating a point process by a renewal process, j: two
basic methods. Operations research : the journal of the Operations Research
Society of America, 30(1):125–147, 1982.
Operations Research,
Appendix
A.1 Proofs
A.1.1 Proof of Lemma 19 for (order) fill rate targets and compound Poisson demand
In this section, we proof Lemma 19 for the special case of order fill rate targets.
First, we show that the lemma holds true for local reorder points. Assume that we use
eq. (2.13) to calculate the fill rate. Let β Ri be the fill rate for reorder point Ri and β Ri +1 be
β
the fill rate for Ri + 1, all else equal. We want to derive the difference δi := β Ri +1 − β Ri .
βi (Ri + 1) =
Ri +Qi +1 Ri +Qi +1
∑
∑
k=1
1
Qi
=
pdf Ki (k)
j=k
Ri +Qi +1 Ri +Qi +1
∑
k=1
∑
1 Ri +Qi +1
∑ Pr(Di(Lie f f ) = l − j)
Qi l=R
i +2
pdf Ki (k)
j=k
Ri +Qi
∑
l=Ri +2
pdf Di (l − j) + pdf Di (Ri + Qi + 1)
Ri +Qi
1 Ri +Qi +1 Ri +Qi +1
pdf Ki (k) ∑ pdf Di (l − j) + pdf Di (Ri + Qi + 1)
∑
∑
Qi k=1
j=k
l=Ri +1
=
− pdf Di (Ri + 1)
Ri +Qi
1 Ri +Qi +1 Ri +Qi +1
pdf Ki (k) ∑ pdf Di (l − j)
∑
∑
Qi k=1
j=k
l=Ri +1
=
+
1 Ri +Qi +1 Ri +Qi +1
∑ ∑ pdf Ki (k)(pdf Di (Ri + Qi + 1) − pdf Di (Ri + 1))
Qi k=1
j=k
(A.1)
In eq. (A.1) the last element of the first two sums, Ri + Qi + 1, is 0 because l − j is always
negative in this case and the probability for negative demand is 0 by definition. Therefore,
βi (Ri + 1) =
Ri +Qi
1 Ri +Qi Ri +Qi
pdf Ki (k) ∑ pdf Di (l − j)
∑
∑
Qi k=1 j=k
l=Ri +1
+
1 Ri +Qi +1 Ri +Qi +1
∑ ∑ pdf Ki (k)(pdf Di (Ri + Qi + 1) − pdf Di (Ri + 1))
Qi k=1
j=k
= β Ri +
1 Ri +Qi +1 Ri +Qi +1
∑ ∑ pdf Ki (k) pdf Di (Ri + Qi + 1 − j) − pdf Di (Ri + 1)
Qi k=1
j=k
β
which provides us with the desired δi .
© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2019
C. Grob, Inventory Management in Multi-Echelon Networks,
AutoUni – Schriftenreihe 128, https://doi.org/10.1007/978-3-658-23375-4
126
Appendix
Corollary 31. The increase in fill rate if we increase a local reorder point Ri by 1 is
β
δi (Ri ) =
1 Ri +Qi +1 Ri +Qi +1
∑ ∑ pdf Ki (k) (DLi (Ri + Qi + 1 − j) − DLi (Ri + 1)) .
Qi k=1
j=k
From this, Corollary 32 follows directly.
β
Corollary 32. δi from Corollary 31 is strictly greater than 0 and therefore βi (Ri ) is increasing in Ri .
And now we consider non-local reorder points. The idea of this proof relates back to the
relation shown in Figure 3.2. Consider a decrease of mean and variance of lead time demand
at a local warehouse i (which is caused by an increase of a non-local reorder point). This
decrease affects Di in eq. (2.13):
βi (Ri ) := βiord (Ri ) =
Ri +Qi Ri +Qi
∑ ∑
k=1
=
j=k
Ri +Qi Ri +Qi
∑ ∑
k=1
pdf Ki (k) · Pr(I lev = j)
j=k
pdf Ki (k)
1 Ri +Qi
∑ Pr(Di(Lie f f ) = l − j)
Qi l=R
i +1
(A.2)
To consider the influence recall the idea of eq. (A.2): An order of size k arrives at a point
in time t and we sum up the probabilities for all possible states in which this order can
be fulfilled weighted by the probability for an order of size k to occur. The order can be
fulfilled if the inventory level at time t is greater or equal than k. The inventory position
can be expressed as IiLev (t) = IiPos (t) − D(Li ) and the probability subsequently as Pr(Iilev ≥
i +Qi
Pr(D(Li ) ≤ l − k). The probability is increased if mean and variance of
k) = (1/Qi ) ∑Rl=R
i +1
demand decrease and therefore the probability that an order of any size k can be fulfilled is
higher. The fill rate is increasing in non-local reorder points and the proof is completed.
The construction is somewhat different if we start with the assumption of negative binomial
lead time demand. The demand process can then be modeled as compound Poisson with
logarithmic order size distribution. In this case, mean and variance of the order size distribution K are also changed by a change in lead time demand. This is counter-intuitive and
an artifact of the demand modeling in this case. The parameter θ of the logarithmic distribution (Appendix A.2.3) is computed as θ = 1 − p with p being a parameter of the negative
binomial distribution (Appendix A.2.4). The relation is then not as obvious anymore and
depends on the ratio of the decrease of mean and variance of lead time demand. We did not
observe any situation where the fill rate was not increasing in non-local reorder points.
A.2 Distributions
In this section we define the required distributions in alphabetical order as their are sometimes ambiguities in the definitions. We refer to the random variable as X, the probability
mass function as pdf X (x) and the distribution function as cdf X (x).
Distributions
127
A.2.1 Compound Poisson
Let N be a Poisson distributed random variable and X1 , X2 , X3 , ... i.i.d random variables that
are also independent of N. Then
N
Y = ∑ Xi
(A.3)
i=1
is compound Poisson distributed.
A.2.2 Gamma distribution
The gamma distribution has the shape parameter α > 0 and the rate parameter λ > 0. The
density function is
pdf X (x) =
where Γ(α) =
λ α xα−1 e−λ x
, for x > 0
Γ(α)
(A.4)
" ∞ α−1 −t
e dt is the gamma function.
0 t
The cumulative distribution function is the regularized gamma function
cdf X (x) =
where γ(α, λ x) =
γ(α, λ x)
, for x > 0
Γ(α)
(A.5)
" λ x α−1 −t
e is the lower incomplete gamma function.
0 t
A.2.3 Logarithmic distribution
Let θ ∈ (0, 1) be the shape parameter of the logarithmic distribution. The probability mass
function is
pdf X (x) =
−θ x
, for x = 1, 2, 3, ...
xln(1 − θ )
(A.6)
and the probability distribution function is
cdf X (x) =
x
θi
−1
, for x = 1, 2, 3, ...
∑
ln(1 − θ ) i=1 i
(A.7)
128
Appendix
A.2.4 Negative binomial distribution
The density function of the negative binomial distribution with parameters n > 0 and 0 <
p < 1 is
pdf X (x) =
Γ(n + x) n
p (1 − p)x , for x = 0, 1, 2, ...
Γ(n)x!
(A.8)
where Γ is the gamma function as defined in Appendix A.2.2. The probability distribution
function is
cdf X (x) = 1 − I p (k + 1, r) ,for x = 0, 1, 2, ...
(A.9)
A.2.5 Poisson distribution
Let λ > 0 be the mean of the Poisson distribution. The probability mass function is
pdf X (x) =
e−λ λ x
, for x = 0, 1, 2, ...
x!
(A.10)
and the probability distribution function is
cdf X (x) = e−λ
λj
, for x = 0, 1, 2, ...
j=0 j!
x
∑
(A.11)
A.3 Additional data
A.3.1 Heuristics
Table A.1: Data that was used to create the example in the 2-level heuristics section. pi is equal for
all warehouses.
i
0
1
2
3
4
5
6
7
8
β̄i
0.99
0.99
0.99
0.99
0.99
0.99
0.99
0.99
Qi
1410
140
210
70
310
200
340
40
130
E[Di ] E[Li ]
44.69
5
8
9
10.88
6
8.12
14
5
6
12
7
16
7
18.29
6
7.5
Var[Li ]
55.8
2.25
2.56
2.4
0.64
3.61
6.76
6.25
1.51
μi
σi2
2.21
3.4
0.99
5.48
3.29
5.45
0.54
2.02
31.18
65.57
11.07
599.77
60.64
76.25
12.17
143.68
Additional data
129
A.3.2 Comparison of wait time approximations
In this section details on the determination of the number of instances needed and supplementary tables are given.
Number of instances needed
We determined how many instances of each variation need to be run in the simulation to
obtain dependable results. For this, we ran a number of tests for all variations of one scenario. The results, which are summarized in Table A.2 for the mean simulated fill rate as
an example, are quite stable. Even if we look at mean simulated fill rates for an individual
instance, we get only small deviations after 100 instances. We therefore decided that 100
instances are sufficient. We repeated the analysis with the mean and the standard deviation
of the wait time, and also regarding these performance measures 100 instances seemed to
be sufficient to get reliable results.
Table A.2: Mean simulated fill rates over all variations and instances for local warehouses
# instances
10
25
50
100
200
500
1000
Mean fill rate
87.534%
87.421%
87.299%
87.393%
87.350%
87.414%
87.391%
Supplementary tables
The tables in this section supplement and support the results presented in Section 5.2 and
are referenced there.
A.3.3 2-echelon results: Retrospective scenario
Table A.8 and Table A.9 summarize the results of the retrospective scenario, which is described in Section 5.3.2. Table A.8 compares mean and standard deviation as approximated
by the different methods with the values observed in the simulation. Table A.9 shows the
same comparison for a subset, in which differences in demand and order quantity between
two warehouses were large.
130
Appendix
Table A.3: Absolute error of the standard deviation for test cases with different ratios of order
quantity and mean daily demand, Analysis of H3
Class
0 to 10
10 to 20
20 to 30
30 to 40
40 to 50
50 to 60
60 to 70
70 to 80
80 to 90
90 to 100
100 to 200
200 to 300
300 to 400
400 to 500
500 to 600
600 to 700
700 to 800
800 to 900
900 to 1000
>1000
No. observations
30
156
258
348
390
804
4416
2772
1902
306
2580
528
312
210
132
126
54
90
30
312
Mean simulated
Standard deviation
1.40
3.63
4.48
4.80
6.14
7.27
7.26
7.59
6.83
7.40
5.98
3.66
2.25
2.72
0.80
1.53
0.58
0.65
2.79
0.41
NB
KKSL
AXS
BF
1.30
3.16
4.38
7.00
10.83
15.06
22.26
23.94
24.85
23.24
27.55
26.77
27.03
26.49
24.98
28.15
21.39
25.57
19.61
20.44
2.82
2.89
2.45
3.32
3.50
4.43
4.49
4.87
5.17
4.65
6.12
8.98
11.34
11.87
12.98
13.34
14.81
12.95
14.87
16.11
1.27
4.77
5.21
5.53
5.37
5.91
6.65
7.74
8.60
7.98
10.62
15.40
19.05
19.55
22.61
21.71
29.23
23.90
30.54
31.26
2.23
3.38
3.49
4.22
4.41
4.96
5.37
5.68
5.94
5.63
6.55
9.37
10.96
11.05
11.86
12.35
11.53
9.95
8.92
9.23
Table A.4: Relative accuracy of the AXS approximation regarding the mean, standard deviation
(sd) and combined (comb.) for different central fill rates (fr) and test cases with Qi /μi ≤
25
All scenarios
Medium to high central fr
Low central fr
Mean
sd
Comb.
Mean
sd
Comb.
Mean
sd
Comb.
Best
38.24% 19.61% 17.32% 35.29% 20.59% 18.14% 44.12% 17.65% 15.69%
2nd or better 43.46% 30.39% 28.43% 42.65% 31.86% 29.41% 45.10% 27.45% 26.47%
Worst
48.37% 51.63% 39.54% 47.55% 51.47% 36.76% 50.00% 51.96% 45.10%
Table A.5: Average simulated values and absolute errors of mean and standard deviation (sd) of the
approximations for different scenarios, for test cases with Qi /μi ≤ 25
All senarios Medium to high central fill rate Low central fill rate
Mean sd Mean
sd
Mean
sd
Simulation 5.01 3.80 3.23
2.87
8.57
5.66
KKSL
3.18 2.59 2.49
2.32
4.56
3.14
3.04 3.55 2.41
2.09
4.31
6.46
NB
AXS
2.51 4.73 1.81
3.85
3.90
6.49
4.70 3.31 3.13
3.44
7.84
3.03
BF
Additional data
131
Table A.6: Mean of simulation and absolute error of the approximations for the standard deviation
for test cases with different number of local warehouses
#Local warehouses
8
≤3
Simulation
5.59 8.61
KKSL
5.00 5.76
NB
21.67 21.73
7.46 11.78
AXS
BF
5.61 5.48
Table A.7: Average simulated values and absolute error of mean and standard deviation (sd) of the
approximations, for test cases with different values of σ 2 /μ
σ 2 /μ < 1
σ 2 /μ < 5
σ 2 /μ ≥ 1
σ 2 /μ ≥ 5
Mean
sd
Mean
sd
Mean
sd
Mean
sd
Simulation 7.58 5.81
8.78 6.18
9.20 6.35 10.47 6.93
KKSL
5.24 5.83
5.78 5.80
5.97 5.65
6.57 4.94
NB
5.77 24.83 5.85 23.44 5.90 22.37 6.09 18.21
5.94 9.78
6.14 9.55
6.23 9.23
6.51 7.88
AXS
BF
6.40 6.33
6.82 6.22
7.06 6.11
7.93 5.67
Table A.8: Approximation and simulation results for the mean and standard deviation of the wait
time, retrospective scenario
Mean
Standard deviation
Method Simulation Approximation Simulation Approximation
KKSL
10.60
13.79
9.14
11.95
NB
3.01
3.66
2.78
9.50
14.34
5.55
12.06
9.11
BF
4.61
6.18
4.71
9.16
AXS
132
Appendix
Table A.9: Approximation and simulation results for the wait time for large differences in replenishment order quantities, retrospective scenario
Mean
Standard deviation
Method Warehouse Simulation Approximation Simulation Approximation
KKSL Large
11.22
11.06
11.20
10.55
Small
3.67
6.97
5.39
11.31
7.45
9.01
8.29
10.93
Combined
NB
Large
1.79
1.22
3.49
6.52
Small
0.46
0.36
1.14
11.54
Combined
1.12
0.79
2.31
9.03
BF
Large
16.24
2.13
14.80
6.91
Small
5.36
0.60
8.59
3.58
Combined
10.80
1.36
11.69
5.25
AXS Large
4.22
2.84
7.25
7.16
Small
0.83
2.84
2.02
7.16
2.53
2.84
4.63
7.16
Combined
Figures on impact of different parameters
133
A.4 Figures on impact of different parameters
In this section the figures accompanying Section 5.3.1 are shown.
!"
##"$
%&
&
(a) Central fill rate
!
"#
#$
(b) Central reorder point
!
" #
$%&
(c) Objective value
Figure A.1: Varying expected local demand
&%
134
Appendix
!"
##"$
%&
&
(a) Central fill rate
!"
"#
(b) Central reorder point
! " # $%
(c) Objective value
Figure A.2: Varying variance of local demand
% $
Figures on impact of different parameters
!"
135
##"$
%&
&
(a) Central fill rate
!
"#
#$
(b) Central reorder point
!"
#!$%
&'(
(c) Objective value
Figure A.3: Varying central order quantity
('
136
Appendix
!"
##"$
%&
&
(a) Central fill rate
!
!"
(b) Central reorder point
! "# $ %&
(c) Objective value
Figure A.4: Varying local order quantity
& %
Figures on impact of different parameters
137
!
"#
#
(a) Central fill rate
!
!"
(b) Central reorder point
!"#
$%&
(c) Objective value
Figure A.5: Varying price at central warehouse
&%
138
Appendix
""!#
$%
%
!
(a) Central fill rate
!"
"#
(b) Central reorder point
!
" #
$%&
(c) Objective value
Figure A.6: Varying lead time at central warehouse
&%
Figures on impact of different parameters
139
!
!
(a) Central fill rate
!"
"#
(b) Central reorder point
(c) Objective value
Figure A.7: Varying fill rate targets
!"#
$%&
%&
140
Appendix
$$#%
&
!"#
&
(a) Central fill rate
""!#
$
!
$%
(b) Central reorder point
!"#
(c) Objective value
Figure A.8: Varying number of local warehouses
" #!
Download