Next Article in Journal
Testing Symmetrical Knot Tracing for Cognitive Priming Effects Rules out Analytic Analogy
Previous Article in Journal
Automatic Malicious Code Classification System through Static Analysis Using Machine Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multithreading Parallel Robust Approach for the VRPTW with Uncertain Service and Travel Times

National School of Applied Sciences Khouribga, Sultan Moulay Slimane University, 23052 Beni Mellal, Morocco
*
Author to whom correspondence should be addressed.
All authors contributed equally to this work.
Symmetry 2021, 13(1), 36; https://doi.org/10.3390/sym13010036
Submission received: 20 November 2020 / Revised: 10 December 2020 / Accepted: 15 December 2020 / Published: 28 December 2020
(This article belongs to the Section Computer)

Abstract

:
The objective of this paper is to consider the vehicle routing problem with time windows under two uncertainties: service and travel times. We introduce new resolution approaches for the robust problem and an efficient parallel procedure for the generation of all possible scenarios. The best robust solution of each scenario can be achieved by using a parallel adaptive large neighborhood search metaheuristic. Through our analysis, we expect to find the best compromise between the reduced running time and a best good solution, which leads to four distinct combinations of parallel/sequential approaches. The computational experiments are performed and tested on Solomon’s benchmark and large randomly generated instances. Furthermore, our results can be protected against delay in service time in a reasonable running time especially for large instances.
MSC:
90C17; 90B06; 90C59; 68W10; 65Y05

1. Introduction

Over the past few decades, the Vehicle Routing Problem (VRP) and its variants have been the subject of massive investigations in operations research. This fact is due to the importance of its applications in different domains, such as logistics, supply chain management, scheduling, inventory, finance, etc. The main purpose of the vehicle routing problem is to find a set of least cost routes, beginning and ending at a depot, that together cover a set of customers (see, e.g., [1,2,3]). In real-world applications, several operational constraints must be taken into account, as for example considering the travel and service times with time-window limitations [4]. Then, the considered problem becomes the Vehicle Routing Problem with Time Windows (VRPTW) [5].
A challenging topic in solving the VRPTW problem consists of considering uncertain parameters. Different approaches have been proposed in order to handle uncertain events in a VRPTW, in demand, displacement time, and service time. From the literature, we distinguish between stochastic and robust approaches. The stochastic variant can be regarded as a methodology that aims at finding a near-best solution for the objective function responding to all uncertain events that are characterized by their probability distributions [6,7,8]. On the other hand, the purpose of the robust approach is to find a solution that protects against the impact of data uncertainties, taking into consideration several technical criteria challenges such as the worst case, best case, min-max deviation, etc. The choice of a mathematical model of uncertain data is a crucial step to provide robust solutions. This kind of approach was the subject of a series of papers (see, e.g., [9]). In this context, Rouky et al. [10] introduced the uncertainties to the travel times of locomotives and the transfer times of shuttles as a model of the Rail Shuttle Routing Problem (RSRP) at Le Havre port. The authors proposed the Robust Ant Colony Optimization (RACO) as an efficient technique to deal with the problem. In the same spirit, Wu et al. [11] proposed a robust model tested on a set of random instances for the vehicle routing problem with uncertain travel time to improve the robustness of the solution, which enhances its quality compared with the worst case in a majority of scenarios. For instance, we split the resolution methods of this last approach into two major categories: exact and heuristic methods.
Due to the NP-hard nature of such problems, we cannot expect to use exact methods for the resolution (see, e.g., [12,13]). Indeed, the heuristics are solution methods that yield very good solutions in a limited time at the expense of ensuring the optimal solution. A generic class called the metaheuristic is used to exploit the best capabilities to achieve better solutions to solve a wide range of problems, since the mechanism to avoid getting trapped in local minima is present. In this regard, the literature covers a considerable number of metaheuristics conceived of to solve the VRPTW such as Simulated Annealing (SA) [14,15], Variable Neighborhood Search (VNS) [16,17], Ant Colony Optimization Algorithm (ACO) [18,19], Genetic Algorithm (GA) [20], and Tabu Search (TS) [21,22,23].
The need for parallel computing becomes inevitable despite the good results obtained with metaheuristics, due to the huge scale of the input data and the unexpected way of its change, which makes the objective function time-consuming. However, it is important to notice that the quality of the solution can be influenced. For instance, the major challenge is to find a parallelization strategy that solves larger problem instances in reasonable computing times and offers a consistently high level of performance over a wide variety of problem characteristics. In this context, several authors have proposed parallel techniques to tackle the combinatorial problems. Following these ideas, Bouthillier et al. [24] proposed a multi-thread parallel cooperative multi-search method founded on a solution warehouse strategy to deal with the deterministic VRPTW. Their method is based mainly on two cooperating classes of heuristics, namely tabu search and the evolutionary algorithms. In this regard, Røpke (2009) [25] applied a parallel ALNS to the traveling salesman problem with pickup and delivery and the capacitated vehicle routing problem such that each worker thread obtains a copy of the current solution and performs destroy and repair operations on its local copy in order to produce the best global solution. In the same spirit, Hemmelmayr (2014) [26]) proposed a parallel variant of the Large Neighborhood Search (LNS) to solve the periodic location routing problem. On the same topic, Pillac [27] presented a parallel version of the ALNS by adding a set covering post-optimization model that combines the tours generated throughout the search to assemble a better solution. It is worth mentioning here that the longer a heuristic is run, the better the quality of the solution is. Our contribution in this work is to study the balance between the quality of the solution and the corresponding execution time. Therefore, we suggest through our investigation a compromise between the required running time and the objective function. This can be viewed as a multi-criteria optimization problem.
Thus, the goal of this work is to study the effect of multithreading parallelization of the resolution approach blocks on the running time and the objective function. The optimization problem considered here is a variant of the Robust Vehicle Routing Problem with Time Windows (RVRPTW) including both uncertainties in travel and service times. Our contribution to all previous works lies first on the choice of the efficient Parallel Adaptive Large Neighborhood Search (PALNS) metaheuristic of Ropke [25], which leads to a reduced running time. Moreover, we used our parallel version of the Metropolis Monte Carlo algorithm to generate all possible realizations and to transform the problem under uncertainties to a set of deterministic sub-problems. For more detail about this splitting process, see for instance the previous work [9] and the references therein. Based on the efficient implementation of [25], different combinations (sequential/parallel) of the Monte Carlo algorithm and ALNS are performed. In this way, our strategy offers to decision makers the choice of the combination depending on their preferences and the situation at hand.
To the best of our knowledge, this contribution is the first work to be devoted to the study of VRPTW considering the uncertainties on travel times and service times for different sizes of instances in terms of both the execution time and the objective value.
The outline of this paper is organized as follows. The problem statement and mathematical model is provided in the second section. The sequential robust approach used to solve the problem is the subject of the third section. Within Section 4, we present the parallel Monte Carlo algorithm to generate all possible scenarios and the parallel ALNS algorithm to solve each sub-problem corresponding to each scenario. Finally, a detailed computational and comparative study is given before the concluding remarks and perspectives.

2. Problem Statement

The mathematical formulation of the problem can be represented on a graph G = ( N , A ) , where  N = { 0 , 1 , . . . , n } is the set of nodes and A = { ( i , j ) : i , j A , i j } is the set of arcs. The node o represents the depot, and each other node is affected by a customer i. Each arc ( i , j ) is assigned to the travel cost c i j , which, in general, is proportional to the travel time t i j or the distance d i j between i and j. For the rest of this paper, we consider only the travel time cost t i j . It is worth mentioning that this travel time t i j is subject to uncertainty Δ i j . The nominal service time is denoted by P i k for each vehicle k and node i within the time window [ a i , b i ] and depends on uncertainty δ i . According to the work of [9], we identify the uncertainty sets related to these times by:
U t = { t R A / t i j = t i j + Δ i j ϵ i j , ( i , j ) A ϵ i j Γ , 0 ϵ i j 1 , ( i , j ) A }
and
U P = { P R N / P i = P i + δ i ω i , i N ω i Λ , 0 ω i 1 , i N }
We denote the subset of arcs that are dependent on uncertainty by Ψ with a cardinal Γ and the subset of nodes depending on uncertainty by θ with a cardinal Λ .
The binary decision variables x i j k take the value one if vehicle k travels between the pairs of nodes ( i , j ) and zero otherwise.
We introduce the model of our problem, which tries to find a solution optimizing the total travel time taking into account the minimization of the worst evaluation over all scenarios:
Min   ( k V ( i , j ) A x i j k t i j + m a x { Ψ / Ψ A , Ψ = Γ } k V ( i , j ) Ψ x i j k Δ i j )
subject to:
k V j N x i j k = 1 ( i N )
j N x 0 j k = 1 ( k V )
i N x i h k = j N x h j k ( h N ) ( k V )
i N x i 0 k = 1 ( k V )
a i P i k b i ( i N ) ( k V )
P i k + t i j + δ i ν i θ + Δ i j μ i j Ψ P j k ( 1 x i j k ) M ,
( i N ) , ( j N \ { 0 } ) , ( k V ) ( θ N ) θ = Λ , ( Ψ A ) Ψ = Γ
where M is a great value and ν i θ and μ i j Ψ are two indicator functions. When i θ , ν i θ takes the value of one. When ( i , j ) Ψ , μ i j Ψ takes one.
The constraint (1) stipulates that each customer must be visited once. The constraint (2) guarantees that each tour starts from the depot. The constraint (3) ensures that the same vehicle arrives and leaves from each node it serves. The constraint (4) ensures that each tour ends at the depot. The constraint (5) guarantees that the service time P i k at any customer i by vehicle k starts inside a specified time interval [ a i , b i ] . The last constraint (6) prohibits the violation of the time windows. Then, if the vehicle arrives ahead of time at a customer i, it must wait until the time window [ a i , b i ] opens, and besides, it is not allowed to arrive late.

3. Robust Optimization

In real-world applications of operations research, we cannot ignore the fact that in the presence of uncertainties, an optimal solution could become worse or even unreachable from a practical point of view. Therefore, the need to develop models that immunize against those uncertainties has become indispensable.
In general, the uncertain parameters are represented by closed, convex, and bounded uncertainty sets, which can be also estimated from the historic data. Thereby, constructing the adequate uncertainty set has a crucial role in identifying the conservativeness of the model.
In this section, we present briefly the most important sets of uncertainties and the corresponding robust optimization models.
In this regard, we consider the following uncertain linear programming problem:
m i n c x s . t A x B
For the remainder of this section, only the coefficients a i j of the matrix A are the object of uncertainties, and their values belong to a bounded set of uncertainties called U. Accordingly, a i j takes a value in the interval [ a i j a i j , a i j + a i j ] where a i j is the nominal value and a i j represents the maximum positive deviation. Therefore, we can define a i j as:
a i j = a i j + ζ i j a i j
Generally, ζ i j is a random variable that is subject to uncertainty and varies between −1 and one.
For instance, three types of uncertainty sets can be distinguished [28].

3.1. Box Uncertainty Set

The box uncertainty set is an uncertainty structure that takes its name from the box formed by the interaction of perturbations. It aims at finding a conservative solution for a robust problem where the value of all uncertain coefficient perturbations is less than a perturbation bound Ψ i (see, e.g., [29]). Its uncertainty set can be described as follows:
U A = { a i j = a i j + ζ i j a i j | ζ i j Ψ i , i }
The robust counterpart of the problem is given by the following:
m i n c x s . t j a i j x j + Ψ i j a i j y j b i i y j x j y j j y 0
It is worth pointing out that the problem becomes more conservative as the value of Ψ i  increases.

3.2. Ellipsoidal Uncertainty Set

The ellipsoidal uncertainty set comes to avoid over conservativeness and to limit the uncertainty space by eliminating a subset of uncertainty. The level of robustness can be controlled by modifying the value of the parameter Ω , which defines the borders of the set [30]. This uncertainty set can be given as:
U A = { a i j = a i j + ζ i j a i j | j ζ i j 2 Ω i 2 , i }
The robust counterpart model is expressed in the following way:
m i n c x s . t j a i j x j + j a i j y j + Ω i j a i j 2 z i j 2 b i i y i j x j z i j y i j j y 0
The inconvenience of this robust counterpart model lies in the generation of a convex nonlinear programming problem, with a greater computational requirement in contrast to linear models.

3.3. Polyhedral Uncertainty Set

The polyhedral uncertainty set corresponds to the most frequent case of uncertainty sets defined as the set of solutions, which are protected against all situations in which at most Γ i coefficients of the ith constraints are perturbed. In this case, the robust counterpart is equivalent to a linear optimization problem.
U A = { a i j = a i j + ζ i j a i j | j ζ i j Γ i , i }
The robust counterpart of the problem can be defined as below:
m i n c x s . t j a i j x j + m a x { S i { t i } S i J i , S i = Γ i , t i J i \ S i } { j S i a i j y j + ( Γ i Γ i ) a i t y t } b i i y j x j y j j y 0
where J i represents the set of coefficients a i j of the ith constraint, which are uncertain. We define for each i a parameter Γ i that varies in the interval [ 0 , J i ] . The solution of this model is immunized against all cases where coefficients up to Γ i will change, and one coefficient a i t changes by ( Γ i Γ i ) a i t as reported by [31].

4. The Robust Approach for the VRPTW with Uncertain Travel and Service Times

In this section, we present the robust resolution approach proposed by [9] to deal with the VRPTW under uncertain travel and service times. We assume that the uncertainty in travel times and service times is directed by two parameters Γ and Λ , which belong respectively to the intervals [ 0 , N + V ] and [ 0 , N ] . Those parameters are called budgets of uncertainty and are defined to control the number of travel times and service times, which are allowed to vary from their nominal values. Thus, the major challenge of this approach is to derive, for each scenario ( Λ , Γ ) considered, a robust solution that protects against time window violation or reduces the waiting times.
In order to explain the robust approach, we define some notations to be used in this approach:
  • R N Λ , Γ : A possible realization
  • S b e s t : The best robust solution
  • S N : The solution found at the Nth realization
  • T o t a l C o s t ( . ) : The total traveled time of a solution
  • W o r s t E v a l Γ ( . ) : The worst evaluation of a solution
  • T r k = ( c 1 = 0 , c 2 , , c n = 0 ) : The tour of the vehicle k
  • σ l = ( c 1 , c 2 , , c l ) : A path of the tour T r k
  • A r c S e t Γ , l : A set of arcs within the Γ larger deviations of travel time
  • N o d e S e t Λ , l : A set of nodes within the Λ larger deviations of service time
  • ξ ( σ l ) = { c 1 , c 2 , . . . , c h } : All of the nodes that constitute σ l
  • A r c ( σ l ) = { γ 1 = ( c 1 , c 2 ) , γ 2 = ( c 2 , c 3 ) , , γ l 1 = ( c l 1 , c l ) } : The set of the arcs that constitute the path σ l
  • ( s l ) _ k : The maximum date of arrival of the vehicle k at customer c l
To understand the idea behind this approach, we propose a simplified presentation in four steps summarized in Algorithm 1:
Algorithm 1. The robust approach algorithm.
  • Parameters: Set S o l u t i o n s , set r e a l i z a t i o n s
  • Outputs: Solution s o l u t i o n
  • r e a l i z a t i o n s M o n t e C a r l o ( )
  • for each r e a l i z a t i o n r e a l i z a t i o n s do
  • s o l u t i o n A L N S ( r e a l i z a t i o n )
  •    solutions.add(solution)
  • end for
  • for each s o l u t i o n s o l u t i o n s do
  • if c h e c k R o b u s t n e s s ( s o l u t i o n ) T r u e then
  •   solutions.remove(solution)
  •   return NULL
  • end if
  • if W o r s t E v a l Γ ( s o l u t i o n ) T r u e then
  •   solutions.remove(solution)
  •   return NULL
  • end if
  • end for
  • s o l u t i o n M i n O b j e c t i v e ( s o l u t i o n s )
  • return s o l u t i o n
In the first step, the robust algorithm generates a set of realizations using the Metropolis Monte Carlo sampling. Each realization R N Λ , Γ corresponds to a possible scenario in which Γ travel times of a subset of arcs ( Ψ A ) achieves their maximum values t i j + Δ i j , and  Λ service times related to a subset of vehicles ( θ V ) take their maximum values P i + δ i ; whereas the other arcs and nodes take respectively their t i j and P i nominal values.
The objective of the second step is to obtain for each realization R N Λ , Γ a feasible solution S o l N that satisfies the related sub-problem. For this purpose, we apply the Adaptive Large Neighborhood Search (ALNS) metaheuristic [32], which presents an adaptive specialization of the notion of local search, so-called large neighborhoods. It aims to enhance an incumbent solution by diversifying the search process on large neighborhoods. This can be done by applying a pair of destroy and repair operators to the solution and then accepting or rejecting the new solution. In this context, we use three different destroy operators, which contribute to ruin a part of the current solution, namely: the proximity operator, the route portion operator, and the longest detour operator. Then, we recreate a complete solution using the greedy insertion heuristic. The destroy and repair neighborhoods are selected by a roulette wheel mechanism that uses the search history of each operator to favor the best performing one.
The third step depicts a mechanism conceived of to verify the feasibility of the solution achieved by using the ALNS approach in the preceding step, by examining the time windows associated with each visited customer. The last step is devoted to the evaluation of the robustness of the solution, according to the worst case criterion. In practice, we evaluate the solution S N on the worst of possible cases, which relates to the realization where the Γ travel times of this solution reach at the same time their maximum values. The pseudocodes of those methods are shown in Algorithms 2 and 3, respectively.
Algorithm 2. Check for robustness.
  • f e a s i b l e t r u e
  • for k 1 to V do
  • for l 2 to ξ ( T r k ) do
  •    calculate A r c S e t Γ , l and N o d e S e t Λ , l 1
  •    for λ 1 to l 1 do
  •     if l > Γ + 1 and γ λ A r c S e t Γ , l then
  •        t γ λ t γ λ
  •     else
  •        t γ λ t γ λ + Δ γ λ
  •     end if
  •    end for
  •    for i 1 to l 1 do
  •      if l > Λ and c i N o d e S e t Λ , l 1 then
  •        P c i P c i + δ c i
  •      end if
  •     end for
  •      ( s l ) _ k 0
  •     for i 2 to l do
  •       ( s l ) _ k m a x ( ( s l ) _ k + t γ i 1 + P c i 1 , a c i )
  •     end for
  •     if ( s l ) _ k > b c l then
  •      feasible takes false, and the algorithm ends
  •     end if
  •    end for
  •   end for
Algorithm 3. Evaluation on the worst case.
  • W o r s t E v a l Γ ( S N ) 0
  • put in descending order all the arcs of γ ( S N ) according to their maximum deviations.
  • for i 1 to Γ do
  • W o r s t E v a l Γ ( S N ) W o r s t E v a l Γ ( S N ) + t γ i + Δ γ i
  • end for
  • for i Γ + 1 to γ ( S N ) do
  • W o r s t E v a l Γ ( S N ) W o r s t E v a l Γ ( S N ) + t γ i
  • end for
  • return W o r s t E v a l Γ ( S N )
For a detailed description of this robust approach, we refer the reader to the study of [9] and the references therein.

5. The Parallel Robust Approach for the VRPTW with Uncertain Travel and Service Times

In this section, we provide a detailed exposition of the multi-threading parallel approach used in this paper. We start by giving some insights into the motivation before handling the complete description of the proposed approach.
The first challenge of such an approach is to derive the best robust solution that responds to to all uncertainties with a reduced running time. However, the sequential robust approach suffers from lengthy computational times; partly because the generation of scenarios is time-consuming, as well as the research of the solution block. Unlike those blocks, the check of robustness and the evaluation of the worst case blocks are not time-consuming, generally because they are restricted to evaluating the obtained solution.
Table 1 confirms our assertion that the Monte Carlo and the ALNS blocks take considerable time compared to the other blocks. This can be explained by the fact that the first phase is responsible for generating all the possible scenarios in which Γ displacement times take their maximum values and Λ service times take their maximum values. The ALNS block is also time-consuming, since it chooses at each iteration a neighborhood to explore, based on a score that reflects its past performance. This is possible by the application of several destroy and repair operators. Oppositely, the other blocks are not time-consuming, considering that the first mechanism verifies the feasibility of our solution by investigating the related time windows of each visited customer, and the second mechanism is dedicated to the evaluation of the robustness of the solution based on the worst case robust criterion. As an alternative to overcome this impediment, we propose a multithreading parallelization of the costly blocks as detailed in the next subsections.

5.1. The Parallel Monte Carlo Sampling

The parallel Metropolis Monte Carlo algorithm described below is a scenario generation technique that uses a defined number of worker threads to generate in a parallel way a predefined number n of independent identically distributed scenarios. In practice, each worker thread produces a realization R l Λ , Γ that corresponds to a deterministic VRPTW problem, in which Γ displacement times and Λ service times reach simultaneously their maximum values. The pseudocodes of this parallel method is shown in Algorithm 4:
Algorithm 4. Parallel Monte Carlo.
  • Input: Λ , Γ , n
  • Output: scenarios
  • for l 1 to n in parallel do
  • for k 1 to Γ do
  •   Select randomly two clients i and j
  •    t i j t i j + Δ i j
  • end for
  • for k 1 to Λ do
  •    Select randomly a client i
  •     P i P i + δ i
  • end for
  •  Generate a scenario R l Λ , Γ
  • t ( R l Λ , Γ ) t ( R l Λ , Γ )
  • P ( R l Λ , Γ ) P ( R l Λ , Γ )
  •  Add R l Λ , Γ to s c e n a r i o s
  • end for
  • return s c e n a r i o s

5.2. The Parallel ALNS

In this subsection, we present the Parallel Adaptive Large Neighborhood Search (PALNS) method developed by [25]. This method can be presented in three phases (see Figure 1).
At the first level, we generate an initial feasible solution by using the greedy insertion metaheuristic [33]. The main idea behind this method is to select the best feasible insertion place in the incumbent route for each non-inserted node taking into account two major factors: the increase in total cost of the current route after the insertion and the delay of the service start time of the customer succeeding the newly inserted customer.
The second phase is related to a set of destroy and repair operators designed to enhance the incumbent solution. In this context, each worker thread deals with a copy of the current solution and executes destroy and repair methods on this local copy in order to improve it.
The third phase collects the routes of different local solutions that each thread has obtained, for the purpose of combining it into a new better temporary global solution and sending it to be improved. At this stage, we will accept or reject the generated solution, based on a hill climbing acceptance criterion. It is worth mentioning that only the current and global best solutions are shared between worker threads, in order to update them as necessary by repeating the process until a stop criterion is met.
We should point out here that the ALNS uses a flexible layer with a set of destruction heuristics (proximity operator, route portion operator, and longest detour operator) and an insertion heuristic (the greedy insertion) and applies them by a roulette wheel selection that highlights the corresponding performance obtained during the search. On the other hand, the LNS heuristic does not use this scoring mechanism.
For a completed description of the used PALNS, we refer the reader to the study of [25] and the references therein.

6. Computational Experiments

In this section, we summarize a few of the results obtained by evaluating different robust approaches conceived of to solve the vehicle routing problem with time windows with uncertain service and travel times.
We explore the effect of applying the thread parallelism to the Monte Carlo and ALNS blocks, on the execution time and the objective value. This leads to four different robust combinations: the sequential approach that uses sequential Monte Carlo and sequential ALNS (MC sequential and ALNS sequential), the approach employing sequential Monte Carlo and parallel ALNS (MC sequential and ALNS parallel), the approach that uses parallel Monte Carlo and sequential ALNS (MC parallel and ALNS sequential), and the parallel approach combining parallel Monte Carlo and parallel ALNS (MC parallel and ALNS parallel). We should note here that the sequential approach (MC sequential and ALNS sequential) coincides with the only method from the literature [9] that deals with the considered problem.
It is important to mention that the notion of thread parallelism used in our context can be defined as the capability of a processing unit to execute multiple processes contemporaneously or with time slicing. By means of a thread, the smallest unit of processing can be performed in an operating system in order to accelerate the execution time and manage the code over time. In our study, we use four threads in order to establish the comparison between the different approaches. The choice of four threads is not restrictive, and we can use as many threads as possible. Our assumption is that using more threads leads to the improvement of the average execution time, but it slightly decreases the quality of the obtained solution. For more details, see, e.g., [25].
The robust approaches studied in this paper were tested on a classical set of instances in reference to Solomon’s benchmark (1987) [33] and Gehring and Homberger’s benchmark [34]:
  • Set R contains problems with randomized customers.
  • Set C contains problems with clustered customers.
  • Set R C contains problems with both clustered and randomized customers.
In order to simulate the uncertainty of RVRPTW by discrete scenarios, the uncertain travel time and uncertain service time are generated at random, so that they go from 0 to 10. We denote the used instances as follows: G r _ Γ _ Λ , where Γ and Λ present respectively the number of travel times and service times considered uncertain and G r refers to the instance of Solomon and Gehring and Homberger’s benchmark or the size of larger instances.
For small instances (Solomon and Homberger’s instances), we chose 15,600 iterations as a stop criterion in order to diversify the research, which may ameliorate the quality of our solution, because the solution has a greater chance to escape from a local minimum. As far as we are aware, the maximal number of iterations for instances is falling in the literature. With a view toward examining the capability of our approaches for tackling that problem, we judge it based on the average performance over 10 multiple independent runs.
For the set of instances larger than 1000, we generate random representative instances in such a manner that the travel time between each pair of nodes is between 0 and 100, and the same for the service time. The time interval has a capacity of 200 between the start and the end of the service at each customer. We forced a stop condition of about 20 min, which allows a good comparison between the proposed methods in terms of the number of reached iterations for the same time interval. Then, we present the measurements achieved for a single run.
The proposed algorithms were implemented in Java 7, compiled with Intel compiler Celeron 1.80 GHz core i5 with 8 GB RAM.

6.1. Execution Time

Table 2 presents a comparison of the execution time for each instance group between different robust approaches with the maximal number of iterations of 15,600. As expected, the results show that the approaches containing the parallel ALNS succeeded by those containing parallel Monte Carlo lead to the improvement of the average execution time compared to other sequential approaches. This can be explained by the fact that the ALNS block succeeded by the Monte Carlo block consumes most of the execution time compared to other blocks.
In the same spirit, we report in Table 3 a comparison of different approaches according to the number of reached iterations when the stopping limit time is about 20 min for the group of instances 2500–4500. The approach containing more parallel blocks attained more iterations for the same time interval since it reduced the execution time of the consuming blocks.
Table 4 depicts the improvement results in execution time for Solomon’s instances. The conclusion from this table is clear: the running time is much faster for the approaches using parallel ALNS succeeded by those employing the parallel Monte Carlo algorithm.

6.2. Objective Function

Table 5 presents the objective function of different robust approaches for the group of instances 2500–4500. When the size of the instance increases, the cost function of the approaches containing parallel and sequential ALNS solution converges. Then, we compute the mean absolute percent deviation (MAPD), which is the absolute difference between the cost function of the approach containing the sequential ALNS and the parallel ALNS divided by the magnitude of the objective function in the approach with sequential ALNS. This indicator (MAPD) goes from 13.05 % for the instance of size 1000 to 3.96 % for the instance of size 4500. We can conclude that incorporating the parallel ALNS in the approaches is efficient for large instances.
Table 6 depicts the results of the objective value for some of Solomon’s instances. We observe that the ALNS controls the solution quality. Then, the approaches that contain a sequential ALNS yield better results than those that contain parallel ALNS. The ALNS is responsible for finding the solution of each scenario, in contrast with the Monte Carlo algorithm, which is limited to generating the possible scenarios. When we increase the instance size, the quality of the solution of the parallel approach becomes more interesting.

7. Conclusions

In this work, we study the robust vehicle routing problem with time windows where travel times and service times are both the subject of uncertainty. For this purpose, we opt for the robust technique proposed by [9] to deal with the problem. As far as the adopted approach derives the best robust solution that responds to all uncertainties, it still suffer from lengthy computational times; partly because the generation of scenarios, as well as the research of the solution block are time-consuming. As an alternative to remedy this problem, we introduce a procedure for the thread parallelism in the Monte Carlo block, and we use the parallel ALNS proposed by [25]. This leads to four different robust approaches combining the (sequential/parallel) Monte Carlo algorithm and the (sequential/parallel) ALNS.
The considered approaches are tested on Solomon’s benchmark instance of VRPTW and lager instances generated randomly. Accordingly, we can offer a decision-making solution that provides great protection against delays in a reasonable running time. However, we should note that the related counterpart of using the parallel ALNS, which is the objective value, can be influenced, since the parallel ALNS slightly reduces the quality of the solution, especially for small instances.
In future works, we intend to include a pre-processing step based on different clustering techniques such as K-means, K-medoids, density-based spatial, etc., in order to ensure the commitment of the solutions. These techniques will not change the structure of the suggested approach drastically, and our assumption is that they will enhance the solution quality obtained with the parallel ALNS.

Author Contributions

All authors contributed equally to this work. All authors have read and agreed to the published version of the manuscript.

Funding

The first author is indebted to the Moroccan CNRST National Centre for Scientific and Technical Research for the partial funding of this research project.

Acknowledgments

We thank the anonymous reviewers for their careful reading of our paper and their many insightful comments and suggestions.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Eksioglu, B.; Vural, A.V.; Reisman, A. The vehicle routing problem: A taxonomic review. Comput. Ind. Eng. 2009, 57, 1472–1483. [Google Scholar] [CrossRef]
  2. Braekers, K.; Ramaekers, K.; Nieuwenhuyse, I. The Vehicle Routing Problem: State of the Art Classification and Review. Comput. Ind. Eng. 2015, 99, 300–313. [Google Scholar] [CrossRef]
  3. Vidal, T.; Laporte, G.; Matl, P. A concise guide to existing and emerging vehicle routing problem variants. Eur. J. Oper. Res. 2020, 286, 401–416. [Google Scholar] [CrossRef] [Green Version]
  4. Bräysy, O.; Gendreau, M. Vehicle Routing Problem with time windows, Part II: Metaheuristics. J. Transp. Sci. 2005, 39, 119–139. [Google Scholar] [CrossRef]
  5. Kallehauge, B.; Larsen, J.; Madsen, O.B.; Solomon, M.M. Vehicle Routing Problem with Time Windows. Column Gener. 2005, 1, 67–98. [Google Scholar]
  6. Dror, M.; Trudeau, P. Stochastic vehicle routing with modified savings algorithm. Eur. J. Oper. Res. 1986, 23, 228–235. [Google Scholar] [CrossRef]
  7. Dror, M.; Laporte, G.; Louveaux, F.V. Vehicle Routing with Stochastic Demands and Restricted Failures. ZOR-Model. Oper. Res. 1993, 37, 183–273. [Google Scholar] [CrossRef]
  8. Gendreau, M.; Laporte, G.; Séguin, R. Stochastic vehicle routing. Eur. J. Oper. Res. 1996, 88, 3–12. [Google Scholar] [CrossRef]
  9. Nasri, M.; Metrane, A.; Hafidi, I.; Jamali, A. A robust approach for solving a vehicle routing problem with time windows with uncertain service and travel times. Int. J. Ind. Eng. Comput. 2020, 11, 1–16. [Google Scholar] [CrossRef]
  10. Rouky, N.; Boukachour, J.; Boudebous, D.; Alaoui, A. A Robust Metaheuristic for the Rail Shuttle Routing Problem with Uncertainty: A Real Case Study in the Le Havre Port. Asian J. Shipp. Logist. 2018, 34, 171–187. [Google Scholar] [CrossRef]
  11. Wu, L.; Hifi, M.; Bederina, H. A new robust criterion for the vehicle routing problem with uncertain travel time. Comput. Ind. Eng. 2017, 112, 607–615. [Google Scholar] [CrossRef]
  12. Gutin, G.; Punnen, A. The Traveling Salesman Problem and Its Variations; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  13. Toth, P.; Vigo, D. An overview of vehicle routing problems. In 9 of SIAM Monographs on Discrete Mathematics and Applications; SIAM: Philadelphia, PA, USA, 2002; pp. 1–26. [Google Scholar]
  14. Chiang, W.C.; Russell, R.A. Simulated annealing metaheuristics for the vehicle routing problem with time windows. Ann. Oper. Res. 1996, 63, 3–27. [Google Scholar] [CrossRef]
  15. Afifi, S.; Dang, D.C.; Moukrim, A. A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints. In International Conference on Learning and Intelligent Optimization; Lecture Notes in Computer; Science Springer: Berlin/Heidelberg, Germany, 2013; Volume 7997. [Google Scholar]
  16. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  17. Dhahri, A.; Mjirda, A.; Zidi, K.; Ghedira, K. A VNS-based Heuristic for Solving the Vehicle Routing Problem with Time Windows and Vehicle Preventive Maintenance Constraints. Procedia Comput. Sci. 2016, 80, 1212–1222. [Google Scholar] [CrossRef] [Green Version]
  18. Gambardella, L.M.; Taillard, E.; Agazzi, G. MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems with Time Windows. In New Ideas in Optimization; Istituto Dalle Molle Di Studi Sull Intelligenza Artificiale: London, UK, 1999; pp. 63–76. [Google Scholar]
  19. Tan, X.; Zhuo, X.; Zhang, J. Ant Colony System for Optimizing Vehicle Routing Problem with Time Windows (VRPTW). In Computational Intelligence and Bioinformatics. ICIC 2006; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4115, pp. 33–38. [Google Scholar]
  20. Thangiah, S. Vehicle routing with time windows using genetic algorithms. In Application Handbook of Genetic Algorithms: New Frontiers; Artificial Intelligence Lab., Slippery Rock Univ.: Slippery Rock, PA, USA, 1995; pp. 253–277. [Google Scholar]
  21. Potvin, J.Y.; Kervahut, T.; Garcia, B.L.; Rousseau, J.M. The vehicle routing problem with time windows part I: Tabu search. INFORMS J. Comput. 1996, 8, 158–164. [Google Scholar] [CrossRef]
  22. Taillard, É.; Badeau, P.; Gendreau, M.; Guertin, F.; Potvin, J.Y. A tabu search heuristic for the vehicle routing problem with soft time windows. Transp. Sci. 1997, 31, 170–186. [Google Scholar] [CrossRef] [Green Version]
  23. Bräysy, O.; Gendreau, M. Tabu Search heuristics for the Vehicle Routing Problem with Time Windows. Top J. 2002, 10, 211–237. [Google Scholar] [CrossRef]
  24. Bouthillier, A.; Crainic, T.G. A cooperative parallel meta-heuristic for the vehicle routing problem with time windows. Comput. Oper. Res. 2005, 32, 1685–1708. [Google Scholar] [CrossRef]
  25. Røpke, S. PALNS—A software framework for parallel large neighborhood search. In Proceedings of the 8th Metaheuristic International Conference CDROM, Metaheuristic International Conference, Hamburg, Germany, 13–16 July 2009. [Google Scholar]
  26. Hemmelmayer, V.C. Sequential and Parallel Large Neighborhood Search Algorithms for the Periodic Location Routing Problem. Eur. J. Oper. Res. 2002, 243, 52–60. [Google Scholar] [CrossRef] [Green Version]
  27. Pillac, V.; Gendreau, M.; Guéret, C.; Medaglia, A.L. A parallel matheuristic for the technician routing and scheduling problem. Optim. Lett. 2013, 7, 1525–1535. [Google Scholar] [CrossRef] [Green Version]
  28. Ordóñez, F. Robust Vehicle Routing. Tutorials in Operations Research; Institue for Operations Research and the Management Sciences (INFORMS): Catonsville, MD, USA, 2010; pp. 153–178. [Google Scholar]
  29. Ben-Tal, A.; Nemirovski, A. Robust convex optimization. Oper. Res. Lett. 1998, 23, 769–805. [Google Scholar] [CrossRef] [Green Version]
  30. Ben-Tal, A.; Nemirovski, A. Robust solutions of uncertain linear programs. Oper. Res. Lett. 1999, 25, 1–13. [Google Scholar] [CrossRef] [Green Version]
  31. Bertsimas, D.; Sim, M. The price of robustness. Oper. Res. 2004, 52, 35–53. [Google Scholar] [CrossRef]
  32. Røpke, S.; Pisinger, D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 2006, 40, 455–472. [Google Scholar] [CrossRef]
  33. Solomon, M. Algorithms for the Vehicle Routing and Scheduling Problem with time Window Constraints. Oper. Res. J. 1987, 35, 254–265. [Google Scholar] [CrossRef] [Green Version]
  34. Gehring, H.; Homberger, J. A Parallel Hybrid Evolutionary Metaheuristic for the Vehicle Routing Problem with Time Windows. In Proceedings of EUROGEN99; Springer: Berlin, Germany, 1999; pp. 57–64. Available online: http://sintef.no/projectweb/top/vrptw/Homberger-benchmark/ (accessed on 5 October 2020).
Figure 1. The parallel adaptive large neighborhood search.
Figure 1. The parallel adaptive large neighborhood search.
Symmetry 13 00036 g001
Table 1. The execution time of the sequential robust approach blocks in ms.
Table 1. The execution time of the sequential robust approach blocks in ms.
Instance SizeMonte Carlo Block/IterationALNS Block/IterationCheck of Robustness Block/IterationWorst Case Evaluation Block/Iteration
1000 _ 100 _ 1002102584630
1500 _ 100 _ 1003254098552
2000 _ 100 _ 10047863221796
2500 _ 100 _ 100621867377163
3000 _ 100 _ 10010421436510294
3500 _ 100 _ 10018932229682325
4000 _ 100 _ 10023653538793549
4500 _ 100 _ 10029014428907703
Table 2. The execution time of different robust approaches in seconds for 15,600 iterations.
Table 2. The execution time of different robust approaches in seconds for 15,600 iterations.
InstanceMC Sequential and ALNS SequentialMC Sequential and ALNS ParallelMC Parallel and ALNS SequentialMC Parallel and ALNS Parallel
100 _ 10 _ 10832.24701.03725.45574.24
200 _ 25 _ 251007.41853.11883.25669.33
400 _ 25 _ 251331.471037.981101.12770.91
600 _ 50 _ 501402.501160.241230.64858.38
800 _ 50 _ 501545.391302.851331.68979.14
1000 _ 100 _ 1002687.502062.252165.741340.49
1500 _ 100 _ 1004519.793267.983665.372413.56
2000 _ 100 _ 1005606.813953.184389.742736.11
Table 3. Number of iterations reached in 20 min.
Table 3. Number of iterations reached in 20 min.
InstanceMC Sequential and ALNS SequentialMC Sequential and ALNS ParallelMC Parallel and ALNS SequentialMC Parallel and ALNS Parallel
2500 _ 100 _ 1003038427538795681
3000 _ 100 _ 1002163357227944141
3500 _ 100 _ 1001375299219853709
4000 _ 100 _ 100912240113863124
4500 _ 100 _ 100594199410782300
Table 4. Solomon’s instance: Comparison of the runtimes in seconds of different robust approaches.
Table 4. Solomon’s instance: Comparison of the runtimes in seconds of different robust approaches.
InstanceMC Sequential and ALNS SequentialMC Sequential and ALNS ParallelMC Parallel and ALNS SequentialMC Parallel and ALNS Parallel
R101 _ 10 _ 10433267378212
C101 _ 10 _ 10491320434263
RC101 _ 10 _ 10468286407225
R201 _ 10 _ 10487301425239
C201 _ 10 _ 10563367497301
RC201 _ 10 _ 10553338482267
R121 _ 25 _ 25580277512309
C121 _ 25 _ 25653442583372
RC121 _ 25 _ 25605406539340
R221 _ 25 _ 25673438595360
C221 _ 25 _ 25784531700447
RC221 _ 25 _ 25707475629397
R141 _ 25 _ 25668423586341
C141 _ 25 _ 25775538696459
RC141 _ 25 _ 25747504666423
R241 _ 25 _ 25937629823479
C241 _ 25 _ 25981683877589
RC241 _ 25 _ 25957646854543
R161 _ 50 _ 50741541675475
C161 _ 50 _ 50907682832607
RC161 _ 50 _ 50825607753535
R261 _ 50 _ 50923730909640
C261 _ 50 _ 501089814999726
RC261 _ 50 _ 501051774958681
R181 _ 50 _ 50923698848623
C181 _ 50 _ 50942732874664
RC181 _ 50 _ 50929706855632
R281 _ 50 _ 5011368601044768
C281 _ 50 _ 5012499711157879
RC281 _ 50 _ 5012239251123829
R1101 _ 100 _ 10011797641040625
C1101 _ 100 _ 10012138171081685
RC1101 _ 100 _ 10012048001069665
R2101 _ 100 _ 100175711401552935
C2101 _ 100 _ 1001815122416181027
RC2101 _ 100 _ 100177511811577983
Table 5. Comparison of different approaches according to the objective function.
Table 5. Comparison of different approaches according to the objective function.
InstanceMC Sequential and ALNS SequentialMC Sequential and ALNS ParallelMC Parallel and ALNS SequentialMC Parallel and ALNS Parallel
1000 _ 100 _ 10018,61221,03118,64221,075
1500 _ 100 _ 10025,96128,55725,90428,516
2000 _ 100 _ 10036,42038,96936,40838,943
2500 _ 100 _ 10044,98148,12944,99848,161
3000 _ 100 _ 10052,81755,98652,83656,014
3500 _ 100 _ 10060,35663,97760,32163,937
4000 _ 100 _ 10067,67571,05967,64270,986
4500 _ 100 _ 10075,30678,31875,32978,371
Table 6. Solomon’s instance: comparison of the objective value of different robust approaches.
Table 6. Solomon’s instance: comparison of the objective value of different robust approaches.
InstanceMC Sequential and ALNS SequentialMC Sequential and ALNS ParallelMC Parallel and ALNS SequentialMC Parallel and ALNS Parallel
R101 _ 10 _ 101918.562225.521926.142249.69
C101 _ 10 _ 10870.461009.73883.011025.84
RC101 _ 10 _ 101882.762145.481897.042183.92
R201 _ 10 _ 101434.991663.441415.091663.24
C201 _ 10 _ 10666.54779.27663.52761.51
RC201 _ 10 _ 101663.381895.821679.451900.11
R121 _ 25 _ 255696.416379.525709.646659.85
C121 _ 25 _ 253115.863519.953115.863504.38
RC121 _ 25 _ 253915.014384.803919.633492.62
R221 _ 25 _ 255385.146031.355385.146024.07
C221 _ 25 _ 252490.942813.702496.912813.70
RC221 _ 25 _ 253657.124095.843657.124106.49
R141 _ 25 _ 2510,939.1211,485.9510,951.2411,485.95
C141 _ 25 _ 258138.188463.528127.638480.31
RC141 _ 25 _ 2510,673.6111,099.9210,697.2711,080.79
R241 _ 25 _ 2510,442.3410,859.6810,463.2910,843.81
C241 _ 25 _ 254932.065129.284863.655129.28
RC241 _ 25 _ 2520,917.1221,690.927181.0721,709.56
R161 _ 50 _ 5024,277.0424,714.0224,277.0424,703.48
C161 _ 50 _ 5015,511.0615,945.3015,523.4515,940.06
RC161 _ 50 _ 5021,917.1522,245.7521,937.1322,291.10
R261 _ 50 _ 5022,070.8022,445.1922,121.7222,457.14
C261 _ 50 _ 5010,617.6010,871.8010,632.9610,886.71
RC261 _ 50 _ 5016,167.7416,458.0016,186.1416,430.92
R181 _ 50 _ 5039,011.1439,479.1338,979.5639,431.41
C181 _ 50 _ 5028,491.3929,117.8528,491.3929,117.83
RC181 _ 50 _ 5035,821.4636,358.3135,853.1236,347.02
R281 _ 50 _ 5032,289.0832,870.2032,271.2232,870.20
C281 _ 50 _ 5014,213.4314,483.0414,219.3414,497.15
RC281 _ 50 _ 5028,307.0728,788.2128,307.0728,805.09
R1101 _ 100 _ 10060,506.8862,805.2260,493.1662,805.22
C1101 _ 100 _ 10052,251.9853,766.8352,257.4853,742.30
RC1101 _ 100 _ 10053,322.9155,188.2743,318.1055,188.27
R2101 _ 100 _ 10048,103.2349,449.8848,103.2348,463.23
C2101 _ 100 _ 10020,735.7921,357.0520,700.1421,357.05
RC2101 _ 100 _ 10043,853.6544,905.4743,853.6544,884.35
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Nasri, M.; Hafidi, I.; Metrane, A. Multithreading Parallel Robust Approach for the VRPTW with Uncertain Service and Travel Times. Symmetry 2021, 13, 36. https://doi.org/10.3390/sym13010036

AMA Style

Nasri M, Hafidi I, Metrane A. Multithreading Parallel Robust Approach for the VRPTW with Uncertain Service and Travel Times. Symmetry. 2021; 13(1):36. https://doi.org/10.3390/sym13010036

Chicago/Turabian Style

Nasri, Mehdi, Imad Hafidi, and Abdelmoutalib Metrane. 2021. "Multithreading Parallel Robust Approach for the VRPTW with Uncertain Service and Travel Times" Symmetry 13, no. 1: 36. https://doi.org/10.3390/sym13010036

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop