0% found this document useful (0 votes)
11 views10 pages

Avella 2004

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views10 pages

Avella 2004

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

European Journal of Operational Research 152 (2004) 170–179

www.elsevier.com/locate/dsw

Discrete Optimization

Solving a fuel delivery problem by heuristic


and exact approaches
Pasquale Avella a, Maurizio Boccia b, Antonio Sforza b,*

a
Facolt
a di Ingegneria, Universit
a del Sannio, Corso Garibaldi 107, 82100 Benevento, Italy
b
Dipartimento di Informatica e Sistemistica, Universita degli Studi di Napoli ‘‘Federico II’’, Via Claudio 21, 80125 Napoli, Italy
Received 14 May 2000; accepted 24 July 2002

Abstract

In this paper we study the case of a company that delivers different types of fuel to a set of fuel pumps. The company
has one warehouse and supplies the pumps by a fleet of trucks with several tanks of differing capacities.
The companyÕs aim is to satisfy the orders using the available resources (trucks and drivers) with the minimum total
travel cost for delivery.
The problem has been formulated as a Set Partitioning model, solved by a Branch-and-Price algorithm. A fast
combinatorial heuristic was adopted both to find a good feasible solution very quickly and to provide an initial set of
columns for the Branch-and-Price algorithm.
Computational results are reported. The exact approach shows low computation time for the real instances provided
by the company.
 2002 Elsevier B.V. All rights reserved.

Keywords: Fuel delivery; Routing; Set partitioning; Branch-and-price

1. Introduction transportation is present in all phases of the man-


ufacturing and selling process and represents about
In recent years, a great deal of research has been 10–25% of the final product cost.
carried out on the optimisation of freight distri- It is necessary to supply a set of clients using a
bution planning and management. The applica- fleet of trucks that start from one or more ware-
tions developed in this field have shown that houses to reach clients using the available trans-
distribution planning techniques produce savings portation network. The solution of this problem is
ranging from 5% to 25% of total travel costs a set of routes where each route is associated with
(Ballou, 1998; SURFF, 1998). The impact of these a truck that leaves and returns to a warehouse.
savings is relevant to a companyÕs finances as The set of all routes must satisfy the client orders
and the service operational constraints, minimiz-
ing the total travel cost, expressed by travel time or
*
Corresponding author.
more complex generalised cost function.
E-mail addresses: [email protected] (P. Avella), mboc- Since the seminal paper of Dantzig and Ramser
[email protected] (M. Boccia), [email protected] (A. Sforza). (1959), a huge number of contributions to solving

0377-2217/$ - see front matter  2002 Elsevier B.V. All rights reserved.
doi:10.1016/S0377-2217(02)00676-8
P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179 171

vehicle routing problems have been presented in The average number of clients served daily is
literature. Surveys and general references can be therefore less than the total number of clients.
found in Christofides (1985), Golden and Assad Each order, expressed in litres, is not greater than
(1988), Fisher (1995), Laporte and Osman (1995), the maximum capacity of the biggest truck of the
Rochat and Taillard (1995), Gendreau and Potvin fleet. It is an integer multiple of one thousand and
(1998). For the truck-dispatching problem, the can be expressed as a combination of the capacities
reader can refer to Brown and Graves (1981), of one or more tanks.
Brown et al. (1987), Rego and Roucairol (1995), The company adopts a particular distribution
Van der Bruggen et al. (1995). policy to simplify the work in tank loading and
In this paper we solve the real case of a com- fuel delivery: each tank must travel either com-
pany that supplies a set of fuel pumps located in pletely full or completely empty. This implies that
an urban area by a fleet of trucks. We must de- all the fuel in a tank is to be delivered to only one
termine the optimal packing of the goods inside pump.
the vehicles (Simchi Levi, 1994) and the routes of The truck routing is subject to the following
the fleet. constraints:
To solve this problem we propose a Branch-
and-Price algorithm, based on a Set Partitioning • each client must be visited only once a day;
formulation (Balinsky and Quandt, 1964; Agarwal • the daily total travel cost must occur within the
et al., 1989), and on a packing/routing heuristic time of a working day for each truck;
which provides both an initial upper bound and an • each truck must not be loaded over its capacity
initial set of columns (core problem) to perform for a single route.
the Branch-and-Price algorithm.
In Section 2 we describe the problem. In Section The company must determine the routes and
3 a fast combinatorial heuristic is proposed to find the daily delivery plan for each truck. Up to now it
a feasible solution whose value constitutes a good has used an inefficient human ‘‘trial and error’’
upper bound for the optimal solution very quickly. procedure requiring about three hours. An algo-
Section 4 proposes a Set Partitioning formulation rithmic approach, either exact or heuristic, is thus
and presents a Branch-and-Price algorithm to needed. It could become the computational engine
solve the problem to optimality. Section 5 looks at of a decision support system devoted to solving the
computational results and compares the perfor- problem efficiently.
mances of the heuristic and exact approaches. After a preliminary study, we have discarded
Section 6 draws conclusions. the possibility of choosing a model to assign fixed
delivery days to gasoline stations. The frequency
of the orders is extremely variable as it depends on
2. Problem description many factors. Many of the gasoline stations are
located in tourist areas, so the demand for fuel
In this section we present the case of a company depends on the season and on the climate. More-
that delivers different types of fuel to a set of fuel over gasoline stations are located in a congested
pumps located in an urban area. We describe the area on the access roads to the city. In this case the
available resources, the characteristics of the re- variability depends on traffic restrictions imposed
quired service, the adopted distribution policy and by the local government: very often, when the level
the operative constraints. of pollution exceeds a threshold value, the traffic is
The company has one warehouse and a fleet of stopped for one or more days and this is unpre-
trucks with differing capacities. Each truck has dictable. Finally, we have to observe that the
several tanks with differing capacities. The com- gasoline stations are private and the company
pany has a set of clients. Each client places an policy is to take orders to supply clients at any
order with a frequency of one or more days and time and to guarantee delivery in 24 hour (at
each order must be satisfied by the following day. most). In our study, we did not consider other
172 P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179

aspects of management and planning like the trucks and the smaller orders are utilized to com-
inventory holding costs, concentrating our atten- plete the filling of each truck.
tion only on the daily delivery plan. In the generic iteration, the heuristic compares
In the following sections we propose a very fast the biggest not yet allocated order ri with the ca-
heuristic to solve the problem. After we propose pacity Ck of the first free truck k.
a Set Partitioning formulation and a Branch-and- If ri is greater than or equal to Ck and the time
Price algorithm (B&P) to find the exact solution of necessary to satisfy this order is smaller than the
the Fuel Delivery Problem. remaining time RTk that truck k requires to com-
plete the working day, a complete route for truck k
is defined. In this case it is also necessary to insert a
3. A fast heuristic new order ri  Ck in the order list.
By contrast, if ri is smaller than Ck , the heuristic
The described delivery problem can be viewed considers the following order rj which is smaller
as a combination of a packing and a routing than the residual capacity RCk of the truck and
problem. It can be solved by a packing ‘‘best fit checks if it can be loaded on truck k. The latter test
decreasing’’ heuristic supported by ‘‘saving’’ tests is necessary since it is possible that an order
for the generation of the delivery routes. This ap- rj < RCk cannot be allocated to truck k, due to the
proach has shown good results (see Section 6) both constraints that the content of each tank must be
in terms of quality of the solution and of compu- directed to the same clients and that each tank
tation times. cannot be partially filled.
The data set of the heuristic consists of a When the residual capacity of truck k allows the
shortest path distance matrix, a client order array, allocation of order rj to k, we check if the fol-
and a truck capacity array. lowing tests are verified:
Let D ¼ fdij ; i; j ¼ 0; 1; . . . ; ng, be the matrix of d0i þ dij þ dj0 < S½d0i þ di0 þ dj0 þ d0j 
shortest path distances, where 0 is the warehouse
node and 1; . . . ; n are the fuel pump nodes, dij is where 0 < S 6 1 ð1Þ
the travel time from node i to node j including the
d0i þ dij þ dj0 6 RTk ð2Þ
delivery time at the jth fuel pump.
Let R ¼ fri ; i ¼ 1; . . . ; n0 g be the daily client These two tests check whether it is possible to
orders matrix. Each row, referred to a client i, is an add an order to a route to which a single client i is
array ri ¼ frij ; ri g where rij is the type j fuel order already allocated.
of the client i and ri is the total fuel order (sum of The former is the saving test (Clark and Wright,
the rij ). 1964): to serve the client j after the client i the
Let A ¼ fak ; k ¼ 1; . . . ; nt g be the truck capacity cost of the route 0–i–j–0 must be less than the sum
matrix. Each row, referred to a truck k, is an array of the costs of the routes, 0–i–0 and 0–j–0, that
ak ¼ fakt g where akt is the number of type t tanks serve the same clients, S being a calibration para-
in the truck k. meter.
Moreover, for each truck k, the following pa- The latter test verifies if the time to satisfy the
rameters are used: total capacity Ck , residual ca- order previously allocated to truck k and the order
pacity RCk , length of the driverÕs working day Tk , rj is smaller than the residual time RTk that the
and residual time for the kth truck driver RTk . truck k has to complete the working day. If (1) and
The key idea of the heuristic is to associate each (2) are both satisfied, order rj is allocated to the
order with a truckÕs route satisfying the problem truck k.
constraints. It starts by determining a set of routes A route is completed by adding orders one at a
that fill the total working day for the first truck. time until the route is fully defined. If more than
The algorithm repeats the process on the other one order is already allocated to the current route,
trucks until all the orders are satisfied. In such a these tests must be enriched. For example, if more
way, the biggest orders are allocated to the biggest clients (r; s; . . . i) have been previously assigned to
P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179 173

the current route of truck k, to calculate the saving order; trucks are arranged in decreasing
associated with the order rj , the term d0i in the order of capacity.
relations (1) and (2) becomes the total length of Step 2: The first unserved order in R is allocated
the path that the procedure has computed to reach to the first truck k whose remaining time
the destination i, taking into consideration other RTk allows the order to be satisfied (so, if
intermediate destinations. j is the client that has placed the order,
It is worth noting that first terms of the rela- it must be d0j þ dj0 6 RTk ).
tions (1) and (2) could be greater than the cost Step 3: If the residual capacity RCk of the kth
of the minimum Hamiltonian cycle through the truck is zero then go to step 4, otherwise
nodes f0; . . . ; i; jg and so the tests could therefore go to step 5.
make a route that, by an appropriate permutation Step 4: The last allocated order is deleted from the
of the served nodes, could satisfy the previous tests list, and the value of the parameter RTk is
unfeasible. updated; return to step 2.
The procedure described in this paper is a Step 5: The following orders in the matrix R are
constructive procedure, which cannot make any considered: if there is an order y which
permutations. Once the route is completely de- can be allocated to the kth truck, go to
fined, however, such a permutation can be made to step 6; otherwise the filling of the k-th
reduce total costs without changing the served truck is terminated and go to step 8.
nodes. Step 6: If order y satisfies the saving and residual
As stated above, unfilled orders are stored in a time conditions, go to step 7, otherwise
list sorted in decreasing order. The orders gener- return to step 5.
ally assume similar values and so very often several Step 7: Order y is allocated to the kth truck, the
consecutive orders have the same value. They are parameters RTk and RCk are updated,
characterised, however, by different saving values. order y is deleted from matrix R; return
In these cases it is more suitable to choose the to step 5.
order with the best saving value. So, to complete Step 8: If the content of the k-th can be allocated
the filling of a partially filled truck, orders with the to a smaller k 0 th truck, RTk is brought back
same total value should be chosen according to the to the value it had in step 2, the content of
best saving value. the kth truck is allocated to the k 0 th truck
If it is not possible to allocate an order to a and RTk0 is updated; return to step 2.
truck, but the truck is partially filled, the algorithm
tries to allocate the entire route to a smaller truck. To estimate the computational complexity of
When the filling of truck k is completed, the the proposed heuristic procedure, the following
algorithm restores its total capacity Ck , updates considerations can be made, based on a worst case
the value of the residual time RTk and builds an- evaluation.
other route for the same truck (if there is sufficient The number of truck routes can be at most n0 ,
residual time) or else for a different truck. The number of daily orders. Each route in the delivery
process ends when all the orders have been allo- plan needs a sorting order list ðOðn0 log n0 ÞÞ and
cated. three allocation tests (capacity, saving and time
In the following, for the sake of clarity, we delivery tests) at most for all the other orders in the
summarise the main steps of the proposed heuristic list. The number of orders in the list is n0 in the
algorithm: first iteration, n0  1 in the second and so on. Each
saving test and time delivery test requires only one
Step 0: The client orders are loaded and the fleet comparison and few sums, while each capacity
data related to trucks and drivers are ini- test, in the worst case, requires as many compari-
tialised. sons as the number of fuel types (nf ) multiplied
P
Step 1: The rows of the matrix R are sorted ac- by the number of tanks in the truck k (nf t akt )
cording to decreasing value of the total and the same number of subtractions. Usually the
174 P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179

number of tanks in a truck is less than 10. In single route of a truck, starting and ending at the
summary, an upper limit of the number of com- warehouse. In each column j, the ith element is 1 if
parisons performed by the procedurePis expressed the client i is visited using route j, 0 otherwise.
by n0 ½n0 log n0 þ an0 , where a ¼ nf t akt þ 2. It A cost cj is associated with each column (route)
follows that the worst-case complexity of the j. It corresponds to the shortest Hamiltonian cycle
proposed procedure is Oðn20 log n0 Þ. to visit those clients which can be efficiently com-
In the next sections we describe a Set Parti- puted by enumeration due to the small number of
tioning formulation with side constraints and we clients that can be served on a single route. In fact,
solve it through a Branch-and-Price algorithm due to the capacity of the trucks, the average size
which uses the packing/routing heuristic above of the orders and the length of each truck driverÕs
described to provide an initial upper bound and to working day, it is impossible to serve more than m
select a good initial set of columns. clients on a single route, so each column of the
incidence matrix contains at most m 1Õs. In real
problems m is not greater than 4.
4. An exact approach Table 1 shows the scheme of an incidence ma-
trix. The columns (routes) are ordered with respect
In this section we show how to formulate the to the trucks, i.e. columns between ncolði  1Þ þ 1
Fuel Delivery problem as a Set Partitioning and ncolðiÞ are related to the truck i.
problem with side constraints. Then we describe
the Branch-and-Price approach used to find the 4.2. Preprocessing
optimal solution of the problem.
The formulation of the Fuel Delivery as a Set In order to solve to optimality the Set Parti-
Partitioning problem is based on the following 2 tioning problem in a reasonable computation time
stages described separately and performed simul- it is crucial to limit the number of columns to a
taneously in the procedure: maximum of a few thousand. In our case study,
the number of columns (routes) grows very quickly
– route (column) generation for the client-route with the number of daily client orders, and begins
incidence matrix of the model, to exceed 100,000 when there are more than 25
– preprocessing tests for column elimination. clients served daily. So we need to perform efficient
column reduction tests based on the problemÕs
4.1. Route generation constraints. A column can be deleted:

The Set Partitioning formulation requires the (i) if the correspondent route does not satisfy
generation of a client-route incidence matrix some constraints of the problem and therefore
G ¼ fgij g. Each row is associated with a client who this route cannot be considered in a feasible
must be served in a day. Each column represents a solution.

Table 1
A scheme of a client–route incidence matrix
P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179 175

(ii) if it does not satisfy the saving condition (as We can formulate the Fuel Delivery problem as
defined in Section 3, saving is the reduction a Set Partitioning problem:
of travel cost obtained if two or more clients X
z¼ cj xj Min!
are served by the same route instead of by a
j¼1;nc
single route for each client).
s:t:
X
In summary, the pre-processing tests used to gij xj ¼ 1 i ¼ 1; . . . ; n0 ð3Þ
reduce the size of the client–route matrix include: j¼1;nc
X
cj xj 6 Tk k ¼ 1; . . . ; nt ð4Þ
– truck-capacity test (for each column the sum of j¼aðkÞ;bðkÞ
the satisfied orders is within the truckÕs capac-
xj 2 f0; 1g
ity);
– order-satisfaction test (for each column the set Constraints (3) require that each client must be
of orders is to be expressed as a combination visited only once a day. Constraints (4) require
of the truck tank capacities); that the daily total travel cost of each truck (ex-
– route cost test (the single route cost cj , expressed pressed in time unit) is not greater than the length
in time unit, must be not greater than 8 hours); of the working day.
– saving test for each route.
4.4. A Branch-and-Price approach
After this step, the resulting matrix is made by
columns (routes) which are feasible for the prob- In this section we describe a Branch-and-Price
lem only when they are considered separately. So approach for the solution of the Set Partitioning
the constraints related to the unicity of the visit to problem. It initially considers only a subset of
each client and to the length of the working day of routes (core problem) and finds the optimal solu-
each truck (that is of each driver associated with tion of the problem adding only few variables to
the truck) must be added to the formulation as the initial subset. It consists of two stages related
side constraints. However this matrix, as shown in to:
Section 6, contains a great number of columns that
make the solution of the problem using a com- (1) core problem selection
mercial MIP solver difficult. To avoid this problem (2) enumeration tree.
we used a B & P approach, described in Section 5,
that allow us to solve the problem considering In stage 1 we use the packing/routing heuristic
only a subset of the columns of the incidence described in Section 3 to determine a set of feasible
matrix. solutions whose routes constitute the core prob-
lem. In stage 2 we solve to optimality the Set
4.3. A set partitioning formulation Partitioning problem.

Let xj be a binary variable which is 1 if route j is 4.4.1. Core problem selection


in the solution, 0 otherwise, and let cj be the cost The packing/routing heuristic described in Sec-
associated with route j (the total travel cost of the tion 3 provides only one feasible solution for the
route). Let nc be the total number of feasible col- original problem A good set of feasible solutions
umns, and nc ðkÞ the number of feasible columns may be obtained by means of several runs of the
related to the trucks from 1 to k with nc ð0Þ equal to proposed heuristic, opportunely tuned as sug-
0. Let aðkÞ equal to nc ðk  1Þ + 1 and bðkÞ equal to gested by Rochat and Taillard (1995) and as
nc ðkÞ. Finally, let n0 and nt be respectively the shown in the following.
number of daily orders and the number of avail- First of all, we see that the heuristic described
able trucks, and let Tk be the daily working time in Section 3 requires setting the value of the
for truck k. calibration parameter S in the saving test (1). We
176 P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179

have observed that, varying the value of S in every node of the enumeration tree, column gen-
the range ½0:7; 1 the solutions are different in terms eration is used to solve to optimality the LP-
of composing routes but similar in terms of total relaxation.
cost. So modifying the value of S we can generate In particular, at the root node, after the solu-
different solutions with the same quality. tion of the LP-relaxation, the reduction costs for
Moreover, the construction of a route starts by all the columns (variables) of the Set Partition-
allocating the greater order in R to a truck k that ing formulation not belonging to the core problem
verifies the tests (1) and (2). It is possible to modify are computed. If all the reduction costs are not
the heuristic by beginning the construction of a negative, the value of the computed solution is also
route with a randomly chosen order and then a lower bound for the complete problem and the
completing the filling of the truck using the other algorithm continues in the enumeration process.
orders of the sorted list R. In other words it is If one or more reduction costs are negative, they
possible to substitute the Step 2 of the heuristic are added to the model, solving again the con-
described in Section 3 with the following steps: tinuous relaxation, which will present a better
value of the objective function. The procedure
Step 20 : an order randomly chosen in R is put at is iterated at each node of the enumeration tree,
the top of the list. until the optimal solution of the problem is ob-
Step 200 : the first order in R is allocated to the first tained.
truck k whose remaining time RTk allows It is well known that the performance of the
the order to be satisfied. Branch-and-Price procedure is strongly influenced
by the choice of the initial set of columns (L€obel,
Thus modified, the heuristic generates several 1998). In fact, a good choice reduces the number of
feasible solutions of worse quality than the solu- columns, which have to be added at each node of
tions generated by the original heuristic. the B&P tree.
In our Branch-and-Price approach, the initial In our case we use the packing/routing heuristic
set of columns is generated considering the routes proposed in Section 3 not only to generate a
of the feasible solutions computed in the following promising initial set of columns, but also to pro-
way: vide good upper bounds in short computation
times.
– running the original heuristic for different values The next section shows computational results
of S (we set S ¼ 0:70; 0.80; 0.90; 1) obtained by the heuristic and by the Branch-and-
– running three times, for each value of S, the Price algorithm.
modified heuristic.

Computational experience shows that the core 5. Computational experience


problem thus generated contains most of the
routes in the optimal solution. The exact and heuristic approaches were tested
The next section describes a Branch-and-Price on a set of real data provided by the company.
algorithm that solves the problem starting from There is one warehouse and a fleet of six trucks
this core problem. Computational results show with differing capacities. There are three types of
that this approach is very effective in the exact truck. Each truck has three types of tank as de-
solution of the problem. Moreover, it is also scribed in Table 2. For example, there are two
robust since it can be successfully applied to the trucks of type B (code 2 and 3). Each has two
solution of larger instances. tanks with a 1000 l capacity, five tanks with a 2000
l capacity and one tank with a 5000 l capacity, for
4.4.2. Enumeration tree a total capacity of 17,000 l.
The Branch-and-Price algorithm starts from the The total number of clients is 60, with about 25
core problem defined in the previous section. At clients served daily. Each client places an order
P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179 177

Table 2
Number of tanks and related capacities in each truck type
Trucks Number of tanks and related capacity (l)
Type Code 1000 2000 5000 Total
capacity
A 1 3 5 1 18,000
B 2, 3 2 5 1 17,000
C 4, 5, 6 3 4 – 11,000

with the company every 1–3 days and each order


must be satisfied by the following day.
Each order is an integer multiple of 1000 and
can be expressed as a combination of one or more
Fig. 2. Number of trucks used for the delivery.
tanks.
As already stated all the fuel in a tank is to be
delivered to only one pump. Moreover, for each cedure we cannot indicate the value of the com-
working day of a standard week, the following putation time. The company estimate is about 3
information is available: hours each day.
For each working day, the value of the optimal
• the orders for the fuel pumps, solution is 10% better than the solution produced
• the number of available trucks and the length of by the heuristic. The packing/routing heuristic in-
the working day. duces a total cost, which is 12–15% less than the
total cost produced by the companyÕs manual
The tests have been performed with these data procedure. So the solution obtained using the ex-
using a 400 MHz Pentium II processor. act approach produced a 22–25% decrease in total
Figs. 1 and 2 and the related Table 3 compare travel cost incurred by the fleet in fuel delivery.
the solutions produced by the Branch-and-Price It is worth noting that, by using the delivery
procedure, to those produced by the heuristic and plan generated by the heuristic procedure, the
to those produced by the companyÕs manual pro- number of necessary trucks is generally less than
cedure for a standard week, in terms of total travel the number of trucks required by the companyÕs
cost (cost), number of trucks (nt ) used for the de- delivery plan.
livery and in terms of computation times (comp. It is possible to note that the heuristic solution
time). Naturally for the companyÕs manual pro- is obtained in at most 0.1 second while the exact
solution requires at most about 4.5 seconds.
The computation time of the exact algorithm,
composed of three terms, relates to the operations
analysed in the following:

– generation of the feasible columns as described


in Section 4.1 and 4.2,
– selection of the core problem as described in
Section 4.4.1,
– running the Branch-and-Price algorithm de-
scribed in Section 4.4.2.

As regards the first operation, the available data


Fig. 1. Total travel cost of the fleet expressed in minutes. show that, due to the capacity of the trucks, the
178 P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179

Table 3
Comparison of the results obtained with the different approaches (computational times are expressed in seconds)
Solutions Monday Tuesday Wednesday Thursday Friday
Cost nt Comp. Cost nt Comp. Cost nt Comp. Cost nt Comp. Cost nt Comp.
time time time time time
Trial and 1897 5 – 2165 5 – 1712 5 – 1747 5 – 2181 5 –
error
Heuristic 1635 4 0.08 1872 5 0.10 1457 4 0.06 1535 5 0.06 1924 5 0.8
Optimal 1477 4 3.13 1634 4 4.48 1288 3 2.52 1315 3 3.01 1716 4 3.66

average size of the orders and the length of the Table 5


working day, the number of clients served on a Computational results for the core selection
single route is at most 4. So, if we do not perform Monday Tuesday Wed- Thurs- Friday
the preprocessing tests, the incidence matrix will nesday day
have a number of columns for each truck equal to nc-core 193 206 186 232 187
core 0.91 1.12 0.66 0.68 0.93
the number of all the client subsets with cardinality
time
not greater than 4. For each daily instance of
Table 3, Table 4 indicates the number of the po-
tential columns (nc-tot ), the number of feasible
Table 6
columns which passed the preprocessing tests (nc- Computational results for the exact solution
feas) and the total computation time expressed in
nc-feas Xpress nc-core nc-add B&P
seconds (feas time) necessary to this operation. We time time
want to emphasize the effectiveness of the pre-
Monday 2803 5.46 193 308 1.86
processing tests, which allow deleting over 98% of Tuesday 3797 5.96 206 352 2.59
potential columns. Wednesday 2958 5.15 186 298 1.53
The time spent in the selection of the core Thursday 3818 5.86 232 317 1.70
problem expressed in seconds (core time) is indi- Friday 3267 5.54 187 394 1.81
cated in Table 5 together with the size of the core
problem (nc-core). (nc-core), the number of columns added by the
Finally, to show the effectiveness of the Branch- B&P procedure (nc-add) and computation time
and-Price algorithm, we can compare its perfor- (B&P time) spent in performing the B&P proce-
mance with the performance of a commercial MIP dure expressed in seconds (comprising the core
solver used to solve the complete Set Partitioning selection time). We can see that the B&P time is at
model. In particular, in Table 6, the number of most 45% of the Xpress time.
column of the Set Partitioning model (nc-feas) and
computation time (in seconds) spent in solving it
using the commercial solver Xpress (XPRESS- 6. Concluding remarks
MP, 1999) (Xpress time) are indicated together
with the cardinality of the initial set of columns In this paper we have presented the real case of
a company that supplies a set of fuel pumps lo-
Table 4 cated in an urban area with three types of fuel. We
Computational results for the column generation proposed two solution approaches, the first, to
nc-tot nc-feas feas time solve large instances, based on a packing/routing
Monday 77700 2803 1.27
heuristic, the second based on a Set Partitioning
Tuesday 144942 3797 1.89 formulation. The obtained solutions have been
Wednesday 54648 2958 0.99 compared in terms of required computation time,
Thursday 77700 3818 1.31 total travel cost and number of trucks used for
Friday 144942 3267 1.85 delivery.
P. Avella et al. / European Journal of Operational Research 152 (2004) 170–179 179

These exact and heuristic procedures can be very Christofides, N., 1985. Vehicle routing. In: The Traveling
useful for effective planning of daily service. In the Salesman Problem: A Guided Tour of Combinatorial
Optimization. Wiley, Chichester, UK, pp. 431–448.
management phase the procedure can be used to
Clark, G., Wright, J., 1964. Scheduling of vehicles from a
test the stability of the solution, as regards possible central depot to number of delivery points. Operations
variations in time to cover the distances due to road Research 12, 568–582.
traffic congestion. The procedure can also be used Dantzig, G.B., Ramser, J.H., 1959. The truck dispatching
as a tool to simulate alternative scenarios as re- problem. Management Science 6, 80–91.
Fisher, M.L., 1995. Vehicle routing, in network routing. In:
gards variations in the orders and the fleet.
Ball, M.O., Magnanti, T.L., Monma, C.L., Nemhauser,
A research perspective regards the analysis of G.L. (Eds.), Handbooks in OR & MS, vol. 8. Elsevier,
the multiple warehouse case. A heuristic algorithm Amsterdam, pp. 1–33.
can spring from an appropriate integration of a Gendreau, M., Potvin, J.Y., 1998. Dynamic vehicle routing and
packing algorithm within a multi-warehouse ve- dispatching. In: Fleet Management and Logistics. Kluwer
Academic Publishers, pp. 115–126.
hicle routing heuristic. It is still possible to for-
Golden, B.I., Assad, A.A. (Eds.), 1988. Vehicle Routing:
mulate the problem as a Set Partitioning model by Methods and Studies. North Holland, Amsterdam.
generating all the feasible columns for each ware- Laporte, G., Osman, I.H., 1995. Routing problems a bibliog-
house (each truck is linked to a single warehouse). raphy. In: Laporte, G., Gendreau, M. (Eds.), Freight
The solution of the Set Partitioning model will Transportation. Annals of Operations Research, vol. 61,
pp. 227–262.
then establish which clients to link to each ware-
L€
obel, A., 1998. Vehicle scheduling in public transit and La-
house. grangean pricing. Management Science 44 (12-1), 1637–1649.
Rego, C., Roucairol, C., 1995. Using tabu search for solving a
dynamic multi-terminal truck dispatching problem. Euro-
References pean Journal of Operational Research 83, 411–429.
Rochat, Y., Taillard, E., 1995. Probabilistic diversification and
Agarwal, Y., Mathur, K., Salkin, H.M., 1989. A set-partition- intensification in local search for vehicle routing. Journal of
ing based exact algorithm for the vehicle routing problem. Heuristics 1, 147–167.
Networks 19, 713–749. Simchi Levi, D., 1994. New worst-case results for the bin-
Balinsky, M., Quandt, R., 1964. On an integer program for a packing problem. Naval Research Logistic Quarterly 41,
delivery problem. Operations Research 12, 300–304. 579–585.
Ballou, R., 1998. Business Logistics Management: Planning, SURFF, 1998. Sustainable urban and regional freight flows,
Organizing and Controlling the Supply Chain. Prentice European Commission project TR-1053.
Hall. Van der Bruggen, L., Gruson, R., Salomon, M., 1995.
Brown, G., Ellis, C., Graves, G., Ronen, D., 1987. Real-time, Reconsidering the distribution structure of gasoline product
wide area dispatching of mobile tank trucks. Interfaces 17, for a large oil company. European Journal of Operational
107–120. Research 81, 460–473.
Brown, G., Graves, G., 1981. Real-time dispatch of petroleum XPRESS-MP, 1999. Optimization Subroutine Library, XOSL,
tank trucks. Management Science 27, 19–32. Reference Manual, Release 11, Dash Associates.

You might also like