Information Technology Reference
In-Depth Information
attractors. On the other hand, genetic algorithm is a good example of population-
based method since the solution search is carried out by multiple genes or agents in
parallel. It is difficult to decide which type of method is more efficient as both types
work almost equally successfully under appropriate conditions. There are some hints
from the recent studies that population-based algorithms might be more efficient for
multiobjective multimodal optimization problems as multiple search actions are in
parallel. This might be true from the implementation viewpoint. However, it is far
from conclusive and there exists virtually no theoretical research to back this up.
3.2 Popular Metaheuristic Algorithms
We will now briefly introduce some popular metaheuristic algorithms, and we will try
to see how intensification and diversification are used.
3.2.1 Evolutionary Algorithms
Evolutionary algorithms are the name for a subset of evolutionary computation [7].
They are the search methods that were inspired from Charles Darwin's natural selec-
tion and survival of the fittest. Evolutionary algorithms are population-based search
algorithms and they use genetic operators to a certain degree. These operators typi-
cally include crossover or reproductive recombination, mutation, inheritance and
selection based upon their fitness.
Genetic algorithms are by far the most popular and widely used [8, 9]. However,
other evolutionary search methods, including genetic programming (GP), evolution-
ary strategies (ES), and evolutionary programming (EP), are also popular. Briefly
speaking, genetic programming is an evolutionary machine-learning technique in the
framework of genetic algorithms where each individual in the population is a com-
puter program using a scheme-style computer language such as Lisp. The objective is
to find the optimal computer program to perform a user-defined task.
Evolutionary strategy is another class of nature-inspired evolutionary optimization
techniques. It mainly uses mutation, selection and element-wise average for interme-
diate recombination as the genetic operators. It has been applied to a wide range of
optimization problems.
Evolutionary programming uses arbitrary data structures and representations tai-
lored to suit a particular problem domain, and they are combined with the essence of
genetic algorithms so as to solve generalized complex optimization problems. EP is
very similar to ES, but does not have the recombination operator. The main difference
between EP and other methods is that EP does not use exchange of string segments,
and thus there is no crossover or recombination between individuals. The primary ge-
netic operator is mutation, often using Gaussian mutation for real-valued functions.
However, its modern variants are more diverse.
Here we will briefly introduce the basic idea of genetic algorithms. Genetic algo-
rithms were developed by John Holland in the 1960s and 1970s [8], using crossover,
mutation and selection for adaptive, optimization and other problems. The essence of
genetic algorithms involves the encoding of an optimization function or a set of func-
tions into arrays of binary or character strings to represent chromosomes, and the
manipulation of these strings by genetic operators with the ultimate aim to find the
optimal solution. The encoding is often carried out into multiple binary strings (called
Search WWH ::




Custom Search