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

Slides:



Advertisements
Apresentações semelhantes
Métodos Heurísticos de Busca e Otimização
Advertisements

Alocação de Salas Via Simulated Annealing
Inteligência Computacional para Otimização Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto
O PROBLEMA DE SCHEDULING EM JOB-SHOP
INF 1771 – Inteligência Artificial
Meta - heurísticas Prof. Aurora
Aurora Pozo– UFPR – Meta-Heurísticas
Otimização por Colônia de Formigas (ACO)
Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins David Martins
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Inventando Funções Heurísticas
Ao final desta aula, a gente deve...
Inteligência Artificial
1 Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização)
Marcone Jamilson Freitas Souza Departamento de Computação – UFOP Variable Neighborhood Descent (VND) e Variable Neighborhood.
Termodinâmica Avançada Prof. Dr. Vicente Luiz Scalon / 2006 Propriedades Termodinâmicas de Substâncias Puras Prof. Dr. Vicente Luiz Scalon.
HEURISTÍCAS CONSTRUTIVAS E. G. M. de Lacerda UFRN/DCA Maio de 2006.
Algoritmos com Tempo Exponencial E. G. M. de Lacerda UFRN/DCA Maio de 2006.
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006.
Teoria de Filas – Aula 4 Aula de Hoje Variáveis aleatórias contínuas Valor esperado de uma variável aleatória Aula Passada Variáveis aleatórias discretas.
Algoritmos Genéticos: Aspectos Práticos Estéfane G. M. de Lacerda DCA/UFRN Junho/2009.
BUSCA TABU E. G. M. de Lacerda UFRN/DCA Março de 2006 Parte II.
BUSCA TABU E. G. M. de Lacerda UFRN/DCA 23/10/2006 Parte I.
Classificação não supervisionada de imagens. Classificação de imagens Consiste na identificação de tipos de cobertura de solos, de acordo com os padrões.
Fundamentos de Aritmética
Confiabilidade Estrutural
Por Coni, Gipiela, D’Oliveira e Marcondes
Teoria dos Grafos Geração de Valores aleatórios
Programação Não Linear
Cinemática de uma partícula
Tópicos Especiais em Computação I
Tópicos Avançados em Estruturas Metálicas I (CIV 763)
Ligação metálica.
Interconexão de Redes Locais
Regressão Linear com Uma Variável
Modelagem para Otimização:Aula 2
Prof. Dr. Rui Carlos Botter
Universidade Federal do Rio de Janeiro
Aurora Pozo– UFPR – Meta-Heurísticas
Sistemas de Controle III N8SC3
PROBLEMA DO EMPACOTAMENTO
3ª aula RESOLUÇÃO PELO MÉTODO GRÁFICO UNIDADE 3
Algoritmos de Redes Rota mais curta Árvore de ramificação mínima
Equações Diferenciais Ordinárias
BUSCA TABU Parte III E. G. M. de Lacerda UFRN/DCA 23/10/2006.
Zeros de funções.
Ondas em uma corda Tomemos uma corda esticada:
Efeito da temperatura sobre a morte térmica A partir do gráfico de N = f (t) ou da expressão ln(No/N) = k.t, obtém-se o valor de D para uma determinada.
1 Modelagem Matemática de Sistemas Dinâmicos 3.9. Gráfico de Fluxo de Sinais Linearização de Modelos Prof. André Marcato Livro Texto: Engenharia.
Particle Swarm Optimization (PSO)
Otimização de Problemas de Múltiplos Objetivos
Cinética Química Disciplina: Química Professor: Rubens Barreto
OPTIMIZED ALOCATION OF REACTORS ON OVERHEAD MEDIUM-VOLTAGE POWER LINES FOR THE MITIGATION OF ENERGY LOSS VCONCIER-BR-D2.2.1/57 TIAGO MILAGRES MIRANDA,
ELEMENTOS BÁSICOS PARA O PROJETO
Cinemática dos Fluidos
Prof. Elisson de Andrade
Heurísticas de refinamento: Fundamentação
Diagramas de equilíbrio binários
Escala Kelvin Uma escala termométrica é denominada escala absoluta quando associa a temperatura zero ao estado térmico no qual a energia cinética das partículas.
A ADEQUAÇÃO DOS PARÂMETROS DE ENTRADA DE UM ALGORITMO PARA O PPT ATRAVÉS DA METODOLOGIA DE SUPERFÍCIES DE RESPOSTA Nathalie Barbosa Toribio Ormeu Coelho.
Evolução Diferencial Algoritmo formulado por Kenneth Price e Rainer Storn ( Evolução Diferencial (ED) nasceu da.
Modelagem Matemática de Sistemas Dinâmicos. 3. 9
DSI – Desenvolvimento de Sistemas Inteligentes
Aprendizado de Máquina
Sistemas Inteligentes Busca Cega (Exaustiva)
Aula 7 – Algoritmos Genéticos
Vibrações Mecânicas Prof. Dr. Newton Soeiro VIBRAÇÕES MECÂNICAS SISTEMAS CONTÍNUOS VIBRAÇÕES TRANSVERSAIS DE CORDA OU CABO.
LES Finanças Aplicadas ao Agronegócio
Transcrição da apresentação:

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

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.

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).

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.

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

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

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.

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

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)

Comportamento da função de probabilidade

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.

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)

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

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.

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.

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.

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

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.

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 )

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.

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.

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.

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)

Exemplo: problema do caixeiro viajante

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

Parâmetros do problema Solução inicial: (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.

Soluções podem ser revisitadas

Menor distância = 63,0 Melhor solução :