avaliação dos parâmetros dos algoritmos pso e de …...avaliação dos parâmetros dos algoritmos...
TRANSCRIPT
Avaliação dos Parâmetros dos Algoritmos PSO e DE na Otimização de um
Riser de Produção em Configuração Lazy-Wave
Victor de Queiroz Alves
Projeto de Graduação apresentado ao Curso
de Engenharia Naval e Oceânica, Escola
Politécnica, da Universidade Federal do
Rio de Janeiro, como parte dos requisitos
necessários à obtenção do título de
Engenheiro Naval e Oceânico.
Orientadores: Carl Horst Albrecht
Bruno da Fonseca Monteiro
Rio de Janeiro
Agosto de 2017
i
AVALIAÇÃO DOS PARÂMETROS DOS ALGORITMOS “PSO” E “DE” NA
OTIMIZAÇÃO DE UM RISER DE PRODUÇÃO EM CONFIGURAÇÃO LAZY-
WAVE
Victor de Queiroz Alves
PROJETO DE GRADUAÇÃO SUBMETIDO AO CORPO DOCENTE DO CURSO
DE ENGENHARIA NAVAL E OCEÂNICA DA ESCOLA POLITÉCNICA DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE
ENGENHEIRO NAVAL E OCEÂNICO.
Examinado por:
_______________________________________________
Carl Horst Albrecht, D.Sc.
________________________________________________
Prof. Bruno da Fonseca Monteiro, D.Sc.
________________________________________________
Prof. Marcelo Igor Lourenço de Souza, D.Sc.
RIO DE JANEIRO, RJ- BRASIL.
AGOSTO DE 2017
ii
Alves, Victor de Queiroz
Avaliação dos Parâmetros dos Algoritmos PSO e DE
na Otimização de um Riser de Produção em Configuração
Lazy-Wave/ Victor de Queiroz Alves. - Rio de Janeiro: UFRJ
/ ESCOLA POLITÉCNICA, 2017.
IX, 44 p.: il.; 29,7 cm
Orientadores: Carl Horst Albrecht e Bruno da Fonseca
Monteiro
Projeto de Graduação – UFRJ / POLI / Engenharia
Naval e Oceânica, 2017.
Referências Bibliográficas: p.43-44.
1. Algoritmos Evolutivos. 2. PSO. 3.DE. 4. Riser de
Produção Offshore. I Carl Horst Albrecht, Bruno da Fonseca
Monteiro. II. Universidade Federal do Rio de Janeiro, Escola
Politécnica, Curso de Engenharia Naval e Oceânica. III.
Título.
iii
Agradecimentos
Agradeço a toda minha família e amigos pela união e carinho, toda jornada é
mais simples sabendo que posso contar com vocês. Em especial, gostaria de agradecer
aos meus pais, Edson e Andréa, por me ensinarem sobre a vida com um belo equilíbrio
entre amor e disciplina. Sou grato também aos meus irmãos, Fábio e Lucas, pelos
conselhos, amizade e confiança.
Também dirijo meus agradecimentos à UFRJ e aos meus orientadores, Carl e
Bruno, pela paciência, suporte e oportunidade de trabalhar com um tema tão
interessante. Aos tão unidos estudantes de Engenharia Naval da UFRJ, especialmente a
turma de 2011.1, a turma de intercâmbio de 2014.1, e aos colegas como Laveglia,
Palanowski, Schimpf, Romar, Jonas, Pedro, Gassen, Fellipe, Daniel, Lucas, Sales,
Diogo.... Este curso teria sido mais difícil e certamente menos divertido sem vocês.
iv
Resumo do Projeto de Graduação apresentado à Escola Politécnica/UFRJ como
parte dos requisitos necessários para a obtenção do grau de Engenheiro Naval.
AVALIAÇÃO DOS PARÂMETROS DOS ALGORITMOS “PSO” E “DE” NA
OTIMIZAÇÃO DE UM RISER DE PRODUÇÃO EM CONFIGURAÇÃO LAZY-
WAVE
Risers de produção offshore são uma parte fundamental de sistemas de
exploração de petróleo em águas profundas e ultra profundas, já que permitem a
conexão entre as instalações submersas e as unidades de produção. O projeto desse tipo
de estrutura requer um balanço complexo entre fatores de segurança e custo, o que
motiva o uso de técnicas de otimização. Nesse contexto, este trabalho analisa a
performance dos algoritmos Enxame de Partículas (PSO) e Evolução Diferencial (DE)
na otimização de um riser de produção offshore em configuração “Lazy - Wave”. Os
algoritmos e seus melhoramentos são brevemente descritos e um estudo paramétrico é
realizado para ajustar os coeficientes ao problema de otimização do riser. Finalmente,
ambos os algoritmos são comparados quanto a velocidade de convergência e melhor
solução encontrada. Os resultados mostram que o PSO apresenta melhor velocidade de
convergência enquanto o DE encontra resultados ligeiramente melhores.
Victor de Queiroz Alves
Agosto/2017
Orientadores: Carl Horst Albrecht e Bruno da Fonseca Monteiro
Curso: Engenharia Naval e Oceânica
v
Palavras-chave: PSO, DE, Algoritmos Evolutivos, Riser de Produção Offshore
Abstract of Undergraduate Project presented to POLI/UFRJ as a partial fulfilment of
the requirements for the degree of Marine Engineer.
PARAMETER ANALYSIS OF “PSO” AND “DE” ALGORITHMS FOR THE
OPTIMIZATION OF A PRODUCTION RISER IN LAZY – WAVE
CONFIGURATION
Offshore Risers are a fundamental part of deepwater and ultra-deepwater oil production
systems, as they are the connection between the subsea field developments and
production facilities. The design of such structures requires a complex balance of safety
and cost factors, motivating the use of optimization techniques. In this context, this
work analyses the performance of the Particle Swam Optimization (PSO) and
Differential Evolution (DE) algorithms for the optimization of an offshore Riser in
Lazy-Wave Configuration. The algorithms and their enhancements are briefly
described and a parametric analysis is carried out to tune them for the riser optimization
problem. Finally, both algorithms are compared considering convergence speed and
best solution found. The results show that PSO has a better convergence speed while
DE yields slightly better solutions.
Victor de Queiroz Alves
August/2017
Advisors: Carl Horst Albrecht e Bruno da Fonseca Monteiro
Graduation: Marine Engineering
vii
SUMÁRIO
ÍNDICE DE FIGURAS ............................................................................. IX
ÍNDICE DE TABELAS ............................................................................. X
1 INTRODUÇÃO ....................................................................................... 1
1.1 Contexto e Motivação ........................................................................................ 1
1.2 Objetivos............................................................................................................. 2
1.3 Organização ....................................................................................................... 3
2 RISERS ................................................................................................. 4
3 MODELAGEM DO PROBLEMA.............................................................. 6
3.1 Variáveis de Projeto .......................................................................................... 7
3.2 Restrições de projeto ......................................................................................... 8
3.3 Função de Custo ................................................................................................ 9
3.4 Fitness ou Função Objetivo ............................................................................ 10
4 ALGORITMOS DE OTIMIZAÇÃO EVOLUTIVOS .................................. 11
4.1 Introdução ........................................................................................................ 11
4.2 Enxame de Partículas ...................................................................................... 13
4.2.1 Algoritmo Básico .................................................................................................... 13
4.2.2 Variação do Coeficiente de Inércia (ω) ................................................................... 15
4.2.3 Variação dos parâmetros social (C1) e cognitivo (C2) ............................................. 17
4.3 Evolução Diferencial ....................................................................................... 18
4.3.1 Inicialização dos vetores ......................................................................................... 18
viii
4.3.2 Mutação com a Diferença Entre Vetores ................................................................ 19
4.3.3 “Crossover” ............................................................................................................. 20
4.3.4 Seleção .................................................................................................................... 21
5 ESTUDO DE CASO .............................................................................. 23
5.1 Definição do Problema .................................................................................... 24
5.2 Escolha da População ...................................................................................... 25
5.3 Análise paramétrica PSO ............................................................................... 28
5.4 Análise Paramétrica DE ................................................................................. 34
5.5 Comparação de Desempenho entre DE e PSO ............................................. 37
6 COMENTÁRIOS FINAIS ...................................................................... 41
7 REFERÊNCIAS .................................................................................... 43
ix
ÍNDICE DE FIGURAS
Figura 1: Riser rígido (à esquerda) e riser flexível (à direita). 4
Figura 2: Configurações aplicáveis a risers de produção. 5
Figura 3: Variáveis de projeto no problema do riser em configuração lazy-wave. 7
Figura 4: Fitness médio vs Número de Indivíduos (PSO) 25
Figura 5: Tempo de Execução versus Número de Indivíduos (PSO). 26
Figura 6: Fitness Médio versus Número de Indivíduos (DE). 27
Figura 7: Tempo de Execução versus Número de Indivíduos (DE). 27
Figura 8: Fitness médio e desvio padrão em função de C1 e C2. 30
Figura 9: Fitness Médio e Desvio Padrão em Função de ω, ω0 (linear) e ω0 (não linear). 30
Figura 10: Fitness Médio e Desvio Padrão em Função do Coeficiente n. 31
Figura 11: Fitness Médio e Desvio Padrão em Função de C1 e C2 Lineares. 32
Figura 12: Fitness médio e Desvio Padrão em Função de Cr e CF. 35
Figura 13: Fitness Médio e desvio padrão em função de Cr e F Variando Juntos. 35
Figura 14: Fitness médio e desvio padrão para combinações de Cr e F variando inversamente.
36
Figura 15: Evolução dos valores máximos e mínimos do fitness médio dos algoritmos DE e
PSO e seus respectivos desvios padrões por geração. 38
Figura 16: Diferença percentual entre o fitness médio máximo entre PSO e DE ao longo das 50
gerações. 39
x
ÍNDICE DE TABELAS
Tabela 1: Propriedades físicas e geométricas do Riser. .............................................................. 24
Tabela 2:Intervalo das variáveis livres. ...................................................................................... 24
Tabela 3: Restrições. ................................................................................................................... 24
Tabela 4: Fitness médio e tempo de execução em função do número de indivíduos para o PSO.
.................................................................................................................................................... 26
Tabela 5: Fitness médio para e tempo de execução em função do número de indivíduos para o
DE. .............................................................................................................................................. 26
Tabela 6: Resumo dos experimentos realizados com o PSO. ..................................................... 29
Tabela 7: Resumo dos experimentos realizados com os melhores parâmetros obtidos na análise
paramétrica para o PSO .............................................................................................................. 33
Tabela 8: Resumo das combinações dos experimentos realizados para o DE. ........................... 34
Tabela 9: Resumo das Melhores Combinações para o DE. ........................................................ 36
Tabela 10: Combinações dos algoritmos PSO e DE escolhidos para comparação juntamente
com os valores de fitness médio e desvio padrão. ...................................................................... 37
1
1 INTRODUÇÃO
1.1 Contexto e Motivação
A produção de petróleo em águas profundas cresceu aproximadamente 25% na
última década (incluindo-se condensados e gases de hidrocarbonetos em estado
líquido). Além disso, a fatia de produção oriunda de plataformas fixas foi de 64% em
2015, a menor já registrada até então. Tais fenômenos estão ligados a mudanças na
economia, a exaustão da exploração em águas rasas, e a descobertas de reservas em
águas mais profundas. Como resultado, os produtores se dirigem à exploração em
águas de elevada profundidade (EIA 2016).
Nesse contexto, a exploração das reservas de petróleo é feita por sistemas
flutuantes de produção (Floating Production Systems – FPS). Estes, estão conectados a
risers, espécie de tubulação que liga os poços de exploração no leito marinho as
unidades flutuantes na superfície. O projeto de risers exige um equilíbrio entre fatores
de custo e segurança que resultam em um problema formal de otimização e síntese. De
fato, a aceitação de uma determinada configuração depende de intensivas análises
dinâmicas não-lineares, as quais demandam tempo devido ao elevado custo
computacional. Com o objetivo de reduzir tal custo, diversos autores desenvolveram
procedimentos que utilizam algoritmos evolutivos na otimização de risers de produção
como em Vieira (2008) e Lima et al (2005). Além disso, algoritmos evolutivos também
foram utilizados por Albrecht (2005) e Monteiro (2008) em procedimentos de
otimização de linhas de ancoragem.
O crescente interesse por algoritmos evolutivos nos diversos ramos da ciência é
justificado por sua versatilidade, simplicidade e capacidade de gerar boas soluções.
Todavia, eles são dependentes do problema abordado e devem ser ajustados de acordo
com cada caso de aplicação. Sendo assim, este trabalho é motivado pelas vantagens
obtidas sobre problemas de otimização de risers ao se identificar características de
desempenho de dois famosos algoritmos evolutivos: Enxame de Partítculas (PSO) e
Evolução Diferencial (DE).
2
1.2 Objetivos
Este trabalho possui dois objetivos. O Primeiro é ajustar os parâmetros dos algoritmos
evolutivos PSO e DE para um problema de otimização de riser em configuração lazy-
wave. O segundo consiste em aplicar os algoritmos ajustados a um caso de estudo e
compará-los quanto a velocidade de convergência e melhor solução alcançada. Desse
modo, espera-se identificar qual deles é mais apropriado para procedimentos de
otimização de risers em configuração lazy-wave.
3
1.3 Organização
No Capítulo 2 há uma descrição do riser de produção analisado neste trabalho,
o Steel Catenary Riser. Os principais tópicos cobrem sua aplicação, composição e
configurações.
No capítulo seguinte discute-se a modelagem do problema, incluindo as
variáveis livres consideradas, suas restrições e a função objetivo.
No quarto capítulo há uma breve introdução sobre os algoritmos evolutivos. Em
seguida, PSO, DE e algumas de suas variantes são discutidos mais a fundo.
Os algoritmos são ajustados no quinto capítulo através de uma análise
paramétrica realizada em cima de um caso de estudo definido na seção 5.1. Nesse
capítulo também se define a população utilizada nos algoritmos. Na última seção foi
feita a comparação de desempenho entre PSO e DE, ajustados para o caso de estudo.
Os dois últimos capítulos, 6 e 7, contêm as conclusões finais e as referências
bibliográficas, respectivamente.
4
2 RISERS
Risers de produção offshore, de modo geral, realizam o transporte vertical de
matéria entre as instalações do leito marinho e os sistemas flutuantes ou de perfuração,
na superfície oceânica. O transporte pode ocorrer em ambos os sentidos e os fluidos
transportados são hidrocarbonetos, fluídos de injeção e controle, etc.
Os risers estão sujeitos a diversas cargas devido à ação da correnteza, das
ondas, dos movimentos do sistema flutuante e vibração induzida por vórtices. Sendo
assim, a preocupação com a integridade mecânica no projeto desses componentes é
crucial e fatores como a tensão equivalente e fadiga devem ser analisados.
Existem dois tipos básicos de riser: o flexível e o rígido. O primeiro, mais
complexo, é composto por diversas camadas de aço e plástico e normalmente é
utilizado em profundidades de até 1000 m. Acima desta, as cargas ambientais tornam
inviáveis a aplicação do riser flexível, o qual precisaria de um diâmetro muito grande
para suportá-las.
O riser rígido, estudado nesse trabalho, pode ser utilizado em profundidades
superiores a 1000 m. Eles são formados por estruturas tubulares mais simples
composta de aço, titânio ou compósitos; podendo contar com apêndices para aliviar seu
peso e alterar sua configuração de equilíbrio. Devido a sua simplicidade de produção e
fácil adaptação a maiores profundidades através do aumento de sua espessura, os risers
rígidos vem sendo empregado com sucesso em águas ultra profundas.
Figura 1: Riser rígido (à esquerda) e riser flexível (à direita).
5
Configurações típicas dos risers de produção estão apresentadas na Figura 2:
Catenária Livre (a): Trata-se da configuração mais simples possível. O riser se
estende livremente até o fundo assumindo uma configuração de catenária. Como não há
a presença de flutuadores para aliviar o peso, podem existir grandes esforços na
conexão entre o riser e o sistema flutuante.
Lazy-S e Steep-S (b e c): Estas configurações apresentam um arco sustentado
por flutuadores que aliviam o peso do riser e contribuem para as forças de restauração
da plataforma no plano horizontal.
Lazy Wave, Steep Wave e Pliant Wave (d, e, f): Estas configurações apresentam
comportamento semelhante ao Lazy-S e Steep-S. Entretanto, a instalação dos
flutuadores é feita diretamente nos riser, o que simplifica a operação.
Figura 2: Configurações aplicáveis a risers de produção.
6
3 MODELAGEM DO PROBLEMA
Nesta seção, tem-se a descrição do problema que será atacado pelos algoritmos
evolutivos PSO e DE, baseando-se na descrição apresentada em Pina (2009). Ambos os
algoritmos foram implementados no software ProgOtim desenvolvido no Laboratório
de Métodos Computacionais e Sistemas Offshore – LAMCSO (COPPE-UFRJ). O
programa permite dois tipos de análises. A primeira é baseada na análise dinâmica não-
linear no domínio do tempo de Elementos Finitos (EF). Já a segunda se baseia num
método de solução analítico de catenária. Embora esta última seja demasiadamente
simples para ser aplicada a um projeto real de riser, ela é extremamente rápida se
comparada a análise baseada em EF. Isso permite que várias combinações dos
parâmetros dos EAs (algoritmos evolutivos, do inglês, evolutionary algorithms) possam
ser analisadas, o que não seria viável utilizando o método numérico devido à restrição
de tempo ou capacidade de processamento. Considerando ainda que é necessário a
realização de um grande número de experimentos para garantir a confiabilidade
estatística dos resultados e que uma das principais propostas deste trabalho é comparar
o desempenho dos EAs (e não prosseguir com um projeto de riser), a análise baseada
em solução analítica se mostra a melhor opção.
7
3.1 Variáveis de Projeto
As variáveis de projeto presentes no problema de otimização estão apresentadas
na Figura 3.
Figura 3: Variáveis de projeto no problema do riser em configuração lazy-wave.
Onde:
L1: Comprimento do segmento superior do riser.
L2: Comprimento do segmento com flutuadores distribuídos.
L3: Comprimento do segmento inferior do riser.
α: Ângulo de topo, isto é, o ângulo entre o riser e o eixo vertical na conexão
com o sistema flutuante em equilíbrio.
z: Profundidade da conexão entre o riser e o sistema flutuante em equilíbrio.
P: Projeção do riser no plano horizontal.
Lf: Comprimento do flutuador.
HDf: Diâmetro do flutuador.
Esp: Espaçamento entre flutuadores.
Vieira (2008) mostrou que os parâmetros necessários para a análise se reduzem
a: L1, L2, L3, HDf, Lf, e Esp. Isso ocorre porque z e P são determinados pelo sistema
flutuante enquanto o ângulo α depende da projeção P e do comprimento total (L1 + L2
+ L3). Assim, as variáveis livres se reduzem às 6 explicitadas anteriormente. Vale notar
que o número de flutuadores não é fixo, ele depende do comprimento do segmento dos
flutuadores (L2), o comprimento dos flutuadores (Lf) e o espaçamento entre os
mesmos (Esp).
8
3.2 Restrições de projeto
As restrições de projeto incorporam os limites geométricos e estruturais do riser
ao problema de otimização. Elas são verificadas através do método de solução analítico
de catenária e estão listados a seguir:
▪ A tensão equivalente de Von Mises não deve superar a tensão permitida
para garantir que o riser opere no regime elástico de deformação.
▪ O ângulo máximo entre o riser e o eixo vertical da conexão com a
plataforma não deve ultrapassar um valor de segurança.
▪ Há uma variação máxima permitida do ângulo de built-in, medida no
topo do eixo do riser, entre as configurações de equilíbrio estático (sem
cargas ambientais) e instantâneas.
▪ Tensão máxima no topo do riser.
▪ Tensão mínima na parte inferior do riser, que evite o encurvamento e
colapso de uma seção.
Uma vez que as restrições são especificadas, pode-se optar por penalizar ou
excluir qualquer solução candidata que as desrespeite. Neste trabalho foi definida uma
função de penalidade para todas as cinco restrições:
𝑃 = {
𝑘 × (1 − 𝑥3), 𝑠𝑒 𝑥 < 10, 𝑠𝑒 𝑥 ≥ 1
(
1)
Onde:
▪ x é a razão entre o limite da restrição e o valor calculado.
▪ k é um fator para se admitir soluções que violem as restrições.
9
3.3 Função de Custo
Raros são os casos em que os projetistas não precisam se preocupar com a
viabilidade econômica do projeto ou com a escassez de recursos disponíveis para
executá-lo. Sendo assim, a função de custo é uma forma de medir e comparar o custo
de diversas soluções a um determinado problema de projeto. Ela faz parte da função
fitness (função objetivo) que mede a qualidade de uma solução candidata.
Naturalmente, espera-se que as melhores soluções alcancem todas as restrições de
projeto com o menor custo possível.
No caso do riser abordado neste trabalho, a função de custo é descrita por:
𝑓 =
𝑓𝑚𝑖𝑛
(∑ 𝐼𝐶𝑖 × 𝐿𝑖) + (𝑉𝑓𝑙𝑢𝑡 × 𝐼𝑓𝑙𝑢𝑡)𝑛𝑖=1
(2)
Onde:
▪ 𝑓𝑚𝑖𝑛 é o menor custo possível, utilizado para normalizar f no intervalo
[0,1].
▪ 𝐼𝐶𝑖 é o índice de custo associado ao segmento de riser i.
▪ 𝐿𝑖 é o comprimento do segmento de riser i.
▪ 𝑉𝑓𝑙𝑢𝑡 é o volume do flutuador.
▪ 𝐼𝑓𝑙𝑢𝑡 é o índice de custo associado ao volume do flutuador.
10
3.4 Fitness ou Função Objetivo
A Função Objetivo, no contexto da otimização, pode ser entendida como a
função que se deseja maximizar ou minimizar. No contexto dos algoritmos evolutivos,
mais especificamente, ela também é chamada de fitness (do inglês, “aptidão”). Tal
termo, como vários outros, foi apropriado do campo da teoria da evolução biológica, a
qual diz que os indivíduos mais aptos sobrevivem e passam adiante seu material
genético. Portanto, a função fitness deve englobar todas as variáveis livres pertinentes
ao problema de otimização para ser capaz de medir a “aptidão” de uma solução e
explicitar o quão próxima ela está do desejado.
Deseja-se maximizar o seguinte fitness para o problema de otimização do riser:
F = 100 × [
𝑓
1,0 + ∑𝑃𝑗]
(3)
Onde:
▪ 𝑃𝑗 corresponde a penalidade relativa a violação do j-ésimo critério de
restrição de projeto.
▪ 𝑓 é a função de custo (Equação 2).
▪ O fator 100 é usado como fator de escala.
11
4 ALGORITMOS DE OTIMIZAÇÃO
EVOLUTIVOS
4.1 Introdução
De modo geral, o processo de otimização é a busca pela melhor solução
possível dado um conjunto de critérios e restrições de um determinado problema. A
busca tem como objetivo encontrar o ponto ótimo da função que modela o problema, o
qual pode ser mínimo ou máximo, dependendo do contexto do mesmo. Esse ponto, ou
apenas uma boa aproximação dele, é alvo de interesse nos mais diversos campos de
estudo desde a engenharia de projetos até a tomada de decisões gerenciais em
investimentos de longo prazo.
Se a função de interesse puder ser descrita matematicamente por uma função
contínua e diferenciável, o ponto ótimo pode ser encontrado analiticamente calculando-
se os pontos críticos da função. Entretanto, é mais comum que a função a ser otimizada
seja descontínua ou não possa ser descrita matematicamente. Nesse caso, pode-se
utilizar a otimização numérica, a qual consiste em iterações e aproximações sucessivas
em busca do ponto ótimo no espaço de solução (ALBRECHT 2005).
Os Algoritmos Evolutivos (EA, do inglês Evolutionary Algorithms) se
enquadram na otimização numérica e apresentam características importantes que os
diferenciam de outros métodos. Primeiramente, como o próprio nome sugere, os EAs se
inspiram em comportamentos e processos de evolução observados na natureza como,
reprodução, mutação, recombinação, movimento de enxames, e seleção natural (AL-
SALAMI 2009). Esses comportamentos e processos, ao serem implementados
computacionalmente, incorporam elementos de aleatoriedade ao código evitando a
convergência prematura para máximos e mínimos locais. Por esse motivo, os EAs
também são conhecidos como métodos de otimização estocástica. Outra característica
marcante, é o uso de uma população de indivíduos os quais são avaliados de acordo
com uma função de qualidade (fitness) e modificados sucessivamente. Os indivíduos de
melhor qualidade são registrados e interagem com o restante da população transmitindo
as características que contribuem para boas soluções. O teste intensivo dos diversos
candidatos é uma ferramenta útil na solução de problemas não estruturados já que, a
12
primeira vista, não se conhece uma metodologia para encontrar uma boa solução e,
muito menos, o formato da mesma. No entanto, a qualidade de todos os indivíduos
pode ser avaliada pela função objetivo e uma boa solução pode ser facilmente
identificada (LUKE 2013).
As características acima fazem com que EAs sejam indicados para problemas
complexos ainda não resolvidos por outras técnicas computacionais. Eles podem ser
implementados em poucas linhas de código e são facilmente adaptáveis a problemas de
diversas áreas (GABRIEL 2008). Vale ressaltar, no entanto, que não há a garantia de
uma solução ótima em um intervalo finito de tempo e são necessários ajustes de
parâmetros e elevado gasto computacional para o seu efetivo funcionamento. (AL-
SALAMI 2009).
13
4.2 Enxame de Partículas
O conceito de otimização pelo Método de Enxame de Partículas (PSO, do inglês
Particle Swarm Optimization) foi proposto por Kennedy e Eberhart em 1995.
Inicialmente, o interesse era simular comportamentos sociais como visto em enxames,
cardumes e bandos de pássaros (KENNEDY e RUSSEL 1995). No entanto, não
demorou até que seu potencial para aplicação em otimização fosse reconhecido.
4.2.1 Algoritmo Básico
Como é comum em Algoritmos Evolutivos, o PSO se inicia com uma população
aleatória de indivíduos (partículas). Em seguida a trajetória de cada partícula evolui
após cada iteração de acordo com sua velocidade atual, sua própria experiência
(componente cognitiva) e o progresso das outras partículas da população (componente
social). Desse modo, pode-se distinguir 3 etapas básicas em um algoritmo PSO: i)
geração de uma população aleatória onde cada indivíduo possuí uma posição e
velocidade; ii) atualização das velocidades; e iii) atualização das posições
(MONTEIRO, ALBRECHT e JACOB 2011) .
Cada partícula é representada por três vetores de dimensão N igual ao espaço de
busca. Eles são: a posição atual - 𝒙𝒊 , a melhor posição já visitada - 𝒑𝒊 e a velocidade -
𝒗𝒊 . Após cada iteração, os vetores 𝒙𝒊 e 𝒗𝒊 são atualizados e o mesmo ocorre com o
vetor 𝒑𝒊 se tal posição for melhor que todas as posições visitadas anteriormente. Desse
modo, a tendência é que o vetor 𝒑𝒊 seja melhorado progressivamente. A melhor
posição visitada por qualquer uma das partículas também é armazenada em um vetor
𝒑𝒈 para futuras comparações (Pina 2009)
O “voo” de uma partícula é expresso da seguinte forma:
𝒙𝒊 (𝑡 + 1) = 𝒙𝒊 (𝑡) + 𝒗𝒊 (𝑡 + 1) × ∆𝑡 (4)
Onde:
▪ 𝒙𝒊 (𝑡 + 1) é a posição futura da partícula;
▪ 𝒙𝒊 (𝑡) é a posição atual da partícula;
▪ 𝒗𝒊 (𝑡 + 1) é a velocidade atualizada da partícula.
▪ ∆𝑡 é a variação temporal unitária
14
Ou seja, a posição futura da partícula é dada pela soma dos vetores posição atual
e velocidade. O algoritmo trabalha ajustando 𝒗𝒊 o qual pode ser encarado como um
tamanho de passo (POLI, KENNEDY e BLACKWELL 2007). O ajuste ocorre
conforme a seguinte equação:
𝒗𝒊 (𝑡 + 1) =𝐶1
∆𝑡∗ 𝑟𝑛𝑑 (𝒑𝒈 − 𝒙𝒊 (𝒕)) +
𝐶2
∆𝑡∗ 𝑟𝑛𝑑(𝒑𝒊 − 𝒙𝒊 (𝑡)) + ω[𝒗𝒊
(𝑡)] (5)
Onde:
▪ 𝒗𝒊 (𝒕 + 𝟏) é a velocidade atualizada;
▪ 𝐶1 é o coeficiente para o controle da componente social;
▪ 𝐶2 é o coeficiente para o controle da componente cognitiva;
▪ 𝑟𝑛𝑑 é um número aleatório entre 0 e 1, segundo uma distribuição uniforme;
▪ (𝒑𝒈 − 𝒙𝒊 (𝒕)) é o termo de aceleração pela distância em relação a melhor
posição já visitada por qualquer partícula;
▪ (𝒑𝒊 − 𝒙𝒊 (𝒕)) é o termo de aceleração pela distância em relação a melhor
posição já visitada pela própria partícula;
▪ ω é o parâmetro de peso de inércia;
▪ 𝒗𝒊 (𝒕) é velocidade a ser atualizada.
A primeira parcela a direita da equação representa a componente social, já que
modela a interação entre um indivíduo do enxame e os demais. Já a segunda parcela
representa a componente cognitiva por envolver a melhor posição visitada
anteriormente pelo indivíduo. Os termos (𝒑𝒈 − 𝒙𝒊 (𝒕)) e (𝒑𝒊 − 𝒙𝒊 (𝒕)) são definidos
como aceleração pela distância (KENNEDY e RUSSEL 1995), já que modificam a
velocidade com base na distância entre a melhor posição já visitada por todas as
partículas e a melhor posição visitada pela própria partícula, respectivamente. Esses
termos são multiplicados por uma amostra rnd de distribuição aleatória uniforme de
intervalo [0,1] gerada em cada iteração, conferindo o caráter de otimização estocástica
do algoritmo.
O coeficiente C1 e C2 são parâmetros que controlam o grau de influência das
componentes social e cognitivas na variação da velocidade, respectivamente. Esses
parâmetros são importantes para a obtenção de bons resultados e devem ser calibrados
de acordo com o problema a ser resolvido.
15
A última parcela à direita da equação (5) incorpora a inércia da partícula através
do parâmetro peso de inércia (ω). Seu objetivo é ajustar o balanço entre busca global e
local (SHI e EBERHART 1998).
A velocidade máxima (�� 𝒎𝒂𝒙) possível é limitada com base nos limites
inferiores (�� 𝒎𝒊𝒏) e superiores (�� 𝒎𝒂𝒙) que podem ser alcançados pela partícula no
espaço de solução. Isso evita que a velocidade cresça indefinidamente (EBERHART e
KENNEDY 1995). Desse modo:
�� 𝒎𝒂𝒙 = �� 𝒎𝒂𝒙 − �� 𝒎𝒊𝒏 (6)
Assim, as etapas básicas de execução do PSO podem ser escritas da seguinte
forma (ALBRECHT 2005) (PINA 2010).
Início
Inicializa a população aleatória inicial P (posição e velocidade)
Avalia todas as partículas
Atualiza 𝒑𝒈
Repita
Atualiza velocidades
Atualiza posições
Avalia indivíduos
Atualiza 𝒑𝒈 e 𝒑𝒊
Até que o critério de parada seja satisfeito
Fim
Diversas modificações foram feitas no algoritmo básico PSO ao longo dos
últimos anos com o objetivo de melhorar seu desempenho. A seguir serão apresentadas
as modificações utilizadas nesse trabalho através do software ProgOtim desenvolvido
no Laboratório de Métodos Computacionais e Sistemas Offshore - LAMCSO.
4.2.2 Variação do Coeficiente de Inércia (ω)
Normalmente, o PSO apresenta rápida convergência nas primeiras iterações mas
demonstra estagnação nas iterações finais. O coeficiente de inércia ω possui grande
16
influência sobre esse comportamento. Maiores valores de ω contribuem para uma busca
global e para a exploração de novas áreas do espaço de solução, enquanto valores
menores ω favorecem a busca local, o que é interessante quando as partículas estão
próximas de uma boa solução.
Assim, pesquisadores propuseram um ω variável em detrimento do ω constante.
Eberhart e Shi (2000) sugeriram um coeficiente de inércia que varie linearmente ao
longo das iterações:
𝜔 (𝑡) = 𝜔 0(𝑁 − 𝑡)
𝑡 (7)
Onde:
▪ 𝜔 0 é o peso de inércia inicial;
▪ N é o número máximo de iterações;
▪ t é a iteração atual.
Com o intuito de melhorar ainda mais o desempenho nas iterações finais,
Chatterjee e Siarry (2006) utilizaram uma variação não linear para a adaptação de 𝜔:
𝜔 (𝑡) = [(𝑁 − 𝑡)𝑛
𝑁𝑛] (𝜔𝑖𝑛𝑖 − 𝜔𝑓𝑖𝑛) + 𝜔𝑓𝑖𝑛 (8)
Onde:
▪ n é o expoente de não linearidade;
▪ 𝜔𝑖𝑛𝑖 é o peso de inércia inicial;
▪ 𝜔𝑓𝑖𝑛 é o peso de inércia final.
Uma versão alternativa foi implementada no ProgOtim:
𝜔 (𝑡) = 𝜔0 [1 −(𝑡 − 1)𝑛
𝑁𝑛] (9)
Onde:
▪ n é o expoente de não linearidade;
▪ 𝜔 0 é o peso de inércia inicial.
17
4.2.3 Variação dos parâmetros social (C1) e cognitivo (C2)
Ratnaweera, Halgamuge e Watson (2004) estenderam a ideia de variação linear
ao longo das iterações também para os parâmetros C1 e C2 para se beneficiar de uma
busca global nas iterações iniciais e uma busca local nas finais:
𝐶1(𝑡) = (𝐶1𝑓𝑖𝑛−𝐶1𝑖𝑛𝑖)𝑡
𝑁+ 𝐶1𝑖𝑛𝑖 (10)
𝐶2(𝑡) = (𝐶2𝑓𝑖𝑛−𝐶2𝑖𝑛𝑖)𝑡
𝑁+ 𝐶2𝑖𝑛𝑖 (11)
Onde:
▪ Ciini é o valor inicial de Ci ;
▪ Cifin é o valor final de Ci.
18
4.3 Evolução Diferencial
O algoritmo de Evolução Diferencial (DE, do inglês Differential Evolution)
realiza uma otimização estocástica implementando processos naturais observados na
evolução biológica como seleção por aptidão, mutação e cruzamento. O DE, proposto
por Storn e Price (1995), opera de forma similar aos demais algoritmos evolutivos. No
entanto, diferentemente de EAs tradicionais, DE perturba os indivíduos de sua
população utilizando uma diferença escalada entre membros aleatórios da mesma.
Portanto, não há a necessidade de uma função de probabilidade utilizada especialmente
para gerar os descendentes. Nas últimas décadas o DE ganhou uma popularidade
expressiva na comunidade científica devido sua simplicidade de implementação,
flexibilidade e bom desempenho quando aplicado a problemas de difícil otimização
(CHENG e HWANG 2002).
O algoritmo DE pode ser dividido em 4 etapas básicas (DAS e SUGANTHAN
2011): i) Inicialização dos vetores; ii) Mutação baseada entre diferenças entre os
vetores; iii) Recombinação (Crossover) e iv) Seleção.
4.3.1 Inicialização dos vetores
O DE se inicia com uma população aleatória de NP indivíduos representados na
forma de vetores, cada um sendo uma solução multidimensional para o problema de
otimização. Cada vetor possui dimensão D e as variáveis que os compõem representam
as características do problema a ser modelado. As gerações são denotadas por G=0, 1,
..., Gmax. Como os vetores podem sofrer mudanças ao longo das gerações usa-se a
seguinte notação para representá-los:
�� 𝑖,𝐺 = [𝑥1,𝑖,𝐺 , 𝑥2,𝑖,𝐺 , … , 𝑥𝐷,𝑖,𝐺] (12)
Onde:
▪ �� 𝑖,𝐺 é o i-ésimo vetor da população da geração G.
As componentes de cada vetor representando um indivíduo podem ainda serem
restringidas por limites inferiores e superiores, para representar aspectos físicos do
problema (por exemplo: grandezas como massa e comprimento não podem assumir
valores negativos). Os limites são estabelecidos da seguinte forma (PAIVA 2011):
19
𝑥𝑗,𝑖,𝐺 = 𝑥𝑗,𝑚𝑖𝑛 + 𝑟𝑛𝑑𝑗,𝑖 × (𝑥𝑗,𝑚𝑎𝑥 − 𝑥𝑗,𝑚𝑖𝑛) (13)
Onde:
▪ 𝑥𝑗,𝑖,𝐺 é a componente j do indivíduo i na geração G;
▪ 𝑥𝑗,𝑚𝑖𝑛 é o menor valor que pode ser assumido pela componente j;
▪ 𝑥𝑗,𝑚𝑎𝑥 é o maior valor que pode ser assumido pela componente j;
▪ 𝑟𝑛𝑑𝑗,𝑖 é um número aleatório entre 0 e 1, segundo uma distribuição
uniforme.
4.3.2 Mutação com a Diferença Entre Vetores
No campo da biologia, mutação significa uma mudança no material genético de
um organismo. No contexto dos Algoritmos Evolutivos, a mutação é representada
como uma perturbação envolvendo um elemento aleatório. O algoritmo DE básico
utiliza três vetores para realizar a mutação (DAS e SUGANTHAN 2011):
▪ Vetor Alvo: é o indivíduo da geração atual que será o pai para a próxima
geração;
▪ Vetor Doador: é o indivíduo obtido pela operação de mutação por diferença;
▪ Vetor Teste: é o descendente da combinação entre os vetores Alvo e
Doador.
O DE cria um Vetor Doador para cada indivíduo (Vetor Alvo) da população
atual usando três outros vetores, �� 𝒓𝟏𝒊 , �� 𝒓𝟐
𝒊 e �� 𝒓𝟑𝒊 . Os índices 𝑟1
𝑖 , 𝑟2𝑖 e 𝑟3
𝑖 são números
inteiros mutualmente excludentes obtidos aleatoriamente do intervalo [1, NP]. Eles
também são diferentes do vetor base i. Em seguida, a diferença entre quaisquer dois
vetores dos três escolhidos é multiplicada por um fator de perturbação (F),
normalmente pertencente ao intervalo [0,4;1,0]. Essa diferença é somada ao terceiro
vetor obtendo-se o Vetor Doador (DAS e SUGANTHAN 2011):
�� 𝑖,𝐺 = �� 𝑟1𝑖 ,𝐺 + 𝐹 × (�� 𝑟2𝑖 ,𝐺 − �� 𝑟3𝑖 ,𝐺) (14)
Onde:
20
▪ �� 𝒊,𝑮 é o i-ésimo Vetor Doador obtido de outros 3 vetores aleatórios na geração
G;
▪ �� 𝒓𝟏𝒊 ,𝑮 é o vetor aleatório 1 selecionado para gerar o i-ésimo Vetor Doador na
geração G;
▪ �� 𝒓𝟐𝒊 ,𝑮 é o vetor aleatório 2 selecionado para gerar o i-ésimo Vetor Doador na
geração G;
▪ �� 𝒓𝟑𝒊 ,𝑮 é o vetor aleatório 3 selecionado para gerar o i-ésimo Vetor Doador na
geração G;
▪ 𝐹 é o fator de perturbação, normalmente escolhido entre [0,4;1,0], ou seja, real e
constante.
4.3.3 “Crossover”
Para aprimorar a diversidade da população, Storn e Price (1995) propuseram a
operação de crossover. Tal processo é bem conhecido na biologia e consiste na troca de
material genético entre dois cromossomos para aumentar a diversidade dos
descendentes. O objetivo da operação é gerar o Vetor Teste (�� 𝒊.𝑮) resultante da
combinação entre os vetores Doador e Alvo.
�� 𝒊.𝐺 = [𝑢1,𝑖,𝐺 , 𝑢2,𝑖,𝐺 , … , 𝑢𝐷,𝑖,𝐺] (15)
O crossover pode ocorrer principalmente de duas formas, exponencial ou
binomial (implementado no ProgOtim). No caso exponencial, são escolhidos dois
números inteiros para delimitar a faixa de troca de componentes entre o Vetor Alvo e o
Doador. O primeiro é o número inteiro n pertencente ao intervalo [1; D] e define o
ponto de partida para o crossover. O segundo é o inteiro L, também pertencente ao
intervalo [1; D], que estipula quantas componentes o Vetor Doador irá compartilhar
com o Vetor Alvo. Com n e L definidos, as componentes do Vetor Teste são obtidas da
seguinte maneira: (PRICE, STORN e LAMPINEN 2006).
𝑢𝑗,𝑖,𝐺 = 𝑣𝑗,𝑖,𝐺; 𝑝𝑎𝑟𝑎 𝑗 = 𝑛, (𝑛 + 1),… , (𝑛 + 𝐿 − 1) (16)
𝑢𝑗,𝑖,𝐺 = 𝑥𝑗,𝑖,𝐺 𝑝𝑎𝑟𝑎 𝑞𝑢𝑎𝑙𝑞𝑢𝑒𝑟 𝑜𝑢𝑡𝑟𝑜 𝑗 ∈ [1, 𝐷] (17)
Onde:
▪ 𝑢𝑗,𝑖,𝐺 é a j-ésima componente do i-ésimo Vetor Teste na geração G;
21
▪ 𝑣𝑗,𝑖,𝐺 é a j-ésima componente do i-ésimo Vetor Doador na geração G;
▪ 𝑥𝑗,𝑖,𝐺 é a j-ésima componente do i-ésimo Vetor Alvo na geração G.
O inteiro L que limita o número de componentes a sofrerem crossover é obtido
segundo o seguinte pseudo-código:
L = 0; DO
{
L = L + 1;
} WHILE ((rnd(0, 1) ≤ Cr) AND (L ≤ D))
Portanto, a operação de crossover depende fortemente do fator Cr, denominado
taxa de crossover. Cr é um parâmetro a ser ajustado no algoritmo DE, assim como o
fator de perturbação F.
No caso do cruzamento binomial todas as componentes são analisadas. A troca
entre as componentes dos Vetores Doador e Alvo é feita se Cr for maior que um
número gerado aleatoriamente entre 0 e 1 (PAIVA 2011). Ou seja:
𝑢𝑗,𝑖,𝐺 = 𝑣𝑗,𝑖,𝐺 𝑠𝑒 𝑟𝑛𝑑(0,1) ≤ 𝐶𝑟,
𝑉𝑒𝑡𝑜𝑟 𝑇𝑒𝑠𝑡𝑒 𝑟𝑒𝑐𝑒𝑏𝑒 𝑎 𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒 𝑑𝑜 𝑉𝑒𝑡𝑜𝑟 𝐷𝑜𝑎𝑑𝑜𝑟
(18)
𝑢𝑗,𝑖,𝐺 = 𝑥𝑗,𝑖,𝐺 𝑠𝑒 𝑟𝑛𝑑(0,1) ≥ 𝐶𝑟,
𝑉𝑒𝑡𝑜𝑟 𝑇𝑒𝑠𝑡𝑒 𝑟𝑒𝑐𝑒𝑏𝑒 𝑎 𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒 𝑑𝑜 𝑉𝑒𝑡𝑜𝑟 𝐴𝑙𝑣𝑜
(19)
Onde:
▪ 𝑟𝑛𝑑(0,1) é um valor aleatório entre 0 e 1, novo para cada componente
analisada;
▪ Cr é a taxa de crossover
4.3.4 Seleção
Por fim, a função objetivo é calculada para os Vetores Teste e Alvo para que o
melhor seja selecionado e ocupe um lugar na próxima geração. O menos apto é
eliminado já que o número de indivíduos deve ser constante. (CHENG e HWANG
2002). A operação de seleção é feita da seguinte forma:
�� 𝑖,𝐺+1 = �� 𝑖,𝐺 𝑠𝑒 𝑓(�� 𝑖,𝐺) ≥ 𝑓(�� 𝑖,𝐺) (20)
�� 𝑖,𝐺+1 = �� 𝑖,𝐺 𝑠𝑒 𝑓(�� 𝑖,𝐺) ≤ 𝑓(�� 𝑖,𝐺) (21)
Onde:
22
▪ 𝑓(�� ) é a função objetivo a ser otimizada (minimizada no exemplo acima).
Portanto, a população tende a melhorar ou permanecer com o mesmo fitness e
os descendentes nunca serão piores em termos de qualidade da função objetivo se
comparados aos pais.
23
5 ESTUDO DE CASO
Com o objetivo de realizar uma comparação de desempenho entre os algoritmos
DE e PSO, efetuou-se uma análise paramétrica sistemática para encontrar uma
combinação de parâmetros que retorne bons resultados da função objetivo. Essa análise
foi feita em cima do problema definido na seção 5.1. Ele consistiu basicamente em
executar experimentos nos quais variou-se um determinado parâmetro mantendo-se os
demais constantes de modo a verificar seu impacto na qualidade dos resultados. O
passo de variação adotado foi 0,1 e cada experimento foi rodado 30 vezes para garantir
robustez estatística.
A qualidade de cada experimento foi medida com base na média dos fitness
médios populacionais, calculada com base nas 30 rodadas (nesta seção, a média dos 30
fitness médios populacionais será referenciada somente como fitness médio por
simplicidade). Também foi analisada a média dos desvios padrões calculados para cada
uma das 30 rodadas (referenciada somente como desvio padrão).
O procedimento foi realizado para cada parâmetro individualmente, além disso,
combinações propostas por outros autores também foram testadas. Os experimentos
admitiram um número máximo de 50 gerações o qual assegurou a convergência de
ambos os algoritmos.
24
5.1 Definição do Problema
Um estudo de caso foi proposto com o objetivo de comparar as melhores
soluções e convergência dos algoritmos DE e PSO. A configuração de riser “Lazy
Wave” será otimizada para uma profundidade de 1290 metros e uma projeção
horizontal de 2000 metros. As propriedades físicas e geométricas do mesmo se
encontram na Tabela 1 a seguir. As Tabela 2 Tabela 3 apresentam os intervalos das seis
variáveis livres e as restrições admitidas, respectivamente. O segmento com flutuadores
possui uma razão de custo (C2/C1) igual a 2, o que significa que seu custo supera em
duas vezes o do riser convencional.
Tabela 1: Propriedades físicas e geométricas do Riser.
MATERIAL
Densidade 7800 kg/m3
Peso Específico 77 kN/m3
Limite de Escoamento 413 MPa
Tensão Admissível 277 MPa
Módulo de Elasticidade 207800 MPa
Razão de Custo C2/C1 2.0
GEOMETRIA
Espessura 0.01985 m
Diâmetro Externo 0.21908 m
Diâmetro Interno 0.18098 m
Peso do Flutuador 0.162 ton/m
Flutuabilidade do Flutuador 0.3175 ton/m
Diâmetro Externo do Flutuador 0.568 m
Tabela 2:Intervalo das variáveis livres.
VARIÁVEIS LIVRES MIN(m) MAX(m)
Segmento de Riser (L1) 800 2000
Segmento de Riser (L2) 400 800
Segmento de Riser (L3) 800 2000
Diâmetro do Flutuador (HDf) 1.2 3
Comprimento do Flutuador(Lf) 0.8 3
Espaçamento entre Flutuadores
(Esp) 0.5 3
Tabela 3: Restrições.
RESTRIÇÕES VALOR
Tensão de Von Mises 415.5 MPa
Angulo de Topo Máximo 18º
Angulo de Topo Mínimo 5º
Variação de ângulo Built-in 5º
Tração Máxima no Topo 1000 kN
Tração Mínima 300 kN
25
5.2 Escolha da População
A escolha da população deve ser feita com base em um balanço entre custo
computacional e qualidade das soluções. Além disso, para fins de comparação, o
mesmo número de indivíduos deve ser utilizado nos experimentos com DE e PSO, já
que populações maiores implicam em um maior número de candidatos à solução
objetivo e, portanto, uma probabilidade maior de se encontrar boas soluções. Assim,
experimentos foram realizados variando-se a população com incrementos de 10 ou 5
indivíduos para o PSO e para o DE com o intuito de identificar o ponto em que o
aumento de esforço computacional não melhora significativamente o fitness médio.
Para isso, foram utilizadas combinações default, sendo [C1 = C2 1,7 e ω = 0,6] para o
PSO e [Cr=0,2 e F = 0,8] para o DE (TRELEA 2002) (PEDERSEN 2010). O mesmo
PC foi utilizado em ambos os casos para garantir a igualdade de capacidade de
processamento entre DE e PSO. Os resultados estão representados na Tabela 4 e Tabela
5 a seguir. Elas foram utilizadas para plotar os gráficos da Figura 4 e Figura 5 abaixo.
Figura 4: Fitness médio vs Número de Indivíduos (PSO)
0 10 20 30 40 50 60 70 80 90 100
49
49,5
50
50,5
51
51,5
52
52,5
Número de Indivíduos
Fit
nes
sM
édio
Fitness Médio vs N. de Indivíduos (PSO)
26
Tabela 4: Fitness médio e tempo de execução em função do número de indivíduos para
o PSO.
População Fitness Médio Tempo de Execução (hh:mm)
20 49,435 02:05
30 51,431 03:04
40 51,594 05:39
50 51,529 06:40
60 51,703 06:09
70 51,735 07:39
80 51,263 09:45
90 51,989 10:48
Figura 5: Tempo de Execução versus Número de Indivíduos (PSO).
Tabela 5: Fitness médio para e tempo de execução em função do número de indivíduos
para o DE.
População Fitness Médio Tempo de execução (h)
5 49,748 00:26:55
10 53,455 00:48:42
15 53,944 01:14:48
20 53,999 01:59:18
30 54,007 02:45:40
40 54,032 03:30:23
0,00
2,00
4,00
6,00
8,00
10,00
12,00
0 10 20 30 40 50 60 70 80 90 100
Tem
po
de
Exec
uçã
o (
h)
Número de Indivíduos
Tempo de Execução vs N. de Indivíduos (PSO)
27
Figura 6: Fitness Médio versus Número de Indivíduos (DE).
Figura 7: Tempo de Execução versus Número de Indivíduos (DE).
Como se pode perceber das Tabelas e Figura 6, o PSO atinge a convergência
para 30 indivíduos enquanto o DE converge em torno de 15 indivíduos. Portanto a
população escolhida para comparar os dois algoritmos foi de 30 indivíduos.
0 5 10 15 20 25 30 35 40 45
49
50
51
52
53
54
55
Número de Indivíduos
Fit
nes
sM
édio
Fitness Médio vs N. de Indivíduos (DE)
0 5 10 15 20 25 30 35 40 45
0
0,5
1
1,5
2
2,5
3
3,5
4
Número de Indivíduos
Tem
po
de
Exec
uçã
o (
h)
Tempo de Execução vs N. de Indivíduos
28
5.3 Análise paramétrica PSO
O algoritmo PSO possui parâmetros que controlam sua capacidade de busca
local, global e de interação entre os indivíduos que compõem o enxame. Desse modo, a
qualidade dos resultados depende fortemente da seleção dos parâmetros que controlam
os algoritmos.
Os parâmetros analisados foram apresentados na seção 4.2. O incremento
utilizado na variação de todos os parâmetros foi de 0,1 enquanto um parâmetro era
variado os demais eram mantidos constantes segundo uma combinação default sugerida
por Trelea (2002): C1 = C2 1,7 e ω = 0,6.
C1 e C2 variaram de 1 a 2; variou-se o coeficiente de inércia ω de 0,3 a 0 1,2
para seu comportamento fixo; ω0 variou de 0,3 a 1,2 para o caso linear e de 0,3 a 1,2
para o não linear. O expoente n utilizado na variação não linear de ω também foi
analisado para um intervalo de 0,6 a 1,8 (adotou-se um intervalo maior para esse
parâmetro devido ao comportamento instável do fitness médio em função do mesmo).
Por fim, testou-se combinações de C1 e C2 com pelo menos um deles variando
linearmente: C1=1,7 e C2 de 1 a 2; C1 de 1 a 2 e C2 = 1,7; C1 de 1 a 2 e C2 de 2 a 1;
C1 de 2 a 1 e C2 de 1 a 2; C1 de 1 a 2,5 e C2 de 2,5 a 1.
Os experimentos estão resumidos na Tabela 6 seguir. Nela, o conjunto {i a j}
representa todas as combinações possíveis para o incremento de 0,1. Por exemplo: {1 a
2} = {1; 1,1; 1,2; 1,3; 1,4; 1,5; 1,6; 1,7; 1,8; 1,9; 2,0}. Já a representação i : j (linear)
significam que um único experimento foi feito, no qual os coeficientes C1 e C2 são
variados linearmente de i a j.
29
Tabela 6: Resumo dos experimentos realizados com o PSO.
Número de
Indivíduos 30
Número de
Gerações 50
Incremento 0,1
Experimento C1 C2 ω (fixo)
ω0
(variação
Linear)
ω0
(variação
não
linear) n
1 {1 a 2} 1,7 0,6 n/a n/a n/a
2 1,7 {1 a 2} 0,6 n/a n/a n/a
3 1,7 1,7 {0,3 a 1,2} n/a n/a n/a
4 1,7 1,7 n/a {0,3 a 1,2} n/a n/a
5 1,7 1,7 n/a n/a
{0,3 a
1,2} 1,2
6 1,7 1,7 n/a n/a 0,6
{0,5 a
1,8}
7 2 : 1 (linear) 1,7 0,6 n/a n/a n/a
8 1,7
1 : 2
(linear) 0,6 n/a n/a n/a
9 2 : 1 (linear)
1 : 2
(linear) 0,6 n/a n/a n/a
10 1 : 2 (linear)
2 : 1
(linear) 0,6 n/a n/a n/a
11
2,5 : 0,5
(linear)
0,5 : 2,5
(linear) 0,6 n/a n/a n/a
Os resultados estão plotados a seguir. A Figura 8 mostra a relação entre C1 e C2
(fixos), o fitness médio e o desvio padrão. A Figura 9 demonstra a influência dos
coeficientes de inercia fixo, linear e não linear sobre as médias da função objetivo e
desvio padrão. O mesmo foi feito na Figura 10 para o coeficiente n, utilizado na
variação não linear do coeficiente de inércia. Finalmente, na Figura 11 pode-se
visualizar as combinações de C1 e C2 não lineares e seus respectivos fitness médio e
desvio padrão.
30
Figura 8: Fitness médio e desvio padrão em função de C1 e C2.
Na Figura 8 pode-se perceber um comportamento inversamente proporcional
entre fitness médio e o desvio padrão. Este último apresentou leves variações em torno
de 8. Além disso vemos uma tendência de diminuição fitness médio com o aumento dos
coeficientes C1 e C2, sendo que os maiores fitness médios obtidos ocorreram para os
pontos [C1 = 1,2; fitness médio = 51,249] e [C2 = 1,1; fitness médio = 51,520].
Figura 9: Fitness Médio e Desvio Padrão em Função de ω, ω0 (linear) e ω0 (não
linear).
Da Figura 9, pode-se inferir que o aumento do coeficiente de inércia (ω) tem um
impacto negativo expressivo sobre o fitness médio. O mesmo não ocorre para ω0
(linear) o qual demonstra uma melhora inicial em torno de 0,5, seguido por uma queda
e recuperação somente em 1,1. Já ω0 (não linear), apresentou uma oscilação no
0,00
5,00
10,00
15,00
20,00
25,00
30,00
40,00
42,00
44,00
46,00
48,00
50,00
52,00
54,00
1,00 1,20 1,40 1,60 1,80 2,00 2,20
ST
D m
édio
Fit
nes
sM
édio
Fitness Médio e Desvio Padrão em Função de C1 e C2
C2 C1 STD médio C2 STD médio C1
0
5
10
15
20
25
30
37
39
41
43
45
47
49
51
53
0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 1,2 1,3
ST
D m
édio
Fit
nes
sM
édio
Fitness Médio e Desvio Padrão em Função de ω, ω0
(linear) e ω0 (não linear)
ω (fixo) ω0 (linear) ω0 (não linear)
STD médio ω STD médio ω0 (linear) STD médio (não linear)
31
intervalo estudado em torno de um fitness médio igual a 51. O desvio padrão médio de
ω aumentou significativamente para maiores valores do coeficiente de inércia enquanto
os demais se mantiveram quase constantes em torno de 7. Os maiores valores de fitness
médio ocorreram para os pontos [ω= 0,3; fitness médio = 51,764], [ω0 (linear) = 0,5;
fitness médio = 51,555] e [ω0 (não linear) = 0,5; fitness médio = 51,865].
Na Figura 10 a seguir, pode-se visualizar o comportamento do fitness médio em
função do coeficiente n.
Figura 10: Fitness Médio e Desvio Padrão em Função do Coeficiente n.
Como mostra Figura 10, o aumento coeficiente n tem um comportamento
oscilatório sobre a Média da Função Objetivo, apresentando resultados de fitness médio
que oscilam em torno de 51,5. O desvio padrão médio, entretanto, se manteve
relativamente constante com o aumento de n. O maior fitness médio observado ocorreu
no ponto [n = 1,5; fitness médio = 52,223].
Na Figura 11, estão representadas as combinações com C1 e C2 variando
linearmente.
0
5
10
15
20
25
30
48
48,5
49
49,5
50
50,5
51
51,5
52
52,5
0,6 0,8 1 1,2 1,4 1,6 1,8 2
ST
D m
édio
Fit
nes
sM
édio
Fitness Médio e Desvio Padrão em Função do Coeficiente
n
Coeficiente n STD médio n
32
Figura 11: Fitness Médio e Desvio Padrão em Função de C1 e C2 Lineares.
Espera-se melhores resultados de fitness médio para combinações em que o C1
inicia-se com grande valor e decaí para valores menores, enquanto C2 inicia-se
pequeno. Tal comportamento favorece a busca global no início da execução do
algoritmo e a busca local nas últimas gerações. Essa expectativa foi correspondida já
que o melhor resultado ocorreu para a combinação de C1 variando linearmente de 2,5 a
0,5 e C2 de 0,5 a 2,5 a qual retornou um fitness médio de 51,234. O desvio padrão
médio apresentou pequenas variações em torno de 8.
Com a análise paramétrica feita, foram realizados experimentos com as
melhores combinações utilizando os melhores parâmetros encontrados. Elas estão
resumidas na Tabela 7 abaixo e contemplam as 3 combinações com C1 = 2,5 a 0,5 e
C2= 0,5 a 2,5 variando linearmente e os coeficientes de inércia estático (ω = 0,3), linear
(ω0 = 0,5) e não linear (ω0 = 0,5 com n = 1,5). Analogamente, mais três combinações
foram feitas para combinações de C1 e C2 estáticos e os três tipos de coeficiente de
inércia. Finalmente, as combinações propostas por Trelea (2002) também foram
testadas, elas são: [C1 = C2 = 1,7 e 𝜔 = 0,6]; [C1 = C2 = 1,494 e 𝜔 = 0,729].
0
5
10
15
20
25
30
45
46
47
48
49
50
51
52
C1 de 2,5 a 0,5 e
C2 de 0,5 a 2,5
C1 de 2 a 1 e C2
de 1 a 2
C1 de 2 a 1 e C2
= 1,7
C1 de 1 a 2 e C2
de 2 a 1
C1 = 1,7 e C2 de
1 a 2
ST
D m
édio
Fit
nes
sM
édio
Fitness Médio e Desvio Padrão em Função de C1 e C2
Lineares
C STD médio n
33
Tabela 7: Resumo dos experimentos realizados com os melhores parâmetros obtidos na
análise paramétrica para o PSO
Combinação C1 C2 ω
Tipo de
Variação
de ω
Fitness
Médio
Desvio
Padrão
1 2,5 : 0,5 (linear) 0,5 : 2,5 (linear) 0,3 estático 51,568 7,047
2 2,5 : 0,5 (linear) 0,5 : 2,5 (linear) 0,5 linear 49,908 7,1045
3 2,5 : 0,5 (linear) 0,5 : 2,5 (linear) 0,5
não linear
(n=1,5) 50 7,124
4 1,2 1,1 0,3 estático 49,795 7,181
5 1,2 1,1 0,5 linear 50,203 7,255
6 1,2 1,1 0,5
não linear
(n=1,5) 51,035 7,342
7 1,7 1,7 0,6 estático 50,272 8,906
8 1,494 1,494 0,729 estático 50,210 7,94
Como pode ser visto na Tabela 7, o maior fitness médio foi obtido para a
combinação 1. Portanto, esta combinação será utilizada para comparação de
desempenho com uma combinação do algoritmo DE que passará por um processo
similar de análise paramétrica.
34
5.4 Análise Paramétrica DE
A análise paramétrica para o algoritmo DE também foi realizada com um
incremento de 0,1 para os coeficientes apresentados na seção 4.3. O intervalo analisado
para o Fator de Perturbação (F) foi [0,1 a 1] segundo (PAIVA 2011) e para a Taxa de
Crossover (Cr) foi [0,1 a 1] segundo Storn (1995).
Para uma população de 30 indivíduos e 50 gerações, foram realizados 4 tipos de
variação. O primeiro com Cr variando de 0,1 a 1 e F constante igual a 0,8; o segundo
com F variando de 0,1 a 1 e Cr constante igual a 0,2. Também foi feita uma análise
com Cr e F variando juntos de 0,2 a 1 e, por fim, variando de maneira inversa da
seguinte forma: Cr variando de 0,9 a 0,2 enquanto F varia de 0,1 a 0,8. As combinações
dos experimentos estão resumidas na Tabela 8 a seguir.
Tabela 8: Resumo das combinações dos experimentos realizados para o DE.
População 30
Número máximo de gerações 50
Incremento 0,1
Tipo de variação Cr F
Variação com F constante {0,1 a 1} 0,8
Variação com Cr constante 0,2 {0,2 a 1}
Variação Conjunta {0,2 a 1} {0,2 a 1}
Variação Inversa {0,9 a 0,2}
{0,1 a
0,8}
A seguir encontram-se os gráficos do fitness médio e do desvio padrão em
função dos coeficientes Cr e F para as variações com Cr constante, F constante, ambos
variando de forma conjunta e inversa.
35
Figura 12: Fitness médio e Desvio Padrão em Função de Cr e CF.
Na Figura 12 acima, vemos a tendência do fitness médio em aumentar com o
aumento de Cr (F mantido constante) e diminuir com o aumento de F (Cr mantido
constante). O desvio padrão de Cr se comporta de maneira inversamente proporcional
ao seu fitness médio e um comportamento similar é observado para o desvio padrão de
F. Os melhores fitness médio ocorreram para os pontos [ Cr = 1 e F = 0,8; fitness
médio = 53,328 ], no caso da análise de Cr e [Cr = 0,2 e F= 0,2; fitness médio =
51,770] no caso de F.
Figura 13: Fitness Médio e desvio padrão em função de Cr e F Variando Juntos.
A Figura 13 mostra um leve aumento na média da função objetivo para Cr e F
variando simultaneamente. O melhor resultado ocorreu para a combinação [Cr = F =
0,6; fitness médio = 52,805], a partir desse ponto, a média da função objetivo tende a
piorar com o aumento conjunto de Cr e F. Mais uma vez, o desvio padrão demonstra
um comportamento inverso em relação ao fitness médio.
0
2
4
6
8
10
40
42
44
46
48
50
52
54
0 0,2 0,4 0,6 0,8 1
ST
D m
édio
Fit
nes
sm
édio
Fitness Médio e Desvio Padrão em Função de Cr e F
Cr F STD médio Cr STD médio F
0
2
4
6
8
10
40
42
44
46
48
50
52
54
0 0,2 0,4 0,6 0,8 1
ST
D m
édio
Fit
nes
sM
édio
Fitness Médio e Desvio Padrão em Função de Cr e F
Variando Juntos
Cr e F Variando Juntos STD médio Cr e F
36
Figura 14: Fitness médio e desvio padrão para combinações de Cr e F variando
inversamente.
A Figura 14 mostra que pode-se obter bons resultados para valores de Cr e F
próximos, na faixa de 0,4 a 0,6. No entanto, o melhor fitness médio ocorreu no ponto
[Cr = 0,8 e F = 0,2; fitness médio = 53,651]. Os menores desvios padrão ocorreram
para os maiores valores da média da função objetivo.
Após a análise paramétrica, foram realizados experimentos combinando os
melhores parâmetros encontrados. Eles estão resumidos na Tabela 9 abaixo e totalizam
4 combinações. A combinação 1 utiliza os valores de Cr e F resultantes da análise feita
com um parâmetro variando (Cr ou F) enquanto o outro era mantido constante. A
combinação 2 foi escolhida com base no tamanho da população e número de avaliações
da função objetivo, segundo recomendado por Pedersen (2010). As combinações 3 e 4
resultaram da análise de Cr e F variando inversamente e juntos, respectivamente.
Tabela 9: Resumo das Melhores Combinações para o DE.
Combinação C F Fitness Médio STD Médio
1 1,000 0,200 52,336 0,950
2 0,943 0,661 51,642 1,094
3 0,800 0,200 53,651 0,040
4 0,500 0,500 52,808 0,688
Como pode ser visto na Tabela 9, a combinação 3 resultou no melhor fitness
médio. Assim, essa combinação será utilizada para a comparação de desempenho em
relação a combinação encontrada para o PSO.
0
2
4
6
8
10
30
35
40
45
50
55
Cr = 0,9 e
F = 0,1
Cr = 0,8 e
F = 0,2
Cr = 0,7 e
F = 0,3
Cr = 0,6 e
F = 0,4
Cr = 0,5 e
F = 0,5
Cr = 0,4 e
F = 0,6
Cr = 0,3 e
F = 0,7
Cr = 0,2 e
F = 0,8
ST
D m
édio
Fit
nes
sM
édio
Fitness Médio Para Combinações de Cr e F Variando
Inversamente
Cr e F Variando Inversamente STD médio Cr e F variando Inversamente
37
5.5 Comparação de Desempenho entre DE e PSO
Utilizando as combinações resultantes da análise paramétrica, realizou-se uma
comparação de velocidade de convergência entre DE e PSO aplicado a um caso de
estudo de riser em configuração “lazy-wave”. Foram executadas 30 rodadas para fazer
média com os maiores fitness registrado em cada uma das 50 gerações. Ou seja, foi
possível acompanhar a evolução do melhor fitness médio encontrado pelos algoritmos
ao longo das gerações, evidenciando qual convergiu primeiro e qual alcançou melhores
valores de fitness. As combinações comparadas estão reiteradas na Tabela 10 e são
apresentadas em conjunto com o fitness médio do melhor indivíduo na 50ª geração, seu
desvio padrão, o fitness médio populacional (registrado na seção anterior) e o desvio
padrão médio populacional. A evolução do fitness médio máximo está representada na
Figura 15 para ambos os algoritmos; assim como a evolução do menor valor da função
objetivo e desvio padrão da média dos melhores valores. A Figura 16 mostra a
diferença percentual entre o fitness médio máximo do PSO e DE ao longo das 50
gerações.
Tabela 10: Combinações dos algoritmos PSO e DE escolhidos para comparação
juntamente com os valores de fitness médio e desvio padrão.
Algoritmo Parâmetros
Fitness
Médio do
Melhor
Indivíduo
Desvio Padrão
do Melhor
Indivíduo
Fitness
Médio
Populacional
Desvio Padrão
Médio
Populacional
PSO
C1 = 2,5 : 0,5
(linear); C2 = 0,5 :
2,5 (linear); ω
= 0,3 (estático)
53,677 0,941 51,568 7,047
DE C = 0,8; F = 0,2 53,730 0,940 53,651 0,040
38
Figura 15: Evolução dos valores máximos e mínimos do fitness médio dos algoritmos DE e PSO e seus respectivos desvios padrões por
geração.
39
Figura 16: Diferença percentual entre o fitness médio máximo entre PSO e DE ao longo das 50 gerações.
40
A partir da Tabela 10 percebe-se que, embora o DE apresente um desvio padrão
muito menor que o PSO para o fitness médio da população, o desvio padrão do fitness
médio do melhor indivíduo é praticamente igual. Ou seja, a população do DE tende a se
concentrar mais em torno do indivíduo de melhor fitness enquanto a população de PSO
tende a estar mais espalhada pelo espaço de soluções. Além disso, a Tabela 10 mostra
que o DE foi capaz de encontrar configurações ligeiramente melhores que o PSO ao
fim das 50 gerações.
A Figura 15 demonstra que o PSO possui maior capacidade de convergência
quanto ao fitness do melhor indivíduo se comparado ao DE. Isso fica mais claro na
Figura 16, a qual apresenta a diferença percentual entre os fitness médios máximos do
PSO e DE ao longo das 50 gerações (valores positivos indicam superioridade do PSO).
Na primeira geração os melhores indivíduos produzidos pelo PSO apresentam fitness
médio 12% maiores que os indivíduos do DE. Tal superioridade cai drasticamente até a
quinta geração na qual o fitness médio do PSO é 1% maior que DE. Essa diferença
decai levemente até que finalmente DE e PSO se equiparam na geração de número 40.
A Figura 15 mostra ainda que os indivíduos de menor fitness médio do
algoritmo DE se aproximam rapidamente dos indivíduos de maior fitness médio até a
geração de número 15. Já os indivíduos de menor fitness médio do PSO melhoram
somente até a décima geração, o que justifica seu elevado desvio padrão médio
populacional.
41
6 COMENTÁRIOS FINAIS
Conclusões
Neste trabalho foram realizadas análises e comparações de desempenho entre
dois algoritmos evolutivos, PSO e DE, na otimização de um riser em configuração
“lazy-wave”.
Através de um estudo paramétrico, foi possível investigar a sensibilidade dos
algoritmos em relação a cada um de seus parâmetros para o problema do riser. No caso
do PSO, percebe-se um maior impacto no fitness médio com a variação dos
coeficientes social (C1), cognitivo (C2) e do coeficiente de inércia (ω) nos casos em
que estes não variam ao longo das gerações. Ou seja, coeficientes que apresentam
algum tipo de variação ao longo das gerações penalizam menos o fitness médio caso o
intervalo de variação deles seja “mal selecionados”, se comparado aos coeficientes
“estáticos”. A melhor combinação observada para o PSO foi [C1 = 2,5 : 0,5 (linear);
C2 = 0,5 : 2,5 (linear) e ω = 0,3 (estático)].
No caso do DE, não foram consideradas variações nos parâmetros ao longo das
gerações. Mesmo assim, a taxa de cross over (Cr) foi o parâmetro que apresentou maior
impacto sobre o fitness médio se comparado ao fator de perturbação (F).
A Figura 15 evidencia a superioridade quanto a velocidade de convergência do
PSO se comparado ao DE. Já a Tabela 10 mostra que o DE é capaz de encontrar
soluções um pouco melhores que o PSO. Vale ressaltar, que o processo de análise
paramétrico do DE foi muito menos trabalhoso que o do PSO, já que este último contou
com algumas alterações que aumentaram as possibilidades de análise paramétrica, mas
que não melhoraram significativamente o fitness médio populacional.
Trabalhos Futuros
A comparação entre PSO e DE pode ser continuada utilizando uma análise
dinâmica não-linear no domínio do tempo de Elementos Finitos (EF). Tal tarefa,
validaria as configurações encontradas por cada um dos algoritmos e colocaria a prova
a comparação feita neste trabalho utilizando o modelo analítico de catenária.
Outros algoritmos evolutivos também poderiam passar pelo mesmo processo de
comparação apresentado neste trabalho com a finalidade de encontrar o mais indicado
para o problema do riser. Na ferramenta ProgOtim, inclusive, estão implementados
42
algoritmos como: Algoritmo Genético, Sistema Imunológico Artificial e “Invasive
Weed Optimization”.
43
7 REFERÊNCIAS
ALBRECHT, CARL HORST. Algoritmos Evolutivos Aplicados à Síntese e Otimização de
Sistemas de Ancoragem (pp. 69-76). Tese de Doutorado, Rio de Janeiro: Universidade
Federal do Rio de Janeiro, 2005.
AL-SALAMI, NADA M. A. “Evolutionary Algorithm Definition .” American J. of
Engineering and Applied Sciences, 2009: 789-791.
CHATTERJEE, A., e P. SIARRY. “Nonlinear inertia weight variation for dynamic adaptation
in particle swarm optimization.” Computers & Operations Research 33. 2006. 859–
871.
CHENG, SHIH-LIAN, e CHYI HWANG. “Optimal approximation of linear systems by a
differential evolution algorithm.” IEEE Transactions on Systems, Man, and
Cybernetics - Part A: Systems and Humans. IEEE, 2002. 698 - 707.
DAS, SWAGATAM, e PONNUTHURAI NAGARATNAM SUGANTHAN. “Differential
Evolution: A Survey of the State-of-the-Art.” IEEE TRANSACTIONS ON
EVOLUTIONARY COMPUTATION. IEEE, 2011. 4-31.
EBERHART, R. C., e Y. SHI. “Comparing Inertia Weights and Constriction Factors in Particle
Swarm Optimization.” Proceedings of the 2000 Congress on Evolutionary
Computation. La Jolla, CA, USA: IEEE, 2000. 84-88.
EBERHART, RUSSEL, e JAMES KENNEDY. “A New Optimizer Using Particle Swarm
Theory.” Sixth International Symposium on. IEEE, 1995. 39-43.
EIA, U.S. Energy Information Administration. “Offshore production nearly 30% of global
crude oil output in 2015.” TODAY IN ENERGY, 2016.
GABRIEL, PAULO HENRIQUE RIBEIRO. Fundamentos de Algoritmos Evolutivos (pp. 1-4).
São Paulo: ICMC-USP, 2008.
KENNEDY, JAMES, e EBERHART RUSSEL. “Particle Swarm Optimization.” IEEE
International Conference on Neural Networks. IEEE, 1995. 1942-1946.
LIMA, BEATRIZ DE SOUZA LEITE PIRES DE, BRENO PINHEIRO JACOB, e NELSON
FRANSICO FAVILLA EBECKEN. “A hybrid fuzzy/genetic algorithm for the design
of offshore oil production risers.” International Journal for Numerical Methods in
Engineering. 2005. 1459-1482.
“What is a Metaheuristic?” Em Essentials of Metaheuristics, por SEAN LUKE, 9-31.
Arlington: Lulu, 2013.
MONTEIRO, BRUNDO DA FONSECA. Aplicação do Método de Enxame de Partículas na
Otimização de Sistemas de Ancoragem de Unidades Flutuantes para a Explotação de
Petróleo Offshore . Dissertação de Mestrado de Engenharia Civil , Rio de Janeiro:
COPPE/UFRJ, 2008.
44
MONTEIRO, BRUNO F., CARL H. ALBRECHT, e BRENO P. JACOB. “An Enhanced
Particle Swarm Optimization Method For The Design Of Oil Production Risers.”
Congresso de Métodos Numéricos em Engenharia. Coimbra, 2011. 2-3.
PAIVA, ANA LÚCIA DE OLIVEIRA. Aplicação do Método de Evolução Diferencial à
Otimização de um Cíclo de Refrigeração por Compressão de Vapor de Dois Estágios
Através da Análise Exergética. Tese de Doutorado, Rio de Janeiro: COPPE UFRJ,
2011, 60-65.
PEDERSEN, MAGNUS ERIK HVASS. Good Parameters for Differential Evolution. Hvass
Laboratories, 2010.
PINA, ALINE APARECIDA DE. Metodologias de Análise, Síntese e Otimização de Sistemas
Para a Produção de Petróleo Offshore Através de Metamodelos e Enxames de
Partículas (pp. 37-46). Tese de Doutorado, Rio de Janeiro: UFRJ/ COPPE, 2010.
Pina, Aline Aparecida de. “Tailoring the particle swarm optimization algorithm for the design
of offshore oil production risers.” Springer, 2009. 5-7.
POLI, RICCARDO, JAMES KENNEDY, e TIM BLACKWELL. “Particle swarm optimization
An Overview .” Swarm Intell. Springer Science, 2007. 33-57.
Em Differential Evolution - A Pratical Approach to Global Optimization, por KENNETH V.
PRICE, RAINER M. STORN e JOUNI A. LAMPINEN, 37-134. Springer, 2006.
RATNAWEERA, ASANGA, SAMAN K. HALGAMUGE, e HARRY C. WATSON. “Self-
Organizing Hierarchical Particle Swarm Optimizer With Time-Varying Acceleration
Coefficients.” IEEE Transactions on Evolutionary Computation. IEEE, 2004. 250-255.
SHI, YUHUI, e RUSSELL EBERHART. “A Modified Particle Swarm Optimizer.” IEEE,
1998. 69-71.
Storn, Rainer. “On the Usage of Differential Evolution for Function Optimization.” 1995.
STORN, RAINER, e KENNETH PRICE. “Differential Evolution – A Simple and Efficient
Heuristic for Global Optimization over Continuous Spaces.” Journal of Global
Optimization. Netherlands: Kluwer Academic Publishers, 1995. 341 - 358.
STREICHERT, FELIX. Introduction to Evolutionary Algorithms. University of Tuebingen,
2002.
TRELEA, IOAN CRISTIAN. The particle swarm optimization algorithm: convergence
analysis and parameter selection. Elsevier Science, 2002.
VIEIRA, LUCIANO TARDELLI. Otimização de Sistemas de Risers Para Explotação de
Petróleo Offshore Através de Algoritmos Genéticos Paralelos. Tese de Doutorado, Rio
de Janeiro: COPPE/UFRJ, 2008.