Вы находитесь на странице: 1из 19

This article was downloaded by: [128.122.253.

228] On: 08 October 2014, At: 12:05


Publisher: Institute for Operations Research and the Management Sciences (INFORMS)
INFORMS is located in Maryland, USA

Transportation Science
Publication details, including instructions for authors and subscription information:
http://pubsonline.informs.org

Randomized Local Search for Real-Life Inventory Routing


Thierry Benoist, Frédéric Gardi, Antoine Jeanjean, Bertrand Estellon,

To cite this article:


Thierry Benoist, Frédéric Gardi, Antoine Jeanjean, Bertrand Estellon, (2011) Randomized Local Search for Real-Life Inventory
Routing. Transportation Science 45(3):381-398. http://dx.doi.org/10.1287/trsc.1100.0360

Full terms and conditions of use: http://pubsonline.informs.org/page/terms-and-conditions

This article may be used only for the purposes of research, teaching, and/or private study. Commercial use
or systematic downloading (by robots or other automatic processes) is prohibited without explicit Publisher
approval, unless otherwise noted. For more information, contact permissions@informs.org.

The Publisher does not warrant or guarantee the article’s accuracy, completeness, merchantability, fitness
for a particular purpose, or non-infringement. Descriptions of, or references to, products or publications, or
inclusion of an advertisement in this article, neither constitutes nor implies a guarantee, endorsement, or
support of claims made of that product, publication, or service.

Copyright © 2011, INFORMS

Please scroll down for article—it is on subsequent pages

INFORMS is the largest professional society in the world for professionals in the fields of operations research, management
science, and analytics.
For more information on INFORMS, its publications, membership, or meetings visit http://www.informs.org
Vol. 45, No. 3, August 2011, pp. 381–398
issn 0041-1655 — eissn 1526-5447 — 11 — 4503 — 0381 doi 10.1287/trsc.1100.0360
© 2011 INFORMS

Randomized Local Search for Real-Life


Inventory Routing
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

Thierry Benoist, Frédéric Gardi, Antoine Jeanjean


Bouygues e-lab, 75008 Paris, France
{tbenoist@bouygues.com, fgardi@bouygues.com, ajeanjean@bouygues.com}

Bertrand Estellon
Laboratoire d’Informatique Fondamentale-CNRS UMR 6166, Faculté des Sciences de Luminy-Université Aix-Marseille II,
13288 Marseille, France, bertrand.estellon@lif.univ-mrs.fr

I n this paper, a new practical solution approach based on randomized local search is presented for tackling
a real-life inventory routing problem. Inventory routing refers to the optimization of transportation costs for
the replenishment of customers’ inventories: based on consumption forecasts, the vendor organizes delivery
routes. Our model takes into account pickups, time windows, drivers’ safety regulations, orders, and many
other real-life constraints. This generalization of the vehicle-routing problem was often handled in two stages
in the past: inventory first, routing second. On the contrary, a characteristic of our local search approach is
the absence of decomposition, made possible by a fast volume assignment algorithm. Moreover, thanks to
a large variety of randomized neighborhoods, a simple first-improvement descent is used instead of tuned,
complex metaheuristics. The problem being solved every day with a rolling horizon, the short-term objective
needs to be carefully designed to ensure long-term savings. To achieve this goal, we propose a new surrogate
objective function for the short-term model, based on long-term lower bounds. An extensive computational
study shows that our solution is effective, efficient, and robust, providing long-term savings exceeding 20%
on average, compared to solutions built by expert planners or even a classical urgency-based constructive
algorithm. Confirming the promised gains in operations, the resulting decision support system is progressively
deployed worldwide.
Key words: logistics; real-life inventory routing; decision support system; randomized local search;
high-performance algorithm engineering
History: Received: September 2009; revisions received: March 2010, September 2010; accepted: November 2010.
Published online in Articles in Advance March 18, 2011.

Inventory routing problems (IRP) integrate two clas- frontally tackles this short-term problem (§5), relying
sical logistic problems over a planning horizon: on a large variety of randomized neighborhoods and
inventory management and vehicle routing. The main a fast volume assignment algorithm. An extensive
difference with vehicle routing is that the vendor computational study (§6) demonstrates that our solu-
monitors the customers’ inventories, deciding when tion provides long-term savings exceeding 20% on
and how much each inventory should be replenished average compared to solutions built by expert plan-
by routing vehicles. Based on consumption forecasts ners or even to a classical urgency-based constructive
for each customer, a solution is a set of routes vis- algorithm (§4).
iting customers and delivering a certain amount of
product at each of these stops. In addition to routing
constraints, stockouts must be avoided, which means 1. The Inventory Routing Model
that the quantity of product stored at each customer For the sake of concision and readability, the problem
should stay above a certain safety level. The economic is not completely and formally described, but its main
function to minimize is the costs of the routes. characteristics are outlined. Comparisons with prior
In this paper, a real-life IRP is addressed. Having works will be developed in the next section.
outlined the main features of the IRP model (§1), A product is produced by the vendor’s plants
the contributions of the paper are emphasized with and consumed at customers’ sites. Both plants and
respect to prior works (§2). Based on lower bounds on customers store the product in tanks. Reliable fore-
delivery costs, a new surrogate objective is proposed casts of consumption (respectively, production) at
for modeling the short-term problem, improving customers (respectively, plants) are available over a
significantly the long-term optimization (§3). Then, discretized short-term horizon. The inventory of each
an original local-search approach is presented that customer must be replenished by tank trucks so as
381
Benoist et al.: Real-Life Inventory Routing
382 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

to never fall under its safety level. The transportation the triangular inequality. The sites visited along the
is performed by vehicles formed by coupling three tour must be accessible to the resources composing
kinds of heterogenous resources: drivers, tractors, the vehicle (special skills or certifications are required
trailers. Each resource is assigned to a depot. Thus, to work on certain sites). The date of pickup/delivery
the size of an instance of the problem is essentially must be contained in one of the opening time win-
defined by the number of points (depots, customers, dows of the visited site. Here the duration of an oper-
plants), the number of resources (drivers, tractors, ation does not depend on the delivered or loaded
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

trailers), and the number of time steps for which quantity; this duration is fixed in function of the
are defined consumptions/productions over the hori- site where the operation is performed, the result-
zon. Now, a solution to the problem is given as a ing approximation being covered by the uncertainties
set of shifts. A shift is defined by: the depot (from lying on the traveled times. Two graphical views of a
which it starts and ends), the vehicle (driver, trac- shift are illustrated on Figure 1.
tor, trailer), its starting date, its ending date, and Inventory constraints can be modeled as a flow net-
the chronologically-ordered list of performed opera- work. Two kinds of inventories have to be managed:
tions. Then, an operation is defined by the site where tanks of sites (customers and plants) and trailers. In
the operation takes place, the quantity delivered or any case, the quantity in a storage area must remain
loaded, its starting date (also called arrival date) and between zero and its capacity. For a customer c,
its ending date (also called departure date). Thus, the the tank level l4c1 h5 at each time step h is equal
inventory levels for customers, plants, and trailers can to the tank level at the previous time step h − 1, minus
be computed from the quantities delivered or loaded the forecasted consumption F 4c1 h5 over h, plus all the
during the shifts. deliveries performed over h. The quantities delivered
The constraints on shifts are called routing con- to customers must be positive (loading is forbidden
straints. A shift must start from the depot at which at customers). Hence, the inventory dynamics at any
are located the resources composing the vehicle and time step h for customer c can be formally written as
must end by returning to this one. Some triplets of  X
resources are not admissible (due to driving licences, l4c1 h5 = l4c1 h − 15 − F 4c1 h5 +
 q4o5
o∈O4c1 h5
for example). A resource can be used only during
one of its availability time windows. The working

if l4c1 h5 < 01 then l4c1 h5 = 01

and driving times of drivers are limited; as soon as a
maximum duration is reached, the driver must take with q4o5 the quantity delivered during an opera-
a layover with a minimum duration (legal rules and tion o and O4c1 h5 the set of operations performed
regulations). In addition, the duration of a shift can- at site c whose starting date belongs to time step h.
not exceed a maximal value, depending on the driver. Forbidding stockouts corresponds to force l4c1 h5 to
Checking operations must be performed at the start be greater than the safety level for each customer c
and at the end of any shift, as well as before and after and each time step h. The same formula applies for
any layover. Traveling distance and time are given for plants if the forecasted productions and the loading
each pair of points (depots, plants, and customers). quantities have negative values (delivery is forbidden
Instead of using a single time matrix, several matrices at plants). However, for plants, when the above for-
are defined depending on the average speeds of the mula yields a quantity larger than the tank capacity,
different kinds of tractors. The resulting matrices are the result is limited to the capacity. These overflows
not necessarily symmetric, but are assumed to satisfy are not penalized, because production aspects are

p0
c1
Checking Checking Checking

b0 Traveling c0 p0

Start Delivery Layover Loading

Arrival Arrival Checking


c0
c1 c2 b0

c2 Departure Departure Waiting End


b0

Figure 1 Two Views of the Shift s = 4b0 1 c0 1 p0 1 c1 1 c2 1 b0 5: The Route and the Schedule
Note. Some of the notions described as real-life aspects are illustrated on the figure.
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 383

assumed not to be managed in this model. For trail- 2. Prior Works and Contributions
ers, the inventory dynamics is much simpler because Because of the seminal work of Bell et al. (1983) on
operations performed by a trailer cannot overlap. a real-life inventory routing problem, a vast literature
Hence, the quantity in a trailer is not defined for each has emerged on the subject. In particular, a long series
time step, but after each of its operations. Starting at of papers was published by Campbell et al. (1998),
an initial level, this quantity is merely increased by Campbell, Clarke, and Savelsbergh (2002), Campbell
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

loadings and decreased by deliveries. and Savelsbergh (2004a), and Savelsbergh and Song
This “forecasting-based resupply” model must be (2007a, b; 2008), motivated by a real-life problematic
combined in practice with the classical “order-based encountered in the industry. However, in many com-
resupply”: the possibility for customers of issuing an panies, inventory routing is still done by hand or
order (to deal with an unexpected increase of their supported by basic softwares, with rules like: serve
consumption, for example), specifying the desired “emergency” customers (that is, customers whose
quantity and the time window in which the delivery inventory is near to run out) using as many “full
must be done. Some customers may use this possi- deliveries” as possible (that is, deliveries with quan-
bility occasionally, whereas others choose to work in tity equal to the trailer capacity or, if not possible,
to the customer tank capacity). For more references,
pure order-based resupply mode (without forecast-
the interested reader is referred to the recent papers
ing). However, for the sake of conciseness, order man-
by Savelsbergh and Song (2007a, 2008), which give
agement will not be deeply discussed in this paper.
a comprehensive survey of the research done on the
The objective of the vendor over the long term (more
IRP over the past 25 years.
than 90 days) is to minimize the total cost of shifts. Below are emphasized the three contributions of the
The cost of a shift depends on the working duration paper with respect to prior works:
(driver costs) and on the traveled distance (tractor • a very realistic model in terms of constraints,
and trailer costs), but also on the number of deliver- costs, and scale;
ies, loadings, and layovers appearing during the shift. • a new surrogate objective function for dealing
This cost is usually divided by the total delivered with the rolling horizon process;
quantity to increase the readability of this economic • a pure and direct local-search heuristic, based on
indicator. The cost per ton ratio (or miles per ton a fast volume assignment algorithm.
when costs are approximated by distances) is widely
used in the industry and in the academic literature. 2.1. A Real-Life Model
This ratio LR = SC/DQ is called logistic ratio through- The problem addressed here is very close to the one
out the paper, with SC the total shift cost and DQ the treated by operational planners. To our acquaintance,
total delivered quantity over the considered horizon such broad inventory routing problems have been
(with the exception that if DQ = 0, then LR = 0). On rarely addressed in the operations research litera-
the other hand, reliable forecasts (for both plants and ture. Indeed, many real-life features described here
customers) are available over a 15-day horizon. Thus, have not been treated in past studies, allowing a
shifts are operationally planned day after day with a more global and accurate optimization of the replen-
short-term rolling horizon of 15 days. It means that each ishment logistics. Some of these features have been
day, a distribution plan is deterministically built for reported as important practical issues in the survey
by Campbell et al. (1998). First, our inventory routing
the next 15 days, but only shifts starting at the current
model integrates both kinds of resupply: forecasting
day are fixed.
based and order based. Besides, several subproblems
Large-scale instances have to be tackled within short
related to the scheduling of shifts and the alloca-
computing times. A geographic area can contain up to
tion of resources to shifts become computationally
1,500 customers, 50 sources, 50 depots, 100 drivers, hard in the present case. Another interesting fea-
100 tractors, 100 trailers. All temporal data have to be ture, enabling us to go further in logistic optimization
managed in continuous time, except for consumptions while making the problem harder, is what is called
of customers (respectively, productions of plants), “continuous moves” in Savelsbergh and Song (2007a,
which are discretely represented. Concretely, all dates 2008) or “satellite facilities” in Bard et al. (1998). The
and durations are expressed in minutes (on the whole, vehicles can arbitrarily load or deliver some prod-
the short-term planning horizon counts 21,600 min- uct along their routes, and loadings can be done at
utes); the inventory dynamics for plants and cus- multiple plants. Moreover, when a driver reaches its
tomers are computed with time steps of one hour working or driving time limit, he can continue his
(because forecasts are computed with this accuracy). route after a layover. This allows us to design shifts
The execution time for computing a short-term plan- spanning several days and covering huge geographic
ning is limited to 5 minutes on standard computers. areas. Then, the expected forecasts of consumption
Benoist et al.: Real-Life Inventory Routing
384 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

for customers (respectively, production for plants) are for the amount delivered, based on an estimation of
given for each hour on a 15-day horizon, allowing the long-term savings incurred by anticipated deliv-
nonlinear consumptions (respectively, productions). eries. Our contribution on this topic is to introduce
Here forecasts are assumed to be reliable, induc- a new surrogate objective for short-term optimiza-
ing a deterministic optimization problem (contingen- tion (here done over a 15-day horizon) ensuring long-
cies on the customer consumption are considered to term improvements. This surrogate objective, which
be covered by the defined safety level). Customers shall be detailed later in the paper, is based on lower
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

(respectively, plants) may have different consump- bounds for the logistic ratio (this extends observations
tion (respectively, production) profiles, asking several made by Savelsbergh and Song 2007b on performance
deliveries (respectively, pickups) per day or only one measurement). Computational experiments with real-
per month. Finally, a popular and sensible economic life data show that significant gains are obtained in
function used by Campbell et al. (1998), Campbell, the long run by optimizing this short-term surrogate
Clarke, and Savelsbergh (2002), and Savelsbergh and objective, compared to a direct short-term minimiza-
Song (2007a, 2008) is to maximize the volume per mile tion of the logistic ratio.
over the long term, obtained by dividing the total
quantity delivered to all customers by the total dis- 2.3. A Direct Local-Search Approach
tance traveled. Instead of the sole traveled distance, To our knowledge, the sole papers describing practical
we take into account the actual cost of the routes solutions for similar problems are the ones described
thanks to a precise modeling of the cost of each shift by Campbell, Clarke, and Savelsbergh (2002),
in function of its traveled distance, its traveled time, Campbell and Savelsbergh (2004a), Savelsbergh
its number of loadings, its number of deliveries, and and Song (2007a, 2008). Before presenting our solu-
its number of rests. The resulting generalized objec- tion approach, we outline the ones implemented
tive is the minimization of the cost per unit of deliv- by Campbell, Clarke, and Savelsbergh (2002) and
ered product, called the logistic ratio. Campbell and Savelsbergh (2004a) for solving the
Note that one feature generally addressed in the single-plant IRP and by Savelsbergh and Song (2007a,
IRP literature (e.g., Campbell et al. 1998; Campbell, 2008) for solving the multiple-plant IRP. The solution
Clarke, and Savelsbergh 2002; Savelsbergh and Song approaches described by Campbell, Clarke, and
2007a, 2008) is not included in our IRP model: load- Savelsbergh (2002) and Campbell and Savelsbergh
ing or delivery duration depending on the quan- (2004a) are the same in essence; because integrating
tity. Indeed, fixed-duration loadings and deliveries additional realistic constraints, the single-plant IRP
depending on sites were judged sufficient to approx- addressed by Campbell and Savelsbergh (2004a) is
imate reality (full loadings/deliveries are performed more complex than the one by Campbell, Clarke, and
in almost half an hour), because several other approx- Savelsbergh (2002). The method developed by the
imations making this detail negligible are done about authors is deterministic and proceeds in two phases.
temporal aspects due to real-life uncertainties (in par- In the first phase, it is decided which customers are
ticular about traveled times). Nevertheless, our solu- visited in the next few days, and a target amount
tion could be adapted to manage this feature without of product to be delivered to these customers is set.
significantly affecting its performance. In the second phase, vehicle routes are determined,
taking into account vehicle capacities, customer
2.2. A New Surrogate Objective Function delivery windows, drivers restrictions, etc. The first
Although the IRP goal is to optimize distribution phase is solved heuristically by integer programming
costs over the long term, forecasts are usually avail- techniques, whereas the second phase is solved with
able for a short horizon and continuously updated. specific insertion heuristics (Campbell and Savels-
Therefore, the problem is usually solved in a rolling bergh 2004c), as done for vehicle-routing problems
horizon framework. Here a short-term planning is with time windows by Solomon (1987).
built for 15 days, and only shifts starting the first In Savelsbergh and Song (2007a, 2008), the authors
day are fixed. The next day, a new planning is built develop two approaches for solving the multiple-
including one more day in the horizon. As mentioned plant IRP. Many realistic features taken into account
by Campbell et al. (1998) and Campbell, Clarke, and in Campbell and Savelsbergh (2004a) are relaxed in
Savelsbergh (2002), the first difficulty arising in mod- the model addressed by the authors. In particular,
eling IRP is to define appropriate short-term objec- simple resources are considered (that is, a vehicle is
tives leading to good long-term solutions. In fact, reduced to a trailer), allowing an integer multicom-
a direct minimization of costs would lead to defer- modity flow formulation of the problem. The first
ring as many deliveries as possible to later planning approach (Savelsbergh and Song 2007a) is based on an
periods. This rolling horizon issue has been studied in insertion heuristic that delivers to customers ordered
Dror and Ball (1987), where incentives are introduced by urgency (that is, the time remaining before the first
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 385

stockout) while minimizing stockout and transporta- The experiments reported in the related works (Bell
tion costs. This approach is declined into three greedy et al. 1983; Campbell, Clarke, and Savelsbergh 2002;
algorithms: a basic one where insertions are only per- Campbell and Savelsbergh 2004a; Savelsbergh and
formed at the end of shifts, an enhanced one where Song 2007a, 2008) show savings up to 10% over the
insertions can be performed at any point in the shift long run (with computation times of several minutes),
after the last pickup, and a randomized enhanced compared to solutions obtained by a greedy algorithm
one where the latter is embedded into a greedy ran- based on the rules of thumb commonly used in prac-
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

domized adaptive search procedure (Feo and Resende tice (like the one cited in introduction of this sec-
1995). Then, a postprocessing is performed using lin- tion). The extensive computational study presented
ear programming for maximizing delivered quanti- at the end of the paper demonstrates that our solu-
ties on the resulting shifts (to maximize the volume tion is effective, efficient, and robust, providing long-
per mile). The second approach (Savelsbergh and term savings exceeding 20% on average, compared
Song 2008) consists of heuristically solving the integer to solutions computed by expert planners or even to
multicommodity flow program (by using customized a classical urgency-based constructive heuristic. An
integer programming techniques). Because such com- abstract of this work was previously published by
putational requirements are too large for a practical Benoist et al. (2009).
use, the authors use the integer program for exploring
large neighborhoods in a local-search scheme. It con-
sists in reoptimizing the schedules of two vehicles in
3. The Short-Term Surrogate
the planning by solving the integer program with the Objective
other schedules fixed. In this way, all pairs of vehicles One of the main difficulties encountered in IRP
are reoptimized iteratively. is to take short-term decisions ensuring long-term
For the resolution of the short-term planning prob- improvements. This is the case with most problems
lem with the surrogate objective, a local-search heuris- handled with a rolling horizon approach. In other
tic is presented in this paper, whose design and words, a surrogate short-term objective needs to be
engineering follow the “three-layers” methodology defined to optimize the economic function over the
introduced by Estellon, Gardi, and Nouioua (2009) long term. Obviously, focusing on the minimization
and successfully implemented for solving other large- of total costs would lead to delivering only customers
scale combinatorial problems arising in business and for which a shortage is forecasted over the short-term
industry (Estellon, Gardi, and Nouioua 2006, 2008, horizon. Optimizing the logistic ratio allows better
2009). The originality of our local-search approach anticipations but does not necessarily lead to long-
is to be pure (no metaheuristic, no hybridization) term optimal solutions. For example, assume that a
and direct (no decomposition of the problem: the faraway customer has no stockout over the next days.
15-day planning is directly optimized). The absence of Scheduling a delivery for this customer would prob-
decomposition is a strength of our approach. Indeed, ably increase the logistic ratio, and will be discarded.
most previous works on the subject proceed in two However, such short-term decisions may be highly
stages: inventory management first and vehicle rout- suboptimal in the long run, especially if some near-
ing second. On the contrary, our local-search heuristic optimal deliveries are possible over these next days
handles the whole problem and performs transforma- due to the availability of resources. This lack of antic-
tions on the solution impacting both deliveries (dates ipation motivates the proposal of a new surrogate
and volumes) and routes (paths, resources, etc.). The objective function that can be summarized into the
performance of our approach relies on: (1) the use of following rule: “never put off until tomorrow what
a large variety of randomized small neighborhoods, you can do optimally today.” This short-term goal
allowing us to reach high-quality local optima with- shall be to minimize the global extra cost per unit of
out the help of metaheuristics; (2) the engineering of delivered product, compared to the optimal logistic
fast evaluation routines, in particular an incremen- ratio LR∗ . Denote by LR∗ 4c5 the optimal logistic ratio
tal approximation algorithm for volume assignment for delivering the customer c, and then by
that is a thousand times faster than exact flow algo-
SC∗ 4s5 = LR∗ 4c5 × q4c5
X
rithms. Note that a local-search approach is outlined customer c
by Lau, Liu, and Ono (2002) for solving an IRP with delivered over s

time windows, but their solution remains based on a the optimal cost of the shift s according to the quanti-
decomposition of the problem (distribution and then ties delivered at each customer over s. Then, the sur-
routing). For more details on local-search techniques rogate logistic ratio LR0 is defined as
and their applications in combinatorial optimization,
the reader is referred to the book edited by Aarts and 4SC4s5 − SC∗ 4s55
P
Lenstra (1997). LR = s
0
0
DQ
Benoist et al.: Real-Life Inventory Routing
386 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

Base Delivery Delivery Loading Delivery Delivery Delivery Loading Base

Trip t0 Trip t1 Trip t2

Figure 2 The Trips of a Shift


Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

It then requires tackling another problem: the compu- Begin;


tation of lower bounds of LR∗ 4c5 for each customer c. S ← ™;
These lower bounds are computed as follows. A trip initialize the set D of demands with stockouts
is defined as a subpart of a tour (see Figure 2): it is for all customers;
a sequence of visits starting at a plant (or a depot), while D is not empty do
delivering one or more customers, and finishing at a select the demand d ∈ D with earliest
plant (or a depot). In other words, a trip in a shift deadline;
corresponds to a time interval whose left endpoint create a cheapest delivery o to satisfy d;
(respectively, right endpoint) is the starting date from if o exists then
the plant or the depot (respectively, the starting date insert o into a shift in S (possibly creating
from the plant or the depot visited in the next trip). a new shift);
Then, the cost of a shift can be decomposed accord- compute the next stockout after the
ing to its trips, in such a way that the cost of a trip delivery o and update the deadline
corresponds to the costs (distance, time, deliveries, of d accordingly;
loadings, layovers) accumulated over the correspond- else remove d from D;
ing time interval. Besides, the cost of each trip can return S;
be dispatched to visited customers proportionally to End;
the delivered quantities. For each customer c, a lower
At each step of the algorithm, the newly created
bound LRmin 4c5 is obtained by dividing the cost of the
delivery can be either appended at the end of an exist-
cheapest trip visiting c by the maximum capacity of a
ing shift or included in a new shift. Our goal is to
trailer able to perform this trip. Because the distance
perform the insertion minimizing the increase of the
and time matrices satisfy the triangular inequality, the
surrogate logistic ratio. In the first case, the extension
cheapest trip consists of visiting solely the customer c.
of a shift can be made impossible due to accessibil-
Consequently, LRmin 4c5 is computed in O44B + P 52 5
ity or resources constraints (for example, the result-
time for each customer c, with B the number of depots
ing duration of this shift may extend the maximum
and P the number of plants.
allowed amplitude). For each existing shift, this fea-
These lower bounds LRmin 4c5 are used in the defini-
sibility is tested in constant time. However, insert-
tion of the surrogate objective function LR0 . A global
ing a loading operation can be required for refilling
lower bound of the logistic ratio LR∗ can be derived
the trailer before performing the delivery, in which
from these lower bounds, but this topic is outside of
case all plants are tested. Therefore, this stage runs in
the scope of the present paper.
O4—S—P 5 time, with —S— the number of shifts returned
by the greedy algorithm and P the number of plants.
4. Urgency-Based Constructive In the second case, all depots and all possible triplets
of resources are considered. Here again, all plants are
Heuristic
considered if a loading is needed. The worst-case time
In order to quickly build an initial solution, a con-
complexity of this enumeration is in O4BRP 5, with
structive heuristic was designed, based on a classi-
B the number of depots and R the number of triplets
cal urgency approach. The goal of this algorithm is
of resources (drivers, tractors, trailers). However, in
to avoid stockouts. Basically, it repeatedly picks the
effect, this running time can be reduced by cutting the
next stockout and tries to create a new delivery for
search tree strongly, in particular once a feasible shift
this customer. The deadline of a demand (stockout) is
has been found.
defined as the latest start of a shift that would reach
The choice of the delivery date impacts the deliv-
the customer on time to perform the desired delivery,
ered volume because the available space in the cus-
taking travel time and opening hours into account.
tomer tank increases with time. On the other hand,
Algorithm (Greedy) packing the shifts to the left tends to optimize
Input: an instance I of IRP; resources utilization. Our trade-off consists of favor-
Output: a solution S to IRP (namely, a set ing large deliveries as a first criterion, breaking ties
of shifts); by preferring early dates. In other words, we prefer to
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 387

deliver later (but before the stockout date) if it allows Below is outlined the skeleton of the whole heuris-
increasing the delivered quantity, but between two tic, which is a simple first-improvement randomized
dates allowing us to empty the trailer, we choose the descent. We insist on the fact that no metaheuris-
earlier one. Each time a delivery is created, the inven- tic is used, thus avoiding the need for many tuning
tory levels for this customer are updated and its next parameters.
stockout date is computed.
Algorithm (Randomized-descent)
Never backtracking on decisions taken on dates
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

Input: an instance I of IRP;


and quantities, this urgency-based insertion heuristic
Output: a solution S to IRP;
runs fast in practice. Even if the local-search heuris-
Begin;
tic described in the next section is able to start from
S ← Greedy4I5;
an empty set of shifts, the use of the initial solu-
Stockout optimization:
tion obtained by this constructive algorithm yields a
while SO > 0 and time limit is not reached do
significant speedup in the convergence toward high-
choose randomly a transformation T in
quality solutions (in particular, when finding a solu-
the pool TSO ;
tion without stockout is hard).
evaluate the result (SOnew ) of the application
of T to S;
5. High-Performance Local Search if SOnew ≤ SO then commit T ; else rollback T ;
In this section, the main ingredients of the local- Logistic ratio optimization:
search heuristic are detailed. The exposition follows while time limit is not reached do
the “three-layers” methodology by Estellon, Gardi, choose randomly a transformation T
and Nouioua (2009) for designing local-search algo- in the pool TLR ;
rithms: heuristic and search strategy, transformations, evaluate the result (SOnew , LR0new ) of the
and incremental evaluation machinery. application of T to S;
if SOnew = 0 and LR0new ≤ LR0 then commit T ;
5.1. Heuristic and Search Strategy else rollback T ;
The heuristic is divided into two optimization phases: return S;
first we reach a feasible solution, then we optimize the End;
cost of this solution. Indeed, when finding a feasible
solution is not trivial, a common modeling practice Thus, the heuristic is divided into two optimiza-
is to relax some constraints by introducing appropri- tion phases: the first one consists of minimizing the
ate penalties. Such relaxations are especially needed number of stockout time steps (SO) regardless of
in the context of heuristic solution approaches. In the costs, and the second one consists of optimizing the
present case, we relax the no-stockout constraints as objective related to logistic ratio (LR0 ) while preserv-
detailed below. In the first phase, the only objective is ing SO = 0. Accepting solutions with equal cost at
the maximization of our feasibility measure, regard- each optimization phase is crucial for ensuring the
less of costs. As soon as a feasible solution is found, diversification of the search and, thus, the conver-
we switch to the second phase (optimization of the gence toward high-quality solutions. For each opti-
economic function) during which only feasible solu- mization phase, the transformation to apply is chosen
tions are visited. randomly with equal probability over all transfor-
During the feasibility stage, the no-stockout con- mations of the pool (improvements being marginal,
straints are removed and a penalty SO is introduced, further tunings with nonuniform distribution have
counting for each customer the number of time steps been abandoned to facilitate maintenance and evolu-
during which the above inequality is violated (quan- tions). Note that in our implementation, the sign of
tity in tank is smaller than the safety level). In other LR0new − LR0 is obtained by evaluating the expression
words, the feasibility stage consists of minimizing the SC − SC∗ SCnew − SC∗new
number of violated no-stockout constraints. This stage − 1
DQ DQnew
is necessary for finding feasible solutions, because the
constructive heuristic described in the previous sec- or equivalently DQnew 4SC − SC∗ 5 − DQ4SCnew − SC∗new 5,
tion may not fix all stockouts. It also ensures that the which avoids imprecisions due to floating-point arith-
software always returns a (possibly infeasible) solu- metic when the expression tends toward zero.
tion. Indeed, presenting an infeasible solution to the In presence of orders, the above heuristic needs
user allows him to analyze the causes for this infea- to be enriched with a preliminary phase devoted to
sibility. For instance, if stockouts are avoided for all orders (as an explicit request of a customer, order
customers but one, he can focus on this customer satisfaction has the highest priority). Hence, our
and detect that no available trailer is allowed to visit objective becomes, in lexicographic order: order satis-
this site. faction, stockout satisfaction, and finally, logistic ratio
Benoist et al.: Real-Life Inventory Routing
388 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

minimization. Our measure of order satisfaction is (because random choices are not the most appropri-
not directly the count of satisfied orders. Introducing ate in all situations) enables us to intensify the search
for each order an intermediate state called “unsatis- and then speed up the convergence of the heuristic.
fied” between the states “missed” and “satisfied” was The transformations on operations are grouped
found to facilitate the convergence of the local search. into the following types: insertion, deletion, ejection,
An order is unsatisfied if an operation exists satisfy- move, and swap (see Figure 3). Two kinds of inser-
ing the time window of the order but not its quantity. tion are defined: the first kind consists of inserting an
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

In this way, an order is satisfied (respectively, missed) operation (pickup or delivery) into an existing shift;
when both the dates and the quantity are respected the second consists of inserting a pickup followed by
by at least one operation (respectively, by no opera- a delivery into a shift (the inserted plant is chosen
tion). A transformation is accepted when it increases to be one of the nearest from the inserted customer).
the number of satisfied orders or when it leaves this The deletion consists of deleting a block of operations
number unchanged without increasing the number of (that is, a set of consecutive operations) in a shift. An
unsatisfied orders. Together with specialized transfor- ejection consists of replacing an existing operation by
mations focused on orders, this phase allows us to a new one on a different site. The move transforma-
handle problems where “forecasting-based resupply” tion consists of extracting a block of operations from a
and “order-based resupply” are mixed. For the sake shift and reinserting it at another position. Two kinds
of conciseness, this variant of the problem will not be of moves are defined: moving operations from a shift
evoked in the remainder of this paper nor in experi- to another one, or moving operations inside a shift.
mental results. A swap exchanges two different blocks of operations.
As for moves, several kinds of swaps are defined: the
5.2. The Transformations swap of blocks between shifts, the swap of blocks
The transformations are classified into two cate- inside a shift, or the “mirror,” which consists of a
gories: the first ones work on operations, the second chronological reversal of a block of operations in a
ones work on shifts. Having introduced the differ- shift. The mirror transformation corresponds to the
ent transformations, their main instantiation shall well-known 2-opt improvement used for solving trav-
be described. An instantiation corresponds to the eling salesman problems (see Aarts and Lenstra 1997
way the objects modified by the transformation are for more details).
selected. Whereas defining orthogonal transforma- The transformations on shifts are grouped into the
tions (that is, transformations inducing disjoint neigh- following types: insertion, deletion, rolling, move, and
borhoods) enables us to diversify the search and swap. As for operations, two kinds of insertion are
then reach better-quality solutions, specializing trans- defined: insertion of a shift containing one operation
formations according to specificities of the problem (pickup or delivery), insertion of a shift with a pickup

Insertion Deletion

Move
Ejection inside shift

Move
between shifts Block Swap
inside shift

Swap
between shifts Mirror

Figure 3 The Transformations on Operations


Note. Original tours are given by straight arcs, dashed arcs are removed by the transformation, curved and vertical arcs are added by the transformation.
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 389

followed by a delivery. Deletion consists of removing time but allows repairing stockouts possibly intro-
an existing shift. The rolling transformation translates duced by the transformation, increasing the accep-
a shift over time. The move consists of extracting a tance rate of the transformations (more details are
shift from the planning of some of its resources and given in the next section about volume assignment).
reinserting it into the planning of other ones (such The reader shall note that no very large-scale neigh-
a transformation allows us to change some of the borhood is employed. Roughly speaking, the neigh-
resources of the shift and its starting date). The swap borhood explored here has a size O4n2 5 with n the
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

is defined similarly: the resources of the shifts are number of operations and shifts in the current solu-
exchanged, and their starting dates can be translated tion, but the constant hidden by the O notation is
over time. The fusion of two consecutive shifts into large. The number of transformations in TSO and TLR
one new shift as well as the separation of one shift into used, respectively, in optimization phases SO and LR
two new ones are also available. are of 49 and 71. As evoked previously, the random
Now these transformations are declined from dif- selection of transformations is simply performed with
ferent ways. The first option concerns the maximal a uniform distribution.
size of blocks for transformations where blocks of
operations are involved. In this way, more generic 5.3. Incremental Evaluation Machinery
transformations are defined, allowing a larger diver- Finally, the evaluation kernel of the local search is out-
sification if needed: the 4k1 l5-ejection, which consists lined. Playing a central role in the efficiency of the
of replacing k existing operations by l new ones on local-search heuristic, only the evaluation procedure
different sites; the k-move, which consists of moving is detailed here. For each transformation, this proce-
a block of k operations; the 4k1 l5-swap, which consists dure follows the same process:
of exchanging a block of k operations with a block of l 1. Transforming the current solution. The transfor-
operations; or the k-mirror, which consists of revers- mation modifies shifts and operations. Resource/re-
ing a block of k operations. source and resource/site compatibilities are checked.
Then, the second option allows us to specialize 2. Scheduling shifts. Modified shifts are rescheduled
some transformations. These derivations involve the to compute the new dates. All routing constraints
choice of the sites affected by the transformations. (time windows, driver regulations, etc.) are taken into
For example, inserting a delivery serving a customer account.
without expected stockout in the considered horizon 3. Assigning volumes. Delivered or loaded quantities
is not interesting when minimizing the number of are recomputed for a limited number of sites, includ-
stockouts. In the same way, exchanging two opera- ing the modified ones. Inventories are updated, and
tions that are performed on sites that are very distant the new number of stockouts SO is computed.
is unlikely to succeed when optimizing the logistic Roughly speaking, the objective of the scheduling
ratio. Several derivations have been designed, which routine is to build shifts with smallest costs, whereas
differ slightly from one transformation to another. the volume assignment tends to maximize the quan-
Here are given the two main derivations, essentially tity delivered to customers. Even approximately, it
used when inserting/ejecting operations or insert- leads us to minimize the surrogate logistic ratio.
ing/rolling shifts: “stockout,” which places the deliv- 5.3.1. Scheduling Shifts. The transformations
ery so as to solve a stockout; “nearest,” where the modify some shifts in the current solution (at most
customers to be inserted or exchanged are chosen two actually). When a shift is impacted by a trans-
among the nearest ones. formation (for example, an operation is inserted
The third option corresponds to the direction into the shift), the starting and ending dates of its
used to recompute all the dates of the modified operations must be computed anew. Consider the
shifts: backward over time by considering the end- shift s = 4o1 1 0 0 0 1 on 5 and assume that an operation
ing date of the shift as fixed, or forward over ō is inserted into s between operations i and j.
time by considering its starting date as fixed. This The resulting shift s̄ is now composed of opera-
option is available for all transformations except the tions 4o1 1 0 0 0 1 oi 1 ō1 oj 1 0 0 0 1 on 5. Then we have two pos-
deletion of shifts. For the transformations modify- sibilities: rescheduling dates forward or rescheduling
ing two shifts at once (for example, move operations dates backward. The forward (respectively, backward)
between shifts), this results in four possible instanti- scheduling consists of fixing the ending date of oi
ations: backward/backward, backward/forward, for- (respectively, the starting date of oj ) to recompute
ward/backward, forward/forward. Finally, the fourth the starting (respectively, ending) dates of 4ō1 0 0 0 1 on 5
option allows us to augment the number of opera- (respectively, 4o1 1 0 0 0 1 ō5). Here, computing dates can
tions whose quantities are modified during the vol- be done without assigning volumes to operations,
ume assignment. Recomputing operation quantities because the durations of operations do not depend
during the volume assignment increases its running on delivered/loaded quantities. Because computing
Benoist et al.: Real-Life Inventory Routing
390 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

dates backward or forward is made completely sym- Opening hours of cj


metric by representing shifts with doubly linked lists, Checking Checking
the discussion shall be reduced to the forward case. ci cj
More formally, we have to solve the following deci- Delivery Layover Waiting Delivery
sion problem, called Shift-Scheduling: given a starting Checking Checking
date for the shift s = 4o1 1 0 0 0 1 on 5, determine the dates
ci cj
of each operation such that the shift is admissible.
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

Delivery Layover Delivery


Two equivalent optimization problems are, having
fixed its starting date, build a shift with the earli- Figure 4 An Example with Waiting Time Converted into Rest Time
est ending date or with the minimum cost. A similar
problem, called Truckload-Trip-Scheduling, has been
recently studied by Archetti and Savelsbergh (2007). the Shift-Scheduling problem is to minimize unpro-
This latter problem is more restricted in the sense that ductive time over the shift. Thereby, the main idea
only one opening time window is considered for each behind the algorithm is to take rests as late as possi-
location to visit and that the rest time must be equal ble during the trip and to avoid waiting time due to
to (not greater than) the legal duration. Archetti and opening time windows of locations as much as possi-
Savelsbergh (2007) sketch a O4n2 5-time algorithm for ble. Here we try to remove waiting time by converting
solving the truckload trip scheduling problem, with it into rest time (see Figure 4), but only on the cur-
n the number of locations to visit. For the sake of rent arc, which is suboptimal. Indeed, the algorithm
efficiency, a linear time and space algorithm has been could be reinforced by trying to convert waiting time
designed for heuristically solving the Shift-Scheduling into rest time on previous arcs (as done by Archetti
problem. and Savelsbergh 2007). However, such a modifica-
tion would lead to a quadratic-time algorithm that is
Algorithm (Schedule-Shift-Greedy) not desired here, while not guaranteeing optimality
Input: an instance of Shift-Scheduling; because of multiple opening time windows. On the
Output: an admissible shift if any, null otherwise; other hand, we have observed that waiting time is
Begin; rarely generated in practice because many trips are
define an empty shift; completed in a day or even half a day, ensuring opti-
for each location to visit do mality of the algorithm Schedule-Shift-Greedy in most
drive to next location (by taking rests as late cases. Note that to our knowledge, the complexity of
as possible if needed); the Shift-Scheduling problem remains unknown.
if waiting time is needed (due to opening
5.3.2. Assigning Volumes. Having rescheduled
time windows) then
modified shifts, we have to reassign quantities to
if rest time has been taken on current arc
impacted operations. Having fixed the dates of all
then
operations, the problem consists of assigning vol-
lengthen one of the rests to absorb
umes such that inventory constraints are respected,
waiting time;
while maximizing the total delivered quantity over
else if a rest is needed (due to waiting time)
all shifts. A similar problem, called Delivery-Volume-
or waiting time is larger than rest time
Optimization, has been addressed by Campbell and
then take a rest (absorbing additional
Savelsbergh (2004b). In this problem, the authors con-
waiting time if any);
sider only deliveries on routes and not loadings, but
else
this one is complicated by the fact that the duration
wait for the opening of location;
of an operation depends on the quantity delivered.
perform operation at next location and add
From the theoretical point of view, the present prob-
it to the shift;
lem, called Volume-Assigning, is not so hard once
if maximal amplitude of the shift is exceeded
it is observed that it can be formulated as a maxi-
then return null (infeasibility);
mum flow problem (in a directed acyclic network).
return the shift (feasibility);
An illustration of such a flow is given in Figure 5.
End;
Then, this one can be solved in O4n3 5 time by using
This algorithm is greedy in the sense that oper- a classical maximum flow algorithm (Cormen et al.
ations are chronologically set without backtracking. 2004, pp. 625–675), with n the number of operations.
Each loop is performed in constant time and space As mentioned previously, such a time complexity
(if rests are not stored explicitly) and the whole algo- is not desirable here, even if guaranteeing an opti-
rithm runs in O4n5 time and space. The correctness of mal volume assignment. Practically, naive implemen-
the algorithm is ensured by construction. The key of tations having a time complexity depending on the
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 391

P v impacted operations (that is, operations whose start-


p0 L l ing dates are modified by the transformation); then,
l it suffices to tag as impacted some additional opera-
c0 tions to expand the reassignment. This notably com-
c1 L l plicates the practical implementation of the greedy
algorithm. Indeed, changing the quantity delivered at
C
an operation is delicate because increasing (respec-
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

c2
L tively, decreasing) the quantity may imply overflows
t0 t1 (respectively, stockouts) at future operations. Then,
determining the (maximum) quantity to deliver/load
H
at each operation is not straightforward.
Figure 5 An Example of Flow Network for Assigning Volumes For each site p, denote by n̄p the number of oper-
Notes. Operations are represented by nodes, input flows L correspond to ini- ations between the first impacted operation (that is,
tial levels for each inventory (trailers ti , customers ci , plants pi ), input flow C whose quantity can be modified by the transforma-
(respectively, P ) corresponds to consumption of customer c1 (respectively, tion) in the chronological ordering and the last one
production of plant p0 ) over the time steps between the current operation
and the previous one, flows l correspond to inventory levels between two
over the horizon. If no operation is impacted at site p,
P
operations, flow v allows an overflow at the plant. Flows on arcs represent- then n̄p = 0. Hence, we define n̄ = p n̄p . When the
ing inventory levels are upper bounded by the capacity of the inventory; for set of impacted operations consists only of operations
customers, flows are also lower bounded by safety levels. Note that if some whose dates are modified by the transformation, one
consecutive operations appear over the same time step (like the ones dot- can observe in practice that n̄  n, because each trans-
ted around), input flows corresponding to consumption or production are
cumulated at the last operation of this time step.
formation modifies at most two shifts (the number of
sites visited by one shift is generally small). Conse-
quently, it is important to provide algorithms whose
number H of time steps (360 in practice) are pro- running time is linear in O4n̄5, and not only in O4n5.
hibited too; indeed, when the granularity becomes Below is outlined an O4n̄ log n̄5-time algorithm for
smaller than one day, the number of time steps largely assigning volumes. Before that, however, more expla-
exceeds the number of operations at a site (two per nations are given on how the maximum deliverable
day in the worst case). quantity is computed (the maximum loadable quan-
Thus, a O4n log n5-time greedy algorithm has tity can be obtained in a symmetric way).
been designed to approximately solve the Volume- Denote by l4c1 i5 (respectively, l4t1 i5) the level of
Assigning problem. The main idea behind the algo- customer c (respectively, trailer t) before starting the
rithm is simple: having ordered operations chronolog- operation i and by qmax4c1 i5 the maximum quan-
ically (that is, according to increasing starting dates), tity that can be delivered to customer c at opera-
quantities are assigned to operations in this order fol- tion i without inducing overflows until the end of
lowing a greedy rule. Here we use the basic rule, con- the horizon. In this way, the deliverable quantity at
sisting of maximizing the quantity delivered/loaded operation i, denoted by q4i5, is upper bounded by
at each operation, which is a good policy for mini- min8l4t1 i51 qmax4c1 i59. Then, this bound is reinforced
mizing the surrogate logistic ratio (this joins the ideas in such a way that the quantity remaining in the
developed by Campbell and Savelsbergh 2004b). Note trailer after a delivery is sufficient to avoid stockouts
that the chronological ordering is crucial for ensuring at customers visited by the shift until the next load-
the respect of constraints related to inventory dynam- ing. Denote by qmin4c1 i5 the minimum quantity to
ics (flow conservation, capacity constraints). In graph- deliver at operation i to avoid stockout until the
theoretical terms, the algorithm consists of pushing end of the horizon. Now, the minimum quantity
flow in the induced directed acyclic network follow- qmin4t1 i5, which must remain in trailer t after opera-
ing a topological order of the nodes (ensuring that no tion i to avoid stockout later is obtained by summing
node is visited twice). qmin4c1 i5 for all operations between the current one
Because the number of operations may be large (as and the next loading. Then we have
worst case in practice, one can imagine that 1,000 cus-
tomers must be delivered to one time per day, lead- q4i5 ≤ min8l4t1 i5 − qmin4t1 i51 qmax4c1 i590
ing to n ≥ 101000), a trade-off must be found between
the time complexity (even linear) and the quality of Given the chronologically ordered list of operations
the volume assignment. To introduce flexibility on for each trailer, customer, and plant, all the data struc-
this point, the greedy algorithm has been designed tures mentioned above can be computed in O4n̄5 time.
for computing partial reassignments, from the min- Updating l4c1 i5 (respectively, l4t1 i5) for any opera-
imal one to the complete one. The minimal reas- tion i is done by sweeping forward the operations
signment consists of changing only the volumes on delivering customer c (respectively, performed by the
Benoist et al.: Real-Life Inventory Routing
392 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

trailer t). Then, updating qmin4c1 i5 and qmax4c1 i5 new (temporary) values are: l4105 = 2, qmin4105 = 4,
for any operation i is done by sweeping backward and qmax4105 = 6. It means that a minimal quantity
the operations performed at customer c (note that of 4 has to be delivered to avoid stockouts over the
the consumption between two operations is obtained horizon (here time step 17 is critical), and a maximal
in constant time by storing cumulated consumptions quantity of 6 can be delivered without implying over-
over the horizon). Finally, computing qmin4t1 i5 for flows (here time step 18 is critical). We insist on the
any operation i is done by sweeping backward the fact that the other columns will only be updated if the
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

operations of shifts performed by t. Below is given a transformation is eventually committed.


sketch of the algorithm. According to the previous discussion, the five data
structures that serve to the calculation of the max-
Algorithm (Assign-Volumes-Greedy)
imum deliverable/loadable quantity are updated in
Input: the set E of n̄ impacted operations;
O4n̄5 time (recall that n̄ is the number of impacted
Begin;
operations). Then, sorting the set E is done in
sort the set E chronologically;
O4n̄ log n̄5 time in the worst case; in effect, the heap-
for each impacted customer c do update
sort algorithm is used (see Cormen et al. 2004,
l4c5, qmin4c5, qmax4c5;
pp. 121–137). Finally, the loop is done in linear time,
for each impacted trailer t do
because the calculation of the maximum deliver-
update l4t5, qmin4t5;
able/loadable quantity requires only constant time by
for each operation in E do
using the adequate data structures. Consequently, the
assign the maximum deliverable/loadable
whole algorithm runs in O4n̄ log n̄5 time.
quantity to the operation;
In theory, the greedy algorithm is far from being
End;
optimal. Figure 6 gives the smallest configuration for
A basic example is given for illustrating the reset which the greedy algorithm fails to find an optimal
of delivered quantities and the update of data struc- assignment. On the other hand, two sufficient condi-
tures. A customer has four scheduled operations A = tions hold for which the greedy assignment is optimal.
441 25, B = 4101 55, C = 4141 85, D = 4181 125, with the The proofs are not detailed here because they are easy
first number denoting the time step to which the oper- to establish. The first condition corresponds to the case
ation occurs and the second number denoting the where each customer is served at most once over the
delivered quantity. Here the horizon is composed of planning horizon. This condition is interesting because
24 time steps. The capacity C of the tank is 14 and it is likely to be met in practice. The second condition
the safety level S is 2. Table 1 gives for each time corresponds to the case where each shift visits only
step h the forecasted consumption F 4h5 and the result- one customer. For example, this condition is satisfied
ing tank level l4h5. Then, values in data structures when customers have infinite storage capacity.
qmin and qmax are detailed. These values are com- Experiments have been made for evaluating the
puted backward over the horizon by applying the fol- practical performance of this critical routine. In prac-
lowing recurrence: tice, its running time is shown to be constant with
respect to the total number of operations: it is
qmin4h5 = max8qmin4h + 151 S − l4h5 + F4h591 100 times faster than the full application of the greedy
algorithm (that is, considering that all operations are
qmax4h5 = min8qmax4h + 151 C − l4h5 + F4h590
impacted, implying that n̄ = n) and 2,000 times faster
Now, let us consider that operation B is impacted by than exact algorithms (tests conducted with the sim-
a transformation: only the quantity of operation B can plex algorithm of the linear programming library
be modified. The delivered quantity of operation B GLPK 4.24). On the other hand, the total volume
is reset to zero. Then, for assigning a new quantity delivered by the routine is close to the optimal assign-
to operation B, only the values of column 10 have to ment, in particular when no stockout appears (the
be updated: l4105 is decreased by 5, whereas qmin4105 average gap between the greedy assignment and an
and qmax4105 are increased by 5. In this way, the optimal one is lower than 2%).

Table 1 Data Structures for Assigning Volumes

h 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

F 0 1 0 1 1 1 2 3 2 2 0 1 1 1 2 1 3 3 2 2 1 2 3 0
q — — — — 2 — — — — — 5 — — — 8 — — — 12 — — — — —
l 13 12 12 11 12 11 9 6 4 2 7 6 5 4 10 9 6 3 13 11 10 8 5 5
qmin 0 0 0 0 0 0 0 0 0 0 −1 −1 −1 −1 −1 −1 −1 −1 −3 −3 −3 −3 −3 −3
qmax 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 4 6 9 9
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 393

o1 oi,0 oi,1 oi,2 oi,3 oi,4 oi,5 oi,6 oi,7


c1
o0 o2 si
c0

t0 t1
sj
H
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

Figure 6 Bad Configuration for the Greedy Volume Assignment oj,0 oj,1 oj,2 oj,3 oj,4 oj,5 oj,6 oj,7

Figure 7 Representation of Shifts and Operations


Finally, having assigned volumes, computing the Note. Operations oi1 3 1 oi1 4 of the shift si are swapped with operations
gain of the transformation is done efficiently. The oj1 3 1 oj1 4 of the shift sj : the current links (before transformation) are plain,
(variation of) cost of shifts is computed during the temporary links (after transformation) are dashed.
the scheduling, and the (variation of) total delivered
quantity is obtained during the assignment of vol- (see Figure 7 illustrating the exchange of operations
umes, without increasing the complexity of the algo- between shifts).
rithms. The (variation of) stockouts costs are also Finally, we focus on a data structure that is partic-
computed during the assignment of volumes. Note ularly critical for efficiency. Operations or shifts cor-
that computing the number of time steps in stockout respond to intervals over the horizon, for which we
between two consecutive operations requires O4log H5 have the following need: given a date over the hori-
time, with H the number of time steps over the hori- zon, find the previous, current, or next operation per-
zon, because it is equivalent to the problem of search- formed at a site, if any. The same problem arises for
ing the zero of a discrete nonincreasing function. situating shifts performed by a resource. For this, the
5.3.3. Implementation Details. Although concep- following data structure is employed. Assume that
tually simple, the practical implementation of the the n operations are stored into an ordered list L. The
evaluation routines is considerably complicated by horizon is divided into m intervals U0 1 0 0 0 1 Um−1 of
incremental aspects. Even if such points are outside given length u (with u dividing T ). Then, an array I is
the scope of this paper, some important details of defined such that Ii refers to the first operation whose
implementation are outlined below. starting date is larger than the left endpoint of Ui .
All sets (unordered or ordered, fixed or dynamic) The next operation after date d is found by search-
are implemented as arrays to improve the cache mem- ing the operations between the one pointed by Ii with
ory locality. Memory allocation is avoided as much i = d/u and the one pointed by Ii+1 . In this way, the
as possible during local-search iterations: all of the search is done in O4k5 time in the worst case, with k
data structures are allocated before starting the local the number of operations contained in the interval Ui .
search; an array of capacity n representing a dynamic If u corresponds to the entire horizon (m = 1), then
list is extended if necessary by reallocating a larger k = n; on the other hand, if u corresponds to the small-
block of memory of size n + k (with k ≈ 10). The most est granularity for expressing time (here the minute,
frequently used data structure is the one for main- leading to m = 211600), then k = 1. Assuming that
taining an unordered list of elements; although imple- starting dates of operations performed at a site are
mented as an array, it is designed to support basic uniformly distributed over the horizon, the number k
routines (find, insert, delete, clear) in O415 time. is equal to n/m. In this case, searching takes O4n/m5
Because the success rate of transformations is low time (when evaluating the transformation), but the
on average (a few percentage points), the rollback array I requires O4m5 space to be stored and O4m5
routine must be very efficient. In this way, the deci- time to be updated (when committing the transforma-
sion variables of the problem (for example, the start- tion). This implies two compromises: time to evaluate
ing and ending dates of an operation) are duplicated versus time to commit and time to evaluate versus
in such a way that only temporary data are modified space.
by a transformation. In this way, the rollback routine Theoretically, the best value m∗ for solving the com-
consists simply of overwriting temporary data by cur- promise on running time corresponds to the mini-
rent ones (that is, corresponding to the current solu- mum of the function T 4m5 = E4N /m5 + Cm, with N
tion). However, this is complicated by the fact that the average number of operations per customer and
during one transformation, several objects (in partic- E (respectively, C) a coefficient relative to the propor-
ular operations or shifts) are likely to move in the tion of calls of the evaluate routine (respectively, com-
arrays in which they are stored. In order to ensure mit routine) per customer. Apsimple calculation using
the (temporary) insertion or deletion of one object in differentiation yields m∗ = 4EN 5/C. Table 2 shows
O415 time, the objects of the array are doubly linked the values of m∗ for different realistic configurations
Benoist et al.: Real-Life Inventory Routing
394 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

Table 2 Theoretical Values of m ∗ Table 3 Short-Term Benchmarks Characteristics (17 Test Cases)

N 2 2 2 10 10 10 30 30 30 Customers Plants Depots Drivers Tractors Trailers


E 90 95 99 90 95 99 90 95 99
C 10 5 1 10 5 1 10 5 1 Minimum 46 1 1 10 5 10
Maximum 500 5 2 50 50 50
m∗ 4.2 6.2 14.1 9.5 13.8 31.5 16.4 23.9 54.5
Average 138 109 102 28 19 25
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

of parameters N 1 E1 C. In practice, we have chosen Table 4 Short-Term Benchmarks: Local Search


m∗ = 15, which corresponds to interval Ui of one day: Results
such a value of m offers a good compromise for run- LS-LR (%)
0
LS-LR (%)
ning time (even in worst-case situations) and leads to
Minimum gain over greedy 2008 2805
a small memory footprint.
Maximum gain over greedy 3901 6506
Average gain over greedy 2902 4504

6. Computational Experiments
The whole algorithm was implemented in C# 2.0 pro- 6.1. Short-Term Benchmarks
gramming language (for running on Microsoft .NET The local-search algorithm has been extensively tested
2.0 framework). The resulting program includes on short-term benchmarks (15 days) with different
nearly 30,000 lines of code, whose 6,000 lines (20%) characteristics: realistic (that is, matching the oper-
are dedicated to check the validity of all incremental ational conditions), pathological (for example, with
data structures at each iteration (only active in debug plants whose production is stopped several days),
mode). The whole project (specifications, implemen- and very large scale (for example, with 1,500 sites
tation, tests), realized during the year 2008, required and 300 resources). Some aggregated results are pre-
nearly 300 man-days. All statistics and results pre- sented here for 17 short-term benchmarks involving
from 46 to 500 customers. Table 3 gives the charac-
sented here have been obtained (without paralleliza-
teristics of these instances: the number of customers,
tion) on a computer equipped with a Windows Vista
plants, depots, drivers, tractors, and trailers. For these
operating system and a chipset Intel Xeon X5365
instances, our greedy algorithm finds a solution with-
(CPU 3 GHz, L1 cache 64 Kio, L2 cache 4 Mio, RAM
out stockout. Note that it is not always the case in
8 Go). The interested reader is invited to contact the
operations (see results on long-term benchmarks).
authors to obtain some benchmarks to work on this
The gains obtained by the local-search heuristic are
problem. Note that the urgency-based constructive presented in Table 4 using the results of the greedy
heuristic used to compute an initial solution is also algorithm as a reference. Two kinds of results are pre-
called “greedy algorithm” below. sented on this table: the gains obtained by directly
Since the local-search heuristic is randomized, optimizing the logistic ratio LR (denoted by LS-LR)
five runs have been performed with different seeds and the ones obtained by optimizing the surrogate
for each benchmark. All results are presented in terms ratio LR0 (denoted by LS-LR0 ). In both cases, the local-
of cost (or cost per kilo), but it shall be noted that search heuristic drastically improves the quality of
more, than 80% of the cost is proportional to the solutions provided by the greedy algorithm. The aver-
traveled distance, which means that our algorithm is age gain obtained by LS-LR (respectively, LS-LR0 ) is of
likely to obtain similar gains in absence of fix costs 29.2% (respectively, 45.4%). Table 5 gives more statis-
(with a miles per ton objective). Except contrary men- tics on the solutions found by local search. The col-
tion, all the statistics presented below correspond to umn “nb shift” (respectively, “nb oper”) of the table
average results obtained for these five runs. Note that reports the number of shifts (respectively, operations)
results requiring particular explanations are marked of the solution. The column “avg oper” (respectively,
with asterisks (∗) in figures presenting numerical “avg deliv,” “avg load,” “avg layov”) reports the aver-
experiments; these explanations could be found in the age number of operations (respectively, deliveries,
text below. loadings, layovers) per shift. Finally, the column “avg

Table 5 Short-Term Benchmarks: Statistics on Shifts

Algorithm nb shift nb oper avg oper avg deliv avg load avg layov avg dist avg dur

Greedy 6806 47306 409 208 202 002 48108 67608


LS-LR 9108 68906 509 303 206 002 39907 61705
0
LS-LR 8607 69202 604 305 209 002 48709 70804

Note. Average over all test cases.


Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 395

0
Table 6 Short-Term Benchmarks: Statistics on Transformations for LS-LR (Left) and LS-LR (Right) Optimization

Attempt Accept Improve Attempt Accept Improve

Minimum 40867 M 1411962 206% 497 004 h% Minimum 30706 M 1171333 204% 389 005 h%
Maximum 160167 M 7051213 606% 21067 402 h% Maximum 150184 M 5361327 608% 21218 502 h%
Average 80596 M 3771169 405% 937 103 h% Average 70830 M 3031620 401% 946 105 h%

Note. M = million, h% = one-hundredths percent.


Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

dur” (respectively, “avg dist”) reports the average Table 8 Short-Term Benchmarks: Statistics on Volumes
traveled distance (respectively, duration) per shift.
avg DQ avg DQ avg DQ avg delivq avg delivq avg delivq
One can observe that more shifts and many more greedy LS-LR LS-LR
0
greedy LS-LR LS-LR
0

operations are included in both LS-LR and LS-LR0


solutions compared to ones produced by the greedy. 3,031,400 4,565,518 4,861,465 15,992 16,066 17,073
On average, the number of shifts (respectively, opera-
tions) is increased by nearly 25% (respectively, 50%). allowing a large diversification (without the use of
In this way, the average number of operations per metaheuristics). On the other hand, the number of
shift is increased from almost four to more than six. strictly improving transformations is in the several
The average distance and duration of shifts are hundreds. One can observe that the choice of objec-
decreased slightly in the case of LS-LR, whereas these tive (LR or LR0 ) does not affect the performance of the
are increased slightly in the case of LS-LR0 . local-search heuristic.
The greedy algorithm is running in a few sec-
onds even for large-scale instances (12 seconds for 6.2. Long-Term Benchmarks
a test case with 1,500 customers). Statistics about The local-search algorithm has been tested on long-
the performance of the local search are given on term benchmarks, in particular for verifying that
Table 6. The column “attempt” corresponds to the optimizing the surrogate objective leads to better
number of transformations attempted by the local- solutions in the long run. Some results are presented
search heuristic. The columns “accept” (respectively, for five real-life benchmarks, each one with 105 days.
“improve”) corresponds to the number of accepted The operational planning process is simulated as fol-
(respectively, strictly improving) transformations; in lows. The simulator starts at day 0 by computing a
addition, the corresponding rate for 100 (respec- planning over the next 15 days, with 5 minutes as
tively, 10,000) attempted transformations is speci- the time limit. Then, only the shifts starting at the
fied. The local-search algorithm attempts more than first day of this short-term planning are fixed (the
10,000 transformations per second, even for large- levels of plants or customers visited by these shifts
scale instances. On average, our algorithm visits more are updated, the resources operating on these shifts
than 10 million solutions in the search space during 5 min- become unavailable), and the process is iterated the
utes of running time (which is the desired time limit following day.
in operational conditions). When planning over a The characteristics of these five benchmarks are
15-day horizon, the memory allocated by the program presented in Table 7. The complete statistics are given
does not exceed 30 Mo for medium-size instances for each heuristic on Tables 9–11. The main remark
(100 sites, 10 resources) and 300 Mo for large-scale is that the average number of operations per shift
instances (1,000 sites, 100 resources). The acceptance is increased in local-search solutions. Indeed, the
rate, which corresponds to the number of accepted number of shifts in local-search solutions is slightly
transformations over the number of attempted ones, smaller than in greedy solutions, whereas the num-
varies essentially between 1% and 10%, with an aver- ber of operations is increased. Besides, local-search
age value close to 5% over all the instances. Note solutions are characterized by a larger average trav-
that this rate is nearly constant all along the search, eled duration per shift, thanks to an increased use

Table 7 Long-Term Benchmarks: Characteristics and LR Gains with Different Time Limits

Data Customers Plants Depots Drivers Tractors Trailers Callins Orders wst 1 mn (%) avg 1 mn (%) avg 5 mn (%) avg 1 h (%)

L1 75 6 1 35 21 5 19 56 2308 2406 2603 2605


L2 75 6 1 35 21 5 20 55 2203 2305 2409 2502
L3 175 8 1 35 21 12 36 189 502 508 803 1102
L4 165 4 1 24 11 7 33 167 909 1102 1400 1809
L5 198 8 7 12 12 12 3 40 3205 3402 3507 3509
Average 138 6 2 28 17 8 22 101 1807 1909 2108 2305
Benoist et al.: Real-Life Inventory Routing
396 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

Table 9 Long-Term Benchmarks: Greedy Results

Data SO SC DQ LR nb shift nb oper avg oper avg deliv avg load avg layov avg dist avg dur

L1 652 4061443 317671868 00107871 189 503 207 106 100 006 640 11320
L2 146 4071379 318271560 00106433 196 506 206 106 100 005 619 11235
L3 86 110921976 3119891357 00034167 790 31584 405 207 108 002 366 954
L4 257 8081887 1814331289 00043882 590 21249 308 204 104 002 395 844
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

L5 85 1451339 818301708 00016458 295 11020 305 109 105 102 598 11760

Average 245 5721205 1313691756 00042798 412 11572 304 200 103 005 524 11223

Table 10 Long-Term Benchmarks: LS-LR Results

Data SO SC DQ LR nb shift nb oper avg oper avg deliv avg load avg layov avg dist avg dur

L1 0 3401767 318401502 00088730 137 590 403 300 103 008 721 11618
L2 0 3351661 318991780 00086072 148 570 309 207 102 007 660 11445
L3 0 110191292 3210791238 00031774 839 31570 403 206 107 002 317 873
L4 17 6971009 1816941845 00037283 605 21400 400 206 104 002 321 735
L5 0 1061326 914751562 00011221 110 11324 1200 708 403 302 11256 41286

Average 3 4991811 1315971985 00036756 368 11691 507 307 200 100 655 11792

0
Table 11 Long-Term Benchmarks: LS-LR Results

Data SO SC DQ LR nb shift nb oper avg oper avg deliv avg load avg layov avg dist avg dur

L1 0 3211449 410451989 00079449 148 542 307 204 103 007 632 11403
L2 0 3211207 410161621 00079969 140 541 309 206 103 007 669 11471
L3 0 110121191 3213201180 00031318 807 31583 404 207 108 002 327 890
L4 0 7011139 1815871949 00037720 602 21396 400 206 104 002 325 744
L5 0 1011913 916301979 00010582 138 11352 908 603 305 202 945 31159

Average 0 4911580 1317201344 00035829 367 11683 502 303 109 008 580 11533

of layovers. The average logistic ratios marked by This could explain the negative gain of greedy algo-
an asterisk are computed as the sum of shift costs rithm on instances L1, L2, L4. Moreover, the solution
for the five benchmarks divided by the sum of all provided by experts for instance L2 is considered as
delivered quantities. The gains obtained by LS-LR0 are a “best-effort” solution, in the sense that many more
reported on the right part of Table 7. The column time has been spent to optimize carefully the solution.
“wst 1 mn” reports the worst LR gain in % obtained
over the five runs for one minute of running time per 6.3. Impact of the Surrogate Objective
The key figures for comparing LS-LR and LS-LR0 are
planning iteration. The column “avg 1 mn” (respec-
given on Table 8 (for short-term benchmarks) and on
tively, “avg 5 mn,” “avg 1 h”) reports the average gain
the right part of Table 13 (for long-term benchmarks).
in % for LR obtained within 1 minute (respectively,
“avg DQ” corresponds to the average total deliv-
5 minutes, 1 hour) of computation per planning iter-
ered quantity, and “avg delivq” to the average deliv-
ation. Note that the solutions found by the greedy
ered quantity (per operation). On short-term bench-
algorithm include some stockouts. On average, the LR marks, the total delivered quantity in both LS-LR and
gain obtained by LS-LR0 with only 1 minute of run- LS-LR0 solutions is increased by more than 50% on
ning time per planning iteration is of nearly 20% on average. Note that the average quantity per delivery
average. These statistics demonstrate that our local- is increased by almost 5% in LS-LR0 solutions com-
search heuristic, beyond delivering high-quality solu- pared to LS-LR solutions.
tions, is fast and robust (with exponential-inverse On long-term benchmarks, one shall observe that
convergence). LS-LR0 aims at increasing the average quantity per
Solutions provided by logistic experts are reported delivery, which results in better long-term solutions.
on Table 12. Note that the comparison between the On instances L1 (respectively, L2), the augmentation
experts and the three heuristics is not completely fair. is of 21% (respectively, 13%), leading to logistic ratio
Indeed, because finding solutions with no stockout savings of 10% (respectively, 7%) compared to LS-LR.
(with actual safety levels) was difficult and fastidious, Moreover, LS-LR0 is able to produce solutions without
experts were allowed to modify the initial long-term stockout on the instance L4, contrary to LS-LR. The
benchmarks to provide solutions without stockout. values marked by an asterisk on Tables 13 and 12 are
Benoist et al.: Real-Life Inventory Routing
Transportation Science 45(3), pp. 381–398, © 2011 INFORMS 397

Table 12 Long-Term Benchmarks: Gains Obtained by Local Search Against Logistic Experts

gain gain gain


0
Data SO SC DQ LR greedy (%) LS-LR (%) LS-LR (%)

L1 0 3781778 317251847 00101662 −601 1207 2109


L2 0 3281364 315671370 00092047 −1506 605 1301
L3 0 112571354 3216671576 00038489 1102 1704 1806
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

L4 0 7881893 1816831473 00042224 −309 1107 1007


L5 0 2901921 1013981050 00027978 4102 5909 6202
∗ ∗ ∗ ∗
Average 0 6081862 1318081463 00044093 209 1606 1807

0
Table 13 Long-Term Benchmarks: Gains of LS-LR Against LS-LR (Left) and Gains Obtained by Local Search
Against Greedy (Right)
0
LS-LR against gain gain avg delivq avg delivq avg delivq
0 0
Data LS-LR (%) Data LS-LR (%) LS-LR (%) greedy LS-LR LS-LR

L1 10 L1 1707 2603 121460 9344 111391


L2 7 L2 1901 2409 121205 9759 111035
L3 1 L3 700 803 141997 141706 141833

L4 −1 L4 1500 1400 131018 111885 111876
L5 6 L5 3108 3507 151755 111044 111078
∗ ∗ ∗ ∗ ∗
Average 1401 1603 141146 121537 121864

computed globally for the five benchmarks (as done costs and managing drivers’ desiderata); improv-
for logistic ratios on Tables 10 and 11). ing the existing local-search heuristic (adding trans-
formations with larger neighborhoods); reinforcing
the global lower bound by integrating tours visiting
7. Conclusion several sites and constraints on resources. Another
Three contributions have been presented in this prospective but promising line of research is to pro-
paper. First, a real-life IRP model encountered in a ceed step by step toward a global optimization of
worldwide industry has been introduced. Then, a sur- the supply chain by tackling jointly the production
rogate objective based on local lower bounds was and distribution problems, and ultimately by integrat-
defined for ensuring a long-term optimization when ing purchasing issues. Indeed, we think that local-
building a planning over the short term. Our exper-
search approaches like the one developed presently
iments show that using this objective decreases the
are best suited for solving such very large-scale prob-
final logistic cost by 4% on average, compared to
lems while inducing new algorithmic challenges.
a direct minimization of the logistic ratio. Finally, a
local-search heuristic has been described for effec-
tively and efficiently solving the real-life IRP over Acknowledgments
First, the authors warmly thank M. Saul Pedraza Morales
the short term (15 days in full details), even when
(École de Mines de Nantes), who worked on several topics
some large-scale instances (thousand sites, hundred in relation to this paper and performed some of the numer-
resources) are considered. By assigning volumes ical experiments (in particular about the practical efficiency
approximately but thousands of times faster than of our volume assignment algorithm) during his intern-
with a classical flow algorithm, we are able to han- ship at Bouygues e-lab in 2009. Then, the authors thank
dle the problem as a whole without decomposition. Dr. Philippe Baptiste (LIX, École Polytechnique) for suggest-
Using a large variety of randomized neighborhoods, ing modeling inventory constraints as a flow network. The
our first-improvement descent visits millions of solu- authors also express their gratitude to the two anonymous
tions during the allocated execution time. Within five referees and the associate editor for their reviewing, which
minutes of running time, we obtain long-term sav- has resulted in an improved paper.
ings of 20% on average compared to urgency-based
strategies used by expert planners or implemented
in classical insertion heuristics. The resulting decision References
support system is progressively deployed worldwide, Aarts, E., J. Lenstra. 1997. Local Search in Combinatorial Optimization.
confirming the promised gains in the field. Wiley-Interscience Series in Discrete Mathematics and Opti-
mization, John Wiley & Sons, Chichester, UK.
New research is still being conducted in sev- Archetti, C., M. Savelsbergh. 2007. The truckload trip scheduling
eral directions: further enlarging the scope of the problem. TRISTAN VI, the 6th Triennial Sympos. Transportation
IRP addressed in the paper (in particular, refining Anal., Phuket Island, Thailand.
Benoist et al.: Real-Life Inventory Routing
398 Transportation Science 45(3), pp. 381–398, © 2011 INFORMS

Bard, J. F., L. Huang, M. Dror, P. Jaillet. 1998. A branch and cut Dror, M., M. Ball. 1987. Inventory/routing: reduction from an
algorithm for the VRP with satellite facilities. IIE Trans. 30(9) annual to a short-period problem. Naval Res. Logist. 34(6)
831–834. 891–905.
Bell, W., L. Dalberto, M. Fisher, A. Greenfield, R. Jaikumar, P. Kedia, Estellon, B., F. Gardi, K. Nouioua. 2006. Large neighborhood
R. Mack, P. Prutzman. 1983. Improving the distribution of improvements for solving car sequencing problems. RAIRO
industrial gases with an on-line computerized routing and Oper. Res. 40(4) 355–379.
scheduling optimizer. Interfaces 13(6) 4–23. Estellon, B., F. Gardi, K. Nouioua. 2008. Two local search
Benoist, T., B. Estellon, F. Gardi, A. Jeanjean. 2009. High-perfor- approaches for solving real-life car sequencing problems. Eur.
Downloaded from informs.org by [128.122.253.228] on 08 October 2014, at 12:05 . For personal use only, all rights reserved.

mance local search for solving inventory routing problems. J. Oper. Res. 191(3) 928–944.
H. H. Hoos, T. Stützle, M. Birattari, eds. SLS 2009, the 2nd Estellon, B., F. Gardi, K. Nouioua. 2009. High-performance local
Internat. Workshop Engrg. Stochastic Local Search Algorithms, Lec- search for task scheduling with human resource allocation.
ture Notes in Computer Science, Vol. 5752. Springer, Berlin/ H. H. Hoos, T. Stützle, M. Birattari, eds. SLS 2009, the 2nd
Heidelberg, 105–109. Internat. Workshop Engrg. Stochastic Local Search Algorithms, Lec-
Campbell, A., M. Savelsbergh. 2004a. A decomposition approach ture Notes in Computer Science, Vol. 5752. Springer, Berlin/
for the inventory-routing problem. Transportation Sci. 38(4) Heidelberg, 1–15.
488–502. Feo, T., G. Resende. 1995. Greedy randomized adaptive search pro-
Campbell, A., M. Savelsbergh. 2004b. Delivery volume optimiza- cedures. J. Global Optim. 6(2) 109–133.
tion. Transportation Sci. 38(2) 210–223. Lau, H., Q. Liu, H. Ono. 2002. Integrating local search and network
Campbell, A., M. Savelsbergh. 2004c. Efficient insertion heuristics flow to solve the inventory routing problem. AAAI 2002, the
for vehicle routing and scheduling problems. Transportation Sci. 18th National Conference on Artificial Intelligence. AAAI Press,
38(3) 369–378. Menlo Park, CA, 9–14.
Campbell, A., L. Clarke, M. Savelsbergh. 2002. Inventory routing Savelsbergh, M., J.-H. Song. 2007a. Inventory routing with contin-
in practice. P. Toth, D. Viego, eds. The Vehicle Routing Prob- uous moves. Comput. Oper. Res. 34(6) 1744–1763.
lem. SIAM Monographs on Discrete Mathematics and Applications, Savelsbergh, M., J.-H. Song. 2007b. Performance measurement for
Vol. 9. SIAM, Philadelphia, 309–330. inventory routing. Transportation Sci. 41(1) 44–54.
Campbell, A., L. Clarke, A. Kleywegt, M. Savelsbergh. 1998. Savelsbergh, M., J.-H. Song. 2008. An optimization algorithm for
The inventory routing problem. T. Crainic, G. Laporte, eds. the inventory routing with continuous moves. Comput. Oper.
Fleet Management and Logistics. Kluwer Academic Publishers, Res. 35(7) 2266–2282.
Norwell, MA, 95–113. Solomon, M. 1987. Algorithms for the vehicle routing and schedul-
Cormen, T., C. Leiserson, R. Rivest, C. Stein. 2004. Introduction ing problems with time window constraints. Oper. Res. 35(2)
à l’Algorithmique, French 2nd ed. Dunod, Paris, France. 254–265.

Вам также может понравиться