Você está na página 1de 15

SIMMEC/EMMCOMP 2014

XI Simpósio de Mecânica Computacional


II Encontro Mineiro de Modelagem Computacional
Juiz De Fora, MG, 28-30 de Maio De 2014

ALGORITMO DE OTIMIZAÇÃO COM ENXAME DE PARTICULAS


AUXILIADO POR METAMODELOS

Allan F. Silva
allanfonseca@gmail.com
Centro Federal de Educação Celso Suckow da Fonseca – CEFET/RJ
Rua Voluntários da Pátria, n. 30, 27600-00, RJ, Valença
Afonso C. C. Lemonge
afonso.lemonge@ufjf.edu.br
Universidade Federal de Juiz de Fora - Departamento de Mecânica Aplicada e Computacional
Cidade Universitária, Faculdade de Engenharia, 36036-330, MG, Juiz de Fora
Beatriz S. L. P. Lima
bia@coc.ufrj.br
Universidade Federal do Rio de Janeiro – Programa de Engenharia Civil - COPPE
Centro de Tecnologia, Bloco B, Sala 101, 21945-970, RJ, Rio de Janeiro
Abstract. Os algoritmos evolutivos tem seu uso expandido ao longo dos anos e um algoritmo,
em especial, tem demostrado bastante eficiência quando utilizado na resolução de problemas
complexos de otimização, o algoritmo de Enxame de Partículas. Conhecido como PSO
(Particle Swarm Optimization) este algoritmo tem fácil implementação computacional e é
competitivo se comparado aos demais algoritmos populacionais inspirados na natureza. Com
o aumento da complexidade dos problemas avaliados por métodos computacionais, mesmo o
uso dos algoritmos evolutivos pode se tornar inviável devido ao grande número de avaliações
da função que representa este problema, necessária ao processo evolutivo. Neste sentido, a
utilização de metamodelos se apresenta como alternativa interessante se acoplados a estes
algoritmos. Um metamodelo é uma representação reduzida de uma situação real com o
objetivo de simular esta situação de forma mais simples. Aplicados aos problemas complexos
os metamodelos podem reduzir o número de avaliações das funções que representam estes
problemas. Este trabalho pretende avaliar a viabilidade da utilização do algoritmo evolutivo
PSO associado a um metamodelo chamado KNN (K-nearest neighbours) como proposta viável
para minimizar o custo computacional da resolução de problemas complexos.

KEYWORDS: Enxame de Partículas, Metamodelos, KNN, Otimização


ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

1 INTRODUÇÃO

Na tentativa de resolução de um problema real, é comum testar possíveis soluções que


requerem uma experiência complexa de laboratório ou algum tratamento especial que possui
alto custo financeiro para sua execução. Estas soluções de teste podem ou não resolver o
problema em questão e, ainda, resolvendo-o, podem não ser a solução mais ideal. Neste caso,
se faz necessário propor outras soluções variando os parâmetros do problema. Este processo de
melhoria da solução inicialmente encontrada pode ser denominado “otimização da solução”.
Neste sentido, modelar o problema na forma de uma função matemática, transformando-o em
uma função a ser otimizada (maximizada ou minimizada) – chamada de função objetivo, tem
se tornado cada vez mais usual.
Problemas de otimização modelados através de uma função matemática podem ser
resolvidos através de métodos clássicos de otimização, como a programação linear e inteira,
onde o objetivo é localização do valor ótimo para a função que representa o problema. Embora
estas técnicas sejam muito utilizadas, o processo de localização do ótimo pode ser
computacionalmente custoso. Como alternativa podem ser utilizados os Algoritmos Evolutivos
que não garantem uma solução ótima mas podem chegar a um resultado subótimo que seja
satisfatório com custo computacional aceitável.
Os Algoritmos Evolutivos tem sido exaustivamente investigados neste contexto devido à
sua capacidade de resolver problemas de otimização complexos trabalhando de forma eficiente
na avaliação das variações específicas dos problemas estudados. Dentre os algoritmos
evolutivos mais utilizados pode-se citar os Algoritmos Genéticos (Goldberd e Holland, 1988)
baseados nas teorias de Darwin sobre a seleção natural, reprodução genética e evolução das
espécies. Pode-se citar também Algoritmos Meméticos (Smith e Simons, 2003), os Sistemas
Imunológicos Artificiais (Huang et al, 2013) e as Colônia de Formigas (Mohana e Baskaranb,
2011).
O algoritmo que é objeto de estudo deste trabalho é o PSO (Kennedy e Eberhart, 1995),
que é um algoritmo populacional que vem sendo utilizado ao longo dos anos em diversas
situações, sempre demostrando bastante eficácia na resolução dos problemas abordados.
Mesmo sendo bastante efetivos na solução de problemas complexos de otimização, os
Algoritmos Evolutivos podem ter alto custo computacional relacionado ao processo de
avaliação de seus modelos (funções objetivo e restrições do problema). Para auxiliar na redução
deste custo computacional podem ser utilizados metamodelos.
Um metamodelo é uma simplificação de um modelo de simulação sofisticado, chamado
aqui de simulação exata, onde pode-se fazer avaliações das soluções candidatas sem a
necessidade do uso da simulação exata.
Existem diversos tipos de metamodelos que podem ser utilizados em processos de
otimização. Em (Sun, 2013) um algoritmo genético auxiliado por modelo de substituição é
proposto para tratar a incerteza nas avaliações que não são feitas por simulação exata dos
problemas avaliados. Uma abordagem do uso de metamodelos associados ao algoritmo PSO é
apresentada por (Regis, 2013) onde a utilização do metamodelo é feita para avaliar diversas
posições de teste sugeridas para cada partícula identificando a posição mais promissora. Já em

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

(In e Park, 2013) é apresentada uma junção o PSO, metamodelos e estatística bayesiana para
resolução de problemas de otimização estrutural.
Em (Fonseca, 2009) é sugerida a utilização de três metamodelos associados ao algoritmo
genético, a herança de aptidão (Sastry, 2002), a imitação de aptidão (Jin, 2005) e vizinhos mais
próximos que tem como base a avaliação da similaridade entre um indivíduo já avaliado por
simulação exata e um novo indivíduo.
Em (Pina, 2010) o PSO é utilizado de forma associada a um metamodelo para a síntese e
otimização de sistemas para produção de petróleo offshore. Este trabalho se estende em (Pina,
et al, 2013) onde um metamodelo baseado em redes neurais é utilizado para o auxílio no cálculo
de linhas de ancoragem e risers. (Shi e Rasheed, 2008) utilizam um metamodelo associado ao
um GA onde uma função de aproximação do valor da função objetivo é apresentada e o
algoritmo ASAGA escolhe, de forma adaptativa, o tipo de modelo a ser utilizado e ainda,
apresenta uma função de penalidade estocástica para a avaliação das restrições dos problemas
avaliados.
Este texto está organizado da seguinte forma: a seção 2 apresenta os metamodelos e aquele
que é objeto de estudo deste trabalho, na seção 3 é apresentado o algoritmo PSO, na seção 4 o
algoritmo proposto utilizando o PSO com o auxílio do metamodelo KNN, a seção 5 apresenta
os experimentos numéricos, na seção 6 são apresentadas as conclusões e trabalhos futuros.

2 METAMODELOS

Um modelo é uma representação reduzida de uma situação real com o objetivo de simular
esta situação de forma mais simples. O termo "metamodelo" foi utilizado inicialmente da
década de 70 por (Blanning, 1974). As aplicações iniciais tinham como objetivo auxiliar o
cálculo de sensibilidades dos modelos de simulação, onde surgia a necessidade de se executar
o metamodelo diversas vezes.
Um metamodelo é uma aproximação do modelo original e, em relação a este tipo de
aproximação pode-se classificar os metamodelos em aproximação do problema, aproximação
da função e aproximação evolucionista. A aproximação do problema se baseia no conhecimento
do mesmo para sua simplificação e, por conseguinte, gerar soluções através desta simplificação
com menor custo e valor resultante com aproximação aceitável em relação ao problema original.
Neste caso, é requerido grande conhecimento do problema observado. A aproximação funcional
requer uma série de experimentos no problema original para que seja gerada uma relação entre
os dados de entrada e a saída calculada.
Neste trabalho optou-se por utilizar metamodelos com base na aproximação evolucionista
onde o valor da função objetivo de alguns indivíduos não é mais calculado por simulação exata,
mas sim igualado ao valor de outros indivíduos previamente calculados. Este processo é feito
com base em uma medida de similaridade entre estes indivíduos.

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

2.1 O Metamodelo KNN

Esta técnica utilizada como metamodelo é considerada de simples implementação e baixo


custo computacional. Para sua utilização é necessário a criação de um conjunto D onde serão
armazenados os indivíduos avaliados por simulação exata. Ao longo do processo evolutivo
novos indivíduos são selecionados para avaliação por similaridade em relação àqueles presentes
no conjunto D ou selecionados para avaliação por simulação exata.
Para a avaliação de um novo indivíduo através da similaridade com aqueles já presentes no
conjunto 𝐷 é necessário se avaliar esta similaridade. Este processo pode ser feito de diversas
maneiras e neste trabalho foi utilizado como medida de similaridade a distância Euclidiana
calculada entre um novo indivíduo da população e aqueles presentes no conjunto 𝐷. Ao se
localizar um indivíduo similar a um novo indivíduo a ser avaliado, o valor da função objetivo
desde novo indivíduo é igualado ao valor da função objetivo do indivíduo similar já presente
no conjunto 𝐷.
É necessário também definir quantos indivíduos serão avaliados no processo de
similaridade, este é o parâmetro 𝐾 do algoritmo KNN. Para 𝐾 = 1, o indivíduo mais similar,
no caso o que tem a menor distância calculada, é considerado para definir os valores do novo
indivíduo. Para 𝐾 > 1 são selecionados os 𝐾 indivíduos que possuem a menor distância em
relação ao novo indivíduo sendo então calculada a média ponderada entre os entre estes 𝐾
indivíduos selecionados e suas distâncias em relação ao novo indivíduo. Com esta média
ponderada o valor da função objetivo do novo indivíduo é calculado de forma ponderada em
relação ao valor da função objetivo dos 𝐾 indivíduos mais similares.

Atualização do metamodelo.
O preenchimento do conjunto 𝐷 pelos indivíduos já avaliados por simulação exata é
realizado no início do processo evolutivo, mas manter os mesmos indivíduos neste conjunto até
o final deste processo pode fazer com que o algoritmo não efetue a convergência para o ótimo
global visto que esta amostra de indivíduos, conjunto 𝐷, foi gerada no início do processo
evolutivo e, naturalmente, novos indivíduos diferentes serão gerados. Sendo assim o conjunto
D precisa ser atualizado ao longo do processo evolutivo.
Diversas técnicas são sugeridas para a atualização do conjunto 𝐷 (Mera, 2005) e neste
trabalho optou-se pela substituição dos indivíduos mais antigos de 𝐷 pelos mais novos. O
processo de substituição só acontece após um certo número de gerações do algoritmo para que
haja uma maior diversidade e é feito em somente em um único indivíduo por geração. Para a
atualização é avaliada a idade dos indivíduos presentes no conjunto 𝐷 e o indivíduo
considerado “mais velho” é substituído por um novo indivíduo selecionado aleatoriamente
dentre aqueles que foram avaliados por simulação exata na geração atual. No caso de haver
mais de um indivíduo com a mesma idade e estes forem considerados os mais antigos, o
indivíduo que possuir o pior valor da função objetivo será o selecionado para substituição.

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

Seleção de indivíduos para avaliação por simulação exata ou por


metamodelo.
Durante o processo evolutivo é necessário decidir quantos indivíduos serão avaliados por
simulação exata e quantos serão avaliados por similaridade através do metamodelo. Um grande
número de indivíduos avaliados de forma exata pode fazer com que o custo computacional seja
reduzido de forma insuficiente e, em contrapartida, um grande número de indivíduos avaliados
através do metamodelo pode fazer com que o algoritmo perca sua capacidade evolutiva e a
convergência não seja alcançada. Em (Fonseca, 2009) são propostas três técnicas para a seleção
da forma de avaliação dos indivíduos: o Gerenciamento de Seleção Aleatória (RS), o
Gerenciamento com Filtro Pré-Seleção (PS) e o Gerenciamento de Pré-seleção com Política de
Adaptação (APS).
No gerenciamento de Seleção Aleatória utiliza-se um parâmetro 𝑃𝑠𝑚 para definir a
probabilidade aleatória de um indivíduo ser avaliado por simulação exata ou pelo uso do
metamodelo.
No gerenciamento com Filtro Pré-Seleção todos os indivíduos da população atual são
avaliados com o metamodelo e, em seguida, ordenados em relação ao valor de sua função
objetivo e o tipo de problema. Em seguida, sendo  o número de indivíduos da população, os
𝑃𝑠𝑚 melhores indivíduos são reavaliados por simulação exata.
No gerenciamento de Pré-seleção com Política de Adaptação alguns indivíduos são
avaliados com o metamodelo e reavaliados com por simulação exata para que seja feita a
̂ e definido na Eq. (1) onde 𝑄 é o número
avaliação do erro associado ao metamodelo dado por 𝐻
de indivíduos avaliados com o metamodelo.

1 Q 2 i (1)
E^ 
H
 e ^ (x )
Q i 1 H
Através da avaliação do erro calculado pela Equação (1) é sugerida por (Fonseca, 2009)
uma metodologia de adaptação do parâmetro 𝑃𝑠𝑚 ao longo do processo evolutivo onde a
utilização do metamodelo reduz até o final do processo exceto se a média do erro E ^ aumentar
H

nas L últimas gerações. O pseudocódigo a seguir apresenta está metodologia.


1: se E ^ aumentou nas últimas 𝐿 gerações então
H

2: 𝑃𝑠𝑚 = min⁡(𝛾𝑃𝑠𝑚 , 1) [𝛾 > 1]


senão
𝑚𝑖𝑛
4: 𝑃𝑠𝑚 = 𝑚𝑎𝑥⁡(𝛽𝑃𝑠𝑚 , 𝑃𝑠𝑚 ) [𝛽 < 1]
fim-se

3 OTIMIZAÇÃO POR EXAME DE PARTÍCULAS

Criada por (Kennedy e Eberhart, 1995), a técnica de otimização através de enxame de


partículas, PSO, foi inspirada na inteligência coletiva dos animais. É uma técnica populacional
que pode ser incluída no conjunto de algoritmos evolutivos. Vários problemas complexos de
SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

otimização que não são possíveis de serem resolvidos usando a otimização clássica vem sendo
testados com diversas heurísticas populacionais e a utilização do PSO tem se mostrado bastante
interessante em relação a sua eficiência na localização do ótimo global.
A otimização inspirada em enxame de partículas é uma técnica de busca baseada no
comportamento social de indivíduos. Este comportamento apresenta inicialmente uma busca de
forma aleatória e desordenada, mas percebe-se uma organização no voo ao longo do tempo e
um padrão de busca é apresentado. No momento da localização do objetivo todos os indivíduos
se dirigem para a localização deste.
(Kennedy e Eberhart, 1995) desenvolveram então um algoritmo populacional denominado
PSO, do inglês Particle Swarm Optimization, onde os indivíduos são partículas em um espaço
de busca multidimensional e o objetivo a ser alcançado é um ponto neste espaço.
O PSO tem a inicialização da população feita de forma aleatória e, ao longo do tempo, o
posicionamento das partículas é atualizado baseado em regras pré-estabelecidas.

3.1 Algoritmo PSO básico

O processo evolutivo do algoritmo se baseia na atualização das velocidades das partículas


ao longo do tempo gerando a modificação do posicionamento destas.
Considerando que a posição de uma partícula 𝑖 em um tempo 𝑘 pode ser representada por
𝑥𝑘𝑖 ⁡e
a velocidade da mesma como sendo 𝑣𝑘𝑖 . Os vetores de posição e velocidade desta partícula
𝑖 são armazenados durante o processamento do algoritmo em uma geração 𝑘 e utilizados para
a atualização da população na geração 𝑘 + 1.
Para a atualização da população, além dos vetores velocidade e posição de todas as
partículas em uma geração 𝑘, são necessárias duas informações, a saber: a melhor posição da
partícula 𝑖 ao longo de todo o processo até o momento definida por 𝑝𝑘𝑖 ⁡ e a posição da melhor
partícula de todo o enxame ao longo do processo até o momento definida por 𝑝𝑘𝑔 .
A atualização da velocidade de cada partícula é dada pela Eq. (2).
( pki  xki ) ( pkg  xki ) (2)
v i
k 1  wv  c1rnd1
i
 c2 rnd2
t t
k

𝑖
onde 𝑣𝑘+1 ⁡representa o vetor velocidade da partícula 𝑖 tempo 𝑘 + 1, 𝑤 é o fator de
inércia, 𝑟𝑛𝑑1 e 𝑟𝑛𝑑2 são duas variáveis aleatórias e independentes de distribuição uniforme
entre 0 e 1, 𝑐1 e 𝑐2 são parâmetros de confiança em relação ao posicionamento da própria
partícula e em relação ao posicionamento da melhor partícula do enxame até o momento em
todo o processo, respectivamente. ∆𝑡 é o espaço de tempo e neste trabalho será utilizado como
tendo valor unitário.
A atualização do posicionamento de cada partícula, a partir da velocidade atualizada, é
dada pela Eq. (3).
xki 1  xki  vki 1t (3)

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

O algoritmo PSO básico, utilizado para problemas sem restrições, pode ser definido
conforme a seguinte descrição textual.
1. Inicializar um conjunto de partículas em um tempo 𝑘 = 0 com velocidades e
posições aleatoriamente distribuídas dentro do espaço de busca;
2. Avaliar a função objetivo de cada uma das partículas da população;
3. Atualizar a melhor posição de cada partícula individualmente e a melhor posição
do bando;
4. Atualizar a posição de cada partícula no tempo 𝑘 + 1 baseado na posição e
velocidade no tempo 𝑘;
5. Repetir os processos de 2 a 4 até que uma condição de parada seja satisfeita.
6. O conjunto inicial de partículas é gerado de forma aleatória e independente
espalhado pelo espaço de busca conforme a Eq. (4) e a Eq. (5).
x0i  xmin  rnd3 ( xmax  xmin ) (4)
v  xmin  rnd4 ( xmax  xmin )
i
0 (5)

4 ALGORITMO PROPOSTO

O algoritmo proposto neste trabalho, denominado SA-PSO, é o algoritmo PSO original


com a adição do metamodelo KNN. O pseudocódigo descreve este algoritmo.
1: iniciar a população
2: avaliar a população por simulação exata
3: se número_elementos(D) <  então
4: copiar indivíduos para D
6: senão
7: para i variando de 1 até faça
8: selecionar método de avaliação para indivíduo(i)
9: se método = simulação_exata então
10: avaliar indivíduo(i) por simulação_exata
11: senão
12: avaliar indivíduo(i) por metamodelo
13: fim-se
14: fim-para
15: atualizar metamodelo
16: fim-se
Na linha 8 pode-se utilizar qualquer um dos três métodos propostos por (Fonseca, 2009),
o RS, o PS ou o APS. Neste trabalho optou-se pela utilização do APS.

5 EXPERIMENTOS NUMÉRICOS

Para investigar o comportamento do PSO associado ao metamodelo KNN foram


escolhidos oito problemas de otimização sem restrições e oito com restrições (Runarsson &
Yao, 2000) já conhecidos e utilizados largamente na literatura.
Os valores dos parâmetros utilizados para o PSO foram aqueles sugeridos e testados com
sucesso em (Silva, 2010) sendo 𝑐1 = 𝑐2 = 1, variação não-linear da inércia iniciando com 𝑤 =
SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

0,9 e terminando com 𝑤 = 0,9 e expoente de não-linearidade 𝑛 = 1,2. Foram realizadas 25


execuções independentes para cada problema com uma população de 50 indivíduos e, para os
resultados apresentados, utilizou-se arredondamento com 2 casas decimais para os problemas
sem restrição e 5 casas decimais para os problemas com restrição.
Para o metamodelo KNN foram utilizados valores de 𝑘 = 1, 2, 5, 10⁡𝑒⁡15 e a metodologia
para seleção dos indivíduos a serem avaliados por simulação exata foi o APS. O fator 𝑃𝑠𝑚 foi
variado entre 1 (algoritmo original sem o metamodelo), 0.8, 0.6, 0.4, 0.2 e 0.05 conforme
sugerido por (Fonseca, 2009) e o tamanho do conjunto 𝐷 foi definido para 2. E a substituição
dos indivíduos no conjunto 𝐷 só acontece após a quinta geração do algoritmo para que haja
uma maior diversidade.
Para o tratamento das restrições, no caso de problemas com restrições, foi utilizada a
técnica proposta por (Lemonge e Barbosa, 2004) chamada de APM, do inglês, Adaptive Penalty
Method.

5.1 Problemas sem restrição

A Tabela 1 descreve as funções sem restrição utilizadas (Fobj), o número máximo de


avalições exatas da função objetivo (Nf,max), o número de variáveis do problema (n), os limites
mínimo e máximo e, por fim, o valor ótimo global conhecido (f*).
Tabela 1. Funções sem Restrições Avaliadas

# Fobj Nf,max n Limites f*


n
F1 x
i 1
2
i    5.12  x1  5.12  0
n

   x  0.5 
2
F2 i    100  xi  100 0
i 1
n
xi2 n
cos xi
F3 
i 1 4000
 
i 1 i
1    600  xi  600 0
n n
 xi2  cos(2 xi ) 32.768  xi  32.768
F4 0.2 i 1 i 1   0
20e n
e n
 20  e 
n 1
F5 100( x
i 1
i 1  xi2 )2  (1  xi )2    5.12  x1  5.12 0
n
F6  ixi 1
4
i  U  0,1    4.28  x1  4.28 0
n
F7  (x
i 1
2
i  10cos(2 xi )  10)    10  xi  10 0

  x sin  
n
  500  xi  500 0
i xi  418.982887272433n
F8 i 1

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

A Figura 1 apresenta um gráfico dos resultados obtidos com a utilização do PSO com o
auxílio do metamodelo KNN, são apresentados a evolução da média dos valores obtidos após
as 25 execuções do algoritmo para cada valor de K.
Ao se analisar a Figura 1 percebe-se que para as funções F02, F04 e F05, o decréscimo
do valor de 𝑃𝑠𝑚 resultou em resultados melhores, no entanto, a variação de 𝑃𝑠𝑚 de 0.2 para 0.05
não ocasionou melhoras relevantes. Ainda nestas funções, pode-se perceber que o aumento do
valor de 𝑘 não ocasionou melhora significante sendo os melhores valores obtidos ocorrerão
com 𝑘 = 2 . Nas demais funções percebe-se um comportamento não linear em relação à
variação do valor de 𝑃𝑠𝑚 e 𝑘 = 2, no entanto, ainda é perceptível que os melhores resultados
obtidos também foram para os valores de 𝑃𝑠𝑚 = 0,2 e 𝑘 = 2.
A Tabela 2 apresenta os resultados obtidos no trabalho de (Fonseca, 2009) onde foi
utilizado o GA tradicional e o GA assistido pelo metamodelo KNN denominado pelo autor
SBSM-SOGA, apresenta também os resultados obtidos com a proposta deste trabalho
utilizando-se o algoritmo PSO original e, em seguida, com a utilização do KNN. Este último,
rotulado de SA-PSO, teve seus parâmetros 𝑃𝑠𝑚 definido para 0,2 e 𝑘 = 2 visto as conclusões
obtidas através da análise da Figura 1.
Ao se analisar a Figura 1 percebe-se que para as funções F02, F04 e F05, o decréscimo
do valor de 𝑃𝑠𝑚 resultou em resultados melhores, no entanto, a variação de 𝑃𝑠𝑚 e 0.2 para 0.05
não ocasionou modificações relevantes.
Ainda, nestas funções pode-se perceber que o aumento do valor de 𝑘 não ocasionou muita
melhora sendo os melhores valores obtidos quando 𝑘 = 2 . Nas demais funções percebe-se um
comportamento não linear em relação à variação do valor de 𝑃𝑠𝑚 e 𝑘, no entanto, ainda fica
visível que os melhores resultados obtidos também foram para os valores de 𝑃𝑠𝑚 = 0,2 e 𝑘 =
2.
A Tabela 2 apresenta os resultados obtidos no trabalho de (Fonseca, 2009) onde foi
utilizado o GA tradicional e o GA assistido pelo metamodelo KNN denominado pelo autor
SBSM-SOGA bem como os resultados obtidos com a proposta deste trabalho utilizando-se o
algoritmo PSO original e, em seguida, com a utilização do KNN. Este último, rotulado de SA-
PSO, teve seu parâmetro 𝑃𝑠𝑚 definido para 0,2 e 𝑘 = 2 visto as conclusões obtidas através da
análise da Figura 1.
São apresentadas, na Tabela 2, as funções avaliadas (#), o número máximo de avalições
exatas da função objetivo (Nf,max). Para o trabalho de (Fonseca, 2009) são apresentados o
número de avaliações realizadas através do metamodelo (Nf,sa), o valor obtido pelo GA
convencional com seu desvio padrão (abaixo entre parênteses) e pelo GA assistido pelo
metamodelo KNN SBSM-SOGA) também com seu desvio padrão. Na mesma Tabela são
apresentados ainda os resultados dos testes efetuados neste trabalho, a saber: número de
avaliações realizadas através do metamodelo (Nf,sa), o valor obtido com o PSO convencional
com seu desvio padrão e valor obtido utilizando-se o PSO assistido pelo metamodelo KNN
(SA-PSO) com seu desvio padrão.
Ao se analisar os resultados obtidos na Tabela 2 pode-se observar um considerável ganho
no valor da função objetivo calculada em relação ao PSO tradicional e o SA-PSO indicando
que a utilização do metamodelo KNN associado ao algoritmo PSO, mantendo-se fixo o número

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

de simulações exatas, demonstra ser bastante útil na melhora dos resultados do processo
evolutivo.
0,0003 14

0,00025 k=2 12 k=2


10
0,0002 k=5 k=5
8
0,00015 k=10 k=10
6
0,0001
k=15 4 k=15
0,00005 2
k=1 k=1
0 0
1 0,8 0,6 0,4 0,2 0,05 1 0,8 0,6 0,4 0,2 0,05

(a) F1 (b) F2

1,2E-07 0,025

0,0000001 k=2 k=2


0,02
8E-08 k=5 k=5
0,015
6E-08 k=10 k=10
0,01
4E-08
k=15 k=15
2E-08 0,005
k=1 k=1
0 0
1 0,8 0,6 0,4 0,2 0,05 1 0,8 0,6 0,4 0,2 0,05

(c) F3 (d) F4

0,0000025 0,07

k=2 0,06 k=2


0,000002
0,05
k=5 k=5
0,0000015 0,04
k=10 0,03 k=10
0,000001
k=15 0,02 k=15
0,0000005
0,01
k=1 k=1
0 0
1 0,8 0,6 0,4 0,2 0,05 1 0,8 0,6 0,4 0,2 0,05

(e) F5 (f) F6

6 -6000
-6200 1 0,8 0,6 0,4 0,2 0,05
5 k=2 k=2
-6400
4 k=5 k=5
-6600
3 k=10 -6800 k=10
2 -7000
k=15 k=15
1 -7200
k=1 -7400 k=1
0
1 0,8 0,6 0,4 0,2 0,05 -7600

(g) F7 (h) F8

Figura 1: comparativo do valor da função objetivo utilizando-se o SA-PSO variando-se os valores de


Psm e K para funções sem restrição

Ao se comparar os valores obtidos com o SA-PSO e com o SBSM-SOGA (Fonseca, 2009)


é visível o ganho do PSO em relação ao GA, mesmo em sua forma original. Ao se utilizar o
GA com o metamodelo KNN (SBSM-SOGA) em relação ao SA-PSO os ganhos também são
bastante expressivos.
Além do ganho na localização de valores mais próximos ao ótimo, percebe-se que o
número final de avalições, somando-se as simulações exatas e aquelas realizadas com o
metamodelo, foram menores do que os obtidos no SBSM-SOGA o que indica uma maior
estabilidade do metamodelo KNN associado ao PSO se comparado com sua associação ao GA.

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

Tabela 2. Comparativo dos resultados obtidos com GA/SBSM-SOGA (Fonseca, 2009) e com o
PSO/SAPSO para problemas sem restrição

(Fonseca, 2009) Este trabalho


# Nf,max
Nf,sa GA SBSM-SOGA Nf,sa PSO SA-PSO
12.39 0.0002 0,000 0,000
F1 3000 25250 22000
(7.59) (0.0002) (0,0000) (0,0000)
11.64 10.4000 11,500 0,000
F2 1000 3800 4000
(1.22) (0.6455) (2,2124) (0,0000)
1.07 0.1711 0,000 0,000
F3 4000 34950 16000
(0.25) (0.1099) (0,0000) (0,0000)
2.86 0.2557 0,019 0,000
F4 4000 27800 16000
(0.80) (0.6508) (0,0135) (0,0000)
59.73 10.5827 0,000 0,000
F5 8000 75550 32000
(89.02) (21.1899) (0,0000) (0,0000)
2.65 2.0776 0,042 0,030
F6 8000 74600 32000
(0.46) (0.2723) (0,0297) (0,0030)
3.98 2.7028 4,529 2,139
F7 8000 75100 32000
(1.74) (1.5915) (2,4642) (1,5573)
97.66 165.9555 -7351,76 -6721,46
F8 6000 51950 21000
(80.72) (132.3399) (302,6484) (343,7236)

5.2 Problemas com restrição

Para os problemas com restrição foram utilizadas as funções G disponíveis em


(Runarsson & Yao, 2000).
A Figura 2 apresenta um gráfico dos resultados obtidos com a utilização do PSO com o
auxílio do metamodelo KNN, são apresentados a evolução do média dos valores obtidos após
as 25 execuções do algoritmo para cada valor de K.
A Figura 2 apresenta um gráfico dos resultados obtidos com a utilização do PSO com o
auxílio do metamodelo KNN nos problemas teste com restrições, são apresentados a evolução
da média dos valores obtidos após as 25 execuções do algoritmo para cada valor de K. O fator
𝑃𝑠𝑚 deve seus valores variando entre 1, 0.8, 0.6, 0.4, 0.2 e 0.05 da mesma forma que os testes
realizados nas funções sem restrição e para o parâmetro 𝑘 do KNN foram utilizados os valores
1, 2, 5, 10, e 15 vizinhos para construir o metamodelo. O tamanho do conjunto 𝐷 foi definido
para 2. Como técnica para seleção dos indivíduos que serão avaliados por simulação exata e
os que serão avaliados pelo metamodelo utilizou-se a pré-seleção com adaptação (APS). O
número de indivíduos da população utilizado para os problemas sem restrição foi de 100.

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

0 0
-2 1 0,8 0,6 0,4 0,2 0,05 -0,05 1 0,8 0,6 0,4 0,2 0,05
k=2 k=2
-4 -0,1
k=5 k=5
-6 -0,15
-8 k=10 -0,2 k=10
-10 -0,25
k=15 k=15
-12 -0,3
-14 k=1 -0,35 k=1

-16 -0,4

(a) G1 (b) G2

-30580 -6750
-30590 1 0,8 0,6 0,4 0,2 0,05 1 0,8 0,6 0,4 0,2 0,05
k=2 k=2
-30600 -6800
-30610 k=5 k=5
-6850
-30620
k=10 k=10
-30630
-6900
-30640 k=15 k=15
-30650 -6950
-30660 k=1 k=1

-30670 -7000

(c) G4 (d) G6

40 -0,082
35 -0,084 1 0,8 0,6 0,4 0,2 0,05
k=2 k=2
30 -0,086
25 k=5 k=5
-0,088
20 k=10 -0,09 k=10
15
-0,092
10 k=15 k=15
-0,094
5
k=1 -0,096 k=1
0
1 0,8 0,6 0,4 0,2 0,05 -0,098

(e) G7 (f) G8

681

680,9 k=2

680,8 k=5
680,7 k=10
680,6
k=15
680,5
k=1
680,4
1 0,8 0,6 0,4 0,2 0,05

(g) G9 (h) G10

Figura 2. Comparativo do valor da função objetivo utilizando-se o SA-PSO variando-se os valores de


Psm e K para funções com restrição

A Tabela 3 apresenta um comparativo entre os resultados obtidos no trabalho de (Fonseca,


2009) e a proposta deste trabalho. São mostrados as funções avaliadas (#), o número máximo
de avalições exatas da função objetivo (Nf,max) e, para ambos os trabalhos, o número de
avaliações realizadas através do metamodelo (Nf,sa), o valor obtido pelos algoritmos
convencionais (GA e PSO) com seu desvio padrão (abaixo entre parênteses) e pelos algoritmos
assistido pelo metamodelo KNN (SBSM-SOGA e SA-PSO) também com seu desvio padrão.
Ao se analisar os resultados mostrados na Tabela 5 percebe-se que existe uma melhora
nos valores obtidos com o SA-PSO em relação ao PSO original. Embora esta melhora não seja
tão significante em alguns casos, na maioria dos experimentos ela se faz considerável sendo
possível afirmar que a utilização do PSO associado ao metamodelo KNN pode auxiliar na
obtenção de melhores soluções para os problemas avaliados mantendo-se fixo o número de
avaliações exatas da função objetivo.
SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

Ao se comparar os valores apresentados por (Fonseca, 2009) com os obtidos neste


trabalho percebe-se que o ganho obtido com o SBSM-SOGA não é superior ao obtido pelo SA-
PSO em todos os casos o que corrobora o uso do PSO associado ao KNN visto ainda que o PSO
original já apresenta resultados melhores que o GA original.
Ainda, ao se comparar o desvio padrão apresentado no trabalho de (Fonseca, 2009) e os
obtidos nos experimentos deste trabalho, excetuando-se a função F01, pode-se perceber uma
redução de valores o que indica uma maior estabilidade do uso do PSO com o KNN se
comparado ao uso do GA com o mesmo metamodelo.
Tabela 3. Comparativo dos resultados obtidos com GA/SBSM-SOGA (Fonseca, 2009) e com o
PSO/SA-PSO para problemas com restrição
(Fonseca, 2009) Este trabalho
# f* Nf,max
Nf,sa GA SBSM-SOGA Nf,sa PSO SA-PSO
-10.84 -14.49 -10,87 -14,78
G1 -15,0000 6000 55600 23550
(0.79) (1.03) (1,77) (1,09)
-0.63 -0.69 -0,26 -0,35
G2 -0,8036 6000 55600 22950
(0.04) (0.06) (0,03) (0,00)
-29938.26 -30152.68 -30609,94 -30665,54
G4 -30665,5386 4000 33350 14550
(155.12) (195.92) (56,85) (0,00)
-3994.95 -4977.69 -6836,41 -6961,54
G6 -6961,8138 3000 24900 11450
(1203.33) (1749.12) (75,25) (0,18)
111.17 31.19 28,53 27,57
G7 24,3062 5000 44050 17250
(243.71) (4.65) (2,19) (2,02)
-0.08 -0.07 -0,09 -0,10
G8 -0,0958 600 2200 1650
(0.03) (0.03 ) (0,01) (0,00)
705.36 688.84 680,94 680,66
G9 680,6300 6000 55050 23550
(17.51) (8.43) (0,28) (0,03)
10806.10 10418.90 7500,25 7158,95
G10 7049,2480 6000 54900 24350
(4102.59) (2677.72) (359,20) (220,92)

6 CONCLUSÕES

Na avaliação dos resultados obtidos nos experimentos realizados pode-se verificar que a
utilização do PSO como alternativa para a solução de problemas de otimização se mostra
bastante competitiva em relação a outros algoritmos evolutivos. Este algoritmo é de fácil
implementação e possui custo computacional reduzido.
Percebe-se ainda que a utilização de um metamodelo associado ao PSO se apresenta como
uma solução viável para a melhora do desempenho na obtenção de soluções de qualidade
superior àquelas obtidas com o algoritmo sem o auxílio de um metamodelo levando-se em conta
o mesmo número de avaliações exatas da função objetivo.
Pode-se verificar ainda ao se comparar a utilização do GA com o metamodelo KNN e o
PSO com o mesmo metamodelo, o PSO se apresenta mais estável tendo um desvio padrão
reduzido em relação ao GA. Ainda, levando-se em conta a técnica de seleção APS que define
o número de avaliações por simulação com base no erro do metamodelo avaliado a cada geração
do algoritmo, sendo que este número aumenta quando o erro aumenta também, pode-se verificar
uma redução do número de avaliações por simulação ao se comparar o PSO com o GA
SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
ALGORITMO DE OTIMIZAÇÃO COM EXAME DE PARTÍCULAS AUXILIADO POR METAMODELOS

indicando também uma maior estabilidade do PSO em relação ao GA utilizando-se, em ambos


os casos, o KNN como metamodelo.
Como trabalhos futuros pode-se sugerir uma análise de sensibilidade do parâmetro 𝑃𝑠𝑚
com valores ao redor de 0,2 visto ter sido este o valor que apresentou melhor resultado. Sugere-
se ainda uma análise detalhada da atualização do metamodelo que refere-se a substituição dos
indivíduos mais antigos por novos indivíduos avaliados por simulação exata, no caso, inserir
no conjunto 𝐷 todos os indivíduos avaliados por simulação exata na intenção de manter o
metamodelo mais fidedigno em relação a geração atual do algoritmo.

Agradecimentos

Os autores agradecem ao CNPq (processos números 148712/2010-0 e 306815/2011-7) e a


FAPEMIG (TEC 528/11), pelo apoio.

REFERENCIAS
Blanning, R. W., 1974, "The Sources and Uses of Sensitivity Information". Interfaces. Vol. 4,
No. 4, pp. 21-23.

Fonseca, L. G., 2009. Algoritmos Genéticos Assistidos por Metamodelos Baseados em


Similaridade. Tese de D.Sc., LNCC/MCT, Petrópolis, RJ

Goldberg, David E.; Holland, John H. Genetic algorithms and machine learning. Machine
learning, v. 3, n. 2, p. 95-99, 1988.

In, J., , J., 2013. Stochastic structural optimization using particle swarm optimization, surrogate
models and Bayesian statistics. Chinese Journal of Aeronautics, pp. 112-121.

Jin, Y, 2005. A comprehensive survey of fitness approximation in evolutionary computation.


Soft Computing Journal, Vol 9, pp. 3–12.

K., Liu, X., Li, X., Liang, J. He, S., 2013. An improved artificial immune system for seeking
the Pareto front of land-use allocation problem in large areas. International Journal of
Geographical Information Science, Vol 27, pp. 922-946.

Kennedy, J. & Eberhart, R. C., 1995. Particle swarm optimization. In Proceedings of the 1995
IEEE International Conference on Neural Networks, volume 4, pp. 1942–1948, Perth,
Australia, IEEE Service Center, Piscataway, NJ.

Lemonge, A. C. C. & Barbosa, H. J. C., 2004. An adaptive penalty scheme for genetic
algorithms in structural optimization, International Journal For Numerical Methods In
Engineering, pp. 703–706.

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014
A.F. Silva, A.C.C. Lemonge, B.S.L.P. Lima

Mera, N. S., 2005. Efficient optimization process using polynomial approximation models in
electrical impedance tomography. Em: WCSMO6 – 6th Congress of Structural and
Multidisciplinary Optimization, Rio de Janeiro/Brazil

Mohana, B. C., Baskaranb R., 2011. A survey: Ant Colony Optimization based recent research
and implementation on several engineering domain. Expert Systems with Application. Elsevier.
Vol 39, pp. 4618-4627.

Pina, A. P., 2010. Metodologias de Análise, Síntese e Otimização de Sistemas para Produção
de Petróleo Offshore Através de Metamodelos e Enxame de Partículas. Tese de Doutorado.
COPPE, UFRJ.

Pina, A. C., Pina, A. A., Albrecht, C. H., Lima, B. S. L., Jacob, B. P., 2013. ANN-based
surrogate models for the analysis of mooring lines and risers. Applied Ocean Research, Vol 41,
pp 76-86.

Regis, R.G., 2013. Particle swarm with radial basis function surrogates for expensive black-
box optimization. Journal of Computational Science.

Runarsson, T.P., Yao X., 2000. Stochastic Ranking for Constrained Evolutionary Optimization.
IEEE Transactions on Evolutionary Computation 4(3):284–294

Sastry, K., 2002. Evaluation-relaxation schemes for genetic and evolutionary algorithms.
Dissertação de Mestrado, University of Illinois at Urbana-Champaign, IL, USA, Urbana,IL

Shi, L., Rasheed, K., 2008. ASAGA: An Adaptive Surrogate-Assisted Genetic Algorithm. In:
Genetic and Evolutionary Computation Conference (GECCO 2008), pp. 1049–1056. ACM
Press, New York

Smith, J., Simons, C. L., 2013. A comparison of two memetic algorithms for software class
modelling. Proceeding of the fifteenth annual conference on Genetic and evolutionary
computation conference (GECCO 2013), pp 1485-1492.

Sun, X., Gong, D., Jin, Y., Chen, S., 2013. A New Surrogate-Assisted Interactive Genetic
Algorithm With Weighted Semisupervised Learning. IEEE Transactions On Cybernetics.

DIREITOS AUTORAIS
Os autores são os únicos responsáveis pelo conteúdo do material impresso incluído no
seu trabalho.

SIMMEC/EMMCOMP 2014
XI Simpósio de Mecânica Computacional e II Encontro Mineiro de Modelagem Computacional
ABMEC, Juiz de Fora, MG, 28-30 de maio de 2014

Você também pode gostar