A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SIMULATED ANNEALING E. G. M. de Lacerda UFRN/DCA 30/10/2006.

Apresentações semelhantes


Apresentação em tema: "SIMULATED ANNEALING E. G. M. de Lacerda UFRN/DCA 30/10/2006."— Transcrição da apresentação:

1 SIMULATED ANNEALING E. G. M. de Lacerda UFRN/DCA 30/10/2006

2 Introdução Simulated annealing é um método de busca local que permite movimentos que não são de melhora. Isto é feito simulando o processo físico de recozimento (annealing). No recozimento, substâncias físicas como metais são fundidos a alta temperatura e depois resfriados lentamente até atingir o estado sólido.

3 Annealing (1/2) Na fase liquida (alta temperatura), o material possui uma configuração de alta energia onde suas partículas se arranjam aleatoriamente; A cada diminuição de temperatura (resfriamento), o material muda para uma configuração de nível de energia mais baixo. Na fase sólida, existe a configuração de energia mínima onde as partículas se arranjam em uma rede altamente estruturada (cristais perfeitos).

4 Annealing (2/2) O nível de energia mínima só é alcançado se a temperatura inicial for suficientemente alta e o resfriamento for suficientemente devagar. Se o resfriamento for rápido, o cristal não atingirá o nível mínimo de energia e conterá inúmeras imperfeições.

5 Analogia: processo físico x otimização configuração uma solução s configuração de energia mínima nível de energia temperatur a a solução ótima s * função objetivo f parâmetro de controle T

6 O simulated annealing S. Kirkpatrick, D.C. Gellat, and M.P. Vecchi. Optimization by Simulated Annealing. Science, 220:671680, 1983. É um método que permite movimentos de subida na busca local possibilitando escapar de mínimos locais. Foi proposto por:

7 O simulated annealing Kirkpatrick utilizou duas estratégias para melhorar a busca local: 1) O algoritmo de Metropolis (Metropolis et al, 1953); 2) O decaimento da temperatura (no algoritmo de Metropolis) para imitar o processo de recozimento.

8 Critério de Metropolis (1/2) No processo físico, uma configuração com energia E 1 pode ter seu nível de energia aumentado para E 2 com uma probabilidade igual a: Onde DE = E 2 -E 1 T é temperatura do material k é a constante de Boltzmman

9 Critério de Metropolis (2/2) Considere a função objetivo f, uma solução s e um movimento para solução vizinha s'  N(s), No algoritmo de Metropolis, movimentos de descida são sempre aceitos. Movimentos de subida são aceitos com probabilidade igual a: Onde Df = f(s') - f(s) T é a temperatura (um parâmetro de controle)

10 Comportamento da função de probabilidade

11 Decaimento da Temperatura No inicio da busca, a temperatura T é alta. Todo movimento é aceito. Durante a busca a temperatura T é reduzida. Perto do fim da busca, a temperatura T é baixa. Apenas movimentos de descida são aceitos. SA tornar-se um algoritmo hill-climbing. O decaimento da temperatura deve ser lento para encontrar boas soluções.

12 Cronograma do Resfriamento Após L iterações reduza a temperatura: T =  T Parâmetros do cronograma T 0 = Temperatura inicial T f = Temperatura final (tipicamente 0,001) L = número de iterações para cada temperatura a  razão de resfriamento ( 0 < a < 1)

13 s = solução inicial, s* = s, T = T 0 while (T > 0) for i = 1:L s' = uma solução aleatória de N(s) Df = f(s') – f(s) if  f < 0 then s = s' if f(s') < f(s*) then s* = s' else if uniforme(0,1) < exp(- Df /T) then s = s' end T = aT end O algoritmo Simulated Annealing

14 Cronograma do Resfriamento A teoria mostra que SA converge para o mínimo global, mas requer uma redução de temperatura muito lenta e um número de iterações muito grande. Na prática, usa-se um compromisso: Muitas iterações e poucas temperaturas; Poucas iterações e muitas temperaturas; Ou algo entre estas duas opções. A escolha do cronograma depende de quanto se quer explorar determinadas regiões do espaço de busca.

15 Esquemas de decaimento da temperatura (1/3) Geométrica T k+1 = a T k A prática mostra que a   [0,8; 0,99 ]. Em geral, quando mais a está próximo de 0,99 melhor é o resultado (contudo mais iterações serão necessárias). É a mais utilizada.

16 Esquemas de decaimento da temperatura (2/3) Linear T k+1 = T k – DT O esquema linear é comparável ao esquema geométrico. Depende mais da razão DT/L do que dos valores individuais de DT e L.

17 Esquemas de decaimento da temperatura (3/3) Outro O valor g Î (0,1) é uma constante. Pequenos valores de indicam resfriamento lento,

18 Estimando a Temperatura inicial (1/3) Comece com a temperatura alta. Reduza rapidamente até 60% dos movimentos serem aceitos. Use esta temperatura corrente como temperatura inicial.

19 Estimando a Temperatura inicial (2/3) Execute vários movimentos aleatórios (e.g., 1000). Calcule a média do valor absoluto dos movimentos < |D|  Escolha uma taxa de aceitação t de movimento de subida (e.g., t=30%) Calcule temperatura inicial T 0 = - /ln(t) (que é a solução da equação t  exp(- /T 0 )

20 Estimando a Temperatura inicial (3/3) 1) Gerar uma solução inicial qualquer; 2) Partir de uma temperatura baixa; 3) Contar quantos vizinhos são aceitos em SAmax iterações nesta temperatura; 4) Se o número de vizinhos aceitos for alto (e.g., 95%), retorne a temperatura corrente como sendo a temperatura inicial do método; 5) Caso contrário, aumentar a temperatura (e.g., 10%) e repetir o processo.

21 Iterações em cada temperatura Um número constante L de iterações é o mais usado. Alternativamente, pode-se alterar dinamicamente o número de iterações L. Na temperatura alta, usa-se um grande valor de L para explorar o espaço de busca. Em baixa temperatura, usa-se um valor de L menor. Alternativamente, a temperatura pode ser reduzida após um certo número de movimentos de melhora.

22 Iterações em cada temperatura (Lundy, 1986) propos alterar a temperatura em cada iteração usando um decaimento de temperatura muito lento: T = T / (1+ b T) onde o valor b é suficientemente pequeno.

23 Critério de Parada Quando o sistema alcançou a temperatura final; Quando o sistema está congelado (nem movimentos para cima e nem para baixo são aceitos)

24 Exemplo: problema do caixeiro viajante

25 Estrutura da vizinhança O movimento faz uma inversão em uma subsequência de cidades de uma viagem. Exemplo: 1-2-3-4-5-6-7-1 é uma viajem 1-2-4-3-5-6-7-1 inverte a subsequência 3-4. As inversões devem ser factíveis. Todas inversões factíveis constituem a vizinhança

26 Parâmetros do problema Solução inicial: 1-2-3-4-5-6-7-1 (distância = 69) Temperatura inicial T T0=0,2*Zc = 0,2 * 69 = 13,8 Cronograma do resfriamento: T1=0,5*T0, T2=0,5*T1, T3=0,5*T2, T4=0,5*T3 Realizar L = 5 iterações em cada temperatura.

27 Soluções podem ser revisitadas

28

29

30 Menor distância = 63,0 Melhor solução : 1-3-5-7- 6-4-2-1


Carregar ppt "SIMULATED ANNEALING E. G. M. de Lacerda UFRN/DCA 30/10/2006."

Apresentações semelhantes


Anúncios Google