European Journal of Operational Research 171 (2006) 776–786 www.elsevier.com/locate/ejor
Minimizing fleet operating costs for a container transportation company q Luca Coslovich b
a,b,*
, Raffaele Pesenti c, Walter Ukovich
a,b
a Dipartimento di Elettrotecnica, Elettronica ed Informatica, via A. Valerio, 10, 34127 Trieste, Italy Centro di Eccellenza per la Ricerca in TeleGeomatica ed Informazione Spaziale, Universita` di Trieste, 34127 Trieste, Italy c Dipartimento di Ingegneria Informatica, Universita` di Palermo, 90128 Palermo, Italy
Available online 14 October 2004
Abstract This paper focuses on a fleet management problem that arises in container trucking industry. From the container transportation company perspective, the present and future operating costs to minimize can be divided in three components: the routing costs, the resource (i.e., driver and truck) assignment costs and the container repositioning costs (i.e., the costs of restoring a given container fleet distribution over the serviced territory, as requested by the shippers that own the containers). This real-world problem has been modeled as an integer programming problem. The proposed solution approach is based on the decomposition of this problem in three simpler sub-problems associated to each of the costs considered above. Numerical experiments on randomly generated instances, as well as on a real-world data set of an Italian container trucking company, are presented. 2004 Elsevier B.V. All rights reserved. Keywords: Transportation; Container trucking; Stochastic fleet management; Decomposition; Set covering problem
1. Introduction and problem statement q
The research described in this paper has been partially supported by C.N.R. (National Research Council of Italy) contracts 00.00333.ST74 and 00.00339.ST74, and by ‘‘Fondo Trieste-Progetti di ricerca scientifica e tecnologica-Anno 1998’’. * Corresponding author. Address: Dipartimento di Elettrotecnica, Elettronica ed Informatica, via A. Valerio, 10, 34127 Trieste, Italy. Tel.: +39 040 558 7134; fax: +39 040 558 3460. E-mail addresses:
[email protected] (L. Coslovich), pesenti@ unipa.it (R. Pesenti),
[email protected] (W. Ukovich).
A core problem faced by container trucking companies deals with a set of transportation orders at minimum cost. The essential decisions to be taken are: how to partition the set of transportation orders so that each subset can be executed by a single driver; to whom to assign such subsets of orders; how to reduce the misplacement of
0377-2217/$ - see front matter 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2004.09.005
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
containers produced by the two previous operations; see, e.g., Crainic and Laporte (1997) and Powell et al. (1995). This paper addresses the problem that a container trucking company (in the following also called carrier) faces trying to minimize the operating costs, over a given time horizon, when carrying on shippersÕ orders. Each day, a carrier normally deals with mainly two types of shippersÕ orders, i.e., import orders and export orders. In particular: • an import order requires the carrier to move a given filled container from an origin terminal to a given location specified by the shipper, where the cargo is stripped from the container, and then to move the empty container to its destination terminal; • an export order requires that a given empty container is moved from an origin terminal to a given location specified by the shipper, where some freight is loaded into the container, and then to move the filled container to its destination terminal. Less frequently, a third kind of transportation order (in the following referred to as empty order) may occur: in this case, the shipper requests the transportation of an empty container from a given container terminal to another one. For each order, hard time windows may be present at each of the three visited locations. The carrier distributes the orders among some drivers and their trucks. In particular, we assume that each driver is modeled as a driver/vehicle combination (Powell et al., 2002), as it often happens in realworld cases. Within the above context, the carrier must partition the set of orders into feasible sequences of orders (i.e., order pairings). The existence of such a partition is guaranteed, since order pairings made of a single order are always feasible. Each pairing must be dealt with by the same driver within the workday. The carrier takes into account different costs (and constraints) in order to determine the pairings and assign them to the drivers. In particular, three cost components (deeply detailed in the rest of this section) are investigated: routing costs,
777
resource assignment costs and container repositioning costs. The cost of the execution of a pairing depends mainly on its structure, e.g., it is usually proportional to the length of the route or to the time necessary to complete it. These cost components in the following are referred to as routing costs. On the other hand, pairing execution costs depend also on the assignment of drivers to pairings; in the following, the couple driver/vehicle will also be referred to as a resource and the associated costs as resource assignment costs. In particular, the costs incurred by a resource for reaching the origin terminal of the first order in its pairing must be considered, but also driversÕ desire to be close to their domicile after having carried out a pairing is usually taken into account; see, e.g., Taylor et al. (2001) and Taylor and Meinert (2000) for typical needs of professional drivers and related job quality. Moreover, pairings exceeding a given length may be preferably assigned to some specific drivers, due to previous carrier-driver commitments. To reduce the resource assignment costs, the carrier usually assigns resources to pairings such that at the end of the day the vehicles are close to the origin terminals of the next day orders and, possibly, to their domicile (especially at the end of the week). The driversÕ desires are usually considered as minor costs, but, when possible, they are satisfied in order to prevent a high turnover of the drivers (Taylor et al., 1999). In order to introduce the third cost component considered, i.e., the container repositioning costs, let us analyze more in depth the structure of the pairings. In order to reduce the routing costs, the carrier may perform some optimization operations. For example, he may change both the destination terminal of the empty container in an import order and the origin terminal where the empty container is picked up in an export order. As a matter of fact, he can sequence an import and an export order using the same container, as depicted in Fig. 1, where the truck moves from B1 to B2 directly, instead of moving from B1 to C1, from C1 to A2, and from A2 to B2 . Moreover, a swap of containers may be required for properly executing the second order of Fig. 1. This can happen, for instance, when the second order involves
778
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
B1 A1
C1
A2
C2 B2 Movement of a truck with a loaded container Movement of a truck with an empty container Movement of a truck without any container
Fig. 1. An example of an optimization operation.
the transportation of perishable goods (thus needing, for example, a refrigerated container) or, simply, when it requires a container bigger than the one currently carried by the truck. In this optimization operation the driver may find it convenient to stop at a container terminal T and swap the empty container he is carrying with a suitable different one (see Fig. 2, where the notation used is the same of Fig. 1). Although this optimization operation is, in general, less profitable than the previous one, it could still be worth performing (and, actually, this optimization opportunity occurs much more frequently, in the real-world case considered). Due to the optimization operations of Figs. 1 and 2, the destination terminal C1 of the import order will miss an empty container, whereas the origin terminal A2 of the export order will have an extra one. Shippers usually allow such a container misplacement. Nevertheless, they may ask (and periodically they do) the carrier to move the misplaced containers to their expected destinaB1
T A2
Problem 1. Given a time horizon H, a set R of resources and, for each day t = 0, . . . , H, a stochastic set St of orders, determine, for each day t, a feasible subset ut Pt · R which minimizes the expected overall cost J0(I0, u0, . . . , uH, S0, . . . , SH) given by the sum of the routing costs, the resource assignment costs and the container repositioning costs. Notice that ut is a set whose elements are couples formed by a pairing and the resource expected to deal with it. The aim of this paper is to solve Problem 1 using the information reasonably available to a real container transportation company. 2. Mathematical formulation and solution approach
C1
A1
tion terminals, thus introducing a third kind of cost, in the following referred to as container repositioning cost. In order to formally state the problem, in the following some definitions and assumptions are introduced. For each day t in the considered time horizon H, let St be the set of orders to execute, ut be the decisions taken and It be the state of the resources, i.e., their position at the beginning of the day. Moreover, let Pt = 2St be the set of all the possible pairings, feasible as well as infeasible (e.g., with respect to time window constraints or container compatibility constraints). It is assumed that the problem must be addressed dynamically; in particular, the orders placed by the shippers are known the day during which they must be executed: the carrier may only estimate future transportation orders. Thus, the problem considered is both dynamic and stochastic. Each day t, decisions must be taken based on partially unknown information (Crainic and Laporte, 1997).
C2 B2
Fig. 2. An example of an optimization operation involving an additional container terminal T.
In this section an approximate solution approach for Problem 1 is proposed. From a mathematical point of view, Problem 1 could be formulated as: J ¼ min EfJ 0 ðI 0 ; u0 ; . . . ; uH ; S 0 ; . . . ; S H Þg; u0 ;...;uH
ð1Þ
where J0 represents the overall cost, function of the initial state, the decisions taken and the orders
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
779
to execute; expectation of J0 is evaluated, since future transportation orders can only be estimated. We are interested in dynamically solving (1), i.e., at each day t, we aim at determining the optimal decisions ut, given the available information. In the following, we deal with day t = 0, since the results obtained trivially generalize for the next days. At day t = 0, only the orders S0 are known. Then (1) can be rewritten as:
approximate the optimal solution by decomposing the problem imposing that at each day t; f ðI t ; ut Þ 2 N ðI tþ1 Þ, i.e., that the state of the resources at day t falls in a neighborhood of I tþ1 . The optimal decisions at day t = 0 can thus be approximated by solving the problem
J ¼ min gðI 0 ; u0 ; S 0 Þ
In other words, since the future transportation orders are not known in advance, we overcome this issue by balancing the vehicle fleet over the serviced territory so as to be prepared for the next dayÕs duties. In particular, at day t = 0 the error e on the overall present and future costs turns out to be bounded as follows: e ¼ J J 6 J J ¼ z z, where z is the solution of (3) when constraint (3b) is eliminated.
u0
þ min EfJ 1 ðI 1 ; u1 ; . . . ; uH ; S 1 ; . . . ; S H Þg; u1 ;...;uH
ð2aÞ I 1 ¼ f ðI 0 ; u0 Þ;
ð2bÞ
where J in (2a) is given by the sum of the stage costs g(I0, u0, S0) (the costs met today), which are certain, and the future ones, which are expected. Constraint (2b) simply express the condition that the tomorrow state of the resources depends on the current state of the resources and the decisions taken today. Decomposition (2a) suggests that (1) could be recursively solved by means of dynamic programming (Bertsekas, 1987). In order to turn the problem into a day-by-day one, define: I 1 ¼ arg min EfJ 1 ðI 1 ; u1 ; . . . ; uH ; S 1 ; . . . ; S H Þg; I 1 ;u1 ;...;uH
i.e., let I 1 be the state of the resources, in t = 1, that would minimize the future costs. Then, the following condition holds: J 6 J 6 J , where J is the solution of (2) when constraint (2b) is strengthened imposing that I 1 ¼ I 1 , and J is the solution of (2) when constraint (2b) is eliminated. Notice that even in this last case, by definition of I 1 , the resource state, in t = 1, would assume the value I 1 . From a practical point of view, a real carrier usually does not know the distribution of the future orders, and not even its expected value. However, it is the authorsÕ experience that usually container trucking companies can estimate quite well the value of I 1 , especially in case of stationary demand. That is to say that, usually, container trucking companies know pretty well the minimum number of trucks needed in a certain geographic area, for the next day. Then, we propose to
z ¼ min gðI 0 ; u0 ; S 0 Þ;
ð3aÞ
f ðI 0 ; u0 Þ 2 N ðI 1 Þ:
ð3bÞ
u0
2.1. Single day problem An integer programming formulation of problem (3) is: ( ) X XX XX z ¼ min pk xk þ qrk wrk þ cij y ij ; r
k
X
i
k
j
ð4aÞ ask xk P 1;
8s;
ð4bÞ
k
X
8r;
wrk 6 1;
ð4cÞ
k
X
wrk ¼ xk ;
r
X
y ij
j
X
8k; y ji ¼
j
y ii ¼ 0; 8i; X fik xk P d i ;
ð4dÞ
X
bik xk ;
8i;
ð4eÞ
k
ð4fÞ 8i;
ð4gÞ
k
xk ; wrk 2 f0; 1g; 8r; k
and
y ij f0; 1; . . . ; jSjg 8i; j;
ð4hÞ
where • xk is equal to 1 if pairing k is executed, 0 otherwise;
780
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
• wrk is equal to 1 if resource r is assigned to pairing k, 0 otherwise; • yij is the number of containers that may have to be moved from location i to location j, in the next time period. The parameters involved are: • pk, the routing cost of pairing k. More precisely, pk = ak + minr{brk}, where ak is the cost of the pairing (typically, proportional to its length) and brk is the cost of assigning resource r to pairing k; • qrk, the marginal cost of assigning truck r to pairing k. More precisely, qrk = brk minr{brk}; • cij, the cost of repositioning a container from location i to location j, weighted by the probability that the container transportation is actually required by the shipper; • ask, a parameter equal to 1 if order s is included in pairing k, 0 otherwise; • bik, a parameter equal to 1 if pairing k delivers a container to location i, where no container was expected to be delivered, or pairing k does not pick up a container at location i, where a container was expected to be picked up. Similarly, it is equal to 1 if pairing k picks up a container at location i, where no container was expected to be picked up, or pairing k does not deliver a container to location i, where a container was expected to be delivered; • fik, a parameter equal to 1/1 if pairing k ends/ starts in location i; • di, the incremental number of resources needed in location i, based on the expected future orders. The three cost components in the objective function (4a) are, respectively: the routing costs, the resource assignment costs and the container repositioning costs. Parameters pk and qrk depend on the state (i.e., position) of the resources. Notice that the last cost component of the objective function (4a) is an approximation of the real cost, also because it does not take into account the cost of assigning any resource to those particular container reposition orders. As a matter of fact, in
the real-world case considered, every time the carrier is asked to properly reposition some containers, what he actually does is to pay someone else to do it (typically, some independent drivers). Constraints (4b) express the condition that every order must belong to at least one pairing (i.e., that every transportation order must be executed). Constraints (4c) ensure that each resource is assigned to no more than one pairing and constraints (4d) state that each selected pairing is assigned to exactly one resource. Constraints (4e) and (4f) are used to evaluate the container repositioning costs. Thus, constraints (4b)–(4f) define the set of the feasible decisions ut Pt · R. Finally, constraints (4g) state that the vehicle fleet must be suitably distributed over the serviced territory at the end of the day, as modeled by constraint (3b); as a matter of fact, usually container trucking companies can estimate quite well the minimum number of trucks needed in a certain location for the next day. Our solution approach is based on the decomposition of Problem (4) in three separate simpler sub-problems: • the problem of determining the pairings that include every order; • the problem of determining the resources to assign to each pairing; • the problem of determining the containers to possibly reposition.
3. Solution of the single day problem Problem (4) is too difficult to be solved exactly for typical real-world instances (with hundreds of transportation orders and, consequently, tens of thousands of pairings). Hence, we decided to decompose it by separating the different decisions that the fleet manager has to take (i.e., which pairings to execute, which resources to use, and which containers to reposition). In order to perform this decomposition, constraints (4d), (4e) and (4g) have been relaxed in a Lagrangian fashion. The reason why those constraints have been relaxed is that the aim of our solution approach is to split the main problem into separate sub-problems; thus,
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
the relaxed constraints are those which link together decision variables related to different cost components. The three simpler sub-problems obtained are: 3.1. Pairing Definition (PD) Problem ( zPD ¼ min X
X
) ~ p k xk
þ
X
ai d i ;
ð5aÞ
i
k
8s;
ask xk P 1;
3.3. Container Repositioning (CR) Problem
xk 2 f0; 1g;
8k;
ð5cÞ P
3.2. Resource Assignment (RA) Problem ( zRA ¼ min
XX r
wrk 6 1;
) ð6aÞ
~ qrk wrk ;
k
8r;
ð6bÞ
8r; k;
ð6cÞ
k
wrk 2 f0; 1g;
where ~ qrk ¼ qrk kk . Moreover, in order to strengthen this model, two dominated constraints may be added, as follows: ( zRA ¼ min
XX r
) ð7aÞ
~ qrk wrk ;
k
wrk 6 1;
8r;
ð7bÞ
wrk 6 1;
8k;
ð7cÞ
k
X r
2
XX r
k
3
6 7 jSj 7 wrk P 6 6 7; 6max P a 7 k sk 7 6
ð7dÞ
s
wrk 2 f0; 1g;
8r; k:
(
P
where p~k ¼ pk þ kk þ i li bik i ai fik and k, l and a are the Lagrangian multiplier vectors associated to constraints (4d), (4e) and (4g), respectively. Notice that a must be non-negative, whereas k and l can assume positive as well as negative values.
X
To avoid the possibility of multiple assignments of resources to the same pairing, constraints (7c) have been introduced. These constraints are dominated by constraints (4d). On the other hand, the number of resources employed must surely be greater than or equal to the RHS of constraint (7d), as it can be easily proven (roughly, the minimum number of resources needed to deal with every transportation order equals the number of orders divided by the maximum number of orders that can be executed by a pairing).
ð5bÞ
k
X
781
ð7eÞ
zCR ¼ min
XX i
y ii ¼ 0;
) ~cij y ij ;
ð8aÞ
j
8i;
y ij 2 f0; 1; . . . ; jSjg;
ð8bÞ 8i; j;
ð8cÞ
where ~cij ¼ cij li þ lj . In particular, notice that this problem happens to be trivial: for i 5 j, if ~cij is greater than zero then yij is set to zero, if it is equal to zero then yij is unconstrained and if it is less than zero then yij is set to jSj, the number of transportation orders (as a matter of fact, it can be easily proven that jSj is an upper bound on the feasible values that yij can assume, that is to say that the maximum number of containers that may have to be moved from location i to location j equals the number of transportation orders, since an order is supposed to misplace at most one container). Problem PD is a Set Covering Problem. Thus, Problem (4), which is clearly NP-Hard, has been splitted into three sub-problems: the Set Covering Problem (5), still NP-Hard but quite studied in literature and with many efficient heuristics (Beasley and Chu, 1996; Caprara et al., 2000; Ohlsson et al., 2001), and Problems (7) and (8), the last being trivial. Obviously, the choice of relaxing the original problem leads, in general, to infeasible solutions. 4. Lower and upper bounds In this section, a lower and an upper bound of Problem (4) are presented.
782
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
4.1. A lower bound A lower bound of Problem (4) can be obtained by solving Problems (5), (7) and (8), that is to say that a lower bound is given by zPD + zRA + zCR. Moreover, notice that, due to the computational complexity of Problem (5), a lower bound of that problem may be calculated instead of the optimal solution. The most recent solution algorithms for the Set Covering Problem are mainly based on Lagrangian relaxation; see, e.g., Caprara et al. (2000). They are often solved iteratively using the subgradient method, a well-known approach for finding near-optimal multiplier vectors within a short computing time (Fisher, 1985). Thus, the subgradient method may be applied in order to obtain good Lagrangian multiplier vectors k, l and a.
to say, exploiting the knowledge of the previously selected pairings (the new constraints of Problems (7) and (8) are stated in Fig. 3; in this case xk are no longer decision variables: they must be considered as parameters); • Third stage: sum the three values just obtained. In this way, Problem (5) has been given a higher priority than Problems (7) and (8). As a matter of fact, constraints (4d) and (4e) are added to problems RA and CR, respectively: Fig. 3 shows an intuitive diagram of the procedure just described. In the next section, some computational results are shown. 5. Numerical experiments and computational results 5.1. Implementation details
4.2. An upper bound Once Problem (4) is decomposed into the three simpler sub-problems (5), (7) and (8) an a lower bound has been obtained using the subgradient method, a quite natural way for obtaining a feasible solution (i.e., an upper bound) is given by the following procedure: • First stage: either solve to optimality or find an upper bound of Problem (5) (e.g., via a greedy heuristic, like in Caprara et al., 2000), using the quasi-optimal Lagrangian multiplier vectors previously calculated; • Second stage: either solve to optimality or find an upper bound of Problems (7) and (8) taking into account the output of Problem (5), that is
The test algorithm (in the following also referred to as Ctr_opt module) was coded in ANSI C programming language, with calls to Cplex Callable Library (Cplex Linear Optimizer 4.0.7). Ctr_opt module was implemented on a COMPAQ AlphaServer DS20e running HP Tru64 Unix V4.0F operating system. Fig. 4 shows a high level flow chart of the test algorithm. During the subgradient iterations, all the Lagrangian multipliers involved (vectors k, l and a) have been updated using a scalar stepsize that has proven effective in practice (see Fisher, 1985, for the implemented stepsize formula and the references therein for many other interesting results on the subgradient method). The main cycle can be stopped either after a given number
Fig. 3. Outline of the procedure used to find an upper bound of Problem (4).
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
Start Read/Create the input data set Initialize the Lagrangian multipliers
Solve PD problem
Solve RA problem
Solve CR problem Update the Lagrangian multipliers NO Stop? YES Obtain a feasible solution Write the solution in the output file
Stop Fig. 4. Outline of Ctr_opt module.
of iterations has been performed or a certain time has elapsed. Eventually, a feasible solution is then obtained by means of the three-stage procedure presented in the previous section. 5.2. A real-world data set In order to test model (4) and the adopted solution approach, we conducted experiments on a real-world data set provided by a container trucking company. The considered company operates mainly in Italy and in the neighboring countries. Its fleet consists of tractors and semi-trailers capable of handling all types of containers and also equipped to carry hazardous materials. Its main customers are shipping lines, maritime agencies, service companies, industrial firms as well as private individuals. In this subsection a brief description of the tested real-world data set is presented. The available data set is concerned with a typical workday duty. The set of transportation orders considered consists of 359 orders. More precisely,
783
134 orders are import orders, 201 are export orders and 24 are empty orders. The involved locations to be visited are 207. In order to assess the routing costs, the shortest path distances between all the couples of locations must be known. In the real case, not all 21,321 distances were effectively available (due to the high average distance traveled in a typical order, symmetric distances were considered, thus all the distances to be known in this case were ((207 · 207) 207)/2 = 21,321). As a matter of fact, only 8012 distances were actually known by the company. For the other 13,309 unknown distances, a ‘‘big M’’ distance has been introduced, so that the generation of pairings with unknown distances was forbidden. This conservative approach has been chosen in order to avoid obtaining infeasible solutions. Nevertheless, different locations are usually visited with different frequencies: actually, there are locations visited very often (e.g., container terminals and main customersÕ locations), whereas other locations are visited very rarely (e.g., low demand customersÕ locations). As it happens, the company knows the distances related to most frequently visited locations. Hence, the poor knowledge of the distance matrix does not happen to be a serious drawback with respect to the obtained solution. Moreover, other distances that may be known and consequently inserted in the companyÕs databases would lead, in general, to better solutions with respect to the present one. 5.3. Computational results for the real-world data set The main results of the real-world data set experiment are summarized in Table 1 (the solution values are expressed in generic cost units). As reported, 252 pairings were selected, thus leading to an orders per driver ratio of 1.42. The behaviour of the company with respect to the data set analyzed led to a distance traveled of more than 127,000 km, whereas our solution allows to save more than 10,000 km. 5.4. Randomized data sets To better analyze the behaviour of our algorithm, randomized instances of Problem (4) have
784
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
Table 1 Results obtained for the real-world data set Orders Selected pairings Orders per driver CompanyÕs distance traveled Computed distance traveled Distance saved Lower bound Upper bound (feasible solution) (Lower bound/Upper bound) · 100 CompanyÕs solution value Computation time
Table 2 Dimensions of the randomly generated instances 359 252 1.42 127,880 km 117,829 km 10,051 km 146,089.43 147,612.07 98.97% 181,624.62 13,300 ms
been created. In particular, for each instance, the number of orders, the number of pairings, the number of resources and the number of locations were fixed. In addition, the following criteria have been implemented in the instance generator procedure: • each order is covered by at least one pairing; • an order misplaces at most one container; • a pairing cannot start and end in the same location; • the minimum incremental number of resources needed in a generic location for the next day must not be greater than the maximum number of resources that may actually reach that location. Moreover, the dimensions of a generic random instance must fulfill some other trivial constraints. Namely, the number of resources cannot be less than the number of transportation orders and the number of pairings must be greater than or equal to the number of transportation orders. In the following, two groups of test are presented. In the first group, the size of the randomized instances of Problem (4) is relatively small. The sizes are summarized in Table 2, where the number of non-zero entries of the coefficient matrix is also reported. These small instances have been generated and tested in order to evaluate the behaviour of our algorithm, when compared with the optimal solution. The second test have been performed on much larger instances (see the next subsection and Table 4). For those instances the use of heuristic algorithms are justified, since
Number Number Number Number Number Number Number
of of of of of of of
orders pairings resources locations columns (variables) rows (constraints) non-zeroes
20 90 90 40 9790 320 89,330
the optimal solution is not attainable in reasonable computation time (Caprara et al., 2000). 5.5. Computational results for the randomized data sets In this first test phase, small randomized instances have been tackled (see Table 2). For these tractable instances the optimal solutions have been computed using Cplex. The results obtained for 10 instances (after 50 subgradient iterations) are shown in Table 3, where OS stands for optimal solution and LB for lower bound. In all cases the computation time was negligible. The results reported in the third column of Table 3 show that, in case of randomly generated instances, satisfactory approximations have been obtained. In particular, notice that the approximation achieved with the real-world data set (see Table 1) seems to be even more accurate, in spite of the greater dimensions. This may mean that the specific features of the real-world data sets can lead to better results. Table 4 shows the performances of our algorithm when dealing with much larger instances Table 3 Results obtained for 10 small randomized data sets OS
LB
(LB/OS) · 100
227.00 284.00 125.00 206.00 360.00 157.00 197.00 161.00 235.00 234.00
224.02 276.82 123.74 205.45 358.62 151.26 189.60 156.12 232.59 226.04
98.69 97.47 98.99 99.73 99.62 96.34 96.24 96.97 98.97 96.60
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
785
Table 4 Results obtained for 10 large randomized data sets Dimensions (rows · columns)
LB
UB
(LB/UB) · 100
Time (s)
1000 · 50,000 1000 · 50,000 1000 · 50,000 1000 · 50,000 1000 · 50,000 1000 · 100,000 1000 · 100,000 1000 · 100,000 1000 · 100,000 1000 · 100,000
40,846,190 40,905,617 41,016,592 40,957,244 40,993,206 50,721,127 50,754,788 50,736,280 50,730,832 50,761,977
43,149,037 43,245,005 43,179,481 43,175,199 43,211,698 52,692,191 52,724,417 52,466,402 52,712,630 52,723,223
94.66 94.59 94.99 94.86 94.87 96.26 96.26 96.70 96.24 96.28
615.16 614.02 620.04 602.57 629.33 1519.01 1587.67 1552.76 1540.79 1507.34
(coefficient matrix with 1000 rows and 50,000 or 100,000 columns). As it can be seen, the gap between the upper and the lower bound keeps relatively small, despite the dimensions. Of course, notice that for such instances the computation times increase considerably; nevertheless, the problem remains tractable. It is worth observing that the tested algorithm gives better solutions for the tackled instances with 100,000 columns, compared to those with 50,000 ones (see the fourth column of Table 4). Such results can be justified by the fact that the implemented heuristics for the SCP do not give very good results when applied to small instances (Caprara et al., 2000). As a matter of fact, even a classical greedy heuristic can find better solutions when dealing with small coefficient matrices.
6. Summary and conclusions This paper describes and tackles a fleet management problem that arises in container transportation industry. We have focused on the minimization of the present and future operating costs incurred by the container carrier. By means of Lagrangian relaxation, the integer programming model has been decomposed into three subproblems. We have set up numerical experiments using randomized data sets as well as a real-world data set of an Italian container transportation company, in order to assess the soundness of the adopted solution approach in a practical scenario.
Our investigation reveals that the proposed approach allows to take advantage of the problem structure by decomposing the main model, in particular, separating the three cost components via Lagrangian relaxation. The numerical experiments show that apparently good solutions can be obtained, also when dealing with real-world data sets. In particular, when compared with the optimal solution, the algorithm finds upper bounds which are operatively good; in case of larger instances the gap between the upper and the lower bound remains acceptable, also according to the opinion of the fleet management team of the company considered. Currently, another opportunity is being investigated: transportation orders are often scattered over the serviced territory in clusters. Typically, there are a lot of orders which start and end in the same geographic zone (a geographic zone being, for example, the set of locations managed by a certain branch company) and only few orders will start and end in different zones. Thus, a suitable permutation of the rows and columns may lead to SCP matrices in which the non-negative entries will be located in sparse diagonal blocks. This is a possible topic for further research. Actually, the proposed permutation of the rows and columns is, in general, far from being a trivial problem (it is actually an NP-hard one, see e.g. Aykanat et al., 2004). Nevertheless, despite the computational complexity of this problem, the geographic information can help the carrier find near-optimal permutations, since the distribution of the transportation orders over the serviced territory is pretty well known.
786
L. Coslovich et al. / European Journal of Operational Research 171 (2006) 776–786
References ¨ .V., 2004. Permuting Aykanat, C., Pinar, A., C ¸ atalyu¨rek, U sparse rectangular matrices into block-diagonal form. SIAM Journal on Scientific Computing 25 (6), 1860–1879. Beasley, J.E., Chu, P.C., 1996. A genetic algorithm for the Set Covering Problem. European Journal of Operational Research 94, 392–404. Bertsekas, D., 1987. Dynamic Programming: Deterministic and Stochastic Models. Prentice Hall. Caprara, A., Toth, P., Fischetti, M., 2000. Algorithms for the Set Covering Problem. Annals of Operations Research 98, 353–371. Crainic, T.G., Laporte, G., 1997. Planning models for freight transportation. European Journal of Operational Research 97, 409–438. Fisher, M.L., 1985. An application oriented guide to Lagrangian relaxation. Interfaces 15, 10–21. Ohlsson, M., Peterson, C., Soderberg, B., 2001. An efficient mean field approach to the Set Covering Problem. European Journal of Operational Research 133, 583–595.
Powell, W.B., Jaillet, P., Odoni, A., 1995. Stochastic and dynamic networks and routing. In: Ball, M., Magnanti, C.L., Monma, C.L., Nemhauser, G.L. (Eds.), Handbooks in Operations Research and Management Science (8) Network Routing. North-Holland, Amsterdam, pp. 141– 295. Powell, W.B., Marar, A., Gelfand, J., Bowers, S., 2002. Implementing real-time optimization models: A case application from the motor carrier industry. Operations Research 50, 571–581. Taylor, G.D., Meinert, T.S., 2000. Improving the quality of operations in truckload trucking. IIE Transactions 32, 551– 562. Taylor, G.D., Meinert, T.S., Killian, R.C., Whicker, G.L., 1999. Development and analysis of alternative dispatching methods in truckload trucking. Transportation Research E 35, 191–205. Taylor, G.D., Whicker, G.L., Usher, J.S., 2001. Multi-zone dispatching in truckload trucking. Transportation Research E 37, 375–390.