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

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

Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO) Prof. Rafael Stubs Parpinelli.

Apresentações semelhantes


Apresentação em tema: "Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO) Prof. Rafael Stubs Parpinelli."— Transcrição da apresentação:

1 Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO) Prof. Rafael Stubs Parpinelli

2 Swarm Intelligence ACO e PSO –Comportamentos emergentes que surgem da coletividade de indivíduos simples que interagem entre si e com o ambiente ACO – Ant Colony Optimization: –Inspirada no comportamento de busca por alimentos das formigas –Aplicações em problemas de otimização combinatorial PSO – Particle Swarm Optimization: –Inspirada na coreografia dos pássaros e cardumes

3 Enxame de Partículas: –Originalmente criado por Kennedy (psicólogo social) e Eberhart (engenheiro elétrico) (1995) –Inspirada na coreografia dos pássaros e cardumes –Simular o comportamento social de seres vivos –Idéia básica: A interação social é capaz de encontrar soluções ótimas para problemas difíceis PSO

4 Comportamento Social Na natureza, quando um grupo de aves ou cardume de peixes procura alimento, pode - se considerar que cada indivíduo orienta sua busca por duas componentes: –a primeira é a sua própria experiência anterior em já conhecer locais onde costuma encontrar alimento (nostalgia) –a outra componente é a informação obtida através de outros indivíduos de seu grupo social. PSO

5 Características: –Baseado em população –As potenciais soluções – partículas – sobrevoam um espaço de busca n- dimensional –A busca se dá através da aceleração e desaceleração das partículas: informação local (componente cognitivo) e informação global (componente social)

6 Exemplo de Visualização

7 Cada partícula é composta pelos seguintes vetores: –x i = (x i1, x i2,..., x in ) –v i = (v i1, v i2,..., v in ) –y i = (y i1, y i2,..., y in ) Equação de atualização da melhor posição já visitada (problema de minimização): PSO y i (t+1)= y i (t) se f(x i (t+1)) f(y i (t)) x i (t+1) se f(x i (t+1)) < f(y i (t)) Posição atual Deslocamento Componente Cognitivo [1]

8 PSO Existem duas versões do alg. PSO: –Gbest e Lbest A diferença baseia-se no grupo de partículas ao qual uma partícula irá interagir diretamente para identificar a informação da melhor partícula –Gbest: toda a população é considerada –Lbest: Somente alguns vizinhos especificados são considerados A melhor partícula será representada pelo símbolo: ÿ(t)

9 PSO Possui duas seqüências aleatórias independentes: –r 1j e r 2j (0,1), onde j 1..n Possui duas constantes (coeficientes de aceleração): –0 c 1, c 2 4, usualmente c 1 = c 2 = 2.05 –tamanho máximo de um passo que uma partícula pode dar em uma interação

10 Equação de atualização das velocidades: Da equação acima: –c 1 regula o tamanho do passo na direção da melhor posição encontrada até o momento pela partícula (componente cognitivo) –c 2 regula o tamanho do passo na direção da melhor partícula encontrada globalmente/regionalmente (componente social) PSO v ij (t+1) = [2] v ij (t) + c 1.r 1j (t)[ y ij (t) - x ij (t)] + c 2.r 2j (t)[ ÿ j (t) - x ij (t)] se X min < x ij < X max 0 Onde j 1..n

11 PSO Equação de atualização de posições Restrições –Limites do espaço de busca para cada dimensão: [X min, X max ] ou [-X max, X max ] –V max : utilizada para limitar as velocidades, evitando que as partícula extrapolem o espaço de busca. [V min, V max ] ou [-V max, V max ] –Normalmente usa-se V min = X min e V max = X max x ij (t) + v ij (t+1) se X min ( x ij (t) + v ij (t+1) ) X max [3]x ij (t+1) = X max se ( x ij (t) + v ij (t+1) ) > X max X min se ( x ij (t) + v ij (t+1) ) < X min

12 PSO Pseudo código: Passo de inicialização –Inicializar aleatoriamente cada coordenada x ij dentro de seu domínio –Inicializar aleatoriamente cada v ij dentro de seu domínio –Atribuir y i = x i para toda partícula Crie e inicialize um PSO n-dimensional: S Repita Para cada partícula i Se f(x i ) < f(y i ) // identifica melhor componente cognitivo Então y i = x i Se f(y i ) < f(ÿ) // identifica melhor componente social Então ÿ = y i Fim_para Realize as atualizações no enxame S utilizando as equações (2) e (3) Até condição de parada ser verdadeira

13 PSO A cada passo de atualização, o comportamento de uma partícula é um balanço de 3 possíveis escolhas: –Seguir a trajetória original: v i (t) –Ir na direção do componente social: ÿ(t) –Ir na direção do componente cognitivo: y i (t) ÿ(t) y 2 (t) y 1 (t) velocidade original v i (t) velocidade na direção ÿ(t) velocidade na direção y i (t) velocidade resultante

14 PSO Melhoria: peso de inércia (w) –Controla a influência da velocidade em um instante de tempo anterior Velocidade define a intensidade da busca: valores altos resultam em movimentos bruscos; valores baixos podem resultar na exploração insuficiente do espaço de busca w regula o trade-off entre exploração local e global: 0 < w < 1.5 v ij (t+1) = w.v ij (t) + c 1.r 1j (t)[ y ij (t) - x ij (t)] + c 2.r 2j (t)[ ÿ j (t) - x ij (t)] Onde j 1..n

15 x(t) ÿ i (t) v i (t) x(t+1) y i (t) PSO Peso de inércia: –Os três coeficientes social/cognitivo quantificam respectivamente: O quanto a partícula confia em si mesma (w) O quanto ela confia na sua experiência (c 1 ) O quanto ela confia nos seus vizinhos (c 2 )

16 PSO Melhoria: fator de constrição (K) –Atua no componente resultante da composição dos movimentos Onde v ij (t+1) = k[v ij (t) + c 1.r 1j (t)[ y ij (t) - x ij (t)] + c 2.r 2j (t)[ ÿ j (t) - x ij (t)]] Onde j 1..n

17 Aplicações Otimização de funções Treinamento de redes neurais Evolução da arquitetura de redes neurais Controle de sistemas fuzzy Balanceamento de ingredientes para maximizar a produção Cálculo de carga em sistemas elétricos Segmentação de imagens Simulação de sinais de EEG Verificação de voz


Carregar ppt "Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO) Prof. Rafael Stubs Parpinelli."

Apresentações semelhantes


Anúncios Google