You are on page 1of 35

Elsevier Editorial System(tm) for European

Journal of Operational Research


Manuscript Draft

Manuscript Number:

Title: Solving Vehicle Routing Problem with Time Windows using Hybrid
Metaheuristic Algorithm

Article Type: Theory and Methodology Paper

Section/Category: (O) Combinatorial optimization

Keywords: Genetic algorithm, Ruin and the recreate, Combinatorial


optimization, Objective function, Vehicle routing problem with time
windows

Corresponding Author: Mr. Thau Soon Khoo, Master of Advanced In IT

Corresponding Author's Institution: University of Tunku Abdul Rahman

First Author: Thau Soon Khoo, Master of Advanced In IT

Order of Authors: Thau Soon Khoo, Master of Advanced In IT; Voon Hee
Wong, PhD; Yong Haur Tay, PhD; Babrdel Bonab Mohammad, PhD

Abstract: The vehicle routing problem (VRP) remains an essential


optimization problem. In the real world, it is a substantial cost savings
if it can address effectively. For this reason, many researchers have
proposed different algorithms to achieve this objective. With the latest
trend in developing new algorithms, an approach of using a combination of
algorithms proved a more optimized result can be achieved. This paper
suggests a novel hybrid metaheuristic algorithm that leverages the true
potential of the genetic algorithm (GA) and the ruin-and-recreate (R&R)
algorithm. Hence, it is termed the genetic algorithm, and the ruin-and-
the recreate algorithm (GARRA). The GA is a classical evolutionary
algorithm and widely used in industry. The R&R algorithm ruins and
improves part of the solution by reconstructing them into a better
solution. In the GARRA, the GA, through its operator interacts with the
R&R and each successive solution is brought forward to the next operator
for further processing and improvements. The objective of solving the
vehicle routing problem with time windows (VRPTW) is to find the best-
traveled distance within the constraints. Solomon's VRPTW instances are
used to measure the performance of the GARRA. The results are benchmarked
against other hybrid algorithms. Our results showed that GARRA
outperformed other hybrid algorithms. It also showed that the total
average results of each VRPTW instances are superior to other hybrid
algorithms. Furthermore, the GARRA has attained several new best results
in some of the VRPTW instances.

Research Data Related to this Submission


--------------------------------------------------
There are no linked research data sets for this submission. The following
reason is given:
Data will be made available on request
Cover Letter

Mr. Khoo Thau Soon


University of Tunku Abdul Rahman (UTAR)
Sungai Long Campus
Jalan Sungai Long
Bandar Sungai Long
Cheras 43000, Kajang,
Selangor
Tel: 603-90860288, (H/P) : 0192749893
khoothausoon@yahoo.com

European Journal of Operational Research

Aug 18, 2019

Dear Sir/Madam,

I am pleased to submit an original research article entitled “Solving Vehicle Routing Problem with Time Windows
using Hybrid Metaheuristic Algorithm” for consideration for publication in European Journal of Operational
Research (EJOR). I have previously discovered latest papers on combinatorial optimization using hybrid
metaheuristic. This manuscript builds on those studies and provide a novel way of achieving even better result than
those reported by latest published papers.

In this manuscript, we show that literature review involves in this study, the mechanism and rationale of how those
algorithms work involved can derive this better result, extensive data analysis and results and future works.

I believe that this manuscript is appropriate for publication by EJOR because I run the journal finder and the result
shows that EJOR is one of the highly recommended.

This manuscript has not been published and is not under consideration for publication elsewhere. We have no
conflicts of interest to disclose. Thank you for your consideration!

Sincerely,

Khoo Thau Soon, PhD


Candidate, Faculty of Engineering and Science
University of Tunku Abdul Rahman
Response to Technical Check Results

European Journal of Operation Research


Solving Vehicle Routing Problem with Time Windows using Hybrid Metaheuristic Algorithm

Dear Editor,

Thank you for your useful comments and suggestions on the language and structure of our manuscript.
I have modified the manuscript accordingly, and detailed corrections are listed below point by point:

1) LANGUAGE
The level of English throughout your manuscript does not meet the Journal's desired
standard and needs significant improvement, without which the paper will not progress. There
are many grammatical errors and instances of badly worded/ constructed sentences. Please
carefully check the manuscript, and refine the language where necessary. You may find the
checklist below useful for that purpose.
; LANGUAGE CHECK
1. Grammar and syntax:
a. Correct subject/verb agreement proper use of tenses, adjectives, articles
b. Good use of punctuation, prepositions, inflections and hyphenation; correctly
placed modifiers
c. Correct use of singular and plural nouns
2. Sentence structure:
a. Ensure that conjunctions are not overused
b. Sentences are a suitable length, with appropriate punctuation
c. No typographical errors (such as spelling errors and character spacing etc)
d. Limited use of colloquialisms (e.g. 'and so on', 'in our lab')
e. All acronyms and abbreviations are defined on their first time of use in the
abstract, and then again in the manuscript.

Answer: I have modified the original manuscript and change the structure, grammar and
others quite significantly to reflect more readability and consistent with the standard
established by EJOR. The proof reading is done by coauthors and postdoc.

2) Highlight
Highlights are only compulsory at the revision stage, however if you choose to submit them
with your initial submission then:
a. Include as a separate source file in the Elsevier Electronic Submission System (EES)
b. Include 3-5 bullet points
c. Each bullet point must be no more than 85 characters (not words) including spaces
d. No acronyms or abbreviations or formulae are allowed
e. No citations are all

Answer: I have complied with 2b and 2c on page 1 and 2d and 2e on the rest of the
manuscript. For 2a, what is the source file you meant? Is it data? If it is data, the total
files size is about 150 Mb before the files is compressed. I am not sure if I am allow to
upload such a big files.

3) Sentence structure:
a. Ensure that conjunctions are not overused
b. Sentences are a suitable length, with appropriate punctuation
3. No typographical errors (such as spelling errors and character spacing etc)
4. Limited use of colloquialisms (e.g. 'and so on', 'in our lab')
5. All acronyms and abbreviations are defined on their first time of use in the abstract, and
then again in the manuscript.
Answer: My software editor is already enabled with spelling checking and other basic
grammar checking. Thus, it will highlight any errors pertaining to these causes. I have
recheck to ensure there is no use of colloquialisms and preventing redefining of acronyms
or abbreviations in this manuscript. I have also checked line by line with other post-doc
to make sure the sentence structures are all covered.

4) Graphical Abstract
This is optional, but if provided, it should summarise the contents of the article in a concise,
pictorial form designed to capture the attention of the wide readership. Must be a separate
high res file 531 x 1328 min. Tiff, EPS, PDF or MS Office files.
See http://elsevier.com/graphicalabstracts

Answer: This manuscript contains only figures and tables. There is no graphics abstract
involved in this manuscript.

5) Keywords
a. Five maximum
b. The first keyword in the manuscript should be the same as the keyword entered in the
'Section/Category' field in the EES submission system. This keyword must be chosen from
the list given at the end of the Guide for Authors. The paper is submitted to the editor whose
initial is before the first keyword provided.
c. The keywords must be stated both in the manuscript AND in the details entered on the
submission system.

Answer: I have provided 5 keywords in this manuscript and ensure 5b and 5c is


complied.

6) Article Structure
Clearly defined & numbered sections (excluding the abstract) e.g. Title Page, Highlights,
Abstract, Keywords, Introduction, Methods, Results, Conclusions

Answer: There are 4 sections in this manuscript. They are introduction, problem
assumptions and notations, methodology and result.

7) Figures & Tables


Ordered sequentially and cited in the text. Ensure they are placed near to the relevant text in
the manuscript not at the end. They should be at a size that is readable if the manuscript is
printed.

Answer: All figures and tables are numbered and readable

8) Formulae & Equations


Ensure not distorted or unreadable

Answer: The formulas are created using Microsoft word equations and it is clearly
readable.

9) Format
a. Font size - 11 points
b. Line spacing - 1.5
c. Ensure pages are numbered sequentially
d. Single column
Answer: All pages are single-column pages. Font size is 11 points except for figures. For
tables, they are 8 points. Lines spacing is 1.5 throughout the page.

10) Length
1. Maximum of 35pp for Research Articles and 45pp for Invited Reviews
2. Maximum of 13pp Short Communications
3. Page length includes appendices. To reduce page length authors can upload appendices
as supplementary materials for viewing online only

Answer: There are 30 pages in this manuscript including references.

11) References
Ensure they are in alphabetical order and that there are no missing, incomplete or
inconsistent references
NOTES
1 - Please only upload the revised version of your manuscript (with no track changes or
highlights visible).
2 - Please ensure that the total 'combined' file size submitted does not exceed 30MB

Answer: References are in alphabetical order. References are located at the last few pages
of the manuscript.
*Manuscript
Click here to view linked References

1
2
3
4
5
Solving Vehicle Routing Problem with Time Windows using
6
7 Hybrid Metaheuristic Algorithm
8
9 Thau-Soon Khoo a, Voon-Hee Wong a, Yong-Haur Tay a, Mohammad Babrdel
10 Bonada
11
12
13 a
Lee Kong Chian Faculty of Engineering and Science, Universiti Tunku Abdul Rahman, Selangor, Malaysia
14
15
16
17 Abstract
18
19 The vehicle routing problem (VRP) remains an essential optimization problem.
20 In the real world, it is a substantial cost savings if it can address effectively. For
21
22 this reason, many researchers have proposed different algorithms to achieve this
23
24 objective. With the latest trend in developing new algorithms, an approach of
25 using a combination of algorithms proved a more optimized result can be
26
27 achieved. This paper suggests a novel hybrid metaheuristic algorithm that
28
29 leverages the true potential of the genetic algorithm (GA) and the ruin-and-
30
recreate (R&R) algorithm. Hence, it is termed the genetic algorithm, and the
31
32 ruin-and-the recreate algorithm (GARRA). The GA is a classical evolutionary
33
34 algorithm and widely used in industry. The R&R algorithm ruins and improves
35
part of the solution by reconstructing them into a better solution. In the GARRA,
36
37 the GA, through its operator interacts with the R&R and each successive solution
38
39 is brought forward to the next operator for further processing and improvements.
40
The objective of solving the vehicle routing problem with time windows
41
42 (VRPTW) is to find the best-traveled distance within the constraints. Solomon’s
43
44 VRPTW instances are used to measure the performance of the GARRA. The
45
46
results are benchmarked against other hybrid algorithms. Our results showed that
47 GARRA outperformed other hybrid algorithms. It also showed that the total
48
49 average results of each VRPTW instances are superior to other hybrid
50
51
algorithms. Furthermore, the GARRA has attained several new best results in
52 some of the VRPTW instances.
53
54
55 Keywords: Genetic algorithm, Ruin and the recreate, Combinatorial
56 optimization, Objective function, Vehicle routing problem with time windows
57
58 *
Corresponding author
59
Email address: khoothausoon@yahoo.com (Thau-Soon Khoo), wongvh@utar.edu.my (Voon-Hee Wong)
60
61
62 1
63
64
65
1
2
3
4 Highlights
5
6
7  A new algorithm combines the genetic algorithm, and the ruin-and-the
8 recreate algorithm
9
10  Comparisons with other hybrid algorithms and best known solutions
11
12  The GARRA is benchmarked against the Solomon instances of VRPTW
13
14  The GARRA outperformed other hybrid algorithm results
15  The GARRA delivered several new best known results
16
17
18 1. Introduction
19
20 VRP is a significant logistics optimization problem. It was introduced by
21
Dantzig and Ramser [3] as a truck dispatching problem. There are many variants
22
23 [20] in VRP and VRPTW is just one of the variants. It is a building block for
24
25 many VRP variants. In VRPTW, the vehicles have similar specifications.
26
27
Initially, these vehicles stationed at the central depot and every day they deliver
28 customer demands. They are required to send all customer demands which are
29
30 located at different locations. These locations are based on x and y coordinates,
31
32
and it mimicked the geographical position system (GPS). The distance is
33 calculated using Euclidean distance, which is a straight-line distance. In addition,
34
35 they must satisfy the constraints that have laid down and as follows:
36
37  All vehicles must start at the central depot.
38
39  All vehicle must start and end at the same depot.
40
41  All vehicles must operate within the central depot start and end time.
42
43  There is a finite set of vehicles to deliver customer demands.
44  Each customer must be served by one vehicle only.
45
46  The vehicle must arrive at the customer within the customer availability
47
48 time. If they arrive early, they must wait until the customer is available.
49
50 VRPTW problem is NP-hard problem Lenstra et al. [7] and combinatorial
51
52 optimization problem [20] . It is not time-efficient to calculate using a brute-
53
force algorithm. For this reason, an efficient and effective algorithm is needed to
54
55 overcome time-inefficiency. Most algorithms used for solving the VRPTW
56
57 problem are grouped into three main categories. They are exact, heuristic, and
58
metaheuristic. The exact algorithm can be computationally expensive, tackle a
59
60 small problem, and hard to manage. For example, some of the common exact
61
62 2
63
64
65
1
2
3
4 algorithms are the branch-and-cut algorithm and the branch-and-bound
5
6 algorithm. Heuristics, on the other hand, it produces a good solution within a
7
8 reasonable computational time and able to handle large problems. They can be
9 used either as constructive or improvement approaches. Metaheuristic, besides
10
11 able to handle a large problem, they are able to produce solution quality and
12
13 computational time. Also, they tend to explore the global optimum space. Over
14 the last few years, the research of hybrid metaheuristics continues the uptrend.
15
16 The hybrid metaheuristic can be a combination of either exact, heuristic, or
17
18 metaheuristic. Such a combination can form a powerful search algorithm. J.
19 Zhang et al. [25] proposed a hybrid of the Evolutionary Scatter Search (ESS)
20
21 algorithm and the Particle Search Optimization (PSO) algorithm. In ESS
22
23 algorithm, an evolutionary operator, a new “route+/-“and a genetic algorithm are
24 used as a template for scatter search. The concept of the ruin and recreate design
25
26 is introduced with the velocity and position of updating rules. The velocity of
27
28 particles represents the route-segment. Both of these algorithms work in cascade
29 learning architecture. The ESS algorithm prepares the exemplary solutions in the
30
31 reference set, and the PSO algorithm learns from these exemplary solutions. The
32
33 results show that the algorithm is effective, efficient, and competitive. D. Zhang
34
et al. [24] proposed a hybrid algorithm, which consists of both the Tabu Search
35
36 (TS) algorithm and the Artificial Bee Colony (ABC) algorithm. The ABC
37
38 algorithm takes advantages of the TS algorithm in order to generate a high-
39
quality solution and increase the variety of food sources. A combination of the
40
41 GA and the PSO algorithm is proposed by Xu et al. [22] to avoid premature
42
43 convergence and the local minimum by leveraging the particle real number
44
45
encoding method to deduce the route which alleviates the computational burden.
46 This combination provides a balance between the global and the local
47
48 exploration capability by using a linearly decreasing function based on the
49
50
number of the iterations and using the GA’s crossover operator. Ursani et al.
51 [21] suggests a new scheme which consists of two phases that perform
52
53 optimization and de-optimization. Part of the problem is performed on the
54
55 optimization, and the whole problem is performed on the de-optimization. This
56 algorithm is called the Localized Genetic Algorithm (LGA), which produces
57
58 better solutions than other heuristics on a small-scale problem. Yu et al. [23]
59
60 proposed a hybrid approach using the Ant Colony Optimization (ACO)
61
62 3
63
64
65
1
2
3
4 algorithm and the TS algorithm, which leverage the convergence and diversity
5
6 capability, as well as explore new solutions. Goel et al. [4] developed a hybrid
7
8 algorithm using the Firefly Optimization algorithm (FA) and the Ant Colony
9 System (ACS) algorithm. The FA is used to unexplore solution space. The
10
11 process in pheromone shaking using the ACS algorithm is to avoid pheromone
12
13 stagnation of the exploited region, thus escape from local optima. Luo et al. [9]
14 proposed a hybrid shuffled frog leaping algorithm (HSFLA). The diversity
15
16 control strategy is to construct the memeplexes of the HSFLA, and to avoid
17
18 ending the search prematurely. The modified clone selection procedure is to
19 improve the solution quality and be more diverse in the population. It also
20
21 included an improved and extended extremal optimization (EO) with an
22
23 alternative move operator for algorithm exploitation. Nagata et al. [10] presented
24 an effective memetic algorithm that used edge assembly crossover (EAX) by
25
26 adjusting to the EAX operator and it avoided violations in time window
27
28 constraints. It incurred a capacity constraints from offspring by introducing a
29 novel penalty function. Tan et al. [19] proposed an Adaptive, Comprehensive
30
31 Learning Bacterial Foraging Optimization (ALCBFO) algorithm. It is a variant
32
33 of the bacterial foraging optimization (BFO) algorithm with time-varying
34
chemotaxis step length and comprehensive learning strategy. This algorithm has
35
36 a good balance between exploration and exploitation as well as the
37
38 comprehensive learning strategy, which allows the diversity of the bacterial
39
population and reduces the premature convergence. Taha et al. [17] proposed a
40
41 hybrid algorithm that includes an adaptive selection mechanism to select the five
42
43 local search algorithms adaptively. The five local search algorithms are the hill
44
45
climbing algorithm, the simulated annealing algorithm, the record to record
46 algorithm, the reactive TS algorithm, and great deluge algorithm. (Taha et al.,
47
48 2017) used a granular neighborhoods to improve the run-time of the local-based-
49
50
search algorithm. These sparsification methods prevent neighborhoods, including
51 elements with high-quality solutions. Avella et al. [1] introduced the Lifted, and
52
53 Local Reachability Cuts (LLRC) algorithm that embedded into a branch-and-cut
54
55 framework to improve their computational effectiveness. (Ursani, Essam,
56 Cornforth, & Stocker, 2011b) presented a Localized Optimization Framework
57
58 (LOF) that consisted of a problem decomposition strategy, and the problem
59
60 broke into sub-problems where the optimization procedure can be performed
61
62 4
63
64
65
1
2
3
4 separately. It also consisted of the de-optimization phase, and it performed under
5
6 controlled conditions. Taha Yassen et al. [18] proposed a Meta-harmony Search
7
8 Algorithm (meta-HSA) with a Local Search (LS) which uses the HSA-optimizer
9 and the HSA-solver. The HSA-optimizer will adapt to the components, and the
10
11 HSA-solver configuration is based on search status. It is a hybrid of the HSA and
12
13 the LS that takes configuration generated by the HSA-optimizer as input and
14 solves a given problem instance. Pecin et al. [11] proposed the branch-price-and-
15
16 cut (BPC) using two enhancements. The first enhancement includes developing a
17
18 shaper form of the limited-memory subset-row inequalities that represents
19 memory as an arc subset rather than a node subset, and the second enhancement
20
21 includes deriving a family of inequalities that dominates them. These
22
23 enhancements include the bidirectional labelling, the decremental state-space
24 relaxation, the completion bound, the variable fixing, and the route enumeration.
25
26 It replaces the column generation subprogram that is, an Elementary Shortest
27
28 Path Problem with Resource Constraints (ESPPRC) with the TS algorithm. They
29 also use the generation of negative reduced cost columns in less computation
30
31 time, to accelerate the subproblem solution process using a relaxed elementary
32
33 requirement for a subset of the nodes and the generalization of the k-path
34
inequalities.
35
36
37 This paper shows a hybrid algorithm which combines the strength
38
39
of the GA and the R&R algorithm. The GA and the R&R algorithm are
40 established and popular. It also is known for its fast computation. The GA’s
41
42 search is designed to be a diversified-oriented (i.e., exploration), the unexplored
43
44
areas are explored evenly, and the search capability is not only limited to a
45 reduced number of areas. On the other hand, the R&R is a single-solution based
46
47 algorithm, and its design is oriented towards intensifying, where the best solution
48
49 is explored more thoroughly with the hope to find a better solution. The R&R
50 uses the random and radial strategy during the ruin of a solution, and the best
51
52 insertion strategy during the recreate of a solution. The ruin function of the R&R
53
54 algorithm is to delete customers who are chosen randomly from the solution, and
55 the recreate function of the R&R algorithm is to reconstruct the solution based
56
57 on the best insertion strategy — the remainder of this paper is organized as
58
59 follows. Section 2 contains a description of the problem assumptions and
60 notations, while in Section 3, the VRPTW is formulated. The proposed
61
62 5
63
64
65
1
2
3
4 algorithm (GARRA) is explained in Section 4. The computational results of the
5
6 proposed algorithm are compared and contrasted in Section 5. The paper is
7
8 concluded in Section 6.
9
10 2 Problem Assumptions and Notations
11
12 1.1 Problem Description
13
14 The VRPTW problem consists of a set of homogenous vehicles and loading
15
16 capacity, and the objective is to achieve the best-traveled distance by traversing
17 all customers. It must satisfy the constraints of the customer’s time window and
18
19 vehicle loading capacity.
20
21 1.2 Problem Definition
22
23 Let G = (C, A) defines a complete undirected graph, where V = {c0,......,cn} is
24
25 the vertex set and v0 is the depot and v1..n represent the first customer until the
26 customer n. The A is the arcs set where A = {(i, j):i≠j and i, j  A} and each arc is
27
28 represented as a distance cost dij = dji and dij > 0. Each customer is associated
29
30 with pre-planned loading demand and service time information. There is a
31
predetermined number of vehicles (v), and they are identical in capacity. The
32
33 customer’s time windows are known before the start of the journey. Each
34
35 customer has a loading demand where the demand (qi) is greater than or equal to
36
37
zero. A hard time window is the predefined time interval where the vehicle must
38 arrive at the customer between the earliest arrival time (ei) and the latest arrival
39
40 time (li), in which ei ≥ 0 and li ≥ 0. The central depot is also associated with a
41
42
time window and represented in e0 and l0, in which e0 is the depot’s earliest start
43 time, and l0 is the depot’s latest end time The vehicle needs to wait if it arrives at
44
45 the customer before the earliest arrival time(ei), and it cannot serve the customer
46
47
if it exceeded the latest arrival time. The vehicle also cannot serve the customer
48 if its loading capacity has exceeded. Each customer (ci) is assigned a time
49
50 window, which is denoted as [ei, li]. The accumulated service time (si) and
51
52 traveling time (ti) for each customer (ci) must not exceed the central depot’s
53 latest availability time (l0). Each arc aij represents the unidirectional and distance
54
55 (dij) of that arc. Any customer served cannot be served by another vehicle. Each
56
57 vehicle can serve different customers as long as it does not exceed its loading
58 capacity.
59
60
61
62 6
63
64
65
1
2
3
4
5
6
7 1.3 Mathematical Models
8 The following notations and formula for deriving the VRPTW model Gong
9
10 et al. [6] are listed as follows:
11
12 K The total number of vehicles
13
14 v The number of vehicles
15
16 n The number of customers
17
18 qi The demand of the customer
19
20 Qk The capacity of the vehicle.
21
22 si The service time of the customer
23
24 ti The arrival time of the customer
25
26 tij The travel time from customer ci to customer cj.
27
28 wi The waiting time of customer ci.
29
30 ei The customer’s earliest arrival time.
31
32
li The customer’s latest arrival time
33
34 i ehicle tra eled rom customer to customer
35 other ise
36
37
38
39
40
41
42 The objective function is to minimize the total distance traveled, which is described as
43 follows:
44
n n
45
46 min ti i (1)
47 i
48 s.t.
49 n
50
51 i n (2)
52 i
53 n
54
55 i (3)
i
56
57
58 i n
i (4)
59
60
61
62 7
63
64
65
1
2
3
4
5 (5)
6
7
8 ti + Wi + si + tij tj, 0, 1, 2, , n, ≠ j (6)
9
10 ei ti li, 0, 1, 2, ,n (7)
11
12 Wi max { ei - ti, 0}, 0, 1, 2, ,n (8)
13
14
15 In constraint (2) and (3), it ensures that no more than one vehicle serves the same
16
customer. Constraint (4) ensures the demand accumulated from the customers does not
17
18 exceed the capacity of the vehicle. Constraint (5) ensures that every vehicle must start
19
20 from a depot. Constraint (7) – (8) ensures that all customers are served within the time
21 window.
22
23
24 3. Methodology
25
26 3.1 Hybrid Algorithm process flow
27 In GARRA, the GA, combined with different strategies of the R&R
28
29 algorithm. The R&R algorithm is made up of two methods. They are the ruin
30
31 method and the recreate method. The two proposed strategies that used in the
32 ruin method are the radial and random strategy. The recreate method used the
33
34 best insertion strategy. Different combination of procedures in the R&R
35
36 algorithm is grouped into two types. The first type (i.e., type 1) is the
37 combination of the ruin method (i.e., a radial or a random strategy) and the
38
39 recreate method (i.e., the best insertion strategy). The second type (i.e., type 2) is
40
41 the combination of the ruin method (i.e., the radial strategy) and the recreate
42 method (i.e., the best insertion strategy). In Fig. 1, a solution is generated by
43
44 utilizing the regret-based insertion in the recreate method. Each of the solutions
45
46 is represented as an individual in the population, and each has a different solution
47 cost. In the generation process, which consists mainly of selection, crossover,
48
49 and mutation steps. These individuals will be processed in these steps. During
50
51 the selection step, the individuals are selected based on fitness value. The higher
52 the fitness value, the more likely it will get selected. In the crossover step, the
53
54 selected individuals will perform a crossover in order to produce offsprings.
55
56 These offsprings are mutated into new individuals. The best individual is
57 selected from these individuals and processed using type 1. The iterations,
58
59 which are performed in this individual using type 1, will output a better
60
61
62 8
63
64
65
1
2
3
4 individual. This individual may replace the earlier individual if it has a better
5
6 solution. Once the iterations using type 1 has completed, the generation process
7
8 will continue until the termination criteria are satisfied.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Fig. 1. GARRA process workflow
26
27
28 3.2 Genetic Algorithm
29
30 In theory, the evolution of new species has led to the creation of the GA. The
31 GA is developed by Holland [14] at the University of Michigan. It is a subclass
32
33 of Evolution Algorithms (EA) and a metaheuristic algorithm. The GA is used for
34
35 solving constrained and unconstrained optimization problems, and is also used
36 for solving other issues such as automotive design, computer gaming,
37
38 engineering design, encryption, code-breaking, and others. Generally, the GA
39
40 has three main steps (i.e., selection, crossover, and mutation), which can also be
41 regarded as a generation step. Each iteration of the generation steps has the
42
43 potential of improving the result. The generation step will be stopped once the
44
45 termination criteria are met.
46
47
3.2.1 Chromosome representations
48
49 Fig. 2 depicts the customers and routes, which represented in chromosomes.
50
51 Each chromosome consists of a string of genes. In VRPTW, these genes are
52
represented as a string of customers, and in digits. Each digit represents the
53
54 identity of the customer. The position of the genes in the chromosome is
55
56 essential for routes and distance calculation. These genes are shuffled before they
57
are calculated for route sizes and distance. The terms “chromosome” and
58
59
60
61
62 9
63
64
65
1
2
3
4 “indi idual” are used interchangeabl . Algorithm 1 explains how each of the
5
6 individuals is computed and stored in the population (lines 1-3).
7
8
9
10
11
12
13
14
15
16
17
18
Fig. 2 Chromosome representation
19
20
21
22 Algorithm 1 Initialize_population
23 Input S : solution
24 1: for i ← to N do // loop the customer size
25 2: Pi ← Calculate olution( )
3: end for
26
27
28
29 3.2.2 Selection, Crossover, and Mutation
30
31 The generation process shows in Algorithm 3 consists of three main steps.
32
33 They are selection (lines 2-16), crossover (lines 18 – 24), and mutation (line 29).
34
35 Firstly, in the selection step, the total sum of fitness value is calculated (line 3).
36 A random fitness value is chosen between zero and the total sum of fitness value
37
38 (formula 10-12). An enumeration of the fitness element is sum up until it is
39
40 higher than the random fitness value. The enumerated count determines the
41 position of the individual in the population. The individual is selected based on
42
43 the enumerated position in the population, and this individual became the first
44
45 candidate for a crossover (lines 5-10). This process repeats until the second
46 individual or candidate has identified (lines 12-16). The two individuals are
47
48 selected for the OX crossover. In the OX crossover, these two cutoff points are
49
50 identified in the individual, and it must not be the same position (lines 18-22).
51 The two offspring produced are stored in the new population (lines 24-27). These
52
53 steps continue until the number of offspring produced has the same size as the
54
55 original population (lines 4-27). Each individual in the new population is
56 enumerated and mutated into a new individual. These mutated individuals are
57
58 sorted based on the solution cost (line 34). The best-mutated individuals are
59
60 selected from the new population and replaced the individuals in the original
61
62 10
63
64
65
1
2
3
4 population (lines 36-38). Finally, the individual in the original population will
5
6 replace the best solution if its value has better solution cost (line 39).
7 (10)
fi = - -
8 -

9 N
i i
(11)
10
11 (12)
12
13
14
15 Algorithm 3 Generation Step
1: sortPopulationAscending(p) // sort the population ascendingly
16 2: computeFitness() //compute fitness
17 3: f = sumFitness() // Sum all fitness value
18 4: p` ← p;
19 5: while (p` < 2 * p) do
6: f` ← *random[ .. ] // elect a itness alue
20
7: index1 ← sum ← 0
21 8: while (sum < f`) do
22 9: index1 ← inde + 1
23 10: sum ← sum + FIndex1
24 11: end while
12: f` ← *random[ .. ] // elect a itness alue
25 13: index2 ← s 0
26 14: while (sum < f`) do
27 15: index2 ← inde 2 + 1
28 16: sum ← sum + Index2
17: end while
29 18: z ← getCustomer ize()
30 19: cutPoint ← random[ ..z]
31 20: cutPoint2 ← random[ ..z]
32 21: while (cutPoint1== cutPoint2) do
22: cutPoint2 ← random[ ..Z]
33
23: end while
34 24: o spring ← OXCrosso er(pindex1, pindex2, cutpoint1, cutpoint2)
35 25: o spring 2 ← OXCrosso er(pindex2, pindex1, cutpoint1, cutpoint2)
36 26: p`I ← o spring
37 27: p`i+1 ← o spring2
28: i ← i + 2
38 29: p` ← p` + p`i
39 30: p` ← p` + p`i+1
40 31: end while
41 32: for i ← to (size o p + size o p`)
33: mutatePopulation(p)
42 34: end for
43 35: sortPopulationAscending(p`)
44 36: for i ← 1 to n do
45 37: pi ← p`i
38: end for
46 39: updateBestSolution(p)
47 40: `
48
49
50 In the crossover step, an order crossover (OX) is proposed in the GARRA.
51
52 This genetic algorithm operator is a type of permutation crossover, and it is
53
introduced by Goldberg and Lingel [5].
54
55
56
57
58
59
Fig 3. OX Crossover
60
61
62 11
63
64
65
1
2
3
4 In Fig. 3, the two cut-off points are determined on the first and the second
5
6 parent. In the first parent, the customers between the two cut-off points are passed on to
7 the first offspring. Next, it strikes off the resembled customers in the second parent. In
8
9 the second parent, the customers on the right side after the second cut-off point are
10 passed on to the first offspring. In this case, the customers after the second cut-off point
11
12 are customer 3. Thus, it is passed on to the right side after the second cut-off point in the
13 first offspring. Since the customer 7, 2, and 8 are already copied into the first offspring.
14
15 Therefore, these customers are struck off and ignored in the second parent. The
16 remaining customers in the second parent (i.e., 3, 1, 4, 5, 9, and 6) will fill the remaining
17
18 slots in the first offspring. For the second offspring, the customers between the cut-off
19
points in the second parent are passed on to the second offspring. Instead, the customers
20
21 (i.e., 5, 9, and 6) in the first parent are strike off.
22
Algorithm 4 OX Crossover
23 Input A : Parent 1, B : Parent 2, cutPoint1 : First cutoff point, cutPoint2 :
24 Second cutoff point
25 Output E : offspring 1
26 1: tempIndex ← 0
27 2: Z ← getCustomersSize()
3: index ← cutPoint2 + 1
28
4: if (index == Z) then
29 5: for i ← 0 to Z do
30 6: outerSegmentBuildArrayi = Ai
31 7: end for
32 8: else
9: for i ← cutPoint2 + 1 to Z do
33 10: outerSegmentBuildArraytempIndex ← Aindex
34 11: tempIndex ← tempIndex + 1
35 12: end for
36 13: for i ← 0 to cutPoint2 + 1 do
14: outerSegmentBuildArraytempIndex ← Aindex
37 15: tempIndex ← tempIndex + 1
38 16: end for
39 17: end if
40 18: for j ← cutPoint1 to cutPoint2 do
19: for index ← 0 to outerSegmentBuildArray – 1 do
41
20: if (outerSegmentBuildArrayindex == Bj) then
42 21: remove(outerSegmentBuildArrayindex)
43 22: end if
44 23: end for
45 24: end for
25: for i ←cutPoint1 to cutPoint2 do
46 26: offspringi ← Bi
47 27: end for
48 28: tempIndex = 0
49 29: for y ← cutPoint2 + 1 to length(offspring) do
30: if (y == length(offspring))
50 31: exit for loop
51 32: end if
52 33: offspringy ← outerSegmentBuildArraytempIndex
53 34: tempIndex ← tempIndex + 1
35: end for
54
36: for z ←0 to cutPoint1 do
55 37: if (z == length(offspring))
56 38: exit for loop
57 39: end if
58 40: offspringz ← outerSegmentBuildArraytempIndex
41: tempIndex ← tempIndex + 1
59 42: end for
60
61
62 12
63
64
65
1
2
3
4 The OX crossover algorithm is described in Algorithm 4. Firstly, the length of
5
6 the first parent is divided into 3 segments. The first segment is the customers between the
7 first customer in the first parent and the first cut-off point. The second segment is the
8
9 customers between the first and the second cut-off points in the second parent, and the
10 third segment is the customers between the second cut-off points and the last customer in
11
12 the first parent. If the second cut-off point is located at the end of the first parent , then
13 all the customers in the first parent will be copied over to the outer segment array (lines
14
15 5-7). Otherwise, the order of segment 3, 1, and 2 in the second parent will be copied to
16 the segment array (lines 9-16). Next, it will remove the customers in the outer segment
17
18 array that appear between the first and the second cut-off points in the second parent
19
(lines 18 -24). The customers who appear between the first and the second cut-off points
20
21 in the second parent are copied to the similar cut-off points in the offspring (lines 25-27).
22
The remaining customers from the outer segment array will fill the remaining slots in the
23
24 offspring (lines 29 -42).
25
26 In the mutation step, each individual in the population, two customers
27 are randomly selected and swapped, as shown in Algorithm 5 (lines 5-11).
28
Algorithm 5 MutatePopulation
29
1: Input P : Population
30 2: for i ← 0 to N do
31 3: if (random < R) then
32 4: Q ← getCustomer()
33 5: Index1 ← random [0..Q]
6: Index2 ← random [0..Q]
34 7: while (Index1 == Index2) do
35 8: Index1 ← random [0..Q]
36 9: Index2 ← random [0..Q]
37 10: end While
11: swap(Q,index1,index2) // swap the position of customer
38 12: P`i ← CalculateSolution(Q)
39 13: end if
40 14: end for
41
42
43 3.3 Ruin and The recreate Principle
44
45 The R&R algorithm was discovered by Schrimpf et al. [26]. It is a popular
46
algorithm and widely adopted in many applications. It can achieve better
47
48 solutions in most cases. The R&R algorithm consists of the ruin-and-recreate
49
50 procedure. The strategies used in the ruin method are the radial and the random
51
52
strategy. In the recreate method, the best insertion strategy is adopted. In the ruin
53 method, a set of customers is selected and removed from the solution. The
54
55 removed customers are shuffled and reconstructed into a new solution using the
56
57
best insertion strategy.
58
59
60
61
62 13
63
64
65
1
2
3
4 3.3.1 Radial Ruin
5
6 Algorithm 6 describes the radial method of the ruin method. Firstly, the number
7
8 of customers is to be removed is determined (line 1). A customer is randomly
9 selected from the solution, and it is removed from the solution (lines 2-3).
10
11 Subsequently, a customer’s neighborhood list is extracted based on the selected
12
13 customer (line 4). Each customer in the neighborhood list is removed from the
14 solution, and this process continues until the number of customers to be removed
15
16 is achieved (line 5-8). However, if the number of customers to be removed is less
17
18 than neighborhood size than the number of customers to be deleted will be based
19 on the neighborhood size. The deleted customers are reinserted using the best
20
21 insertion strategy o the “recreate” method in order to form a new solution.
22
23 Algorithm 6 Radial_Ruin
24 Input R : Routes
25 Output S` : new Solution
26 1: noOfCustomersBeRemoved ←
27 getNumberofCustomerBeRemoved() //Depend of radial ratio be
set
28 2: targetCustomer ← random[1..customerSize]
29 3: removedCustomers ← removeCustomer(targetCustomer, R)
30 4: neighborhoodList ←
31 getNearestNeighborhoodList(noOfCustomersBeRemoved -
32 1,targetCustomer)
5: for each customer in neighborhoodList do
33 6: if (removeCustomer(customer, R)) then
34 7: removedCustomers ← removeCustomer(customer, R)
35 8: end if
36 9: end for
10: return bestInsertion(removedCustomers, R)
37
38
39 3.3.2 Random Ruin
40 Algorithm 7 describes the Random strategy of the ruin method, in which the
41
42 number of customers to be deleted is determined (line 1). In this algorithm, the
43
44 customers are extracted and shuffled in the list (line 2). Each customer in the
45 list is removed. It will stop removing when the removal size is achieved (line
46
47 4-7).
48
49 Algorithm 7 Random_Ruin
50 Input S : Solution
51 Output S` : New Solution
52 1: noOfCustomersBeRemoved ←
53 getNumberofCustomerBeRemoved()
2: availableCustomers ← shuffle(getAllCustomers())
54 3: removed = 0
55 4: for each customer in availableCustomers do
56 5: if removed ← noOfCustomersBeRemoved exit for
57 6: removedCustomers ← removeCustomer(customer, R)
58 7: removed ← removed + 1
8: end for
59
60
61
62 14
63
64
65
1
2
3
4 3.3.3 Best Insertion
5
6
In this procedure, the removed customers are reinserted back into the ruined
7
8 solution. In the recreate method, the best insertion strategy is used, and it adds
9
10 back each deleted customer which is based on the minimum cost insertion and as
11
12
long as it does not violate the constraints (e.g., time window and capacity
13 constraints). The best Insertion scores each customer according to the cost
14
15 insertion calculation (lines 1 -26). The customer with the lowest cost will be
16
17 selected for reinsertion. A new solution is generated due to this process. For
18 those customers who cannot make it for reinsertion which, due to constraints
19
20 violation will be reported as unassigned customers (lines 21 -23).
21
22 Algorithm 8 Best Insertion
23 Input R : Routes, C : Removed Customers
24 Output S` : New Solution
25 1: for each customer in C do
2: bestInsertion ← null
26 3: bestInsertionCost ← 99999999
27 4: for each route in R do
28 5: data ← calculateInsertionCost(route, customer,
29 bestInsertionCost)
6: if (getcost(data) < bestInsertionCost) then
30
7: bestInsertion ← generateInsertion(route, data)
31 8: bestInsertionCost ← getcost(data)
32 9: end if
33 10: end for
34 11: newRoute ← createEmptyRoute()
12: newdata ← calculateInsertionCost(newRoute, customer,
35 bestInsertionCost)
36 13: if (newdata can insert into existing routes) then
37 14: if (getcost(newdata) < bestInsertionCost) then
38 15: R ← R + newRoute
16: bestInsertion ← generateInsertion(route, data)
39 17: end if
40 18: else
41 19: empty ← empty + getFailedConstraintNames()
42 20: end if
21: If bestinsertion == null then
43 22: unassignedCustomers ← unassignedCustomers + customer
44 23: else
45 24: insertExistingRoute(customer, R, empty)
46 25: end if
47 26: end for
27: S` = createNewSolution(routes, unassignedCustomers, empty)
48
49
50 4. Results
51
52
4.1 Experiment Setup
53 In this experiment, the Solomon [16] instances are used for benchmarking.
54
55 The design of this benchmarking is to test the GARRA’s vulnerability and
56
57
determine its effectiveness. These instances are grouped into C1, C2, R1, R2,
58 RC1, and RC2, respectively. Each group of instances is subdivided into two
59
60 types. The first type is the clustered (C), random (R), and a combination of
61
62 15
63
64
65
1
2
3
4 random (R) and clustered (RC) in the group which shows the extensiveness of
5
6 the customers spread out. The second type, the digit (i.e., 1 and 2), which
7
8 associated with the instances type, indicates the extensiveness of the time
9 window and vehicle capacity size. The C1, R1, and RC1 have a narrow time
10
11 window and small vehicle capacity.
12
13 In contrast, the C2, R2, and RC2 have a large time window and large vehicle
14
15 capacity. Table 1 summarizes the detail of the instances types that are used in the
16
17 experiments.
18
19 Table 1. Instance type.
20 Instance No. of No. of No. of Vehicle Type of Size of time
Type instances customers Vehicles Capacity customer windows
21 distribution
22 C1 9 100 25 200 C Small
23 C2 8 100 25 700 C Large
24 R1 12 100 25 200 R Small
25 R2 11 100 25 1000 R Large
RC1 8 100 25 200 RC Small
26 RC2 8 100 25 1000 RC Large
27 C is the clustered customers, R is the uniformly distributed customers, and RC is a type of R and C.
28
29 The algorithm is developed in Java and runs on a desktop machine with an Intel
30
31 Core i5 CPU, 2.6GHz/8G of RAM. The parameters used are shown in Table 2.
32
33 Table 2. Parameters
34 Parameter Value
35 Population Size 750
36 Mutation Ratio 0.1
Number of Runs 30
37 Generation 60
38 Ruin and The recreate Iteration 50000
39 Radial Ruin fraction 0.3
40 Ruin Random fraction 0.5
Neighborhood fraction 0.5
41
42
43 In order to evaluate the performance of GARRA, we compare three scenarios.
44
45 The first scenario involves comparing with different combinations of the GA and
46
47 the R&R results. The second scenario involves comparing with the four hybrid
48 algorithms of the most recently published results. This scenario is to compare the
49
50 GARRA results against other hybrid algorithms of the most recently published
51
52 results. The last scenario involves comparing with the best known results. The
53 scenario in ol es the GARRA’s results compare with the best known results.
54
55
56 4.2 Computational Results
57 The first scenario, results are shown in table 3 and table 4. Table 3 shows
58
59 GARRA’s results compare with different variants. In table 3, variant 1 represents
60
61
62 16
63
64
65
1
2
3
4 the combination of the GA, the ruin (random) method, and the recreate (best
5
6 insertion) method, variant 2 represents the combination of the GA, the ruin
7
8 (radial) method, and the recreate (best insertion) method, variant 3 represents the
9 combination of the ruin (random and radial) method and the best insertion
10
11 method, variant 4 represents the combination of the ruin (random) method, and
12
13 the recreate (best insertion) method, and variant 5 represents the combination of
14 the ruin (radial) method and the recreate (best insertion) method. “NV”
15
16 represents the number of vehicles, and “TD” represents the total tra eled
17
18 distance (solution cost). The result of each instance is obtained after 30
19 independent runs, and the lowest total traveled distance (solution cost) in the 30
20
21 independent runs is obtained. Our results showed that GARRA has the highest
22
23 count (47) of the lowest total traveled distance, out of which five instances have
24 the lowest total traveled distance when compared with other variants, and they
25
26 are indicated by “*”. The remaining 42 instances have the same best solutions.
27
28 Table 3. Comparison among different variants on the VRPTW (best solutions)
29 Instance GARRA Variant 1 Variant 2 Variant 3 Variant 4 Variant 5
30 NV TD NV TD NV TD NV TD NV TD NV TD
31 C101 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94
32 C102 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94
C103 10 828.07 10 828.07 10 828.07 10 828.07 10 828.07 10 828.07
33 C104 10 824.78 10 824.78 10 824.78 10 824.78 10 824.78 10 824.78
34 C105 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94
35 C106 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94
36 C107 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94
37 C108 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10 828.94
C109 10 828.94 10 828.94 10 837.58 10 828.94 10 828.94 10 828.94
38 C201 3 591.56 3 591.56 3 591.56 3 591.56 3 591.56 3 591.56
39 C202 3 591.56 3 591.56 3 591.56 3 591.56 3 591.56 3 591.56
40 C203 3 591.17 3 591.17 3 591.17 3 591.17 3 591.17 3 591.17
41 C204 3 590.60 3 590.60 3 590.60 3 590.6 3 590.6 3 590.6
C205 3 588.88 3 588.88 3 588.88 3 588.88 3 588.88 3 588.88
42 C206 3 588.49 3 588.49 3 588.49 3 588.49 3 588.49 3 588.49
43 C207 3 588.29 3 588.29 3 588.29 3 588.29 3 588.29 3 588.29
44 C208 3 588.32 3 588.32 3 588.32 3 588.32 3 588.32 3 588.32
45 R101 20 1642.88 20 1647.58 20 1642.88 20 1642.88 20 1642.88 20 1642.88
R102 18 1473.62 18 1473.73 18 1473.62 18 1473.07 18 1473.62 18 1472.82
46 R103 14 1213.62 14 1213.62 14 1213.62 14 1213.62 14 1213.62 14 1213.62
47 R104 11 976.61 11 976.61 11 977.55 11 976.61 11 976.61 11 976.61
48 R105 15 1360.78 15 1360.78 15 1360.78 15 1360.78 15 1361.23 15 1361.64
49 R106 13 1239.37 13 1239.37 13 1239.37 13 1239.37 13 1239.37 13 1239.37
50 R107 11 1072.12* 11 1076.44 11 1073.60 11 1074.74 11 1075.51 11 1072.92
R108 10 951.22 10 944.44 10 949.04 10 938.2 10 948.57 10 947.37
51 R109 13 1151.84 13 1151.84 13 1151.84 13 1151.84 13 1151.84 13 1154.15
52 R110 12 1072.42* 12 1080.24 12 1080.04 12 1072.42 12 1072.42 12 1078.77
53 R111 12 1053.50 12 1053.50 12 1053.50 12 1053.50 12 1053.50 12 1053.50
54 R112 10 959.97* 10 968.23 10 964.78 10 962.87 10 962.7 10 974.29
R201 8 1147.80 8 1148.09 8 1147.80 8 1147.80 8 1147.80 8 1147.80
55 R202 8 1034.35* 5 1045 7 1038.53 6 1034.97 7 1038.53 7 1037.23
56 R203 6 874.87 6 874.87 6 874.87 6 874.87 6 880.73 6 874.87
57 R204 5 735.80 4 737.06 5 735.80 5 735.80 5 735.80 5 735.80
58 R205 5 954.16 5 954.16 5 954.16 5 954.16 5 954.16 5 954.16
R206 5 884.85 5 892.08 5 885.18 5 884.85 5 884.85 5 884.85
59 R207 4 797.99 4 798 4 797.99 4 797.99 4 797.99 4 797.99
60 R208 4 705.33 4 712.67 4 705.33 4 705.33 3 706.86 4 705.33
61
62 17
63
64
65
1
2
3
4 R209 5 860.46 5 860.46 5 860.46 5 860.11 5 860.11 5 860.11
5 R210 6 904.78 5 915.43 6 904.78 6 905.21 6 910.93 6 910.15
6 R211 4 764.69 4 763.93 4 765 4 755.95 4 753.15 4 755.96
RC101 15 1623.59 15 1636.97 15 1629.75 15 1623.59 16 1629.96 15 1623.59
7 RC102 14 1461.23 15 1482.77 14 1461.23 14 1461.23 14 1461.5 14 1461.54
8 RC103 11 1262.98 12 1288.34 11 1262.02 11 1262.37 11 1275.49 12 1295.62
9 RC104 10 1135.48 11 1161.16 10 1136.27 10 1135.80 11 1150.84 10 1135.52
10 RC105 16 1518.58 16 1518.77 16 1518.60 16 1518.58 16 1518.75 16 1518.58
RC106 13 1377.35 13 1396.27 13 1379.22 13 1377.35 13 1378.33 13 1383.99
11 RC107 12 1212.83 13 1245.74 12 1228.33 12 1212.83 12 1213.78 12 1218.2
12 RC108 11 1140.73 11 1140.73 14 1213.62 11 1132.24 11 1134.85 11 1134.75
13 RC201 9 1266.11 8 1267.88 9 1266.11 9 1266.11 9 1265.56 9 1265.56
14 RC202 8 1095.64 8 1098.81 8 1095.64 8 1095.64 8 1095.64 8 1095.64
RC203 5 926.82 5 926.82 5 926.82 5 926.82 5 932.7 5 926.82
15 RC204 4 788.66 4 788.66 4 788.66 4 796.55 4 786.39 4 788.66
16 RC205 7 1157.55 7 1157.55 7 1157.55 7 1157.55 7 1157.55 7 1157.55
17 RC206 7 1054.61 5 1063.53 5 1077.09 5 1063.53 7 1054.61 7 1054.61
18 RC207 6 966.08* 6 971.21 6 971.21 5 970.78 6 974.94 6 971.21
19 RC208 4 779.31 4 780.72 4 778.93 4 778.93 4 780.72 4 778.93
Count 47 27 36 43 37 39
20 TD is the total distance, and NV is the number of vehicles.
21
22
23 In Table 4 “MNV” represents the mean number o ehicles “MTD”
24 represents the mean of the total traveled distance (solution cost) and “ td De ”
25
26 represents standard deviation. The variants have allocated 30 independent runs
27
28 for each instance. The lowest best solution for each of the 30 independent runs is
29 totaled and averaged over the 30 independent runs. Our results show that
30
31 GARRA has the highest count (5) of the best average total traveled distance in
32
33 five instance types (C1, C2, R1, R2, and RC1). It also shows competitive results
34 on the standard deviation in three instance type (C1, C2, and R1).
35
36
37 In the second scenario, the results are shown in table 5 and 6. Our results in
38 Table 5 show that GARRA has the highest count (42) of the lowest traveled
39
40 distance when compared with the other four hybrid algorithms after 30
41
42 independent runs. The highest count of the lowest traveled distance is mainly
43 contributed by five sets (C2, R1, R2, RC1, and RC2). In Table 6, the average
44
45 best solutions of four hybrid algorithms are calculated after 30 independent runs.
46
47 We observe our results has the lowest average best solution values (C2 - 589.86,
48 R1 - 1187.34, R2 - 880.66, RC1 - 1355.24 and RC2 - 1009.53) and standard
49
50 deviations (C2 -0 , R2 - 2.54 and RC2 - 6.02). This clearly indicates that our
51
52 proposed algorithm outperforms the four hybrid algorithms of the most recently
53 published results with regards to the lowest traveled distances, average best
54
55 solutions, and standard deviations. Based on the standard deviation results, it
56
57 shows that our results after each independent runs are quite reliable.
58
59
60
61
62 18
63
64
65
1
2
3
4 In the last scenario, we observe our results have the highest count of best
5
6 known solution (40) and out of which, 7 instances outperform the best known
7
8 solutions. We also observe that our results show 52 instances (25 – average best
9 known solution results not available, and 27 – exceed average best known
10
11 solutions) outperform the average best known solutions. Based on these three
12
13 scenario results, our proposed algorithm performs better than other comparisons.
14
15 5. Conclusions
16
17 A novel hybrid algorithm is proposed in this paper, and it consists of the GA
18
19 and the R&R algorithm. Hence, it termed as GARRA. This ruin method is made
20
up of two strategies, and they are called the random and radial strategy. Random
21
22 strategy chooses a customer to remove randomly, and this process repeated until
23
24 removal size is achieved. The radial strategy is based on a randomly selected
25
customer, and a list of customers is extracted from the neighborhood list. Each
26
27 customer in the neighborhood list is removed until the removal size is achieved.
28
29 The removed customers are scrambled and reinsert back using the best insertion
30
strategy. The experiments are performed, and the results are compared with the
31
32 best-known solutions, the four hybrid algorithms of the most recently published
33
34 results, and the ariants using olomon’s VRPTW instances ith customers.
35
36
The results show our proposed algorithm is effective and reliable. For future
37 research, we would like to explore and put to tests our algorithm on areas such
38
39 as large dataset, multi-objective VRPTW, and the variant of VRP.
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 19
63
64
65
1
2
3
4
5
6
7
8 Table 4. Comparison among different variants on the VRPTW (Average of best solutions after 30 independent runs)
9 GARRA Variant 1 Variant 2 Variant 3 Variant 4 Variant 5
10 Std Std Std Std Std Std
Instance MNV MTD MNV MTD MNV MTD MNV MTD MNV MTD MNV MTD
Dev Dev Dev Dev Dev Dev
11 C101 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00
12 C102 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00
13 C103 10.00 828.07 0.00 10.00 828.07 0.00 10.00 828.70 1.44 10.00 828.07 0.00 10.00 828.07 0.00 10.00 828.57 1.32
14 C104 10.00 824.78 0.00 10.00 825.59 4.46 10.00 829.17 6.92 10.00 824.78 0.00 10.00 825.59 4.47 10.00 834.34 10.61
C105 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00
15 C106 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00
16 C107 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.94 0.00
17 C108 10.00 828.94 0.00 10.00 828.94 0.00 10.00 829.07 0.73 10.00 828.94 0.00 10.00 828.94 0.00 10.00 828.96 0.14
18 C109 10.00 828.94 0.00 10.00 828.94 0.00 10.00 864.40 23.24 10.00 828.94 0.00 10.00 828.94 0.00 10.00 879.39 26.51
19 Average 10.00 828.38 0.00 10.00 828.47 0.50 10.00 832.89 3.59 10.00 828.38 0.00 10.00 828.47 0.50 10.00 835.11 4.29
20 C201 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00
21 C202 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00 3.00 591.56 0.00
22 C203 3.00 591.17 0.00 3.00 591.17 0.00 3.00 591.17 0.00 3.00 591.17 0.00 3.00 591.17 0.00 3.00 591.17 0.00
23 C204 3.00 590.60 0.00 3.00 590.60 0.00 3.00 590.60 0.00 3.00 590.60 0.00 3.00 590.60 0.00 3.00 592.67 11.33
C205 3.00 588.88 0.00 3.00 588.88 0.00 3.00 588.88 0.00 3.00 588.88 0.00 3.00 588.88 0.00 3.00 588.88 0.00
24 C206 3.00 588.49 0.00 3.00 588.49 0.00 3.00 588.49 0.00 3.00 588.49 0.00 3.00 588.49 0.00 3.00 588.49 0.00
25 C207 3.00 588.29 0.00 3.00 588.29 0.00 3.00 588.29 0.00 3.00 588.29 0.00 3.00 588.29 0.00 3.00 588.29 0.00
26 C208 3.00 588.32 0.00 3.00 588.32 0.00 3.00 588.32 0.00 3.00 588.32 0.00 3.00 588.32 0.00 3.00 588.32 0.00
27 Average 3.00 589.86 0.00 3.00 589.86 0.00 3.00 589.86 0.00 3.00 589.86 0.00 3.00 589.86 0.00 3.00 590.12 1.42
28 R101 19.93 1644.61 3.21 20.00 1647.58 7.47 19.97 1645.52 3.46 19.83 1645.52 3.98 19.73 1,646.87 5.90 20.00 1645.28 2.72
29 R102 18.00 1474.15 0.59 18.00 1475.16 1.39 18.00 1473.90 0.16 18.00 1473.99 0.41 18.03 1,475.64 3.96 18.00 1473.96 0.50
30 R103 14.00 1218.86 3.73 14.20 1220.13 5.56 14.00 1220.09 2.81 14.00 1220.26 3.09 14.00 1,219.76 3.01 14.00 1220.32 3.26
31 R104 11.00 985.39 8.73 11.23 987.57 13.54 10.87 982.78 5.60 11.00 988.11 7.25 11.63 1,000.47 7.90 11.00 993.37 11.18
R105 15.13 1368.65 7.91 15.37 1367.59 4.23 15.03 1369.02 6.53 15.30 1371.26 8.09 15.30 1,370.28 6.27 15.10 1373.41 7.92
32
R106 13.03 1244.42 5.58 13.13 1245.89 7.21 13.03 1244.07 5.61 13.07 1247.03 7.83 13.13 1,247.05 8.02 13.07 1247.75 6.25
33 R107 11.20 1078.82 4.81 11.57 1085.91 8.78 11.10 1078.28 5.56 11.23 1083.37 7.22 11.50 1,084.60 5.89 11.20 1082.77 7.25
34 R108 10.17 952.72 1.99 10.30 954.73 6.40 10.07 954.95 6.96 10.43 955.81 7.15 10.57 959.01 8.05 10.37 962.87 8.99
35 R109 12.83 1156.43 5.41 12.90 1157.21 10.10 12.93 1155.68 9.05 12.83 1156.41 7.49 12.80 1,157.71 7.89 12.87 1172.26 16.03
36 R110 11.97 1086.88 12.60 12.03 1094.58 8.89 11.97 1092.69 13.19 11.87 1094.01 11.04 12.03 1,092.99 10.85 11.90 1107.27 11.05
R111 11.90 1058.89 6.76 11.93 1057.91 4.35 12.00 1055.77 5.38 11.97 1060.80 8.03 12.03 1,063.67 11.00 11.93 1065.10 8.04
37 R112 10.47 978.20 10.81 10.97 974.70 5.71 10.20 982.56 15.63 10.70 978.55 9.27 10.90 978.84 7.97 10.50 1001.11 17.67
38 Average 13.30 1187.34 6.01 13.47 1189.08 6.97 13.26 1187.94 6.66 13.35 1189.59 6.74 13.47 1,191.41 7.23 13.33 1195.46 8.40
39
40
41
42
43
44
45
46
20
47
48
49
1
2
3
4
5
6
7
8 R201 7.97 1148.49 1.68 7.80 1150.70 4.11 7.97 1150.48 5.10 7.73 1152.84 5.43 7.07 1,160.69 7.31 7.53 1158 9.54
9 R202 7.03 1038.60 2.97 5.60 1047.17 2.36 6.50 1040.68 2.74 6.30 1045.60 6.41 5.70 1,047.86 4.85 6.2 1046.7 6.14
R203 5.93 875.22 1.34 6.00 876.46 2.93 5.97 875.03 0.90 5.83 881.21 13.14 5.40 902.79 16.16 5.77 883.3 13.67
10 R204 4.93 736.61 2.89 4.00 737.06 0.00 4.93 735.95 0.59 4.33 746.26 6.41 4.17 751.52 10.18 4.4 745.07 6.61
11 R205 5.17 955.57 2.44 5.00 954.89 2.78 5.00 954.16 0.00 4.97 962.22 11.35 4.93 970.23 12.66 4.93 964.81 12.59
12 R206 4.90 886.40 2.80 5.00 892.08 0.00 4.93 887.89 9.32 4.70 896.71 10.06 4.43 898.35 8.78 4.67 895.04 9
13 R207 4.00 797.99 0.00 4.00 800.09 2.61 4.00 800.18 5.78 3.77 809.54 12.14 3.90 814.33 12.66 3.9 806.93 10.57
R208 3.83 711.74 6.79 4.00 714.87 0.96 3.90 707.15 4.52 3.33 718.59 5.65 3.23 722.61 5.45 3.57 718.84 5.24
14 R209 4.90 861.15 1.86 5.23 864.27 5.96 4.97 860.78 1.00 4.90 870.71 10.72 4.87 871.76 9.13 4.8 869.74 10.76
15 R210 5.70 910.74 4.80 5.00 915.68 0.64 5.97 906.29 3.09 5.20 921.08 10.35 5.03 927.83 8.42 5.3 922.63 8.95
16 R211 4.00 764.77 0.32 4.00 764.94 0.88 3.27 772.10 8.32 3.33 793.80 25.14 3.20 805.81 18.83 3.3 790.91 17.07
17 Average 5.31 880.66 2.54 5.06 883.47 2.11 5.22 880.97 3.76 4.94 890.78 10.62 4.72 897.62 10.40 4.94 891.09 10.01
18
RC101 15.17 1629.38 6.91 8.00 1644.26 8.44 15.13 1635.91 4.82 15.43 1635.92 9.83 15.90 1,644.54 8.70 15.37 1640.55 13.45
19 RC102 14.50 1478.07 8.80 15.00 1485.24 3.35 14.20 1473.95 12.23 14.50 1480.98 10.07 14.77 1,480.99 6.02 14.53 1485.52 8.28
20 RC103 11.57 1289.43 20.76 12.40 1316.69 22.67 11.53 1286.12 24.10 11.97 1306.41 21.16 12.33 1,316.19 22.05 12 1319.97 12.51
21 RC104 10.30 1152.33 14.33 11.40 1176.34 9.75 10.30 1149.54 15.11 10.60 1159.20 13.75 11.17 1,168.64 7.93 10.7 1171.98 18.16
22 RC105 15.57 1529.55 14.73 15.40 1538.68 18.34 15.77 1522.46 6.20 15.43 1528.76 13.48 15.60 1,546.58 16.34 15.3 1524.47 5.92
RC106 13.23 1390.18 11.91 13.80 1405.91 7.12 13.00 1390.00 13.06 13.27 1394.50 12.80 13.57 1,400.25 11.10 13.33 1412.47 15.58
23 RC107 10.30 1232.84 17.33 12.40 1260.57 11.12 12.03 1241.88 15.08 12.23 1233.40 14.21 12.60 1,246.53 13.13 12.2 1254.67 18.24
24 RC108 11.00 1140.13 4.99 11.40 1155.28 20.51 14.20 1220.13 5.56 11.03 1147.52 12.42 11.43 1,150.98 10.51 11 1156.7 16.32
25 Average 12.71 1355.24 12.47 12.48 1372.87 12.66 13.27 1365.00 12.02 13.06 1360.84 13.47 13.42 1,369.34 11.97 13.05 1370.79 13.56
26
RC201 8.73 1270.86 5.65 8.00 1268.76 3.31 8.60 1271.13 6.73 8.30 1274.60 5.50 8.27 1,277.13 7.67 8.4 1278.66 7.24
27 RC202 7.67 1098.23 3.85 7.27 1103.46 3.60 7.97 1096.31 2.09 7.23 1104.16 8.78 6.93 1,106.37 7.71 7.23 1103.66 6.66
28 RC203 5.00 926.82 0.00 4.97 928.04 5.70 5.00 926.82 0.00 4.53 945.77 11.09 4.33 952.98 7.83 4.6 941.64 11.2
29 RC204 3.40 796.00 3.89 3.80 793.25 4.55 3.40 795.11 5.01 3.10 799.13 1.48 3.20 799.49 4.16 3.27 799.23 3.93
30 RC205 7.00 1157.59 0.06 7.00 1157.61 0.06 7.00 1158.73 2.99 7.00 1159.84 8.10 7.10 1,170.89 17.13 7.07 1163.48 8.52
31 RC206 6.70 1059.14 7.38 5.03 1065.19 2.96 5.17 1079.80 6.93 5.73 1078.70 9.29 5.63 1,079.07 12.89 5.83 1083.47 14.14
RC207 5.37 980.42 11.40 5.67 978.04 4.33 5.63 977.20 9.57 5.10 992.31 18.69 4.83 1,007.76 25.61 5.27 987.02 9.96
32 RC208 4.00 787.17 15.89 4.00 781.00 1.58 4.00 779.88 2.22 3.87 805.75 30.79 3.60 838.82 40.04 3.9 809.69 28.65
33 Average 5.98 1009.53 6.02 5.72 1009.42 3.26 5.85 1010.62 4.44 5.61 1020.03 11.72 5.49 1,029.06 15.38 5.70 1020.86 11.29
34 Count 5 3 2 3 1 1 2 2 1 2 0 0
35
36
37
38
39
40
41
42
43
44
45
46
21
47
48
49
1
2
3
4
5
6
7
8 Table 5. Comparison among four hybrid algorithms (best solutions)
9 LGA GA-PSO Tabu-ABC ESS-PSO
10 (Ursani et al., 2011a) (Xu et al., 2015) (D. Zhang et al., 2017) [24] (J. Zhang et al., 2018) [25] GARRA
11 Instances TD NV TD NV TD NV TD NV TD NV
C101 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
12 C102 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
13 C103 828.06 10 828.06 10 828.07 10 828.06 10 828.07 10
14 C104 824.78 10 824.78 10 824.78 10 824.78 10 824.78 10
15 C105 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
C106 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
16 C107 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
17 C108 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
18 C109 828.94 10 828.94 10 828.94 10 828.94 10 828.94 10
19 C201 591.56 3 591.56 3 591.56 3 591.56 3 591.56 3
20 C202 591.56 3 591.56 3 591.56 3 591.56 3 591.56 3
C203 591.17 3 591.17 3 591.17 3 591.17 3 591.17 3
21 C204 590.6 3 590.6 3 594.89 3 590.6 3 590.6 3
22 C205 588.88 3 588.88 3 588.88 3 588.88 3 588.88 3
23 C206 588.49 3 588.49 3 588.49 3 588.49 3 588.49 3
24 C207 588.29 3 588.29 3 588.29 3 588.29 3 588.29 3
C208 588.32 3 588.32 3 588.32 3 588.32 3 588.32 3
25 R101 1646.9 20 1642.87 20 1644.7 20 1642.88 20 1642.88 20
26 R102 1474.28 18 1472.62 18 1473.73 18 1472.92 18 1473.62 18
27 R103 1222.68 15 1213.62 14 1213.62 14 1213.73 14 1213.62 14
28 R104 989.53 11 982.01 10 991.91 11 976.61 11 976.61 11
R105 1382.78 16 1360.78 15 1366.58 15 1360.76 15 1360.78 15
29 R106 1250.11 13 1241.52 13 1249.22 13 1239.37 13 1239.37 13
30 R107 1083.42 12 1076.13 11 1086.22 11 1073.34 11 1072.12 11
31 R108 952.44 10 948.57 10 965.52 10 950.59 10 951.22 10
32 R109 1160.69 13 1151.84 13 1155.38 13 1151.84 13 1151.84 13
33 R110 1080.69 12 1080.36 11 1106.03 12 1073.46 12 1072.42 12
R111 1057.64 12 1053.5 12 1073.82 11 1053.5 12 1053.5 12
34 R112 965 10 960.68 10 981.43 10 953.62 10 959.97 10
35 R201 1156.29 9 1148.48 9 1185.79 6 1152.63 8 1147.8 8
36 R202 1042.25 8 1049.74 7 1049.72 5 1036.3 6 1034.35 8
37 R203 877.29 6 900.08 5 899.36 5 875.21 6 874.87 6
R204 736.52 4 772.33 4 743.29 5 773.43 4 735.8 5
38 R205 960.35 6 970.89 6 954.48 5 954.16 5 954.16 5
39
40
41
42
43
44
45
46
22
47
48
49
1
2
3
4
5
6
7
8 R206 894.19 6 898.91 5 887.9 4 884.25 5 884.85 5
9 R207 800.79 4 814.78 3 809.51 4 801.15 4 797.99 4
R208 706.86 3 723.61 3 711.59 3 706.86 3 705.33 4
10 R209 860.63 5 879.53 6 867.47 4 860.11 5 860.46 5
11 R210 948.82 5 932.89 7 920.06 5 912.8 5 904.78 6
12 R211 762.23 5 808.56 4 767.1 4 757.6 4 764.69 4
13 RC101 1660.55 16 1623.58 15 1646.65 16 1639.75 16 1623.59 15
RC102 1494.92 15 1466.84 14 1484.48 15 1461.33 14 1461.23 14
14 RC103 1276.05 12 11 1274.85 11 1277.55 12 1262.98 11
1261.67
15 RC104 1151.63 10 1135.48 10 1145.79 10 1138.13 10 1135.48 10
16 RC105 1556.21 16 1618.55 16 1528.61 15 1519.46 15 1518.58 16
17 RC106 1402.25 14 1377.35 13 1399.17 13 1378.62 13 1377.35 13
18 RC107 1212.83 12 1212.83 12 1235.54 12 1212.83 12 1212.83 12
RC108 1133.25 11 1117.53 11 1138.95 11 1118.57 11 1140.73 11
19 RC201 1281.63 10 1387.55 8 1289.94 7 1265.56 9 1266.11 9
20 rRC202 1103.47 8 1148.84 9 1118.66 5 1096.53 8 1095.64 8
21 RC203 942 6 945.96 5 940.55 5 926.82 5 926.82 5
22 RC204 796.12 4 798.41 3 792.98 4 786.38 4 788.66 4
RC205 1168.89 8 1161.81 7 1187.48 6 1157.55 7 1157.55 7
23 RC206 1060.52 7 1059.89 7 1089.14 5 1057.83 6 1054.61 7
24 RC207 970.97 7 976.4 7 987.88 5 966.37 6 966.08 6
25 RC208 782.7 5 795.39 5 807.83 4 779.31 4 779.31 4
26 Count 18 28 16 34 42
27 TD is the total distance, and NV is the number of vehicles
28
29
30 Table 6. Comparison among four hybrid algorithms (average best solutions)
31 LGA GA-PSO Tabu-ABC ESS-PSO GARRA
32 (Ursani et al., 2011a) (Xu et al., 2015) (D. Zhang et al., 2017) [24] (J. Zhang et al., 2018) [25]
33 Std Std Std Std Std
MNV MTD
Instances MNV MTD Dev MNV MTD Dev MNV MTD Dev MNV MTD Dev Dev
34
C101 N/A 828.94 0 10.1 842.60 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
35 C102 N/A 828.94 0 10.0 828.94 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
36 C103 N/A 828.07 0 10.0 828.06 N/A 10.0 828.07 0 10.0 828.06 0 10.0 828.07 0
37 C104 N/A 824.78 0 10.0 824.78 N/A 10.0 827.93 5.57 10.0 824.78 0 10.0 824.78 0
38 C105 N/A 828.94 0 10.1 841.60 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
C106 N/A 828.94 0 10.2 874.62 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
39
40
41
42
43
44
45
46
23
47
48
49
1
2
3
4
5
6
7
8 C107 N/A 828.94 0 10.1 842.70 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
9 C108 N/A 828.94 0 10.0 841.29 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
C109 N/A 828.94 0 10.0 828.94 N/A 10.0 828.94 0 10.0 828.94 0 10.0 828.94 0
10 Average 828.38 0 839.28 828.73 0.62 828.38 0 828.38 0
11
12 C201 N/A 595.43 11.86 3.2 598.87 N/A 3.0 591.56 0 3.0 591.56 0 3.0 591.56 0
13 C202 N/A 593.23 9.14 3.0 591.56 N/A 3.0 591.56 0 3.0 591.56 0 3.0 591.56 0
C203 N/A 594.75 14.67 3.0 604.69 N/A 3.0 591.31 3.66 3.0 591.17 0 3.0 591.17 0
14 C204 N/A 591.95 6.79 3.1 628.49 N/A 3.0 603.16 10.12 3.0 592.47 3.12 3.0 590.60 0
15 C205 N/A 588.88 0 3.1 599.01 N/A 3.0 588.88 0 3.0 588.88 0 3.0 588.88 0
16 C206 N/A 588.49 0 3.0 588.49 N/A 3.0 588.49 0 3.0 588.49 0 3.0 588.49 0
17 C207 N/A 588.29 0 3.0 599.39 N/A 3.0 588.29 0 3.0 588.29 0 3.0 588.29 0
18 C208 N/A 588.32 0 3.0 599.79 N/A 3.0 588.32 0 3.0 588.32 0 3.0 588.32 0
Average 591.17 5.31 601.29 591.45 1.72 590.09 0.39 589.86 0
19
20 R101 N/A 1671.79 13.74 19.5 1645.83 N/A 20.0 1645.82 5.48 20.0 1650.11 7.35 19.9 1644.61 3.21
21 R102 N/A 1502.38 15.39 17.8 1477.14 N/A 18.1 1463.91 4 18.0 1478.03 6.14 18.0 1474.15 0.59
22 R103 N/A 1244.01 14.87 13.8 1239.01 N/A 14.9 1223.27 2.41 14.0 1222.20 4.16 14.0 1218.86 3.73
R104 N/A 1009.09 14.87 9.7 992.52 N/A 11.3 1002.54 6.04 11.0 994.87 13.05 11.0 985.39 8.73
23 R105 N/A 1405.33 15.26 15.0 1366.42 N/A 15.8 1372.01 5.45 15.2 1365.98 5.8 15.1 1368.65 7.91
24 R106 N/A 1278.32 20.53 12.6 1247.29 N/A 13.4 1256.45 4.76 13.0 1250.16 10.13 13.0 1244.42 5.58
25 R107 N/A 1106.74 12.36 10.7 1088.49 N/A 12.0 1097.41 4.46 11.0 1082.16 6.38 11.2 1078.82 4.81
26 R108 N/A 965.89 8.48 9.6 955.82 N/A 10.8 965.82 5.91 11.0 973.57 10.48 10.2 952.72 1.99
R109 N/A 1187.91 16.64 12.4 1164.71 N/A 13.0 1163.07 7.2 13.0 1170.23 11.31 12.8 1156.43 5.41
27 R110 N/A 1105.71 12.23 10.7 1098.14 N/A 12.2 1100.83 12.0 1098.60 12.41 12.0 12.6
8.51 1086.88
28 R111 N/A 1086.66 17.42 11.6 1069.14 N/A 12.0 1076.61 7.16 12.0 1063.01 7.1 11.9 1058.89 6.76
29 R112 N/A 977.82 7.9 9.9 968.58 N/A 10.7 978.16 6.47 11.0 979.18 12.33 10.5 978.20 10.81
30 Average 1211.80 14.141 1192.76 1195.49 5.65 1194.01 8.887 1187.34 6.011
31
R201 N/A 1176.43 14.46 8.4 1178.39 N/A 6.1 1178.90 4.85 7.1 1170.79 10.04 8.0 1148.49 1.68
32 R202 N/A 1066.69 14.21 5.7 1081.57 N/A 5.1 1053.44 7.88 5.7 1046.53 6.22 7.0 1038.60 2.97
33 R203 N/A 899.00 14.61 4.6 922.71 N/A 4.9 896.05 7.77 5.6 886.40 8.55 5.9 875.22 1.34
34 R204 N/A 754.83 11.15 3.4 801.47 N/A 4.0 758.13 6.5 4.0 751.36 11.71 4.9 736.61 2.89
35 R205 N/A 985.74 10.43 5.1 977.95 N/A 4.9 975.83 7.61 5.2 971.60 12.3 5.2 955.57 2.44
R206 N/A 911.14 11.94 4.0 903.89 N/A 4.3 908.18 6.76 4.7 894.39 8.35 4.9 886.40 2.8
36 R207 N/A 827.36 13.83 3.0 836.67 N/A 4.0 826.74 11.31 3.8 821.15 13.58 4.0 797.99 0
37 R208 N/A 721.71 8.35 2.5 725.50 N/A 3.4 732.31 6.99 3.0 725.99 5.01 3.8 711.74 6.79
38 R209 N/A 884.21 11.73 5.1 891.82 N/A 4.9 882.22 6.71 4.7 875.71 9.72 4.9 861.15 1.86
39 R210 N/A 984.82 9.37 6.2 937.89 N/A 4.9 938.63 9.31 5.3 930.26 10.9 5.7 910.74 4.8
40
41
42
43
44
45
46
24
47
48
49
1
2
3
4
5
6
7
8 R211 N/A 774.44 8.85 3.9 824.99 N/A 4.0 781.23 7.61 3.7 788.82 24.25 4.0 764.77 0.32
9 Average 907.85 11.721 916.62 902.88 7.573 896.64 10.97 880.66 2.54
10 RC101 N/A 1698.53 22.77 15.1 1645.18 N/A 16.3 1656.01 6.93 16.0 1660.48 7.2 15.2 1629.38 6.91
11 RC102 N/A 1519.53 16.42 13.5 1487.10 N/A 14.8 1488.79 7.29 14.8 1486.56 7.4 14.5 1478.07 8.8
12 RC103 N/A 1330.47 21.8 11.0 1262.04 N/A 12.1 1298.32 18.5 11.9 1314.67 12 11.6 1289.43 20.76
13 RC104 N/A 1164.73 12.52 10.0 1135.49 N/A 11.0 1168.13 5.43 10.1 1155.05 7.81 10.3 1152.33 14.33
RC105 N/A 1581.81 12.82 15.4 1621.16 N/A 16.2 1554.79 8.5 15.8 1566.24 15.72 15.6 1529.55 14.73
14 RC106 N/A 1432.26 15.15 12.3 1392.80 N/A 14.0 1413.38 13.1 1406.79 16.83 13.2 11.91
7.41 1390.18
15 RC107 N/A 1252.72 20.88 12.0 1226.01 N/A 12.5 1256.98 11.9 12.0 1236.86 16.25 10.3 1232.84 17.33
16 RC108 N/A 1141.46 9.08 10.7 1126.40 N/A 11.2 1149.65 9.76 11.0 1140.28 7.16 11.0 1140.13 4.99
17 Average 1390.19 16.43 1362.02 1373.26 9.47 1370.87 11.29 1355.24 12.5
18
RC201 N/A 1296.62 7.56 7.2 1391.43 N/A 6.9 1284.59 5.71 8.1 1285.16 9.05 8.7 1270.86 5.65
19 RC202 N/A 1124.85 10.75 7.9 1173.34 N/A 5.8 1122.97 5.25 7.4 1111.22 9.33 7.7 1098.23 3.85
20 RC203 N/A 960.11 11.78 4.2 990.67 N/A 5.1 951.30 6.33 4.8 944.69 7.28 5.0 926.82 0
21 RC204 N/A 808.39 6.59 3.2 798.67 N/A 4.0 809.09 8.13 4.0 797.47 7.16 3.4 796.00 3.89
22 RC205 N/A 1183.86 8.15 6.9 1187.56 N/A 7.0 1172.80 16.34 7.4 1173.06 12.21 7.0 1157.59 0.06
RC206 N/A 1086.19 10.5 6.0 1092.22 N/A 5.5 1082.93 8.4 5.0 1082.95 9.86 6.7 1059.14 7.38
23 RC207 N/A 991.02 9.75 6.4 995.65 N/A 5.4 998.46 9.82 5.2 985.59 9.64 5.4 980.42 11.4
24 RC208 N/A 804.90 11.79 4.8 807.27 N/A 4.7 809.23 8.65 4.3 808.06 23.62 4.0 787.17 15.89
25 Average 1031.99 9.61 1054.60 1028.92 8.58 1023.53 11.02 1009.53 6.02
26 MNV is the average result of the number of vehicles (30 runs). MTD is the average result of the total distance (30 runs). Std Dev is the standard deviation of each instance. Variant 1 is the combination
27 of the GA, the ruin (random) method, and the recreate (best insertion) method. Variant 2 is the combination of the GA, the ruin (radial) method, and the recreate (best insertion) method. Variant 3 is the
28 combination of the ruin (random and radial) method and the best insertion method. Variant 4 is the combination of the ruin (random) method and the recreate (best insertion) method and variant 5 is the
29
combination of the ruin (radial) method, and the recreate (best insertion) method.,
30
31
32
33 Table 7. Comparison of the GARRA’s best results against the best no n solution
34 NV BKS NV TD BKS TD Average
35 Instances NV BKS Ref NV TD
Average Average Average Average %Gap %Gap
36 C101 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
37 C102 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
C103 10 828.06 N/A N/A (Rochat, 1995) [12] 10 828.07 10.00 828.07 0.00 N/A
38 C104 10 824.78 N/A N/A (Rochat, 1995) [12] 10 824.78 10.00 824.78 0.00 N/A
39
40
41
42
43
44
45
46
25
47
48
49
1
2
3
4
5
6
7
8 C105 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
9 C106 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
C107 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
10 C108 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
11 C109 10 828.94 N/A N/A (Rochat, 1995) [12] 10 828.94 10.00 828.94 0.00 N/A
12 C201 3 591.56 N/A N/A (Rochat, 1995) [12] 3 591.56 3.00 591.56 0.00 N/A
13 C202 3 591.56 N/A N/A (Rochat, 1995) [12] 3 591.56 3.00 591.56 0.00 N/A
C203 3 591.17 N/A N/A (Rochat, 1995) [12] 3 591.17 3.00 591.17 0.00 N/A
14 C204 3 590.60 N/A N/A (Rochat, 1995) [12] 3 3.00 0.00 N/A
590.60 590.60
15 C205 3 588.88 N/A N/A (Rochat, 1995) [12] 3 588.88 3.00 588.88 0.00 N/A
16 C206 3 588.49 N/A N/A (Rochat, 1995) [12] 3 588.49 3.00 588.49 0.00 N/A
17 C207 3 588.29 N/A N/A (Rochat, 1995) [12] 3 588.29 3.00 588.29 0.00 N/A
18 C208 3 588.32 N/A N/A (Rochat, 1995) [12] 3 588.32 3.00 588.32 0.00 N/A
R101 18 1613.59 N/A 1674.75 (K. C. Tan et al., 2006) [8] 20 1642.88 19.93 1644.61 0.02 -0.02
19 R102 18 1454.68 N/A 1527.11 (K. C. Tan et al., 2006) [8] 18 1473.62 18.00 1474.15 0.01 -0.04
20 R103 14 1213.62 N/A N/A (Rochat, 1995) [12] 14 1213.62 14.00 1218.86 0.00 N/A
21 R104 10 974.24 N/A 1019.37 (K. C. Tan et al., 2006) [8] 11 976.61 11.00 985.39 0.00 -0.03
22 R105 15 1360.78 15.91 1371.52 (S. Jung et al., 2002) [13] 15 1360.78 15.13 1368.65 0.00 0.00
R106 13 1240.47 13.59 1252.44 (S. Jung et al., 2002) [13] 13 1239.37* 13.03 1244.42 0.00 -0.01
23 R107 11 1072.41 11.73 1083.10 (S. Jung et al., 2002) [13] 11 1072.12* 11.20 1078.82 0.00 0.00
24 R108 10 947.55 10.74 959.65 (S. Jung et al., 2002) [13] 10 951.22 10.17 952.72 0.00 -0.01
25 R109 13 1101.37 N/A N/A (Cordeau et al., 2001) [2] 13 1151.84 12.83 1156.43 0.05 N/A
26 R110 12 1072.41 12 1082.72 (S. Jung et al., 2002) [13] 12 1072.42 11.97 1086.88 0.00 0.00
R111 12 1053.50 12 1063.21 (S. Jung et al., 2002) [13] 12 1053.50 11.90 1058.89 0.00 0.00
27 R112 10 953.63 N/A N/A (Rochat, 1995) [12] 10 959.97 10.47 0.01 N/A
978.20
28 R201 9 1148.48 N/A N/A (K. C. Tan et al., 2006) [8] 8 1147.80* 7.97 1148.49 0.00 N/A
29 R202 8 1034.35 7.4 1038.40 (S. Jung et al., 2002) [13] 8 1034.35 7.03 1038.60 0.00 0.00
30 R203 6 874.87 6 875.87 (S. Jung et al., 2002) [13] 6 874.87 5.93 875.22 0.00 0.00
31 R204 4 736.52 4.46 741.41 (S. Jung et al., 2002) [13] 5 735.80* 4.93 736.61 0.00 -0.01
R205 5 954.16 N/A N/A (K. C. Tan et al., 2006) [8] 5 954.16 5.17 955.57 0.00 N/A
32 R206 5 879.89 5.33 892.55 (S. Jung et al., 2002) [13] 5 884.85 4.90 886.40 0.01 -0.01
33 R207 4 799.86 4.66 814.05 (S. Jung et al., 2002) [13] 4 797.99* 4.00 797.99 0.00 -0.02
34 R208 4 705.45 3.5 714.37 (S. Jung et al., 2002) [13] 4 705.33* 3.83 711.74 0.00 0.00
35 R209 5 859.39 5.26 867.52 (S. Jung et al., 2002) [13] 5 860.46 4.90 861.15 0.00 -0.01
R210 5 910.70 6.1 918.37 (S. Jung et al., 2002) [13] 6 904.78* 5.70 910.74 -0.01 -0.01
36 R211 4 755.96 4.7 765.64 (S. Jung et al., 2002) [13] 4 764.69 4.00 764.77 0.01 0.00
37 RC101 15 1623.58 N/A N/A (Rochat, 1995) [12] 15 1623.59 15.17 1629.38 0.00 N/A
38 RC102 14 1461.23 14.65 1480.82 (S. Jung et al., 2002) [13] 14 1461.23 14.50 1478.07 0.00 0.00
39 RC103 11 1249.86 N/A N/A (Shaw & Ilog, 1998) [15] 11 1262.98 11.57 1289.43 0.01 N/A
40
41
42
43
44
45
46
26
47
48
49
1
2
3
4
5
6
7
8 RC104 10 1135.48 N/A N/A (Cordeau et al., 2001) [2] 10 1135.48 10.30 1152.33 0.00 N/A
9 RC105 16 1518.58 15.96 1540.66 (S. Jung et al., 2002) [13] 16 1518.58 15.57 1529.55 0.00 -0.01
RC106 13 1371.69 N/A 1403.89 (K. C. Tan et al., 2006) [8] 13 1377.35 13.23 1390.18 0.00 -0.01
10 RC107 12 1212.83 12.03 1227.81 (S. Jung et al., 2002) [13] 12 1212.83 10.30 1232.84 0.00 0.00
11 RC108 11 1117.53 11 1135.81 (S. Jung et al., 2002) [13] 11 1140.73 11.00 1140.13 0.02 0.00
12 RC201 6 1134.91 N/A 1337.21 (K. C. Tan et al., 2006) [8] 9 1266.11 8.73 1270.86 0.12 -0.05
13 RC202 8 1095.64 7.84 1101.03 (S. Jung et al., 2002) [13] 8 1095.64 7.67 1098.23 0.00 0.00
RC203 5 928.51 5.29 943.81 (S. Jung et al., 2002) [13] 5 926.82* 5.00 926.82 0.00 -0.02
14 RC204 4 786.38 4.05 799.19 (S. Jung et al., 2002) [13] 4 788.66 3.40 0.00 0.00
796.00
15 RC205 7 1157.55 7.8 1164.43 (S. Jung et al., 2002) [13] 7 1157.55 7.00 1157.59 0.00 -0.01
16 RC206 7 1054.61 6.39 1067.49 (S. Jung et al., 2002) [13] 7 1054.61 6.70 1059.14 0.00 -0.01
17 RC207 6 966.08 6.07 975.24 (S. Jung et al., 2002) [13] 6 966.08 5.37 980.42 0.00 0.01
18 RC208 4 779.31 4.98 791.35 (S. Jung et al., 2002) [13] 4 779.31 4.00 787.17 0.00 -0.01
Count 40 52
19 TD is the total distance. NV is the number of the vehicles, N/A is information not available, BKS is the best-known solution and BKS %Gap = (TD – BKS) / BKS and TD average %Gap = (TD average
20 – BKS average) / BKS average. * represents the GARRA’s result is better.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
27
47
48
49
1
2
3
4
5
6 Acknowledgements
7
8 These experiments are performed at the Universiti Tun u Abdul Rahman’s (UTAR)
9 Numerical and High-performance Computing lab, MIMOS lab, and Traffic Equipment
10
11 lab.
12
13
References
14
15 [1] P. Avella, M. Boccia, I. Vasilyev, Computers & Operations Research Lifted
16
17 and Local Reachability Cuts for the Vehicle Routing Problem with Time
18
Windows, Computers and Operation Research. 40(8) (2013) 2004–2010.
19
20
21 [2] J. F. Cordeau, G. Laporte, A. Mercier, A unified tabu search heuristic for
22
23
vehicle routing problems with time windows, Journal of the Operational Research
24 Society. (2001) 928–936.
25
26
27 [3] G. B. Dantzig, J. H. Ramser, The Truck Dispatching Problem, Management
28 Science. 6(1) (1959) 80–91.
29
30
31 [4] R. Goel, R. Maini, A hybrid of ant colony and firefly algorithms (HAFA) for
32 solving vehicle routing problems, Journal of Computational Science. 25 (2018)
33
34 28–37.
35
36 [5] D. E. Goldberg, Jr. R. Lingle, Alleles Loci and the Traveling Salesman
37
38 Problem, In Proceedings of the 1st International Conference on Genetic
39
40 Algorithms, 1985, (pp. 154–159).
41
42 [6] Y. Gong, J. Zhang, O. Liu, R. Huang, H. S. Chung, Y. Shi, Optimizing
43
44 the Vehicle Routing Problem With Time Windows: A Discrete Particle
45
46 Swarm Optimization Approach. IEEE Transactions on Systems, Man, and
47
48 Cybernetics, Part C (Applications and Reviews). 42(2) (2012) 254–267.
49
50
51 [7] J. K. Lenstra, A. H. G. Rinnooy Kan, Econometric Institute Complexity Of
52 Vehicle Routing And Scheduling Problems, Networks. II(2) (1981) 221–227.
53
54
55 [8] K. C. Tan, Y. H. Chew, L. H. Lee, A Hybrid Multiobjective Evolutionary
56 Algorithm for Solving Vehicle Routing Problem. (2006) 115–151.
57
58
59 [9] J. P. Luo, X. Li, M. R. Chen, H. W. Liu, A novel hybrid shuffled frog leaping
60
61
62 28
63
64
65
1
2
3
4 algorithm for vehicle routing problem with time windows, Information Sciences.
5
6 316 (2015) 266–292.
7
8 [10] Y. Nagataa, O. Bräysyb, W. Dullaert, A penalty-based edge assembly
9
10 memetic algorithm for the vehicle routing problem with time windows,
11
12 Computers and Operations Research. 37(4) (2010) 724–737.
13
14 [11] D. Pecin, C. Contardo, G. Desaulniers, E. Uchoa, New Enhancements for the
15
16 Exact Solution of the Vehicle Routing Problem with Time Windows, INFORMS
17 Journal on Computing. 29(3) (2017) 489–502.
18
19
20 [12] Y. Rochat, E. D. Taillard, Probabilistic Diversification and Intensification in
21
Local Search for Vehicle Routing. 167 (1995) 147–167.
22
23
24 [13] S. Jung and B. R. Moon, A Hybrid Genetic Algorithm for the Vehicle
25
26 Routing Problem with Time Windows. Proc. 4th Annu. Conf. Genet. Evol.
27 Comput., 2002, 1309–1316.
28
29
30 [14] J. H. Holland, Adaptation in Natural and Artificial Systems, SIAM Review.
31 18(3) (1976) 529–530.
32
33
34 [15] P. Shaw, Using Constraint Programming and Local Search Methods to Solve
35 Vehicle Routing Problems. (1998) 417–431.
36
37
38 [16] M. M. Solomon, Algorithms for the Vehicle Routing and Scheduling
39
40
Problems with Time Window Constraints, Operations Research. Vol. 35 (No. 2),
41 (1987) 254.
42
43
44 [17] E. T. Yassen, M. Ayob, M. Z. Ahmad Nazri, N. R. Sabar, Computers &
45 Industrial Engineering An adaptive hybrid algorithm for vehicle routing problems
46
47 with time windows, Computers & Industrial Engineering. 113(September)
48
49 (2017) 382–391.
50
51 [18] E. T. Yassen, M. Ayob, M. Z. A. Nazri, N. R.Sabar, Meta-harmony search
52
53 algorithm for the vehicle routing problem with time windows, Information
54 Sciences. 325 (2015) 140–158.
55
56
57 [19] L. J. Tan, F. Y. Lin, H. Wang, Neurocomputing Adaptive comprehensive
58 learning bacterial foraging optimization and its application on vehicle routing
59
60 problem with time windows, Neurocomputing. 151 (2015) 1208–1215.
61
62 29
63
64
65
1
2
3
4 [20] P. Toth, D. Vigo, D, Vehicle Routing: Problems, Methods, and Applications,
5
6 Second Edition. Philadelphia, PA, USA: Society for Industrial and Applied
7
8 Mathematics. (2014).
9
10 [21] Z. Ursani, D. Essam, D. Cornforth, R. Stocker, Localized genetic algorithm
11
12 for vehicle routing problem with time windows, Applied Soft Computing Journal.
13 11(8) (2011a) 5375–5390.
14
15
16 [22] S. H. Xu, J. P. Liu, F. H. Zhang, L. W. and L. J. Sun, A Combination of
17 Genetic Algorithm and Particle Swarm Optimization for Vehicle Routing
18
19 Problem with Time Windows. (2015) 21033–21053.
20
21
[23] B. Yu, Z.Z. Yang, B.Z. Yao, A hybrid algorithm for vehicle routing problem
22
23 with time windows. Expert Systems with Applications. 38(1) (2011) 435–441.
24
25
26 [24] D. Zhang, S. Cai, F. Ye, Y.W. Si, T. T. Nguyen, A hybrid algorithm for a
27 vehicle routing problem with realistic constraints. Information Sciences, 394–
28
29 395, (2017) 167–182.
30
31 [25] J. T. Zhang, F. X. Yang, X. Weng, An Evolutionary Scatter Search Particle
32
33 Swarm Optimization Algorithm for the Vehicle Routing Problem With Time
34
35 Windows. IEEE Access, 6, (2018) 63468–63485.
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 30
63
64
65

You might also like