• No results found

The Driving Depot Vehicle Routing Problem

N/A
N/A
Protected

Academic year: 2021

Share "The Driving Depot Vehicle Routing Problem"

Copied!
26
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

The Driving Depot Vehicle Routing Problem

Heleen van Beek

(2)

Master’s Thesis Econometrics, Operations Research and Actuarial Studies Supervisor: prof. dr. K.J. Roodbergen

(3)

The Driving Depot Vehicle Routing Problem

Heleen van Beek

Abstract

In this paper we introduce the Driving Depot Vehicle Routing Problem (DDVRP). In the

DDVRP, a fleet of small vehicles serves customers in a city center. These vehicles are

replenished by a truck at predetermined depot locations around the border of the city. At these locations, no storage facilities are available and hence the truck has to wait until all vehicles have been replenished. This may induce late arrivals of the truck at other depot

locations, and hence waiting times for vehicles. We develop a solution method for the

(4)

1

Introduction

This paper introduces the vehicle routing problem with a driving depot, referred to as the Driving Depot Vehicle Routing Problem (DDVRP). We formally describe the problem and solve it. In the DDVRP, a truck transports packages from a central depot to depot locations around the border of a city center. At these depot locations, the truck serves as a temporary depot, and it replenishes small vehicles that serve customers. When all vehicles have been replenished, the truck travels to the next depot location. Once the vehicles have served the assigned customers, they travel to the same depot location as the truck, and obtain a new replenishment. Once all depot locations and customers have been visited, the vehicles return to the first depot location and the truck returns to the central depot. A graphical representation of the DDVRP is displayed in Figure 1. This study considers the second stage of this two-echelon vehicle routing problem. We aim to find feasible routes for the vehicles such that the cumulative working time of vehicles is minimized. This working time consists of travel time and waiting time. Waiting times occur when vehicles arrive at a depot location before the truck. The truck may arrive late, since it has to wait at each depot location until all vehicles have been replenished. Figure 2 displays an example timeline of the problem.

The DDVRP arises in the area of city logistics. The increase in urban goods delivery causes traffic congestion in city centers. Together with the growing concern about greenhouse gas emissions, this has caused public authorities to prohibit the use of large vehicles. Hence, small and green vehicles, such as electric bicycles, have to be used in stead. Since these vehicles have a low capacity, they need to be replenished during the day. In the DDVRP, parking spots can serve as depot locations. This increases the flexibility, since parking spots are widely available, and decreases the cost of opening an additional depot location.

The DDVRP is a generalization of the multi-depot vehicle routing problem (MDVRP) (Ho et al. (2008), Polacek et al. (2004), Montoya-Torres et al. (2015)). A proof of this is given in Section 3. The MDVRP considers a set of customers, served from a number of depots. Each depot has its own fleet of vehicles and customers have to be assigned to a depot. The MDVRP has been extended by allowing the use of intra depot routes (Crevier et al. (2007)). This implies that a vehicle is allowed to travel to multiple depots to facilitate replenishment. Hence, it has more resemblance with the DDVRP, which solely contains intra-depot routes. The DDVRP has, to our knowledge, not yet been studied in the literature. However, several relating aspects have previously been discussed. Firstly, the depot locations in the DDVRP can be viewed as intermediate replenishment facilities (Tarantilis et al. (2008),

(5)

Figure 2: Timeline of the DDVRP An example with four depots and two vehicles

Schneider et al. (2015)). The use of intermediate facilities to renew capacity is often con-sidered in the field of waste collection (Angelelli and Speranza (2002)). However, visiting an intermediate facility in these problems is optional, whereas vehicles in the DDVRP are required to visit each depot location. Furthermore, no storage possibilities at the depot loca-tions are available in the DDVRP (Dondo et al. (2011)). According to Grangier et al. (2016) this is a relevant assumption, since cities increasingly allow trucks to use parking spaces to unload, where no storage space is available. The absence of storage facilities causes a timing issue, which also occurs in the problems discussed by De Rosa et al. (2002), Del Pia and Filippi (2006) and Salazar-Aguilar et al. (2013). In these problems, a truck replenishes or renews capacity of the vehicles. This may either occur at depot locations (De Rosa et al. (2002)) or at any customer (Del Pia and Filippi (2006), Salazar-Aguilar et al. (2013)). How-ever, these problems are arc routing problems, as opposed to node routing in the DDVRP. Furthermore, trucks specifically drive to a single vehicle that needs replenishment, whereas the DDVRP considers a setting in which both the truck and the vehicles visit each depot location once. The truck needs to replenish all vehicles during that visit. A depot location has in that sense opening hours (Polacek et al. (2004)), but these opening hours are de-termined endogenously by the routes of the vehicles. Hence, the routes are interdependent (Drexl (2012)).

This paper contributes to the existing literature in the following ways. Firstly, the

DDVRP is formally described and formulated. Secondly, it is shown that the DDVRP is a generalization of the MDVRP. Thirdly, we develop a solution method to solve the DDVRP. Specifically, we propose an Adaptive Large Neighborhood Search (ALNS), based on Pisinger and Ropke (2007). The quality of the obtained solutions is benchmarked along best known solutions to previously solved MDVRP instances. Furthermore, small instances of the prob-lem are solved to optimality using a CPLEX solver. Lastly, we provide insights on the parameters of the DDVRP, and compare its solutions to solutions of the MDVRP.

(6)

2

Mathematical formulation

The DDVRP can be defined on a graph G = (Vc∪ Vd, A), with Vc= {1, . . . , n} the set of n

customers and Vd= {n+1, . . . , n+m} the set of m depots. The set of vertices V is defined as

V = Vc∪ Vd. Moreover, the set of arcs is defined as A = {(i, j) : i, j ∈ V, i 6= j}. Hence, there

exist arcs from customer to customer, from depot to customer, from customer to depot, and

from depot to another depot. Each arc (i, j) has an associated cost cij. Each node has an

associated demand qi, with qi = 0 ∀i ∈ Vd. Let the set of the truck and l available vehicles

be defined by Y = {0, 1, . . . , l}, where 0 denotes the truck. Since not all vehicles need to be

used, we define Y0 ∈ Y as the set of operating vehicles. A vehicle is said to be in segment k

if it is traveling between depot k and depot k + 1. Let this set of segments be denoted by

K = {1, . . . , m}. Let xykij = 1 if vehicle y travels the path from i to j in city segment k.

The vehicles and truck start their day at node n + 1, at time 0. Let m + 1 denote a

dummy depot with the same location as depot 1. Hence, ci,n+1 = ci,m+n+1 and cn+1,i =

cm+n+1,i ∀i ∈ V . Moreover, let ayk and a0k denote the time that respectively vehicle y and

the truck arrive at depot k, and let dyk and d0k denote the departure times at this depot.

The travel time per unit distance is denoted τv for the vehicles and τr for the truck. The

maximum route duration is D. Each vehicle has an identical capacity Q, and each customer

i has a demand qi.

Inspired by the MDVRP formulation by Montoya-Torres et al. (2015), we propose the following formulation for the DDVRP.

(7)

X i∈V xykn+k,i = 1, ∀y ∈ Y0, ∀k ∈ K, (13) X j∈K\{k+1} xyki,n+j = 0, ∀y ∈ Y0, ∀k ∈ K, (14) X i∈S X j6∈S X k∈K xykij ≥ 1, ∀y ∈ Y0, ∀S ∈ V, (15) X j∈V qj X i∈V xykij ≤ Q, ∀y ∈ Y0, ∀k ∈ K, (16) X (i,j)∈A cijxykij ≤ D, ∀y ∈ Y0, ∀k ∈ K, (17) xykij ∈ {0, 1}, ∀y ∈ Y0, ∀(i, j) ∈ A, ∀k ∈ K. (18)

The objective function, Equation (1), is a weighted sum of the cumulative time at which the vehicles return to the first depot and the total distance traveled. Since the main goal of the DDVRP is to minimize the total amount of working hours for the operating vehicles, let ε > 0 be a small number. Then, if routes yield approximately the same travel time, the route with the shortest travel distance is preferred.

Constraints (2)–(8) are used to calculate arrival and departure times of the vehicles and are specifically designed for the DDVRP problem. Constraints (2) and (3) assure that the truck and vehicles start at t = 0. Constraints (4) and (5) determine the arrival time at which the truck and vehicle arrive at each next depot, which is the sum of the departure time at the previous depot and the distance traveled in the considered segment. Departure times are denoted in Constraints (6)–(8). A vehicle can depart once the truck has arrived, and the truck can leave once all vehicles have arrived.

Constraints (9) and (10) ensure that every customer is visited and left, and Constraints (11) are the flow conservation constraints. Constraints (12)–(13) ensure that every vehicle enters and leaves each depot in the correct segment. The flow conservation constraints will ensure that this segment is determined for each customer visited in that segment. Constraints (14) ensure that in segment k, the vehicle can only visit depot k + 1. Hence, the order of the depot visits is specified.

(8)

3

Properties

In this section, we prove that the DDVRP is a generalization of the MDVRP.

Theorem 1. The DDVRP with ε = 1, a set K = {1, 3, . . . , 2m − 1} and a set Kd =

{2, 4, . . . , 2m} such that ckj = ck+1,j and cjk = cj,k+1, ∀j ∈ V, ∀k ∈ K, is equivalent to

the MDVRP.

Proof. Consider the MILP formulation as described above and let ε = 1. Then, the ob-jective of the DDVRP is to minimize distance, which is equal to to the obob-jective of the MDVRP. Constraints (2)–(8) then become redundant. Furthermore, we create 2 ∗ m depots,

which we split into a set K and a set of dummy depots Kd. All odd-numbered depots k are

in set K and have an even-numbered dummy depot k + 1 in the set Kd such that ckj = ck+1,j

and cjk = cj,k+1, ∀j ∈ V, ∀k ∈ K. Constraints (12)–(13) then ensure that each

operat-ing vehicle leaves and enters the same depot. Furthermore, Constraints (14) then become redundant, since the objective function will ensure no extra depot locations are visited. The remaining ILP is then equivalent to the ILP for the MDVRP as described in Montoya-Torres et al. (2015).

4

Adaptive Large Neighborhood Search

The ALNS heuristic used in this study is based on the ALNS heuristic proposed by Ropke and Pisinger (2006), which is an extension of the Large Neighborhood Search (Shaw (1998)). An outline of the algorithm can be found in Algorithm 1. The algorithm initializes a solution using a construction heuristic, and then aims to improve this solution by removing customers from the solution and inserting them at another position. Customers are selected and inserted using several destroy and repair operators, which are chosen based on their past performance. A new solution is obtained in each iteration, which is either accepted or rejected. The process continues until a stopping criterion is reached.

The construction of an initial solution is described in Section 4.1. Sections 4.2 and 4.3 elaborate on respectively the destroy and repair operators. Section 4.4 discusses the acceptance and stopping criteria, and finally Section 4.5 considers the adaptive aspects of the algorithm.

4.1

Construction heuristic

(9)

Algorithm 1 Outline of the ALNS heuristic

1: Construct initial solution s

2: Solution sbest ← s 3: Solution scur ← s 4: repeat 5: repeat 6: scur← s 7: destroy s 8: repair s 9: if f (s) ≤ f (sbest) then 10: sbest ← s 11: scur ← s

12: else if f (s) ≤ f (scur) OR s0 is accepted then

13: scur ← s

14: end if

15: update operator scores

16: until predetermined number of iterations

17: update operator probabilities

18: until stopping criterion

19: return sbest, f (sbest)

4.2

Destroy heuristics

In each iteration, a removal operator selects z customers to be removed from the solution. A removal operator is selected with a probability based on its past performance. We use ten different removal operators, which are described in this section. The random removal, worst removal and cluster removal operators have been adapted from Pisinger and Ropke (2007). The related removal operator has been developed by Shaw (1998), but the adapted version as described by Pisinger and Ropke (2007) has been used. Furthermore, vehicle removal and trip removal have been previously used by Grangier et al. (2016). We propose an adapted version of the synchronization removal as described by Grangier et al. (2016). Lastly, we introduce waiting time reduction removal and a trip switch.

4.2.1 Random removal

The random removal operator randomly z customers to be removed from the solution.

4.2.2 Worst removal

(10)

Worst-distance removal

The cost of a customer j is calculated as

cj = X i∈V i6=j xijcij + X k∈V k6=j xjkcjk.

The z most costly customers are removed from the solution. Worst-time removal

Costs of a customer can also be denoted in terms of time. The cost of a customer is then

denoted by the change in P

y∈Y a y

m+1, once a customer is removed. The z customers that

induce the largest change are removed. However, calculating the effect on the cumulative ar-rival time when removing a customer in the DDVRP is complex, due to the interdependency of routes. If a customer is removed from a vehicle that arrives last at a depot location, the arrival time of the truck at the next depot location changes. Hence, early-arriving vehicles at this depot location may depart sooner. The arrival time of all vehicles may thus be affected by the removal of a customer.

4.2.3 Synchronization removal

A major challenge of the DDVRP is the synchronization of arrival times at depots. At each depot, the truck is allowed to leave once the last vehicle has arrived. Suppose vehicles arrive very dispersedly. The truck may be waiting at a depot location for the last vehicle, while the first vehicle may already be waiting at the next depot location. To avoid these waiting times, we include an operator to synchronize route lengths. Synchronization removal has previously been applied by Grangier et al. (2016). However, Grangier et al. (2016) study synchronization between a first level and second level vehicle, and hence their measure of synchronization considers the deviation between arrival times of a first and second level vehicle. In contrast, the DDVRP is concerned with synchronization between all second level vehicles, and hence synchronization is measured by the difference in arrival times of the first

and last vehicles at every depot. The operator selects segment k∗ such that

k∗ = argmax k∈{1,...,m−1} {max y∈Y a y k− miny∈Y a y k}.

The operator selects vehicles that arrive after a fraction µ of the time has passed, denoted as

y ∈ Y such that ayk∗ ≥ µ · (max

y∈Y a y k∗− min y∈Y a y k∗).

We randomly remove z customers in segment k∗ − 1 from these vehicles. If vehicles are

(11)

4.2.4 Waiting time reduction removal

Similarly to the synchronization removal operator, this operator is specifically designed for the DDVRP. If a vehicle arrives earlier than the truck at depot k, the truck has spent too much time at depot k − 1. Hence, customers should be removed from the route of the last

vehicle arriving at depot k − 1. Firstly, we select depot k∗, such that

ayk∗ < a0k∗ for any y ∈ Y.

Then, we select vehicle y∗, with

y∗ = argmax

y∈Y

{ayk−1}

We select half of the customers from the route of vehicle y∗, in segments {1, . . . , k∗− 2}. If

there exists no waiting time, we randomly remove z customers.

4.2.5 Related removal

Shaw (1998) has developed a related removal operator that aims to remove a set of customers that are in a way related, and therefore easy to interchange. Similar to Pisinger and Ropke (2007), we have considered relatedness in terms of distance. The operator randomly selects

a customer i, which is then added to the removal list. The operator selects the customer j∗

that is closest related to the last added customer to the list, hence

j∗ = argmin

j∈Vc

{cij}.

Then, the customer closest related to customer j is added. The process continues until z customers have been added.

4.2.6 Cluster removal

Although the cluster removal operator is closely related to the related removal heuristic, there is a clear motivation for adding the cluster removal operator. Suppose there exists a geographical cluster of customers, and only part of these customers are removed by the related removal operator. Then, it is likely that these customers are reinserted at a similar point in the route. However, if we remove the entire cluster, it may appear that serving the whole cluster (partly) by a different vehicle improves the solution. The cluster removal operator applied to the DDVRP is a simpler version than the one used in Pisinger and Ropke (2007). Pisinger and Ropke (2007) use Kruskal’s algorithm of finding a minimum spanning tree to partition the customers in a route into two clusters. On the other hand, the cluster removal operator in this study simply randomly selects a customer i, and removes all other customers within a certain distance around it. Hence, we remove customer j, such that

cij < γ ∗ max

i,j∈Vc

{cij}.

(12)

4.2.7 Vehicle removal

Since we minimize the total amount of working hours and since vehicles have to visit each depot once they are operational, it is beneficial to limit the number of vehicles used. Hence, a removal heuristic that forces a limitation on the number of vehicles used is required. The vehicle removal operator randomly selects a vehicle to be removed.

4.2.8 Trip removal

The trip removal operator randomly selects trips of which all the customers are removed, until a total of z customers.

4.2.9 Switching trips

The distribution of trips over the available vehicles in the DDVRP is very important. A route can be very efficient in terms of distance, but if one vehicle is assigned all the long trips, other vehicles will be waiting. Therefore, a problem-specific operator called trip switch is included. That is, at every depot, the vehicle that arrives first is assigned the longest trip in the next segment. Both the arrival times and trip lengths are ordered and assigned accordingly. This trip switch is added as a removal operator, but is also an insertion operator, since a new solution is obtained right away. Hence, no insertion operator is called after a trip switch has been used.

4.2.10 Randomization

To avoid a pattern in the selection of removed customers, randomization is added to worst removal and related removal. When z customers need to be removed, ψ ∗ z customers are selected, out of which z customers are randomly chosen to be removed.

4.3

Repair heuristics

The removed customers need to be inserted back into the solution. To achieve this, several insertion operators are developed. Similar to the destroy operators, a repair operator is selected with a probability based on its past performance. The greedy insertion operator and the regret insertion operator have been adapted from Ropke and Pisinger (2006). Similar to the worst removal operator, both insertion methods are considered in terms of distance and in terms of time.

4.3.1 Greedy insertion

(13)

4.3.2 Regret-p insertion

The regret-p insertion operator is developed to avoid large costs associated with not inserting

a customer in its best route. Let ∆fiq denote the change in objective value when inserting

customer i in its q’th best route at its best position. Then, ∆f2

i, denotes the change in

objective value when the customer is inserted in the second best route. The regret-2 costs are thus denoted as

∆fi2− ∆f1

i.

An extension of the operator would consider the regret-p costs, defined as

p

X

h=2

∆fih− f1

i.

We include a regret-2 and a regret-p operator, with p = b0.5mlc. The operators calculate the regret costs for each customer, and greedily insert the customers in decreasing order of regret costs. We consider both regret distance insertion and regret time insertion.

4.3.3 Noise

To enhance diversification, we add a noise parameter to the insertion cost. We use a similar method as Pisinger and Ropke (2007), Demir et al. (2012) and Chen et al. (2018), who use a formula

Noise cost = max{0, Insertion cost + η · α · cmax},

where η is the amount of randomization, α ∈ {1, −1}. cmax denotes the maximum distance

between customers and is used to proportionate the noise level with the objective function. Similar to Pisinger and Ropke (2007), we determine whether to add noise or not after an insertion operator has been chosen. However, whereas Pisinger and Ropke (2007) base this decision on the past performance of the noise operator, we predetermine the probability of adding noise at ρ%.

4.3.4 Escaping local optima

We want to avoid that the algorithm spends many iterations in a local optimum. Therefore, if the best solution has not improved over at least θ iterations, the algorithm calls a solution shake. A relatively large part of the customers is removed from the solution, and greedily inserted using best distance insertion. To enhance diversification, insertion costs are calcu-lated using a relatively large noise level. The obtained solution is accepted as the current solution.

4.4

Acceptance and stopping criteria

The algorithm always accepts a solution better than the current solution. Acceptance of a solution worse than the current solution is decided using simulated annealing. That is, we accept a solution with a probability

(14)

The probability of accepting a solution decreases with its deviation from the current solution. The starting value of T is set such that a solution ω% worse than the initial solution is accepted with a 50% probability. Every ι number of iterations, T is updated according to T ← c ∗ T , c ∈ [0, 1]. Consequently, the probability of accepting a worse solution decreases over the course of the algorithm. The algorithm terminates after a predefined number of iterations I.

4.5

Adaptive aspects

The ALNS heuristic is characterized by the adaptive selection of the destroy and repair heuristics used. Initially, each heuristic has the same probability of being selected. Each

heuristic h ∈ {1, . . . , H} is assigned an identical weight wh, and the probability ph assigned

to each heuristic is determined as

ph =

wh

PH

h=1wh

.

During the course of the algorithm, the weight of the operators is adapted according to

the performance. The operator can obtain points σ1, σ2, σ3, as described in Table 1. These

points add up to a score πh for each heuristic. After a predetermined number of iterations

ι, the weights are updated using

wh ← (1 − β)wh+ βπh/θh,

where θh is the number of times an operator has been called since the last update and

β ∈ [0, 1] is the reaction factor. The operator scores are reset.

At different stages in the algorithm, different operators may perform well. We need to avoid that the probability of choosing a particular operator goes to zero in the beginning of the algorithm, and will therefore never be chosen in a later stage. Therefore, we impose a floor on the probability an operator receives. Furthermore, operator probabilities are reset several times during the course of the algorithm.

Parameter Description

σ1 A new best solution is obtained.

σ2 The obtained solution is better than the current

solution, but worse than the best solution.

σ3 The obtained solution is worse than the current

solution, but it was previously unvisited and is accepted.

(15)

5

Solution quality

The ALNS heuristic is programmed in Python. All experiments on the ALNS heuristic are conducted on an Intel Xeon 2.5 GHz processor. The mathematical model of Section 2 is implemented in AIMMS and solved using CPLEX 12.6.2. We provide details on the parameters of the heuristic in Section 5.1. Section 5.2 discusses a typical solution path of the ALNS heuristic. Furthermore, we test the performance of our ALNS heuristic against 23 benchmark instances of the MDVRP in Section 5.4, and against 10 optimal solutions of the DDVRP in Section 5.5.

5.1

Parameter tuning

An overview of the parameters used in this study and their values is given in Table 2. These values are determined using the parameter values of Ropke and Pisinger (2006) as a starting point and extensive parameter tuning.

Furthermore, the value of z is determined as follows. Pisinger and Ropke (2007) con-ducted several experiments and determined to remove a randomly generated number z ∈ [min{0.1n, 30}, min{0.4n, 60}]. Hence, small instances will have a value of z ∈ [0.1n, 0.4n], and large instances will have z ∈ [30, 60]. However, they also note that towards the end of the heuristic, the simulated annealing algorithm only accepts minor changes to the solution. They mention that it may thus be beneficial to decrease z towards the end of the algorithm. We decide to remove α ∗ z customers, with α = 1 at the start. In the last 7000 iterations, the value of α is adapted each 1000 iterations using α = α − 0.1. Hence, in the last 1000 iterations, only 0.3 ∗ z customers will be removed.

Parameter Refers to Value

µ Synchronization removal 0.75 γ Cluster removal 0.10 ψ Randomization 2 ρ Noise probability 0.40 η Noise level 0.025 ω Starting temperature ( 2, if n ≤ 100 1, otherwise c Cooling rate 0.99 ι Update 100 σ1 Operator scores 33 σ2 Operator scores 9 σ3 Operator scores 13

z Number of customers to remove ∈ α · [min{0.1n, 30}, min{0.4n, 60}]

θ Solution shake 3000

I Iterations 30,000

(16)

Figure 3: Solution path

The best solution (lower line) and the current solution (upper line) as a function of the iteration count

5.2

Analysis of the solution search

Figure 3 shows a typical solution path of the ALNS heuristic. At the start of the algorithm,

solutions of bad quality are accepted. As the algorithm proceeds and the temperature

decreases, the acceptance region also decreases. In the end, only minor changes to the current solution are accepted. Furthermore, it can be observed that a solution shake has occurred around iteration 27500. However, at such a late stage in the algorithm, this has not improved the solution quality.

5.3

Performance of the operators

We have tested the performance of several newly introduced operators and of several oper-ators that have not been widely used. Furthermore, we have tested the performance of the solution shake.

(17)

5.4

Benchmarks on the MDVRP

Since the MDVRP is a generalization of the DDVRP, we can solve MDVRP instances using the ALNS algorithm for the DDVRP. MDVRP instances created by Cordeau et al. (1997) have been widely solved in the literature. These instances consider a homogeneous fleet of l vehicles at each of the m depots. Instances contain a maximum route duration D and a maximum capacity Q. Customers have an individual, non-unit demand. It is assumed that visiting a customer takes no time, there are no time windows, and each customer is visited once.

A description of the instances and the corresponding best known solutions can be found in Table 3. Moreover, this table contains the solutions obtained by the ALNS heuristic. The table reports a best and an average solution, computed over ten runs. The average gap with the best known solutions is 0.26%. We find the best known solution for 13 out of 23 instances. Furthermore, for 9 out of the 10 remaining instances, we find a solution within 1% from best known. We have not improved upon any of the best known solutions. However, the MDVRP has been extensively researched, and hence the best known solutions are probably of high quality. The gap between the best solution and the average solution obtained by the ALNS is on average 0.46%. The gap surpasses 1% four times, but never surpasses 2%. Hence, the algorithm performs stable. The algorithm is considerably slower than the ALNS heuristic by Pisinger and Ropke (2007). Using another programming language than Python will presumably improve the computation times considerably.

5.5

Benchmark optimal solutions

Besides using the described ALNS heuristic to solve MDVRP instances, we benchmark the quality of our DDVRP solutions against optimal solutions. We have solved several DDVRP instances using Mixed Integer Linear Programming. These instances are relatively simple, in order to make optimization possible. A maximum of of 100 customers is considered, and the instances contain a small number of depots and vehicles. Capacity constraints are imposed, but set not very tight. All instances are solved for ε = 0, that is, minimizing the cumulative arrival time. The Mixed Integer Program is solved for a predetermined number of available vehicles. Hence, a loop over all possible numbers of operating vehicles determines the optimal solution.

(18)
(19)

MILP ALNS: best ALNS: average n m l Q Obj. Time (s) Obj. Gap (%) Obj. Gap (%) Time (s) a1 50 3 3 15 261.75 6 261.75 0.00 261.75 0.00 417 a2 50 4 3 10 281.09 6 281.09 0.00 281.09 0.00 566 a3 50 5 3 8 291.63 8285 291.63 0.00 291.63 0.00 656 a4 50 3 4 8 348.21 37 348.21 0.00 348.21 0.00 458 a5 80 3 3 12 183.36 105 183.36 0.00 183.36 0.00 625 a6 80 3 4 15 146.20 8622 146.20 0.00 146.20 0.00 847 a7 80 4 3 15 150.97 73 150.97 0.00 150.97 0.00 1011 a8 100 3 3 15 371.65 378 371.65 0.00 371.67 0.00 983 a9 100 3 3 25 295.95 352 295.95 0.00 295.95 0.00 1169 a10 100 4 4 12 416.11 3071 416.13 0.00 416.88 0.00 1662 Average 0.00 0.00

Table 4: Optimal solutions compared to ALNS solutions

The first column denotes the objective value of the optimal solution and the computation time of the MILP. The second column contains the best obtained ALNS solution over ten runs, and the third columns displays the average obtained ALNS

solution. The gap from the best solution indicates the percentage difference between the best known solution and the best solution obtained by the ALNS heuristic. The average gap denotes the difference between the best and average ALNS

solution. The last column denotes the average computation time of the ALNS heuristic.

6

Experimental insights

Since we introduce the DDVRP, several experiments are conducted to provide insights on the problem. Firstly, the DDVRP is characterized by vehicles’ waiting times, due to route interdependency. Therefore, we will discuss the dynamics of waiting time in Section 6.2. Secondly, the use of depot locations in the DDVRP is very flexible. Hence, we will elaborate on the number of depot locations and the order of depot visits in Section 6.3. Lastly, using a driving depot would be a possible replacement for using multiple depots. Therefore, we have compared the solutions of the DDVRP to solutions of the MDVRP in Section 6.4. The instances on which the experiments are conducted are described in Section 6.1.

6.1

Instances

The experiments in Section 6.2 and 6.3 are carried out on an instance with 100 customer locations, which are randomly generated within a circular area. Each customer has a unit demand, since urban goods delivery to private customers is considered. Unless noted other-wise, we use a value ε = 0, hence we minimize time. No maximum route length is considered. The number of depots and vehicles, and hence the capacity, varies. In Section 6.3 we also use a ’centralized’ version of the instance. This implies that half of the customers is reallocated to a random location near the center of the area. Furthermore, the experiment in Section 6.4 is conducted on a number of instances, which differ in terms of centralization, m, Q, l and n. Each instance considers the same area, and hence the customer density varies. In

order to make comparisons more intuitive, a value τv = 1 has been chosen. We assume that

the vehicles and truck drive equally fast, hence τr = 1. Lastly, we consider a predetermined

(20)

0.5 0.75 1 1.25 1.5 1.75 2 r 2500 3000 3500 4000 4500 5000 5500 Total time Travel time Waiting time (a) m = 5, l = 3, Q = 7 0.5 0.75 1 1.25 1.5 1.75 2 r 2500 3000 3500 4000 4500 5000 5500 Total time Travel time Waiting time (b) m = 3, l = 6, Q = 6

Figure 4: Objective value as a function of τr

6.2

Waiting times

Waiting times arise when vehicles arrive at a depot location before the truck, and thus depend on the truck’s travel speed. Therefore, we analyze the relationship between the truck’s speed

and the vehicles’ waiting time. We consider a value τv = 1, and vary the speed of the truck

between being twice as fast, τr = 0.5, and twice as slow, τr = 2. In reality, both cases may

occur. Travel times of the truck can increase considerably in the case of travel congestion, whereas small vehicles such as bicycles can avoid this. On the other hand, bicycles have a much lower driving speed than the truck. Figure 4 shows that both the travel time and waiting time increase considerably when the truck travels slower than the vehicles. Travel time increases since it is preferred to serve customers than to be waiting, even though this may increase the route’s length. The increase in the total time is highest when there are more vehicles, even though there are less depots. Nonetheless, when the truck travels at least as fast as the vehicles, waiting times are very low, and travel distance does not further decrease when the truck’s speed increases. Therefore, when the truck is sufficiently fast, it may be chosen to minimize distance in stead of time. Since the interdependency of routes is irrelevant when minimizing distance, this is considerably easier.

Therefore, we evaluate how the objective value changes when the focus shifts to

minimiz-ing distance, for τr = 1 and τr = 1.5. Considering τr < 1 is less relevant, as has been shown

(21)

0 0.5 1 2300 2400 2500 2600 2700 2800 Total time Travel time Waiting time (a) τr= 1, m = 5, l = 3 0 0.5 1 2300 2400 2500 2600 2700 2800 Total time Travel time Waiting time (b) τr = 1.5, m = 5, l = 3 0 0.5 1 3200 3400 3600 3800 4000 4200 4400 4600 Total time Travel time Waiting time (c) τr= 1, m = 3, l = 6 0 0.5 1 3200 3400 3600 3800 4000 4200 4400 4600 Total time Travel time Waiting time (d) τr= 1.5, m = 3, l = 6

Figure 5: Total time as a function of ε

6.3

Depots

(22)

2 3 4 5 6 m 1700 2100 2500 2900 3300 3700 Objective value Q=8 Q=15

Figure 6: Objective value as a function of m

a visiting order that crosses the center (a starwise order). The orders are tested on the above described instances. It appears that the clockwise visiting order gives a considerably better solution than the starwise visiting order, even when customers are centralized. This may be caused by the extra distance that needs to be traveled to reach a depot in the starwise visiting order. Nonetheless, many more depot location orders are possible, and the optimal order will vary between instances. Hence, in stead of predetermining the order of depot visits, the algorithm could be extended such that it determines the order of depot visits.

D D D D D (a) D D D D D (b)

Figure 7: Different orders of depot visits

6.4

The DDVRP compared to the MDVRP

A description of the solved instances and the objective values of the solutions can be found in Table 5. The solutions are computed over ten runs. It appears that 13 out of 16 instances obtain a lower objective value when solved as an MDVRP than when solved as a DDVRP. The 3 other instances, DD01, DD07 and DD08 are characterized by relatively dispersed customers and vehicles with a high capacity.

(23)

when solved as a DDVRP than when solved as an MDVRP. On the other hand, when capacity is low, the MDVRP solution is considerably better. This is caused by the number of operating vehicles. In the MDVRP, the number of vehicles can deviate per depot, but in the DDVRP an operating vehicle must visit each depot. Therefore, large improvements to the DDVRP solution can be made when vehicles are not required to visit each depot. The same argumentation applies to instances DD07 and DD09.

Since opening depots is much more flexible in the DDVRP, and since improvements in the solutions will occur once it is allowed to skip depot locations, it may preferred to use a DDVRP, even though MDVRP solutions are currently better.

D D D (a) DDVRP DD01 D D D (b) MDVRP DD01 D D D (c) DDVRP DD03 D D D (d) MDVRP DD03

(24)

Instance DDVRP MDVRP n m l Q C Best obj. Avg. obj Runtime Best obj. Avg. obj. Runtime DD1 50 3 5 10 No 1303.58 1303.58 551 1306.83 1306.83 289 DD2 50 3 5 10 Yes 1271.41 1271.41 518 1181.87 1181.87 264 DD3 50 3 5 5 No 2251.37 2251.41 445 1776.25 1778.92 208 DD4 50 3 5 5 Yes 2213.36 2213.99 396 1830.74 1833.21 210 DD5 100 2 10 10 No 2549.56 2556.00 1212 2348.74 2351.92 829 DD6 100 2 10 10 Yes 2422.95 2426.83 1171 2344.72 2348.76 837 DD7 100 5 5 10 No 1843.59 1866.76 1512 1931.69 1943.47 726 DD8 100 5 5 10 Yes 1964.52 1986.82 1412 1968.55 1980.77 720 DD9 100 5 5 5 No 3005.13 3033.13 896 2741.95 2772.35 497 DD10 100 5 5 5 Yes 3214.76 3260.18 917 3104.90 3139.40 499 DD11 200 2 10 15 No 3542.32 3547.57 2988 3298.69 3318.02 2259 DD12 200 2 10 15 Yes 3394.23 3395.30 2977 3234.71 3257.36 2245 DD13 200 6 5 15 No 2753.60 2771.11 5284 2586.34 2596.24 1933 DD14 200 6 5 15 Yes 2938.20 2959.50 4406 2667.88 2681.88 1850 DD15 200 6 5 8 No 4071.10 4101.33 2340 3561.26 3596.74 1229 DD16 200 6 5 8 Yes 4422.43 4448.56 2285 4056.24 4110.55 1110 Table 5: DDVRP compared to MDVRP

7

Conclusion

This study has introduced the Driving Depot Vehicle Routing Problem, in which small vehicles are replenished by a driving depot at predetermined depot locations. We aimed to develop a solution method that finds routes for the vehicles such that the total working time, which includes travel time and waiting time, is minimized. The problem has been formally defined and it has been shown that the DDVRP is a generalization of the MDVRP.

We have developed an Adaptive Large Neighborhood Search heuristic to solve the DDVRP. Since this heuristic can also solve the MDVRP, we have benchmarked our solutions against 23 best known solutions of MDVRP instances. We have found 13 out of 23 best known solutions, and the average gap between our best solution and the best known solution is 0.26%. Furthermore, we have implemented the mathematical formulation of the DDVRP in a CPLEX solver, to solve DDVRP instances up to 100 customers. It appears that the ALNS heuristic finds the optimal solutions for these instances.

(25)

References

Angelelli, E. and Speranza, M. G. (2002). The periodic vehicle routing problem with inter-mediate facilities. European journal of Operational research, 137(2):233–247.

Chao, I.-M., Golden, B. L., and Wasil, E. (1993). A new heuristic for the multi-depot vehicle routing problem that improves upon best-known solutions. American Journal of Mathematical and Management Sciences, 13(3-4):371–406.

Chen, S., Chen, R., Wang, G.-G., Gao, J., and Sangaiah, A. K. (2018). An adaptive

large neighborhood search heuristic for dynamic vehicle routing problems. Computers & Electrical Engineering, 67:596–607.

Cordeau, J.-F., Gendreau, M., and Laporte, G. (1997). A tabu search heuristic for periodic and multi-depot vehicle routing problems. Networks: An International Journal, 30(2):105– 119.

Crevier, B., Cordeau, J.-F., and Laporte, G. (2007). The multi-depot vehicle routing problem with inter-depot routes. European Journal of Operational Research, 176(2):756–773. De Rosa, B., Improta, G., Ghiani, G., and Musmanno, R. (2002). The arc routing and

scheduling problem with transshipment. Transportation Science, 36(3):301–313.

Del Pia, A. and Filippi, C. (2006). A variable neighborhood descent algorithm for a real waste collection problem with mobile depots. International Transactions in Operational Research, 13(2):125–141.

Demir, E., Bekta¸s, T., and Laporte, G. (2012). An adaptive large neighborhood search heuristic for the pollution-routing problem. European Journal of Operational Research, 223(2):346–359.

Dondo, R., M´endez, C. A., and Cerd´a, J. (2011). The multi-echelon vehicle routing problem

with cross docking in supply chain management. Computers & Chemical Engineering, 35(12):3002–3024.

Drexl, M. (2012). Synchronization in vehicle routing—a survey of vrps with multiple syn-chronization constraints. Transportation Science, 46(3):297–316.

Grangier, P., Gendreau, M., Lehu´ed´e, F., and Rousseau, L.-M. (2016). An adaptive large

neighborhood search for the two-echelon multiple-trip vehicle routing problem with satel-lite synchronization. European Journal of Operational Research, 254(1):80–91.

Ho, W., Ho, G. T., Ji, P., and Lau, H. C. (2008). A hybrid genetic algorithm for the multi-depot vehicle routing problem. Engineering Applications of Artificial Intelligence, 21(4):548–557.

Montoya-Torres, J. R., Franco, J. L., Isaza, S. N., Jim´enez, H. F., and Herazo-Padilla, N.

(26)

Pisinger, D. and Ropke, S. (2007). A general heuristic for vehicle routing problems. Com-puters & operations research, 34(8):2403–2435.

Polacek, M., Hartl, R. F., Doerner, K., and Reimann, M. (2004). A variable neighbor-hood search for the multi depot vehicle routing problem with time windows. Journal of heuristics, 10(6):613–627.

Renaud, J., Laporte, G., and Boctor, F. F. (1996). A tabu search heuristic for the multi-depot vehicle routing problem. Computers & Operations Research, 23(3):229–235.

Ropke, S. and Pisinger, D. (2006). An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transportation science, 40(4):455–472. Salazar-Aguilar, M. A., Langevin, A., and Laporte, G. (2013). The synchronized arc and

node routing problem: Application to road marking. Computers & Operations Research, 40(7):1708–1715.

Schneider, M., Stenger, A., and Hof, J. (2015). An adaptive vns algorithm for vehicle routing problems with intermediate stops. OR Spectrum, 37(2):353–387.

Shaw, P. (1998). Using constraint programming and local search methods to solve vehicle routing problems. In International conference on principles and practice of constraint programming, pages 417–431. Springer.

Tarantilis, C. D., Zachariadis, E. E., and Kiranoudis, C. T. (2008). A hybrid guided local

search for the vehicle-routing problem with intermediate replenishment facilities.

Referenties

GERELATEERDE DOCUMENTEN

The bad performance on Custom datasets (which contains larger instances) results from a difficulty in estimating the size of the interaction effect (in fact, the estimated

In this paper we study the two echelon vehicle routing problem with covering options (2E-VRP- CO), which arises when both satellite locations and covering locations are available

We also compare our ALNS heuristic against best solutions on benchmark instances of two special cases of our problem, the vehicle routing problem with simultaneous pickup and

When customers can be served by more than one vehicle, the problem is called the Multi Depot Split Delivery Vehicle Routing Problem with Inventory constraints (MDSDVRP-I).. The

For larger input instances the GA was again benchmarked against both specified practical distri- bution rules. These experiments showed that the performance of the GA decreases in

These three settings are all investigated for the same input set with 100 locations: one distribution center, nine intermediate points and 190 customer locations; the demand range

This is true since it is the best solution in all solution spaces cut away by the piercing cuts and the remaining part of the solution space cannot contain a better solution, since

The vehicle routing problem which is the subject of this paper is to determine a set of tours of minimum total length such that each of a set of customers, represented by points in