220 likes | 314 Views
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.
E N D
Otimização com Simulated Annealing e Tabu Search Marcílio Souto DIMAp/UFRN
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
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.
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.
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.
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.
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
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.
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.
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
Problema do Caixeiro Viajante Solução final: BAEDC – Custo: 17
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.
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.
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
Problema do Caixeiro Viajante Solução final:AEDCB– Custo: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.
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.
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
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]
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
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.