You are on page 1of 16

Expert Systems With Applications 58 (2016) 20–35

Contents lists available at ScienceDirect

Expert Systems With Applications


journal homepage: www.elsevier.com/locate/eswa

Applying the MOVNS (multi-objective variable neighborhood search)


algorithm to solve the path planning problem in mobile robotics
Alejandro Hidalgo-Paniagua a,∗, Miguel A. Vega-Rodríguez a, Joaquín Ferruz b
a
Department of Technologies of Computers and Communications, University of Extremadura, Polytechnic School, Cáceres, Spain
b
Department of Systems Engineering and Automation, University of Sevilla, Higher Technical School of Engineering, Sevilla, Spain

a r t i c l e i n f o a b s t r a c t

Article history: Mobile robots must calculate the appropriate navigation path before starting to move to its destination.
Received 13 February 2015 This calculation is known as the Path Planning (PP) problem. The PP problem is one of the most re-
Revised 20 March 2016
searched topics in mobile robotics. Taking into account that the PP problem is an NP-hard problem, Multi-
Accepted 21 March 2016
Objective Evolutionary Algorithms (MOEAs) are good candidates to solve this problem. In this work, a new
Available online 1 April 2016
multi-objective evolutionary approach based on the Variable Neighborhood Search (MOVNS) is proposed
Keywords: to solve the PP problem. To the best of our knowledge, this is the first time that MOVNS is proposed
Path planning to solve the path planning of mobile robots. The proposed MOVNS handles three different objectives in
MOVNS order to obtain accurate and efficient paths. These objectives are: the path safety, the path length, and the
Multi-objective optimization path smoothness (related to the energy consumption). Furthermore, in order to test the proposed MOEA,
Robotics we have used eight realistic scenarios for the paths calculation. On the other hand, we also compared our
Realistic maps
proposal with other approaches of the state of the art, showing the advantages of MOVNS. In particular, in
Energy consumption
order to evaluate the obtained results we applied different quality metrics. Moreover, to demonstrate the
statistical robustness of the obtained results we also performed a statistical analysis. Finally, the study
shows that the proposed MOVNS is a good alternative to solve the PP problem, producing good paths
with less length, more safety, and more smooth movements. We think this is an important contribution
to the mobile robotics, and therefore, to the field of expert and intelligent systems.
© 2016 Elsevier Ltd. All rights reserved.

1. Introduction In this sense, several approaches tackling the PP problem have


been proposed. The main disadvantage of these approaches is that
Nowadays, and due to the great advancements of science and, most of them are only focused on a single objective, normally min-
in particular, technology it is easier to find machines which work imizing the path length (LaValle, 2006). However, from our point
in an autonomous and intelligent way. These machines are known of view, in the case of PP, in order to obtain accurate solutions,
as robots. Robots are currently used in a wide range of sectors it is essential to handle several objectives simultaneously. Specifi-
ranging from the industrial or medical to the social sector. At cally, three fundamental objectives can be taken into account: the
the beginning, these special machines carried out dangerous, dirty path safety, the path length, and the path smoothness. With respect
or simply precision tasks; but nowadays, for example, robots can to the path safety, it is related to the objects of the environment
carry out the house tasks while humans are working or take care presented in the path. The paths containing fewer objects will be
of the elderly when they are alone. Regarding robots, some of them the best (safest). The path length objective is focused on obtaining
are equipped with a locomotion system that allows them to nav- paths as short as possible. This objective is mainly related to the
igate through a specific environment. These robots are known as robot operation time since a shorter path will be traveled in less
Mobile robots. In the robot navigation, the main problem is to cal- time. Finally, it is important to highlight that robots do not have
culate a feasible path that allows a robot to move from a starting an infinite energy source (usually batteries are used). The last ob-
point to a target point of the environment. This problem is one jective, the path smoothness, has as a goal to minimize the number
of the most researched topics in robotics and it is known as Path of bends of the path. This objective is directly related to the en-
Planning (PP) problem (Shih, Chang, & Chen, 2013). ergy consumption, due to the number and magnitude of turns in-
fluence on the consumed energy (Ahmed & Deb, 2013; Jun & Qing-

bao, 2010). Thus, a path in which the robot has to turn minimally
Corresponding author. Tel.: +34927257263.
will involve less energy consumption.
E-mail addresses: ahidalgop@unex.es (A. Hidalgo-Paniagua), mavega@unex.es
(M.A. Vega-Rodríguez), ferruz@cartuja.us.es (J. Ferruz).

http://dx.doi.org/10.1016/j.eswa.2016.03.035
0957-4174/© 2016 Elsevier Ltd. All rights reserved.
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 21

Path Planning is an NP-hard optimization problem (Davoodi, difficulty to solve the problem in Sedaghat (2011), also ignoring
Panahi, Mohades, & Hashemi, 2013) and for this reason it can be the energy consumption. These studies took into account only two
tackled by using Multi-Objective Evolutionary Algorithms (MOEAs). objectives and the MOEA we present in this study uses three
In this manuscript, we present an efficient multi-objective objectives to solve the problem (our third objective is the path
version of the Variable Neighborhood Search (VNS) Algorithm smoothness, related to the energy consumption). For this reason,
(Mladenović & Hansen, 1997), a metaheuristic method for solv- we could not compare with their obtained results. Other variants
ing global optimization problems. Unlike many previous works, of MOEAs which optimize two different objectives, in this case the
we tackle the PP problem in a multi-objective manner, applying a path length and the path smoothness, can be found in Mo, Xu, and
MOEA not previously used, and using realistic maps for the calcu- Tang (2013) and Wang and Zhu (2013).
lation of the paths. These are some important contributions of our On the other side, some authors applied MOEAs optimizing
work. For the PP problem, we handle the three essential objectives three different objectives, for example, Ahmed and Deb (2013) and
explained above, that is, the path safety, the path length, and the Jun and Qingbao (2010) used an NSGA-II algorithm that took into
path smoothness (directly related to the energy consumption). This account the path length, the path safety, and the path smoothness.
is also important because many previous works use less objectives These authors optimized the same objectives as we handle in our
or are not aware of the energy consumption. Another important work. For this reason, we have used these proposals in order to do
contribution of our work is that we developed our own specific a fair comparison with the state of the art, showing the goodness
evolutionary operators to solve PP. of our approach.
Due to NSGA-II (Non-dominated Sorting Genetic Algorithm II) The algorithm (MOVNS) proposed in this work is different to
(Deb, Pratap, Agarwal, & Meyarivan, 2002) is the MOEA mainly the one used in our previous research based on swarm intelligence
used by other authors who tackled the same problem (with the (Hidalgo-Paniagua, Vega-Rodríguez, Ferruz, & Pavón, 2015; 2016).
same objectives) in a multi-objective manner, we used this algo- In fact, to the best of our knowledge, this is the first time that a
rithm as a reference, comparing the results of MOVNS with several multi-objective trajectory-based algorithm is used for solving the
implementations of NSGA-II proposed by other authors. This com- PP problem.
parison is based on a complete statistical study, with eight scenar- Lavin (2014) and Lavin (2015) proposed the A∗-PO and D∗-PO
ios and 31 independent repetitions per experiment. algorithms. These algorithms are based on A∗ and D∗ search al-
The rest of the paper is organized as follows. The related work gorithms with Pareto Optimality. However, he focused on a very
can be found in Section 2. In Section 3 the environment model- different PP problem. In fact, he modeled a planetary exploration
ing, the path encoding, and the objectives considered in order to rover in a Mars environment. For this reason, the objectives that
solve the PP problem are clearly explained. The evolutionary oper- he optimized were very different to ours. In particular, he used
ators, mechanism to improve the initial population of MOEAs, and objectives like the average elevation of the path (for obtaining the
the considered MOEAs are explained in Section 4. In Section 5, the path that climbs up the least amount of incline) or the solar in-
methodology used to test MOEAs, that is; the datasets (scenarios), cidence (to minimize the total angular deviation of sunlight from
the parameters configuration, and the metrics used are presented. the rover’s rear solar panel).
To finish, the results, comparisons with the state of the art, and Finally, Kim and Kim (2009) and Kim, Kim, Choi, and Park
conclusions are discussed and analyzed in Sections 6 and 7. (2009) , applied MOEAs to solve the PP problem in a robot soccer
system. This robotics environment is very different to our robotics
2. Related work environment. In fact, they used very different objectives. More
specifically, they used the following three objectives: path time,
In recent years, several studies have been proposed in which heading direction, and posture angle error. Furthermore, none of
MOEAs are applied to tackle the PP problem. Despite of this, some them takes into account the energy consumption. Again, all of
of these works really handle a single objective (EAs). For exam- these authors compared their obtained results with the corre-
ple, in Geetha, Chitra, and Jayalakshmi (2011), Guo, Wang, and Tian sponding NSGA-II algorithm.
(2009), Hao and Qin (2011), Masehian and Sedighizadeh (2010a), Taking into account the previous literature review, the main
Masehian and Sedighizadeh (2010b), Masehian and Sedighizadeh contributions of our present work are:
(2010c), and Krishnan, Paw, and Kiong (2009) the authors use
single-objective optimization although in the paper titles they in- • We tackle the Path Planning problem, one of the most impor-
dicate that multiple objectives are used. On the other hand, almost tant topics in mobile robotics, by using a multi-objective meta-
all the real MOEAs applied to the PP problem used the popular heuristic algorithm known as MOVNS (Multi-Objective Variable
NSGA-II algorithm. In Wei and Liu (2010), J.-H. Wei and J.-S. Liu Neighborhood Search). To the best of our knowledge, no other
presented an NSGA-II which manages only two objectives. In par- works have tackled the PP problem by using a Multi-Objective
ticular, the algorithm optimizes the path length and the path cur- Variable Neighborhood Search algorithm.
vature. In the same way, (Ferariu & Cimpanu, 2014a; 2014b) also • Moreover, to the best of our knowledge, this is the first time
proposed a multi-objective genetic algorithm (combined with Di- that a multi-objective trajectory-based algorithm is used to
jkstra’s algorithm) in order to optimize two objectives: the path solve the PP problem.
length and the total steering angle. Ahmed and Deb (2011), Chang • The proposed MOVNS handles three different objectives in or-
and Liu (2009), and Davoodi et al. (2013) proposed different vari- der to obtain accurate and efficient paths: the path safety, the
ants of NSGA-II which also use two objectives: the path length and path length, and the path smoothness (related to the energy con-
the path safety (referred to the obstacles), but ignoring the en- sumption).
ergy consumption. Other works in which the authors used these • Unlike other authors, in this work we use realistic maps of
same objectives, also without taking into account the energy con- the environment. More specifically, eight realistic scenarios are
sumption, can be found in Salmanpour, Monfared, and Omranpour used. These datasets can be downloaded from http://arco.unex.
(2016), Gong, Zhang, and Zhang (2011), Geng, Gong, and Zhang es/mavega/pathplanning.html. Making easy the reproduction of
(2013), Wang, Kwok, Liu, and Ha (2009), and Zhang, Gong, and the research and the future comparison with the results of this
Zhang (2013). On the other hand, N. Sedaghat also applied NSGA-II paper.
and proposed a variant of these two previous objectives, in par- • Our work also proposes new evolutionary operators specifically
ticular she used the path length in combination with the path designed for solving the PP problem and improving the paths.
22 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

Fig. 1. Example of map partitioning: (A) Source map, and (B) Partitioned map.

These problem-aware operators are focused on the path safety,


length, or smoothness.
• On the other hand, due to the importance and popularity of
the NSGA-II algorithm in the related literature, we also com-
pare our results with the ones obtained by the different NSGA-
II algorithms proposed by Ahmed and Deb (2013) and Jun and
Qingbao (2010).
• In order to assure the technical soundness of our experimental
results, we apply a deep and comprehensive statistical analysis.
• This work shows that the proposed MOVNS is a good alterna-
tive to solve the PP problem, producing good paths with less
length, more safety, and more smooth movements.

3. Path planning

When a robot needs to move from a starting point to a tar-


get point in a certain environment, firstly, it has to calculate the
appropriate navigation path. This calculation is known as the PP
problem. In the following subsections we explain the environment
modeling, the path encoding, and the handled objectives in order
to solve the PP problem. Note that, in this work, we consider the
robot and the environment geometry in a 2D space.
Fig. 2. Example of a final 2D representation of the environment.
3.1. Environment modeling

Before starting to calculate the appropriate path to allow the cell with a value between 0% and 100%. In order to detect the ob-
robot to move to its target destination, it is essential to build jects existing in the environment, we used two different colors in
an understandable computational representation of the environ- the source map. The background of the map is always white. This
ment by the robot. Thus, the robot could carry out motion plan- color represents the empty space. The walls of the environment
ning operations. As we said previously, the environment is mod- have always associated the green color. Any other object of the
eled in a 2D space using a grid structure. Therefore, the resolution environment will have any other color (neither white nor green).
of the final 2D representation will depend on the grid size (rows ∗ The reason of representing the walls with a different color is that
columns) used to model the source environment. Unlike other au- we consider them as dangerous objects. Note that, if the robot col-
thors who tackled the PP problem too, we have used realistic maps lides with a wall the most likely result is that the robot will be
of the environment for this study. The process to get the final 2D damaged. For this reason, the partitions (cells) in which walls ap-
representation of the environment involves two steps. The first one pear will correspond with a special value in the final 2D structure.
consists of partitioning the real map of the environment into sev- This value is equal to 10 0 0%. By using this penalty, the danger-
eral rows and columns. Each region of the map determined by a ous objects will be avoided before the non-dangerous objects along
specific row and column is known as a partition. Fig. 1 shows an the algorithm process. Finally, the final 2D structure is shown as a
example of the map partitioning. gray level image in which cells with values equal to or greater than
Taking as input the partitioned map, the second step aims to 100% correspond with the black color, the completely empty cells
obtain a 2D structure representing the occupancy of each parti- with the white color, and those cells not fully occupied with a gray
tion. The occupancy of a partition refers to the amount of objects level color. Fig. 2 shows an example of a final 2D representation.
contained in it, and is expressed as a percentage. Therefore, if in a
partition does not appear any object, the value in the correspond- 3.2. Path encoding
ing cell of the final grid will be 0%. Conversely, if a partition is
fully occupied by objects the corresponding value of the cell in the In this work, we manage a path as a sorted list of 2D coordi-
final grid will be equal to 100%. In the same way, a partition nei- nates, that is to say, a list of pairs (X, Y) or (row, column). The first
ther fully occupied nor completely empty will have associated a element of a list corresponds with the starting point of the path
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 23

Fig. 3. Example of path encoding.

and, respectively, the last element of the list corresponds with the of the path, P1 = (x1 , y1 ) and P2 = (x2 , y2 ), is calculated by using
target point of the path. The number of intermediate coordinates Eq. 2
in the list is variable and, in theory, without limit. This represen- 
d (P1 , P2 ) = ( x1 − x2 )2 + ( y1 − y2 )2 . (2)
tation of the paths implicitly encodes the segments forming the
paths; thus, two consecutive coordinates in the list corresponds Remembering that the path is encoded as a sorted list of n grid
with a segment of the path. Fig. 3 shows an example of path en- coordinates, the total length of a specific path can be calculated by
coding. using Eq. 3
n−1

3.3. Path planning objectives PL = d (L[i], L[i + 1] ) , (3)
i=1
All the MOEAs used in this study handle three different objec- where L refers to the sorted list of points (grid coordinates)
tives with the aim of getting accurate and efficient solutions. These forming the path, and L[i] and L[i + 1] refer to the path segment
objectives are the following: defined by the i−th and (i + 1 )-th points of the list.
1. Path safety (related to avoiding obstacles). Note that, this objective is directly related to the robot opera-
2. Path length (related to the robot operation time). tion time, thus, a shorter path implies less time in order to walk
3. Path smoothness (related to the energy consumption). the path.

These objectives are calculated in such a way that all of them 3.3.3. Path smoothness objective
are to be minimized by the MOEAs. In the following subsections The path smoothness objective has as a goal to measure how
an explanation of the calculation of these objectives can be found. much snaky is a specific path. This objective is directly related
to the robot energy consumption. In order to calculate the path
3.3.1. Path safety objective smoothness for a specific path, we add the angles between each
When the robot moves through the space, it is important to do two consecutive segments of the path. Note that, the best an-
it safely, that is to say, without colliding with the objects of the en- gle is the closest to 180° (this number defines a straight path).
vironment. The aim of this objective is to avoid collisions along the Eq. 4 shows how the path smoothness is calculated
navigation path. The path safety objective is calculated by adding 

the occupancy (see Section 3.1) of the grid cells stepped by the Pα = (180◦ − αi ) , (4)
robot along the path. In this work, we consider that the robot has i=1
the same size as a cell of the grid representing the environment. where, nα is the number of angles of the path, and α i refers to
Eq. 1 shows how to calculate the value of this objective the value of the i − th angle of the path (measured in degrees in
n−1 the range from 0° to 180°). Note that the equation has the oper-

PS = SCel l si , (1) ation (180◦ − αi ). The reason for this is that the best angle value
i=1 is 180° (a straight segment) and the objective is to be minimized
by the MOEAs. Fig. 4 shows a graphical explanation of the path
where SCellsi is the sum of the occupancies of the cells stepped
smoothness.
by the robot in the segment i−th of the path. The size of the path,
in terms of number of coordinates, is determined by n. 4. Multi-objective evolutionary algorithms

3.3.2. Path length objective In the following subsections, the MOEAs used to solve the PP
Usually, the best option when a robot needs to move from a problem (MOVNS and the two versions of NSGA-II) are clearly ex-
starting point to a target point is to choose the shortest path. For plained.
this reason, the path length objective aims to get paths as short as
possible. Mathematically it is the sum of the lengths of each seg- 4.1. MOVNS
ment of a path. The segment length is based on the euclidean dis-
tance between the extreme points (coordinates) forming the seg- In this work, the proposal to solve the PP problem is the
ment. The euclidean distance between two points (coordinates) MOVNS (Multi-Objective Variable Neighborhood Search) algorithm.
24 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

the beginning of each iteration, a new individual (NI) is generated


randomly and saved to the NDSArchive (lines 9 and 10). In the next
phase, the algorithm will try to improve this new individual ap-
plying mutations (lines from 12 to 24). In this phase, the variables
MAX _K and K are used to discard the already stagnated individ-
uals along the algorithm process. Therefore, if the mutated indi-
vidual (MI) epsilon-dominates the original individual (line 17), the
algorithm will try to go to best solutions by using the mutated in-
dividual as the reference individual for the next iterations (lines 18
and 19). Otherwise, the algorithm will mark this mutation as failed
(line 21) and, finally, when the algorithm detects that the individ-
ual is completely stagnated then the process will continue taking
as reference a new randomly generated individual.
Moreover, in this work, we also propose new evolutionary op-
erators. These problem-aware operators are applied along the al-
gorithm procedure with a priority criterion. While the value of
the path safety (see Section 3.3.1) is greater than a certain thresh-
old (in this case 500%), the algorithm will apply the path safety
Fig. 4. Path smoothness.
operator. When the path safety is less than the threshold value,
the algorithm will apply the corresponding operator depending
This algorithm is a multi-objective version of the original VNS on the maximum value of the path safety (see Section 3.3.1),
(Variable Neighborhood Search). VNS is a metaheuristic method the path length (see Section 3.3.2), and the path smoothness (see
that makes a systematic change of neighborhood within a local Section 3.3.3). That is, we evaluate which is the objective with the
search, in order to escape from local optima. It was proposed by worst value, and we try to improve it with the corresponding op-
Mladenović and Hansen (1997). We have selected this metaheuris- erator. In the following subsections, the proposed evolutionary op-
tic because it has been successfully used for solving various opti- erators, the mechanisms for improving paths, and the generation
mization problems (Hansen, Mladenović, & Moreno Pérez, 2010). of the initial individuals are explained.
This algorithm is a trajectory-based algorithm and performs
several local changes in an initial solution which improves each 4.1.1. Path safety operator
time the values of the objectives. Algorithm 1 shows the MOVNS The path safety operator tries to minimize the number of ob-
jects existing in the navigation path, reducing thus the number of
possible collisions. To accomplish this goal, the operator takes as
Algorithm 1 MOVNS Pseudocode.
input a segment of the path and then tries to reduce the possible
1: #Init ializat ion. collisions presented in it. In order to avoid these objects rapidly,
2:
as first step, the operator determines the shape of the objects. De-
3: NDSArchive ← ∅ pending on the shape, an object can be classified into the following
4: E valuations ← Number o f f itness f unction evaluations categories:
5: MAX _K ← Max. number o f unsuccess f ul neighborhood changes
6: 1. Vertically-shaped objects.
7: while E valuations > 0 do 2. Horizontally-shaped objects.
8: 3. Irregularly-shaped objects.
9: NI ← Randomly generated individual
The first category refers to the objects with a completely verti-
10: exportIndividual (N I, N DSArchive )
cal shape. The second category is composed by those objects with
11: K← 0
a fully horizontal shape. Finally, the third category corresponds to
12: while K < MAX _K & E valuations > 0 do
the objects that have neither a clear vertical nor horizontal shape.
13:
When a segment crosses over a vertically-shaped object, the
14: MI ← mutateIndividual (NI )
operator determines the collision point and then replaces it with
15: exportIndividual (MI, NDSArchive )
the aim of avoiding the object. In this type of objects, the new
16: E valuations ← E valuations − 1
candidate point will be searched in the vertical direction of the
17: if MI ε NI then
collision point. Note that, applying this operator we obtain two
18: NI ← MI
new candidate points, one corresponding with the top point and
19: K←0
the other one corresponding with the bottom point. In order to
20: else
choose the best alternative, we weigh the candidate solutions. To
21: K ←K+1
weigh the candidate solutions, the operator takes into account the
22: end if
object shape, the value of the path safety (see Eq. 1) of the new
23:
possible segments, and the euclidean distances from the point to
24: end while
be replaced to the new candidate points. Thus, if the object is
25:
irregularly-shaped, the vertical and horizontal weights will have
26: end while
different values. Regarding the possible candidate segments, they
will have a greater weight value when they do not cross any ob-
pseudocode. ject. Furthermore, the candidate point with lowest euclidean dis-
As we can see in Algorithm 1, this method starts running with tance from the collision point will have a greater weight value. Fi-
an initialization step, that is in lines from 1 to 5. Once the initial- nally, the candidate point for replacing the collision point will be
ization step has been done, the algorithm makes iterations (tak- the one with the greater global weight value. Fig. 5 shows a graph-
ing into account the maximum number of fitness function evalu- ical explanation of the path safety operator applied to vertically-
ations), trying to find the best solutions (lines from 7 to 26). At shaped objects.
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 25

Fig. 5. Path safety operator. Vertically-shaped object.

Fig. 6. Path safety operator. Horizontally-shaped object.

Fig. 7. Path safety operator. Irregularly-shaped object.

In Fig. 5, pm is the point to be modified (the collision point), Finally, if the object is irregularly-shaped, the operator behaves
cp1 (candidate point 1) and cp2 (candidate point 2) refer to the as a mixture of the cases in which the object is horizontally-
candidate points determined to avoid the object, and ss1 (supe- shaped or vertically-shaped. Fig. 7 shows a graphical explanation
rior segment 1), ss2 (superior segment 2), is1 (inferior segment 1), of this operator applied to an irregularly-shaped object.
and is2 (inferior segment 2) correspond with the possible candi- Regarding Fig. 7, at first glance the object has not a well-defined
date segments that could appear when the collision point is re- shape so we need to handle four candidate points, two correspond-
placed by one of the candidate points. ing with the vertical candidates and the other ones corresponding
In the case of horizontally-shaped objects the procedure is ba- with the horizontal candidates. In this figure pm is again the point
sically the same but with the difference that the candidate points to be modified (the collision point). The parameters hcp1 (hori-
for replacing the collision point will be searched in the horizontal zontal candidate point 1), hcp2 (horizontal candidate point 2), hls1
direction of the collision point. Fig. 6 shows an example of the path (horizontal left segment 1), hls2 (horizontal left segment 2), hrs1
safety operator applied to a horizontally-shaped object. (horizontal right segment 1), and hrs2 (horizontal right segment
In Fig. 6, pm refers to the point to be modified (the collision 2) are handled when the possible solutions are searched horizon-
point), cp1 (candidate point 1) and cp2 (candidate point 2) refer to tally. Conversely, parameters vcp1 (vertical candidate point 1), vcp2
the candidate points determined to avoid the object, and ls1 (left (vertical candidate point 2), vss1 (vertical superior segment 1), vss2
segment 1), ls2 (left segment 2), rs1 (right segment 1), and rs2 (vertical superior segment 2), vis1 (vertical inferior segment 1),
(right segment 2) are the candidate segments that could appear and vis2 (vertical inferior segment 2) are handled when the pos-
by replacing the collision point with one of the candidate points. sible solutions are searched vertically.
26 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

Fig. 8. Evolutionary operator for the path length.

Fig. 9. Path smoothness operator.

Note that, in all the cases, a contour window is used to find the this work, for this step, we developed a selection window to gen-
new candidate points far from objects. The contour window identi- erate new population individuals. On the one hand, the selection
fies as candidate points those which are far enough from the dan- window selects the new valid candidate points to add to the path
gerous object, reducing thus the possibility that the candidate seg- in the surrounding area of the last point added to the path. Among
ments collide with the object to be avoided. all these valid candidate points, one of them will be randomly se-
lected. A point is considered valid when it can be safely-linked
4.1.2. Path length operator (without crossing objects) with the last point added to the navi-
The path length operator aims to reduce the length of a path gation path. It is possible that no valid candidate points exist, then
when it is too long. The length of a path is directly related to the the new point to be added to the path will be selected randomly.
robot operation time, thus, a shorter path will be walked by the In this sense, by using the selection window we try to generate
robot in less time (see Section 3.3.2). To reduce the path length, paths with less segments crossing objects. On the other hand, the
this operator deletes a path coordinate (point). This operation im- selection window is used to search the new candidate points in the
plies that a new segment from the previous to the next coordinate target point (destination point) direction with the aim of obtaining
appears, reducing thus the whole length of the path (see Fig. 8). paths as short as possible. In order to select the new points in the
target point direction we place the selection window in different
places of the map, affecting this to the area in where the new can-
4.1.3. Path smoothness operator
didate points will be searched. For example, if the starting point
The path smoothness operator tries to obtain paths as straight
of the search is in the lower-left corner of the map and the target
as possible. In order to reduce the turns magnitude of a path, the
point is in the upper-right corner of the map, then the lower-left
operator takes as input two consecutive segments of the path and
corner of the selection window will match with the starting point
then tries to improve the angle between them. The angle is better
of the search. As paths are variable size (see Section 3.2), the gen-
when it is close to 180° and, conversely, is worse when it is close
eration of an individual ends when the last point added to the path
to 0°. The operator changes the point of the path that matches
can be safely-linked with the target point (destination point) of the
with the vertex of the angle by the middle point of the next or
path. Fig. 10 shows an example of the selection window behavior.
previous segment of the path with the aim of obtaining a better
angle. The selection between the next and the previous segment is 4.1.5. Mechanism for improving length
random. Accordingly, the segments forming the angle will be mod- Once the population initialization has finished, usually, the gen-
ified too. This operation produces a better angle in the path, reduc- erated items correspond with non-optimized individuals. In this
ing thus the turn magnitude. Remember that the smoothness is an sense they are usually composed by extra segments and loops. This
important parameter in the PP problem due to it is directly related mechanism has as a goal to delete the extra segments presented
to the energy consumption. Fig. 9 shows a graphical explanation of in the individuals of the initial population. In order to delete these
this PP operator. segments, this mechanism, for each coordinate, tries to find the
farthest point of the path with it can be safely-linked; that is to
4.1.4. Generation of the initial population say, a collision-free link. The searching process starts from the tar-
When working with EAs (Evolutionary Algorithms), the first get point (destination point) and it finishes when the starting point
step is always the generation of the initial population. This step is reached. Fig. 11 shows a graphical explanation of this mech-
consists of generating a certain number of possible solutions (in- anism. Note that this operation deletes points and, consequently,
dividuals) to make them evolve along the algorithm procedure. In some segments belonging to the original navigation path will dis-
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 27

Fig. 10. Population initialization. Selection window example.

Fig. 11. Example of the mechanism for improving length.

Fig. 12. Deleting loops example.

appear too. Furthermore, this improving step is only used after the as we handle in our work, that is: the path length, the path safety,
population initialization. At the end of the process the EA starts and the path smoothness. For this reason, in Section 6, we include
running with a more or less good population at the input. comparisons with this algorithm, and in this Section we present a
brief explanation of this well-known algorithm. The NSGA-II algo-
4.1.6. Mechanism for deleting loops rithm tries to improve an initial solution set (population) by apply-
This mechanism aims to delete the loops presented in the in- ing classical genetic operators: selection, crossover, mutation, and
dividuals of the initial population. In order to delete these use- replacement. Algorithm 2 shows the NSGA-II pseudocode.
less segments of a specific path, the mechanism tries to deter- The NSGA-II algorithm (Algorithm 2) begins with the popula-
mine if two different and non-consecutive segments are crossing tion initialization (line 4). The initialization consists of generating
themselves. This indicates that a loop exists in the path. To remove a random set of individuals (paths). Once the initialization is com-
this loop, the mechanism deletes all the coordinates and segments pleted, the algorithm tries to evolve the population by executing
forming the loop and then adding to the path a new point, corre- four basic steps. The first step has as a goal to crossover the ini-
sponding with the intersection point of the segments determining tial population in order to obtain the offspring population (line 9).
the loop. The process finishes when there are no segments crossing The crossover uses the binary tournament to select the parents of
themselves. At the end of the process, the EA starts running with each generated offspring. The second step consists of a mutation
a loop-free population. Like the mechanism for improving length process. The mutation step is performed for each new obtained in-
(see Section 4.1.5), this mechanism is only used after the popula- dividual (line 11). Note that, for both; the crossover step and the
tion initialization step. Fig. 12 shows a graphical explanation of this mutation step, two different probabilities are used with the aim
mechanism. of determining when the operation should be performed. Before
executing the last step, a new population formed by the initial in-
4.2. NSGA-II from Jun and Qingbao (2010): Optimizing the 3 dividuals and the obtained offspring is generated, sorted, and eval-
objectives uated by using the crowding distance (lines 12 − 14). Finally, in the
fourth step the best individuals are considered to continue evolv-
NSGA-II (Non-dominated Sorting Genetic Algorithm II) is a ing in the process (line 16). For a more detailed explanation of the
well-known multi-objective metaheuristics proposed by Deb et al. algorithm see Jun and Qingbao (2010).
(2002). This algorithm has been used in Jun and Qingbao (2010) for Note that, in this case, the evolutionary operators for muta-
solving the Path Planning problem with the same three objectives tions, the population initialization, and the mechanisms for im-
28 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

Table 1
Algorithm 2 NSGA-II Pseudocode.
Scenarios.
1: popSize ← Number o f individuals.
Configuration\ Scenario A B C D
2: NDSArchive ← ∅.
3: #Init ializat ion. Starting point (93,6) (93,93) (31,8) (83,32)
4: populat ion ← init ial izatePopul ation( popSize ) Target point (23,75) (6,11) (35,89) (11,26)
5: generations ← Number o f iterations o f the algorithm. Path direction SD MD HA VA
Map A A A A
6: for i = 1 to generations do
Configuration\Scenario E F G H
7: Starting point (94,6) (94,90) (28,17) (93,48)
8: #Crossover. Target point (9,90) (6,6) (46,91) (6,49)
9: o f f spring ← crossPopulation( population ) Path direction SD MD HA VA
10: #Mutation. Map B B B B

11: o f f spring ← mutatePopulation(o f f spring)


12: population = population + o f f spring Table 2
13: populat ion ← f ast NonDominatedSort ( population, ( popSize ∗ MOEAs configuration parameters.
2 )) MOVNS configuration parameters
14: populat ion ← setCrowdingDistance( population, ( popSize ∗ 2 ))
Parameter Tested values Sel. value
15: #Replacement.
16: popul ation ← sel ect Bet terIndividuals( population, popSize ) Evaluations 200∗150 200∗150
17: #Save population to the NDSArchive. NV {1, 5, 10, 15} 1
Epsilon (ε )
18: exportPopulation( population, popSize, NDSArchive ) {0.025, 0.050, 0.075, 0.1, and 0.125} 0.05

19: NSGA-II configuration parameters


20: end for Parameter Tested values Sel. value
Population size {50, 100, 150, 200, 250, and 300} 200
Generations {100, 120, 150, 200, 300, and 600} 150
Mutation probability {5%, 10%, 15%, 20%, and 25%} 25%
proving individuals are the same as in the MOVNS algorithm (see Crossover probability {70%, 80%, 90%, and 100%} 90%
Sections 4.1.1–4.1.6).

4.3. NSGA-II from Ahmed and Deb (2013): Optimizing 2 objectives


and using the smoothness as a decision-maker as a scenario. A scenario is composed by a map, the starting point,
and the target point (destination point) of the navigation path we
This algorithm has been used in Ahmed and Deb (2013) for want to calculate. In this study, we use eight pairs of points (co-
solving the PP problem. Although these authors used the same ordinates), distributed between two different realistic maps of the
three objectives as we handle in this work, the main difference be- environment, that is to say, eight different scenarios. Fig. 13 shows
tween this algorithm and the one presented in Section 4.2 is that the proposed maps.
they used the path smoothness as a decision-maker instead of an Taking into account the map coordinate system, the starting
objective to be optimized (that is, there are only two objectives and the target points of the paths have been established in the
to optimize: the path length and the path safety). To introduce main directions of each map (paths direction). These directions are
the path smoothness as a criterion to prefer smooth paths, they the main diagonal (MD), the secondary diagonal (SD), the horizon-
modify the NSGA-II’s selection scheme (see Section 4.2) somewhat. tal axis (HA), and the vertical axis (VA). Table 1 shows the pro-
This means that, in the binary tournaments or in choosing the final posed scenarios.
front members, when two different paths have the same rank, they Note that the datasets used in this study can be downloaded
check the smoothness instead of using the crowding distance. The from http://arco.unex.es/mavega/pathplanning.html.
path with better smoothness (the one with the lower value) will
be selected. On the other hand, the crowding distance is only taken 5.2. MOEAs configuration
into account when two different paths (solutions) have the same
non-domination rank and smoothness values. In this case, the one In order to adjust the parameters configuration of the MOEAs
with the higher crowding distance will be selected. In Section 6, used in this study (see Section 4), numerous experiments have
we also include comparisons with this algorithm of the state of the been performed. First, we perform several runs to determine which
art. For a more detailed explanation of the algorithm see Ahmed are the most influential parameters. Thus, the most influential pa-
and Deb (2013). rameter will be the first to be set up, and so on. In each exper-
Note that, in order to do a fair comparison among the different iment we have performed 31 independent runs, being this num-
algorithms, the evolutionary operators for mutations, the popula- ber of executions sufficient to ensure the statistical significance
tion initialization, and the mechanisms for improving individuals of the obtained results. To select the tested values for each pa-
are the same as in the MOVNS algorithm (see Sections 4.1.1–4.1.6). rameter, we have examined its range of possible values, establish-
ing a minimum of four possible uniformly-distributed values. If in
5. Methodology any case two distinct values present similar results, we establish
a new intermediate value and repeat the process. The parameter
In the following subsections we present the proposed scenarios value that finally achieves the best result (using the hypervolume
to make the study (Section 5.1), explain clearly the MOEAs configu- Zitzler and Thiele (1999) as quality metric) will be established. This
ration (Section 5.2), and the metrics used to evaluate the obtained process is repeated for all the parameters and all the algorithms.
results (Section 5.3). Table 2 shows the tested values for each parameter of each algo-
rithm (MOVNS and NSGA-II -from Ahmed and Deb (2013) and Jun
5.1. Scenarios and Qingbao (2010)- respectively) and the selected values taking
into account the configuration process.
In order to evaluate the MOEAs presented in this work (see Note that, for the parameter Evaluations of the MOVNS algo-
Section 4), an input data set is required. Each data set is known rithm there is a single value. The reason for this is that, in order
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 29

Fig. 13. Realistic maps proposed for the study.

to do a fair comparison among the MOEAs, it is desirable that they


execute the same number of fitness function evaluations. Accord-
ingly, this value is the result of multiplying the value of Popula-
tion size by the value of Generations, both values obtained from the
NSGA-II configuration parameters.

5.3. Quality metrics and statistical analysis

In order to select the best MOEA applied to the PP problem,


different quality metrics have been used. These quality metrics are
the Hypervolume (HV) Zitzler and Thiele (1999), and the Set Cover-
age (SC) measurement Zitzler, Deb, and Thiele (20 0 0).
Regarding the quality metrics, the HV measures the volume
(in the objective function space) covered by solutions of a non-
dominated set of solutions. In a multi-objective optimization prob-
lem with d objective functions to minimize, we calculate the size
of the region of the objective space (HV) of a non-dominated
Fig. 14. Statistical analysis scheme.
set of solutions A = {a1 , a2 , ..., an } bounded by a reference
point r = (r1 , r2 , ..., rd ). The corresponding hypercube for
each element ai of the set A is calculated as follows: h(ai ) = that the differences between the results obtained by applying the
[ai1 , r1 ] x [ai2 , r2 ] x ... x [aid , rd ]. Finally, the hypervolume of A is previous quality tests are significant. Fig. 14 shows the statistical
calculated by the union of these |A| hypercubes, with repeatedly analysis scheme.
covered hypercubes being counted once. Eq. 5 shows how to cal- As we can see in the statistical analysis scheme (see Fig. 14),
culate the hypervolume the first step is to determine if the input data set follows a Gaus-
 
|A|
 sian distribution. To carry out this check we use the Kolmogorov–
HV (A, r ) = L h ( ai ) | ai ∈ A . (5) Smirnov test. For non-Gaussian distribution, we perform a non-
i=1 parametric analysis, in this case the Kruskal–Wallis test. However,
if the results of the test assert that the input data follows a Gaus-
In Eq. 5 L refers to the Lebesgue measure (Bartle, 2011).
On the other hand, the set coverage is an indicator that mea- sian distribution, we will need to check the homogeneity of the
sures the fraction of non-dominated solutions in a Pareto front variances. This is the second step. To check the homogeneity of the
variances, the Levene test (test for homoscedasticity) is used. If the
B = {b1 , b2 , ..., bm }, which are covered by the non-dominated
solutions in A = {a1 , a2 , ..., an } (see Eq. 6) test result is negative, we perform the Kruskal–Wallis test. Finally,
if the test result is positive, the ANOVA analysis (parametric vari-
|{b ∈ B; ∃a ∈ A : a  b}|
SC (A, B ) = . (6) ance analysis) will be performed. A more detailed explanation of
|B| these tests can be found in Sheskin (2011).
If SC (A, B ) = 1, all the solutions in B are covered by solutions Note that, in this paper, the confidence level in the statistical
in A. Conversely, if SC (A, B ) = 0 means that none of the solu- test is always 95% (a significance level of 5% or p-value less than
tions in B is covered by the solutions in A. Note that, as the dom- 0.05). This means that the differences are unlikely to have occurred
inance operator () is not symmetric, it is necessary to calculate by chance with a probability of 95%.
both SC(A, B) and SC(B, A), since SC(B, A) is not necessarily equal to
1 − SC (A, B ). 6. Results
Once the quality metrics have been defined, the statistical anal-
ysis is explained. In every experiment we have performed 31 inde- In this section we present and analyze the results obtained by
pendent runs. The statistical analysis aims to demonstrate formally the different MOEAs over eight different scenarios (see Section 5.1).
30 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

Fig. 15. Approximate Pareto fronts for the scenario A. MOVNS vs. NSGA-II from Jun and Qingbao (2010).

Table 3 median hypervolume and Y to the interquartile range of hypervol-


Median and interquartile range of the hypervolume. NSGA-II from Jun and
ume. Finally, the fourth column, SSD (Statistically Significant Differ-
Qingbao (2010) & MOVNS.
ences) is the result of the statistical analysis (see Section 5.3).
NSGA-II from Jun and Qingbao (2010) MOVNS SSD Regarding the results, the statistical analysis indicates that the
Scenario A 0.599 0.082 0.722 0.016 
results obtained by both MOEAs (MOVNS vs. NSGA-II from Jun
Scenario B 0.771 0.042 0.766 0.072 ✗ and Qingbao (2010), or MOVNS vs. NSGA-II from Ahmed and Deb
Scenario C 0.754 0.014 0.811 0.022  (2013)) are significantly different in almost all the cases. In the
Scenario D 0.779 0.020 0.807 0.005  cases in which the differences are significant, the results obtained
Scenario E 0.862 0.011 0.874 0.001 
by MOVNS are always better than when any of the two versions
Scenario F 0.702 0.061 0.809 0.009 
Scenario G 0.627 0.135 0.822 0.004  of NSGA-II (NSGA-II from Jun and Qingbao (2010) or NSGA-II from
Scenario H 0.544 0.132 0.721 0.017  Ahmed and Deb (2013)) is used. These hypervolume values indi-
cate that the MOVNS algorithm covers a greater space of the solu-
Table 4 tion area. On the other hand, in the cases in which the differences
Median and interquartile range of the hypervolume. NSGA-II from Ahmed and
Deb (2013) & MOVNS.
are not significant we can assert that NSGA-II in any of its two
versions (NSGA-II form Jun and Qingbao (2010) or NSGA-II from
NSGA-II from Ahmed and Deb (2013) MOVNS SSD Ahmed and Deb (2013)) and MOVNS are tied (note that in these
Scenario A 0.564 0.095 0.722 0.016  cases the hypervolume values are practically the same).
Scenario B 0.773 0.045 0.766 0.072 ✗ Regarding the associated interquartile range values, the results
Scenario C 0.754 0.014 0.811 0.022  obtained by applying the MOVNS algorithm are almost always bet-
Scenario D 0.778 0.022 0.807 0.005  ter than when any of the two versions of NSGA-II is used. In these
Scenario E 0.877 0.012 0.874 0.001 ✗
Scenario F 0.718 0.069 0.809 0.009 
cases, we can assert that the results obtained by applying the
Scenario G 0.660 0.176 0.822 0.004  MOVNS algorithm are generally less sparse than when we apply
Scenario H 0.554 0.151 0.721 0.017  the NSGA-II algorithm. Accordingly, in these cases, we can assert
that the MOVNS algorithm is generally more reliable than NSGA-II
in terms of results.
In order to make a more reliable assertion about the best al-
Note that, for this study, the experiments were made by partition-
ternative to solve the PP problem, we also used the set coverage
ing maps into grids with 100 rows by 100 columns of size. Tables 3
metric. Tables 5 and 6 show the set coverage results.
and 4 show the median hypervolume, the interquartile range of
The averages of the Set coverage results (Tables 5 and 6) con-
the hypervolume values, and the results obtained by applying the
firm that MOVNS is a better alternative than NSGA-II in any of its
statistical tests.
two versions. On the one hand, the SC(MOVNS, NSGA-II from Jun &
In Tables 3 and 4, the first column refers to the scenario used
Qingbao (2010)) is equal to 75.5% as average while the SC(NSGA-II
for the tests. The second and the third columns indicate the results
from Jun and Qingbao (2010), MOVNS) is equal to 10.7% as aver-
obtained by the corresponding algorithm to calculate the paths
age. On the other hand, the SC(MOVNS, NSGA-II from Ahmed &
specified by the different scenarios. The values corresponding with
Deb (2013)) is equal to 71% as average while the SC(NSGA-II from
these columns have the format XY , where the X value refers to the
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 31

Fig. 16. Approximate Pareto fronts for the scenario A. MOVNS vs. NSGA-II from Ahmed and Deb (2013).

Table 5 Table 7
Set coverage results (MOVNS, NSGA-II from Jun & Qingbao Scenarios reference points (path safety, path length,
(2010)). path smoothness).

SC(NSGA-II, MOVNS) SC(MOVNS, NSGA-II) ideal nadir

Scenario A 0.099 0.707 Scenario A ( 0 , 98.290 , 0 ) ( 8541 , 288.363 , 1352 )


Scenario B 0.327 0.317 Scenario B ( 0 , 119.553 , 0 ) ( 11677 , 333.122 , 1227 )
Scenario C 0.174 0.675 Scenario C ( 0 , 81.098 , 0 ) ( 12290 , 285.299 , 1271 )
Scenario D 0.042 0.902 Scenario D ( 0 , 72.249 , 0 ) ( 12841 , 273.247 , 1347 )
Scenario E 0.121 0.898 Scenario E ( 0 , 119.503 , 0 ) ( 10306 , 376.517 , 1533 )
Scenario F 0.063 0.718 Scenario F ( 0 , 121.655 , 0 ) ( 7630 , 325.508 , 2102 )
Scenario G 0.012 0.954 Scenario G ( 0 , 76.157 , 0 ) ( 10049 , 339.670 , 2222 )
Scenario H 0.021 0.875 Scenario H ( 0 , 87.005 , 0 ) ( 13772 , 344.052 , 1829 )
Average 0.107 0.755

Table 6
Set coverage results (MOVNS, NSGA-II from Ahmed & Deb of the problem objectives) which is calculated as follows. For the
(2013)). path safety, the ideal value is obtained when a specific path does
SC(NSGA-II, MOVNS) SC(MOVNS, NSGA-II) not cross any of the objects appearing in the environment, that is
to say, a value equal to 0. In the case of the path length, the ideal
Scenario A 0.074 0.791 value is obtained when the starting and the target points of the
Scenario B 0.348 0.280
path can be linked by a single segment. For this reason the best
Scenario C 0.167 0.659
Scenario D 0.043 0.909 value for this objective is the euclidean distance from the start-
Scenario E 0.380 0.548 ing point to the target point of the path. Taking into account that
Scenario F 0.077 0.691 the best hypothetical path is formed by a single segment, the ideal
Scenario G 0.013 0.954 value for the path smoothness is 0. This is due to the fact that in
Scenario H 0.025 0.847
Average 0.140 0.710
a path formed by a single segment no turns exist. On the other
hand, a nadir reference point which is formed by the worst values
of the considered objectives. These values are calculated by adding
an offset equal to 30% to the worst values of the objectives, which
Ahmed and Deb (2013), MOVNS) is equal to 14% as average. For were obtained as result of the configuration tests (see Section 5.2).
these reasons, we can state that the MOVNS algorithm is a better Table 7 shows the reference points considered for each scenario.
alternative versus the NSGA-II (in any of its two versions) algo- In order to view results graphically, the following figures
rithm to solve the PP problem. (Figs. 15–18) show the approximate Pareto front corresponding with
Note that, in this study, two reference points were used for the results obtained by applying the MOEAs over the scenarios A
each scenario in order to compute the hypervolume and test the and G. Please, observe that we have selected a scenario per each
MOEAs. On the one hand, an ideal reference point (the best values map (see Fig. 13 and Table 1). The Pareto fronts represented are
32 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

Fig. 17. Approximate Pareto fronts for the scenario G. MOVNS vs. NSGA-II from Jun and Qingbao (2010).

Fig. 18. Approximate Pareto fronts for the scenario G. MOVNS vs. NSGA-II from Ahmed and Deb (2013).
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 33

Fig. 19. Graphical solution for the scenario A: (A) MOVNS, and (B) NSGA-II from Jun and Qingbao (2010).

Fig. 20. Graphical solution for the scenario A: (A) MOVNS, and (B) NSGA-II from Ahmed and Deb (2013).

Fig. 21. Graphical solution for the scenario G: (A) MOVNS, and (B) NSGA-II from Jun and Qingbao (2010).

those that obtain the median hypervolume for that algorithm in main farther from the ideal solution. This again demonstrates that
each scenario. MOVNS is a better alternative versus NSGA-II in order to solve the
In all graphics (Figs. 15–18), points representing non-dominated PP problem.
solutions of the MOVNS algorithm (circles) clearly tend to ap- Finally, Figs. 19–22 show the best paths corresponding with
proach to the ideal point (represented as a yellow translucent cir- the approximate Pareto fronts showed in Figs. 15–18 respectively.
cle); while the points belonging to NSGA-II (any of its two ver- These paths represent the solution closer to the ideal reference
sions, from Jun and Qingbao (2010) or Ahmed and Deb (2013)) re- point in each case (euclidean distance is used for this). Again, these
34 A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35

Fig. 22. Graphical solution for the scenario G: (A) MOVNS, and (B) NSGA-II from Ahmed and Deb (2013).

images show the advantages of using MOVNS versus NSGA-II when algorithm (specifically the approaches proposed by Jun and Qing-
they are applied to the PP problem. bao (2010) and Ahmed and Deb (2013)), which has been the al-
As conclusion of the experimental outcomes, the following in- gorithm most commonly used by other authors in the literature.
sights can be highlighted: Regarding the obtained results, they have been evaluated by using
both, multi-objective metrics (hypervolume and set coverage) to en-
• From a multi-objective point of view, MOVNS has better hyper- sure the quality of the obtained results and a statistical analysis to
volume and set coverage than the proposals from the other au- demonstrate the statistical relevance of the results. The comparison
thors. This means that MOVNS covers a higher area of the so- showed differences in the approximate Pareto fronts and the solu-
lution search space, obtaining solutions of better quality from tions provided by each MOEA; that is, MOVNS and NSGA-II (from
a multi-objective perspective (that is, taking into account the Jun and Qingbao (2010) and Ahmed and Deb (2013)) (see figures in
three objectives to optimize: path length, safety, and smooth- Section 6). In order to test the MOEAs, and unlike other authors,
ness). we used eight different realistic scenarios. These datasets can be
• MOVNS also has less interquartile range values than the pro- freely downloaded, making easy the reproduction of the research
posals from the other authors. This means that the results ob- and the future comparison with the results of this paper. Taking
tained by MOVNS are more stable and reliable. into account the results presented in Section 6, we can assert that
• The statistical analysis of the variances of the different algo- MOVNS is a better alternative than NSGA-II when they are applied
rithms is positive in almost all the cases. This means that to solve the PP problem. We think this is an important contribu-
the improvements obtained by MOVNS regarding the propos- tion to the mobile robotics, and therefore, to the field of expert
als from the other authors are statistically significant in almost and intelligent systems.
all the cases. As future work, it could be interesting to calculate paths in dy-
• The graphical representation of the Pareto fronts shows that the namic environments since this work only considers static environ-
solutions obtained by MOVNS are nearer to the ideal point (so- ments. Local and dynamic path planners may improve by using
lution). This means that the solutions obtained by MOVNS have multi-objective optimization algorithms like MOVNS.
better quality than the ones obtained by the proposals from the The MOVNS algorithm could be beneficial to many applications
other authors. for mobile robots with global path planning, including residen-
• The graphical representation of the paths shows that the paths tial and factory robot workers, agricultural harvesting, information
obtained by MOVNS have less length, more safety, and/or more gathering (i.e. drones), disaster relief, and exploration rovers. Fur-
smooth movements than the ones obtained by the proposals thermore, MOVNS is a general algorithm and could be applied to
from the other authors. This confirms, from a graphical point of other problems in the field of expert and intelligent systems where
view, the insights previously mentioned. a multi-objective optimization is required.

7. Conclusions and future work Acknowledgements

In this work, the use of a multi-objective approach of the This work was partially funded by the Projects of Excellence
VNS (Variable Neighborhood Search) method has been proposed from the Junta de Andalucía (Spain) ROMOCOG I and ROMOCOG
to solve the Path Planning problem. To the best of our knowledge, II (P09-TEP-4479 and P10-TEP-6412). The work was also partially
no other works have tackled the PP problem by using a Multi- funded by the Spanish Ministry of Economy and Competitiveness
Objective Variable Neighborhood Search algorithm. Moreover, to and the ERDF (European Regional Development Fund), under the
the best of our knowledge, this is the first time that a multi- contract TIN2012-30685 (BIO project).
objective trajectory-based algorithm is used to solve the PP prob-
References
lem. In this study, our approach handles three different objec-
tives: the path safety, the path length, and the path smoothness (see Ahmed, F., & Deb, K. (2011). Multi-objective path planning using spline representa-
Section 3.3). Furthermore, in order to obtain accurate and effec- tion. In Proceedings of the IEEE international conference on robotics and biomimet-
tive paths (solutions), we proposed new evolutionary operators too ics (IEEE-ROBIO 2011) (pp. 1047–1052). doi:10.1109/ROBIO.2011.6181426.
Ahmed, F., & Deb, K. (2013). Multi-objective optimal path planning using elitist non-
(see Sections 4.1.1–4.1.6). In addition, with the aim of comparing dominated sorting genetic algorithms. Soft Computing, 17(7), 1283–1299. doi:10.
with the state of the art, we also used the well-known NSGA-II 10 07/s0 050 0- 012- 0964- 8.
A. Hidalgo-Paniagua et al. / Expert Systems With Applications 58 (2016) 20–35 35

Bartle, R. (2011). The Elements of integration and lebesgue measure. Wiley classics Krishnan, P., Paw, J., & Kiong, T. S. (2009). Cognitive map approach for mobility
library. New York: Wiley. path optimization using multiple objectives genetic algorithm. In Autonomous
Chang, H.-C., & Liu, J.-S. (2009). High-quality path planning for autonomous mo- robots and agents, 2009. ICARA 2009. 4th international conference on (pp. 267–
bile robots with n3-splines and parallel genetic algorithms. In Robotics and 272). doi:10.1109/ICARA.20 0 0.4803970.
biomimetics, 2008. ROBIO 2008. IEEE international conference on (pp. 1671–1677). LaValle, S. M. (2006). Planning algorithms. Cambridge: Cambridge University Press.
doi:10.1109/ROBIO.2009.4913252. Lavin, A. (2014). A pareto front-based multiobjective path planning algorithm. In
Davoodi, M., Panahi, F., Mohades, A., & Hashemi, S. N. (2013). Multi-objective path 2014 IEEE/RSJ international conference on intelligent robots and systems (IROS),
planning in discrete space. Applied Soft Computing, 13(1), 709–720. http://dx.doi. 6th workshop on planning, perception and navigation for intelligent vehicles
org/10.1016/j.asoc.2012.07.023. (pp. 123–130).
Deb, K., Pratap, A., Agarwal, S., & Meyarivan, T. (2002). A fast and elitist multiobjec- Lavin, A. (2015). A pareto optimal D∗ search algorithm for multiobjective path plan-
tive genetic algorithm: NSGA-II. Evolutionary Computation, IEEE Transactions on, ning. CoRR, abs/1511.00787, 1–8.
6(2), 182–197. doi:10.1109/4235.996017. Masehian, E., & Sedighizadeh, D. (2010a). Multi-objective PSO- and NPSO-based al-
Ferariu, L., & Cimpanu, C. (2014a). Multiobjective hybrid evolutionary path planning gorithms for robot path planning. Advances in Electrical and Computer Engineer-
with adaptive pareto ranking of variable-length chromosomes. In Applied ma- ing, 10(4), 69–76. doi:10.4316/AECE.2010.04011.
chine intelligence and informatics (SAMI), 2014 IEEE 12th international symposium Masehian, E., & Sedighizadeh, D. (2010b). A multi-objective PSO-based algorithm for
on (pp. 73–78). doi:10.1109/SAMI.2014.6822417. robot path planning. In Industrial technology (icit), 2010 ieee international confer-
Ferariu, L., & Cimpanu, C. (2014b). Pareto genetic path planning hybridized with ence on (pp. 465–470). doi:10.1109/ICIT.2010.5472755.
multi-objective Dijkstra’s algorithm. In System theory, control and computing (IC- Masehian, E., & Sedighizadeh, D. (2010c). Multi-objective robot motion planning us-
STCC), 2014 18th international conference on (pp. 341–346). doi:10.1109/ICSTCC. ing a particle swarm optimization model. Journal of Zhejiang University SCIENCE
2014.6982439. C, 11(8), 607–619. doi:10.1631/jzus.C0910525.
Geetha, S., Chitra, G., & Jayalakshmi, V. (2011). Multi objective mobile robot path Mladenović, N., & Hansen, P. (1997). Variable neighborhood Search. Computers & Op-
planning based on hybrid algorithm. In Electronics computer technology (ICECT), erations Research, 24(11), 1097–1100. doi:10.1016/S0305-0548(97)0 0 031-2.
2011 3rd international conference on: vol. 6 (pp. 251–255). doi:10.1109/ICECTECH. Mo, H., Xu, Z., & Tang, Q. (2013). Constrained multi-objective biogeography opti-
2011.5942092. mization algorithm for robot path planning. In Y. Tan, Y. Shi, & H. Mo (Eds.),
Geng, N., Gong, D., & Zhang, Y. (2013). Robot path planning in an environment with Advances in swarm intelligence. In Lecture notes in computer science: vol. 7928
many terrains based on interval multi-objective PSO. In Evolutionary computa- (pp. 323–329). Berlin Heidelberg: Springer. doi:10.1007/978- 3- 642- 38703- 6_38.
tion (CEC), 2013 IEEE congress on (pp. 813–820). doi:10.1109/CEC.2013.6557652. Salmanpour, S., Monfared, H., & Omranpour, H. (2016). Solving robot path planning
Gong, D.-W., Zhang, J.-H., & Zhang, Y. (2011). Multi-objective particle swarm opti- problem by using a new elitist multi-objective IWD algorithm based on coeffi-
mization for robot path planning in environment with danger sources. Journal cient of variation. Soft Computing, 1–17. doi:10.10 07/s0 050 0- 015- 1991- z.
of Computers, 6(8), 1554–1561. doi:10.4304/jcp.6.8.1554-1561. Sedaghat, N. (2011). Mobile robot path planning by new structured multi-objective
Guo, F., Wang, H., & Tian, Y. (2009). Multi-objective path planning for unrestricted genetic algorithm. In Soft computing and pattern recognition (SoCPaR), 2011 inter-
mobile. In Automation and logistics, 2009. ICAL ’09. IEEE international conference national conference of (pp. 79–83). doi:10.1109/SoCPaR.2011.6089099.
on (pp. 1046–1051). doi:10.1109/ICAL.2009.5262574. Sheskin, D. (2011). Handbook of parametric and nonparametric statistical proce-
Hansen, P., Mladenović, N., & Moreno Pérez, J. A. (2010). Variable neighbourhood dures (5th ed.). Boca Raton: Chapman & Hall/CRC.
search: Methods and applications. Annals of Operations Research, 175(1), 367– Shih, B.-Y., Chang, H., & Chen, C.-Y. (2013). Path planning for autonomous robots - a
407. doi:10.1007/s10479- 009- 0657- 6. comprehensive analysis by a greedy algorithm. Journal of Vibration and Control,
Hao, W., & Qin, S. (2011). Multi-objective path planning for space exploration robot 19(1), 130–142. doi:10.1177/1077546311429841.
Based on Chaos immune particle swarm optimization algorithm. In H. Deng, Wang, D., Kwok, N., Liu, D., & Ha, Q. (2009). Ranked pareto particle swarm op-
D. Miao, J. Lei, & F. Wang (Eds.), Artificial intelligence and computational intelli- timization for mobile robot motion planning. In D. Liu, L. Wang, & K. Tan
gence. In Lecture notes in computer science: vol. 7003 (pp. 42–52). Berlin Heidel- (Eds.), Design and control of intelligent robotic systems. In Studies in computa-
berg: Springer. doi:10.1007/978- 3- 642- 23887- 1_6. tional intelligence: vol. 177 (pp. 97–118). Berlin Heidelberg: Springer. doi:10.1007/
Hidalgo-Paniagua, A., Vega-Rodríguez, M. A., Ferruz, J., & Pavón, N. (2015). MOSFLA- 978- 3- 540- 89933- 4_5.
MRPP: Multi-objective shuffled frog-leaping algorithm applied to mobile robot Wang, F., & Zhu, Z. (2013). Global path planning of wheeled robots using a multi-
path planning. Engineering Applications of Artificial Intelligence, 44, 123–136. objective memetic algorithm. In H. Yin, K. Tang, Y. Gao, F. Klawonn, M. Lee,
doi:10.1016/j.engappai.2015.05.011. T. Weise, B. Li, & X. Yao (Eds.), Intelligent data engineering and automated learn-
Hidalgo-Paniagua, A., Vega-Rodríguez, M. A., Ferruz, J., & Pavón, N. (2016). Solving ing IDEAL 2013. In Lecture notes in computer science: vol. 8206 (pp. 437–444).
the multi-objective path planning problem in mobile robotics with a firefly- Berlin Heidelberg: Springer. doi:10.1007/978- 3- 642- 41278- 3_53.
based approach. Soft Computing, 1–16. doi:10.10 07/s0 050 0- 015- 1825- z. Wei, J.-H., & Liu, J.-S. (2010). Generating minimax-curvature and shorter n3-spline
Jun, H., & Qingbao, Z. (2010). Multi-objective mobile robot path planning based on path using multi-objective variable-length genetic algorithm. In Networking,
improved genetic algorithm. In Intelligent computation technology and automa- sensing and control (ICNSC, 2010 international conference on (pp. 319–324).
tion (ICICTA), 2010 international conference on: vol. 2 (pp. 752–756). doi:10.1109/ doi:10.1109/ICNSC.2010.5461496.
ICICTA.2010.300. Zhang, Y., Gong, D.-W., & Zhang, J.-H. (2013). Robot path planning in uncertain en-
Kim, J.-H., Kim, Y.-H., Choi, S.-H., & Park, I.-W. (2009). Evolutionary multi-objective vironment using multi-objective particle swarm optimization. Neurocomputing,
optimization in robot soccer system for education. Computational Intelligence 103, 172–185. http://dx.doi.org/10.1016/j.neucom.2012.09.019.
Magazine, IEEE, 4(1), 31–41. doi:10.1109/MCI.2008.930985. Zitzler, E., Deb, K., & Thiele, L. (20 0 0). Comparison of multiobjective evolutionary
Kim, Y.-H., & Kim, J.-H. (2009). Multiobjective quantum-inspired evolutionary al- algorithms: Empirical results. Evolutionary Computation, 8, 173–195. doi:10.1162/
gorithm for fuzzy path planning of mobile robot. In Evolutionary computation, 106365600568202.
2009. CEC ’09. IEEE congress on (pp. 1185–1192). doi:10.1109/CEC.2009.4983080. Zitzler, E., & Thiele, L. (1999). Multiobjective evolutionary algorithms: A compara-
tive case study and the strength Pareto approach. Evolutionary Computation, IEEE
Transactions on, 3(4), 257–271. doi:10.1109/4235.797969.

You might also like