120 likes | 209 Views
Inteligência Computacional. Simulated Annealing (SA) Aplicado ao Problema de K-Dispersão Discreta (PKD). Gilmax de Oliveira Araújo Luciana Batista de Lima. O Problema. K – Dispersão Discreta.
E N D
Inteligência Computacional Simulated Annealing (SA) Aplicado ao Problema de K-Dispersão Discreta (PKD) Gilmax de Oliveira AraújoLuciana Batista de Lima
O Problema K – Dispersão Discreta “Dado um conjunto de n possíveis candidatos sobre os nós de um grafo, deve-se em selecionar k facilidades dentre as n possíveis, de tal modo que a distância mínima entre qualquer par das k facilidades selecionadas seja maximizada.”
Aplicações • Localização de reservatórios de combustível; • Alocação de agentes competitivos como franquias etc; • Distribuição de depósitos de lixo; • Localização de silos de mísseis e instalações nucleares; • Prisões e instalações militares; • Tratamento de águas residuais; • Distribuição de freqüências em sistemas de comunicações; • Experimentos estatísticos; • Exploração de madeira etc.
Metaheurística Simulated Annealing (Têmpera Simulada) • Admite soluções de piora para escapar de ótimos locais; • As soluções de piora são aceitas com uma certa probabilidade, a qual depende de um parâmetro, chamado de temperatura; • O final do processo se dá quando a temperatura se aproxima de zero e nenhuma solução de piora é mais aceita, situação que evidencia o encontro de um ótimo local;
No Grafo abaixo, obter 3 cidades entre as 6 cidades possíveis, de tal forma que a menor distância entre ela seja maior que as menores distâncias dos possíveis polígonos formados: 6 2 3 5 8 4 5 9 1 4 9 9 10 8 01 5 5 Caso:
Geração de uma solução aleatória inicial: A partir da tabela a seguir,que representa a matriz distância, obter um vetor de 6 elemento com valores booleanos 0 e 1. Cidade escolhida => “1” Cidade não escolhida => “0” Ex: s = [ 1 1 1 0 0 0 ] Metodologia Aplicada
0 1 2 3 4 5 0 0 10 9 5 13 5 1 10 0 5 11 9 9 2 9 5 0 6 12 4 3 5 11 6 0 8 12 4 13 9 12 8 0 8 5 5 9 4 12 8 0 Tabela representativa da matriz distância:
Consiste na obtenção da menor distância das arestas do polígono formado: Ex: dist (0,1) = 10 dist (0,2) = 9 dist (2,3) = 5 Menor distância = 5 Função objetivo:
Gera um vizinho qualquer : Troca de posição de dois elemento quaisquer do vetor solução: Ex: s = [1 1 1 0 0 0] s’= [1 0 1 1 0 0] Calcula a função objetivo Verifica se f(s’) > f(s) se verdadeiro f(s) <- f(s’) Refinando a solução – Simulated Annealing
Caso contrário o programa aceita a solução de piora com um probabilidade de: P = e ( Δ/T) Até que a solução ótima seja encontrada ou o número máximo de interações (SAmax) seja atingido; Refinando...
S = [0 1 0 1 0 1] Menor distância entre as arestas do polígono = 9 Solução ótima encontrada:
Solução satisfatória; Comparação com o Problema da k-dispersão resolvido pelo Lingo Conclusão: