Particle Swarm Optimization (PSO)

Slides:



Advertisements
Apresentações semelhantes
Maximização de Funções usando Simulated Annealing
Advertisements

Prof. Rafael Stubs Parpinelli
Aprendizagem de Máquina
Sistemas de Informação Inteligentes Prof. Nadilma Nunes.
Busca meta-heurística Inteligência Artificial Docente: André C. P. L. F. de Carvalho PAE: Everlândio.
Algoritmos BioInspirados: Inteligência de Enxames
Considerações Finais sobre Medidas de Tendência Central Na maioria das situações, não necessitamos de calcular as três medidas, normalmente precisamos.
SIMULATED ANNEALING E. G. M. de Lacerda UFRN/DCA 30/10/2006.
HEURISTÍCAS CONSTRUTIVAS E. G. M. de Lacerda UFRN/DCA Maio de 2006.
BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006.
Teoria de Filas – Aula 3 Aula de Hoje Variáveis aleatórias discretas Bernoulli Binominal Uniform Poisson Geométrica Aula Anterior Independência Condicionamento.
Algoritmos Genéticos: Aspectos Práticos Estéfane G. M. de Lacerda DCA/UFRN Junho/2009.
Resolução comentada do problema "Desordens" Prof. Adolfo Neto Departamento Acadêmico de Informática Universidade Tecnológica Federal do Paraná
BUSCA TABU E. G. M. de Lacerda UFRN/DCA 23/10/2006 Parte I.
Algoritmos Genéticos para o Problema da Mochila Estéfane G. M. de Lacerda UFRN/DCA Setembro/2008.
CONTAGEM Princípios Básicos Permutações Arranjos Combinações.
Casamento de Padrão Aproximado e Compressão de Huffaman
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA PROJETO PIBEG Unidade IV Interpolação Polinomial.
Confiabilidade Estrutural
Movimento Uniforme / MU
Resultante de um sistema de forças
Física Lorena e Paulo.
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2017 Técnicas de Reamostragem Camilo Daleles Rennó
Mecânica Geral I Introdução Edmundo Sahd Neto.
Funções de Várias Variáveis
Cinemática de uma partícula
O OBJETIVO FUNDAMENTAL DA DISCIPLINA
Sistemas de Controle III N8SC3
Forças Distribuídas: Momentos de Inércia
Escoamentos Compressíveis
Prof. Dr. Adolpho Walter Pimazoni Canton
Desempenho de Hélices Parâmetros Adimensionais para
Ciência, Tecnologia e Análise do Comportamento
Ordenação: Terminologia
Sistemas de Controle III N8SC3
Sistemas de Controle III N8SC3
Prof. Wellington Franco
1. Um projétil é lançado com uma velocidade de módulo 20 m/s e formando com o plano horizontal um ângulo de 60°. Calcule os componentes horizontal e vertical.
Modelos de variáveis qualitativas dependentes
Sistema de forças coplanares
FUNDAMENTO DE PROGRAMAÇÃO
ALGEBRA LINEAR AUTOVALORES E AUTOVETORES Prof. Ademilson
Transformações Lineares no Plano
Combinando inequações lineares
DERIVADAS PROF. ADE1000SON IST – Instituto Superior Tupy 2016/1
Listas Encadeadas.
Máscara de Sub-redes aula 11
Ms.Rosebel Trindade Cunha Prates
Disciplina: Álgebra Linear e Geometria Analítica
Zeros de funções.
Algoritmos Prof.: Carlos Alberto _1:
Introdução à Computação
Instituto de Computação - UFF 1 Vetores (1ª Parte) Professor: Vinícius Paulo de Freitas Conteúdo: - Definição - Operações.
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.
              Investigação Operacional Métodos de Programação Linear: Big M, 2 Fases, S Dual (Mestrado) Engenharia Industrial
Álgebra Vetorial e Linear para Computação
Administração amintas paiva afonso.
CORRELAÇÃO Universidade Federal Rural do Rio de Janeiro CPGA-Solos
O que você deve saber sobre
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
Observe as seqüências numéricas:
Aula 3 (Parte 2): Matrizes e Operações Matriciais
Aula 7 – Algoritmos Genéticos
Computação Bioinspirada
VETORES PROFESSOR : MARCELO ALANO
MATRIZES.
As Equações de Copo de Feijão Este material representa as técnicas de resolução de equações de 1º. Grau com uma incógnita, chamando a atenção para a “mudança.
Sistemas de Informação
Álgebra Linear Sistemas de Equações Lineares
Transcrição da apresentação:

Particle Swarm Optimization (PSO) Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto *Baseado no material da Profa. Estéfane G. M. de Lacerda (www.dca.ufrn.br/~estefane/metaheuristicas/pso.pdf)

Particle Swarm Optimization Otimização por nuvem de partículas Desenvolvido pelo psicólogo social James Kennedy e o engenheiro eletricista Russel Eberhart, em 1995 Originalmente desenvolvido para resolver problemas de otimização com variáveis contínuas

Princípio Simula o comportamento social de um bando de pássaros à procura de um alvo (alimento, local para pouso, proteção contra predadores etc.) Estudos apontam que o bando encontra seu alvo por meio de um esforço conjunto Isto sugere que eles compartilham informações

Princípio

Princípio Algoritmo populacional A população é chamada de “nuvem” ou “enxame” Os indivíduos são chamados de “partículas” O enxame evolui por meio de cooperação e competição entre seus membros As partículas se beneficiam da sua própria experiência e da experiência de outros membros do enxame durante a busca pelo alvo

Notação

Notação

Atualização de posição e velocidade

Componentes Cognitivo e Social (pik - xik) é o componente cognitivo: representa a experiência individual da partícula i até a k-ésima geração (gk – xik) é o componente social: representa a experiência da nuvem de partículas até a geração atual

Atualização de posição e velocidade A nova velocidade da partícula é influenciada por três fatores: velocidade anterior distância entre sua posição atual e melhor posição alcançada até então distância entre sua posição atual e a melhor posição do grupo A partir do cálculo dessa nova velocidade, a partícula “voa” para sua nova posição

Atualização da nova posição Inicialmente, diversas partículas são espalhadas aleatoriamente no espaço de busca

Atualização da nova posição Cada partícula utiliza sua melhor posição no passado (em cinza) e sua melhor posição na vizinhança

Atualização da nova posição A partícula se move para a nova posição, pela combinação linear desses dois vetores, com pesos diferentes.

Atualização da nova posição Nova posição para a partícula

Interpretação Geométrica

Interpretação Geométrica

Diversificação versus intensificação O algoritmo PSO fornece um mecanismo bem balanceado entre diversificação e intensificação:

Algoritmo PSO

Algoritmo PSO

Detalhes de implementação Limites para as posições de uma partícula: xij  [xmin, xmax] Caso xij saia deste intervalo, fazer: xij = xmin ou xij = xmax, conforme o caso v = 0. Velocidade máxima: vmin  v  vmax Em geral não é necessário armazenar g no computador. Basta armazenar o índice i tal que pi = g

Melhoramentos Redução linear da ponderação de inércia Para reduzir gradativamente a influência da diversificação Fator de constrição Para evitar a mudança brusca de velocidade

Redução linear da ponderação de inércia

Fator de constrição

PSO Discreto Os vetores de posição (atual, melhor posição da partícula e melhor posição global) usam valores discretos O vetor velocidade é substituído por um vetor de trocas de posições (que representam as trocas necessárias para sair de uma posição e ir à outra)

PSO Discreto aplicado ao PCV População inicial: Cada partícula é um vetor n-dimensional, sendo n o número de cidades Partículas geradas aleatoriamente Operadores discretos: Velocidade Movimentação Obtenção da velocidade Soma de velocidades Multiplicação de uma constante por uma velocidade

PSO Discreto aplicado ao PCV Operador velocidade: Lista de trocas que serão feitas. Se não há trocas, a velocidade é nula. Quanto maior o número de trocas, maior a velocidade da partícula. Exemplo de uma lista de trocas (transposição): {(i1, j1), (i2, j2), ..., (in, jn)} Nesta transposição, troca-se inicialmente a cidade da posição i1 com a da posição j1, depois faz-se a troca da cidade da posição i2 com a da posição j2, até a troca de in com jn Duas velocidades v1 e v2 são ditas equivalentes se ao aplicá-las a uma partícula, obtivermos uma mesma partícula resultante Uma velocidade nula é uma lista vazia |v| indica o número de transposições

PSO Discreto aplicado ao PCV Operador movimentação: Seja P a posição de uma partícula e v sua velocidade Uma nova posição P’ para esta partícula é obtida aplicando-se a P o operador velocidade v, isto é: P’ = P  v Dessa forma, a partícula da posição P “voa” para a posição P’

PSO Discreto aplicado ao PCV Exemplo: Seja a partícula P = (2, 3, 4, 5, 1) e a velocidade v = {(1, 2),(2, 4)}. Aplicando essa velocidade v à particula P obtém-se uma nova partícula P’ com as seguintes operações: Aplicação da transposição (1, 2), isto é, troca- se a cidade da primeira posição de P com a cidade da segunda posição de P: P’ = (3, 2, 4, 5, 1) Aplicação da transposição (2, 4), ou seja, troca-se a cidade da segunda posição de P com a cidade da quarta posição de P: P’ = (3, 5, 4, 2, 1)

PSO Discreto aplicado ao PCV Operador obtenção da velocidade: Sejam P1 e P2 duas posições de uma partícula A velocidade v é calculada com base na diferença entre as posições P1 e P2, isto é: v = P1 – P2 Exemplo: Sejam P1 = (1, 2, 3, 4, 5) e P2 = (2, 3, 1, 5, 4) P1[1] = P2[3] = 1. Assim, a primeira transposição é (1, 3) e escreve-se P2’ = P2 + S(1, 3) = (1, 3, 2, 5, 4) P1[2] = P2’[3] = 2. Assim, a segunda transposição é (2, 3) e escreve-se P2’’ = P2’ + S(2, 3) = (1, 2, 3, 5, 4) P1[4] = P2’’[5] = 4. Assim, a terceira transposição é (4, 5) e escreve-se P2’’’ = P2’’ + S(4, 5) = (1, 2, 3, 4, 5) Desta forma, a velocidade v de uma partícula pode ser obtida a partir das posições P1 e P2, com base na seguinte lista de transposições: v = P1 – P2 = {S(1,3), S(2, 3), S(4, 5)}

PSO Discreto aplicado ao PCV Operador multiplicação de uma velocidade por um coeficiente Seja c um coeficiente e v uma velocidade As constantes são usadas para determinar quanto da velocidade inicial será mantida Exemplo: considere c1=2 e v={(1,2),(2,4),(3,5),(3,6)} Neste caso, escolhemos duas trocas aleatoriamente dentro da lista Operador soma de velocidades: Sejam v1 e v2 duas velocidades v = v1 + v2 é calculado pela concatenação das listas de transposições associadas a v1 e v2