description of a multi-stage procedure to solve the heterogeneous vehicle routing problem javier...

24
Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín [email protected] Department of Statistics and Operations Research Public University of Navarre, Pamplona, SPAIN Angel Juan http://ajuanp.wordpress.com Department of Computer Science Open University of Catalonia, Barcelona, SPAIN 2012 IN3-HAROSA Workshop Barcelona, June 13- 15, 2012 1

Upload: laura-wiggins

Post on 27-Dec-2015

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem

Javier Faulin

Alba Agustín

[email protected]

Department of Statistics and Operations Research

Public University of Navarre, Pamplona, SPAIN

Angel Juan

http://ajuanp.wordpress.com

Department of Computer Science

Open University of Catalonia, Barcelona, SPAIN

2012 IN3-HAROSA Workshop

Barcelona, June 13-15, 2012

1

Page 2: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

0. Contents

1. Introduction

2. Description of the Heterogeneous VRP

3. Main References

4. Solving the HVRP: the SAM method

5. SAM: Our approach for solving the HVRP

6. Solving CVRP: SR-GCWS

7. Designing the instances for SAM

8. Computational results

9. Sensitivity analysis

10. Conclusions & Future Work

2

Page 3: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

1. Introduction

The VRP models needs new paradigms and assumptions to fit their structures to the changing road transportation.

Some of the aforementioned new assumptions are based on new costs based on congestion, environmental impact or security-related and safety-related costs.

Nevertheless, others are connected to new hypothesis in the VRP model like the consideration of heterogeneous fleets, which is a much more realistic assumption.

The Heterogeneous Vehicle Routing Problem (HVRP) is a VRP with different capacities in their vehicles, usually due to the diversity of delivery needs in the companies.

We are not going to consider here the Fleet Dimensioning and Composition problem in its general formulation, but a routing analysis considering the option of using vehicles of different capacities.

3

Page 4: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

2.a Description of the HVRP The Heterogeneous Vehicle Routing Problem

(HVRP) is a well-known NP-hard problem:

A set of customers’ demands must be supplied by a fleet of vehicles.

Resources are available from a depot.

Moving a vehicle from one node i to another j has associated costs cij .

Several constraints related to limited capacity in each vehicle must be considered: there are vk vehicles of capacity Qk (k types of vehicles)

Goal: Minimization of the total distance-cost servicing all the customers

The Heterogeneous Vehicle Routing Problem with Stochastic Demands (HVRP) is a VRP which involves many real-life applications (Golden at al., 2002): urban waste collection, residential pickups and delivery of beverages, food and newspapers.

4

Page 5: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

Consider a complete and undirected graph G = (N, E), where:

N ={0, 1, . . . , n} is a set of given nodes representing the central depot (node 0) and the n customers to be supplied (nodes 1 to n).

E = {(i, j) | i, j in N with i ≠ j} are the edges or roads connecting each pair of nodes.

Moreover, consider also the following inputs:

The natural number m of different types of vehicles (m ≥ 2).

Vk = {1, 2, …, vk} is the set of vk vehicles of type k (1 ≤ k ≤ m), each of them having a loading capacity Qk > 0.

For all i in N, di ≥ 0 is the demand associated with node i. It is assumed that the depot has no demand, i.e. d0 = 0.

For all i, j in N with i ≠ j, and for all k (1 ≤ k ≤ m), cijk = cjik = cij ≥ 0 are the traveling costs associated with moving any vehicle from node i to node j (symmetric costs and no dependence of type of vehicle).

2.b Description of the HVRP 5

A-n80-k10 BKS homogeneous 100 (above, 10 routes) vs. heterogeneous 150-125 OBS (below, 9 routes)

A-n80-k10 BKS homogeneous 100 (above, 10 routes) vs. heterogeneous 150-125 OBS (below, 9 routes)

Page 6: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

2.c Description of the HVRP 6

The HVRP problem can be modeled using mathematical programming notation as follows, where: (a) xijk is a binary variable which takes the value 1 if a vehicle of type k is used to cover the road from i to j, while it takes the value 0 otherwise; and (b) yij represents the load in the truck arriving at customer j after visiting customer i in terms of the units of commodity C0. That is to say:

Page 7: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

2.d Description of the HVRP

Some important comments about the fleet composition:

We know beforehand the maximum number vk of each type k of vehicles we have, i.e. we have a limit number in the use of every type of vehicle.

We want obtain solutions minimizing distance-cost in the way is shown in the associated charts:

7

Original problem and typical solution having heterogeneous fleetOriginal problem and typical solution having heterogeneous fleet

Page 8: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

3.a Main References First references:

Gheysens F G, Golden B L and Assad A A (1984). A comparison of techniques for solving the fleet size and mix vehicle routing problem. OR Spectrum 6(4): 207-216.

Golden B, Assad A A, Levy L and Gheysens F G (1984). The fleet size and mix vehicle routing problem. Computers & Operations Research 11(1): 49-66.

Saksena J P and Ramachandran A (1986). An optimal fleet utilisation problem. European Journal of Operational Research 25: 406-20.

Salhi S and Rand G K (1993). Incorporating vehicle routing into the vehicle fleet composition problem. European Journal of Operational Research 66(3): 313-330.

Couillard J (1993). A decision support system for vehicle fleet planning. Decision Support Systems 9:149-159.

Second group of references:

Taillard E D (1999). A heuristic column generation method for the heterogeneous fleet VRP. RAIRO 33:1-14.

Ochi L S, Vianna D S, Drummond M A and Victor A O (1998a). An evolutionary hybrid metaheuristic for solving the vehicle routing problem with heterogeneous fleet. Lecture Notes in Computer Science 1391: 187-95.

8

Page 9: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

3.b Main References Second group of references:

Ochi L S, Vianna D S, Drummond M A and Victor A O (1998b). A parallel evolutionary algorithm for the vehicle routing problem with heterogeneous fleet. Future Generation Computer Systems 14: 285-92.

Tarantilis C D, Kiranoudis C T and Vassiliadis V S (2004). A threshold accepting metaheuristic for the heterogenous fixed fleet vehicle routing problem. European Journal of Operational Research 152: 148-58.

Tarantilis C D and Kiranoudis C T (2007). A flexible adaptive memory-based algorithm for real-life transportation operations: two case studies from dairy and construction sector. European Journal of Operational Research 179: 806-22.

Yaman H (2006). Formulations and valid inequalities for the heterogeneous vehicle routing problem. Mathematical Programming 106: 365-90.

Yepes V and Medina J (2006). Economic heuristic optimization for heterogeneous fleet VRPHESTW. Journal of Transportation Engineering 132: 303-11.

Subramanian, A., Vaz Penna, P.H., Uchoa, E. and Ochi, L.S. (2012). A hybrid algorithm for the Heterogeneous Fleet Vehicle Routing Problem. European Journal of Operations Research 221: 285-295.

9

Third group of references:

Page 10: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

4.a Solving the HVRP: the SAM method Considering the original problem with

the fleet (100,50,50):

We obtain three different solutions considering the homogeneous CVRP with vehicles of capacity 100 generated by the an efficient algorithm, such as the SR-GCWS (Juan et al., 2009).

It is clear than Solution 3 overcomes Solutions 1 and 2.

We save Solution 3 as a partial solution.

10

Page 11: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

4.b Solving the HVRP: the SAM method

We keep the previously saved solution and use the vehicle of the next type in capacity:

We keep the route with a capacity of 100,

We use the vehicles of capacity 50 to re-schedule the route of capacity 95, using again the SR-GCWS algorithm (Juan et al. 2009).

We generated always more than one potential solution.

11

Page 12: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

4.c Solving the HVRP: the SAM method

Finally, we add the partial solutions obtained with the vehicle of capacity 50 to the partial solution saved with vehicles of capacity 100 and we have a potential heuristic solution for the HVRP.

Knowing that that solution has been built by a multi-stage procedure, we have called it: Successive Approximation Method- SAM.

12

Page 13: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

5.a SAM: Our approach for solving the HVRP 13

procedure SAM (nodes, vehicles)

// Perform a multi-round solving process until all customers are served

01 while list of non-served customers is not empty do // Select a new type of vehicle an define a new homogeneous CVRP02 newVehType <- selectNextType(vehicles) // the largest one available03 vehCap <- getCapacity(newVehType)04 newCVRP <- defineCVRP(nodes, vehCap) // Solve the new CVRP using any efficient algorithm (e.g. SR-GCWS)05 sol <- solveHomogeneousCVRP(newCVRP) // Sort routes by total demand required and vehicles by capacity06 routes <- sortRoutes(sol)07 vehicles <- sortVehicles(sol)

Selection of a new type of vehicle (greater available

capacity) while there are non-served customers

Selection of a new type of vehicle (greater available

capacity) while there are non-served customers

Solve the homogeneous problem associated to that type of vehicle using any efficient algorithm, such as SR-GCWS, for instance

Solve the homogeneous problem associated to that type of vehicle using any efficient algorithm, such as SR-GCWS, for instance

Page 14: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

5.b SAM: Our approach for solving the HVRP 14

procedure SAM (nodes, vehicles) (cont.) // While feasible assign most demanding routes to largest vehicles08 i <- 009 while i < size(routes) and demand(routes[i]) <= getCapacity(vehicles[i]) do10 newRoute <- assignVehicleToRoute(routes[i], vehicles[i])11 routes[i] <- markAsUsed(routes[i])12 vehicles[i] <- markAsUsed(vehicles[i])13 globalSol <- addRouteToSol(newRoute, globalSol)14 i = i + 115 end while // Disolve (reset) the unused routes and vehicles16 vehicles <- deleteUsedVehicles(vehicles)17 routes <- deleteUsedRoutes(routes)18 nodes <- extractNodes(routes)19 end while// Return the global solution20 return globalSolend procedure

Assign most demanding routes to largest vehicles when

feasible until finishing all the vehicles of one specific type

Assign most demanding routes to largest vehicles when

feasible until finishing all the vehicles of one specific type

Repeat the process until all nodes have been assigned to any route having vehicles of the corresponding type

Repeat the process until all nodes have been assigned to any route having vehicles of the corresponding type

Page 15: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

6.a Solving CVRP: SR-GCWS

Our approach will be based on the Clarke and Wright’s savings (CWS) algorithm (Clarke & Wright 1964).

This parallel version of the CWS heuristic usually provides ‘acceptable solutions’ (average gap between 5% and 10%), especially for small and medium-size problems.

Reference: Juan, A., Faulin, J., Ruiz, R., Barrios, B., Caballe, S., 2009. The SR-GCWS hybrid algorithm for solving the capacitated vehicle routing problem. Applied Soft Computing, 10, 215-224.

Start

savings(i, j)

Savings list

Initial solution

Select first edge & Merge

List empty?

End

15

Page 16: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

6.b Solving CVRP: SR-GCWS

11)( kkXP

sk ,...,2,1

s

k

k

sk

k

1

1

1

1 111

CWS the first edge (the one with the most savings) is the one selected.

SR-GCWS introduces randomness in this process by using a quasi-geometric statistical distribution edges with more savings will be more likely to be selected at each step, but all edges in the list are potentially eligible.

Notice: Each time SR-GCWS is run, a random feasible solution is obtained. By construction, chances are that this solution outperforms the CWS one hundreds of ‘good’ solutions can be obtained after some seconds/minutes.

Good results with0.10 < α < 0.20

Good results with0.10 < α < 0.20

16

Page 17: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

6.c Solving CVRP: SR-GCWS

1. Adding ‘memory’ to our algorithm with a hash table:

A hash table is used to save, for each generated route, the best-known sequence of nodes (this will be used to improve new solutions)

‘Fast’ method that provides small improvements on the average

Improvement #1: Hash Table

Improvement #1: Hash Table

1. Select routes on the SE area(area below the diagonal)

2. Consider the new CVRP subproblem

3. Solve the subproblem and re-construct the solution

Improvement #2: SplittingImprovement #2: Splitting

2. Splitting (divide-and-conquer) method:

Given a global solution, the instance is sub-divided in smaller instances and then the algorithm is applied on each of these smaller instances

‘Slow’ method that can provide significant improvements

17

Page 18: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

7. Designing the instances for SAM

Because of this lack of well-defined HVRP benchmarks using the objective function presented in this work, we decided to perform a natural adaptation of some of the classical CVRP instances (www.branchandcut.org), (SYMPHONY, 2011)

We then consider an heterogeneous fleet composed of ‘standard’ vehicles with capacity Q0 and ‘non-standard’ vehicles with modified capacities according to the next table:

Fleet 150-125: two ‘standard’ trucks are substituted by a ‘large’ truck (with capacity Ql = 150% ∙ Q0) and by a ‘large-medium’ truck (with capacity Qlm = 125% ∙ Q0), respectively.

Fleet 125-125: two ‘standard’ trucks are substituted by two ‘large-medium’ tracks.

Fleet 125-80: two ‘standard’ trucks are substituted by a ‘large-medium’ track and by a ‘small’ truck (with capacity Qs = 80% ∙ Q0), respectively.

Fleet 100-100: the homogeneous case where all trucks are ‘standard’.

Fleet 90-90: two ‘standard’ trucks are substituted by two ‘small-medium’ trucks (with capacity Qsm = 90% ∙ Q0).

Fleet 90-80: two ‘standard’ trucks are substituted by a ‘small-medium’ truck and by a ‘small’ truck, respectively.

Fleet 150-125: two ‘standard’ trucks are substituted by a ‘large’ truck (with capacity Ql = 150% ∙ Q0) and by a ‘large-medium’ truck (with capacity Qlm = 125% ∙ Q0), respectively.

Fleet 125-125: two ‘standard’ trucks are substituted by two ‘large-medium’ tracks.

Fleet 125-80: two ‘standard’ trucks are substituted by a ‘large-medium’ track and by a ‘small’ truck (with capacity Qs = 80% ∙ Q0), respectively.

Fleet 100-100: the homogeneous case where all trucks are ‘standard’.

Fleet 90-90: two ‘standard’ trucks are substituted by two ‘small-medium’ trucks (with capacity Qsm = 90% ∙ Q0).

Fleet 90-80: two ‘standard’ trucks are substituted by a ‘small-medium’ truck and by a ‘small’ truck, respectively.

18

Page 19: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

8.a Computational results 19

The next table show the computational results for small-size instances with different fleet configurations.

Page 20: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

8.b Computational results 20

The next table show the computational results for medium-size instances with different fleet configurations.

Page 21: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

8.c Computational results 21

The next table show the computational results for large-size instances with different fleet configurations.

Page 22: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

9. Sensitivity analysis 22

As it can be derived from the figure on the left, average gaps associated with fleet rules 90-90 and 90-80 are positive but quite moderated, i.e. changing two ‘standard’ vehicles by two other vehicles with a somewhat smaller capacity does not seem to affect the expected routing costs in a noticeable way.

Similarly, the figure on the right shows a multiple boxplot of gaps. Notice also how the variability in the gaps is much higher for the 150-125 and 125-125 fleet configurations, i.e. increasing the capacity of two vehicles in the homogeneous fleet will induce negative gaps, but the size of these gaps can vary in a sensible manner depending upon the specific instance being considered. al

Page 23: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

10. Conclusions & future work

We have presented the Successive Approximations Method (SAM) for solving the HVRP by decomposing it into a series of ‘nested’ (smaller and disjoint) homogeneous VRPs.

One of the main advantages of this approach is that it benefits from extremely efficient algorithms already developed for solving the homogeneous VRP.

The computational results show how it is possible to obtain pronounced differences in average and individual routing costs by varying the loading capacity of just two vehicles in an initially homogeneous fleet.

According to the experiments developed so far, the SAM strategies seem to provide better solutions than selecting the smallest available vehicle at each new round or assigning the smallest-capacity vehicles to the less demanding routes.

We consider, however, that more complex strategies –like introducing some biased randomization strategy or parallel optimization– should be explored in the future, since they could contribute to improve the algorithm performance.

23

Page 24: Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem Javier Faulin Alba Agustín javier.faulin@unavarra.es Department

Description of a Multi-Stage Procedure to Solve the Heterogeneous Vehicle Routing Problem

Javier Faulin

Alba Agustín

[email protected]

Department of Statistics and Operations Research

Public University of Navarre, Pamplona, SPAIN

Angel Juan

http://ajuanp.wordpress.com

Department of Computer Science

Open University of Catalonia, Barcelona, SPAIN

2012 IN3-HAROSA Workshop

Barcelona, June 13-15, 2012

24

Thank you for your attention!Thank you for your attention!