Noname manuscript No. (will be inserted by the editor)
A Fuzzy Particle Swarm Optimization Algorithm for Computer Communication Network Topology Design Salman A. Khan · Andries P. Engelbrecht
Received: date / Accepted: date
Abstract Particle swarm optimization (PSO) is a pow-
topology design problem. Fuzzy logic is incorporated in
erful optimization technique that has been applied to
the PSO algorithm to handle the multi-objective na-
solve a number of complex optimization problems. One
ture of the problem. Specifically, a recently proposed
such optimization problem is topology design of dis-
fuzzy aggregation operator, namely the unified And-Or
tributed local area networks (DLANs). The problem
operator [30], is used to aggregate the objectives. The
is defined as a multi-objective optimization problem
proposed fuzzy PSO (FPSO) algorithm is empirically
requiring simultaneous optimization of monetary cost,
evaluated through a preliminary sensitivity analysis of
average network delay, hop count between communi-
the PSO parameters. FPSO is also compared with fuzzy
cating nodes, and reliability under a set of constraints.
simulated annealing and fuzzy ant colony optimization
This paper presents a multi-objective particle swarm
algorithms. Results suggest that the fuzzy PSO is a
optimization algorithm to efficiently solve the DLAN
suitable algorithm for solving the DLAN topology de-
Salman A. Khan
sign problem.
Computer Engineering Department, King Fahd University of Petroleum & Minerals, Dhahran 31261, Saudi Arabia E-mail:
[email protected] Andries P. Engelbrecht
Keywords Particle swarm optimization · Fuzzy Department of Computer Science, University of Pretoria, Pretoria 0002, South Africa
logic · Multi-objective optimization · Unified And-Or
E-mail:
[email protected]
operator · Network topology design
2
1 Introduction
search techniques have been frequently used to optimize network topology design problems [18, 29, 34, 46,
Particle swarm optimization (PSO) is an optimization
59]. However, these techniques generally do not perform
heuristic proposed by Kennedy and Eberhart [11][12].
well enough when multiple objectives need to be opti-
The PSO algorithm is based on the sociological behav-
mized and/or constraints are present [29, 60–62]. Hence,
ior associated with bird flocking [12]. The algorithm
iterative heuristics, such as evolutionary algorithms or
makes use of cognitive and social information among
swarm intelligence techniques seem to be appropriate
the individuals (particles) to find an optimal solution
approaches to solve the problem. Iterative heuristics
to an optimization problem. The algorithm can be used
have a tendency to escape a local optimum and can
to solve a variety of complex optimization problems, in
often find a global optimum solution in a reasonable
domains of both continuous and binary problems [13].
amount of computational time.
The popularity of PSO is growing with applications in diverse fields of engineering [53, 55, 58], medicine [1, 27, 56, 65], and social sciences [42]. Among many complex optimization problems, com-
The design of distributed local area networks (DLANs), such as campus networks or enterprize networks, is a complex multi-objective optimization problem. This problem requires simultaneous optimization of a number of
puter communication network topology design (CCNTD)
design objectives, such as network delay, monetary cost,
is one problem that has received considerable atten-
hop count between communicating pairs, and network
tion during the past three decades. Significant research
reliability, subject to a set of design constraints. This
has been done to address many variants of the net-
optimization problem tends to have a solution space
work topology design (NTD) problem, and a number
that grows exponentially with the problem size. At-
of techniques have been proposed to find efficient so-
tempts have been made earlier to solve this specific
lutions to these problems [10, 15, 20, 21, 29, 35]. A CC-
problem with optimization techniques such as simu-
NTD problem requires an objective or objectives to be
lated evolution (SimE) [30], ant colony optimization
optimized. Presence of constraints further amplifies the
(ACO) [32], and simulated annealing (SA) [31]. How-
complexity of such problems. However, many of these
ever, application of PSO to the DLAN topology design
approaches have not proven to be fully able to address
problem has not been reported in the literature. There
the problem under consideration [18, 29, 34, 46]. Local
are somewhat simpler versions of the DLAN topology
3
design problems which are NP-hard [15, 17, 20], and hence
cus of this paper is not to compare the variants and
the DLAN topology design problem can be classified as
alterations proposed for PSO by many researchers, but
an NP-hard problem.
rather the development of a fuzzy logic based multi-
Several methods for handling the multi-objective as-
objective PSO, and a preliminary analysis of the fuzzy
pects have been reported in the literature. Some of the
PSO with respect to the UAO operator. The rest of
popular methods [39] are the weighted sum method,
the paper is organized as follows: Section 2 provides
ε-constraint method, lexicographic ordering, goal pro-
the necessary background on PSO. Section 3 provides
gramming, the goal attainment method, and fuzzy logic
a short introduction to fuzzy logic and the unified And-
[64]. Fuzzy logic has received notable attention for multi-
Or operator. A brief description of the DLAN topology
objective optimization (MOO) problems, with appli-
design problem is given in Section 4. Section 5 proposes
cations in various areas. Among various fuzzy oper-
a fuzzy PSO (FPSO) algorithm. Section 6 provides em-
ators, the ordered weighted averaging (OWA) opera-
pirical results and a discussion of the performance of
tor, proposed by Yager [57], has been frequently used
FPSO with respect to the UAO operator. A compar-
to aggregate multiple objectives into a single objective
ison with fuzzy simulated annealing (FSA) and fuzzy
function. Recently, the Unified And-Or (UAO) operator
ant colony (FACO) algorithms is also given in Section
[30], which exhibits mathematical properties similar to
6. Conclusions are provided in Section 7.
that of OWA, has been proposed to aggregate multiple objectives into a single objective function.
2 Particle Swarm Optimization
Most applications of PSO are for single-objective
In PSO, a population of potential solutions to the prob-
optimization problems. In the multi-objective domain,
lem under consideration is used to explore the search
a number of PSO based approaches have been proposed
space [44]. Each individual of the population is called
(as discussed in Section 2.2), and there is still scope
a ‘particle’. A particle has an adaptable velocity (step
for further exploration. The development of a multi-
size), according to which the particle moves in the search
objective PSO for the DLAN topology design problem
space. Moreover, each particle has a memory, remem-
is one step towards the assessment of the performance
bering the best position it has ever visited in the search
of PSO in multi-objective optimization, with applica-
space [14]. This best position is termed as the personal
tion to a real-world design problem. Therefore, the fo-
best, or pbest. The fitness value associated with the
4
pbest position is also recorded. Another “best value” that is tracked by the global version of the particle vi,j (t + 1) = wvi,j (t) + c1 r1,j (t)[yi,j (t) − xi,j (t)] + swarm optimizer is the overall best value, and the associated best location, obtained so far by any particle in
c2 r2,j (t)[ˆ yj (t) − xi,j (t)]
(1)
the population. This location is called the gbest partiwhere w is the inertia weight, c1 and c2 are acceleration cle. Thus, a particle’s movement is an aggregated ‘accelcoefficients, and r1,j , r2,j ∼ U (0, 1) are two indepeneration’ towards its best previously visited position (the dent random numbers sampled from a uniform districognitive component) and towards the best individual bution between 0 and 1. These random numbers induce (the social component) of a topological neighborhood. a stochastic component in the search process. The particle swarm optimization algorithm consists The position xi of a particle i is updated using of, at each time step, changing the velocity (accelerating) of each particle toward its pbest and gbest locations in the global version of the PSO. Acceleration
xi (t + 1) = xi (t) + vi (t + 1)
(2)
is weighted by a random term, with separate random
Figure 1 lists pseudo-code of the basic PSO. There
numbers being generated for acceleration toward pbest
are many main variations of this PSO algorithm [16].
and gbest locations.
Based on the neighborhood topology used, two early
Each particle in the swarm maintains the following information:
versions of PSO have been developed [44]: the global best (gbest) PSO, and the local best (lbest) PSO. The rest of this section discusses PSO parameters
– xi : the current position of the particle; and MOO approaches using PSO. – vi : the current velocity of the particle; – yi : the personal best position of the particle; and – y ˆi : the neighborhood best position of the particle.
2.1 PSO Parameters
The standard PSO algorithm consists of several paramThe velocity update step is specified separately for each dimension, j ∈ 1...N , where vi,j represents the j th dimension of the velocity vector associated with the ith particle. The velocity of particle i is updated using
eters that have an influence on the performance of the algorithm [13]. These include
– Dimensionality of the particles
5
test functions than on versions of the same functions
Algorithm PSO(); For each particle i ∈ 1, ..., s do Randomly initialize xi
in fewer dimensions. – Number of particles (i.e. swarm size)
Initialize vi to zero
Swarm size is another important factor in PSO. InSet yi = xi end For
creasing population size generally causes an increase
Repeat
in computational complexity per iteration, but fa-
For each particle i ∈ 1, ..., s do
vors higher diversity, and therefore, may take less
Evaluate the fitness of particle i
iterations to converge [13]. Generally, there is an Update yi Update y ˆi
inverse relationship between the size of the popula-
For each dimension j ∈ 1, ..., N do
tion and the number of iterations required to find
Apply velocity update using Equation (1)
the optimum of an objective function [13].
end For
– Inertia weight, w Apply position update using Equation (2) end For Until some convergence criterion is satisfied end Algorithm
The inertia weight w is a modification to the standard PSO, proposed by Shi and Eberhart [50], to control the impact of the previous history of veloc-
Fig. 1 Pseudo-code of the basic particle swarm optimization al-
ities on the current velocity, thus influencing the
gorithm
trade-off between global (wide-ranging) exploration and local (nearby) exploitation abilities of the par-
Usually, dimensionality is considered an important parameter in determining the hardness of a problem. PSO has been shown to perform very well on a wide variety of hard, high-dimensional benchmark functions such as the De Jong suite and other hard problems including Schaffer’s f6, Griewank, Ackley, Rastrigin, and Rosenbrock functions [3, 12, 50]. Angeline [13] found that PSO actually performs relatively better on higher-dimensional versions of some
ticles. A larger value of w facilitates exploration (searching new areas), thus increasing diversity. A smaller value of w tends to facilitate local exploitation to fine-tune the current search area. – Acceleration coefficients c1 and c2 The acceleration coefficients, c1 and c2 , associated with the cognitive and social components play an important role in the convergence ability of the PSO. Varying these parameters has the effect of varying
6
the strength of the pull towards the two bests (i.e.
a maximum value, Vmax , on it [14]. Vmax restricts
personal best and neighborhood best). Values of c1
the step size, i.e. the amount by which velocity is up-
= c2 = 0 mean that both the cognitive and social
dated. This upper limit on step sizes prevents indi-
components are absent, and particles keep moving
viduals from moving too rapidly from one region of
at their current speed until they hit a boundary of
the problem space to another, overshooting good re-
the search space (assuming no inertia) [16]. With
gions of the search space. Vmax proved to be crucial,
c1 > 0 and c2 = 0, each particle searches for the best
because large values could result in particles moving
position in its neighborhood, and replaces the cur-
past good solutions, while small values could result
rent best position if the new position is better [16].
in insufficient exploration of the search space due
However, with c2 > 0 and c1 = 0, the entire swarm is
to too small step sizes. The value assigned to Vmax
attracted to a single point, y ˆ. Furthermore, having
is not arbitrary, and should be optimized for each
c1 >> c2 causes each particle to be attracted to its
problem. It is recommended to set Vmax to a value
own personal best position to a very high extent, re-
that is determined by the domain of the variables
sulting in excessive wandering. On the other hand,
[13].
c2 >> c1 results in particles being more strongly attracted to the global best position, thus causing
2.2 PSO and Multi-objective Optimization
particles to rush prematurely towards optima [16]. Van den Bergh [54] showed that the relation between acceleration coefficients and inertia weight should satisfy the following equation to have guar-
PSO was also adapted to solve MOO problems. ReyesSierra and Coello-Coello [49] provided a detailed classification of current MOO approaches for PSO, as discussed below:
anteed convergence:
1. Aggregating approaches c1 + c 2 −1 M axH
(13)
µc (x ) =
1
M axC−Cost M axC−M inC
0
if Cost ≤ M inC Finally, the membership function for reliability, µr , if M inC < Cost ≤ M axC can be determined by finding the maximum (MaxR) if Cost > M axC (11)
and the minimum (MinR) bounds for the reliability. The membership value for reliability is determined as
where the term Cost represents the cost of the solution, ‘MinC’ represents the lower limit of cost and ‘MaxC’ represents the maximum limit of cost. The membership function of delay, µd , can be defined in a similar
µr (x ) =
way. The two extreme values of delay are ‘MinD’ and
1
if Rel ≥ M axR
M axR−Rel M axR−M inR if M inR < Rel ≤ M axR 0 if Rel < M inR
(14)
‘MaxD’ for minimum and maximum delay respectively. The membership value of delay is determined as
Once the individual membership values are found using the above functions, Rule 1 can be mathematically represented using the UAO operator as:
µd (x ) =
1
if Delay ≤ M inD
M axD−Delay M axD−M inD if M inD < Delay ≤ M axD 0 if Delay > M axD
(12)
µ(x)
I?
=
Q4
i=1
µi (x) + ν max{µ1 (x), µ2 (x), µ3 (x), µ4 (x)} ν + max{µ1 (x), µ2 (x), µ3 (x), µ4 (x)} (15)
13
In Equation (15), µ(x)I? represents the membership
guidance in selection of links is provided by three pa-
value of solution x in the fuzzy set good topology using
rameters: the particle’s current position, its own best
the UAO operator. Also, µi for i = {1,2,3,4} represents
position so far, and the best position in relation to
the membership values of solution x in the fuzzy sets
the particle’s neighborhood. Each step of the proposed
low cost, low delay, low hops, and high reliability re-
FPSO is discussed next.
spectively. The solution which results in the maximum value for Equation (15) is reported as the best solution found. However, note that the algorithm generates Pareto optimal solutions (i.e., all best solutions on the Pareto front having equal membership values), and any one of these solutions can be taken as the best solution. A detailed description on formation of membership functions for individual objectives can be found in [30, 31].
5.1 Particle Position and Velocity Representation
For the original PSO, particle position as well as velocity representation were in the real number domain, that is, all xij ∈