DOCUMENT DE TRAVAIL

Size: px
Start display at page:

Download "DOCUMENT DE TRAVAIL"

Transcription

1 Publié par : Published by: Publicación de la: Édition électronique : Electronic publishing: Edición electrónica: Disponible sur Internet : Available on Internet Disponible por Internet : Faculté des sciences de l administration 2325, rue de la Terrasse Pavillon Palasis-Prince, Université Laval Québec (Québec) Canada G1V 0A6 Tél. Ph. Tel. : (418) Télec. Fax : (418) Pauline Tremblay Vice-décanat - Recherche et affaires académiques Faculté des sciences de l administration rd@fsa.ulaval.ca DOCUMENT DE TRAVAIL Optimal and near-optimal solutions for the multi-depot petrol station replenishment problem with time windows Fabien CORNILLIER Fayez BOCTOR Jacques RENAUD Version originale : Original manuscript: Version original: Série électronique mise à jour : On-line publication updated : Seria electrónica, puesta al dia ISBN

2 Optimal and near-optimal solutions for the multi-depot petrol station replenishment problem with time windows Fabien Cornillier 1 ; Fayez Boctor 2 ; Jacques Renaud 2 1 CENTRUM Cat lica, Jr. Aloma Robles , Los Alamos de Monterrico, Lima, Peru, address: fcornillier@pucp.pe 2 Centre interuniversitaire de recherche sur les réseaux d entreprise, la logistique et les transports (CIRRELT), Faculté des sciences de l administration, Université Laval, Québec, Canada G1V 0A6, addresses: fayez.boctor@fsa.ulaval.ca; jacques.renaud@fsa.ulaval.ca Abstract In the Multi-depot Petrol Station Replenishment Problem with Time Windows (MPSRPTW), the delivery of petroleum products stored in a number of different petroleum depots to a set of petrol distribution stations has to be optimized. Each depot has its own fleet of heterogeneous compartmented tank trucks. Stations specify their demand by indicating the minimum and maximum quantities to be delivered for each ordered product and require the delivery within a predetermined time window. Several inter-related decisions must be made simultaneously in order to solve the problem. For this problem, the set of feasible routes to deliver all the demands, the departure depot for each route, the quantities of each product to be delivered, the assignment of these routes to trucks, the time schedule for each trip, and the loading of the ordered products to different tanks of the trucks used need to be determined. In this paper, we propose a mathematical model that selects, among the set of feasible trips, the subset that allows the delivery of all the demands while maximizing the overall daily net revenue. If this model is provided with all possible feasible trips, it determines the optimal solution for the corresponding MPSRPTW. However, since the number of such trips is often huge, we developed a procedure to generate a restricted set of promising feasible trips. Using this restricted set, the model produces a near-optimal solution. The whole solution process can be seen as a heuristic. We report the results of the extensive numerical tests carried out to assess the performance of the proposed heuristic. In addition, we show that, for the special case of only one depot, the proposed heuristic outperforms the previously published solution methods. Keywords: Petrol station replenishment, Truck-fleet management, Vehicle routing and scheduling 1

3 1 Introduction Most big North American petroleum companies subcontract the replenishment of their petrol distribution stations to private petrol transport companies. This paper deals with the daily replenishment planning problem that such transport companies are faced with. This problem, called the multi-depot petrol station replenishment problem with time windows (MPSRPTW), is characterized by the following. The transport company has to deliver the products that a number of petrol stations ordered during the next working day. These stations order one or more petrol product each time and specify the minimum and maximum quantity to be delivered for each ordered product. The minimum quantity is often determined as a multiple of the station's average daily sales and the maximum as the difference between the capacity of the station's underground storage tanks and an estimation of the stock remaining when the delivery truck arrives. In addition, stations specify a time window for the delivery of the ordered products. Stations usually require delivery during the periods when sales are low and not during peak sales periods. The transport company delivers products from one or more depot or storage terminal. Usually, these transport companies are paid by the client stations according to the quantity delivered and the location of the station. The company assigns a fleet of tank trucks to each depot. These trucks are compartmented and do not have flow meters. This implies that the contents of a compartment cannot be used to replenish more than one underground tank. Consequently, each compartment of the delivery truck must be filled with one of the products to be delivered on its trip and the quantity loaded in the compartment must be in between the minimum and maximum quantity specified in the client order for this product. A truck can make more than one trip during its working day, but the sum of the trip durations cannot exceed the allowed daily working hours. Currently, the working day has a limited number of regular working hours, and if the drivers are asked to exceed these regular hours, they receive a higher hourly wage for the overtime hours. However, the number of overtime hours per day is also limited. In this context, the transport company prepares a replenishment plan for their client stations for the next day. This plan requires making a number of simultaneous and inter-related decisions, which makes the problem significantly different from most other vehicle routing problems with time windows (Cordeau et al., 2007). To prepare such a replenishment plan, the transport company must determine the routes for the delivery of all the demanded products, assign these routes to trucks, determine the time schedule for each of the trucks, determine the quantities to be delivered each trip, and how to assign these quantities to the compartments of the truck selected for the trip. 2

4 Before going any further, let us clarify the difference between the terms route and trip as they are used in this paper. A route is defined by a circuit starting from a given depot, going to a series of stations, and returning to the same depot. On the other hand, a trip is defined by both a route and the truck traveling this route. In other publications, these two terms may be used as synonyms. The objective of the replenishment plan is to maximize the overall net revenue for the day. This revenue is the gross revenue paid by the replenished stations, minus two cost elements. The first element is the variable travel cost of the truck fleet, which is often calculated as the product of the total travel distance and an estimation of the average variable cost per unit of distance. The second cost element is the sum of regular and overtime wages. The remainder of this paper is organized as follows. In section 2, we present a brief review of the literature related to petrol station replenishment problems. In section 3, we provide a more formal statement of the considered problem, and we introduce a method to generate all the possible feasible trips in section 4. In section 5, we propose a mathematical model designed to select the optimal subset among a set of candidate trips. If we use the set of all feasible trips to solve this model, we obtain the optimal solution of our problem. However, since the set of all feasible trips is often huge, in section 6, we describe a method for generating a more restricted set of the promising feasible trips that are used to solve our mathematical model. This produces a near-optimal solution, and the resulting solution procedure can be seen as a heuristic. Section 7 reports the results of the numerical tests carried out to assess the performance of proposed heuristic. In section 8, we provide our conclusions. 2 Literature review Several versions of the petrol station replenishment problem have attracted interest over the last three decades. In this section, we present a brief review of the published literature dealing with the versions of the petrol station replenishment problem in a chronological order. One of the first articles was published by Brown and Graves (1981), who dealt with the petroleum product distribution network of Chevron USA. This network involved more than 80 depots and 300 tank trucks. An important feature of this problem was that customer orders were always full-truck-load orders; consequently, each replenishment trip included one and only one customer. Brown and Graves proposed an integer programming model to assign orders to trucks. The objective was to minimize the sum of travel costs and establish a penalty for trucks that exceed the allowable working hours per day, as well as those that had less than the required minimum working hours. 3

5 Brown, Ellis, Graves and Ronen (1987) described a computer system they developed for Mobil Oil Corporation in the United States. The distribution network studied involved 120 depots and 430 tank trucks. The dispatching procedure used by the system was an extension of the one presented by Brown and Graves (1981), but allowed visiting more than one customer per trip. However, the authors gave too few details about exactly how the dispatching was done. Van der Bruggen, Gruson and Solomon (1995) reported on a consultancy mission they carried out for a large oil company in the Netherlands. Their aim was to help the company redesign its distribution network. They suggested some simple models to assign clients to depots, to determine the fleet size and composition, and to restructure the depots network. Also in 1995, Ronen described some of the operational environments observed in the petroleum distribution industry. He presented three models the set partitioning model, the elastic set partitioning model and the set packing model and showed how they could be used in a petrol product distribution system. Taqa allah, Renaud and Boctor (2000) proposed two heuristics for constructing petrol station replenishment plans for the case in which there is only one depot, an unlimited homogeneous tank truck fleet, and no time windows. In the first heuristic, each trip visits only one station; the second one allows for multiple-station trips. They mentioned that single station trips are common in distribution policy practice and showed that this practice is not efficient by applying these two heuristics to some test problems. Malépart, Boctor, Renaud and Labilois (2003) proposed four heuristics for constructing replenishment plans over a horizon of several working days. A special feature of the problem studied was that, while some stations manage their own inventories and send their orders to the vendor whenever they want, the inventory of other stations is managed by the transportation company or the vendor who decides when to replenish these stations and what quantities to deliver. Their heuristics were tested using some real-life problems obtained from a transport company in eastern Quebec. These authors showed that their heuristics could lead to significantly reduced operational costs. Avella, Boccia and Sforza (2004) studied a petrol replenishment network involving one depot, heterogeneous tank truck fleet, and no time windows. For this case, the orders were integer multiples of one thousand liters, and the company used a particular distribution policy, which stated that each compartment of delivery trucks left the depot either completely full or totally empty. Avella, Boccia and 4

6 Sforza proposed a set partitioning formulation of this problem and developed a branch-and-price algorithm that managed to solve their test problems of up to 6 trucks and 25 customers. They also proposed a heuristic solution procedure. However, it is not clear whether or not their approach can solve larger problems in a reasonable computing time. Ng, Leung, Lam and Pan (2008) studied two small petrol distribution networks in Hong Kong: the Hong Kong Island network and the network for the Kowloon Peninsula and the New Territories. They proposed a model for simultaneously assigning trips to trucks and stations. For this case, stations inventories were managed by the vendor, who decided when to replenish each station and what quantities to deliver. The proposed model does not guarantee that no station will run out of stock. Recently, Cornillier, Boctor, Laporte and Renaud published three articles about the petrol station replenishment problem with one depot. In the first article, an exact algorithm was proposed to solve the single period case with unlimited heterogeneous truck fleet but without time windows (Cornillier et al., 2008a). In the second article, heuristics for the multi-period case with limited heterogeneous truck fleet and no time windows were proposed (Cornillier et al., 2008b). In the third article, two heuristics were proposed for the problem in which a limited heterogeneous fleet of tank trucks was used to replenish a set of stations with specified time windows (Cornillier et al., 2009). Table 1 presents the main characteristics of literature publications in which a replenishment planning method is proposed. The table demonstrates that the MPSRPTW considered in this study has not been the subject of any previous publication. Table 1: Main characteristics of the problems studied Contribution Fleet size Fleet Composition Stations per trip Number of depots Time Windows Brown et al., 1981 Limited Heterogeneous One Several No Brown et al., 1987 Limited Heterogeneous Several Several No Taqa allah et al., 2000 Unlimited Homogeneous One/several One No Malépart et al., 2003 Limited Heterogeneous Several One No Avella et al., 2004 Limited Heterogeneous Several One No Ng et al., 2008 Limited Heterogeneous Several One No Cornillier et al., 2008a Unlimited Heterogeneous One or two One No Cornillier et al., 2008b Limited Heterogeneous One or two One No Cornillier et al., 2009 Limited Heterogeneous Up to four One Yes 3 Problem definition 5

7 The multi-depot petrol station replenishment problem with time windows (MPSRPTW) can be defined as follows. Let G=(U V, A) be a directed graph, where U=(1,, m) is the set of depots, V=(1,, n) is the set of stations, and A={(i,j) : i,j U V, i,j U, i j } is the set of arcs. Let c ij and t ij be the travel cost and travel time associated with the arc (i, j) respectively. s i is the service time for depot or station i, where i U V; and K i is the set of trucks assigned to depot i, where i U. The delivery truck must reach station i within a time window [a i, b i ]. There are H working hours and up to H overtime hours per working day. In addition, we made the following assumptions: 1. There are several truck types, and each truck is assigned to one of the depots and cannot be moved to another depot during a given day. Consequently, each depot has its own fleet of trucks, and this fleet is limited and often heterogeneous. 2. Trucks are loaded before each trip at their depot (i.e., storage terminal) from a top or bottom loading rack, and the quantity loaded into each compartment is measured at the time of loading. 3. The capacity of the tanks in each truck type is known, and trucks are not equipped with flow meters. Thus, the quantity of the product loaded into a compartment can only be transferred into one underground storage tank. 4. Whatever the replenishment plan, the petrol products available at the depots are sufficient. 5. Only one working day is considered, and each station must be visited once and only once during this day. Furthermore, the truck must arrive within the required time windows. 6. Regular and overtime hours per day are limited, and the wage of an overtime hour is higher than that of a regular hour. 7. Several trips can be performed by the same truck as long as they can be done within the allowed working hours per day. 8. Waiting time during a trip and/or between trips is allowed and considered to be working time for the driver. 9. If the working time of a driver is less than the regular daily working hours, the driver is paid only for the real working time. 10. Service times, travel times and travel costs are known. 11. Travel time between two sites is the same, whatever the truck used. 12. Client stations order the required products, and for each ordered product, these stations indicate the minimum quantity to deliver and the maximum quantity that they can accept. A replenishment plan must be prepared for a given day according to the orders received the previous day. In order to prepare such a plan, the transport company must: 6

8 1. Design a set of routes that visit each client station once and only once; these routes must allow all the ordered products to be delivered; 2. Assign routes to trucks; 3. Determine the departure depot, the departure time, waiting times and the return time for each trip; 4. Determine the quantity of products to deliver with each trip; 5. Prepare the truck loading plan, which assigns the quantities to deliver to truck compartments, for each trip. The objective of the replenishment plan is to maximize the overall net revenue (i.e., the amount paid by the client stations) according to the quantities delivered and station location, minus both the variable travel cost of the trucks used and the driver wages. To solve this problem optimally, we propose the following procedure: generate all the possible feasible trips and select the trip subset that maximizes the net revenue while respecting all problem constraints. In the next section, we present a procedure to generate all the possible feasible trips. In section 5, we present a mathematical model to select, among a set of feasible trips, the subset that maximizes the overall net revenue. However, since the number of all the feasible trips is often enormous, we suggest generating a restricted subset of feasible trips and using the same mathematical model to obtain a near-optimal solution or a heuristic solution. In section 6, we present the procedure to generate this restricted subset of trips. 4 Generation of all feasible trips Let us first review our definition of route and trip. A route is a circuit that starts and ends at the same depot, while a trip is defined by both its route and the truck used. For this reason, many trips can have the same route. In addition, the same subset of stations can be replenished from any depot, so several routes can be used to replenish the same stations but from different depots. To generate all the feasible trips, there are three main steps: Step 1: Initialization Delete all arcs (i, j) from graph G, so that station j cannot be visited after station i, because either the stations' time windows are incompatible or there is no truck that can deliver all their orders together. Afterwards, generate all directed circuits in the resulting graph, starting and ending at the same depot, while involving at most e stations, where e is the maximum number of compartments in any truck. Finally, discard all circuits that make the minimal quantities ordered by the stations exceed the capacity of the largest truck since they cannot produce a feasible route. Each of the remaining circuits constitutes a candidate route. 7

9 Step 2: Time-window feasibility For each of the candidate routes, check the compatibility of its time windows and discard those with incompatible time windows. Step 3: Truck-loading feasibility For each remaining candidate route, verify whether or not there is at least one truck type that can deliver the orders of the given stations and discard those for which there is no such truck. For each truck type that can deliver all route orders, create a trip (defined by both the route and the truck type) and add it to the set of all feasible trips. For the same route, the quantities to be delivered may vary depending on the truck used. Thus, the revenue of a trip depends on the truck used. Then, calculate the revenue for each feasible trip. In the following sub-sections, we present these three steps in more detail. 4.1 Initialization To generate an initial set of candidate routes: 1- Delete all arcs (i, j) from the graph G so that station j cannot be visited by the same truck after station i. First, check the compatibility of the stations' time windows, and delete the arc (i, j) if a i +s i +t ij >b j since the truck cannot reach the station j before the end of the station's time window even if it arrives at station i at the very beginning of this station's time window. Second, delete the arc if the sum (e.g., in liters) of orders of i and j together exceeds the capacity of the largest truck, or if their orders cannot be loaded in any truck. The loading feasibility can be verified by solving the truck loading problem for these two stations for each available truck type, as is shown in section Let e be the maximum number of compartments (i.e., tanks) for all available truck types. Using Johnson s algorithm (Johnson, 1975), enumerate all the directed circuits starting and ending at the same depot and involving no more than e nodes of the graph. Discard circuits for which the sum of the orders of the stations (i.e., nodes) exceed the capacity of the largest truck. Also discard circuits for which the sum of travel time and service time exceeds allowable hours (i.e., regular and overtime hours) per day. The remaining circuits constitute the initial set of candidate routes. 4.2 Time-window feasibility A route r contains a depot and a sequence of stations to be visited. The route is time-window feasible if it can be assigned to a departure time that allows each station to be visited within its specified time window. Since travel times do not depend on the truck used, a route's time-window feasibility can be checked without knowing the truck that will be used. It may be necessary to have a waiting period after serving a 8

10 given station in order to avoid arriving at the next station before the beginning of its time window. However, these waiting periods should be as small as possible in order to minimize the route's duration. In addition to discarding routes that are not time-window feasible, the routes with a duration that exceeds allowable working time per day are also discarded. To simplify the presentation in this section, let the index 0 indicate the starting depot of route r and its stations be renumbered 1,..,i,.., n r. Let V r be the set of stations on the route. To verify the time-window feasibility of this route, we start by calculating, for each station i on the route, the time window within which the truck should leave the depot in order to arrive at station i between a i and b i. Let this departure window be noted [, ] ; thus, and. (1) Cornillier et al. (2009) show that route r is time-window feasible if and only if:. (2) Cornillier et al. (2009) also show that, if a route r is feasible, the sum of minimal waiting times, denoted w r, is:. (3) Furthermore, in order to minimize the route duration, the departure time window from the depot [ r, r ] and the route minimal duration r are: and,, (4). (5) 4.3 Truck-loading feasibility We need now to determine which truck types, if any, can deliver the orders of each candidate route. If no truck can deliver their orders, these routes are discarded. For each feasible truck for a given route, a trip is inserted in the feasible trip set, and its revenue is calculated. This can be done as shown in the following paragraph. Decompose each station order into its order lines. For example, there is an order line for each underground tank to be replenished. Let P be the set of the order lines, indexed p, of all stations on route r. l p and u p are the lower and upper quantity limits for order line p; g p is the revenue per liter delivered for order line p; C is the set of truck compartments, indexed c; and Q c is the capacity of compartment c. Let 9

11 q p be the quantity to deliver for order line p, and let y pc be a binary variable that takes the value 1 if order line p is assigned to tank c and zero, otherwise. Route r is feasible for a given truck if the following problem, called the Tank Truck Loading Problem (TTLP), has a feasible solution. (TTLP) Find: y pc {0,1}, q p 0; p P and c C which: Maximize: (6) Subject to: (7) (8) (9) Constraints (7) ensure that the quantities to be delivered are in between the specified lower and upper limits, constraint (8) implies that the quantities to be delivered are less than or equal to the capacity of the tanks used (an order line can be delivered by more than one compartment), and constraints (9) ensure that each compartment is not used to deliver more than one order line. As mentioned above, we include in the set of all feasible trips, a trip for each feasible route/truck combination. The net revenue of the trip is the optimal value of equation 6, minus the sum of the route's travel costs. The set of all feasible trips is then used by the model presented in section 5, which selects the optimal trip subset to use and determines the starting time for each selected trip. 5 Trip selection model In this section, we present our trip selection model, which selects a trip subset that maximizes the net daily revenue from the candidate trip set. If we enter the entire set of all feasible trips into our model, the model produces the optimal solution of the corresponding MPSRPTW. But if instead we use a restricted set of feasible trips, the model produces a good but not necessarily optimal solution. In addition to parameters already defined, the following notations will be used. Remember that we define a trip by both the truck used and the route, which is a sequence of stations to visit. Indices: t or l trip index s station index k truck index v index indicating the position of a trip in a set of trips for a given truck Sets: T set of all trips 10

12 K S t T k s E set of all trucks set of stations visited by trip t set of trips associated with truck k set of trips visiting station s upper limit for the number of trips that a truck can make in a working day. E is also used to indicate the set of the corresponding indices: E = {1, 2,, v,, E} Parameters: regular hour wage overtime hour wage t earliest departure time for trip t (i.e., for its route) t latest departure time for trip t t revenue of trip t minus the trip's travel cost duration of trip t t 11

13 Decision variables: x tv binary that takes the value 1 if trip t is the v th trip of its corresponding truck d tv departure time of trip t if it is the v th trip of its truck; 0, otherwise h k regular hours for truck k overtime for truck k Using these notations, the problem can be formulated as follows: (MPSRPTW) Find: that: Maximize: (10) Subject to: (11) (12) (13) (14) (15) (16) (17) (18) In this formulation, the objective function (10) maximizes the overall net revenue. Constraints (11) stipulate that each station is visited once and only once. Constraints (12) ensure that, at most, one route is assigned to the v th position on the trip sequence for truck k. Constraints (13) ensure that, for a given truck k, trip v exists only if trip v-1 exists. Constraints (14) require, if trip t is in position v in the sequence for this truck, its departure times lie within the time window [ t, t ]. Constraints (15) state that the trip departure occurs after the arrival time of the previous trip. Constraints (16) determine the total working time of each truck k, and constraints (17) and (18) ensure that the regular and overtime hours, respectively, for each truck k do not exceed allowable limits. 6 The restricted set of trips As mentioned above, the number of all feasible trips is enormous even for small problem instances. As a result, solving the MPSRPTW with the model with the whole set of all the feasible trips, as proposed in the previous section, is practically impossible. Thus, we suggest using a restricted subset of these trips,, to solve the trip selection model. To construct, we use the following two-phase procedure, in which we first construct an initial set of trips called T in and then select a subset of this set to obtain the required set, 12

14 Phase 1: Generation of an initial trip set T in The procedure used to generate the initial trip set T in is similar to the one presented in Section 4, but with two modifications. The first modification is that we apply the procedure to a sub-graph of G, denoted G, instead of applying it to G. We build this sub-graph G in two steps: 1- Initialization: G is composed of all the vertices of G (i.e., all i U V) and the arcs linking each station to each depot in the two directions. 2- Arc addition: Repeat the following times, where is a parameter to be determined by the user, or as long as the graph G remains connected: determine the minimum spanning tree in G, remove the arcs of this spanning tree from G, and add them to G. In the numerical tests presented in section 7, the parameter was set to 7. The second modification is that we use Johnson s algorithm (Johnson, 1975) to enumerate all directed circuits in sub-graph G starting and ending at the same depot and involving no more than three nodes (i.e., stations) of the graph instead of enumerating routes involving up to e stations. The resulting set of trips, denoted T in, is then reduced in phase 2, presented below. The subset of T in associated with truck k is denoted. Phase 2: Selection of the trips to retain in the final set, The trip selection procedure presented below is an iterative procedure that, at each iteration, considers the truck k as if it were the only available truck and then determines the optimal subset of trips that the truck can make during a given day from. Each truck is assigned to a given depot and thus all its possible trips start at and return to this depot. To determine this optimal subset of trips, we solve a single-truck version of the MPSRPTW model presented in previous section, called hereafter the k-mpsrptw model. This modified model considers only truck k and its set of trips,. In addition, since k may not have enough time to visit all the stations in the set of stations embedded in, the MPSRPTW model's constraints (11), which require that every station be visited once and only once, must be replaced by the following constraints, which require that every station in should be visited at most once: (19) 13

15 Once this k-mpsrptw model is solved, we add the selected optimal trips to our restricted set of trips,. Afterwards, we remove these selected trips from, as well as all the trips that visit the stations visited by these selected routes. We also remove these stations from. For each of the selected trips, we also check if the other trucks assigned to the same depot to which truck k has been assigned can perform the selected route. If there are such trucks, we also add the trips defined by these trucks and the given route to. In the following paragraph, we present the details of our procedure to construct the subset. In this procedure, N is a parameter that indicates the maximum number of routes embedded in the set of trips. The steps of this procedure are: 1- Set = and = Set T= T in, and. Arrange the list of all trucks in a random order. 3- Let k be the first truck in the list and i be its depot. 4- Solve the k-mpsrptw model using only the set of trips for truck k and the corresponding set of stations,. 5- Add the trips selected by the model to the set,. Let k be the number of trips selected. In this case, each selected trip has a different route. Thus, k is also the number of embedded routes. Set = + k. In addition, let R k be the set of corresponding routes and S be the set of stations visited by the selected trips. Set = - S. Remove from both T in and the trips selected by the model, as well as all trips visiting any of the stations contained in S. 6- For each other truck k assigned to i and for each route r R k, check if the trip t defined by r and k is in (i.e., is feasible). If so, remove t, as well as all other trips visiting any of the stations visited by it from both T in and. Also, remove these visited stations from. 7- If >N, then stop. Otherwise, go to step Let k be the next truck in the list of trucks and i be its depot. If all the trucks on the list have already been considered, let k be the truck on the top of the list and i be its depot. 9- If T in = (is empty), reset T in =T, and. Rearrange the list of trucks randomly, and go back to step If either or =, go to step 8. 7 Computational results The solution approach above was coded in C++ and used the Concert Library of CPLEX It was executed on a dual AMD Opteron 250 processor, 2.4 GHz computer with Linux as its operating system. 14

16 To assess the performance of this approach, we first used the 20 single-depot test instances used in Cornillier et al. (2009). These instances have 50 stations each. We also used three sets of 20 instances with 30 stations each and two, three or six depots respectively. 7.1 Test instances Test instances were randomly generated but based on a set of real-life data reported by Malépart et al. (1998). First, we randomly and uniformly located our stations in an area of 300 km by 100 km. The locations of the depots are shown in Table 2. The size-category of the stations was randomly determined using the empirical distributions presented in Table 3. Then, for each station, we randomly determined the number of products to order and the upper and lower limits of the quantity required for each product. Three truck types were used, and the number of trucks of each type was randomly determined based on the total daily demand. Table 4 gives the characteristics of these truck types. As mentioned in the introduction, stations pay the transport company according to the quantity delivered and the station location. Table 5 gives the amount paid per liter according to the station location. Table 2: Depot locations Depot Coordinates 50,50 75,25 225,75 225,25 75,75 150,75 150,50 Table 3: Station size-category distribution Category Daily sales (liters) Percentage of stations Truck type Number of tanks Capacity (1000 liters) Table 4: Truck types Tank 1 Tank 2 Tank 3 Tank 4 Tank 5 Tank 6 Total Table 5: Payment per liter delivered according to the station location Distance from the nearest depot (km) >200 Payment per liter ($ CAD) In addition, the following parameters were used for all instances: Regular hour wage $15 per hour; overtime wage $30 per hour; variable travel costs $1.70 per kilometer; average travel speed 60 15

17 kilometers per hour; truck loading time at the depot 15 minutes; service time at the stations 30 minutes; regular working hours per day 9 hours; maximum overtime 3 hours per day. The three sets of multi-depot instances are defined as follows. The first set has two depots (depot 2 and 3 in Table 2), the second set has three depots (depots 2, 4 and 6 in Table 2), and the third set has six depots (depots 2 to 7 in Table 2). In all cases, we used a fleet of 10 tank trucks. The number of trucks of each type and their assignment to depots are shown in Table 6. Table 6: Number of truck of each type (respectively type 1, type 2, and type 3) and their assignment to depots Instances with Two depots Three depots Six depots Depot 2 2,2,1 2,1,1 1,1,0 Depot 3 2,2,1-1,0,1 Depot 4-2,0,1 0,1,1 Depot ,1,0 Depot 6-0,2,1 0,1,0 Depot ,0,1 7.2 Results for the single-depot instances Since we do not have any published method for solving the multi-depot PSRPTW, we started by comparing the performance of the method proposed in this paper with the method proposed in Cornillier et al. (2009) for solving the single-depot PSRPTW. Later, we will analyze its performance for the other three multi-depot cases. The proposed solution approach was applied to the 20 single-depot instances used in Cornillier et al. (2009), and the results obtained were compared to the best results reported in this paper. The coordinates of the depot for these instances are those of depot 1 in Table 2 (i.e., (50,50)). We applied the proposed procedure to generate the restricted set of feasible trips. In order to reduce computational time, we generated routes of no more than three stations, and we stopped the procedure once N routes were generated with N {150, 300,450,600,750}. In addition, we limited the solution time for the trip selection model to two hours. The results obtained for this study were compared to the results obtained by the geographical decomposition heuristic by Cornillier et al. (2009). We note that this reference heuristic also generates a restricted set of feasible trips and stops once N feasible routes are generated. It was tested for the same values of N reported in Table 7. Table 7 shows that the approach proposed in this paper outperforms the 16

18 geographical decomposition heuristic for all tested values of N, except for N=150, with an average improvement of about 4%. Thus, the solution approach proposed in this paper significantly outperforms the only published approach for the single-depot PSRPTW. Table 7: Average overall net revenue for the 20 test instances with one depot Method Value of N Proposed in this paper Geographical decomposition heuristic Percentage improvement Results for the two-depot instances To further assess the performance of our approach, we compared it to the following intuitive approach, which we call the partition approach. This approach starts by assigning each station to its nearest depot and solves the resulting single-depot sub-problems separately by solving the trip selection model (section 5), using all the feasible trips linking each depot to its assigned stations. The results obtained for the 20 instances of 30 stations and two depots are given in Table 8. Again, in this test and all tests reported hereafter, the number of stations per trip is limited to 3, the execution time for the trip selection model is limited to 2 hours, and the trip generation procedure is stopped once N routes are obtained with N {300,500,700,900}. Table 8: Average results obtained by our approach and the partition approach for the 20 instances with two depots Our approach with N = Partition approach Time to generate the set of trips (sec) Number of selected trips / the number of all feasible trips 5.6% 9.3% 13.0% 16.7% 100% Time to obtain the best solution when solving the model (sec) Overall net revenue These results show that the solution approach proposed in this paper, although it requires a much larger computational time, largely outperforms the partition approach. The net revenue obtained by our new approach is about 47% higher than that obtained by the partition approach. This result makes it clear that it is often better to replenish a station from a depot other than the nearest one. Other depots may have the capacity to deliver more to a given station than the nearest depot, and the station may better fit in a trip involving stations closer to this depot. Based on these results, we decided to reject the partition approach, and so it will not be used in the following numerical tests. 17

19 The results in Table 8 also show that using N=900 instead of N=300 increases the computational time from seconds (2936 seconds to generate the restricted set of trips and 2 hours to solve the trip selection model) to seconds (i.e., by about 65%), while increasing net revenue from to (i.e., by only 0.09%). It is also worth mentioning that only between 5.6% and 16.7% of all the possible trips were preselected and used to solve the trip selection model. 7.4 Results for the three-depot and the six-depot instances Tables 9 and 10 give the results of our new approach for the instances with 3 and 6 depots, respectively. Table 9: Average results of our approach for the 20 instances with three depots Value of N Time to generate the restricted set of trips (sec) Number of selected trips / the number of all feasible trips 3.7% 6.1% 8.6% 11.0% Time to obtain the best solution when solving the model (sec) Overall net revenue Table 10: Average results of our approach for the 20 instances with six depots Value of N Time to generate the restricted set of trips (sec) Number of selected trips / the number of all feasible trips 1.8% 3.0% 4.2% 5.4% Time to obtain the best solution when solving the model (sec) Overall net revenue These results also show that the gain between using N=300 and N=900 is not necessarily worth the effort, since computational time increases by about 67% for the three-depot instances and by 51% for the sixdepot instances, while the revenue increases only 0.22% and 0.27%, respectively. Results also indicate that higher net revenues can be obtained if there are more depots. With six well-located depots, we obtain about 15.6 % more revenue than with only two depots. Finally, although the average time to obtain the best solution for the trip selection model is much less than the time limit of two hours, this time was close to two hours for some instances. Consequently, allocating two hours to solve this model seems quite reasonable, and results could change if we reduce the solution time limit. 8 Conclusions We have proposed a mathematical formulation of the multi-depot petrol station replenishment problem with time windows. However, except for very small instances, solving this formulation is a hard task and 18

20 can become impossible. Consequently, we suggested preselecting a limited set of trips and solving the model using only this restricted set. Computational results show that this heuristic approach is computationally feasible and produces good solutions. These results also show that, for the special case in which there is only one depot, the approach proposed in this paper outperforms the only solution heuristic previously published, with the average improvement obtained in this paper being about 4%. The proposed approach also outperforms the intuitive approach, called the partition approach, where stations are assigned to the nearest depot and then the resulting single depot replenishment sub-problems are solved separately. For instances with two depots, the proposed approach improves the partition approach solution by more than 43%. Acknowledgements This research was partially supported by the Canadian Natural Sciences and Engineering Research Council (NSERC) under Grants OGP and OGP This support is gratefully acknowledged. References Avella, P., Boccia, M., and Sforza, A. (2004). Solving a fuel delivery problem by heuristic and exact approaches. European Journal of Operational Research, 152: Brown, G. G., Ellis, C. J., Graves, G. W., and Ronen, D. (1987). Real-time, wide area dispatch of Mobil tank trucks. Interfaces, 17: Brown, G. G. and Graves, G. W. (1981). Real-time dispatch of petroleum tank trucks. Management Science, 27: Cordeau, J., Laporte, G., Potvin, J., and Savelsbergh, M. W. (2007). Transportation on demand. In Barnhart, C. and Laporte, G., editors, Transportation, volume 14 of Handbooks in Operations Research and Management Science, Elsevier, Cornillier, F., Boctor, F. F., Laporte, G., and Renaud, J. (2008a). An exact algorithm for the petrol station replenishment problem. Journal of the Operational Research Society, 59: Cornillier, F., Boctor, F. F., Laporte, G., and Renaud, J. (2008b). A heuristic for the multi-period petrol station replenishment problem. European Journal of Operational Research, 191: Cornillier, F., Laporte, G., Boctor, F. F., and Renaud, J. (2009). The petrol station replenishment problem with time windows. Computers and Operations Research, 36:

21 Johnson, D. B. (1975). Finding all the elementary circuits of a directed graph. SIAM Journal on Computing, 4: Malépart, V., Boctor, F. F., Renaud, J., and Labilois, S. (2003). Nouvelles approches pour l'approvisionnement des stations d'essence. Revue Française de Gestion Industrielle, 22: Malépart, V., Renaud, J., and Boctor, F. F. (1998). La distribution des produits pétroliers au Québec : État de la situation. Technical report, Université du Québec. Ng, W., Leung, S., Lam, J., and Pan, S. (2008). Petrol delivery tanker assignment and routing: a case study in Hong Kong. Journal of the Operational Research Society, 59: Ronen, D. (1995). Dispatching petroleum products. Operations Research, 43: Taqa allah, D., Renaud, J., and Boctor, F. F. (2000). Le problème d'approvisionnement des stations d'essence. APII-JESA, Journal Européen des Systèmes Automatisés, 34: Van der Bruggen, L., Gruson, R., and Salomon, M. (1995). Reconsidering the distribution structure of gasoline products for a large oil company. European Journal of Operational Research, 81: