The inventory routing problem, a two-phase approach

advertisement
Aenorm Survey
specialty
The inventory routing problem
Aenorm Survey
Readers of Aenorm 77 had the opportunity to submit our
survey on the future of the Aenorm. We are happy that so
many people took time to complete the survey to help us
improve the Aenorm. Currently we are analysing the
results and we aim to publish Aenorm 80
(September 2013) in a new format. There will be more
attention for VSAE related activities, columns and publications from students. We will provide you with more
information on the changes of the Aenorm in the next
edition.
For now, we want to thank everybody who completed the
survey. The winners of the €50 giftcheque are
• Joris Bücker
• Joran Houtman
They will be contacted soon to receive their price.
A two-phase approach
by: Jacob Kooijman
The aim of this thesis is to develop a heuristical approach for the inventory routing problem. We will propose a
two-phase approach to solve the problem. A novelty of the approach is the use of volume delivery optimization
while optimizing the route schedule by means of column generation.
Jacob Kooijman
Jacob C. Kooijman finished his master in June 2012 at the Vrije Universiteit Amsterdam with his
thesis: “The inventory routing problem, a two-phase approach.” He wrote his thesis under the
supervision of prof. dr. J.A. dos Santos Gromicho. He is specialized in Operations Research and
Business Econometrics, which is also his main area of interest. After his study he started working
at ORTEC as a junior software engineer.
Introduction
The inventory routing problem arises when a retailer is
responsible for the inventory management of his customers and needs to deliver to his customers on time to
ensure that they do not run out of stock. An example is
an oil company that has multiple gas stations and needs
to ensure that each of the gas stations has enough gasoline to serve its customers. A geographical display of
a problem instance is shown in Figure 1. We will solve
the problem over a planning horizon T. Each customer is
assumed to have a usage rate ui , which is the amount of
product the customer consumes per time unit. The usage
of a customer is thus assumed to be deterministic and
constant over time. Secondly, a customer has a starting
inventory Ii at the beginning of the planning period and a
storage capacity Ci. Customers might have restrictions on
visitation times and thus we use time windows to ensure
that a delivery takes place within a time window [ai, bi].
The deliverable amount of a customer is the maximum
amount that can be delivered at a certain moment in time.
An example of the deliverable amount of a customer in
its delivery window is shown in figure 1. To deliver the
customers we have a fleet of M homogeneous vehicles
available. The objective is to minimize both short-term
and long-term transportation and inventory costs. To apply our solution method we will use the following assumptions:
1. Customer usage rates are constant and deterministic.
2. Only one type of product to deliver.
3. A depot with an infinite amount of the product available.
4. There are no inventory holding cost.
Figure 1: an inventory routing problem instance
20
AENORM vol. 21 (78) April 2013
AENORM vol. 21 (78) April 2013
21
specialty
We make these assumptions to limit the problem’s complexity. Some of these assumptions might seem unrealistic, but our approach will take the weaknesses of these
assumptions into account. The usage rates in practice
are stochastic, but if we would model the usage rates as
a stochastic process the model will become even more
complex and thereby harder to solve. Instead we will
deliver customers earlier than the latest possible time to
prevent incorrect forecasts leading to stock outs for the
customers. In the next paragraph we will introduce our
solution approach.
Solution approach
The resulting problem is in the class of NP-hard problems
and solving it to optimality for even small problems, is
a computationally hard task. To solve practical problems
we decide to divide the problem into three phases: demand prediction, planning and scheduling. The division
in phases is shown in Figure 2. In the first phase the demand is predicted based on historical usage data. In the
planning phase, visits to customers are planned, which
are called orders. In the scheduling phase the orders are
combined into routes to minimize the transportation cost.
Even the scheduling phase is considered to be among the
hardest optimization problems. In this thesis we do not
consider the prediction of usage rates, but we will focus
on the two last phases and assume that the usage rates
are given.
Figure 2: the inventory routing problem divided
into three phases
A solution of the inventory routing problem (IRP) consists of the following decisions:
•
•
•
When to deliver to a customer?
How much to deliver to a customer?
Which delivery routes to use?
Each of these decisions affects the other decisions. An earlier delivery to a customer results in a smaller maximum
delivery to a customer. This is due to the fact that a customer uses less of his inventory when delivering earlier
and has a limited storage capacity. Hence, the moment of
delivery affects the decision how much to deliver. If the
decision how much to deliver is made for each customer,
this can affect possible routes that can be used due to a
limited capacity for each vehicle. Some combinations of
customers in one route might exceed the available truck
capacity and thus result in an infeasible solution. A less
22
AENORM vol. 21 (78) April 2013
obvious relation exists between the decisions what routes
to use and when to deliver to a customer. If a customer
is visited as the first customer in a route he consumed a
small amount of inventory from the start of the day, but if
a customer is visited at the end of the route he consumed
more of his inventory. This difference can affect the decision when to deliver next. Note that in Figure 2 there is
a back arrow from the scheduling phase to the planning
phase, because the selection of routes affects the future
decisions in the planning phase.
Solution quality
Before we mention our complete algorithm we should
have a good measure for solution quality. In routing literature it is common to use the amount of driven kilometers by the vehicles as a cost measure. To reflect shortterm cost this measure is realistic, but for the long-term
cost in our problem we should also consider the volume
delivered. If we deliver small amounts of volume each
time we visit a customer, many visits will be needed to
keep the customer from running out of stuck. If we deliver the maximum amount possible to a customer each
time we visit the customer less visits are needed, hence
decreasing transportation cost in the long-term. To balance between the amount of driven kilometers and the
amount of volume delivered we will use the amount
of driven kilometers divided by the amount of volume
delivered as a measure for solution quality, which is recommended by Song and Savelsbergh (2007). Another
important variable is the amount of vehicles required to
execute the planning. A solution with a high volume per
kilometer value that requires many vehicles might not be
the best. In practice the size of the vehicle fleet is generally given, but it might be interesting to analyze the effect of the size of the fleet on the solution quality.
Planning phase
The purpose of the planning phase is to plan orders
for each customer in such a way that a customer will
not run out of stock, while trying to maximize the
solution quality. In the planning phase we should use
the volume per kilometer measure as a guideline for
our design, but another important part is the amount of
vehicles required. We will try to minimize the amount
of vehicles required, while trying to keep good values
for the volume per kilometer measure. A very strong
assumption is the assumption that we have deterministic
usage rates. Delivering at the moment just before a stockout occurs would maximize the amount of volume that
can be delivered in one visit. If a usage prediction turns
out to be incorrect this could lead to high cost, because
an emergency visit might need to be scheduled to prevent
specialty
the stock-out, increasing cost significantly. We introduce
the safety stock, which is the amount of stock a customer
should always have as inventory to ensure that incorrect
demand forecasts will generally not lead to stock-outs.
The time window of each generated customer order is
adjusted for this to guarantee we deliver before reaching
the safety stock.
In the solutions for the planning phase we focused on
delivering as late as possible to maximize the delivery
volume. If we plan every customer just before he reaches
his safety stock we might obtain orders for customers
that are very far apart, increasing the amount of driven
kilometers. We try to combine customers in routes that
have a small geographical distance to one another. The
planning is made for a certain period, for example two
weeks. Due to the complexity of the scheduling phase we
will only solve one day at a time in the scheduling phase.
We create a planning for two weeks, then find routes for
the orders on the first day. Afterwards we move on to the
next day and make a planning again. We recalculate the
planning, because as mentioned earlier routing decisions
affect the latest possible delivery time for the next
delivery. We could decide to just leave the planning as it
was, but the computational effort required to recalculate
the planning is small with the current implementation of
our algorithms.
Scheduling phase
In the scheduling phase we need to find routes which
execute all the generated orders in the planning phase.
All these orders are called must-go orders and should
be executed within their time window. Besides these orders we also introduce may-go orders, which are orders
for customers who do not require a visit in the planning
period, because they reach their safety stock outside the
planning period. We will use may-go customers to fill up
the vehicle capacity in a route, but only if it is beneficial. If adding such a customer to a route improves the
volume per kilometer measure it is considered beneficial
to add the customer. The routes are constructed using a
column generation approach, which is commonly used
for routing problems. The idea of column generation is
that many possible routes exist, but only a few will be
part of the optimal solution. If we would consider every
route we will have an immense amount of variables and
the problem becomes nearly impossible to solve. Instead
we start with a limited amount of routes that result in a
feasible solution and try to find routes that can improve
the solution. By using theory from linear programming
we can quite rapidly find routes that improve the solution. One novelty of our approach is the fact that we use
delivery volume optimization before we check which
routes can improve the solution. Delivery volume optimization postpones routes to a later time to improve
the deliverable volume. If a customer is visited later he
consumed more of his inventory, hence a larger amount
of the product can be delivered. Delivery volume optimization is generally applied after selecting the routes,
but that does not have to lead to an optimal combination
of routes. The effect of delivery volume optimization for
some routes might not allow postponing the route to a
later moment in time. Postponing a route later in time
might also not be beneficial, because the maximum deliverable quantity could have already been reached due to
capacity constraints of the vehicle.
Results
To evaluate our algorithms we used a dataset provided
by the Georgia Tech University. In our research we found
out that the research community did not supply any
results on the instances, but there were also no results
from other instances to compare with using the volume
per kilometer measure. Instead we decided to compare
different solutions for our own algorithms.
In the scheduling phase we select a set of routes based
on an objective function, which is the sum of the cost of
the selected routes. In principle any cost function can be
used to determine the cost of a route. We investigated
two types of cost functions. A weighted cost function
that weighs the amount of driven kilometers and the
unused volume in the vehicle. The second cost function
is the amount of kilometers driven in a route divided by
the amount of volume delivered. We try to maximize
the volume per kilometer, so we should minimize the
opposite. Note that the cost functions are applied per
route and not over all selected routes together. We cannot
calculate the volume per kilometer over all routes,
because the column generation formulation requires a
linear objective function. In figure 3 we compared both
cost functions for a planning period of 30 days.
Figure 3: comparison between weighted cost function and
km/volume cost function with the volume per km on the
y-axes and the weight for the amount of unused capacity
on the x-axes.
AENORM vol. 21 (78) April 2013
23
specialty
The km per volume cost function has constant and quite
good behavior, but for certain values of the weights the
weighted cost function outperforms the km per volume
cost function. One interesting comparison is to compare our cost functions with a cost function based on the
amount of kilometers driven, which is normally used in
routing literature. If the weight of the weighted cost function is zero it only considers the amount of kilometers.
From Figure 3 it follows that the km per volume cost
function slightly outperforms the standard cost function
for routing problems in our case and a better optimized
weight can even improve this further. For other research
results we would like to refer the reader to the thesis.
Conclusion
We developed a two-phase approach for the inventory
routing problem. A very important aspect is the collaboration between the planning and scheduling phase. We
focused on maximizing the total amount of volume delivered divided by the total amount of driven kilometers.
As mentioned, delivering every customer at the latest
possible time maximizes the delivered volume. When
creating routes for these customers the geographical distance between them might be very large, hence increasing the total amount of kilometers driven. It is thus very
important to already consider the effects of decisions
made in the planning phase, before solving the scheduling phase.
References
Campbell, A., L. Clarke, A. Kleywegt and M. Savelsbergh. The inventory routing problem , Fleet Management and Logistics. Kluwer Academic Publishers
(1998): 95-113.
Rust in de
financiële markt,
dat is keihard
werken.
Begin je
carrière bij DNB.
Ontdek de
mogelijkheden op
werkenbijdnb.nl
Campbell, A. and M. Savelsbergh. “Delivery volume
optimization.”, Transportation Science, 38.2 (2004):
210-223.
Feillet, D. “A tutorial on column generation and branchand-price for vehicle routing Problems.”, 4OR: A
Quarterly Journal of Operations Research 8 (2010):
407-424.
Song, J. and M. Savelsbergh. “Performance measurement for inventory routing.”, Transportation Science
41.1 (2007): 44-54.
Bij DNB werk je in het zenuwcentrum van onze economie.
Iedere beslissing die we nemen, wordt kritisch besproken
door de hele financiële wereld. Een dynamische wereld
die we tot rust moeten brengen. Dat vraagt om aanpakken
en volhouden. Want iedere dag krijg je te maken met een
ander complex vraagstuk en moet je de actualiteit zien voor
te blijven. Daarmee lever je een belangrijke bijdrage aan
financiële stabiliteit en vertrouwen.
Kun jij die druk aan en zie je het als een uitdaging om onze
economie vooruit te helpen? Denk dan eens aan een carrière
bij DNB. Kijk voor meer informatie en de mogelijkheden
op werkenbijdnb.nl.
24
AENORM vol. 21 (78) April 2013
Werken aan vertrouwen.
Download