Upload
trantu
View
219
Download
0
Embed Size (px)
Citation preview
+
Working Papers
Department of Economics and Management
University of Brescia
Italy
Via S. Faustino 74/b, 25122 Brescia – Italy
Tel 00390302988742 Fax 00390302899703
email: [email protected]
N. Absi, C. Archetti,
S. Dauzère-Pérès, D. Feillet
A two-phase iterative heuristic
approach for the Production
Routing Problem
WPDEM 2013/8
A two-phase iterative heuristic approach for the Production
Routing Problem
N. Absi (1), C. Archetti (2), S. Dauzère-Pérès (1), D. Feillet (1)
(1) Department of Manufacturing Sciences and Logistics, Ecole des Mines de Saint-Etienne, France, [email protected],
[email protected], [email protected]
(2) Department of Economics and Management, University of Brescia, Italy, [email protected]
Abstract
This paper investigates the integrated optimization of production, distribution and inventory deci-
sions related to supplying multiple retailers from a central production facility. A single-item uncapaci-
tated lot-sizing problem is defined for optimizing production decisions and inventory management. The
optimization of daily distribution is modeled as a traveling salesman problem or a vehicle routing prob-
lem depending on the number of vehicles. A two-phase iterative method, from which several heuristics
are derived, is proposed that iteratively focuses on lot-sizing and distribution decisions. Computational
results show that our best heuristic outperforms existing methods.
Keywords: Lot sizing, production, distribution, routing, heuristics.
1 Introduction
Challenges related to integrating decisions usually taken independently have always drawn the attention of
the operations research community. This is for example the case when customer demands and inventory
levels are taken into account in vehicle routing, leading to the stream of research named “inventory routing”
(see for instance the recent survey of [3]). Going one step further, the integration of production planning
and vehicle routing decisions was introduced in [13]. The problem of simultaneously optimizing production,
distribution and inventory decisions in a supply chain where retailers are supplied from a central production
facility has been called Production Routing Problem (see [21], [1] and [2]). The Production Routing Problem
combines lot-sizing decisions, inventory management and routing. Given the complexity of the resulting
problem, research has been focused mainly on heuristic algorithms (e.g. [13], [14],[10], [11], [7], [6] and
[1]). For a detailed survey on heuristic algorithms, the reader is refereed to [1]. Few exact algorithms have
1
also been proposed for the solution of the Production Routing Problem. The first exact approach has been
proposed in [17] and is based on a Lagrangian relaxation of the problem. A similar relaxation has been used
later in [22] to solve the problem with the order-up-to level policy, i.e., each time a retailer is visited, the
quantity delivered is such that the inventory level reaches the inventory capacity of the retailer. In [21] and
[8] the problem with the maximum level policy is studied, i.e., the quantity delivered to each retailers is such
that the inventory capacity is not exceeded. In [21] the authors propose a branch-and-cut algorithm while
in [8] a branch-and-price is developed. Finally, two branch-and-cut approaches are proposed in [4] and [2].
Note that the only exact approaches that solve the problem with multiple vehicles are the ones in [8] and [2].
In this paper, we introduce a new heuristic algorithm for the Production Routing Problem with maximum
level policy. We propose a simple iterative approach where production planning and routing subproblems
are solved in sequence. This approach originates from previous iterative approaches developed in [15] for
lot-sizing and scheduling, and in [12] for the multi-item production routing problem. In the latter, a classical
production planning problem is solved in Phase 1, and vehicle routes are determined in Phase 2. On the basis
of the quantities actually distributed in Phase 2, demands are updated and the production planning problem
is solved again to start the next iteration.
Here, we consider the single-item Production Routing Problem. In the iterative approach, vehicle ca-
pacity constraints are considered in the first phase, called lot-sizing phase. This phase provides decisions
on customers that should be served on each day. The second phase, called routing phase, then aims at op-
timizing routes. We take account of routing information in the first phase by introducing a visiting cost for
customers. This cost is updated at each iteration according to the results of the second phase. In order to
prevent from a quick convergence to a local optimum, two diversification mechanisms are used.
Following the literature, cases with a single vehicle or multiple vehicles are investigated. In the multiple
vehicle case, two variants of the approach are proposed, depending on whether the individual capacity of
vehicles is modeled or not in the lot-sizing phase. Numerical results on benchmark instances show that our
heuristic outperforms previous heuristics, thus demonstrating that it is both simple and competitive.
The paper is organized as follows. The problem is formalized in Section 2. Our two-phase iterative
approach is described in Section 3. Section 4 is devoted to computational experiments. Conclusions and
perspectives are provided in Section 5.
2
2 The Production Routing Problem
In this section, we introduce the Production Routing Problem addresed in this paper, denoted PRP, and
present a Mixed Integer Linear Programming formulation. We consider a set M = {1, . . . ,M} of retailers
and a single product sold by these retailers along a discrete time horizon T = {1, . . . ,T}. The demand of
a retailer i ∈M at time period t ∈ T is denoted by dit . Retailers are restocked from a common production
facility. Products are then kept in retail stores, with an inventory limit Ui and at a unitary holding cost hi, that
depend on the retailer.
The production facility is identified with index 0. No capacity limit is assumed on production but a
maximal inventory level U0 is defined. Unitary inventory costs at the facility are denoted by h0. A fixed
production cost f and a variable cost p, proportional to the number of produced items, are considered. A
fleet V = {1, . . . ,V} of homogeneous vehicles with capacity C is available for the distribution. Travel costs
ci j are defined between every pair (i, j) of locations A = M ∪{0}×M ∪{0}. No limit is imposed on the
tour duration of vehicles.
The goal is to simultaneously minimize production, inventory and routing costs so that demands of retail-
ers and inventory limits at the production facility and retailers are satisfied. The problem can be formulated
as a mixed integer linear program with the following decision variables:
• xvit : quantity shipped from the production facility to retailer i at period t using vehicle v,
• yt : quantity produced at the production facility at period t,
• γvit : binary variable which is equal to 1 if xvit > 0, and 0 otherwise,
• δt : binary variable which is equal to 1 if yt > 0, and 0 otherwise,
• I0t : inventory level at the production facility at the end of period t,
• Iit : inventory level at retailer i at the end of period t,
• uvi jt : binary variable which is equal to 1 if vehicle v travels from location i to location j at period t,
and 0 otherwise.
3
The PRP can be formulated as follows:
min ∑t∈T
( f δt + pyt +h0I0t)+ ∑t∈T
∑i∈M
hiIit + ∑t∈T
∑v∈V
∑(i, j)∈A
ci juvi jt (1)
subject to
Iit = Ii,t−1 + ∑v∈V
xvit −dit ∀i ∈M , ∀t ∈T (2)
I0t = I0,t−1 + yt − ∑v∈V
∑i∈M
xvit ∀t ∈T (3)
Iit ≤Ui, ∀i ∈M ∪{0}, ∀t ∈T (4)
∑i∈M
xvit ≤C ∀v ∈ V , ∀t ∈T (5)
xvit ≤min
(T
∑t ′=t
dit ′ ,Ui +dit ,C
)γvit ∀v ∈ V , ∀i ∈M , ∀t ∈T (6)
yt ≤ ( ∑i∈M
T
∑t ′=t
dit ′)δt ∀t ∈T (7)
∑v∈V
γvit ≤ 1 ∀i ∈M ,∀t ∈T (8)
∑j∈M∪{0}\{i}
uvi jt = γvit ∀v ∈ V , ∀i ∈M ,∀t ∈T (9)
∑j∈M
uv0 jt ≥1M ∑
i∈Mγvit ∀v ∈ V , ∀t ∈T (10)
∑j∈M∪{0}\{i}
uvi jt − ∑j∈M∪{0}\{i}
uv jit = 0 ∀v ∈ V , ∀i ∈M ∪{0},∀t ∈T (11)
∑i∈S
∑j∈S
uvi jt ≤ |S|−1 ∀v ∈ V , ∀t ∈T ,∀S⊂M (12)
I0t ,yt ≥ 0 ∀t ∈T (13)
Iit ,xit ≥ 0 ∀i ∈M , ∀t ∈T (14)
δt ∈ {0,1} ∀ t ∈T (15)
γvit ∈ {0,1} ∀v ∈ V , ∀ i ∈M , ∀ t ∈T (16)
uvi jt ∈ {0,1} ∀v ∈ V , ∀i, j ∈M ∪{0},∀t ∈T (17)
The objective function (1) minimizes the sum of production, inventory and distribution costs. Constraints
(2) and (3) are the inventory balance equations at retailers and at the production facility, respectively. Upper
bounds on inventory levels are guaranteed through constraints (4). Constraints (5) define the vehicle capacity.
4
The binary variables indicating when production and distribution occur are linked to the production and
distribution variables through constraints (6) and (7). Constraints (8)-(12) are routing constraints. Especially,
constraints (8) prevent from split delivery. Constraints (13)-(17) are variable definitions.
Note that this formulation is analogous to the one proposed in [1], where production capacity is also
considered, and the one in [4] where there is no constraint on the maximum inventory level at the production
plant.
Finding a good feasible solution to the PRP is a challenging task since it integrates two well-known and
hard combinatorial problems, namely lot sizing and vehicle routing. One way to deal with such a complex
problem is to decompose it into smaller problems of reduced complexity for which optimal or near-optimal
solutions can be determined. The key idea of the methods proposed in this paper is thus to separate the
problem into two sub-problems which are solved iteratively.
3 A two-phase iterative approach
We propose a two-phase Iterative Method (IM) to solve the PRP. The first phase corresponds to solving a
lot-sizing problem. In this phase, routing costs are integrated in a approximate fashion: a visiting cost SCvit
is counted each time a delivery is planned for a combination of vehicle, retailer and period. The solution
of the lot-sizing problem establishes when and how much to produce, when to visit retailers and how much
to deliver at each visit. Vehicle capacity constraints and maximum inventory constraints are considered in
this phase. The routing decisions are taken in the second phase. Decision variables γvit are fixed from Phase
1, thus one knows the set of retailers to be visited by each vehicle at each period. A Traveling Salesman
Problem (TSP) is solved for each vehicle v and each period t. The solution of this second phase is used
to update the visiting costs for the next iteration of the first phase. The procedure is repeated until a given
number of iteration is reached or the solution is not improved for a given number of iterations.
When the iterative procedure is finished, a diversification mechanism is performed and the whole scheme
is repeated until a stopping criterion is met. The general scheme of the IM method can be found in Algorithm
1, where sol stores the best solution found so far. Details on the two phases and on the diversification
mechanism are given in subsequent subsections 3.1, 3.2 and 3.3, respectively.
Visiting costs SCvit play a central role in this approach as they create a connection between the first and
5
Algorithm 1 General scheme of the two-phase iterative approach1: sol← /02: Initialize SCvit for each i ∈M , v ∈ V and t ∈T3: repeat4: repeat5: Solve the Lot-sizing Problem (SCvit) and get γvit for each i ∈M , v ∈ V and t ∈T6: Solve the Routing Problem (γvit)7: Update sol if necessary8: Update SCvit9: until a stopping criterion is met
10: Diversify11: until a stopping criterion is met
second phase. The value of SCvit is initially set to c0i +ci0. This forces the solution of the lot-sizing phase to
serve less frequently the retailers that are far from the production plant and, thus, for which the corresponding
transportation cost is high. However, the initial value of SCvit does not take into account the clustering of
retailers: there is no measure of the proximity of retailers visited at a certain period, so retailers that are very
far from each other may be clustered together and served at the same period. This of course has a very bad
impact on the transportation cost. Thus, in subsequent iterations, the values of SCvit are updated using the
information provided by the solution of the routing phase so that solutions of the lot-sizing phase are driven
to better solutions in terms of retailer clustering.
Allocating retailers to vehicles in Phase 1 can be questioned, except for instances with a single vehicle.
Indeed, one could prefer to simply select which retailers to visit at each period during Phase 1, and to
determine on which vehicle during Phase 2. This is the object of the variant approach described in Subsection
3.5.
3.1 The lot-sizing phase
This section describes the mathematical model used in the first phase of IM. SCvit represents the cost of
visiting retailer i at period t with vehicle v. As already mentioned, the lot-sizing phase decides when and how
much to produce, when to visit retailers and how much to deliver. The objective is to minimize production
and inventory costs as well as costs related to inserting retailers into vehicle routes. The lot-sizing model for
6
the first phase of IM is:
min ∑t∈T
( f δt + pyt +h0Bt)+ ∑i∈M
∑t∈T
hiIit + ∑v∈V
∑i∈M
∑t∈T
SCvitγvit (18)
subject to
Iit = Ii,t−1 + ∑v∈V
xvit −dit ∀i ∈M , ∀t ∈T (19)
I0t = I0,t−1 + yt − ∑v∈V
∑i∈M
xvit ∀t ∈T (20)
Iit ≤Ui, ∀i ∈M ∪{0}, ∀t ∈T (21)
∑i∈M
xvit ≤C ∀v ∈ V , ∀t ∈T (22)
xvit ≤min
(T
∑t ′=t
dit ′ ,Ui +dit ,C
)γvit ∀v ∈ V , ∀i ∈M , ∀t ∈T (23)
yt ≤ ( ∑i∈M
T
∑t ′=t
dit ′)δt ∀t ∈T (24)
∑v∈V
γvit ≤ 1 ∀i ∈M ,∀t ∈T (25)
I0t ,yt ≥ 0 ∀t ∈T (26)
Iit ,xit ≥ 0 ∀i ∈M , ∀t ∈T (27)
δt ∈ {0,1} ∀ t ∈T (28)
γvit ∈ {0,1} ∀v ∈ V , ∀ i ∈M , ∀ t ∈T (29)
Note that all decisions related to quantities and assignment to vehicles, in particular the quantities that
have to be delivered to retailers at every period by a given vehicle, are taken in (18)-(29). These quantities
satisfy the vehicle capacity constraints (22), and thus the second phase only needs to determine how to route
the retailers served by each vehicle.
Lot-sizing problem (18)-(29) is N P-Hard, mainly because the classical single-item capacitated lot-
sizing problem is N P-Hard ([16, 9]). If we consider the special case without vehicle capacity constraints,
without inventory constraints at the facility and retailers and where inventory costs of the facility are set to
a sufficiently large value to force the model to transport all quantities each time production is started, we
obtain the classical joint replenishment problem [5], which is still N P-Hard.
7
We solve problem (18)-(29) using a standard mathematical programming solver. Though it is N P-
Hard, good solutions can be obtained relatively efficiently.
Note that we also tested the facility location formulation for this problem. Generally, this formulation
provides a strong lower bound for capacitated lot-sizing problems. Contrary to the previous formulation, the
production variables are defined on the basis of the production period, the delivery period and the consump-
tion period. This formulation has more production variables (O(T 3) vs. O(T )), but generally provides better
lower bounds. However, in our case, computational times increased significantly.
3.2 The routing phase
In this subsection, we describe the routing phase of method IM. It consists in computing vehicle routes at
each period. Since Phase 1 allocates retailers to vehicles and takes account of vehicle capacities, the problem
to solve for each vehicle and each period is a standard TSP.
At each iteration, many TSP (up to V × T ) need to be solved. Furthermore, in view of the size of
benchmark instances, one can expect state-of-the-art heuristics to find excellent solutions quickly. For these
reasons, we use the LKH implementation [19] of the Lin-Kernighan heuristic [20] for this phase.
3.3 Update of visiting costs
For all v ∈ V and t ∈T , let Svt be the set of retailers i ∈M for which γvit = 1. Let rvt be the route of vehicle
v at period t, obtained from Phase 2. Route rvt is, hopefully, an optimal or near-optimal solution of the TSP
defined on set Svt ∪{0}.
For v ∈ V , t ∈T and i ∈ Svt , let us denote i− the predecessor of vertex i in route rvt and i+ its successor.
For v ∈ V , t ∈T and i /∈ Svt , let ∆vit be the cheapest insertion cost for inserting i in route rvt .
The procedure for updating visiting costs SCvit is described in Algorithm 2.
As noted earlier, updating the parameters SCvit is crucial in order to improve the clustering of retailers
for the subsequent iterations. The rule we adopt has two main advantages. First, it is very simple. Second, it
captures, for each retailer, the complementarity with the other retailers served in the same route (in this case,
8
Algorithm 2 Update of visiting costs1: for all t ∈T and v ∈ V do2: for all i ∈M do3: if i ∈ Svt then4: SCvit ← ci−i + cii+− ci−i+
5: else6: SCvit ← ∆vit
7: end if8: end for9: end for
if SCvit is large, the retailer will probably be removed from the route at the next iteration of the lot-sizing
phase) and to the retailers served in different routes (in this case, if SCvit is small, the retailer will probably
be inserted in the route at the next iteration of the lot-sizing phase). Also, this updating rule for SCvit helps in
clustering retailers which are close, but it does not fix any grouping of retailers and this helps diversification
between successive solutions of the lot-sizing phase.
3.4 Diversification mechanisms
We propose two mechanisms to diversify the search: a multi-start procedure and a second procedure called
“update diversification mechanism”. Different variants of the IM algorithm are defined depending on which
of these two mechanisms is applied and with which parameter for the stopping criterion. These variants are
detailed with the experiments (Section 4). In all cases, the diversification mechanism reinitializes visiting
costs SCvit and restarts the iterative procedure.
The multi-start procedure restarts the iterative process with randomly generated values for SCvit . For
each v ∈ V , i ∈M , t ∈T , a random number ρvit is drawn in range [0.5,1.5]. and visiting cost SCvit is set to
ρvit × (c0i + ci0).
The update diversification mechanism updates costs SCvit according to the best known solution. The
goal is to help the heuristic moving to parts of the solution space that were not explored recently. SCvit are
updated using the following rule: for all retailers and according the best known solution, multiply SCvit by
the number of retailers that are served at period t plus one. This mechanism favors the ejection of retailers
from periods where the number of visits is high to periods where the number of visits is low.
9
3.5 Variant with aggregated capacity constraints
In the case of instances with more than one vehicle (V ≥ 2), we now investigate a variant of IM where
decisions on the allocation of retailers to vehicles are transfered to the routing phase. We call IM-VRP this
variant. From now on, when V ≥ 2, the initial method (IM) will be called IM-MultiTSP in order to better
emphasize the difference between IM-MultiTSP and IM-VRP.
In IM-VRP, we replace visiting costs SCvit with visiting costs SCit that evaluate the cost induced by the
visit of retailer i at period t. Apart from this change, and subsequent adaptations of the different steps of the
algorithm, the approach is not modified. We now detail how the different steps are impacted.
As in IM-MultiTSP, the lot-sizing phase decides when and how much to produce, when to visit retailers
and how much to deliver. However, there is no assignment of retailers to vehicles. The lot-sizing model for
the first phase of IM-VRP is:
min ∑t∈T
( f δt + pyt +h0Bt)+ ∑i∈M
∑t∈T
hiIit + ∑i∈M
∑t∈T
SCitγit (30)
subject to
Iit = Ii,t−1 + xit −dit ∀i ∈M , ∀t ∈T (31)
I0t = I0,t−1 + yt − xit ∀t ∈T (32)
Iit ≤Ui, ∀i ∈M ∪{0}, ∀t ∈T (33)
∑i∈M
xit ≤ |V |C ∀t ∈T (34)
xit ≤min
(T
∑t ′=t
dit ′ ,Ui +dit ,C
)γit ∀i ∈M , ∀t ∈T (35)
yt ≤ ( ∑i∈M
T
∑t ′=t
dit ′)δt ∀t ∈T (36)
I0t ,yt ≥ 0 ∀t ∈T (37)
Iit ,xit ≥ 0 ∀i ∈M , ∀t ∈T (38)
δt ∈ {0,1} ∀ t ∈T (39)
γit ∈ {0,1} ∀v ∈ V , ∀ i ∈M , ∀ t ∈T (40)
10
Compared to model (18)-(29), vehicle index v is removed from the x and γ variables. All decisions
related to quantities that are delivered to retailers at every period are still taken in this phase. Constraints
(34) imply that these quantities satisfy the total capacity of all available vehicles at a given period. Again,
lot-sizing problem (30)-(40) is N P-Hard and is solved with a standard mathematical programming solver.
The routing phase of IM-VRP consists in solving a Vehicle Routing Problem (VRP) at each period.
Indeed, quantities required by the retailers are known from Phase 1. For the sake of limiting computing time,
the VRP is solved with a heuristic approach. We use the VRPH package [18], with parameters set for using
a combination of tabu search and the record-to-record travel algorithm. As constraints (34) only impose that
the total demand is not more than the available capacity of the fleet, it is possible that the algorithm does not
find any feasible solution or even that no feasible solution exists. Indeed, as split delivery is forbidden, it
might happen that the different items to be transported cannot be packed in the vehicles. In this situation, the
general scheme of the IM approach is modified: one directly moves to the diversification phase.
Except when the above special situation occurs, visiting costs are updated as described in Algorithm 3.
In this algorithm, we note St the set of retailers served at period t (t ∈T ). Other notation are the same as in
Subsection 3.3.
Algorithm 3 Update of visiting costs1: for all t ∈T do2: for all i ∈M do3: if i ∈ St then4: SCit ← ci−i + cii+− ci−i+
5: else6: SCit = minv∈V ∆vit
7: end if8: end for9: end for
Finally, the update diversification mechanism is modified as follows: for all retailers and according the
best known solution, multiply SCvit by the number of retailers that are served at period t plus one.
11
4 Computational experiments
Our algorithms are implemented in C++ using Microsoft Visual Studio 2008. We use the callable library
IBM ILOG CPLEX 12.1 with the default settings to solve the lot-sizing problems. The tests are performed
on an Intel Xeon CPU 2.67GHz PC with 3.48GB RAM under the Windows 7 operating system. CPU times
are given in seconds.
4.1 Test instances
We report computational tests on the 3×480 instances proposed in [4]. These instances are classified in 3
sets (A1, A2 and A3) and are characterized by 6 time periods and 14, 50 and 100 retailers, respectively, with
constant demand, no production capacity and no plant inventory capacity, but with initial inventory at the
plant and retailers. The set of instances A1 has a single capacitated vehicle and sets A2 and A3 have an
unlimited number of capacitated vehicles. Table I summarizes the characteristics of the instances, where ‘C’
stands for ‘constant’ and ‘V’ for ‘varying’.
Instance set A1 A2 A3No. of instances 480 480 480No. of periods 6 6 6No. of retailers 14 50 100No. of trucks 1 ∞ ∞
Demand C C CProduction capacity ∞ ∞ ∞
Plant inventory capacity ∞ ∞ ∞
Retailer inventory capacity C C CInitial inventory at plant 0 0 0Initial inventory at retailers V V VVehicle capacity C C C
V - Varying, C - Constant, ∞ - Unlimited
Table I: Overview of the benchmark instances (table taken from [1])
Each set of 480 instances is divided into four classes with different parameter settings. The first class
corresponds to the standard instances. The second class is characterized by high production unit costs and
the third class by large transportation costs. The last class has no retailer inventory costs. Each class is
composed of 24 groups of 5 instances. More details are given in Table II.
12
Class Type DescriptionsClass I 1-24 Standard instancesClass II 25-48 High production unit cost, ×10Class III 49-72 Large transportation costs, ×5Class IV 73-96 No retailer inventory costs
Table II: Descriptions of instances classes (table taken from [1])
4.2 Algorithms and implementation
We compare our methods with the local search heuristic (H) proposed in [4] and the Adaptive Large Neigh-
borhood Search (ALNS) proposed in [1] with the tunings that provide the best results (1,000 iterations). We
also compare our heuristics with the optimal solutions obtained with the branch-and-cut method (BC) pro-
posed in [4]. BC is only designed for the set of instances A1, and provides optimal solutions for almost all
instances. The results of [4] for algorithm H are obtained on a 2.40 GHz CPU PC while the ones of ALNS
in [1] are obtained on a 2.10 GHz CPU PC.
4.2.0.1 Single-vehicle instances (A1)
Since the first class of instances (A1) has only one vehicle, we only consider the IM algorithm here. We
tested different variants of IM. In all cases, in addition to the stopping criteria cited below, the method stops
after a total number of 100 two-phase iterations. These variants are:
• IM: Iterative method without diversification; the method stops after 10 iterations without improvement;
• IM-DIV: IM completed with the update diversification mechanism;
• IM-MS: IM in a multi-start scheme; 100 restarts are carried out;
• IM-DIV-MS: IM-DIV in a multi-start scheme, with 20 restarts.
4.2.0.2 Multiple vehicle instances (A2 and A3)
For the multi-vehicle instances (A2 and A3), we compared IM-MultiTSP and IM-VRP to H and ANLS. The
update diversification mechanism is called after 5 iterations of the Iterative Method without improvements.
13
Both heuristics are stopped after a total of 20 iterations. The first phases of our algorithms are solved with a
time limit of 10 seconds for IM-MultiTSP and 5 seconds for IM-VRP.
4.3 Computational results on single-vehicle instances (A1)
On set A1, the BC algorithm proposed in [4] provides optimal solutions for 467 out of the 480 instances.
Table III summarizes the gaps with respect to the optimal solution for these 467 instances. Results are
presented per class of instances and for each heuristic.
Classes IM IM-DIV IM-MS IM-DIV-MS H ALNSClass I 1,17% 0,90% 0,10% 0,13% 2,18% 1,68%Class II 0,17% 0,13% 0,01% 0,02% 0,30% 0,36%Class III 5,45% 3,52% 0,54% 0,71% 3,43% 7,60%Class IV 0,38% 0,24% 0,03% 0,06% 0,91% 0,85%All 1,82% 1,22% 0,17% 0,23% 1,71% 2,66%
Table III: Average gaps with respect to the optimal solutions for 467 instances of set A1.
Tables IV and V consider the whole set of 480 instances. Table IV provides average CPU times for
the different methods. Table V summarizes the number of optimal or best known solutions found by each
heuristic and for each class of instances. Detailed results for the instances for which the optimal solution is
not known are provided in the appendix.
Classes IM IM-DIV IM-MS IM-DIV-MS H ALNSClass I 1.9 12.4 251.0 242.8 - 9.2Class II 1.7 10.6 214.2 210.3 - 8.9Class III 1.8 11.3 237.2 233.2 - 7.6Class IV 1.7 10.7 216.9 217.8 - 8.7All 1.8 11.3 229.8 226.0 - 8.6
Table IV: Average CPU times for instances of set A1.
Classes IM IM-DIV IM-MS IM-DIV-MS H ALNSClass I 6 9 78 68 6 1Class II 1 7 40 34 5 0Class III 3 7 38 35 2 0Class IV 13 17 59 52 14 1Total 23 40 215 189 27 2
Table V: Number of optimal or best known solutions for instances of set A1.
14
Tables III and IV show that our iterative approach is competitive with respect to previous heuristic ap-
proaches proposed in the literature. IM has the smallest CPU time of our different variants (less than 2
seconds). It can be compared to H which has a negligible CPU time. Note that IM provides better average
gaps than ALNS and equivalent average gaps to H over all classes of instances. If the update diversification
mechanism is allowed, the average CPU time is slightly larger than the one of ALNS. However, IM-DIV
provides better solutions than ANLS and H.
To almost close the gap with optimal solutions, more computing time is needed. Parameters of IM-
MS and IM-DIV-MS were set to attain computing times comparable to BC on average (≈ 200 seconds, see
[4]). The average gaps provided by IM-MS and IM-DIV-MS are almost zero (≈ 0.2%), with rather similar
results for both methods. While BC performs slightly better on average, and has the advantage of proving
optimality, it has two important inconvenients: its highly varying and unpredictable computing times (with
some instances for which no solution is found in 2 hours) and inability to tackle larger instances.
4.4 Computational results on multiple vehicle instances (A2 and A3)
In this section, we summarize all experiments on the sets of instances A2 and A3. We first compare IM-
VRP, IM-MultiTSP, H and ALNS. Table VI (respectively Table IX) shows average gaps with respect to the
best known solution for each heuristic and for each class of instances of A2 (respectively A3). Table VII
(respectively Table X) shows average CPU times for each heuristic and for each class of instances of A2
(respectively A3). Finally, Table VIII (respectively Table XI) reports the number of best solutions found
by each heuristic for each class of instances of A2 (respectively A3). Detailed results are provided in the
appendix.
Classes IM-VRP IM-MultiTSP H ALNSClass I 0.04% 0.93% 1.89% 0.98%Class II 0.02% 0.07% 0.35% 0.14%Class III 0.26% 1.92% 2.66% 2.66%Class IV 0.04% 0.40% 1.17% 0.13%All 0.09% 0.83% 1.52% 0.98%
Table VI: Average gaps with respect to the best known solutions for instances of set A2.
Considering Tables VI and VII, we can notice that IM-VRP outperforms the three other heuristics. Note
that IM-MultiTSP, H and ALNS have large gaps (≈ 2%) for the third class of instances (the class with large
15
Classes IM-VRP IM-MultiTSP H ALNSClass I 25.6 338.5 11.3 50.2Class II 21.7 235.7 12.4 49.5Class III 22.6 317.9 9.5 42.7Class IV 27.7 375.8 10.9 44.1All 24.4 317.0 11.0 46.6
Table VII: Average CPU times for instances of set A2.
Classes IM-VRP IM-MultiTSP H ALNSClass I 107 3 1 9Class II 71 35 6 10Class III 85 21 2 12Class IV 90 15 0 15Total 353 74 9 46
Table VIII: Number of best solutions found for instances of set A2.
transportation costs), while IM-VRP most often finds or is close to the best solution. Tables VI and VII show
that, even if IM-MultiTSP provides gaps of the same quality as ALNS, IM-MultiTSP has a very large CPU
time. This large computing time is mainly due to the presence of a capacity constraint for each vehicle in the
lot-sizing model, which complicates its solution. Note that the average CPU time of IM-VRP is half of the
average CPU time of ANLS. Table VIII shows that IM-VRP provides almost all best known solutions.
Classes IM-VRP IM-MultiTSP H ALNSClass I 0.06% 1.66% 2.06% 0.82%Class II 0.19% 0.27% 0.32% 0.29%Class III 0.23% 2.70% 2.55% 2.53%Class IV 0.18% 0.63% 1.19% 0.26%All 0.16% 1.31% 1.53% 0.98%
Table IX: Average gaps with respect to the best known solutions for instances of set A3.
Results are similar for instances of set A3. Tables IX and X illustrate that IM-VRP outperforms the three
other heuristics. Relatively large gaps (> 2%) with repect to the best known solutions are obtained with IM-
MultiTSP, H and ALNS for the third class of instances (the class with large transportation costs), whereas
IM-VRP has a very small gap. Note also that ALNS outperforms IM-MultiTSP on all classes of instances.
Table XI shows again that, as on instances of set A2, IM-MultiTSP has large CPU times. The average CPU
time of IM-VRP is smaller than half the average CPU times of ANLS and H. Table XI shows that IM-VRP
provides almost all best solutions.
16
Classes IM-VRP IM-MultiTSP H ALNSClass I 85.5 514.2 188.0 228.5Class II 76.1 497.4 216.7 217.6Class III 75.1 509.3 167.8 197.8Class IV 86.6 507.0 181.1 206.0All 80.8 507.0 188.4 212.5
Table X: Average CPU times for 480 instances of set A3.
Classes IM-VRP IM-MultiTSP H ALNSClass I 105 0 11 4Class II 75 21 24 0Class III 100 3 16 1Class IV 86 4 17 13Total 366 28 68 18
Table XI: Number of best solutions found for 480 instances of set A3.
5 Conclusions and perspectives
In this paper, we propose a simple two-phase iterative scheme to solve the PRP. In the first phase, a lot-
sizing problem is solved with approximate routing costs. The first phase decides when and how much to
produce at each period, when to visit retailers and how much to deliver at each visit. The second phase takes
routing decisions. We developed two variants of the approach. In the first variant (IM-MultiTSP), retailers
are assigned to vehicles in the first phase, and TSP are solved for each vehicle and period in the second
phase. The second variant (IM-VRP) does not explicitly consider vehicles in the first phase: the assignment
of retailers to vehicles is carried out in the second phase by solving a VRP.
Experimental results show that, despite its simplicity, IM-VRP outperforms all existing methods in the
literature. In addition, its computing times are lower than the ones of existing methods. IM-MultiTSP
provides comparable results with respect to existing methods but is very time consuming, because of the
additional difficulty induced by vehicle capacity constraints in the lot-sizing model.
One of the main perspectives of this work is to consider capacity constraints and setup times at the
production plant. The lot-sizing problem with these two characteristic is strongly N P-hard and needs to
be solved using heuristics. The multi-item version of the production routing problem is also an interesting
perspective since several additional aspects should be considered (multiple production and inventory capacity
constraints, multiple transportation modes, etc.).
17
Appendices
A Detailed results
Tables XII-XIV show detailed results for instance sets A1, A2 and A3. In these tables, best known values
are reported. For set A1, only instances for which the optimal solution is not known are included. Values in
bold indicate that best known value was improved with one of our methods. These tables are not presented
for the purpose of comparison with previous methods (aggregated results are given in Section 4 for this), but
rather to serve as a reference for future comparisons.
For each set of instances (A1-A3) the 480 instances are grouped in 96 groups, each group contains 5
instances numbered from 1 to 5. Table XII provides detailed results for the instances from A1 for which
the optimal solution is not known. In Table XII, columns N, I and Class represent respectively the instance
group, the instance number, and the instance class. * means that the BC method found the same value. Tables
XIII and XIV provide detailed results for the instances from A2 and A3 respectively. N and I represent
respectively the instance group and the instance number.
N I Class Best known solution5 1 I 832165 4 I 75556*6 4 I 76346*12 1 I 74674*24 1 I 78236*75 1 IV 28558*75 4 IV 2591278 1 IV 7032878 4 IV 6295278 5 IV 60155*81 1 IV 32059*84 4 IV 6665884 5 IV 64211*
Table XII: Detailed results of data set A1
18
I I
N 1 2 3 4 5 N 1 2 3 4 5
1 201038 195135 199143 195735 205691 49 262545 255260 266162 252094 270714
2 203385 196891 201521 197661 207722 50 275757 265632 279906 261002 285073
3 207912 201222 207806 201673 212201 51 299809 288441 309349 280293 312346
4 430482 410370 422246 402532 436911 52 486080 462883 480165 450364 496904
5 432753 412447 425028 404511 437625 53 492970 475217 497786 458551 512653
6 437706 416619 431053 408930 440589 54 522334 496355 524756 480763 539428
7 167638 159250 163956 154301 170775 55 219053 212064 219281 200914 225696
8 169866 161414 167131 156038 173498 56 236124 222793 233586 211408 238700
9 174952 166079 172899 160230 179181 57 256543 244529 262673 230688 262453
10 386231 362405 376609 351263 391213 58 436030 408784 429890 393870 447034
11 388599 364701 379647 353356 394227 59 450296 421477 445581 407454 460699
12 393611 369069 385674 357830 400065 60 474613 441570 475008 427415 487664
13 219440 211218 217247 211346 223317 61 331204 322971 345167 309763 339119
14 223575 215682 222541 214949 227027 62 355564 345638 373141 331304 366985
15 232425 224375 233950 223270 238224 63 404990 383560 426159 371254 415021
16 444474 424156 436910 413582 452499 64 547553 527035 549537 501305 564429
17 449131 428726 442664 417164 455973 65 567863 549292 577266 529038 592045
18 458943 436750 454696 426209 466557 66 623584 593024 637470 567831 637490
19 180698 172751 177493 165429 183734 67 280294 271602 286633 258293 294882
20 185745 176031 183232 170062 189506 68 313465 292172 318814 279142 317164
21 195192 183420 195854 177724 200618 69 355956 336878 372884 317757 368296
22 398609 374057 389860 361906 404465 70 501439 469774 495732 451949 512536
23 403474 378512 395779 366009 410430 71 524181 491279 527860 471931 540826
24 413486 387270 407875 375054 421968 72 571652 532893 584665 514083 591673
25 1376049 1289010 1343209 1255989 1377922 73 143592 134388 141215 129227 145919
26 1378323 1290846 1345750 1257897 1381600 74 145750 136345 144122 131267 148011
27 1382876 1295361 1351627 1261821 1386866 75 150818 140892 150016 135436 153930
28 3557059 3319083 3466810 3222080 3563478 76 362389 338051 354417 326778 367134
29 3559182 3320941 3469695 3224100 3565143 77 364692 340184 357143 328787 369213
30 3563533 3325462 3475416 3228041 3570408 78 369215 344556 363087 333212 375789
31 1337856 1247690 1302230 1208771 1343145 79 155757 146450 155368 140957 159461
32 1340372 1249489 1304882 1210701 1343118 80 161187 150751 160056 143957 165238
33 1344935 1253580 1310876 1215097 1348865 81 171149 160204 171836 153535 175489
34 3485252 3243182 3392359 3141855 3520229 82 374844 349959 367486 337430 380158
35 3487392 3245368 3394998 3143829 3518602 83 379513 353566 373558 341664 385268
36 3492486 3249781 3400915 3148259 3523032 84 389191 362738 385058 350238 397619
37 1393469 1304607 1361730 1270818 1395032 85 1301142 1209266 1267565 1170831 1308037
38 1397280 1309308 1367157 1275634 1399625 86 1303334 1211471 1270450 1172918 1309512
39 1406965 1317378 1378530 1282941 1410428 87 1308352 1215956 1276268 1177075 1312824
40 3570049 3331978 3480372 3234429 3579242 88 3446707 3203581 3355935 3102205 3458599
41 3574593 3335985 3486772 3237954 3581813 89 3448907 3205661 3358543 3104197 3458435
42 3583324 3343168 3498455 3245314 3590746 90 3453955 3210185 3364680 3108650 3463072
43 1351118 1260060 1315231 1220253 1355334 91 1314665 1221480 1282159 1182564 1324927
44 1355218 1264219 1321658 1224011 1361172 92 1319009 1226074 1287563 1186271 1326638
45 1364378 1272321 1333037 1232768 1370511 93 1328828 1234991 1298713 1194376 1337463
46 3498847 3255577 3407076 3153574 3534075 94 3460476 3216281 3370735 3114228 3477454
47 3503143 3260343 3412378 3157964 3539010 95 3465263 3220739 3376135 3118305 3480547
48 3513333 3269054 3423816 3166075 3546995 96 3475046 3229386 3387657 3126968 3494331
Table XIII: Detailed results of data set A2
19
I I
N 1 2 3 4 5 N 1 2 3 4 5
1 114474 110304 103888 117972 103149 49 147990 141401 135982 157020 141339
2 115354 110996 104651 119757 104424 50 154317 143801 139412 161528 148180
3 117424 112825 106538 121788 107059 51 164643 152366 148425 176198 162825
4 235797 228383 220013 251207 214760 52 266079 252401 246471 281755 248174
5 236237 229574 220871 252902 215894 53 268847 258047 251375 289816 253941
6 238658 231470 222808 255419 219173 54 280811 268332 260997 303139 270801
7 91601 87863 84133 96547 83649 55 119995 113677 112302 127713 118553
8 92701 89045 84991 98242 85204 56 126264 118138 115758 134422 124563
9 94782 90846 86928 100780 88483 57 140267 128855 124970 148082 140372
10 207790 202043 197172 225597 191899 58 237437 226382 223579 256734 225297
11 208806 203182 198091 227237 193715 59 243904 230898 228595 263581 232342
12 211070 205219 200077 229830 196733 60 254399 242222 238103 277132 248975
13 123907 119273 112321 128461 113949 61 187093 170694 167558 196192 183818
14 125659 120739 114310 131438 116192 62 198236 183834 175344 207264 198983
15 129408 123859 117802 136155 122251 63 219894 202350 194650 233415 229553
16 242973 235002 226541 258857 222488 64 300739 284018 279489 320203 288729
17 244240 237379 228543 262267 225565 65 317062 294295 290526 335055 302824
18 249088 241117 232470 267331 232135 66 336249 316243 309392 362465 335742
19 99216 94307 91762 104197 91596 67 154913 140333 143488 166724 158062
20 100444 96684 92725 107607 95373 68 167437 153191 152684 180150 172301
21 105232 100687 96502 112671 101445 69 192182 172622 171856 207477 204928
22 215087 208124 203761 233247 200501 70 271593 255752 257436 295475 269021
23 217026 210258 205805 236555 203676 71 283003 265910 266523 308831 284382
24 221302 214469 209602 241721 209884 72 305857 286398 286083 339408 314454
25 725189 710130 695477 797029 668446 73 77072 74592 74371 84966 72576
26 726307 710768 696290 798198 669773 74 78005 75657 75438 86311 74208
27 728749 712462 698271 800884 672893 75 80072 77584 77326 89127 77272
28 1862808 1826142 1795243 2059996 1720300 76 191966 188868 186346 214084 179023
29 1863485 1827212 1796234 2061465 1721466 77 193084 190006 187279 215389 180539
30 1865857 1829186 1798081 2064331 1724944 78 194811 191759 189172 217849 183557
31 700751 685763 673171 773991 647309 79 84530 80252 81119 92617 80931
32 701255 686825 674081 774835 648239 80 86220 82636 83373 95130 83924
33 703386 688666 675964 777795 651324 81 91099 86369 86735 100994 89533
34 1820695 1786792 1758792 2020274 1683649 82 199870 195215 193813 221680 187918
35 1821725 1787919 1759718 2021636 1685147 83 202149 196968 195782 224320 191168
36 1823802 1789703 1761727 2024043 1688265 84 206210 200678 199832 229290 197208
37 735154 719404 704226 807748 678867 85 679300 667069 658138 756188 630182
38 736196 720553 705676 809869 681444 86 680438 668072 659178 757231 631704
39 740616 723615 709118 815992 687498 87 682576 669655 661050 760167 634582
40 1869156 1832766 1802092 2067883 1728914 88 1798310 1767100 1742986 2001186 1665957
41 1871688 1834295 1803340 2070488 1731332 89 1799408 1768246 1743919 2002548 1667339
42 1876282 1838468 1807331 2076190 1736484 90 1801451 1769999 1745826 2005187 1670357
43 707132 691994 680391 782207 655404 91 687045 672892 665132 764002 638414
44 709753 694061 681542 784715 658912 92 689029 675743 666870 766937 640997
45 714043 697691 685658 789290 664444 93 692641 678817 670808 772560 647521
46 1828506 1793813 1765645 2029407 1692182 94 1806446 1774363 1750558 2010696 1674704
47 1830745 1795785 1768021 2031470 1695872 95 1808280 1776277 1752526 2012837 1678041
48 1834063 1798964 1771583 2037108 1701440 96 1812518 1779851 1756547 2018504 1683498
Table XIV: Detailed results of data set A3
20
References
[1] Y. Adulyasak, J.-F. Cordeau, and R. Jans. Optimization-Based Adaptive Large Neighborhood Search
for the Production Routing Problem. Transportation Science To appear.
[2] Y. Adulyasak, J.-F. Cordeau, and R. Jans. Formulations and Branch-and-Cut Algorithms for Multi-
Vehicle Production and Inventory Routing Problems. Les Cahiers du GERAD G-2012-14, 2012.
[3] H. Andersson, A. Hoff, M. Christiansen, G. Hasle, and A. Lokketangen. Industrial aspects and literature
survey: Combined inventory management and routing. Computers & Operations Research 37:1515-
1536, 2010.
[4] C. Archetti, L. Bertazzi, G. Paletta, and M. G. Speranza. Analysis of the maximum level policy in a
production-distribution system. Computers & Operations Research 38:1731-1746, 2011.
[5] E. Arkin, D. Joneja, and R. Roundy. Computational complexity of uncapacitated multi-echelon pro-
duction planning problems. Operations Research Letters 8:61-66, 1989.
[6] V.A. Armentano, A.L. Shiguemoto, and A. Løkketangen. Tabu search with path relinking for an inte-
grated production-distribution sistem. Computers and Operations Research 38:1199-1209, 2011.
[7] J.F. Bard, and N. Nananunkul. Heuristics for a multiperiod inventory routing problem with production
decision. Computers and Industrial Engineering 57:713-723, 2009.
[8] J.F. Bard, and N. Nananunkul. A branch-and-price algorithm for an integrated production and inventory
routing problem. Computers and Operations Research 37:2202-2217, 2010.
[9] G. Bitran, and H.H. Yanasse. Computational complexity of the capacitated lot size problem. Manage-
ment Science 28:1174-1186, 1982.
[10] M. Boudia, M. A. O. Louly, and C. Prins. A reactive GRASP and path relinking for a combined pro-
duction distribution problem. Computers & Operations Research 34:3402-3419, 2007.
[11] M. Boudia, M. A. O. Louly, and C. Prins. A memetic algorithm with dynamic population management
for an integrated production-distribution problem. European Journal of Operational Research 195:703-
715, 2009.
21
[12] M. Boudia, S. Dauzère-Pérès, C. Prins, and M. A. O. Louly. Integrated optimization of production
and distribution for several products. 2006 International Conference on Service Systems and Service
Management 272-277, Troyes, France, October 2006
[13] P. Chandra. A dynamic distribution model with warehouse and customer replenishment requirements.
Journal of the Operational Research Society 44:681-692, 1993.
[14] P. Chandra. Coordination of production and distribution planning. European Journal of Operational
Research 72:503-517, 1994.
[15] S. Dauzère-Pérès, and J.-B. Lasserre. Integration of lotsizing and scheduling decisions in a job-shop.
European Journal of Operational Research 75:413-426, 1994.
[16] M. Florian, J.K. Lenstra, and A.H.G. Rinnoy Kan. Deterministic production planning : algorithms and
complexity. Management Science 26:669-679, 1980.
[17] F. Fumero, and C. Vercellis. Syncronized development of production, inventory, and distribution sched-
ules. Transportation Science 33:330-340, 1999.
[18] C. Groër, B. Golden, and E. Wasil. A library of local search heuristics for the vehicle routing problem.
Mathematical Programming Computation 2:79-101, 2010.
[19] K. Helsgaun. LKH. Available at: http://www.akira.ruc.dk/ keld/research/LKH/
[20] S. Lin, and B.W. Kernighan. An effective heuristic algorithm for the traveling-salesman problem. Op-
erations research 21:498-516, 1973.
[21] M. Ruokokoski, O. Solyali, J.-F. Cordeau, R. Jans, and H. Süral. Efficient formulations and a branch-
and-cut algorithm for a production-routing problem. Les Cahiers du GERAD G-2010-66, 2010.
[22] O. Solyali, and H. Süral. A relaxation based solution approach for the inventory control and vehicle
routing problem in vendor managed systems. in Modeling, Computation and Optimization, S.K. Neogy,
A.k. Das, and R.B. Bapat (eds). World Scientific, 171-189, 2009.
22