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

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

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

Apresentações semelhantes


Apresentação em tema: "_____________________________________________________________________________ Otimização com Simulated Annealing e Tabu Search Marcílio Souto DIMAp/UFRN."— Transcrição da apresentação:

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

2 _____________________________________________________________________________ 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. A B CD E –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 _____________________________________________________________________________ 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 < custo da solução atual), Aceita solução nova. Se não, Pode aceitar solução nova com probabilidade p = exp ( – (custo da 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 (–(custo da sol. nova – custo da sol. atual) / temperatura) Mantendo fixo o aumento no custo, se a temperatura 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 custo aumentar, a probabilidade 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 A B CD E –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) = = 21 –Operador: Permutar 2 cidades consecutivas escolhidas aleatoriamente. Ex.: s = [B,E,D,C,A] –Esquema de esfriamento: Temperatura inicial:T 0 = 1 Regra de esfriamento:T i+1 = 0.9 T i –Máximo de 5 iterações.

11 _____________________________________________________________________________ Problema do Caixeiro Viajante IteraçãoTemp.SoluçãoCustoAleatórioProbabilidadeAceita? 01BDECA BDEAC20S 20.81BDAEC e – (22 – 20)/0.81 = S 30.73BADEC19S 40.66BADCE e – (21 – 19)/0.66 = N Solução final: BAEDC – Custo: BAEDC17S

12 _____________________________________________________________________________ Tabu Search –Idéia básica: A partir da solução atual, gerar um conjunto de novas soluções. Aceitar sempre a melhor solução deste 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 recentemente visitadas. Estas soluções são proibidas (para evitar ciclos). A solução final dada pelo algoritmo é a melhor solução encontrada 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 A B CD E –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) = = 21 –Operador: Permutar 2 cidades consecutivas, gerando 5 vizinhos por iteração. Ex.: s 1 = [D,B,E,C,A] s 2 = [B,E,D,C,A] s 3 = [B,D,C,E,A] s 4 = [B,D,E,A,C] s 5 = [A,D,E,C,B] –Máximo de 2 iterações.

15 _____________________________________________________________________________ Problema do Caixeiro Viajante IteraçãoSolução Atual – Custo Lista Tabu Melhor Solução – Custo Vizinhos – Custo 0BEDCA – 19 BEDCA BEDCA – 19 EBDCA – 22 BDECA – 21 BECDA – 21 BEDAC – 20 AEDCB – 17 1 BEDCA AEDCB – 17 EADCB – 20 AEDCB ADECB – 19 AECDB – 21 AEDBC – 20 BEDCA – 19 X

16 _____________________________________________________________________________ Problema do Caixeiro Viajante IteraçãoSolução Atual – Custo Lista Tabu Melhor Solução – Custo Vizinhos – Custo 1AEDCB – 17 BEDCA AEDCB – 17 EADCB – 20 AEDCB ADECB – 19 AECDB – 21 AEDBC – 20 BEDCA – 19 X 2ADECB – 19 BEDCA AEDCB – 17 DAECB – 22 AEDCBAEDCB – 17 X ADECBADCEB – 21 ADEBC – 20 BDECA – 21 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ço computacional 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 w1 w2 w3 w4 w5 w6 s = [w1, w2, w3, w4, w5, w6] –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. 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: Saídas desejadas: SSE = (0.98 – 1.00) 2 + (0.12 – 0.00) (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.: 0 1 f (x) x Função do tipo degrau (step).

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, –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 (CEC99), Volume 3, pp , Washington, D.C., USA, July 6-9, –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 , 1998.


Carregar ppt "_____________________________________________________________________________ Otimização com Simulated Annealing e Tabu Search Marcílio Souto DIMAp/UFRN."

Apresentações semelhantes


Anúncios Google