Sunteți pe pagina 1din 15

1

4. MTODO DE ENXAME DE PARTCULAS ( PARTICLE SWARM)


4.1. Analogia Comportamental: todos por um e um por todos
4.2. A Traduo Matemtica: o algoritmo bsico
4.3. A Programao do Algoritmo
4.4. Exemplos Ilustrativos
4. MTODO DE ENXAME DE PARTCULAS
4.1. Analogia Comportamental : todos por um e um por todos
Figura 1 Uma imensa nuvem de pssaros [ red-billed queleas] retornam a seu viveiro natural
ao pr do sol, Delta do Okavango, Botswana, frica
O mtodo de enxame de partculas pode ser explicado de uma forma simples atravs de uma
analogia de comportamento social apresentada por M. Clerc [ The Swarm & The Queen. Towards a
Deterministic and Adaptive Particle Swarm Optimization de Maurice Clerc Artigo
disponibilizado na Internet na Home Page http://clerc.maurice.free.fr/PSO/]. O autor sugere a
seguinte situao fictcia: Suponha que voc e alguns amigos esto busca de um tesouro
enterrado em uma ilha. Cada membro da expedio tem um rdio-comunicador-receptor, podendo
se comunicar com todos os membros informando-os sobre a situao em que se encontra, bem
como ouvir todos os comunicados trocados entre os membros. Assim, cada explorador sabe a
localizao de toda a equipe e est informado sobre a situao (quo prximo est do encontro do
tesouro) de cada membro. O seu prximo deslocamento ser feito fundamentado em sua prpria
experincia e nos relatos ouvidos em seu rdio. Desta forma, havendo real cooperao e troca de
informaes entre os membros da equipe, o tesouro ser achado em um tempo bem menor do que se
voc fosse escavar sozinho vrios buracos na ilha... .Em suma, o aspecto cooperativo da busca do
tesouro poderia ter como epteto a famosa frase encontrada no final do Captulo 9 do livro Os Trs
Mosqueteiros de Alexandre Dumas todos por um e um por todos, este nosso lema, no ? .
2
Este mesmo comportamento cooperativo e de troca de informaes encontrado entre vrias
espcies animais: em revoadas de pssaros, em cardumes de peixes, em enxames de abelhas, etc.
Cientistas de diferentes reas tentaram modelar estes comportamentos e simul-los, em particular
Reynolds [ Reynolds, C.W. (1987) Flocks, herds and schools : a distributed behavioral model
em Computer Graphics, 21 (4): 25-34] discute a riqueza do movimento de revoadas de pssaros, de
manadas de animais terrestres ou de cardumes de peixes procurando estabelecer regras bsicas do
comportamento individual que justifiquem o comportamento do grupo. O objetivo do trabalho foi o
desenvolvimento da animao, por computao grfica, do movimento de cada membro do grupo,
estando portanto fora do escopo do presente curso. Entretanto, a concluso mais pertinente do artigo
se refere ao fato do movimento simulado da revoada de pssaros ser o resultado de comportamentos
relativamente simples do movimento de cada um dos indivduos (pssaros). Um outro trabalho
pioneiro o de Heppner & Grenander [ Heppner, F & Grenander, U. (1990) A stochastic
nonlinear model for coordinated birds flocks em The Ubiquity of Chaos Editado por S. Krasner
, AAAS Publications, Washington DC] trabalho conjunto entre um bilogo (primeiro autor!) e um
matemtico que busca estabelecer as regras que descrevam a perfeita sincronia do movimento de
um grande nmero de pssaros tanto em suas sbitas e bem orquestradas mudanas de direo,
como no seu espalhamento e posterior reagrupamento.
O primeiro trabalho sobre o algoritmo de otimizao natural denominado ENXAME DE
PARTCULAS( Particle swarm em Ingls) o de Eberhart & Kennedy [ Kennedy, J. & Eberhart,
R. (1995), - Particle Swarm Optimization em Proceedings IEEE International Conference on
Neural Networks (Perth, Austrlia) pginas 1942-1948 , artigo disponibilizado na Internet na Home
Page: http://www.engr.iupui.edu/~shi/Coference/psopap4.html] que, motivados pelo
comportamento gregrio do movimento de animais ( pssaros, peixes, abelhas, gado, etc.) ,
propuseram um algoritmo de otimizao no determinstico bastante eficiente, robusto e de simples
implementao computacional.
A traduo matemtica do algoritmo de Eberhart & Kennedy apresentado no prximo
item, entendendo-se que o termo partcula se refere a cada um dos indivduos do grupo (termo
equivalente a indivduo no algoritmo gentico) e o termo enxame se refere ao grupo de indivduos.
importante enfatizar que neste algoritmo, de forma distinta do algoritmo gentico, o indivduo (a
partcula) mantido ntegro durante todo o processo, sobrevivendo sem envelhecer at o final do
procedimento, a nica modificao sofrida pelo indivduo sua localizao no espao.
voltar para ENXAME DE PARTCULAS
4.2. A Traduo Matemtica: o algoritmo bsico
No artigo de Eberhart & Kennedy (1995) no se encontra demonstrao formal alguma do
algoritmo proposto pelos autores, o mtodo proposto j est apresentado em sua forma recursiva
adequada para implementao computacional. Uma tentativa de apresentar este algoritmo
apresentada neste item, resultando desta nova formulao uma verso modificada do algoritmo
3
MELHOR GLOBAL
MELHOR INDIVIDUAL
melhor
y
melhor
k
y
originalmente proposto.
A idia fundamental do algoritmo o estabelecimento, em cada passo ou iterao, do
movimento de cada uma das partculas do grupo composto por n partculas (sendo o valor de n
escolhido pelo usurio!). Este movimento norteado pela lembrana da melhor posio (melhor
valor da funo objetivo) no espao que a partcula j encontrou em seu movimento e no
conhecimento da melhor posio j encontrada por todo o grupo. A utilizao da melhor posio
individual da partcula pode ser classificada como uma espcie de autoconfiana (ou
coloquialmente como o comportamento sou-mais-eu!) e a informao da melhor posio do grupo
pode ser classificada como um comportamento gregrio do indivduo (ou coloquialmente como o
comportamento maria-vai-com-as-outras!). Para assegurar a existncia de uma certa personalidade
em cada indivduo se dota cada indivduo do grupo de um comportamento distinto e aleatrio em
que a ponderao destas duas informaes sorteada ao longo do processo, assumindo assim um
valor diferente para cada uma das partculas e variando este valor ao longo do processo iterativo
(procurando traduzir uma certa mudana humor do indivduo ao longo do tempo). Assim,
considerando o movimento da partcula em um plano ou em um espao bi-dimensional e sua
localizao neste espao caracterizada por suas coordenadas:
Partcula k posio no plano xy no passo ou iterao i: ( )
) ( ) (
,
i
k
i
k
y x onde k = 1, 2,...,n
(nmero total de partculas no enxame) e i = 1, 2,...,m (nmero total de passos); melhor posio da
partcula k : ( )
melhor
k
melhor
k
y x , e melhor posio j encontrada pelo enxame (todas as partculas)
( )
global global
y x , .
A Fora Motriz que movimentar cada uma das partculas ser proporcional distncia
entre a posio atual da partcula e o ponto resultante da mdia ponderada entre a melhor posio
individual da partcula e a melhor posio do enxame, isto :
( )
( )
|
|
.
|

\
|
+
+
=
|
|
.
|

\
|
=
global
melhor
k
global
melhor
k
i
k
i
k
i
k
y y
x x
Y
X
1
1
) (
) (
) (
) (
) (


X onde e so dois nmeros aleatrios [0,1].
melhor
k
x
melhor
x
O tringulo sombreado na figura acima representa a regio no plano xy de todos os
4
pontos
) (i
k
X .
Considerando o movimento de cada partcula anlogo ao do movimento do sistema
mecnico carrinho+mola+amortecedor resulta no balano de foras (em forma adimensional!):
Na direo x:
( ) ( )
( ) | |
) (
2
2
2
i
k
k
k
k
k
X t x K
dt
t dx
dt
t x d
=
e na direo y:
( ) ( )
( ) | |
) (
2
2
2
i
k
k
k
k
k
Y t y K
dt
t dy
dt
t y d
=
estas duas equaes diferenciais so resolvidas no intervalo de tempo (tempo artificial
adimensional, que na realidade mede, em sua forma discreta, as iteraes do processo) :
( )
1
1
+
= + < =
i i
t t i t t i t . No incio do intervalo se tem: ( ) ( )
) ( ) (
;
i
k
i k
i
k
i k
y t y x t x = = ;
( ) ( )
) ( ) (
e
i
k
t
k i
k
t
k
i i
dt
t dy
dt
t dx
= = (que so os dois componentes do vetor velocidade da partcula
no incio do intervalo). Os parmetros
k
e
k
so dois nmeros aleatrios (adimensionais!) [0,1]
e a constante K um valor qualquer (escolhido pelo usurio) 1.
Reescrevendo as duas equaes diferenciais em termos dos dois componentes do vetor
velocidade resulta no sistema de equaes diferenciais de primeira ordem:
( )
( ) ( ) | |
( )
( )
( )
( ) ( ) | |
( )
( )

=
=
=
=
t
dt
t dy
Y t y K t
dt
t d
t
dt
t dx
X t x K t
dt
t d
k
k
i
k
k k k
k
k
k
i
k
k k k
k

) (
) (
2
2
Resolvendo numericamente estas equaes pelo mtodo de Euler explcito, resulta no final
do intervalo:
( ) ( ) ( )
| |
( ) ( )
( ) ( ) ( )
| |
( ) ( )

+ =
=
+ =
=
+
+
+
+
i
k
i
k
i
k
i
k
i
k
i
k
k
i
k
i
k
i
k
i
k
i
k
i
k
i
k
i
k
k
i
k
i
k
t y y
Y y t K t
t x x
X x t K t




) ( 1
) ( ) ( 1
) ( 1
) ( ) ( 1
2
2
Definindo as variveis : = t V
x
e = t V
y
resulta:
5
( ) ( ) ( )
| |
( ) ( )
( ) ( ) ( )
| |
( ) ( )

+ =
=
+ =
=
+
+
+
i
k y
i
k
i
k
i
k
i
k
i
k y
k
i
k y
i
k y
i
k x
i
k
i
k
i
k
i
k
i
k x
k
i
k x
i
k x
V y y
Y y t K V t V V
V x x
X x t K V t V V
,
) ( 1
) ( ) ( 2
, , ,
,
) ( 1
) ( ) ( 2
, ,
1
,
2
2


Agrupando os parmetros das expresses acima chega-se forma iterativa do mtodo
conforme sugerida por Eberhart & Kennedy (1995)
1
:
( ) ( ) ( )
| | | |
( ) ( )
( ) ( ) ( )
| | | |
( ) ( )

+ =
+ + =
+ =
+ + =
+ +
+
+ +
+
1
,
) ( 1
) (
2
) (
1
,
1
,
1
,
) ( 1
) (
2
) (
1
,
1
,

i
k y
i
k
i
k
i
k
global
i
k
melhor
k
i
k y
i i
k y
i
k x
i
k
i
k
i
k
global
i
k
melhor
k
i
k x
i i
k x
V y y
y y c y y c V V
V x x
x x c x x c V V


para i = 0 , 1, ..., m-1; sugere-se adotar a ponderao
(i)
decrescente com i de forma linear segundo
a expresso: ( )
|
.
|

\
|

+ =
1
) (
m
i
inicial final inicial
i
com
final
<
inicial
; as constantes c
1
e c
2
so valores reais positivos escolhidos pelo usurio e os parmetros , , e so valores
randmicos ou aleatrios sorteados em cada passo do processo iterativo. As posies e velocidades
iniciais das partculas podem ser definidas pelo usurio ou ento geradas aleatoriamente pelo
computador.
Uma forma alternativa do procedimento recursivo pode tambm ser obtida (sendo
referenciada a partir deste instante como algoritmo modificado de enxame de partculas,
abreviadamente PSO-modificado, em contraposio ao de Eberhart & Kennedy denominado de
PSO-clssico) atravs da soluo analtica, em cada intervalo de tempo, do sistema original de
EDOs:
( ) ( )
( ) | |
( ) ( )
( ) | |

= + +
= + +
0 2
0 2
) (
2
2
) (
2
2
i
k
k
k
k
k
i
k
k
k
k
k
Y t y K
dt
t dy
dt
t y d
X t x K
dt
t dx
dt
t x d

congelando os valores de
) (i
k
X e
) (i
k
Y em seus valores no incio do intervalo, sorteando os valores
de
k
e
k
apenas uma vez em t
i
e resolvendo o sistema com as condies iniciais:

1
Note que na discretizao das equaes diferenciais o procedimento de integrao da posio o Euler implcito
enquanto que o das velocidades o Euler explcito!
6
( ) ( )
) ( ) (
;
i
k
i k
i
k
i k
y t y x t x = = ;
( ) ( )
) ( ) (
e
i
k
t
k i
k
t
k
i i
dt
t dy
dt
t dx
= = , resulta:
( )
( ) ( ) ( ) ( )
( )
| |
( )
( )
( )
( )
( ) ( ) ( )
( )
| |
( )
( )
( ) ( ) ( ) ( )
( )
| |
( )
( )
( )
( )
( ) ( ) ( )
( )
| |
( )

)
`


+ + =
)
`


+ + + =
)
`


+ + =
)
`


+ + + =
+
+
+
+












t
Y y t t
t
Y y t Y y t Y y
t
X x t t
t
X x t X x t X x
i
k
k
i
k
i
k k
i
k
k
i
k
i
k
i
k
i
k
k
i
k
i
k
k
i
k
i
k
i
k
k
i
k
i
k k
i
k
k
i
k
i
k
i
k
i
k
k
i
k
i
k
k
i
k
i
k
sen
cos exp
sen
cos exp
sen
cos exp
sen
cos exp
) ( ) ( 2 2 1
) ( ) ( ) ( ) ( ) ( 1
) ( ) ( 2 2 1
) ( ) ( ) ( ) ( ) ( 1
onde:
2
k
K = e
2
k
K = .
Esta forma modificada do algoritmo s necessita (alm da especificao do nmero de
partculas , do nmero de iteraes e dos valores iniciais das posies e velocidades das partculas)
da especificao dos parmetros t > 0 e K [K 1 para assegurar o movimento oscilatrio
amortecido das partculas!]. Este a grande vantagem deste mtodo modificado (no algoritmo
clssico se deve especificar os valores das constantes c
1
, c
2
e de
inicial
e
final
) e a maior
complexidade do algoritmo apenas aparente j que o procedimento recursivo anlogo ao do
clssico diferindo apenas no clculo em cada passo dos valores de funes trigonomtricas simples
(seno e cosseno) e da funo exponencial o que no aumenta em nada o custo computacional do
cdigo.
voltar para ENXAME DE PARTCULAS
4.3. A Programao do Algoritmo
As duas formas do algoritmo so, sob o ponto de vista de implementao, semelhantes
diferindo apenas nas expresses matemticas de clculo da posio e da velocidade de cada
partcula ao cabo de cada iterao e nas especificaes das constantes pertinentes.
O algoritmo PSO-clssico para a busca do mximo de uma funo f(x,y) pode assim ser
sumarizado pelo pseudo-cdigo abaixo:
Etapa Inicial (Iterao zero): Entre com n (o nmero de partculas do enxame), m (o nmero
de iteraes), especifique os valores de
final
,
inicial
, c
1
, c
2
e os valores mnimos e mximos de x e
de y. Gere as condies iniciais segundo o procedimento
2
:

2
Nos procedimentos a funo ) ( . rnd gera nmeros aleatrios com distribuio uniforme entre 0(zero) e .
7
para k = 1, ...., n faa ) 1 ( rnd ; ( )
min min
x x x x
MAX k
+ e
k
melhor
k
x x
) 1 ( rnd ; ( )
min min
y y y y
MAX k
+ e
k
melhor
k
y y
0
,

k x
V e 0
,

k y
V (optou-se neste caso para partir com as partculas em
repouso!).
Faa
1
x x
melhor
;
1
y y
melhor
; ( )
1 1
) (
1
, y x f f
melhor
e
) (
1

melhor
global
f f ;
Etapa a) para i = 2,...., n faa ( )
i i
melhor
i
y x f f ,
) (

se
global
melhor
i
f f

) (
> ento faa
i
melhor
x x ;
i
melhor
y y e
) (

melhor
i global
f f volte para o incio da Etapa a com o prximo i;
se
global
melhor
i
f f

) (
volte para o incio da Etapa a com o prximo i;
Etapa 1 (Iterao i) Para i = 1, ...., m faa ( )
|
.
|

\
|

+
1
1
m
i
inicial final inicial

Etapa 1-a) Para k = 1,...,n faa: ) 1 ( rnd ; ) 1 ( rnd ; ) 1 ( rnd e ) 1 ( rnd
| | | |
k global k
melhor
k
k x k x
x x c x x c V V + +
2 1 , ,

| | | |
k global k
melhor
k
k y k y
y y c y y c V V + +
2 1 , ,

k x k k
V x x
,
+ e
k y k k
V y y
,
+
Se
MAX k
x x > faa
MAX k
x x e 0
,

k x
V
Se
min
x x
k
< faa
min
x x
k
e 0
,

k x
V
Se
MAX k
y y > faa
MAX k
y y e 0
,

k y
V
Se
min
y y
k
< faa
min
y y
k
e 0
,

k y
V
Calcule ( )
k k atual
y x f f ,
8
Se
) (melhor
k
atual
f f > faa
atual
melhor
k
f f
) (
,
k
melhor
k
x x
) (
e
k
melhor
k
y y
) (
;
verifique a seguir se
global atual
f f

> faa
atual global
f f

,
k global
x x e
k global
y y ; caso
global atual
f f

volte ao incio Etapa 1-a) com o prximo k se


k < n, caso contrrio [ k n] v para o incio da Etapa 1 com o prximo i se i < m,
caso contrrio [ i m] v para a Etapa 2
Se
) (melhor
k
atual
f f volte ao incio Etapa 1-a) com o prximo k se k < n, caso
contrrio [ k n] v para o incio da Etapa 1 com o prximo i se i < m, caso contrrio
[ i m] v para a Etapa 2
Etapa 2 O processo iterativo terminou os melhores valores de x e y so :
global
x e
global
y e
neste ponto o valor da funo :
global
f

FIM
O algoritmo PSO-modificado para a busca do mximo de uma funo f(x,y) pode assim ser
sumarizado pelo pseudo-cdigo abaixo:
Etapa Inicial (Iterao zero): Entre com n (o nmero de partculas do enxame), m (o nmero
de iteraes), especifique os valores de t > 0 e K [K 1] e os valores mnimos e mximos de x e de
y. Gere as condies iniciais segundo o procedimento:
para k = 1, ...., n faa ) 1 ( rnd ; ( )
min min
x x x x
MAX k
+ e
k
melhor
k
x x
) 1 ( rnd ; ( )
min min
y y y y
MAX k
+ e
k
melhor
k
y y
0
k
e 0
k
(optou-se neste caso para partir com as partculas em
repouso!).
Faa
1
x x
melhor
;
1
y y
melhor
; ( )
1 1
) (
1
, y x f f
melhor
e
) (
1

melhor
global
f f ;
Etapa a) para i = 2,...., n faa ( )
i i
melhor
i
y x f f ,
) (

se
global
melhor
i
f f

) (
> ento faa
i
melhor
x x ;
i
melhor
y y e
) (

melhor
i global
f f volte para o incio da Etapa a com o prximo i;
9
se
global
melhor
i
f f

) (
volte para o incio da Etapa a com o prximo i;
Etapa 3 (Iterao i) Para i = 1, ...., m execute Etapa 1-a)
Etapa 1-a) Para k = 1,...,n faa: ) 1 ( rnd ; ) 1 ( rnd ; ) 1 ( rnd e ) 1 ( rnd
Calcule :
2
K ; ( )
global
melhor
k
x x X 1
) (
+ ; X x A
k
;


k
A
B
+
; ( ) ) cos( exp
1
t t f e ( ) ) sen( exp
2
t t f
2 1
f B f A X x
k
+ +
( )
2 1
f B A f
k k
+
Se
MAX k
x x > faa
MAX k
x x e 0
k

Se
min
x x
k
< faa
min
x x
k
e 0
k

a seguir calcule :
2
K ; ( )
global
melhor
k
y y Y 1
) (
+ Y y C
k
;


k
C
D
+
; ( ) ) cos( exp
1
t t g e ( ) ) sen( exp
2
t t g
2 1
g D g C Y y
k
+ +
( )
2 1
g D C g
k k
+
Se
MAX k
y y > faa
MAX k
y y e 0
k

Se
min
y y
k
< faa
min
y y
k
e 0
k

Calcule ( )
k k atual
y x f f ,
Se
) (melhor
k
atual
f f > faa
atual
melhor
k
f f
) (
,
k
melhor
k
x x
) (
e
k
melhor
k
y y
) (
;
verifique a seguir se
global atual
f f

> faa
atual global
f f

,
k global
x x e
k global
y y ; caso
global atual
f f

volte ao incio Etapa 1-a) com o prximo k se


10
k < n, caso contrrio [ k n] v para o incio da Etapa 1 com o prximo i se i < m,
caso contrrio [ i m] v para a Etapa 2
Se
) (melhor
k
atual
f f volte ao incio Etapa 1-a) com o prximo k se k < n, caso
contrrio [ k n] v para o incio da Etapa 1 com o prximo i se i < m, caso contrrio
[ i m] v para a Etapa 2
Etapa 4 O processo iterativo terminou os melhores valores de x e y so :
global
x e
global
y e
neste ponto o valor da funo :
global
f

.
FIM
A seleo dos valores dos parmetros/constantes dos dois algoritmos uma tarefa de
tentativa-e-erro, a recomendao que se d nestes casos e para estes tipos de algoritmos a
execuo de um grande nmero de experimentos numricos. A prtica adquirida atravs da
implementao computacional dos algoritmos e a resoluo de exerccios simples fundamental
para se adquirir alguma sensibilidade sobre os valores destes parmetros/constantes. Mesmo assim
se deve alertar que no h valores mgicos destes parmetros/constantes e sempre desconfie de
artigos cientficos que sugiram de forma categrica valores particulares destes parmetros como os
melhores.
voltar para ENXAME DE PARTCULAS
4.4. Exemplos Ilustrativos
Para entender o significado dos parmetros do mtodo, considere a mesma funo
considerada nos algoritmos genticos, que a minimizao de F(x) apresentada abaixo.
= ( ) F x
1
10000
( ) + x 10 ( ) + x 6 ( ) + x 5 ( ) + x 1 ( ) x 7 ( ) x 10
11
Figura 2 Espao de busca da funo teste
Observe que existem mnimos locais em x -8,834, x -2,546 e x 8,817, sendo este
ltimo o mnimo global. A funo apresenta mximos locais em x -5,518 e x 3,914.

Figura 3 Extremos da funo teste
As duas verses do PSO foram implementadas computacionalmente. Abaixo mostrada a
evoluo dos valores timos da funo e da varivel x ao longo do procedimento evolutivo com a
forma clssica do algoritmo tendo sido utilizado os seguintes conjunto de parmetros:
inicial
=0,9 ;

final
=0 ; c
1
=c
2
=1; x
MAX
= +12 e x
min
= -12.Adotando-se uma populao de 10(dez) partculas, um
mximo de 20 (vinte) iteraes e partindo de localizaes iniciais aleatrias (entre 12 e +12) e do
repouso.
12
0 5 10 15 20
8.2
8.4
8.6
8.8
8.825
8.263
12 X
n i ,

8.817
m 0 i
Figura 4 Evoluo dos Melhores Valores
Globais da Funo Teste
0 5 10 15 20
8.5
8
7.5
7
7.022
8.129
X
n 1 + i ,
f
otimo
m 0 i
Figura 5 Evoluo dos Melhores Valores
Globais da Varivel
Uma animao desta soluo pode ser reproduzida clicando-se no programa
Univarivel_PSO_clssico.
Abaixo mostrada a evoluo dos valores timos da funo e da varivel x ao longo do
procedimento evolutivo com a forma modificada do algoritmo tendo sido utilizado os seguintes
conjunto de parmetros:t=1; K = 2 ; x
MAX
= +12 e x
min
= -12.Adotando-se uma populao de
10(dez) partculas, um mximo de 20 (vinte) iteraes e partindo de localizaes iniciais aleatrias
(entre 12 e +12) e do repouso.
0 5 10 15 20
8.5
8
7.5
7
7.254
8.129
X
n 1 + i ,
f
otimo
m
0
i
Figura 6 Evoluo dos Melhores Valores
Globais da Funo Teste
0 5 10 15 20
8.8
9
9.2
9.246
8.81
12 X
n i ,

8.817
m
0
i
Figura 7 Evoluo dos Melhores Valores
Globais da Varivel
Uma animao desta soluo pode ser reproduzida clicando-se no programa
Univarivel_PSO_modificado.
13
Notem que o desempenho das duas formas do algoritmo idntico, no sendo possvel
afirmar qual das duas formas mais eficiente.
O funcionamento do algoritmo de enxame de partculas (PSO para os ntimos) agora
ilustrado com a maximizao de uma funo de duas variveis, a chamada Funo Alpina que
representada pela equao :
( ) ( ) ) sen( sen , y x y x y x f =
no domnio : 0 < x <10 e 0 < y < 10.
Esta funo mostrada nas duas figuras a seguir:
a
Figura 8 A Funo Alpina
a
Figura 9 A Funo Alpina em Curvas de Nvel
O mximo global desta funo, na regio considerada, em x= y 7,917 onde a funo
assume o valor f
MAXIMO
7, 8856.
Abaixo mostrada a evoluo dos valores timos da funo ao longo do
procedimento evolutivo com a forma clssica do algoritmo tendo sido utilizado os seguintes
conjunto de parmetros:
inicial
=0,9 ;
final
=0 ; c
1
=c
2
=1; x
MAX
= y
MAX
= +10 e x
min
= y
min
= 0
.Adotando-se uma populao de 20(vinte) partculas, um mximo de 20 (vinte) iteraes e partindo
de localizaes iniciais aleatrias [entre (0,0) e (10,10)] e do repouso.
14
0 5 10 15 20
2
4
6
8
Valor timo
7.8856
2.89336
x
i
Otimo
20 0 i
Figura 10 Evoluo dos Melhores Valores Globais da Funo Alpina
Uma animao desta soluo pode ser reproduzida clicando-se no programa
Alpina_PSO_Clssico.
Abaixo mostrada a evoluo dos valores timos da funo ao longo do
procedimento evolutivo com a forma modificada do algoritmo tendo sido utilizado os seguintes
conjunto de parmetros: :t=1; K = 2; x
MAX
= y
MAX
= +10 e x
min
= y
min
= 0 .Adotando-se uma
populao de 20(vinte) partculas, um mximo de 20 (vinte) iteraes e partindo de localizaes
iniciais aleatrias [entre (0,0) e (10,10)] e do repouso.
0 5 10 15 20
6
7
8
Valor timo
7.8856
5.6
x
i
Otimo
m 0 i
Figura 11 Evoluo dos Melhores Valores Globais da Funo Alpina
Uma animao desta soluo pode ser reproduzida clicando-se no programa
Alpina_PSO_Modificado.
importante novamente enfatizar que os melhores valores dos parmetros/constantes das
duas formas do algoritmo so muito dependentes do problema particular que se est resolvendo e
que uma anlise da sensibilidade da resoluo do problema a valores particulares dos
15
parmetros/constantes s pode ser feita aps a execuo de um grande nmero de simulaes. Desta
maneira, recomendamos fortemente que sejam feitos todos os exerccios da lista sobre o assunto e
que dvidas sejam tiradas por E-mail ou durante as sesses do chat-room.
voltar para ENXAME DE PARTCULAS

S-ar putea să vă placă și