Você está na página 1de 15

Meta-heurísticas em

Otimização Combinatória
Tema 5
Simulated Annealing

Profª Laura Bahiense


(laura@pep.ufrj.br)
Escopo
Introdução

Recozimento físico

Fundamentos do Método de Recozimento Simulado

Analogia com a Otimização Combinatória

Algoritmo

Detalhes de Implementação

Profª Laura Bahiense 2/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Introdução
Proposto por S. Kirkpatrick, C. D.Gelatt e M. P. Vecchi em 1983

Em português: Recozimento Simulado

Ideia: simular o processo de recozimento dos metais

Estabelecer uma conexão entre:

 A mecânica estatística: trata do comportamento de sistemas com vários graus de


liberdade em seu equilíbrio térmico a uma certa temperatura

 A otimização combinatória: trata de encontrar um mínimo ou um máximo de uma


dada função dependendo de vários parâmetros

Profª Laura Bahiense 3/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Fundamentos do método:
recozimento físico
Recozimento físico:

 O sólido é aquecido além do seu ponto de fusão e é posteriormente resfriado

 Resfriamentos rápidos conduzem a produtos menos estáveis, porém de maior


energia interna

 Resfriamentos lentos conduzem a produtos mais estáveis, estruturalmente fortes,


porém de menor energia interna

 Quando o resfriamento é suficientemente lento, obtém-se uma estrutura


cristalina livre de imperfeições (estado de baixa energia)

 Isso deve ser feito cuidadosamente, de forma bastante lenta, caso contrário o
sólido sai do ponto de equilíbrio e o material resultante (metal ou cristal, p.ex.)
pode ficar com vários defeitos

Profª Laura Bahiense 4/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Fundamentos do método:
recozimento simulado (1/3)
Recozimento simulado:

 Determinar o estado de baixa energia de um sistema é um problema de


otimização, embora não seja um problema combinatório

 A ideia então consiste em construir um processo de recozimento computacional


que simule o processo de recozimento físico

 Algoritmos baseados em melhorias iterativas se assemelham ao processo de


rearranjo microscópico modelado pela mecânica estatística, onde a função de
custo faz o papel da energia

 Porém, se forem aceitos apenas rearranjos que melhoram (neste caso, abaixam)
o valor da função de custo do sistema, chegar-se-ia muito rapidamente a T=0
(temperatura=0), levando a soluções arbitrariamente ruins

Profª Laura Bahiense 5/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Fundamentos do método:
recozimento simulado (2/3)
O Algoritmo de Metropolis:
 O algoritmo de Metropolis, vindo da mecânica estatística, é um
procedimento de melhorias iterativas onde pioras (neste caso,
aumentos na função de custo) controladas podem ser
incorporadas à busca por uma melhor solução
 (N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller, E. Teller, J.
Chem. Phys. 21, 1087, 1953), nos primórdios da computação
científica, introduziu um algoritmo simples para simular uma
coleção de átomos em equilíbrio para uma dada temperatura
 Em cada passo do algoritmo, um átomo sofre um pequeno deslocamento aleatório,
e a alteração resultante (ΔΕ) na energia do sistema é computada
 Quando esta alteração é não-positiva (ΔΕ ≤ 0), ela é aceita, e a configuração com
o átomo deslocado é usada como ponto inicial para o próximo passo
 Quando esta alteração é positiva (ΔΕ > 0), ela é tratada de forma probabilística:
ela é aceita com a seguinte probabilidade:
p(ΔΕ) = e − ΔΕ κB T

Profª Laura Bahiense 6/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Fundamentos do método:
recozimento simulado (3/3)
O Algoritmo de Metropolis e a Constante de Botltzmann :
 Essa probabilidade de mudança de estado (e − ΔΕ κB T ), quando
ΔΕ > 0, envolve a constante de Botltzmann, a constante física
que relaciona temperatura e energia de moléculas. Para T>0 a
função é monotonicamente decrescente em E

 Para computar a parte probabilística do método,


sorteamos, de maneira uniforme, um número entre 0 e 1
e comparamos com e − ΔΕ κB T :
 Se o número for menor, a nova configuração é aceita
 Caso contrário, a configuração atual é ponto inicial para o próximo passo
 Pela repetição destes passos várias vezes, obtém-se a simulação do movimento
térmico de átomos em contato com uma temperatura T, até que o sistema entre
em equilíbrio (esse é o Algoritmo de Metropolis)

Profª Laura Bahiense 7/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Analogia com a Otimização Combinatória

Os estados do metal ou cristal correspondem a soluções do espaço de busca

A energia em cada estado corresponde ao valor da função objetivo

A energia mínima (se o problema for de minimização) corresponde ao valor de uma


solução ótima local, possivelmente global

Profª Laura Bahiense 8/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Probabilidade de aceitação
de um movimento de piora

Profª Laura Bahiense 9/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Resumo do método
O processo tem início em uma temperatura T elevada, onde a probabilidade de se
aceitar soluções de piora é maior, com o intuito de escapar de ótimos locais

A baixas temperaturas, somente estados com baixa energia têm alta probabilidade de
se tornar o estado corrente

Uma vez atingido o equilíbrio térmico em uma dada temperatura, ela é diminuída e
aplica-se novamente o passo de Metropolis

A taxa de aceitação de movimentos de piora é, portanto, diminuída com o decorrer


das iterações

No final do processo, praticamente não se aceita movimentos de piora, e o método se


comporta como o método da descida (ou subida, se for de maximização o problema)

O final do processo se dá quando a temperatura se aproxima de zero e nenhuma


solução de piora é mais aceita, evidenciando o encontro de um ótimo local
(possivelmente global)

Profª Laura Bahiense 10/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
estrutura de vizinhança
Simulated Annealing:
taxa de resfriamento
função objetivo
0<α<1
número máximo de iterações
algoritmo
temperatura inicial

solução inicial

temperatura final (de congelamento)


SAmax iterações em cada temperatura

Equilíbrio atingido para a temperatura T :


Resfria (T := T × α) e zera o contador para a nova temperatura

Profª Laura Bahiense 11/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Detalhes de implementação:
prescrições de annealing (1/3)
São prescrições de annealing as decisões envolvendo:
 temperatura final
 condição de parada
 temperatura inicial
 taxa de resfriamento

Temperatura final ou Temperatura de congelamento do sistema: teoricamente a


temperatura final deveria ser zero. Na prática é suficiente chegar a uma temperatura
próxima a zero, devido a precisão limitada da implementação computacional:
 O mais comum é identificar o congelamento do processo quando a taxa de
aceitação de movimentos cai abaixo de um valor predeterminado, p. ex., para
T = 0,001 ou T = 0,0001

Condição de parada: geralmente utiliza-se um número máximo de iterações global


(SAmax), ou um número máximo de iterações para cada Temperatura (SAmaxT)
 O número máximo de iterações deve ser calculado com base na dimensão do
problema
Profª Laura Bahiense 12/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Detalhes de implementação:
prescrições de annealing (2/3)
Temperatura Inicial: deve ser alta o bastante para permitir movimentos livres entre
soluções vizinhas

Pode ser escolhida a partir do conhecimento da variação média de custo entre


soluções vizinhas:
 Gerar uma solução inicial qualquer
 Gerar um certo número de vizinhos
 Para cada vizinho, calcular o respectivo custo
 Retornar como temperatura inicial o maior custo das soluções vizinhas

Alternativamente, pode ser obtida por simulação,i.e., fixando-se uma taxa de


aceitação mínima de movimentos:
 Gerar uma solução inicial qualquer
 Partir de uma temperatura inicial baixa
 Contar quantos vizinhos são aceitos em SAmax iterações nessa temperatura
 Se o número de vizinhos aceitos for alto (p.ex., 95%) retornar a temperatura corrente como
a temperatura inicial
 Caso contrário, aumentar a temperatura (p.ex., em 10%) e repetir o processo

Profª Laura Bahiense 13/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Detalhes de implementação:
prescrições de annealing (3/3)
Taxa de resfriamento: o equilíbrio térmico deve ser aproximado a cada temperatura

É comum trabalhar nas temperaturas mais altas com uma taxa de resfriamento menor,
e aumentá-la conforme a temperatura se reduz
Os três tipos de resfriamento mais utilizados são:

Resfriamento geométrico: Tk = α · Tk-1 , 0 < α < 1


 Resfriamento lento: 0.8 < α < 0.99
 É comum trabalhar nas temperaturas mais altas com uma taxa de resfriamento menor e
aumentá-la conforme a temperatura reduz

Resfriamento rápido: Tk = Tk-1 ∕ (1 + β · Tk-1 )


 Com β pequeno ( β << T0 , p.ex., β=(T0 ˗ TSAMax) / (SAMax·T0· TSAMax) )

Prescrição de Hajek (resfriamento muito lento):


 Ver artigo: Cooling Schedules for Optimal Annealing, Bruce Hajek, Mathematics of
Operations Research, Vol. 13, No. 2, May 1988

Profª Laura Bahiense 14/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing
Detalhes de implementação:
decisões específicas do problema
São decisões específicas do problema:
 espaço de soluções
 estrutura de vizinhança
 função objetivo (ou função de custo)

Espaços de soluções com topografia acidentada ou com grandes áreas planas


prejudicam o andamento do algoritmo

A estrutura de vizinhança deve garantir que qualquer solução seja alcançável a partir
de qualquer outra

Soluções não-viáveis podem ser penalizadas, em vez de mantidas fora do espaço de


soluções, a fim de garantir a condição anterior e facilitar o cálculo da função objetivo

Profª Laura Bahiense 15/15 Meta-heurísticas em Otimização Combinatória Tema 5: Simulated Annealing

Você também pode gostar