scispace - formally typeset
Open AccessBook ChapterDOI

A Gentle Introduction to Memetic Algorithms

Reads0
Chats0
TLDR
The generic denomination of ‘Memetic Algorithms’ (MAs) is used to encompass a broad class of metaheuristics (i.e. general purpose methods aimed to guide an underlying heuristic) and proved to be of practical success in a variety of problem domains and in particular for the approximate solution of NP Optimization problems.
Abstract
The generic denomination of ‘Memetic Algorithms’ (MAs) is used to encompass a broad class of metaheuristics (i.e. general purpose methods aimed to guide an underlying heuristic). The method is based on a population of agents and proved to be of practical success in a variety of problem domains and in particular for the approximate solution of NP Optimization problems. Unlike traditional Evolutionary Computation (EC) methods, MAs are intrinsically concerned with exploiting all available knowledge about the problem under study. The incorporation of problem domain knowledge is not an optional mechanism, but a fundamental feature that characterizes MAs. This functioning philosophy is perfectly illustrated by the term “memetic”. Coined by R. Dawkins [52], the word ‘meme’ denotes an analogous to the gene in the context of cultural evolution [154]. In Dawkins’ words:

read more

Content maybe subject to copyright    Report

A Gentle Introduction to Memetic Algorithms
Pablo Moscato
Departamento de Engenharia de Sistemas,
Faculdade de Engenharia El´etrica, Universidade Estadual de Campinas,
C.P. 6101, Campinas, SP, CEP 13081-970, BRAZIL
e-mail: moscato@densis.fee.unicamp.br
WWW: http://www.densis.fee.unicamp.br/moscato
Carlos Cotta
Departamento de Lenguajes y Ciencias de la Computaci´on,
Escuela ecnica Superior de Ingenier´ıa Inform´atica, Universidad de alaga,
Complejo Tecnol´ogico (3.2.49), Campus de Teatinos,
29071 - alaga, SPAIN
e-mail: ccottap@lcc.uma.es
WWW: http://www.lcc.uma.es/ccottap
1 Introduction and historical notes
The generic denomination of ‘Memetic Algorithms’ (MAs) is used to encompass a broad class of
metaheuristics (i.e. general purpose methods aimed to guide an underlying heuristic). The method
is based on a population of agents and proved to be of practical success in a variety of problem
domains and in particular for the approximate solution of N P Optimization problems.
Unlike traditional Evolutionary Computation (EC) methods, MAs are intrinsically concerned
with exploiting all available knowledge about the problem under study. The incorporation of prob-
lem domain knowledge is not an optional mechanism, but a fundamental feature that characterizes
MAs. This functioning philosophy is perfectly illustrated by the term “memetic”. Coined by R.
Dawkins [52], the word ‘meme’ denotes an analogous to the gene in the context of cultural evolution
[154]. In Dawkins’ words:
“Examples of memes are tunes, ideas, catch-phrases, clothes fashions, ways of making
pots or of building arches. Just as genes propagate themselves in the gene pool by leaping
from body to body via sperms or eggs, so memes propagate themselves in the meme pool
by leaping from brain to brain via a process which, in the broad sense, can be called
imitation.”
This characterization of a meme suggest that in cultural evolution processes, information is not
simply transmitted unaltered between individuals. In contrast, it is processed and enhanced by
the communicating parts. This enhancement is accomplished in MAs by incorporating heuristics,
approximation algorithms, local search techniques, specialized recombination operators, truncated
exact methods, etc. In essence, most MAs can be interpreted as a search strategy in which a
population of optimizing agents cooperate and compete [169]. The success of MAs can probably
Current affiliation: Computer Science Department, University of Newcastle, School of Electrical Engi-
neering & Computer Science, Building EA, University Drive, Callaghan NSW 2308, AUSTRALIA, email:
moscato@cs.newcastle.edu.au, WWW: http://www.cs.newcastle.edu.au/nbi
1

be explained as being a direct consequence of the synergy of the different search approaches they
incorporate.
The most crucial and distinctive feature of MAs, the inclusion of problem knowledge mentioned
above, is also supported by strong theoretical results. As Hart and Belew [88] initially stated
and Wolpert and Macready [224] later popularized in the so-called No-Free-Lunch Theorem, a
search algorithm strictly performs in accordance with the amount and quality of the problem
knowledge they incorporate. This fact clearly underpins the exploitation of problem knowledge
intrinsic to MAs. Given that the term hybridization [42] is commonly used to denote the process
of incorporating problem knowledge, it is not surprising that MAs are sometimes called ‘Hybrid
Evolutionary Algorithms’ [51] as well. One of the first algorithms to which the MA label was
assigned dates from 1988 [169], and was regarded by many as a hybrid of traditional Genetic
Algorithms (GAs) and Simulated Annealing (SA). Part of the initial motivation was to find a way
out of the limitations of both techniques on a well-studied combinatorial optimization problem the
Min Euclidean Traveling Salesman problem (Min ETSP). According to the authors, the
original inspiration came from computer game tournaments [96] used to study “the evolution of
cooperation [6] (see also [171] and [164] for more recent theoretical results in this field). That
approach had several features which anticipated many current algorithms in practice today. The
competitive phase of the algorithm was based on the new allocation of search points in configuration
phase, a process involving a “battle” for survival followed by the so-called “clonation, which has a
strong similarity with the more recent ‘go with the winners’ algorithms [4] [182]. The cooperative
phase followed by local search may be better named “go-with-the-local-winners” since the optimizing
agents were arranged with a topology of a two dimensional toroidal lattice. After initial computer
experiments, an insight was derived on the particular relevance that the “spatial” organization,
when coupled with an appropriate set of rules, had for the overall performance of population search
processes. A few months later, Moscato and Norman discovered that they shared similar views with
other researchers [157] [74] and other authors proposing “island models” for GAs. Spacialization is
now being recognized as the “catalyzer” responsible of a variety of phenomena [164] [163]. This is
an important research issue, currently only understood in a rather heuristic way. However, some
proper undecidability results of have been obtained for related problems [80] giving some hope to
a more formal treatment.
Less than a year later, in 1989, Moscato and Norman identified several authors who were also
pioneering the introduction of heuristics to improve the solutions before recombining them [158]
[73] (see other references and the discussion in [154]). Particularly coming from the GA field,
several authors were introducing problem-domain knowledge in a variety of ways. In [154] the
denomination of ‘memetic algorithms’ was introduced for the first time. It was also suggested that
cultural evolution can be a better working metaphor for these metaheuristics to avoid “biologically
constrained” thinking that was restricting progress at that time.
Ten years later, albeit unfortunately under different names, MAs have become an important
optimization approach, with several successes in a variety of classical N Phard optimization prob-
lems. We aim to provide an updated and self-contained introduction to MAs, focusing on their
technical innards and formal features, but without loosing the perspective of their practical appli-
cation and open research issues.
2 Memetic Algorithms
Before proceeding to the description of MAs, it is necessary to provide some basic concepts and
definitions. Several notions introduced in the first subsection are strongly related to the field of
computational complexity. Nevertheless, they may be presented in a slightly different way and pace
for the sake of the subsequent development. These basic concepts will give rise to the notions of
local search and population-based search, upon which MAs are founded. This latter class of search
2

settles the scenario for recombination, a crucial mechanism in the functioning of MAs that will be
studied to some depth. Finally, some guidelines for designing MAs will be presented.
2.1 Basic Concepts
An algorithm is a detailed step-by-step procedure for solving a computational problem. A compu-
tational problem P denotes a class of algoritmically-doable tasks, and it has an input domain set of
instances denoted I
P
. For each instance x I
P
, there is an associated set sol
P
(x) which denotes
the feasible solutions for problem P given instance x. The set sol
P
(x) is also known as the set of
acceptable or valid solutions.
We are expected to deliver an algorithm that solves problem P ; this means that our algorithm,
given instance x I
P
, must return at least one element y from a set of answers ans
P
(x) (also
called given solutions) that satisfies the requirements of the problem. This is the first design issue
to face. To be precise, depending on the kind of answers expected, computational problems can be
classified into different categories; for instance:
finding all solutions in sol
P
(x), i.e., enumeration problems.
counting how many solutions exist in sol
P
(x), i.e. counting problems.
determining whether the set sol
P
(x) is empty or not, i.e., decision problems.
finding a solution in sol
P
(x) maximizing or minimizing a given function, i.e., optimization
problems.
In this chapter, we will focus on the last possibility, that is, a problem will be considered
solved by finding a certain feasible solution, i.e. either finding an optimal y sol
P
(x) or giving
an indication that no such feasible solution exists. It is thus convenient in may situations to
define a Boolean feasibility function feasible
P
(x, y) in order to identify whether a given solution
y ans
P
(x) is acceptable for an instance x I
P
of a computational problem P , i.e., checking if
y sol
P
(x).
An algorithm is said to solve problem P if it can fulfill this condition for any given instance
x I
P
. This definition is certainly too broad, so a more restrictive characterization for our
problems of interest is necessary. This characterization is provided by restricting ourselves to the so-
called combinatorial optimization problems . These constitute a special subclass of computational
problems in which for each instance x I
P
:
the cardinality of sol
P
(x) is finite.
each solution y sol
P
(x) has a goodness integer value m
P
(y, x), obtained by means of an
associated objective function m
P
.
a partial order
P
is defined over the set of goodness values returned by the objective function,
allowing determining which of two goo dness values is preferable.
An instance x I
P
of a combinatorial optimization problem P is solved by finding the best
solution y
sol
P
(x), i.e., finding a solution y
such that no other solution y
P
y
exists if sol
P
(x)
is not empty. It is very common to have
P
defining a total order. In this case, the best solution
is the one that maximizes (or minimizes) the objective function.
As an example of a combinatorial optimization problem consider the 0-1 Multiple Knapsack
Problem (0-1 MKP). Each instance x of this problem is defined by a vector of profits V =
{v
0
, · · · , v
n1
}, a vector of capacities C = {c
0
, · · · , c
m1
}, and a matrix of capacity constraints
M = {m
ij
: 0 i < m, 0 j < n}. Intuitively, the problem consists in selecting a set of objects
3

so as to maximize the profit of this set without violating the capacity constraints. If the objects are
indexed with the elements of the set N
n
= {0, 1, · · · , n 1}, the answer set ans
P
(x) for an instance
x is simply the power set of N
n
, that is, each subset of N
n
is a p ossible answer. Furthermore,
the set of feasible answers sol
P
(x) is composed of those subsets whose incidence vector B verifies
M · B C
0
. Finally, the objective function is defined as m
P
(y, x) =
P
iy
v
i
, i.e., the sum of profits
for all selected objects, being the goal to maximize this value.
Notice that, associated with a combinatorial optimization problem, we can define its decisional
version. To formulate the decision problem, an integer goodness value K is considered, and instead
of trying to find the best solution of instance x, we ask whether x has a solution whose goodness
is equal or better than K. In the above example, we could ask whether a feasible solution y exists
such that its associated profit is equal or better than K.
2.2 Search Landscapes
As mentioned above, having defined the concept of combinatorial optimization problem the goal
is finding at least one of the optimal solutions for a given instance. For this purpose, a search
algorithm must be used. Before discussing search algorithms, three entities must be discussed.
These are the search space, the neighborhood relation, and the guiding function. It is important
to consider that, for any given computational problem, these three entities can be instantiated in
several ways, giving rise to different optimization tasks.
Let us start by defining the concept of search space for a combinatorial problem P . To do so,
we consider a set S
P
(x), whose elements have the following properties:
Each element s S
P
(x) represents at least one answer in ans
P
(x).
For decision problems: at least one element of
sol
P
(
x
) that stands for a ‘Yes’ answer must be
represented by one element in S
P
(x).
For optimization problems: at least one optimal element y
of sol
P
(x) is represented by one
element in S
P
(x).
Each element of S
P
(x) will be termed a configuration, being related to an answer in ans
P
(x) by a
growth function g : S
P
(x) ans
P
(x). Note that the first requirement refers to ans
P
(x) and not to
sol
P
(x), i.e., some configurations in the search space may correspond to infeasible solutions. Thus,
the search algorithm may need being prepared to deal with this fact. If these requirements have
been achieved, we say that we have a valid representation or valid formulation of the problem. For
simplicity, we will just write S to refer to S
P
(x) when x and P are clear from the context. People
using biologically-inspired metaphors like to call S
P
(x) the genotype space and ans
P
(x) denotes
the phenotype space, so we appropriately refer to g as the growth function.
To illustrate this notion of search space, consider again the case of the 0-1 MKP. Since solutions
in ans
P
(x) are subsets of N
n
, we can define the search space as the set of n-dimensional binary
vectors. Each vector will represent the incidence vector of a certain subset, i.e., the growth function
g is defined as g(s) = g(b
0
b
1
· · · b
n1
) = {i | b
i
= 1}. As mentioned above, many binary vectors may
correspond to infeasible sets of objects. Another possibility is defining the search space as the set
of permutations of elements in N
n
[77]. In this case, the growth function may consist of applying a
greedy construction algorithm [45], considering objects in the order provided by the permutation.
Unlike the binary search space previously mentioned, all configurations represent feasible solutions
in this case.
The role of the search space is to provide a “ground” on while the search algorithm will act, and
of course, indirectly moving in the image set ans
P
(x). Important properties of the search space that
affect the dynamics of the search algorithm are related with the accessibility relationships between
the configurations. These relationships are dependent of a neighborhood function N : S 2
S
. This
4

function assigns to each element s S a set N (s) S of neighboring configurations of s. The set
N (s) is called the neighborhood of s and each member s
0
N (s) is called a neighbor of s.
It must be noted that the neighborhood depends on the instance, so the notation N (s) is a
simplified form of N
P
(s, x) since it is clear from the context. The elements of N (s) need not be
listed explicitly. In fact, it is very usual to define them implicitly by referring to a set of possible
moves, which define transitions between configurations. Moves are usually defined as “local”
modifications of some part of s, where “locality” refers to the fact that the move is done on a single
solution to obtain another single solution. This “locality”, is one of the key ingredients of local
search, and actually it has also given the name to the whole search paradigm.
As examples of concrete neighborhood definitions, consider the two representations of solutions
for the 0-1 MKP presented above. In the first case (binary representation), moves can be defined
as changing the values of a number of bits. If just one bit is modified at a time, the resulting
neighborhood structure is the n-dimensional binary hypercube. In the second case (permutation
representation), moves can be defined as the interchange of two positions in the permutation. Thus,
two configurations are neighboring if, and only if, they differ in exactly two positions.
This definition of locality presented above is not necessarily related to “closeness” under some
kind of distance relationship between configurations (except in the tautological situation in which
the distance between two configurations s and s
0
is defined as the number of moves needed to
reach s
0
from s). As a matter of fact, it is possible to give common examples of very complex
neighborhood definitions unrelated to intuitive distance measures.
An important feature that must be considered when selecting the class of moves to be used in
the search algorithm is its “ergodicity”, that is the ability, given any s S to find a sequence of
moves that can reach all other configuration s
0
S. In many situations, this property is self-evident
and no explicit demonstration is required. It is important since even if having a valid representation
(recall the definition above), it is necessary to guarantee that a priori at least one optimal solution is
reachable from any given initial solution. Again, consider the binary representation of solutions for
a 0-1 MKP instance. If moves are defined as single bit-flips, it is easily seen that any configuration
s
0
can be reached from another configuration s in exactly h moves, where h is the Hamming distance
between these configurations. This is not always the case though.
The last entity that must be defined is the guiding function. To do so, we require a set F whose
elements are termed fitness values (typically F R), and a partial order
F
on F (typically, but
not always,
F
<). The guiding function is defined as a function F
g
: S F that associates to
each configuration s S a value F
g
(s) that assesses the quality of the solution. The behavior of
the search algorithm will be “controlled” by these fitness values.
Notice that for optimization problems there is an obvious direct connection between the guiding
function F
g
and the objective function m
P
. As a matter of fact, it is very common to enforce
this relationship to the point that both terms are usually considered equivalent. However, this
equivalence is not necessary and, in many situations, not even desirable. For decision problems,
since a solution is a ‘Yes’ or ‘No’ answer, associated guiding functions usually take the form of
distance to satisfiability.
A typical example is the Boolean Satisfiability Problem, i.e., determining whether a
Boolean expression in conjunctive normal form is satisfiable. In this case, solutions are assignments
of Boolean values to variables, and the objective function m
P
is a binary function returning 1 if the
solution satisfies the Boolean expression, and returning 0 otherwise. This objective function could
be used as guiding function. However, a much more typical choice is to use the number of satisfied
clauses in the current configuration as guiding function, i.e., F
g
(s) =
P
i
f
i
(s), the sum over clauses
indexes i of f
i
(s), defined as f
i
(s) = 0 for a yet unsatisfied clause i, and f
i
(s) = 1 if the clause i is
satisfied. Hence, the goal is to maximize this number. Notice that the guiding function is in this
case the objective function of the associated N P Optimization problem called Max SAT.
The above differentiation between objective function and guiding function is also very important
5

Citations
More filters
Book

Genetic Algorithms

Journal ArticleDOI

Fifty Years of Vehicle Routing

TL;DR: In this article, the authors provide a brief account of the development in the field of exact algorithms and heuristics for the VRP and present a metaheuristic for the problem.

Fifty Years of Vehicle Routing

TL;DR: The Vehicle Routing Problem was introduced 50 years ago by Dantzig and Ramser under the title “The Truck Dispatching Problem” and has given rise to major developments in the fields of exact algorithms and heuristics.
Journal ArticleDOI

Memetic algorithms and memetic computing optimization: A literature review

TL;DR: Several classes of optimization problems, such as discrete, continuous, constrained, multi-objective and characterized by uncertainties, are addressed by indicating the memetic “recipes” proposed in the literature.
Journal ArticleDOI

Invited Review: Industrial aspects and literature survey: Combined inventory management and routing

TL;DR: This paper describes industrial aspects of combined inventory management and routing in maritime and road-based transportation, and gives a classification and comprehensive literature review of the current state of the research.
References
More filters
Book

The Evolution of Cooperation

TL;DR: In this paper, a model based on the concept of an evolutionarily stable strategy in the context of the Prisoner's Dilemma game was developed for cooperation in organisms, and the results of a computer tournament showed how cooperation based on reciprocity can get started in an asocial world, can thrive while interacting with a wide range of other strategies, and can resist invasion once fully established.
Book

The Selfish Gene

TL;DR: In this paper, the authors take up the concepts of altruistic and selfish behaviour; the genetical definition of selfish interest; the evolution of aggressive behaviour; kinship theory; sex ratio theory; reciprocal altruism; deceit; and the natural selection of sex differences.
Journal ArticleDOI

No free lunch theorems for optimization

TL;DR: A framework is developed to explore the connection between effective optimization algorithms and the problems they are solving and a number of "no free lunch" (NFL) theorems are presented which establish that for any algorithm, any elevated performance over one class of problems is offset by performance over another class.
Book ChapterDOI

Reducibility Among Combinatorial Problems

TL;DR: The work of Dantzig, Fulkerson, Hoffman, Edmonds, Lawler and other pioneers on network flows, matching and matroids acquainted me with the elegant and efficient algorithms that were sometimes possible.
Journal ArticleDOI

Combinatorial optimization: algorithms and complexity

TL;DR: This clearly written, mathematically rigorous text includes a novel algorithmic exposition of the simplex method and also discusses the Soviet ellipsoid algorithm for linear programming; efficient algorithms for network flow, matching, spanning trees, and matroids; the theory of NP-complete problems; approximation algorithms, local search heuristics for NPcomplete problems, more.
Frequently Asked Questions (13)
Q1. What contributions have the authors mentioned in the paper "A gentle introduction to memetic algorithms" ?

The generic denomination of ‘ Memetic Algorithms ’ ( MAs ) is used to encompass a broad class of metaheuristics ( i. e. general purpose methods aimed to guide an underlying heuristic ). 

The future seems promising for MAs. Third, the ubiquitous nature of distributed systems, like networks of workstations for example, plus the inherent asynchronous parallelism of MAs and the existence of web-conscious languages like Java ; all together are an excellent combination to develop highly portable and extendable object-oriented frameworks allowing algorithmic reuse. Second, there are reasons to believe that some new attempts to do theoretical analysis can be conducted. 

The use of blind recombination operators has been usually justified on the grounds of not introducing excessive bias in the search algorithm, thus preventing extremely fast convergence to suboptimal solutions. 

The most crucial and distinctive feature of MAs, the inclusion of problem knowledge mentioned above, is also supported by strong theoretical results. 

The cooperative phase followed by local search may be better named “go-with-the-local-winners” since the optimizing agents were arranged with a topology of a two dimensional toroidal lattice. 

One of the first algorithms to which the MA label was assigned dates from 1988 [169], and was regarded by many as a hybrid of traditional Genetic Algorithms (GAs) and Simulated Annealing (SA). 

Though metaheuristics are extremely powerful in practice, the authors agree that one problem with the current trend of applied research is that it allows the introduction of increasingly more complex heuristics, unfortunately most of the time parameterized by ad-hocnumbers. 

As a logical consequence of the possible directions that MAs can take, it is reasonable to affirm that more complex schemes evolving solutions, agents, as well as representations, will soon be implemented. 

MAs (less frequently disguised under different names) are showing a remarkable record of efficient implementations, providing very good results in practical problems. 

due to a comment by Johnson and McGeoch ([103], page 301), the authors previously suggested that the connection with MAs might be stronger since there is an analogy with multi-parent recombination. 

Surprisingly enough (and here the authors remark the first possibility of using the theory of fixedparameter tractability), the learning is achieved by finding a hitting set which is not necessarily minimal. 

WWW: http://www.lcc.uma.es/∼ccottapThe generic denomination of ‘Memetic Algorithms’ (MAs) is used to encompass a broad class of metaheuristics (i.e. general purpose methods aimed to guide an underlying heuristic). 

it is very likely that no NP−hard problem is contained in class PLS, since that would imply that NP=coNP [226], a conjecture usually assumed to be false.