Title: MEMETIC ALGORITHMS
1MEMETIC ALGORITHMS
- Pablo Moscato
- DENSIS FEEC - UNICAMP
- moscato_at_densis.fee.unicamp.br
- www.densis.fee.unicamp.br/moscato
- Memetic Algorithms Home Page
- www.densis.fee.unicamp.br/moscato/memetic_home.ht
ml
2GAs and MAs
- For GAs population ? group of living
organisms - For MAs population ? group with knowledge of
solution methods for the problem... (and the
class !) - Knowledge means... proper and rational reuse of
- Heuristics (constructive and iterative
improvement) - Approximation Algorithms - PTAS - FPTAS
- Exact methods (BnB - truncated BnB - Branch and
Cut) - Properties of the best or optimal solution(s)
- Transformations and reductions...
- Recombination has a more general character than
GAs
3Basic Memetic Algorithm
4Cultural Evolution
- Shared characteristics are not inherited due to
simple processes of recombination of previous
solutions - Examples
- Formula 1 (technological evolution)
- Martial Arts
- The use of totally random mutation has a
significantly less important rôle. - Heavy use of historical information and an
external logic to speed-up the process.
5Memetic Algorithms for combinatorial optimization
problems
- Meme word introduced by Richard Dawkins in
his best-seller book The Selfish Gene (76). - unit of imitation, analogous rôle of gene but
- in the field of cultural evolution.
- Memetic Algorithms (MAs, 89) caracterization
of evolutionary algorithms that can hardly fit
the GAs methaphor - no, or small, relation with
biology - hybrid GAs ?
MAs - Scatter Search (Glover, 77) ? MAs
6Comparative Glossary
- In GAs we generally define
- Individual (genotype, cromossome, struture,
string, etc.) - chain of genes that codifies for a given
configuration/solution of the problem at hand. - coding (several ways, i.e. general rules, kind
of art ) - In MAs prefer to use the word Agent
- we code not only for a confg./solution., we also
include resolution methods for the problem (and
problem class) we wish to solve. - Use of multiple representations (cultural
evolution).
7Multiple representations - Example
- Number Partitioning
- exemple partition of 15, 12, 10, 9, 4 in two
sets - 15, 10 and 12, 4, 9.
- Binary Direct Representation s (1, -1, 1, -1,
-1). - Ternary Direct s(TD) (1, ?, 1, ?, -1)
- with greedy decoding ( s (TD,g) -gt s).
- Binary direct ? Ternary direct.
- decoding known as growth function, since it
maps from genotype s(TD) to phenotype s.
8Multiple representations (continuation)
- Genotype a configuration in search space.
- Phenotype ? feasible solution (not always the
case...). - Diferent decoders give birth do diferent
representations (since the same genotype can give
diferent phenotypes) - Generally, decoding/growth function is a
deterministic process (though randomization may
be useful for sampling, specially in problems
beyond NP). - A phenotype can be the image of several
genotypes. - GAs are generally more related with a single type
of decoding (MAs have implicit more freedom).
9Other types of multiple representations
- Sometimes the best representation is not the
naive one for a given problem - Exemple 1 binary matrix representation
- xij 1 if the integers ai and aj are in
diferent partitions xij 0, otherwise. - To discuss advantages and disadvantages...
- Exemple 2 tree representation
- Fact Every tree has a 2-coloring ? we can
- then represent two partitions...
10Tree representation for number partitioning
- In the previous example...
- phenotype partition in two groups
- 15, 10 and 12, 4, 9.
- Genotype is a tree
11Chain or path representation
- Exemple 3 let the phenotype be the partition
- 125, 365, 40, 120, 237, 43, 158, 101
- It can be represented by the genotype
- 125 -- 237 -- 365 -- 43 -- 40 -- 158 -- 120 --
101 - cost 650 - 539 111
- Local search if we pick a subpath that starts
and ends with - a diferent colour (for instance 237 -- 365 -- 43
-- 40) - and we change switch the endpoints we get
- 125 -- 40 -- 43 -- 365 -- 237 -- 158 -- 120 --
101 - cost 525 - 664 139
-
-
12Mutation and Representation
- For GAs we say
- mutation
- small random perturbation that modifies a
chromosome - For MAs
- totally random mutation is allowed...
- Sometimes is needed but is not very efficient.
- small... it depends on the representation.
- Mutation is important
- for some specific type of non-structured
instances or when recombination is not working
well. - when diversity crisis occurs
13 Invariant glossary of GAs and MAs
- Population
- a set of individuals (resp. agents) that
represent the associated configurations in the
search space. - Generation
- arbitrary separation of different populations as
time evolves - Fitness function (we prefer guiding function)
- it can be a multiobjetive function, even in the
case of a single objective function naturally
associated with the problem.
14Invariant glossary (continuation)
- Reproductive operator (recombination/crossover)
- In MAs we classify
- crossover ? recombination
- crossover
- only between two genotypes
- low complexity - maximum O(n log n)
- recombination
- it can be blind ou myopic or have
- complete knowledge
-
15Representation - Good and desired features
- Complete representation and valid representation.
- Complete all feasible solution of the problem is
represented by at least one configuration in
configuration space. - Valid at least one of the optimal solutions of
the problem is represented by one configuration
in the search space. Complete -gt Valid, the
inverse is not true. - Mutation small structural changes should have as
a consequence small variations of the objective
function and in the guiding function as well. - Homework Study several natural mutations for the
representations we discussed for the number
partitioning problem. Worst-case vs. Average-case
analysis ?
16Representation - Good problems ?
- Some problems apparently have some naturally good
representations for GAs o MAs. - Problems in the DLS class (discrete linear
subset). - Problems with low epistasis.
- DLS (Definition) Let N1, ..., n and let F be
a set of subsets of N, F ? 2N with the property
that no set in F is properly contained in another
one. The problem DLS (F, w) is the combinatorial
optimization problem with feasible set F and with
cost function - cost(f) ? wi f?F, ? i ? f
- where w (w1, ..., wn) is a weight vector
(given) in Rn.
17Problems in DLS, are they all NP-Hard ?
- By the previous definition, the answer is No.
Examples... - The Min TSP is a DLS problem. Let n be the
number of edges of a complete graph K_n, then F
exactly contains the set of integers (i.e., the
integers that represent edges) corresponding to
tours in K_n. The vector of costs w is a 1-dim
array representation of the distance matrix
between cities. - The Minimum Spanning Tree, is a polynomial-time
problem that also belongs to DLS. - Shortest-Path, Min-cost flow, Maximum weight set
in a matroid, Weighted matroid intersection, and
weighted 3-matroid intersection also belong to
DLS.
18The traveling salesman problem (from Chvatals
page)
- 1800-1900 first descriptions of the problem
- 1920-1930 problem becomes well defined
- 1940-50 it starts to be recognized as hard
- 1954 an instance with 42 cities is solved to
optimality.
19120 cities of West Germany (1977)
20532 cities from the United States (1987) att532
21Optimal solution for instance pcb3038
22Largest instance solved to optimality (1998)
usa13509
23Moscato and Tinetti ( 92, MA for the TSP)
solution pocket/fitness solution current/fitness
- PocketPropagation()
- Agents use three different heuristics (2-opt,
one-city insertion, e two-city insertion ). - Solutions get modified when they go up the
hierarchy - example agents 10 -gt 3 -gt 1...
- Transputers (constraint and inspiration)
24Strategic Edge Crossover (Norman Moscato, 92)
- based on Edge Recombination (Whitley, 91)
- generalized to the ATSP, called SAX
- (Buriol, França, Moscato, 99)
- selection of two tours A and B
- EdgeMap (auxiliary data structure)
- build strings with edges from A and B.
- Karps patching heuristic !!
- Faster patching methods can be used.
- Very good results for ATSP instances !!
25DPX para o TSP (Merz Freisleben, 96)
- Objetive Recombination with a good synergy with
a powerful local search scheme (based on a
version of Lin-Kernighan) - Problem Lin-Kernighans local minima have many
edges in common. Recombination operators that do
not take this into account would suffer great
diversity losses. - Solution Forbid edges in (A-B) ? (B-A) !
- while including all edges in (A ? B)
- Property d(y,A) d(A,B) (suggested the name)
- Result Excellent ! (best 2-parent MA ever
built !)
26MFNNRER (Holstein Moscato, 98)
- MFNNRER Multiple Fragment with Nearest
Neighbour Repair Edge Recombination - 1) Find all edges in SA ? B and include them in
the child - 2) Order edges in L(A ? B) - S (A-B) ? (B-A)
in incresing length order (breaking ties at
random). - 3) Starting with the first edge in L, add it to
the child - if a) no city should have three edges
incident to it - b) no subtour should be formed
- 4) Run a Nearest Neighbour heuristic having as
input the cities that only have 0 or 1 edges
incident in the strings formed on step 3.
27Why so many recombination operators ?
- Actually, they all reflect an underlying, more
general strategy - 1) Find some kind of similarity between two
solutions A and B, call the set SA ? B and
insert it in the child. - 2) Define two sets S(in) and S(out) of desired
and non-desired features (one or both can be
empty). - 3) Trying to keep all elements of S in the new
solution, try to find another feasible solution
that maximizes (respectively, minimize) the
elements from S(in) (respectively, from S(out)).
28Why so many recombination operators ?
(continuation)
- In the previous examples
- MFNNRER was used in an MA with a very simple
local search scheme (2-opt). - SAX is being used in an MA with a local search
restricted to a subset of the 3-opt neighborhood.
- SAX e MFNNRER try to give priority to edges
present in both parent solutions. - Fact two 2-opt tours have on average 66 of
the edges in common (intensification is
needed). - DPX explicitly forbids edges which are not
common (diversification is needed due to LK
neighborhood used).
29New combinatorial optimization problems !!
- Recombination can be regarded as a heuristic way
of solving new types of combinatorial
optimization problems !!! - THIRD (BETTER-THAN-WORST) HAMILTONIAN CYCLE
- Instance Graph G(V,E,W), and two hamiltonian
cycles C1 and C2 of G, such that C1?C2, and
w.l.o.g. Long(C1) ? Long(C2). - Question ? another C, Hamiltonian cycle of
G, - such that C? C1, C2 and Long(C) lt Long(C2)
? - Unknown computational complexity !!!
(NP-complete ?) - This means.... Less chances of being fired !
- (not only MAs help us to address NP-hard
problems... - ...they help us to create new ones
!!)
30A chance to revisit old friends...
- Recombination would also help us to revisit some
old combinatorial optimization problems. - RESTRICTED HAMILTONIAN CYCLE (RHC)
- Instance Graph G(V,E) and a Hamiltonian path P
of G. - Question ? a Hamiltonian cycle in G ?
- Computational complexity known !!!
- NP-complete... (see Papadimitriou Steiglitz,
Combinatorial Optimization, Chapter 19, pp.
477-480). - This means.... May be there is a way of reducing
RHC to our previous problem and prove it
NP-Complete. (???) -
31Recombination Procedure (SAX)
32Local Search Algorithm Recursive Arc Insertion
(RAI)(Buriol, França, and Moscato)
- Recursive application of 3-changes
- Key idea divide the tour in a subtour and a path
string and insure feasibility back as soon as a
decreasing tour can be constructed.
33Recursive Arc Insertion - Step-by-Step
i
i
i
j
j
i
i
i
j
j
j
34Computational Results with RAI and four
recombinations
35Computational results with other methods for the
ATSP
36Structured vs. non-sturctured populations
- 30 runs on each of the 27 instances of the ATSP
available from the TSPLIB which were solved to
optimality.
37MAs with Multiple Representations
- Example let us suppose we have a phenotype
- 125, 365, 40, 120, 237, 43, 158, 101
- it can be represented by the genotype
- 125 -- 237 -- 365 -- 43 -- 40 -- 158 -- 120 --
101 - cost 650 - 539 111
- we can get the subpath 237 -- 365 -- 43 -- 40
- and make a 2-opt move we get
- 125 -- 40 -- 43 -- 365 -- 237 -- 158 -- 120 --
101 - cost 525 - 664 139
- ... Lesson we can use 2-opt-like algorithms for
this problem...
38Future issues - gt MemePool as a generic framework
- MAs with multiple representations
- Frameworks for MAs to exploit code reuse
- MemePool Project
- Polynomial Merger Algorithms
- Problems outside NP
- Linear Programming ?
- Maximum Cardinality Matching ?
- Problems in PSPACE ?
- GAs vs MAs
- Complete Memetic Algorithms
39Representação e Ótimos Locais
- Analise o problema e a representação
- max f(x) (x-14)2,
- s.a. x ? 0,31 e inteiro
- representação ? binaria, cada inteiro como um
cromossomo de 5 bits. O vetor (0,0,0,0,0)
representa 0 e (1,1,1,1,1) -gt representa 31. - população inicial ? aleatória
- tamanho da população e tipo ? 5, fixa, sem
estrutura. - função de fitness ? f(x)
40Exemplo
- População inicial gerada
- x f(x)(x-14)2
- A1 ? 1 0 0 1 1 19 25
- A2 ? 0 0 1 0 1 5 81
- A3 ? 1 1 0 1 0 26 144
- A4 ? 1 0 1 0 1 21 49
- A5 ? 0 1 1 1 0 14 0
- Escolha dos pais com maior fitness ? A3 , A2
- geração de 1 filho, que substituirá o indivÃduo
com menor fitness A5
Pai 1
Pai 2
41Exemplo
- x f(x)(x-14)2
- Pai1 A2 ? 0 0 1 0 1 5 81
- Pai2 A3 ? 1 1 0 1 0 26 144
- Filho ? 0 0 0 1 0 2 144
- mutação ? 0 0 0 1 0 2 144
- x f(x)
- A1 ? 1 0 0 1 1 19 25
- A2 ? 0 0 1 0 1 5 81
- A3 ? 1 1 0 1 0 26 144
- A4 ? 1 0 1 0 1 21 49
- A5 ? 0 0 0 1 0 2 144
-
Pai 2
Pai 1
42Exemplo
- x f(x)
- Pai1 A5 ? 0 0 0 1 0 2 144
- Pai2 A3 ? 1 1 0 1 0 26 144
- Filho ? 0 0 0 1 0 2 144
- mutação ? 0 0 0 0 0 0 196
- x f(x)
- A1 ? 0 0 0 0 0 0 196
- A2 ? 0 0 1 0 1 5 81
- A3 ? 1 1 0 1 0 26 144
- A4 ? 1 0 1 0 1 21 49
- A5 ? 0 0 0 1 0 2 144
Pai 1
Pai 2
43Exemplo
- x f(x)
- Pai1 A1 ? 0 0 0 0 0 0 196
- Pai2 A5 ? 0 0 0 1 0 2 144
- Filho ? 0 0 0 0 0
- mutação ? 0 0 0 0 1 1 169
- x f(x)
- A1 ? 0 0 0 0 0 0 196
- A2 ? 0 0 1 0 1 5 81
- A3 ? 1 1 0 1 0 26 144
- A4 ? 0 0 0 0 1 1 169
- A5 ? 0 0 0 1 0 2 144
- e assim continua...
44Representação binaria e código de Gray
- x f(x)(x-7)2 binaria Gray
- 0 49 0000 0000
- 1 36 0001 0001
- 2 25 0010 0011
- 3 16 0011 0010
- 4 9 0100 0110
- 5 4 0101 0111
- 6 1 0110 0101
- 7 0 0111 0100
- 8 1 1000 1100
- 9 4 1001 1101
- 10 9 1010 1111
- 11 16 1011 1110
- 12 25 1100 1010
- 13 36 1101 1011
- 14 49 1110 1001
- 15 64 1111 1000
45Representação, código de Gray e fitness
landscape
- f(x)(x-7)2 delta_f binaria diff
- 49 1564-49 0000 4
- 36 1349-36 0001 1
- 25 1125-36 0010 2
- 16 9 0011 1
- 9 7 0100 3
- 4 5 0101 1
- 1 3 0110 2
- 0 1 0111 1
- 1 1 1000 4
- 4 3 1001 1
- 9 5 1010 2
- 16 7 1011 1
- 25 9 1100 3
- 36 11 1101 1
- 49 13 1110 2
- 64 15 1111 1
46Representação, código de Gray e fitness
landscape
- delta_f diff
- 15 4 60 suma total
- 13 1 13 representação binaria
- 11 2 22
- 9 1 9 601322... 240
- 7 3 21
- 5 1 5 suma total
- 3 2 6 representação de Gray
- 1 1 1
- 1 4 4 151311... 128
- 3 1 3
- 5 2 10
- 7 1 7 240/128 1.875
- 9 3 27 (métrica de comparação ?)
- 11 1 11
- 13 2 26
- 15 1 15
47Representação - Hipercubo binario
7
15
3
6
14
11
2
4
5
13
12
0
1
8
9
10
48Representação - Código de Gray
5
10
2
4
11
13
3
7
6
9
8
0
1
15
14
12
49Representação, código de Gray e fitness
landscape
- Problema cómo avaliar uma métrica dada ?
- 1) Análise estatÃstica
- 2) Análise asintótico... (?)
- 3) Análise do pior caso... pode ser feito, mas é
pouco relevante para entender a dinámica do
algoritmo evolutivo. - Existe alguma métrica geralmente aceita para
poder analisar diferentes representações ? - Não, mais geralmente se traduz em principios,
e.g. - building block hypotheses, baixa epistasis,
etc. - Ideia básica configurações vizinhas (para a
mutação) tem que ter valores semelhantes da
função de fitness (correlação local).
50Análise estatÃstica e representaçãoes boas
- Moscato (89) On evolution, search..., discute
a correlação de ótimos locais como essencial
para os MAs. Dependencia não só do problema mais
da instancia ! - Radcliffe The Algebra of Genetic Algorithms,
(preprint, 92) discute uma formalização dos GAs
em termos de formae. Inspiração em Algebra
Linear. - Hoffman (Tese, TU Münich, 93), usa formae
theory para analizar varios operadores de
recombinação para o problema do caixeiro
viajante. - Moscato (93) paper em Annals of Operations
Research, vol. 41. - a) representações com ótimos locales são as
veces naturais para alguns problemas. Se não,
o problema é cómo desenhar elas para MAs
eficentes. -
51Análise estatÃstica e representaçãoes boas
- Moscato (93) paper em Annals of Operations
Research, vol. 41. - b) fitness distance analisis para o problema
do perceptron binario. - c) Tabu Search Muito bom para diversificação
(sempre que não seja excessiva) da população. - Radcliffe Surry (94) dois trabalhos Formal
Memetic Algorithms, e Fitness variance of
formae and performance prediction. - a) MAs são muito melhores que GAs para alguns
problemas (e.g. TSP) - b) Como Hoffmann, análise estatÃstica e
possivel com ajuda da simulação computacional.
52População inicial - GAs e MAs
- Aleatória ou com uma heurÃstica de construção
- válido para GAs e MAs
- perturbação para gerar diferentes indivÃduos.
- perturbação anterior nos dados de entrada da
heurÃstica -gt construção de diferentes soluções. - nos MAs
- Efeitos transitórios...
- Causa ótimos locais dos processos de busca podem
ser bons, mas muito distantes entre eles.
53Estrutura da População
- Idéia básica
- Aproveitar o isolamento por distância entre
indivÃduos para diminuir o problema de perda
de diversidade. - Conceito importante
- deriva genética (random genetic drift)
- migração
- Tarefa veja o que acontece se num GA que você
tenha já implementado para um problema X a
função de fitness é constante para todo
fenotipo...
54Politicas de reprodução em MAs
- Escolha dos pais totalmente aleatória.
- Aleatória mais relacionada com o valor de fitness
- Otimalidade de Pareto.
- Crise de diversidade modifica a seleção.
- quando há estrutura, migração pode ser uma boa
alternativa (ver por exemplo os artigo de Martina
Gorges-Schleuter, Mülhenbein, Markus Schwem).
55Exemplo de uma estrutura de população
solução pocket/fitness solução current/fitness
- 13 agentes ? 2 cromossomos ? Pocket e Current.
- para todo agente, pocket é sempre melhor que
current. - agentes 2, 3, e 4 são a sua vez lideres e
subordinados. - se pocket subordinado melhor que pocket do lÃder
então troca de solução - pocket de 1 terá a melhor solução
56Moscato - Tinetti (92, MA para o TSP)
solução pocket/fitness solução current/fitness
- PocketPropagation(), e um processo de migração.
- Agentes usavam tres diferentes heurÃsticas
(2-opt, one-city insertion, e two-city insertion
). - Soluções modificavam-se ao subir na hierarquia
- exemplo agentes 10 -gt 3 -gt 1...
- Transputers (necessidade e inspiração)
57Recombinação com personalidade ou
behaviourBerretta Moscato, in New Ideas in
Optimization, Corne, Glover, and Dorigo (eds.),
McGraw-Hill, 99
- R e um operador de recombinação parameterizado
- conciliador R(A 0 0 1 0 1 , B 1 0 1 1 0 )
-gt x 0 1 x x -gt yc - rebelde R(A 0 0 1 0 1, B 1 0 1 1 0 ) -gt
1 x x 1 0 -gt yr - bajulador R(A 0 0 1 0 1, B 1 0 1 1 0 ) -gt
0 x x 0 1 -gt yb - Propiedade d(yc,A) ? d(A,B) para tudo yc
- Notar que para yr 1 1 0 1 0 d(yr,A) 5,
então em geral o comportamento rebelde e
bajulador não satisfazem a propriedade acima. - Em geral GAs só tem tipo conciliador -gt perda de
diversidade
58Recombinação com behaviours para o TSP ?
- R e um operador de recombinação parameterizado
- conciliador input (A, B) -gt arcos em A ? B
-gt yc - rebelde input (A,B) -gt arcos em B-A -gt
yr - bajulador input (A,B) -gt arcos em A-B -gt
yb - Propriedade d(yc,A) ? d(A,B) para tudo yc
ainda é válida ? - Caso 1 d(A,B) n - A ? B
- onde n é o número de
cidades. - Caso 2 d(A,B) n - de corners comuns
59DPX para o TSP (Merz Freisleben, 96)
- Objetivo Recombinação que colabore com uma busca
local poderosa (baseada no algoritmo de
Lin-Kernighan) - Problema MÃnimos locais do algoritmo de
Lin-Kernighan têm muitas arestas semelhantes.
Recombinações que não tenham em conta esse fato
dão MAs com grandes perdas de diversidade
(performance ruim). - Solução Proibir arestas em (A-B) ? (B-A) !
- Incluir todas as arestas em (A ? B)
- Propriedade d(y,A) d(A,B)
- Resultado Excelente! (com estruturas de dados
adicionais) -
60Strategic Edge Crossover
- Introduzido por Norman Moscato, 92
- baseado no Edge Recombination (Whitley, 91)
- Composto por quatro fases
- seleção de dois tours A e B para recombinação
- construção do EdgeMap
- geração das strings provenientes de arcos de A e
B - união destas para obter um novo tour factÃvel.
- Karps patching heuristic !!
61SAX, o seu ArcMap (Buriol, França, Moscato)
62CreateString e PatchString
- Strings provenientes de arcos de A e B geradas
pelo - procedimento chamado CreateString.
- Algoritmo PatchString factibiliza a rota.
63MAs for Single Machine Scheduling (with set-up
times and due dates) Mendes, França, Moscato
- O Problema é definido como
- Input n tarefas tem que ser processadas em uma
máquina. - p p1, ..., pn ( vetor de tempos de
processamento - para cada tarefa).
- d d1, ..., dn (vetor de datas de entrega
). - Sij, n x n, matriz de inteiros, where Sij is
the tempo de setup que a maquina precisa para
começa a processar a tarefa j depois de ter
completado a tarefa i. - Task Achar a permutação do conjunto de tarefas
que minimize a seguinte função objetivo - onde ck e o chamado completion time para a
tarefa k. -
64Algoritmo Memético baseado em busca local
65Algoritmo Memético para o SMS - Detalhes de
implementação
- Representação -gt vetor de inteiros 1,...,n
(permutacões) - Recombinação -gt OX (Order Crossover)
- Pai A 1 3 2 7 8 6 9 4 5
- Pai B 1 7 8 4 5 6 2 3 9
- Filho inicial 7 8 6 9
(Pai A) - 1 7 8 6 9 (Pai B)
- 1 4 7 8 6 9 (Pai B)
- 1 4 5 7 8 6 9 (Pai B)
- 1 4 5 7 8 6 9 2 (Pai B)
- Filho final 1 4 5 7 8 6 9 2 3 (Pai B)
66Algoritmo Memético para SMS - Detalhes de
implementação
- Mutação -gt Troca de posição de tarefas
- Exemplo
- 1 3 2 7 8 6 9 4 5 ? 1 3 6 7 8 2
9 4 5 - Original Mutado
- Função de Fitness
-
- onde Ti e o atraso total para a solução i na
população.