An Exact Algorithm for the Vehicle Routing Problem with Backhauls
description
Transcript of An Exact Algorithm for the Vehicle Routing Problem with Backhauls
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