A Two-Phase Distributed Ruin-and-Recreate Genetic Algorithm for Solving the Vehicle Routing Problem With Time Windows

Developing an algorithm that can solve the vehicle routing problem with time windows (VRPTW) and create near-optimal solutions with the least difference in magnitude is a challenging task. This task is evident from the fact that when an algorithm runs multiple times based on a given instance, the generated solutions deviate from each other and may not near-optimal. For this reason, an algorithm that can solve these problems is effective and highly sought after. This article proposes a novel systematic framework using a two-phase distributed ruin-and-recreate genetic algorithm (RRGA). The two-phase consists of the RRGA phase and ruin-and-recreate (RR) phase, which is designed to run in the distributed computing environment that leveraging these networked resources. This combination of algorithms harnesses the strength of the search diversification and intensification, thereby producing very high-quality solutions. Experiments with Solomon’s benchmark show the RRGA can produce results superior to the recently published hybrid algorithms, best-known solutions, and nine leading hybrid algorithms.


I. INTRODUCTION
The VRP was introduced by Dantzig and Ramser [1] as a truck dispatching problem. It is a prevalent logistics optimization problem and ubiquitous in the logistics and distribution industry. There are many variants [2] in the VRP, and one of the popular variants is VRPTW. The original VRPTW was introduced by Solomon [3]. It is an NP-hard [4] combinatorial optimization problem. The objective is to minimize the total travelled distance within the constraint of vehicle load capacity, customer time window (customer's availability time), service time, depot time window (depot's availability time), among others. In VRPTW, the vehicles are homogenous in their specifications. Initially, a dedicated fleet of vehicles is assigned and stationed at the central depot. These vehicles serve customers who are located in a disparate location. They should pick up all customer orders at different locations based The associate editor coordinating the review of this manuscript and approving it for publication was Shiping Wen . on x and y coordinates, which mimic the real-life example of a merchandise delivery to a customer location. The distance is calculated using the Euclidean distance, which is a straightline distance. Furthermore, these vehicles must also satisfy the following constraints: • All vehicles must end at the same central depot.
• All vehicles must operate within the start and end time of the central depot.
• There is a finite set of vehicles to deliver customer demands.
• Each customer must serve only once by a vehicle.
• The vehicle must arrive at the customer's location within the customer's availability time. If it arrives early, it must wait until the customer is available.
• Each service time is associated with each customer. Initially, VRPTW was solved using the exact algorithm. Despite the structural problem, the computational times increase with the size and complexity of the problem [5]; thus, the exact algorithms were not able to cope. Therefore, VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ a heuristic/metaheuristic algorithm was created to overcome these complexities. Metaheuristic algorithms have been used since the 40s, even though they were not studied formally [6]. These algorithms scale well to a large and complex problem; They achieve better results with the current problem complexity [7]. GA is one of the popular metaheuristic algorithms. It was discovered and presented by Holland [8] as a nonlinearity mathematical model that mimicked the biological process of adaptation [9]. GA modifies each solution in the population. During the selection step, it selects the individuals as the parents based on fitness value to produce offspring, which is later used for crossover and mutation step [10]. Through this repeatable process, the results evolve towards better and optimal results. However, the classical design of GA has its drawbacks [10], [11]. It is computationally expensive, requires parameter tuning and no guarantee of achieving the optimal result within a finite time [12], [13]. Despite these drawbacks, many applications still use GAs for deriving better solutions either by changing its internal structure [14], [15] or by combining with other algorithms [16], [17]. Another popular algorithm for solving VRPTW is the neighbourhood method, which is based on ruin-and-recreate (RR) principle. This principle was initially coined by Schrimpf et al. [18]. It is often used for finding a satisfactory solution within a reasonable time by ruin (removal) the existing solution and followed by an improvement (reconstruction) procedure [19], [20]. Some neighbourhood algorithms are complicated [21], [22]. However, the RR principle is still a low-level, adaptable, fast, and powerful to be used with other VRP variants. The removal and reconstruction of the incumbent solution can be varied and depending on the strategy in use. It consumes less memory and obtains a reasonable solution in a large search space. Often, it is used with other algorithms as it improves the local search ability [23], [24] and results [25], [27]. There is a less plethora of VRPTW literature which combines the evolutionary algorithm with the RR principle. Panagiotis et al. [28] proposed an arc-guided evolutionary algorithm that manipulated the individuals in the population using an evolution strategy. It used a discrete arc-based representation with a binary vector of strategy parameters. The proposed mutation operator is based on the ruin-and-recreate principle. Their algorithm improved the best reported cumulative and mean results within a reasonable computational requirement. Tan et al. [29] presented a hybrid multiobjective evolutionary algorithm (HMOEA), which included different heuristics for local exploration search in the evolutionary search and the Pareto optimality concept. It used a specialized genetic operator and a variable-length chromosome representation which accommodated the sequence-oriented optimization. Furthermore, their algorithm has lowered routing solutions, wider scattering areas, and better convergence traces. Their results are better and competitive with the best solutions in their published literature. Nacima et al. [30] suggested a memetic algorithm (MA) [31] with a local search. Each iteration of the local search evaluates different moves. The iteration in each of the local searches (neighbour-hood exploration) for the first improving move and executes using MA it if it finds it. The local search stops when there is no possible further improvement. This algorithm offers faster execution time and attains several best-known results. JingTian et al. [28] suggested the evolutionary algorithm, scatter search, and particle swarm optimization algorithm (ESS-PSO) to solve VRPTW. In the evolutionary algorithm and scatter search (ESS), they use the genetic algorithm, and a new ''route +/−'' evolutionary operator is introduced in the scatter search template. Besides, a discrete particle swarm optimization (PSO) is also proposed, which set the route segment as the particle velocity. The velocity and position updating rules are based on the ruin-and-recreate principle. It also uses the cascade learning architecture in which PSO learns the ideal solution set by ESS. Their results are competitive, and ESS-PSO proves to be effective and efficient. Ziauddin et al. [17] proposed a novel framework which was called the localized optimization framework (LOF). It is composed of two phases, which are the optimization and deoptimization. The optimization was performed on the part of the problem, whereas the de-optimization was on the whole problem. On average, LOF performs better on a small scale than other heuristics. It also attains a few best solutions on the test datasets.
The most proposed algorithms achieve remarkable results by combining different algorithms. In this article, we propose a novel hybrid algorithm that takes advantage of the GA with the RR principle. The characteristics of a GA are a natureinspired and a population-based searching algorithm. It uses a memory usage method, and their searching is stochastic and iterative. In RR, it is characterized as a nonnatureinspired and single-based search algorithm. It uses a memory usage method, and their searching is deterministic and iterative. Our proposed algorithm is designed by harnessing the strength of exploration and exploitation inherent in GA and RR. In space searching, exploration tends to be diversified, whereas exploitation tends to be intensified. These characteristics match perfectly in our proposed algorithm because we leverage the benefit of GA as the space searching is based on exploration (diversified-oriented) approach, and the space searching in RR is based on exploitation (intensifiedoriented) approach. In the exploration approach, all regions in the search space are evenly explored, and no number of regions is reduced for searching. In the exploitation approach, the promising regions are explored more thoroughly with the hope of finding better solutions.
We made a few modifications to the classical GA. Firstly, we modify the selection step in GA to target the nonelite candidates. These changes mean the higher the nonelite candidates, the higher the fitness value. These nonelite candidates have a better chance to be selected as a candidate for crossover. Secondly, we remove the solution generation in each of the genetic operators (selection, crossover, mutation). In our design, all genetic operators are only responsible for generating customers, and thirdly, we integrate each of the genetic operators with the RR principle. In this step, each of the genetic operators will pass over a customer list to the RR principle for solution generation.
The RR principle consists of the ruin and the recreate method. In the ruin method, we have evaluated a few strategies (random, radial, worst, clustered, and string) before it is integrated with the GA. We discovered, among other strategies proposed in the ruin method, the random and radial strategies deliver excellent results when we integrated into the proposed algorithm. However, in the recreate method, we propose the best insertion and regret insertion strategy. The main contributions of this article are listed as follows: (1) We proposed an RRGA distributed application architecture. (2) We presented two phases in the execution of the proposed algorithm, which consists of an RRGA phase and the RR phase that harness the exploration and exploitation potential. (3) We introduced the varied strategies used in the ruin method of the RR principle, which enhances the exploitation of searching. (4) We suggested a separation of duties and synergistic effects in which the GA is responsible for generating customers, and the RR principle is to transform the customers into a solution. (5) We implemented a continuous improvement paradigm using the RR strategies for continuous generating nearoptimal results for comparison to achieve the best optimal result.
The remainder of this article is organized as follows. Section 2 contains a description of the problem assumptions and notations. In section 3 explains the proposed algorithm. The result analysis is shown in Section 4. Finally, Section 5 gives an overall conclusion.

II. PROBLEM ASSUMPTIONS AND NOTATIONS A. PROBLEM DESCRIPTION
The VRPTW problem consists of a set of homogenous vehicles and loading capacity. The objective is to achieve the besttravelled distance by traversing all customers. It must satisfy the constraints of the customer's time window and vehicle loading capacity.

B. PROBLEM DEFINITION
Let G = (V , A) define a complete directed graph, where V = {c 0 , . . . . . . , c n } is the node set, and c 0 is the depot and c 1..n represents the first customer until the last customer n. Each customer is associated with a demand quantity q i , except node c 0 is associated with q 0 = 0. The A is the arcs set, where A = {(c i , c j )| c i , c j ∈ V, c i = c j } and each arc (c i , c j ) is associated with travel time (t ij ) and represented as a distance cost d ij = d ji . Each customer is associated with preplanned loading demand and service time information. There is a finite vehicle (v) that has a homogenous capacity. The customer time windows (e i , l i ) are known before the start of the journey. Each customer has a loading demand where the demand (q i ) is greater than or equal to zero. A hard time window is the predefined time interval where it must serve the customer between the customer earliest (e i ) and the latest available time (l i ), in which e i ≥ 0 and l i ≥ 0. The central depot is also associated with a time window and represented in e 0 and l 0 , in which e 0 is the earliest start time, and l 0 is the latest end time at depot. The vehicle needs to wait if it arrives at the customer before the earliest available time (e i ). It could not serve the customer if it exceeded the latest available time. The vehicle also cannot serve the customer if its loading capacity has exceeded. Each customer (c i ) is assigned a time window, which is denoted as [e i , l i ]. The accumulated service time (s i ) and travelling time (t i ) for each customer (c i ) must not exceed the depot latest available time (l 0 ). Each arc a ij represents the unidirectional and distance (d ij ) of that arc. Each customer is served only once.

III. THE PROPOSED ALGORITHM
Our proposed algorithm is a distributed application architecture that consists of two main phases, which harness the strength of GA and the RR principle. We suggested three types of RR strategies. In the following sections, we explain the overall distributed application architecture, the phases of RRGA execution, the proposed strategies in each of the phases, and the pseudocodes.  Figure 1 illustrates the distributed RRGA system architecture. The design of the distributed RRGA system is based on master-slave architecture. In this diagram, the master node is the central computing that instructs the other nodes (slaves) to receive an order and perform computations. In order for the slave node to receive the instruction from the master, each slave node must install an RRGA agent first before the master node can send the instruction to the slave nodes. Once the RRGA agents are installed, it will register itself in the database so that the master node knows which slave node is ready to receive instruction.
Before the master node can instruct the slave nodes to carry out the instruction, the user must key in a request using an application. This application stores the data into the database. The master node will continuously read from the database, and if a new record is found, the master node will inform the slave nodes. The master node then updates the application table in the database to mark as the job started. Once the job finishes, the slave node will inform the master node on job completion, and the master node will update the record in the data. In this case, the master node updates the record in the database as the job completed.

B. RRGA PROCESS FLOWS LIFECYCLE
The implementation of the proposed algorithm is organized into two phases, as shown in Fig. 2. The first phase is the RRGA phase, and the second phase is the RR phase. These phases constitute the lifecycle of the RRGA. In RRGA phase, each of the executing procedure is divided into two subprocedures. The first subprocedure is to generate a customer list and pass it to the second subprocedure to generate a solution. There are two types of RR strategies that can be used in the second subprocedure. The type 1 strategy combines the radial strategy in the ruin method with the regret insertion strategy in the recreate method. In type 2 strategy, the radial strategy is used in the ruin method is combined with the best insertion strategy in the recreate method. As shown in figure 1, the customer list from the generated first solution is passed to the type 1 strategy. The outcome of this procedure is passed to the population initialization subprocedure in which the customer list is executed using a type 2 strategy subprocedure. The customer list of this procedure is passed to the selection subprocedure, which it will call the type 2 strategy subprocedure. In summary, each of the customer list derived from the successive procedure will be passed to the next procedure until it reaches the final procedure. Each successive procedure is executed in sequential order.
In the RR phase, only the type 3 strategy is used in this procedure. The solution derives from RRGA phase is continuously improved until it reaches a terminating criterion. In type 3 strategy, the radial or random strategy in the ruin method is randomly selected, and the best insertion strategy is used in the recreate method.
These segregations of duties in RRGA and RR phase promote global optimization where all possible solutions are explored thoroughly, and the final solution is intensely improved. Hence, the outcome of executing RRGA in phases leads to a better solution. We also evaluated other common strategies (worst, string, and cluster) in the ruin method [33]. However, their results are not better than the strategies suggested in this proposed algorithm. The pseudocode of the RRGA framework is shown in Algorithm 1. It shows the two phases, which are the RRGA phase (lines 1 to 9) and the RR phase (lines 11 to 17). The RRGA phase consists of generating the first solution using a type 1 strategy (line 1), population initialization (line 2), and generation step (line 6). In the generation steps procedure, it encapsulates the nonelite selection, crossover, and mutation procedures.
The RR phase uses the type 3 strategy (lines 12 to 13). The type 3 strategy of the RR principle consists of randomly selecting either a radial or random strategy procedure in the ruin method (line 12), and the best insertion strategy procedure in the recreate method (line 13). The generated solution is improved continuously until the termination criteria are made (line 11). Each chromosome consists of a string of genes. These genes are analogous to a string of customers and represented in digits. Each digit represents the identity of the customer. The position of the genes in the chromosome is essential for route and distance calculation. These genes are shuffled and arranged randomly using RR strategy before they are used for the next procedure. The terms ''chromosome'' and ''individual'' are used interchangeably in this article. Fig. 3 depicts how the customers in VRPTW are represented, encoded as the customers, and decoded into individuals or chromosomes with the defined number of routes, total travelled distance, and prearranged customers in the list. The number of routes in an individual is calculated based on the defined constraints (i.e., time windows, service time, vehicle capacity, depot start and end time, and among others), and the total travelled distance is calculated based on the sum of distances on all the routes. Algorithm 2 initializes the population. In lines 1 to 6, each of the individuals is created using type 2 strategy (lines 4 to 5). The generation step shows in Algorithm 3 consists of three main steps. They are the nonelite selection procedure (lines 2 to 16), the order crossover (OX) procedure (lines 18 to 24), and the mutation procedure (line 29).

Algorithm 2 Population Initialization
Firstly, the individuals in the population are sorted ascendingly (line 1). This way of sorting indicates the individual with the shortest total travelled distance will appear at the top of the population list. Next, each of the solution fitness is calculated (line 2) using formula 10. In this computation, each individual in the population list is associated with a calculated fitness value. In this manner, the bottom of the population list has a higher fitness value than the individual appears at the top. This outcome explains the nonelite individuals to appear at the bottom of the population list have a higher chance to be selected as a parent for crossover. The elite individuals that appear at the top of the population list may cause premature convergence and diversity loss. Therefore, we choose the nonelite individuals. However, this high probability of nonelite individuals to be selected is tied to selection pressure (sp). The higher the selection pressure that applies to the individuals in the population, the better the individual evolves. Each fitness value for each individual is calculated using equation (11). Once the fitness value of all individuals in the population list is calculated, it is summed up (line 3) in equation (12). Line 6 shows a fitness value is randomly selected from the total sum of fitness values using the equation (13).

3) ORDER CROSSOVER
Algorithm 4 shows an OX algorithm [38], and this procedure requires four parameters. The first two parameters are the different parents (individuals), and the second two parameters are the two different cutoff points which are essential for the crossover process. If the second cutoff point has the same position as the last position of the first parent, then the entire customers in the first parent will be copied to the segment array (lines 3 to 6). If it is not, then the customers between the second cutoff point until the last position of the first parent are copied to the segment array (lines 8 to 11). Next, the customers between the first position and the second cutoff point of the first parent are appended to the earlier segment array (lines 12 to 15). The customers between the first cutoff and second cutoff points of the second parent are removed from the segment array (lines 17 to 23). Lines 24 to 26 show that the customers between the first and second cutoff points are copied to the same position of the offspring. The rest of the customers in the segment array fill the offspring starting after the offspring second cutoff point (lines 28 to 41). The offspring is formed using the type 2 strategy (lines 42 to 43). Figure 4 summarizes the crossover process. For generating the second offspring, the process is repeated by reversing the parents.

4) MUTATION
Algorithm 5 uses a swap mutation technique [32]. Each individual in the population is loop through (line 3). This individual is subjected to swap mutation if the random value is less than the mutation ratio (line 4). If the mutation ratio is high, the individuals in the population will have a high likelihood to be selected for mutation and more areas in the search space will be explored, but this may prevent the population from converging to any optimum solution. However, if the mutation ratio is low, there will be fewer individuals in the population to be selected for mutation and may result in local optimal. If the random positions of the genes in the individual are the same, then the selection of the random genes will be repeated (lines 8 to 11). If both genes positions are different, then these genes will interchange with one another (line 12).
The swapped genes in the individual will call the type 2 strategy (lines 13 to 14) to generate a new solution which is shown in Fig 5.

C. RUIN AND RECREATE PRINCIPLE
The RR principle consists of a ruin method, which continuously destroys a part of the same solution and the recreate method to reconstruct the solution. This process avoids local optimum and can obtain high-quality results. The ruin and recreate procedure is performed on an earlier GA generated solution, and this phenomenon leads to a faster execution time than a population-based algorithm. The RR principle is considered a metaheuristic algorithm as there are several ways to ruin a solution. In this article, we suggest two strategies (radial and random) in the ruin method and two strategies (best insertion and regret insertion) in the recreate method.

1) RADIAL RUIN
In the radial ruin method [18], the customers in the radial deletion area are marked for deletion, which is shown in Fig 6. Algorithm 6 shows the radial ruin strategy. Initially, the number of customers to be removed from the solution is calculated based on the radial ratio (line 1). The higher the radial ratio, the more the customers will be removed from the solution and vice versa. Next, a random customer is selected from the solution (line 2) and removed from the solution (line 3). Based on the random customer, the customers in the neighbourhood list are retrieved (line 4). Each customer is enumerated from the neighbourhood list and removed from   is added to a removed list (line 10), which will be used for reconstruction later. Radial ruin strategy tends to be more local.

2) RANDOM RUIN
In the random ruin method [18], the customers are randomly marked for deletion, as shown in Fig 7. In this strategy (algorithm 7), the number of customers to be removed is randomly calculated from the solution (line 1). Next, the customers are shuffled in the list (line 2). Each customer is removed from the solution as long as it does not exceed the number of customer removals (lines 4 to 6). The removed customer is added to a removed list (line 8), which will be used for later reconstruction. This strategy tends to be global.

3) BEST INSERTION
The best insertion strategy [18] is based on each customer that selects from the list randomly before performing the best insertion. Each customer is evaluated with each vehicle and will choose the route if it has the minimum cost of insertion. However, if the customer cannot be inserted into the route, an additional vehicle and a new route will be added into the solution.
Algorithm 8 shows each customer in the removal list is enumerated and reinserted into each route (lines 1 to 13). Each insertion cost is calculated in each route to determine which route has the best insertion cost. The route with the best insertion cost will be selected. Lines 14 to 20 explain that a new route is created with the customer and add a new route to the existing routes if it has a better insertion cost. However, the customer will not be able to add to the route if the best insertion cannot be found. In this case, this customer will be added to an unassigned customer pool (lines 21 to 25). If the best insertion can be found, this customer will be added to the route (line 27). Line 30 explains that a new solution is created based on the created routes.
Lines 1 to 26 explain the best Insertion score of each customer according to the cost insertion calculation. The customer with the lowest cost will be selected for reinsertion. A new solution is generated due to this process. Lines 21 to 24 explain that customers who cannot make it for reinsertion due to constraints violation will be reported as unassigned customers.

4) REGRET INSERTION
Regret Insertion algorithm is used to initialize routes in VRPTW by Potvin and Rousseau [36]. In algorithm 9, it is based on inserting the best possible route for each customer, how much the ''regret'' of the first and second best customer insertion cost is calculated, and the score difference between the two insertion costs is compared. If the second best cost is higher than the first score, the customer will be inserted into the route immediately. If it is not, the customer will be inserted later. Lines 2 to 15 explain each customer, traverse all other customers, and calculate which one has the best score or the shortest distance. The best score is added to the route, and finally, it returns a solution (line 16).

A. EXPERIMENT SETUP
In this experiment, the Solomon [16] instances are used for benchmarking. This benchmarking is to test algorithm vulnerability and effectiveness. These instances are grouped into C1, C2, R1, R2, RC1, and RC2, respectively. Each group of instances is subdivided into two types. The first type is the clustered (C), random (R), and a combination of random insertCustomer(bestScoredCustomer .getCustomer(), 10: bestScoredCustomer.getInsertionData(), 11: bestScoredCustomer.getRoute()) 12: removeCustomer(customer, C) 13: end if 14: end for 15: end while 16: S ← createNewSolution(routes, unassignedcustomers, empty) 17: return S (R) and clustered (C) in the group, which shows the extent of the customers disparate. The second type indicates the time window and vehicle capacity size. The C1, R1, and RC1 have a smaller time window size and vehicle capacity, which can serve a small number of customers. In contrast, the C2, R2, and RC2 instance types can serve a large number of customers as it has a broader time window size and vehicle capacity. Table 1 summarizes the detail of the instances types. This proposed algorithm is developed using Java version 1.8 and runs on a desktop machine with an Intel Core i5 CPU, 2.6GHz/8G of RAM. It can be run on Window, Macintosh or Linux operating system. The parameters used are shown in Table 2.

B. RESULT ANALYSIS
To prove our proposed algorithm is better than other algorithms, we benchmark our results against four different comparisons. They are five suggested variants, four recently published hybrid algorithms, the best-known solutions, and nine leading algorithms. Table 3 shows different strategies type used for constructing different variants. Each strategy type may consist of either or both ruin and recreate methods. Type 1 strategy only consists of regret insertion strategy in the recreate method. There is no strategy adopted in the ruin method. Type 2 strategy is formed by combining radial strategy in the ruin method and best insertion strategy in the recreate method. Type 3 strategy is selecting radial or random strategy randomly in the ruin method with the best insertion strategy in the recreate method, and type 4 strategy consists of random strategy in the ruin method with the best insertion method in the recreate method. Table 4 shows five different variants that are used for comparison with RRGA. Each variant may involve either or both RRGA and RR phases. During RRGA phase, the GA is used. The GA has five procedures which are performed in sequence. These procedures are the first solution generation, population initialization, selection, crossover, and mutation. Each of these procedures will call one of the strategy types. Variant 1 consists of both RRGA and RR phase. During RRGA phase, first solution generation, population initialization, crossover, and mutation will use types 1, 4, 4, and 4 strategies, respectively. In the RR phase, the type 4 strategy is used. Variant 2 has RRGA and RR phase. In the RRGA phase, types 1, 2, 2, and 2 strategies are used in first solution generation, population initialization, cross over and mutation, respectively. Variant 3, 4, and 5 have the RR phase only. The types 3, 4, and 2 strategies are used in variant 3, 4, and 5 accordingly. Table 5 compares the RRGA with five variants. In the table, ''NV'' represents the minimum number of used vehicles, ''TD'' represents the minimum total travelled distance (function cost) and ''T'' represents the minimum operation time of the proposed algorithm in seconds. The ''count'' represents the number of minimum total travelled distance in the instances. The ''Average'' represents the average of each metric for each instance type. The ''Overall Average'' represents the average of each metric for all instances. The best result or minimum value of total travelled distance in each instance is obtained after 30 independent runs.

1) COMPARISON WITH OTHER VARIANTS
In C1 and C2 instances, the RRGA best results are similar to other variants except for variant 2 in C109 instance. In C1 instance type, variant 1 has the minimum average operation time, and except for variant 2, all variants and the RRGA have the minimum average total travelled distance.      However, in C2 instance type, the RRGA and all variants have the minimum average total travelled distance. In R1 and R2 instances, the RRGA achieves more minimum total travelled distance (R1 -11 instances and R2 -9 instances) than variant 1 (R1 -6 instances and R2 -2 instances), 2 (R1 -7 instances and R2 -7 instances), 3 (R1 -9 instances and R2 -8 instances), 4 (R1 -8 instances and R2 -7 instances) and 5 (R1 -5 instances, and R2 -8 instances). In R1 instance type, variants 2 and 3 have the minimum average operation time and average total travelled distance, respectively. However, the variant 2 minimum average total travelled distance differences are insignificant compared to the RRGA. In R2 instance type, the RRGA and variant 3 have the total travelled distance and minimum average operation time, respectively. The difference in minimum average total travelled distance between the RRGA and variant 3 are insignificant.
In RC1 instances, the RRGA has similar number of minimum total travelled distance with variant 3 (RC1 has 5 instances), but the minimum average operation time is better than the RRGA, but the difference in minimum average total distance is insignificant. Nevertheless, in RC2 instance type, the RRGA shows better results in average total travelled distance (1004.35) and operation time (1.58 seconds) than other variants.
Overall, the RRGA shows remarkable results (47 instances) than other variants (variant 1 -27 instances, variant 2 -36 instances, variant 3 -43 instances, variant 4 -37 instances, and variant 5 -39 instances) in overall average total travelled distance eventhough the overall average operation time (68.29 seconds) is marginally lower than variant 3 (57.06 seconds). In this comparison, the RRGA has better optimization performance and reasonable convergence speed than other variants. It is worth mentioning some instances have longer average operation time because the production machines used in this experiment are personal computers and not a server specification. The operation time can be lowered down drastically by vertically scaling the personal desktop or using a server specification. Nowadays, the cost of acquiring a better server specification is within the affordable range and the deploy speed is faster and economical through on-demand requests with the advent of cloud computing and the demise of on-premise deployment. Table 6 compares the average of total travelled distance, standard deviation, and operation time after 30 independent runs with other variants. ''MTD'' represents the average of total travelled distance after 30 independent runs. This metric measures the best results on average after 30 independent runs. ''Std Dev'' represents the standard deviation of total travelled distance after 30 independent runs and this metric measures the magnitude of best results or a minimum average of total travelled distance differences. ''AT'' represents the minimum average operation time after 30 independent runs in seconds. The ''count'' represents the number of minimum total travelled distance in the instances. The ''Average'' represents the minimum average of each metric in each instance type. The ''Overall Average'' represents the minimum average of each metric in all instances. In C1 instances, the RRGA has more minimum average of total travelled distances (9 instances) than variant 1 (8 instances), variant 2 (6 instances), variant 4 (8 instances), and variant 5 (5 instances) except variant 3. In C1 instance type, the RRGA and variant 3 have the minimum average operation time and better standard deviation than other variants except variant 3. Although variant 4 has better average operation time (18 seconds) than the RRGA, their results on average total travelled distance and standard deviation are slightly higher than the RRGA, which makes variant 4 slightly inferior in this instance type. In C2 instances, all variants except for variant 5 have the same number of minimum total travelled distances (8 instances), and standard deviations (0 values) with the RRGA. In C2 instance type, the minimum average total travelled distance (589.86) and standard deviation (0 value) in RRGA are similar to all variants except for variant 5, but the average operation time is slightly above (5.92 seconds) the variant 3 (0.62 seconds) which makes the RRGA slightly underperformed in this instance type. In R1 instances, the RRGA has more minimum total travelled distance (6 instances) than variant 1 (1 instance), variant 2 (5 instances), variant 3 (0 instances), variant 4 (0 instances), and variant 5 (0 instances). In R1 instance type, the RRGA has the minimum total travelled distance (1187.34) and standard deviation (6.01) than other variants, even though variant 3 has minimum average operation time (2142.88). There are more instances (6 instances) in variant 2 with the number  of minimum average total travelled distance than the RRGA (5 instances) in R2 instances. However, the RRGA is still leading when it comes to the minimal average total travelled distance (880.66) and average operation time (475.29 seconds) than other variants in this instance type. This result means the RRGA outperforms other variants in R1 and R2 instance type. In RC1 instance type, the RRGA outperform other variants, but in RC2 instance type, the RRGA is underperformed but the difference is insignificant. In summary, the RRGA still has the best overall average total travelled distance (982.64) and overall average operation time (1050 seconds) than other variants. These results indicate that RRGA has superior average optimization results and average convergence speed. Table 7 compares the RRGA with four recently published hybrid algorithms. Our results show that RRGA has high number of minimum total travelled distances (42 instances or 75% of total instances) than other hybrid algorithms (ESS-PSO -34 instances, M-MOEA/D -16 instances, GA-PSO -28 instances, and LGA -18 instances). The RRGA also outperforms other hybrid algorithms by instances (R1 -7 instances, R2 -8 instances, RC1 -5 instances, and RC2 -6 instances). These results show that the RRGA has superior optimization performance than the four recently published hybrid algorithms. Table 8 compares the average total travelled distance and standard deviation with the four recently published hybrid algorithms. The ''N/A'' represents that the result is not available. In instances comparison, our proposed algorithm has the highest number of average total travelled distances in C1 (9 instances), C2 (8 instances), R1 (9 instances), R2 (10 instances), RC1 (5 instances), and RC2 (8 instances) than the recently published hybrid algorithms. In addition, if we compare the overall average, the RRGA also has the minimum average total travelled distance (C2 -589.86, R1 -1187.34, R2 -880.66, RC1 -1355.24, and RC2 -1009.53) and standard deviation (C1 -0, C2 -0, R2 -2.54, and RC2 -6.02) which outperforms four recently published hybrid algorithms. This result explains that RRGA has better average optimization performance than the four recently published hybrid algorithms even after 30 independent runs. Table 9 shows that the Wilcoxon signed-ranks is a nonparametric test that is used to determine whether two dependents of data are different. The p-value is the probability of obtaining the observed difference between the two groups are based on chance. If the p-value is very low (<0.05), the null hypothesis will be rejected, and the result is significant; otherwise, the null hypothesis will be accepted. Table 10 shows the p-value resolve by the Wilcoxon test with significance level α = 0.05. This measurement is used to compare the RRGA with the four recently published hybrid algorithm papers, whether they are statistically significant or not. The notation ''+'' represents the null hypothesis is rejected, and the RRGA is statistically better performance for that particular instance. Except in LGA [17], M-MOEA/D [38], and ESS-PSO [36] in C1 and C2 instance type and GA-PSO [37] in RC1 instance type, our proposed algorithm is statistically better in most of the instances types. Table 10 compares with the best-known solutions [36]. In this table, ''BKS'' is the best-known solution, and ''TD'' is the total travelled distance. ''Gap %'' is the percentage difference between the proposed algorithm and the best-known result. ''Average Gap %'' is the average percentage difference between the proposed algorithm and the best-known solution. Our results show that 33 instances which have similar results compare to the best-known solutions, and 7 instances which outperform the best-known solutions. This result is equivalent to 71.42% of all the instances, which is similar or better results than best-known solutions. If we compare with the minimum average total travelled distance, 50% (28 instances) of the instances outperform the bestknown solutions, 23 instances which do not have the information available, and 4 instances which have results inferior to the best-known solutions, but the differences are relatively insignificant (0.55%). In this case, we can conclude that the RRGA can produce a lot of best-known solutions in many instances and outperform the best-known average total travelled distance in most of the instances. Table 11 shows nine leading algorithms are selected for comparison. Their instance type results are compared with one another, and the best results are highlighted in bold. The RRGA achieves the best results in most of the instance types except for RC1 instance type. However, the result difference is insignificantly lower than the CGH algorithm. On average, the RRGA has the best average solution (978.12) than other leading algorithms and very close to the best-known average result (974.02).

V. CONCLUSIONS
This article presents a distributed RRGA to solve the VRPTW. In this proposed algorithm, the RRGA process lifecycle is divided into RRGA phase and the RR phase. VOLUME 8, 2020 In RRGA phase, it has two subprocedures. In the first subprocedure, the genetic operators generate a random customer list, and in the second subprocedure, the strategy types in the RR principle create a new solution based on the generated customer list. In RR principle, part of the solution can be randomly or radially ruined and reconstructed back into a new solution using the recreate method. Therefore, the radial and random strategies were proposed in the RR principle because they can produce excellent results compared to other strategies. In the RR phase, it executes a procedure iteratively until a termination criterion is met. In these iterations, the new solution is intensely improved. In these ways, these two phases will focus and make use of exploration and exploitation traits, thus promoting global optimal.
The RRGA achieves outstanding results when compared with the best-known solution, four recently published hybrid algorithms, and nine leading hybrid algorithms. Moreover, our results are statistically better, and this shows that our proposed algorithm is highly effective and better convergence speed. Although our results are excellent, there is still a myriad of problems we can solve using our proposed algorithm, especially in VRP variants. YONG-HAUR TAY received the Ph.D. degree in philosophy from the University De Nantes. He is currently the Director of Recogine Technology. He serves as an Adjunct Associate Professor with UTAR. His research interests include artificial intelligence, pattern recognition, neural computing, handwriting recognition, machine learning, and neural networks.
MADHAVAN NAIR received the Ph.D. degree in philosophy from the Universiti Putra Malaysia (Nature Tourism). He is currently an Assistant Professor with UTAR and the Head of the Department of Internet Engineering and Computer Science. He serves as a board of moderators of data communicaion and networking, from 2009 to 2014. He is a member of the board of moderator in 2009. He was also a Technical Consultant for software on network security and data storage management, in 2018. VOLUME 8, 2020