was developed to solve the problem. (Kulturel-
Konak and Konak, 2010) also applied a simulation
embedded-Particle Swarm Optimization (PSO)
algorithm to the problem with very promising
results. Recently, three nature-inspired heuristics,
namely, ACO, PSO, and Clonal Selection Algorithm
(CSA), were compared in (Konak and Kulturel-
Konak, 2011) in terms of their performances and
convergence properties. In this paper, a CSA is
applied to the problem with an emphasis to discover
not only good but also diverse solutions.
In general networks, exactly calculating CSR(S)
is not practical in reasonable CPU times because its
evaluation is NP-hard as it is the case in many
network reliability analysis problems (Ball, 1980).
Therefore, solutions searched by the CSA are
evaluated by a Monte Carlo (MC) simulation. The
CSA, the MC simulation, and a hashing method are
integrated in a way to minimize the computational
effort to efficiently evaluate candidate solutions and
to reduce the effect of the noise in the objective
function due to the MC simulation.
When simulation is used to evaluate alternative
solutions in a heuristic algorithm, it is important for
the algorithm to return multiple solutions because
the evaluation of solutions includes error due to
simulation. In the context of the RSA problem,
decision makers wish to have a set of alternative
server assignments with high levels of service
availability. This observation is motivated by the
fact that in most real-life reliability optimization
problems, component reliabilities are not hard facts,
but estimations based on historical observations.
Therefore, providing decision makers with a set of
alternative solutions allows them to determine the
final design by weighing other factors in addition to
system availability. The CSA in this paper returns a
set of solutions instead of a single best solution. The
CSA is compared with two previous meta-heuristics,
namely the ACO and the PSO, with respect to its
ability to discover good solutions with diverse
structures. The computational results show that the
CSA can discover more diverse set of solutions than
the ACO and PSO while its performance is par with
them.
2 A CSA ALGORITHM FOR THE
RSA PROBLEM
Artificial Immune Systems (AIS) are relatively new
bio-inspired computational algorithms. The early
theoretical immunology work (Farmer et al., 1986);
(Perelson, 1989); (Varela et al. 1988) has prepared
the origins for AIS. There has been an increasing
interest in AIS approaches to different problems,
such as scheduling, image processing, bio
informatics etc., after early applications on machine
learning (Dasgupta, 1998); (Dasgupta and Nino,
2009); (Hart and Timmis, 2009).
One of the population based AIS algorithms,
namely CSA, is applied to solve the RSA problem in
this paper. The first CSA was developed based on
the foundational clonal selection theory of Burnet
(1959). The basic immunological components are:
maintaining a specific memory set, selecting and
cloning most stimulated antibodies, removing poorly
stimulated or non-stimulated antibodies,
hypermutating (i.e., affinity maturation) activated
immune cells and generating and maintaining a
diverse set of antibodies (Dasgupta, 1998). The
principle of the theory is mainly as follows: The
antigen (i.e., the foreign molecule that the immune
system is defending against) selects the lymphocytes
(i.e., B-cells or white blood cells that detect and stop
antigens) with receptors which are capable of
reacting with a part of the antigen. The rapid
proliferation of the selected cell occurs during the
selection to combat the invasion (i.e., clonal
expansion and production of antibodies). While
duplicating the cells, copying errors occur (i.e.,
somatic hypermutation) resulting in an improved
affinity of the progeny cells receptors for the
triggering antigen. CSA has been applied to many
engineering and optimization problems. A basic
CSA has been proposed by De Castro and von
Zuben (2000) and later renamed as CLONALG by
De Castro and von Zuben (2002), and they also
provide the extensive analysis on the algorithmic
computational complexity. In the general
CLONALG first, antibodies (i.e., candidate
solutions) are selected based on affinity either by
matching against an antigen pattern or via evaluation
of a pattern by an objective function (affinity means
objective function value in optimization problems).
Then, selected antibodies are cloned proportional to
their affinity, and each clone is subject to a
hypermutation inversely proportional to its affinity.
Finally, the resulting clonal-set competes with the
antibody population to survive for membership in
the next generation, and low-affinity population
members are replaced with randomly generated
antibodies (Brownlee, 2007). The main steps of
CLONALG are as follows:
Initialization
While (stopping criteria is not) {
Antigen Selection
A CLONAL SELECTION ALGORITHM TO INVESTIGATE DIVERSE SOLUTIONS FOR THE RELIABLE SERVER
ASSIGNMENT PROBLEM
157