1 / 22

Otimização com Simulated Annealing e Tabu Search

Otimização com Simulated Annealing e Tabu Search. Marcílio Souto DIMAp/UFRN. Otimização. Problema de Otimização : Sendo S o conjunto de soluções possíveis, em que cada solução tem um custo , o objetivo é encontrar a solução com menor custo possível . Ex.: Problema do Caixeiro Viajante.

Download Presentation

Otimização com Simulated Annealing e Tabu Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Otimização com Simulated Annealing e Tabu Search Marcílio Souto DIMAp/UFRN

  2. Otimização • Problema de Otimização: • SendoS o conjunto de soluções possíveis, em que cada solução tem um custo, o objetivo é encontrar a solução com menor custo possível. • Ex.: Problema do Caixeiro Viajante. A • Soluções possíveis: • Todos os percursos fechados passando por cada cidade uma única vez. • Função de custo: • Distância total do percurso. 3 2 5 4 4 E B 5 6 4 3 D C 5

  3. Algoritmo Hill Climbing (Subida da Encosta) • Estrutura básica: Escolhe aleatoriamente uma solução inicial. Enquanto critérios de parada não forem satisfeitos, Gera uma nova solução (vizinha) a partir da atual. Se (custo da solução nova < custo da solução atual), Aceita solução nova. Se não, Rejeita solução nova (continua com a atual). • Limitação: • Facilidade de ficar preso em mínimos locais. • Todas as soluções vizinhas têm custo maior.

  4. Simulated Annealing e Tabu Search • Simulated Annealing: • Procura minimizar esta limitação, permitindo aceitar vizinhos piores com uma certa probabilidade. • Tabu Search: • Procura minimizar esta limitação, aceitando sempre os vizinhos gerados e guardando a melhor solução encontrada.

  5. Simulated Annealing • Idéia básica: • Se a nova solução for melhor que a atual (custo menor), esta nova solução éaceita. • Se for pior, a nova solução pode ser aceita com uma dada probabilidade. • Esta probabilidade é controlada por um parâmetro chamado de temperatura, que diminui ao longo das iterações.

  6. Simulated Annealing • Estrutura básica: Escolhe aleatoriamente uma solução inicial. Enquanto critérios de parada não forem satisfeitos, Gera uma nova solução (vizinha) a partir da atual. Se (custo da solução nova < custodasolução atual), Aceita solução nova. Se não, Pode aceitar solução nova com probabilidade p = exp(–(custoda sol. nova – custo da sol. atual) / temperatura) Retorna solução atual. • Obs.: O parâmetro temperatura diminui a cada N iterações.

  7. Simulated Annealing • Probabilidade de aceitar a nova solução (se o custo aumentar): p = exp(–(custoda sol. nova – custo da sol. atual) / temperatura) • Mantendo fixo o aumento no custo,se atemperatura diminuir, a probabilidade diminui. • Ao longo das iterações, fica mais difícil aceitar soluções que aumentam o custo. • Mantendo fixa a temperatura,se a variação no custoaumentar, aprobabilidade diminui. • Em uma mesma iteração, quanto maior o aumento no custo, mais difícil é aceitar a nova solução. aumento no custo

  8. Simulated Annealing • Implementação da probabilidade de escolha (critério de Metropolis): • Gera-se um número aleatório retirado de uma distribuição uniforme no intervalo [0, 1]. • Se este número for menor ou igual a “p”, aceita-se a solução. • Se for maior que “p”, rejeita-se a solução.

  9. Simulated Annealing • Resolvendo um problema com Simulated Annealing: • Representação das soluções: • Como as soluções do problema serão representadas no espaço de busca. • Função de custo: • Como será calculado o custo de cada solução. • Operador(mecanismo de geração de vizinhos): • Como novas soluções serão geradas a partir da atual. • Esquema de esfriamento: • Como a temperatura será reduzida ao longo das iterações. • Máximo número de iterações permitidas.

  10. Problema do Caixeiro Viajante • Representação das soluções: • Seqüência de cidades do percurso. • Ex.: s = [B,D,E,C,A] • Função de custo: • Distância total do percurso. • Ex.: custo (s) = 6 + 4 + 5 + 4 + 2 = 21 • Operador: • Permutar 2 cidades consecutivas escolhidas aleatoriamente. • Ex.: s’ = [B,E,D,C,A] • Esquema de esfriamento: • Temperatura inicial: T0 = 1 • Regra de esfriamento: Ti+1 = 0.9 Ti • Máximo de 5 iterações. A 3 2 5 4 4 E B 5 6 4 3 D C 5

  11. Problema do Caixeiro Viajante Solução final: BAEDC – Custo: 17

  12. Tabu Search • Idéia básica: • A partir da solução atual, gerar um conjunto de novassoluções. • Aceitar sempre a melhor soluçãodeste conjunto. • Pode ser melhor ou pior que a solução atual. • Pode haver ciclos na trajetória (aceitar soluções que já foram visitadas). • Guardar na memória: • A melhor solução encontrada desde o início da execução. • Uma lista tabu, contendo as K soluções mais recentementevisitadas. Estas soluções são proibidas(para evitar ciclos). • A solução final dada pelo algoritmo é a melhor soluçãoencontrada desde o início da execução, e não a atual.

  13. Tabu Search • Estrutura básica: Escolhe aleatoriamente uma solução inicial. Guarda a solução em melhor solução e na lista tabu. Enquanto critérios de parada não forem satisfeitos, Gera um conjunto de N soluções vizinhas a partir da atual. Escolhe o vizinho de menor custo que não esteja na lista tabu. Atualiza melhor solução e lista tabu. Retorna melhor solução. • Obs.: A lista tabu guarda as K soluções mais recentemente visitadas ou as K alterações mais recentes, dependendo da abordagem.

  14. Problema do Caixeiro Viajante • Representação das soluções: • Seqüência de cidades do percurso. • Ex.: s = [B,D,E,C,A] • Função de custo: • Distância total do percurso. • Ex.: custo (s) = 6 + 4 + 5 + 4 + 2 = 21 • Operador: • Permutar 2 cidades consecutivas, gerando 5 vizinhos por iteração. • Ex.: s1 = [D,B,E,C,A] s2 = [B,E,D,C,A] s3 = [B,D,C,E,A] s4 = [B,D,E,A,C] s5 = [A,D,E,C,B] • Máximo de 2 iterações. A 3 2 5 4 4 E B 5 6 4 3 D C 5

  15. Problema do Caixeiro Viajante

  16. Problema do Caixeiro Viajante Solução final:AEDCB– Custo:17

  17. Observações Importantes • Esforço computacional por iteração: • Uma iteração de Tabu Search exige mais esforçocomputacional do que uma iteração de Simulated Annealing (mais vizinhos são avaliados). • Por este motivo, em geral, Tabu Search precisa de menos iterações para convergir do que Simulated Annealing. • Variações dos algoritmos: • Existem diversas variações de Simulated Annealing e Tabu Search. • Nesta aula, só foram vistas noções básicas.

  18. Simulated Annealing e Tabu Search para Treinamento de Redes MLP • Representação: • Cada rede é representada por um vetor contendo seus pesos. • Ex.: Para a topologia abaixo, temos: (2 x 2) + (2 x 1) = 6 conexões. w1 w5 w3 s = [w1, w2, w3, w4, w5, w6] w2 w6 w4 Obs.: Os termos de polarização (bias) também são representados na solução, pois geralmente são ajustáveis.

  19. Simulated Annealing e Tabu Search para Treinamento de Redes MLP • Função de custo: • Erro para o conjunto de treinamento. • Ex.: SSE ou Erro de Classificação. • SSE: Saídas da rede: 0.98 0.12 ... 0.16 Saídas desejadas: 1.00 0.00 ... 0.00 SSE = (0.98 – 1.00)2 + (0.12 – 0.00)2 + ... + (0.16 – 0.00)2. • Erro de Classificação: Erro Class. = 100 . Nº de padrões classificados erradamente pela rede Nº total de padrões

  20. Simulated Annealing e Tabu Search para Treinamento de Redes MLP • Operador(geração de soluções novas): • A cada peso, adicionar um número aleatório retirado de uma distribuição uniforme no intervalo [-n , +n]. • Ex.: Aleatórios na faixa [-1, +1]. Solução atual = [0.2, -0.1, 0.7, 0.5, -0.3, -0.9] Aleatórios = [0.1, 0.2, -0.3, -0.7, 0.6, 0.2] Solução nova = [0.3, 0.1, 0.4, -0.2, 0.3, -0.7]

  21. Observações Importantes • Overfitting: • Assim como backpropagation, Simulated Annealing e Tabu Search procuram o conjunto de pesos que minimiza o erro de treinamento. • Da mesma forma, deve-se evitar o overfitting (erro alto para dados não usados no treinamento). • Funções de ativação: • Diferentemente do treinamento com backpropagation, os neurônios não precisam ter funções de ativação contínuas (diferenciáveis). • Ex.: f (x) 1 Função do tipo degrau (step). 0 x

  22. Bibliografia Sugerida • Introdução de Simulated Annealing e Tabu Search: • D.T. Pham and D. Karaboga, “Introduction”, Intelligent Optimisation Techniques (Edited by D.T. Pham and D. Karaboga), pp. 1-50, Springer-Verlag, 2000. • Simulated Annealing para treinar redes neurais: • S. Chalup and F. Maire, “A Study on Hill Climbing Algorithms for Neural Network Training”, Proceedings of the 1999 Congress on Evolutionary Computation (CEC’99), Volume 3, pp. 2014-2021, Washington, D.C., USA, July 6-9, 1999. • Tabu Search para treinar redes neurais: • R. S. Sexton, B. Alidaee, R. E. Dorsey and J. D. Johnson, “Global optimization for artificial neural networks: a tabu search application”, Eur. J. Operational Research (106)2-3, pp. 570-584, 1998.

More Related