An Exact Algorithm for the Vehicle Routing Problem with Backhauls

Post on 11-Feb-2016

36 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

An Exact Algorithm for the Vehicle Routing Problem with Backhauls. A Thesis Submitted to the Department of I ndustrial Engineering and the Institute of Engineering and Science of Bilkent University in Partial Fulfillment of the Requirements For the Degree of Master of Science by - PowerPoint PPT Presentation

Transcript

An Exact Algorithm for the Vehicle Routing Problem with Backhauls

A ThesisSubmitted to the Department of Industrial Engineering

and the Institute of Engineering and Scienceof Bilkent University

in Partial Fulfillment of the RequirementsFor the Degree ofMaster of Science

byCumhur Alper GELOĞULLARI

SupervisorAssoc. Prof. Osman OĞUZ

28.08.2001

Outline

• Importance of Routing Problems

• Problem Statement

• Literature Review

• The Algorithm

• Computational Experiments

• Conclusion

Motivation• Logistics:

“That part of the supply chain process that plans, implements and controls the efficient, effective flow and storage of goods, services, and related information from the point of origin to the point of consumption in order to meet customers’ requirements”

•Logistics: a means of cost saving

•Distribution costs constituted 21% of the US GNP in 1983.

•VRPs play a central role in logistics.

Problem StatementThe basic Vehicle Routing Problem (VRP):

D

Customers

Problem StatementThe basic Vehicle Routing Problem (VRP):

Minimize total distance traveledsubject to

each customer is servicedeach route starts and ends at the depotcapacity restrictions on the vehicles

Problem StatementThe VRPs exhibit a wide range of real world applications.

• Dial-a-ride problem• House call tours by a doctor

• Preventive maintenance inspection tours

• Collection of coins from mail boxes

• Waste Collection

• School Bus Routing

Problem Statement

PARAMETER DOMAINObjective Minimize distance/time, # of vehiclesFleet size one vehicle / multiple vehiclesFleet type homogenous / heterogenous# of depots single depot / multiple depots

Type of demand deterministic / stochastic

Total time / distance constraints imposed / not imposed

Time windows imposed / not imposed

Precedence relations imposed / not imposed

Vehicle capacity finite / infinite

Underlying graph directed / undirectedsymmetric / asymmetric

Problem StatementThe Vehicle Routing Problem with Backhauls (VRPB):

• linehaul (delivery) customers• backhaul (pick up) customers

DLinehaul customer

Backhaul customer

Problem Statement

• The VRP replaces deadhead trip back to the depot with a

profitable activity.

• Yearly savings of $160 millions in USA grocery industry.

Literature Review

Related Problems: The TSP and m-TSP

• Traveling Salesman Problem (TSP)

• Multiple Traveling Salesman Problem (m-TSP)• m-TSP is a special case of the VRP.

Literature Review

Exact Algorithms for the VRPB

• Vehicles are assumed to be rear-loaded.

• Two exact algorithms for the VRPB:

• Toth & Vigo (1997)

• Mingozi & Giorgi (1999)

The Algorithm

The VRPB under consideration is

• Asymmetric

• Linehaul and Backhaul customers can be in any sequence

in a vehicle route

• Both homogenous and heterogenous fleet

The AlgorithmPRELIMINARIES:• L : # of linehaul customers• B : # of backhaul customers• di : demand of (or amount supplied by) customer i• m : # of vehicles• Qk : capacity of vehicle k

• cij : distance from customer i to customer j

• a route is denoted by Rk = {i1=0, i2, i3......., ir=0}

• q(Rk) = capacity required by route Rk

The Algorithm• VRPB = m-TSP subject to capacity constraints

• m-TSP is a relaxation of the VRPB.

• A feasible solution to the m-TSP is not necessarily a

feasible solution for the VRPB.

The Algorithm

The Default Algorithm

• Step 1: Solve the corresponding m-TSP. Let be its solution.

• Step 2: Check whether is feasible for the VRPB.

• Step 3: If feasible, stopoptimal solution for the VRPB is obtained.

else add inequalities valid for the VRPB but violated by

goto step 1.

*TSP mx

*TSP mx

*TSP mx

The Algorithm

Solution of the m-TSP• Solve m-TSP with branch & bound

• Bektaş’ s Formulation– decision variable xij

The AlgorithmFeasibility Check

Computation of q(Rk):

Consider the route: {0,4,1,2,3,5,0} where

Route: 0 4 1 2 3 5 0

Type of customer: - B L L L B -

Demand / Supply: 0 15 10 5 5 10 0

Total Load on the vecicle: 20 35 25 20 15 25 0

The AlgorithmFeasibility Check & Cuts

1) Route Elimination Constraints:

Qmax : maximum vehicle capacity : # of edges in Rk

If for a route, Rk ,

q(Rk) >Qmax

then Rk is infeasible for the VRPB.

is valid for the VRPB but violates Rk .

)( kRl

1)( ),(

kRji

ij Rlxk

The AlgorithmFeasibility Check & Cuts

For the previous example: Let Qmax=30The route {0,4,1,2,3,5,0} is infeasible for the VRPB, then add

to the m-TSP formulation.

Addition of this constraint prohibits the formation of this infeasible route ONLY .

5503523124104 xxxxxx

D

4

1 2 3

5

The AlgorithmFeasibility Check & Cuts

2) Multiple Routes Elimination Constraints:

Consider the example:

Route Route # q(Rk) Qk

Vehicle # {0,1,2,3,4,0} 1 25 30 1 {0,5,6,0} 2 22 20 2 {0,7,0} 3 12 15 3

76056054034231201 xxxxxxxxWe add

The AlgorithmAcceleration Procedures

Local search:

• Begin with an initial solution and improve it• For the TSP:

a 2-exchange

The AlgorithmAcceleration Procedures

iteration 0: cost=200 iteration 5: cost=207

iteration 1: cost=202 iteration 6: cost=207

iteration 2: cost=202 iteration 7: cost=208

iteration 3: cost=205 iteration 8: cost=209

iteration 4: cost=206 iteration 9: cost=210

The AlgorithmAcceleration Procedures

Representation of the set of routes:

D D

D D

The AlgorithmAcceleration Procedures

Local Search Operators:Swap Operator:

i

j

i

j

The AlgorithmAcceleration Procedures

Local Search Operators:Relocate Operator:

j

j j j

j

i

The AlgorithmAcceleration Procedures

Local Search Operators:Crossover Operator:

i

j

DD

i

j

DD

Computational Experiments

• C code using CPLEX Callable Library Routines

• A total of 720 instances are tested.

• Two sets of AVRPB instances

Computational Experiments• Homogenous Fleet (identical vehicles) (540 instances)

• Problem size: 10 - 90 with increments of 10

• For a given problem size, 3 instances for %B=0, %B=20 and %B=50

• cij~U[0,100] di~U[0,100]

• Common vehicle capacity:

• Number of vehicles:

where [0,1].

= 0.25, = 0.50, = 0.75 and = 1.00

ii ddQ max)1(

Qd

m i

%B=0 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg.

Alpha Time \# iter. \# TEC Time \# iter. \# TEC \# TPC

10 0,25 1,00 5,40 5,80 0,97 4,60 4,80 5,000,50 0,74 3,20 3,40 0,73 3,00 3,20 0,600,75 0,42 1,20 1,20 0,43 1,00 1,00 0,401,00 0,12 - - - - - -

20 0,25 7,80 11,20 14,00 6,13 8,20 9,20 10,000,50 7,68 6,80 5,60 6,16 6,20 6,20 4,200,75 4,40 3,00 3,00 3,16 2,20 2,20 3,001,00 0,45 - - - - - -

30 0,25 70,69 15,80 17,40 43,46 10,40 11,40 18,800,50 15,32 2,20 2,40 13,98 2,00 2,00 4,200,75 9,67 0,60 0,60 8,71 0,40 0,40 1,601,00 3,60 - - - - - -

40 0,25 256,34 28,20 32,40 186,60 12,60 14,40 15,000,50 46,14 5,80 6,40 44,61 5,20 5,60 4,000,75 28,38 2,80 3,00 28,84 2,60 2,60 2,201,00 12,32 - - - - - -

50 0,25 502,79 18,80 23,20 391,69 12,60 13,80 29,800,50 105,20 5,80 5,80 100,78 5,20 5,20 15,000,75 15,87 0,60 0,60 14,40 0,60 0,60 1,601,00 31,18 - - - - - -

60 0,25 805,08 28,80 35,60 546,21 19,40 21,20 32,600,50 446,90 8,20 8,20 181,58 4,20 4,20 8,000,75 36,62 1,20 1,40 37,66 1,20 1,40 0,401,00 41,59 - - - - - -

70 0,25 1.383,60 21,00 23,60 1.193,22 17,60 17,80 32,400,50 392,28 9,40 9,80 332,89 8,60 9,00 6,200,75 27,71 1,00 1,00 28,07 1,00 1,00 0,401,00 73,61 - - - - - -

80 0,25 1.790,07 21,80 23,80 1.553,99 18,00 18,00 24,000,50 645,59 14,20 15,40 497,18 11,40 11,60 19,400,75 43,42 1,60 1,80 31,34 1,00 1,20 3,401,00 139,86 - - - - - -

90 0,25 2.496,71 23,40 24,20 2.227,70 18,40 18,40 34,600,50 1.427,34 18,20 19,60 990,53 14,20 14,60 22,600,75 77,09 0,80 0,80 78,56 0,80 0,80 4,001,00 293,72 - - - - - -

Improved Algorithm

%B=20 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg.

Alpha Time \# iter. \# TEC Time \# iter. \# TEC \# TPC10 0,25 1,02 4,60 4,60 0,90 4,00 4,00 1,60

0,50 0,60 2,40 2,40 0,59 2,00 2,00 1,400,75 0,42 0,80 0,80 0,34 0,60 0,60 0,601,00 0,16 - - - - - -

20 0,25 6,38 6,00 6,60 5,00 3,80 4,00 9,200,50 2,00 2,40 2,40 1,87 1,80 2,00 3,000,75 0,20 0,20 0,48 0,20 0,20 0,801,00 0,55 - - - - - -

30 0,25 32,65 12,40 13,80 31,69 11,60 12,80 3,400,50 17,74 5,00 5,00 16,72 4,20 4,40 2,400,75 2,36 0,40 0,40 2,43 0,40 0,40 0,001,00 2,08 - - - - - -

40 0,25 59,09 9,40 10,00 48,92 7,20 7,60 5,400,50 41,95 4,00 4,00 39,83 3,60 3,60 1,400,75 12,63 0,60 0,60 12,40 0,60 0,60 0,401,00 10,05 - - - - - -

50 0,25 204,91 10,80 11,40 180,80 9,40 9,60 16,800,50 89,27 2,60 2,60 76,63 2,20 2,20 2,800,75 35,03 0,20 0,20 35,81 0,20 0,20 0,801,00 34,95 - - - - - -

60 0,25 769,28 18,80 23,40 407,83 12,40 13,40 26,600,50 202,75 1,40 1,80 203,57 1,20 1,60 3,200,75 94,19 0,40 0,60 94,97 0,40 0,60 0,601,00 38,67 - - - - - -

70 0,25 1.399,61 21,00 22,00 1.095,86 17,00 17,00 24,000,50 227,61 3,20 3,20 220,50 2,80 2,80 2,800,75 35,36 0,60 0,60 36,73 0,60 0,60 0,401,00 91,55 - - - - - -

80 0,25 1.572,84 18,60 20,40 1.478,81 16,20 16,60 18,800,50 392,85 6,00 6,60 314,81 5,20 5,40 18,200,75 45,02 1,40 1,60 46,08 1,40 1,60 3,201,00 173,95 - - - - - -

90 0,25 2.606,85 26,40 27,80 2.124,82 21,20 22,00 27,000,50 371,21 5,60 6,60 332,21 5,00 5,60 11,000,75 93,60 1,20 1,40 96,40 1,00 1,00 3,201,00 365,29 - - - - - -

Improved Algorithm

%B=50 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg.

Alpha Time \# iter. \# TEC Time \# iter. \# TEC \# TPC10 0,25 1,24 6,60 6,80 1,11 5,60 5,80 6,40

0,50 0,24 0,60 0,60 0,26 0,60 0,60 0,800,75 0,20 0,20 0,20 0,21 0,20 0,20 0,001,00 0,17 - - - - - -

20 0,25 7,40 8,60 9,40 6,72 7,20 7,60 6,000,50 6,43 4,40 4,40 6,79 4,40 4,40 2,000,75 2,63 2,20 2,40 2,67 2,20 2,40 1,401,00 0,70 - - - - - -

30 0,25 19,92 7,00 7,20 18,18 6,40 6,60 5,800,50 11,05 2,60 2,80 11,02 2,20 2,40 2,200,75 4,58 0,40 0,60 4,90 0,40 0,60 0,601,00 4,08 - - - - - -

40 0,25 123,88 10,40 11,40 108,98 8,00 8,20 12,400,50 24,48 2,40 2,40 24,07 2,00 2,00 2,000,75 7,80 0,00 0,00 8,10 0,00 0,00 0,001,00 9,36 - - - - - -

50 0,25 404,51 16,20 17,60 280,14 12,00 13,20 33,800,50 36,63 2,20 2,40 35,40 1,40 1,40 4,400,75 28,45 1,00 1,00 28,91 1,00 1,00 1,401,00 19,11 - - - - - -

60 0,25 664,97 12,00 12,40 222,58 3,80 4,20 12,600,50 266,61 3,60 3,80 204,00 2,80 3,00 4,600,75 43,66 0,40 0,60 43,55 0,40 0,60 1,601,00 40,83 - - - - - -

70 0,25 1.318,47 17,20 19,20 1.200,16 13,80 14,20 19,800,50 224,13 2,80 3,00 223,14 2,80 3,00 3,800,75 97,33 1,00 1,00 97,83 1,00 1,00 1,601,00 102,74 - - - - - -

80 0,25 1.428,46 13,40 14,20 1.125,90 11,00 11,00 23,600,50 240,47 2,40 2,60 243,66 2,40 2,60 1,800,75 119,45 0,80 0,80 120,45 0,80 0,80 1,201,00 102,74 - - - - - -

90 0,25 2.058,27 15,60 16,40 1.728,97 11,80 12,00 32,400,50 367,36 3,00 3,60 330,20 2,60 2,80 9,400,75 115,59 0,80 1,00 117,87 0,80 1,00 2,001,00 217,31 - - - - - -

Improved Algorithm

Computational Experiments

• Observations

• As , the problem gets harder to solve

• For a given value of , the problem gets easier as %B

• Acceleration Procedures work well

Computational Experiments• Acceleration Procedures work well

%B=0 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg. % Improvement

Alpha Time \# iter. \# TEC Time \# iter. \# TEC \# TPC in Time0,25 741,93 18,02 20,58 625,07 12,70 13,42 21,72 15,750,50 310,31 7,44 7,72 218,28 6,06 6,22 8,58 29,660,75 27,48 1,42 1,49 25,69 1,20 1,24 1,89 6,52

Improved Algorithm

%B=20 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg. % Improvement

Alpha Time \# iter. \# TEC Time \# iter. \# TEC \# TPC in Time0,25 739,18 14,22 15,56 597,18 11,42 11,89 14,76 19,210,50 149,55 3,62 3,84 134,08 3,11 3,29 5,13 10,350,75 35,42 0,64 0,74 36,15 0,60 0,71 1,15 -2,06

Improved Algorithm

%B=50 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg. % Improvement

Alpha Time \# iter. \# TEC Time \# iter. \# TEC \# TPC in Time0,25 669,68 11,89 12,73 521,42 8,84 9,20 16,98 22,140,50 130,82 2,67 2,84 119,84 2,36 2,47 3,44 8,400,75 46,63 0,76 0,84 47,17 0,76 0,84 1,09 -1,15

Improved Algorithm

Computational Experiments• Heterogenous Fleet (different vehicles) (180 instances)

• Q=100 m=4 Q1=125 Q2=113 Q3=87 Q4=75

= 0.25, = 0.50 %B=0, %B=50

%B=0 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg. Avg. Avg. % Improvement

Alpha Time \# iter. \# TEC \# MTEC Time \# iter. \# TEC \# MTEC \# TPC in Time

0,25 620,35 15,93 13,51 2,67 512,90 12,60 10,95 1,64 17,87 17,320,50 368,38 10,61 8,82 1,89 307,65 8,40 7,05 1,25 12,56 16,49

Improved Algorithm

%B=50 Default AlgorithmAvg. Avg. Avg. Avg. Avg. Avg. Avg. Avg. Avg. % Improvement

Alpha Time \# iter. \# TEC \# MTEC Time \# iter. \# TEC \# MTEC \# TPC in Time

0,25 615,25 12,58 11,16 1,58 515,22 9,96 9,16 0,87 13,60 16,260,50 267,65 6,18 4,71 1,47 219,83 4,93 4,13 0,82 10,13 17,87

Improved Algorithm

Computational Experiments• For Homogenous Fleet:

• Time to solve the hardest problem took 42 min.– Acceleration procedures provide

• max improvement of 66% in time• min improvement of -4.95% in time

• For Heterogenous Fleet:• Time to solve the hardest problem took 33 min.• Acceleration procedures provide

• max improvement of 28% in time• min improvement of -10.48% in time

Conclusion• First Exact Algorithm for the VRPB such that

• Asymmetric

• Linehaul and Backhaul customers can be in any sequence

in a vehicle route

• Both homogenous and heterogenous fleet

• The algorithm can be used for both AVRP and AVRPB

Further Research• VRPB with time and distance restrictions• VRPB with time windows• Other local search procedures

top related