Вы находитесь на странице: 1из 17

OTIMIZAO POR COLNIA DE PARTCULAS

Jair Rocha do Prado


1
, Sezimria F. P. Saramago
2
Faculdade de Matemtica Famat
Universidade Federal de Uberlndia UFU
38408-100, Uberlndia MG

abril de 2005

Resumo. Neste trabalho apresentado um mtodo de otimizao natural conhecido como
Colnia de Partculas (Particle Swarm Optimization), um algoritmo baseado no
comportamento social de aves. A busca por alimento ou pelo ninho e a interao entre os
pssaros ao longo do vo so modelados como um mecanismo de otimizao. Desta forma, a
rea sobrevoada equivalente ao espao de projeto e encontrar o local com comida ou o
ninho semelhante a encontrar o timo. O algoritmo baseado em um modelo simplificado
da teoria de enxames (swarm theory), atravs da qual os pssaros ou partculas fazem uso de
suas experincias e da experincia do prprio bando para encontrarem o ninho ou alimento.
Algumas aplicaes so apresentadas para ilustrar a metodologia estudada e os resultados
obtidos so comparados com as solues encontradas utilizando Algoritmos Genticos.
Palavras-chave: Otimizao, Otimizao por Colnia de Partculas, Algoritmos Evolutivos

PARTICLE SWARM OPTIMIZATION

Abstract. In this work it is presented the natural optimization method known as Particle
Swarm Optimization, an algorithm based on social behavior of birds. The search procedure
for food or nest and the interaction among the birds through the flying are modeled as an
optimization mechanism. By this way, the flight area is equivalent to the design space and to
find the local with food or the nest is similar to find the optimum. The algorithm is based on a
simplified model of the swarm theory, in which the birds or particles make use of their own
experience and the swarm experience in order to find local with food or the nest. Some
applications are presented to illustrate the studied methodologies.
Keywords: Optimization, Particle Swarm Optimization, Genetic Algorithms.



1
Faculdade de Matemtica, UFU, e-mail: jair@mat.ufu.br
2
Faculdade de Matemtica, UFU, e-mail: saramago@ufu.br
Av. Joo Naves de vila, 2160, Santa Mnica, Uberlndia, MG, Brasil.
FAMAT em Revista - Nmero 04 - Abril de 2005 87

1. INTRODUO

Problemas de otimizao so caracterizados por situaes em que se deseja maximizar
ou minimizar uma funo numrica de vrias variveis, num contexto em que podem existir
restries. Tanto as funes acima mencionadas como as restries dependem dos valores
assumidos pelas variveis de projeto ao longo do procedimento de otimizao.

Pode-se aplicar otimizao em vrias reas, como por exemplo no projeto de sistemas
ou componentes, planejamento e anlise de operaes, problemas de otimizao de estruturas,
otimizao de forma, controle de sistemas dinmicos.
A otimizao tem como vantagens diminuir o tempo dedicado ao projeto, possibilitar o
tratamento simultneo de uma grande quantidade de variveis e restries de difcil
visualizao grfica e/ou tabular, possibilitar a obteno de algo melhor, obteno de solues
no tradicionais, menor custo.
As tcnicas clssicas de otimizao so conhecidas bem mais de um sculo, sendo
utilizadas na fsica e na geometria, servindo-se de ferramentas associadas s equaes
diferenciais ao Clculo Variacional. A sofisticao dos recursos computacionais,
desenvolvidos nos ltimos anos, tem motivado um grande avano nas tcnicas de otimizao.
Aliado ao fato de que os problemas tornam-se cada vez mais complexos.
Tcnicas clssicas de otimizao so confiveis e possuem aplicaes nos mais
diferentes campos de engenharia e de outras cincias. Porm, estas tcnicas podem apresentar
algumas dificuldades numricas e problemas de robustez relacionados com: a falta de
continuidade das funes a serem otimizadas ou de suas restries, funes no convexas,
multimodalidade, existncia de rudos nas funes, necessidade de se trabalhar com valores
discretos para as variveis, existncia de mnimos ou mximos locais, etc. Assim, os estudos
de mtodos heursticos, com busca randmica controlada por critrios probabilsticos,
reaparecem como uma forte tendncia nos ltimos anos, principalmente devido ao avano
dos recursos computacionais, pois um fator limitante destes mtodos a necessidade de um
nmero elevado de avaliaes da funo objetivo (Schwefel e Taylor, 1994).
Mtodos clssicos possuem como grande vantagem, o baixo nmero de avaliaes da
funo objetivo, o que faz com que tenham convergncia rpida. Contudo, estes mtodos tm
uma dificuldade para trabalhar com mnimos locais. Como estes mtodos utilizam um nico
ponto do espao de projeto e informaes sobre os gradientes, ao se depararem com mnimos
88 FAMAT em Revista - Nmero 04 - Abril de 2005
locais estes mtodos no conseguem avanar na busca, convergindo prematuramente, sem
encontrar o mnimo global.
Nos mtodos de otimizao natural, a funo objetivo avalizada vrias vezes, sendo
possvel trabalhar com vrios pontos ao mesmo tempo em uma iterao (populao). Isto
eleva o custo computacional destes mtodos. Entretanto, este fato compensado pela menor
chance que estes mtodos tm de serem presos em mnimos locais. H claramente uma
relao de compromisso estabelecida.
De forma geral, os mtodos de otimizao natural requerem maior esforo
computacional quando comparados aos mtodos clssicos, mas apresentam vantagens tais
como: fcil implementao, robustez e no requerem continuidade na definio do problema
(Venter e Sobieszczanski-Sobieski, 2002).
Como exemplo desta classe de mtodos, pode-se citadar os Algoritmos Genticos, que
trabalham com tcnicas de computao evolutiva, as quais modelam a evoluo das espcies
proposta por Darwin e operando sobre uma populao de candidatos (possveis solues). A
idia que a evoluo da populao faa com que a formao dos cromossomos dos
indivduos caminhe para o timo, medida que aumenta sua funo de adaptao (fitness).
O algoritmo conhecido como Colnia de Partculas (Particle Swarm Optimization),
um mtodo baseado no comportamento social de aves. A busca por alimento ou pelo ninho e a
interao entre os pssaros ao longo do vo so modelados como um mecanismo de
otimizao. Fazendo uma analogia, a rea sobrevoada equivalente ao espao de projeto e
encontrar o local com comida ou o ninho corresponde a encontrar o timo. O algoritmo
baseado em um modelo simplificado da teoria de enxames (swarm theory), atravs da qual os
pssaros ou partculas fazem uso de suas experincias e da experincia do prprio bando para
encontrarem o ninho ou alimento. As aplicaes presentes na literatura evidenciam a
capacidade do algoritmo na soluo de diferentes problemas, bem como salientam a
habilidade de trabalhar com variveis discretas e contnuas simultaneamente.

1.1 Problema Geral de Otimizao

O problema geral de otimizao consiste em minimizar uma funo objetivo, sujeita, ou
no, a restries de igualdade, desigualdade e restries laterais.
A funo objetivo e as funes de restries podem ser funes lineares ou no
lineares em relao s variveis de projeto, implcitas ou explcitas, calculadas por tcnicas
analticas ou numricas.
FAMAT em Revista - Nmero 04 - Abril de 2005 89
Seja o problema geral de otimizao dado por:

Minimizar :
) (x f ,
T
n
x x x x ] , , , [
2 1
K = ,x
n
(1)

Sujeito a:
j
g (x) 0 , j=1,2,...,J

k
h (x) = 0 , k=1,2,...,K (2)

) (L
i
x x
) (U
i
x , i= 1,2,..., n
onde, ) ( X f representa a funo objetivo,
j
g e
k
h as restries de desigualdade e de
igualdade, x
i
(L)
e x
i
(U)
as restries laterais. Todas estas funes assumem valores em
n
e
so, na maioria dos casos, no-lineares.

2. MTODOS DE ORDEM ZERO


Figura 1- Esquema do Mtodo de Ordem Zero
90 FAMAT em Revista - Nmero 04 - Abril de 2005

So mtodos simples, de fcil implementao, confiveis e capazes de trabalhar com
valores discretos. Requerem apenas o clculo de F(X), no dependem do gradiente e da
continuidade da funo. Necessitam de um grande nmero de avaliaes da funo objetivo, o
que aumenta o custo computacional. A idia bsica selecionar um grande nmero de
vetores de projeto x e calcular f(x) correspondente a cada um. O vetor correspondente ao
menor valor de f(x) ser adotado como o valor timo x.
O vetor x selecionado de forma randmica no espao de projeto. Para limitar a busca,
utiliza-se as restries laterais. Um nmero randmico r gerado, ] 1 , 0 [ r , e as variveis
de projeto da q-sima iterao atualizadas:

) (
l
i
u
i
l
i
q
i
x x r x x + = (3)

O processo do mtodo de Ordem Zero est apresentado no fluxograma da Fig. 1.
Neste caso, o critrio de parada adotado o nmero mximo de iteraes. Porm, outros
critrios podem ser incorporados ao programa.

2.1 Exemplo Ilustrativo

Considere o problema de minimizao de uma funo escrita por:

g(x,y) = x sen(4x) + 1,1 y sen(2y) (4)
restries laterais: 8 < x < 10, 8 < y < 10

A Fig. 2 ilustra o grfico da funo g(x,y) e suas curvas de nvel, respectivamente.
Acompanhando, por exemplo, uma evoluo do mtodo de Ordem Zero aplicado ao
problema (3), para um mximo de 100 iteraes, os melhores resultados podem ser
verificados na Tabela 1, sendo que o valor timo foi encontrado na 58

iterao.

O ponto de mnimo obtido foi:
F
*
= -18.2155
E as variveis de projeto correspondentes ao pnto de mnimo:
X
*
=[ 9.0111 ; 8.7895 ].
FAMAT em Revista - Nmero 04 - Abril de 2005 91

Tabela 1- Evoluo do Mtodo de Ordem Zero aplicado Equao (3)


Iterao X(1) X(2) F(X)
3 8.1776 8.3915 -0.2517
5 9.3963 8.2914 -8.0677
8 9.1431 8.3260 -15.674
26 8.9579 8.5686 -17.898
58 9.0111 8.7895 -18.216




a)


b)



Figura 2- (a) Grfico da funo da Equao (3), (b) curvas de nvel desta funo.




92 FAMAT em Revista - Nmero 04 - Abril de 2005

Os pontos randmicos criados pelo algoritmo podem ser visualizados na Fig. 3, nota-
se que o ponto mnimo obtido ainda pode ser melhorado.

Figura 3- Evoluo do Mtodo de Ordem Zero aplicado Equao (3).

3. OTIMIZAO POR COLNIA DE PARTCULAS (PARTICLE SWARM
OPTIMIZATION)

Otimizao por colnia de partculas (PSO), uma tcnica de otimizao desenvolvida
na dcada de 90, mais precisamente em 1995, por James Kennedy e Russel Eberhart. Neste
modelo analisado algoritmos que modelam o comportamento social visto em vrias
espcies de pssaros.
Dentre vrios modelos vamos estudar a tcnica desenvolvida pelo bilogo Frank
Heppener que baseada no seguinte comportamento: pssaros esto dispostos aleatoriamente
e estes esto a procura por alimento e um local para construir o seu ninho,eles no sabem
onde est esse lugar e este nico. A indagao qual o melhor comportamento que os
pssaros tero que realizar para conseguir efetuar seu objetivo, parece mais evidente que eles
sigam o pssaro que estiver mais prximo do alimento ou do ninho. Inicialmente os pssaros
voam sem nenhuma orientao prvia, eles se aglomeram em bandos, at que um consegue
encontrar o ninho e atrai os que estiverem mais prximos.
Pelo fato de um pssaro encontrar o ninho a chance de os outros pssaros tambm
encontrarem aumenta consideravelmente, isto se deve ao fato de a inteligncia ser social, ou
seja, o indivduo aprende com o acerto do outro.


FAMAT em Revista - Nmero 04 - Abril de 2005 93
3.1 O algoritmo Paticle Swarm Optimization

O algoritmo Particle Swarm Optimization (PSO) foi introduzido por James Kennedy e
Russell Elberhart em 1995 e emergiu de esperincias com algoritmos que modelam o
comportamento social observado em muitas espcies de pssaros (Pomeroy, 2003), os
pssaros so chamados de partculas e durante a busca por alimento ou ninho usam de suas
experincias e da experincia do bando. O PSO um algoritmo que possui um vetor de
velocidades e outro de posio, a posio de cada partcula atualizada de acordo com a
velocidade atual, o saber adquirido pela partcula e o saber adquirido pelo bando. O
fluxograma mostrado na Figura 4 representa um esboo do algoritmo (Rojas et al, 2004).

A posio das partculas calculada segundo a equao:

=
+
i
k
x
1
i
k
i
k
v x
1 +
+ t (5)

Onde:

i
k
x
1 +
a posio de cada partcula i na iterao k+1

i
k
v
1 +
o vetor de velocidade desta partcula
t: equivale ao espao de tempo considerado.
Figura 4 Fluxograma para o algoritmo PSO bsico
94 FAMAT em Revista - Nmero 04 - Abril de 2005
O vetor de velocidade atualizado conforme a equao:

i
k
v
1 +
=
i
k
wv +
1
c
1
r
t
x p
i
k
i

) (
+
2 2
r c
t
x p
i
k
s
k

) (
(6)

Considerando que, v
k
i
a velocidade atual da partcula;

1
r ,
2
r so nmeros aleatrios entre 0 e 1;
i
p a melhor posio encontrada pela partcula i e
s
k
p a melhor posio do bando na iterao k.

O clculo da velocidade necessita, ainda, de alguns parmetros dependentes do
problema, que so: a inrcia da partcula (w), que controla a capacidade de explorao do
algoritmo, ou seja, um valor alto facilita um comportamento mais global, enquanto um valor
baixo facilita um comportamento mais local (Venter e Sobieszczanski-Sobieski, 2002), e os
dois parmetros de confiana c
1
e, c
2
que indicam o quanto uma partcula confia em si (c
1
),e
no bando (c
2
). A Figura 5 mostra a aplicao da equao anterior, considerando duas
partculas se deslocando em um espao de projeto bidimensional.
Os parmetros de confiana e de inrcia, devem ser ajustados de acordo com o
problema, pois so utilizados para a atualizao do vetor velocidade. Alguns autores propem
que sejam adotados c
1
= c
2
= 2 e 0.7 < w < 1.4. Sugere-se, tambm, a adoo de valores
diferentes para c
1
e c
2
desde que satisfaam c
1
+ c
2
= 4.
A inrcia pode ser atualizada de forma iterativa pela expresso:

new
w =
w
f
old
w (7)

Considerando o fator de reduo, f
w
uma constante entre 0 e 1. So usados neste trabalho,a
inrcia constante w
0
= 0.729 e c
1
= c
2
= 2.


FAMAT em Revista - Nmero 04 - Abril de 2005 95













Figura 5: Vetor de velocidades em ao

Onde:

v
s
i
velocidade prxima ao timo da colnia
v
p
i
velocidade prxima ao timo da partcula
p
s
colnia tima
p
i
partcula tima
- posio atual
- posio prxima

3.2 Colnia Inicial

A inicializao da populao de colnia normalmente obtida com as partculas dispostas
aleatoriamente sobre o espao de projeto, cada uma possui um vetor de velocidade aleatrio
inicial. As equaes a seguir mostram como so obtidos a posio e o vetor de velocidades
iniciais.


i
x
0
=
min
x + ) (
min max 1
x x r (8)

96 FAMAT em Revista - Nmero 04 - Abril de 2005
t
x x r x
v
i

+
=
) (
min max 2 min
0
(9)

Onde,
1
r e
2
r so nmeros aleatrios entre 0 e 1;
min
x o limite interior das restries laterais para as variveis de projeto;
max
x o limite superior das restries laterais para as variveis de projeto.


3.3 Otimizao com restries

Os algarismos evolutivos e PSO, por tratarem-se de algoritmos naturais, no trabalham
diretamente com restries. Uma estratgia para se fazer com que estes algoritmos manipulem
restries, utilizao de funes de penalidade quadrtica estendida.
Assim, defini-se uma funo pseudo-objetivo definida (x):
(x) = f(x) + rp
2
1
)] ( , 0 max[ x g
i
m
i

=
(10)

Sendo,
f(x) a funo objetivo original;
rp um fator de penalidade (de ordem varivel segundo o tipo de problema);
) (x g
i
o conjunto de todas as restries (com violaes para ) (x g
i
>0);

Quando h restries nos problemas de otimizao, as partculas que desrespeitam
alguma restrio se enquadram em um grupo que merecem um tratamento especial, esse
tratamento se inicia pelo clculo do novo vetor de velocidade, dado pela seguinte equao:

i
k
v
1 +
=
1
c
1
r +

t
x p
i
k
i
) (
2 2
r c
t
x p
i
k
s
k

) (
(11)

Observe que a Equao (11) no leva em considerao a informao do vetor de
velocidade na iterao anterior para o novo clculo do vetor de velocidade, isto se deve ao
fato de a partcula estar se divergindo em direo a uma violao.
FAMAT em Revista - Nmero 04 - Abril de 2005 97
Na maioria das vezes este novo vetor de velocidades se destinar a uma regio vivel e
a partcula sai da restrio.

3.4 Variveis de Projeto Discretas / Inteiras

O PSO um algoritmo contnuo, contrapondo os Algoritmos Genticos que
primeiramente eram destinados a variveis discretas. Porm, o PSO pode ser muito eficiente
na resoluo de problemas com variveis discretas, desde que sejam feitas algumas
modificaes no algoritmo, por exemplo a posio de cada partcula arredondada para o
valor inteiro mais prximo logo em seguida a aplicao da Equao (5) ou da Equao (8).

4. SIMULAO NUMRICA

Para a realizao de simulaes numricas foram utilizados o programa GAOT para
Algoritmos Genticos e um cdigo desenvolvido em Matlab para o PSO

Exemplo 1:

a) min f(x) = exp(x) * sen(x) ; 0 <x < 9,3;

GAOT: f(x) = -172,6409;
x = 5,4978;

PSO: f(x) = -172,6409;
x = 5,4978;

b) mx f(x) = exp(x) * sen(x) ; 0 <x< 9.3;

GAOT: f(x) = 3995,0;
x =8,6394;
PSO: f(x) = 3995,0;
x = 8,6394;
98 FAMAT em Revista - Nmero 04 - Abril de 2005


Figura 6 Representao grfica de y = exp (x) * sen (x)


Exemplo 2:

a) min f(x) = (x
1
+ 2)
2
+ (x
2
1)
2
; -10<x
1
<10; -10<x
2
<10;

GAOT: f(x) = 0;
x = [-2 1];

PSO: f(x) = 0;
x = [-2 1];


b) mx f(x) = (x
1
+ 2)
2
+ (x
2
1)
2
; -10<x
1
<10; -10<x
2
<10;

GAOT: f(x) = 265;
x = [10 -10];

PSO: f(x) = 265;
x = [10 -10];

Figura 7 Representao grfica de y = (x
1
+2)
2
+ (x
2
2)
2

FAMAT em Revista - Nmero 04 - Abril de 2005 99

Exemplo 3:

a) min f(x) = (x
1
+ 2)
2
+ (x
2
1)
2
+ x
3
; -10<x
1
<10; -10<x
2
<10; -10<x
3
<10

GAOT: f(x) = -10;
x = [-2 1 -10];

PSO: f(x) = -10;
x = [-2 1 -10];

b) mx f(x) = (x
1
+ 2)
2
+ (x
2
1)
2
+ x
3
; -10<x
1
<10; -10<x
2
<10; -10<x
3
<10

GAOT: f(x) =275;
x = [10 - 10 10];

PSO: f(x) = 275;
x = [10 -10 10];


Exemplo 4:

Seja o seguinte problema:

Determinar a posio de equilbrio esttico de um sistema constitudo de 2 molas (K
1
e K
2
)
solicitado por duas foras constantes (P
1
e P
2
), de forma a minimizar sua energia potencial:










Figura 8 - Esquema do problema fsico

dados: P
1
= P
2
= 5 N; K
1
= 8 N/cm; K
2
= 1 N/cm ; l
1
l
2
=10 cm
restries laterais: X
i
[0 , 10]
100 FAMAT em Revista - Nmero 04 - Abril de 2005
A energia potencial (Ep) calculada pela seguinte equao:

+ + +
(

+
=
2 2 1 1
2
2
2
2 2
2
1 2
2
1
2
2 1
2
1 1
) ( 5 , 0
) ( 5 , 0
X P X P
l X l X K
l X l X K
Ep

Como deseja-se minimizar a energia potencial do sistema, a funo objetivo a ser maximizada
ser:

+ +
+
(

+
=
2 2 1 1
2
2
2
2 2
2
1 2
2
1
2
2 1
2
1 1
2 1
) ( 5 , 0
) ( 5 , 0
) , (
X P X P
l X l X K
l X l X K
X X F
Utilizando o cdigo computacional GAOT, obteve-se os seguintes resultados:


Ep
min
= 0.418082 J

X
otimo
= [8.6323 4.5319] (cm)


Utilizando o cdigo computacional PSO, obteve-se os seguintes resultados:

Ep
min
= 0418082 J
X
otimo
= [8.6323 4.5319] (cm)







FAMAT em Revista - Nmero 04 - Abril de 2005 101
Concluso

Este trabalho apresenta um estudo sobre algoritmos evolutivos, considerando duas
tcnicas desenvolvidas recentemente: otimizao por colnia de partculas (particle swarm) e
algoritmos genticos.
Atravs de simulaes numricas aplicadas a problemas simples, pode-se observar que
as duas tcnicas convergem para os mesmos resultados. Alm disso, observa-se que a
otimizao por colnia de partculas trabalha com um tamanho de populao bastante
reduzido, portanto seu esforo computacional pequeno. Este fato, incentiva pesquisas
futuras, onde esta tcnica ser aplicada a problemas complexos que requerem muitas
avaliaes da funo objetivo.



















102 FAMAT em Revista - Nmero 04 - Abril de 2005
Referncias Bibliogrficas

H.P. SCHWEFEL E L TAYLOR, Evolution and Optimum Seeking, John Wiley & Sons
Inc, United States of America, pp. 87-88, 1994.

ROJAS, J. E., VIANA, F.A.C., Rade, D. A. and Steffen Jr, V., Force identification of
mechanical systems by using particle swarm optimization. In Proceedings of the 10
th

AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference, Albany, New York,
Aug 30-01 Sept 2004.

VENTER, G. AND SOBIESZCZANSKI-SOBIESKI, J., Particle Swarm Optimization,
Proceedings of the 43
rd
AIAA/ASME/ASCE/AHS/ASC Strutures, Structural Dynamics, and
Materials Conference, Denver, CO, Vol. AIAA-2002-1235, April 22-25 2002.

KENNEDY, J. and Eberhart, R. C., Particle Swarm Optimization, Proceedings of the 1995
IEEE Internacional Conference on Nerual Networks, Perth, Australia, 1995, pp. 1942-1948.

POMEROY, P., An Introduction to Particle Swarm Optimization,
http://www.adaptiveview.com, [15 Setembro de 2003].
FAMAT em Revista - Nmero 04 - Abril de 2005 103

Вам также может понравиться