a multi-start approach for optimizing routing networks with vehicle loading constraints angel juan...

28
A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints A. Juan, J. Faulin, and O. Domínguez A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez http://ajuanp.wordpress.com Department of Computer Science Open University of Catalonia, Barcelona, SPAIN Javier Faulin [email protected] Department of Statistics and Operations Research Public University of Navarre, Pamplona, SPAIN

Upload: brent-walter-haynes

Post on 28-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints

A. Juan, J. Faulin, and O. Domínguez A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints

Angel Juan

Oscar Domínguez

http://ajuanp.wordpress.com

Department of Computer Science

Open University of Catalonia, Barcelona, SPAIN

Javier Faulin

[email protected]

Department of Statistics and Operations Research

Public University of Navarre, Pamplona, SPAIN

Page 2: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• 2LCVRP Problem description

• Metaheuristic Multi-Start algorithm

• Computational results

• Conclusions and future research

2/20

Multi-Start algorithm to solve the 2LCVRP

Table of Contents

Page 3: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• 2LCVRP Problem description

• Metaheuristic Multi-Start algorithm

• Computational results

• Conclusions and future research

3/20

Table of Contents

Page 4: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• We have a homogeneous fleet located in a depot. Then vehicles have equal capacity D, length L and width W.

• There is a set of customers to be served by only one vehicle.

• Each customer demand is defined by a set of items with its weight d, lenght l and width w associated.

• The proposed metaheuristic method will reach the (pseudo)-optimal routes.

• Optimal routes means serving all clients minimizing distance cost.

4/20

2LCVRP Problem description

Page 5: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• We have a homogeneous fleet located in a depot. Then vehicles have equal capacity D, length L and width W.

• There is a set of customers to be served by only one vehicle.

• Each customer demand is defined by a set of items with its weight d, lenght l and width w associated.

• The proposed metaheuristic method will reach the (pseudo)-optimal routes.

• Optimal routes means serving all clients minimizing distance cost.

4/20

2LCVRP Problem description

Page 6: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• We have a homogeneous fleet located in a depot. Then vehicles have equal capacity D, length L and width W.

• There is a set of customers to be served by only one vehicle.

• Each customer demand is defined by a set of items with their weight d, lenght l and width w associated.

• The proposed metaheuristic method will reach the (pseudo)-optimal routes.

• Optimal routes means serving all clients minimizing distance cost.

4/20

2LCVRP Problem description

Page 7: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• We have a homogeneous fleet located in a depot. Then vehicles have equal capacity D, length L and width W.

• There is a set of customers to be served by only one vehicle.

• Each customer demand is defined by a set of items with their weight d, lenght l and width w associated.

• The proposed metaheuristic method will reach the (pseudo)-optimal routes.

• Optimal routes means serving all clients minimizing distance cost.

4/20

2LCVRP Problem description

Page 8: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• We have a homogeneous fleet located in a depot. Then vehicles have equal capacity D, length L and width W.

• There is a set of customers to be served by only one vehicle.

• Each customer demand is defined by a set of items with their weight d, lenght l and width w associated.

• The proposed metaheuristic method will reach the (pseudo)-optimal routes.

• Optimal routes means serving all clients minimizing distance cost.

4/20

2LCVRP Problem description

Page 9: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

D=10

D=10D=10

6

8

5

32

1

DEPOT

7

4

2LCVRP Problem description

X

5/20

Page 10: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• 2LCVRP Problem description

• Metaheuristic Multi-Start algorithm

• Computational results

• Conclusions and future research

6/20

Table of Contents

Page 11: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• Clarke G and Wright JW (1964). Scheduling of vehicles from a central depot to a number of delivery points. Operations Research 12:568-81.

• Burke EK, Kendall G and Whitwell G (2004). A new placement heuristic for the orthogonal stock-cutting problem. Operations Research, 52:655–671.

• Juan A, Faulin J, Jorba J, Riera D, Masip D and Barrios B (2011). On the use of Monte Carlo simulation, cache and splitting techniques to improve the Clarke and Wright saving heuristics. Journal of the Operational Research Society 62(6): 1085-1097.

7/20

Background

Page 12: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

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

Juan et al. (2011)

8/20

Page 13: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

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

9/20

Juan et al. (2011)

Page 14: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

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

Juan et al. (2011)

10/20

Page 15: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

Burke et al. (2004)

d1 + d2 + … + dn ≤ D

11/20

w1l1 + w2l2 + … + wnln ≤ WL

ALSO BIASED RANDOMIZED!!

Page 16: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

Pseudo-code

procedure MultiStart-BiasedRand (inputs, alpha, beta, maxPackIter, maxSplitIter)01 dummySol <- calcDummySol(inputs) % generate the dummy feasible sol02 savings <- calcSortedSavingsList(inputs) % compute the sorted savings list

05 while {ending condition is not met} do % time- or iteration-based condition06 randSavings <- biasedRand(savings, alpha) % biased randomization of savings list07 newSol <- packAndRoute(dummySol, randSavings, beta, maxPackIter)

12/20

01 dummySol <- calcDummySol(inputs) % generate the dummy feasible sol02 savings <- calcSortedSavingsList(inputs) % compute the sorted savings list

07 newSol <- packAndRoute(dummySol, randSavings, beta, maxPackIter)

procedure MultiStart-BiasedRand (inputs, alpha, beta, maxPackIter, maxSplitIter)

05 while {ending condition is not met} do % time- or iteration-based condition06 randSavings <- biasedRand(savings, alpha) % biased randomization savings list

Page 17: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

Pseudo-code

12/20

procedure packAndRoute(dummySol, randSavings, beta, maxPackIter)01 newSol <- dummySol02 while {savings list is not empty} do03 nextEdge <- extractNextEdge(randSavings)04 iR <- getRoute(origin(nextEdge))05 jR <- getRoute(end(nextEdge))06 newRoute <- merge(iR, jR)07 demand <- calcDemand(newRoute) % here demand is measured in terms of weight08 if {demand <= vehicleCapacity} then09 reqLength <- Infinite10 iter <- 1 % iteratively solve the packing problem to determine the required length of the track11 while {iter <= maxPackIter} do 12 randItems <- biasedRand(getItems(newRoute), beta)13 reqLength <- bestFit(randItems, vehicleWidth) % Apply Best-Fit with item rotation14 if {reqLength <= vehicleLength} then15 newSol <- updateRoute(iR, jR, newRoute)16 exit while17 end if18 iter <- iter + 119 end while20 end if21 end while22 return newSolend procedure

Page 18: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

Pseudo-code

procedure MultiStart-BiasedRand (inputs, alpha, beta, maxPackIter, maxSplitIter)01 dummySol <- calcDummySol(inputs) % generate the dummy feasible sol02 savings <- calcSortedSavingsList(inputs) % compute the sorted savings list03 cwsSol <- packAndRoute(dummySol, savings, beta, maxPackIter) % reference sol04 bestSol <- cwsSol05 while {ending condition is not met} do % time- or iteration-based condition06 randSavings <- biasedRand(savings, alpha) % biased randomization of savings list07 newSol <- packAndRoute(dummySol, randSavings, beta, maxPackIter) % new random sol08 newSol <- cache(newSol) % use the fast cache-based local search09 if {newSol is a 'promising sol'} then % e.g. cost(newSol) < cost(cwsSol) % use the splitting-based local search10 newSol <- splitting(newSol, alpha, beta, maxPackIter, maxSplitIter) 11 end if12 if {cost(newSol) < cost(bestSol)} then13 bestSol <- newSol14 end if15 end while16 return bestSolend procedure

12/20

08 newSol <- cache(newSol) % use the fast cache-based local search09 if {newSol is a 'promising sol'} then % e.g. cost(newSol) < cost(cwsSol) % use the splitting-based local search10 newSol <- splitting(newSol, alpha, beta, maxPackIter, maxSplitIter)

Page 19: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

Multi-Start algorithm

13/20

Edge Saving(1,2) (5,6) (6,7) (4,5) (3,4)

… (1,5) (4,8)

6

8

5

32

1

D

7

4

Page 20: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

Multi-Start algorithm

14/20

Edge Saving(1,2) (6,7) (5,6) (4,5) (3,4)

… (1,5) (4,8)

6

8

5

32

1

D

7

4

Edge(1,2)(5,6)(6,7)(4,5)(3,4)

…(1,5)(4,8)

Page 21: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• 2LCVRP Problem description

• Metaheuristic Multi-Start algorithm

• Computational results

• Conclusions and future research

15/20

Table of Contents

Page 22: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

16/20

Fuellerers’ benchmarks

NAME: E016-03m

CLASS: 5

16 customers and solution with 3 vehicles

randomly as vertical, homogeneous and horizontalORIENTATION:

number of items for each customer as uniform from 1 to 5

H=40 and W=20LOADING AREA:

www.or.deis.unibo.it/research.html

CLASS 1: each customer demand 1 item 1X1 dimensions

Fuellerer G, Doerner K, Hartl R and Iori M (2009). Ant colony optimization for the two-

dimensional loading vehicle routing problem. Computers and Operations

Research 36:655–673.

Fuellerer G, Doerner K, Hartl R and Iori M (2009). Ant colony optimization for the two-

dimensional loading vehicle routing problem. Computers and Operations

Research 36:655–673.

Page 23: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

17/20

Computational Experience

Class InstanceBEST10 AVG10

Fuellerer MS Gap Fuellerer MS Gap

1

E016-03m 278.73 278.73 0.00% 278.73 278.73 0.00%

E016-05m 334.96 334.96 0.00% 334.96 334.96 0.00%

E023-05s 568.56 568.56 0.00% 568.56 568.56 0.00%

E031-09h 610.00 610.00 0.00% 611.22 610.00 -0.20%

E033-04g 837.67 837.67 0.00% 837.67 837.67 0.00%

E041-14h 861.79 861.79 0.00% 862.37 861.96 -0.05%

E076-07s 690.20 687.60 -0.38% 691.94 687.60 -0.63%

E101-10c 819.56 819.56 0.00% 819.56 819.56 0.00%

E256-14k 616.69 613.00 -0.60% 632.68 619.39 -2.10%

Averages -0.11% -0.33%

Class InstanceBEST10 AVG10

Fuellerer MS Gap Fuellerer MS Gap

2

E016-03m 278.73 278.73 0.00% 278.73 278.73 0.00%

E016-05m 334.96 334.96 0.00% 334.96 334.96 0.00%

E023-05s 674.19 665.17 -1.34% 674.20 665.17 -1.34%

E031-09h 610.00 610.00 0.00% 611.23 610.00 -0.20%

E033-04g 1032.01 1028.08 -0.38% 1033.53 1028.08 -0.53%

E041-14h 863.27 870.86 0.88% 863.68 872.67 1.04%

E076-07s 978.07 971.88 -0.63% 985.32 975.85 -0.96%

E101-10c 1267.04 1261.61 -0.43% 1267.86 1264.55 -0.26%

E256-14k 1702.33 1646.06 -3.31% 1713.10 1652.73 -3.52%

Averages -0.58% -0.64%

Class InstanceBEST10 AVG10

Fuellerer MS Gap Fuellerer MS Gap

3

E016-03m 284.23 284.52 0.10% 284.46 284.52 0.02%

E016-05m 352.16 352.16 0.00% 352.16 352.16 0.00%

E023-05s 738.43 724.16 -1.93% 739.77 724.16 -2.11%

E031-09h 610.00 610.00 0.00% 613.05 610.00 -0.50%

E033-04g 996.11 1003.08 0.70% 996.26 1003.08 0.68%

E041-14h 862.62 861.79 -0.10% 862.62 861.87 -0.09%

E076-07s 1114.16 1037.63 -6.87% 1116.61 1037.93 -7.05%

E101-10c 1344.32 1360.72 1.22% 1356.53 1362.47 0.44%

E256-14k 1791.54 1743.24 -2.70% 1801.23 1747.46 -2.99%

Averages -1.06% -1.29%

Class InstanceBEST10 AVG10

Fuellerer MS Gap Fuellerer MS Gap

4

E016-03m 282.95 294.25 3.99% 282.95 294.25 3.99%

E016-05m 342.00 342.00 0.00% 342 342.00 0.00%

E023-05s 692.47 697.92 0.79% 692.47 697.92 0.79%

E031-09h 614.24 610.23 -0.65% 614.73 610.23 -0.73%

E033-04g 981.90 982.16 0.03% 981.90 982.16 0.03%

E041-14h 861.79 861.79 0.00% 862.45 861.79 -0.08%

E076-07s 976.48 1055.91 8.13% 983.11 1058.91 7.71%

E101-10c 1414.28 1396.19 -1.28% 1420.62 1401.35 -1.36%

E256-14k 1683.25 1631.11 -3.10% 1691.06 1638.66 -3.10%

Averages 0.88% 0.81%

Class InstanceBEST10 AVG10

Fuellerer MS Gap Fuellerer MS Gap

5

E016-03m 278.73 278.73 0.00% 278.91 278.73 -0.06%

E016-05m 334.96 334.96 0.00% 334.96 334.96 0.00%

E023-05s 609.90 621.85 1.96% 609.90 621.85 1.96%

E031-09h 610.23 610.00 -0.04% 613.43 610.00 -0.56%

E033-04g 889.20 900.25 1.24% 911.42 903.79 -0.84%

E041-14h 861.79 861.79 0.00% 862.02 861.87 -0.02%

E076-07s 888.26 940.34 5.86% 891.58 941.63 5.61%

E101-10c 1231.72 1230.33 -0.11% 1237.27 1233.60 -0.30%

E256-14k 1505.54 1499.07 -0.43% 1522.62 1502.69 -1.31%

Averages 0.94% 0.50%

Characteristics of the computational results:

1) 10 completed runs (replicas) per instance and class

2) Maximum running time per replica: 500 seconds

3) Each instance-class combination was run for a total maximum time of 83

minutes (1.4 hours)

Characteristics of the computational results:

1) 10 completed runs (replicas) per instance and class

2) Maximum running time per replica: 500 seconds

3) Each instance-class combination was run for a total maximum time of 83

minutes (1.4 hours)

www.or.deis.unibo.it/research.htmlIntel Xeon, 2.0 GHz, 4 GB RAM

www.or.deis.unibo.it/research.htmlIntel Xeon, 2.0 GHz, 4 GB RAM

Page 24: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

18/20

Computational Experience

Fuellerer G, Doerner K, Hartl R and Iori M (2009). Ant colony optimization for the two-

dimensional loading vehicle routing problem. Computers and Operations

Research 36:655–673.

Fuellerer G, Doerner K, Hartl R and Iori M (2009). Ant colony optimization for the two-

dimensional loading vehicle routing problem. Computers and Operations

Research 36:655–673.

www.or.deis.unibo.it/research.htmlIntel Xeon, 2.0 GHz, 4 GB RAM Maximum running time: 330 sec.

www.or.deis.unibo.it/research.htmlIntel Xeon, 2.0 GHz, 4 GB RAM Maximum running time: 330 sec.

Base InstanceAverage GAP for 5 classes

BEST10 AVG10

E016-03m 0.82% 0.79%

E016-05m 0.00% 0.00%

E023-05s -0.10% -0.14%

E031-09h -0.14% -0.44%

E033-04g 0.32% -0.13%

E041-14h 0.16% 0.16%

E076-07s 1.22% 0.94%

E101-10c -0.12% -0.30%

E256-14k -2.03% -2.60%

Averages 0.01% -0.19%

Page 25: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

• 2LCVRP Problem description

• Metaheuristic Multi-Start algorithm

• Computational results

• Conclusions and future research

19/20

Table of Contents

Page 26: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

The Proposed Multi-Start algorithm:• is an efficient and simple (small number of parameters)

method• solves 2LVRP in few minutes• considers simultaneously both routing and packing problems• any efficient packing method is accepted, i.e. Best-Fit• provides a set of different solutions to be candidates to

optimality• is able to consider parallelization too.

19/20

Conclusions

Page 27: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

20/20

Future Research

.

Facing some realistics cases, we will:• analize methodologies to improve packing process• include 3D items and issues related with the center of

gravity of the load• deal with other vehicle routing problem models, such as

multi-depot, time windows and stochastics demands

Page 28: A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints Angel Juan Oscar Domínguez  Department

A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints

A. Juan, J. Faulin, and O. Domínguez A Multi-Start Approach for Optimizing Routing Networks with Vehicle Loading Constraints

Angel Juan

Oscar Domínguez

http://ajuanp.wordpress.com

Department of Computer Science

Open University of Catalonia, Barcelona, SPAIN

Javier Faulin

[email protected]

Department of Statistics and Operations Research

Public University of Navarre, Pamplona, SPAIN

Thank you for your attention!

Thank you for your attention!