IEEE Computational Intelligence Magazine - February 2021 - 65

the CARP. Then, Section III-B briefly
reviews CARPs with uncertainties. The
modelling of uncertainties is described
in Section III-C. Section III-D presents
the benchmarks of problem instances
used in the reviewed literature.

t k, i refers to the ith task on the kth route.
We define the general formulation used in
[17] as follows, given G = (V, E), T, Q,
cost c (t k, i) and demand d (t k, i) of t k, i,
min C (x) =

1) General Formulation of CARP
Diverse extensions of CARP to the
above have been proposed depending
on the corresponding applications in the
real-world, such as the CARP with stochastic time and periodic CARP [2], the
CARP with multiple depot [15] and the
CARP with multiple vehicle capacities
[16]. Their different formulations are
outside the scope of this review as we
focus on the CARP with uncertainties.
A solution of CARP can be represented by a set of routes x = {r1, f, rm}
served by m vehicles. Each route
rk = (t k, 1, f, t k, lk) ^k ! {1, f, m} h is a
sequence of tasks served, where lk is the
number of tasks served on this route and

lk

c (t )
:

k, i
k = 1 i = 1 serving cost

+ dist (tail (t k, i - 1), head (t k, i))
1444444244444
43 m

A. Capacitated Arc Routing Problem

The basic form of CARP [1], [5] can be
described as follows. Let G = ^V, E h be
an undirected graph where V and E
denote the sets of vertices and edges,
respectively. The vertex v 0 ! V is the
depot. Each edge e ! E has a cost
c(e) > 0. If there is a task on this edge, a
positive demand is associated to e. The
task set T is the set of edges with positive demands. A fleet of vehicles with a
given capacity Q > 0 are allocated to
serve all the tasks in T, starting and terminating at the identical depot v 0 . The
objective of CARP is to efficiently allocate these vehicles and select the optimal
set of routes to serve tasks while the
total demand of tasks served on any
route does not exceed Q.

m

/ e/ c

deadheading cost

,
dist (tail (t k, lk), v 0)
m
1444
42444
43
deadheading cost from last task to depot
(1)
s.t. t k, i ! T, 6k ! {1, f, m},
	
(2)
i ! {1, f, l k},
head (t k, 1) = tail (t k, lk) = v 0,
	  
6k ! {1, f, m}, (3)
	   t k, i ! t kl, il, 6 (k, i) ! (kl , il ), (4)
	   t k, i ! inv (t kl, il), 6 (k, i) ! (kl , i l ),(5)
+

	  
	  

m

/ lk =

T , (6)

k=1
lk

/ d (t k,i) # Q, 6k ! {1, f, m},(7)

i=1

where head (t k, i) and tail (t k, i) denote the
two endpoints of the task t k, i . When
i = 1, tail (t k, 0) is defined as the depot v 0 .
inv (t k, i) denotes the reverse direction of
t k, i . Besides the serving cost c(t) of each
task t, the deadheading cost, defined as the
cost of traversing the shortest path
between a pair of tasks, is often considered as well. dist (v i, v j) denotes the
shortest distance from vertex vi to vertex
vj. Eq. (1) indicates the minimization of
C (x), the sum of the serving and deadheading costs of the set of routes x. The
domain of variables is defined in Eq. (2).
Eq. (3) indicates that each route should
start and end at the depot. Eqs. (4) and
(5) ensure that each task will be served
in one direction only, i.e., (k = kl ) and
(i = il ) won't hold simultaneously.
Together with Eq. (6), Eqs. (4) and (5)
further ensure that each task will be

served exactly once. The constraint of
vehicle capacity is implied in Eq. (7).
2) Taxonomy of CARP
Similar to the taxonomy of VRP [14],
we propose a taxonomy of CARPs as
follows:
1)	static and deterministic CARP;
2)	dynamic and deterministic CARP;
3)	static and stochastic CARP;
4)	dynamic and stochastic CARP.
A CARP instance can be dynamic, i.e.,
the variables are unknown a priori and
may change over time; otherwise, it is
static. A deterministic CARP assumes no
random element involved in the problem, thus the variables are all deterministic. Only static input (e.g., edges, tasks
and demands) is considered in the static
and deterministic CARP, while in the
dynamic and deterministic version, the
input changes over time, such as an
increasing travelling cost because of the
increasing vehicle load. The stochastic
CARP or CARP with uncertainties, in
general, considers that the input variables are random and their exact values
are only known at the time of execution. The use of terms dynamic and stochastic is sometimes ambiguous. Table I
lists some of the main differences
between the static and stochastic CARP
and the dynamic and stochastic version.
In this paper, we focus on the CARP
with uncertainties, either static or
dynamic. Studies on dynamic and deterministic CARP are out of the scope of
this paper. From the literature, we have
observed that all review studies so far
aimed at solving static and stochastic
CARP, most of which were based on
methods for solving static and deterministic CARP. Few treated a stochastic
CARP as a stochastic problem. To focus

TABLE I Comparison between static and stochastic CARP and dynamic and stochastic CARP.
STATIC AND STOCHASTIC CARP

DYNAMIC AND STOCHASTIC CARP

A PRIORI SOLUTION IS COMPUTED BY OFFLINE PLANNING

ONLINE PLANNING

ONLINE REPAIRING IS APPLIED ACCORDING TO ACTUAL
VARIABLE VALUES

RE-OPTIMIZATION WHILE TRAVELLING IN REAL TIME

TASKS/
CUSTOMERS

ALL POTENTIAL CUSTOMERS ARE KNOWN IN ADVANCE, WHILE
EACH HAPPENS WITH A PROBABILITY

SOME CUSTOMERS ARE KNOWN TO HAPPEN WITH A PROBABILITY
NEW REQUESTS CAN BE MADE DURING EXECUTION

TIMING

SOMETIMES TIME WINDOW IS CONSIDERED

URGENCY OF TASK IS USUALLY CONSIDERED

PLANNING

FEBRUARY 2021 | IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE

65



IEEE Computational Intelligence Magazine - February 2021

Table of Contents for the Digital Edition of IEEE Computational Intelligence Magazine - February 2021

IEEE Computational Intelligence Magazine - February 2021 - Cover1
IEEE Computational Intelligence Magazine - February 2021 - Cover2
IEEE Computational Intelligence Magazine - February 2021 - 1
IEEE Computational Intelligence Magazine - February 2021 - 2
IEEE Computational Intelligence Magazine - February 2021 - 3
IEEE Computational Intelligence Magazine - February 2021 - 4
IEEE Computational Intelligence Magazine - February 2021 - 5
IEEE Computational Intelligence Magazine - February 2021 - 6
IEEE Computational Intelligence Magazine - February 2021 - 7
IEEE Computational Intelligence Magazine - February 2021 - 8
IEEE Computational Intelligence Magazine - February 2021 - 9
IEEE Computational Intelligence Magazine - February 2021 - 10
IEEE Computational Intelligence Magazine - February 2021 - 11
IEEE Computational Intelligence Magazine - February 2021 - 12
IEEE Computational Intelligence Magazine - February 2021 - 13
IEEE Computational Intelligence Magazine - February 2021 - 14
IEEE Computational Intelligence Magazine - February 2021 - 15
IEEE Computational Intelligence Magazine - February 2021 - 16
IEEE Computational Intelligence Magazine - February 2021 - 17
IEEE Computational Intelligence Magazine - February 2021 - 18
IEEE Computational Intelligence Magazine - February 2021 - 19
IEEE Computational Intelligence Magazine - February 2021 - 20
IEEE Computational Intelligence Magazine - February 2021 - 21
IEEE Computational Intelligence Magazine - February 2021 - 22
IEEE Computational Intelligence Magazine - February 2021 - 23
IEEE Computational Intelligence Magazine - February 2021 - 24
IEEE Computational Intelligence Magazine - February 2021 - 25
IEEE Computational Intelligence Magazine - February 2021 - 26
IEEE Computational Intelligence Magazine - February 2021 - 27
IEEE Computational Intelligence Magazine - February 2021 - 28
IEEE Computational Intelligence Magazine - February 2021 - 29
IEEE Computational Intelligence Magazine - February 2021 - 30
IEEE Computational Intelligence Magazine - February 2021 - 31
IEEE Computational Intelligence Magazine - February 2021 - 32
IEEE Computational Intelligence Magazine - February 2021 - 33
IEEE Computational Intelligence Magazine - February 2021 - 34
IEEE Computational Intelligence Magazine - February 2021 - 35
IEEE Computational Intelligence Magazine - February 2021 - 36
IEEE Computational Intelligence Magazine - February 2021 - 37
IEEE Computational Intelligence Magazine - February 2021 - 38
IEEE Computational Intelligence Magazine - February 2021 - 39
IEEE Computational Intelligence Magazine - February 2021 - 40
IEEE Computational Intelligence Magazine - February 2021 - 41
IEEE Computational Intelligence Magazine - February 2021 - 42
IEEE Computational Intelligence Magazine - February 2021 - 43
IEEE Computational Intelligence Magazine - February 2021 - 44
IEEE Computational Intelligence Magazine - February 2021 - 45
IEEE Computational Intelligence Magazine - February 2021 - 46
IEEE Computational Intelligence Magazine - February 2021 - 47
IEEE Computational Intelligence Magazine - February 2021 - 48
IEEE Computational Intelligence Magazine - February 2021 - 49
IEEE Computational Intelligence Magazine - February 2021 - 50
IEEE Computational Intelligence Magazine - February 2021 - 51
IEEE Computational Intelligence Magazine - February 2021 - 52
IEEE Computational Intelligence Magazine - February 2021 - 53
IEEE Computational Intelligence Magazine - February 2021 - 54
IEEE Computational Intelligence Magazine - February 2021 - 55
IEEE Computational Intelligence Magazine - February 2021 - 56
IEEE Computational Intelligence Magazine - February 2021 - 57
IEEE Computational Intelligence Magazine - February 2021 - 58
IEEE Computational Intelligence Magazine - February 2021 - 59
IEEE Computational Intelligence Magazine - February 2021 - 60
IEEE Computational Intelligence Magazine - February 2021 - 61
IEEE Computational Intelligence Magazine - February 2021 - 62
IEEE Computational Intelligence Magazine - February 2021 - 63
IEEE Computational Intelligence Magazine - February 2021 - 64
IEEE Computational Intelligence Magazine - February 2021 - 65
IEEE Computational Intelligence Magazine - February 2021 - 66
IEEE Computational Intelligence Magazine - February 2021 - 67
IEEE Computational Intelligence Magazine - February 2021 - 68
IEEE Computational Intelligence Magazine - February 2021 - 69
IEEE Computational Intelligence Magazine - February 2021 - 70
IEEE Computational Intelligence Magazine - February 2021 - 71
IEEE Computational Intelligence Magazine - February 2021 - 72
IEEE Computational Intelligence Magazine - February 2021 - 73
IEEE Computational Intelligence Magazine - February 2021 - 74
IEEE Computational Intelligence Magazine - February 2021 - 75
IEEE Computational Intelligence Magazine - February 2021 - 76
IEEE Computational Intelligence Magazine - February 2021 - 77
IEEE Computational Intelligence Magazine - February 2021 - 78
IEEE Computational Intelligence Magazine - February 2021 - 79
IEEE Computational Intelligence Magazine - February 2021 - 80
IEEE Computational Intelligence Magazine - February 2021 - 81
IEEE Computational Intelligence Magazine - February 2021 - 82
IEEE Computational Intelligence Magazine - February 2021 - 83
IEEE Computational Intelligence Magazine - February 2021 - 84
IEEE Computational Intelligence Magazine - February 2021 - 85
IEEE Computational Intelligence Magazine - February 2021 - 86
IEEE Computational Intelligence Magazine - February 2021 - 87
IEEE Computational Intelligence Magazine - February 2021 - 88
IEEE Computational Intelligence Magazine - February 2021 - 89
IEEE Computational Intelligence Magazine - February 2021 - 90
IEEE Computational Intelligence Magazine - February 2021 - 91
IEEE Computational Intelligence Magazine - February 2021 - 92
IEEE Computational Intelligence Magazine - February 2021 - 93
IEEE Computational Intelligence Magazine - February 2021 - 94
IEEE Computational Intelligence Magazine - February 2021 - 95
IEEE Computational Intelligence Magazine - February 2021 - 96
IEEE Computational Intelligence Magazine - February 2021 - 97
IEEE Computational Intelligence Magazine - February 2021 - 98
IEEE Computational Intelligence Magazine - February 2021 - 99
IEEE Computational Intelligence Magazine - February 2021 - 100
IEEE Computational Intelligence Magazine - February 2021 - 101
IEEE Computational Intelligence Magazine - February 2021 - 102
IEEE Computational Intelligence Magazine - February 2021 - 103
IEEE Computational Intelligence Magazine - February 2021 - 104
IEEE Computational Intelligence Magazine - February 2021 - 105
IEEE Computational Intelligence Magazine - February 2021 - 106
IEEE Computational Intelligence Magazine - February 2021 - 107
IEEE Computational Intelligence Magazine - February 2021 - 108
IEEE Computational Intelligence Magazine - February 2021 - Cover3
IEEE Computational Intelligence Magazine - February 2021 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202311
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202308
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202305
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202302
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202211
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202208
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202205
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202202
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202111
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202108
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202105
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202102
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202011
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202008
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202005
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_202002
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201911
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201908
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201905
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201902
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201811
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201808
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201805
https://www.nxtbook.com/nxtbooks/ieee/computationalintelligence_201802
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_winter17
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_fall17
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_summer17
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_spring17
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_winter16
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_fall16
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_summer16
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_spring16
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_winter15
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_fall15
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_summer15
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_spring15
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_winter14
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_fall14
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_summer14
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_spring14
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_winter13
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_fall13
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_summer13
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_spring13
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_winter12
https://www.nxtbook.com/nxtbooks/ieee/computational_intelligence_fall12
https://www.nxtbookmedia.com