Você está na página 1de 39

UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL-REI

MATHEUS DO VALE ARAÚJO

COMPARAÇÃO ENTRE DOIS ALGORITMOS


DE OTIMIZAÇÃO METAHEURÍSTICOS
UTILIZANDO AS FUNÇÕES OBJETIVO
EGGCRATE E ROSENBROCK

SÃO JOÃO DEL-REI

FEVEREIRO DE 2019
RESUMO

Dado um certo problema representado por uma função teste cuja proposta seja
encontrar um determinado valor em determinado ponto, denominado solução ótima.
Duas técnicas diferentes foram utilizadas a fim de comparar seus resultados alterando
alguns parâmetros que poderiam melhorar ou piorar o índice total de acerto,
realizando um grande número de tentativas e analisando as taxas de sucesso. As
técnicas utilizadas, denominadas metaheurísticas, ao passo que podem ser
vantajosas para um certo trabalho e inviáveis para outros. Sendo assim, existe a
necessidade de se descobrir qual método é mais interessante e indicado para cada
questão analisada.

Palavras chave

Metaheurísticas, Eggcrate, Rosenbrock, PSO


LISTA DE FIGURAS

Figura 2.3.1 – Código Fonte para a execução do algoritmo N1

Figura 2.4.1 – Código Fonte para a execução do algoritmo PSO

Figura 3.2.1.1 – Box plot para a função Eggcrate no Estudo de Caso nº1

Figura 3.2.1.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.2.1.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.2.1.4 – Vista dos contornos da função Eggcrate

Figura 3.2.1.5 – Análise de população fixa e variável para o PSO

Figura 3.2.1.6 – Análise de população fixa e variável para o N1

Figura 3.2.2.1 – Box plot para a função Eggcrate no Estudo de Caso nº2

Figura 3.2.2.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.2.2.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.2.2.4 – Vista dos contornos da função Eggcrate

Figura 3.2.2.5 – Análise de população fixa e variável para o PSO

Figura 3.2.2.6 – Análise de população fixa e variável para o N1

Figura 3.2.3.1 – Box plot para a função Eggcrate no Estudo de Caso nº3

Figura 3.2.3.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.2.3.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.2.3.4 – Vista dos contornos da função Eggcrate

Figura 3.2.3.5 – Análise de população fixa e variável para o PSO

Figura 3.2.3.6 – Análise de população fixa e variável para o N1

Figura 3.2.4.1 – Box plot para a função Eggcrate no Estudo de Caso nº4

Figura 3.2.4.2 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.2.4.3 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.2.4.4 – Vista dos contornos da função Eggcrate

Figura 3.2.4.5 – Análise de população fixa e variável para o PSO


Figura 3.2.4.6 – Análise de população fixa e variável para o N1

Figura 3.3.1.1 – Box plot para a função Rosenbrock no Estudo de Caso nº1

Figura 3.3.1.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.3.1.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.3.1.4 – Vista dos contornos da função Rosenbrock

Figura 3.3.1.5 – Análise de população fixa e variável para o PSO

Figura 3.3.1.6 – Análise de população fixa e variável para o N1

Figura 3.3.2.1 – Box plot para a função Rosenbrock no Estudo de Caso nº2

Figura 3.3.2.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.3.2.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.3.2.4 – Vista dos contornos da função Rosenbrock

Figura 3.3.2.5 – Análise de população fixa e variável para o PSO

Figura 3.3.2.6 – Análise de população fixa e variável para o N1

Figura 3.3.3.1 – Box plot para a função Rosenbrock no Estudo de Caso nº3

Figura 3.3.3.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.3.3.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.3.3.4 – Vista dos contornos da função Rosenbrock

Figura 3.3.3.5 – Análise de população fixa e variável para o PSO

Figura 3.3.3.6 – Análise de população fixa e variável para o N1

Figura 3.3.4.1 – Box plot para a função Rosenbrock no Estudo de Caso nº4

Figura 3.3.4.2 – Convergência do melhor valor em função do número de iterações para o PSO

Figura 3.3.4.3 – Convergência do melhor valor em função do número de iterações para o N1

Figura 3.3.4.4 – Vista dos contornos da função Rosenbrock

Figura 3.3.4.5 – Análise de população fixa e variável para o PSO

Figura 3.3.4.6 – Análise de população fixa e variável para o N1


LISTA DE TABELAS

Tabela 3.1.1 – Valores utilizados como parâmetros nos algoritmos

Tabela 3.1.2 – Valores utilizados como parâmetros nas funções

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Eggcrate no Estudo de Caso nº1

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Eggcrate no Estudo de Caso nº2

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Eggcrate no Estudo de Caso nº3

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Eggcrate no Estudo de Caso nº4

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Rosenbrock no Estudo de Caso nº1

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Rosenbrock no Estudo de Caso nº2

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Rosenbrock no Estudo de Caso nº3

Tabela 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a função
Rosenbrock no Estudo de Caso nº4
SUMÁRIO
INTRODUÇÃO -------------------------------------------------------------------------------- 1
METAHEURÍSTICAS --------------------------------------------------------------------- 1
FUNÇÃO EGGCRATE --------------------------------------------------------------------- 1
FUNÇÃO ROSENBROCK --------------------------------------------------------------------- 2
ALGORITMOS DE -------------------------------------------------------------------------------- 3
OTIMIZAÇÃO
POPULAÇÃO E BUSCA --------------------------------------------------------------------- 3
ITERAÇÕES --------------------------------------------------------------------- 4
PRIMEIRO ALGORITMO --------------------------------------------------------------------- 4
(ALGORITMO N1)
SEGUNDO ALGORITMO --------------------------------------------------------------------- 5
(PSO)
RESULTADOS -------------------------------------------------------------------------------- 6
VALORES UTILIZADOS --------------------------------------------------------------------- 6
FUNÇÃO EGGCRATE --------------------------------------------------------------------- 7
ESTUDO DE CASO Nº1 -------------------------------------------------------------- 7
ESTUDO DE CASO Nº2 -------------------------------------------------------------- 11
ESTUDO DE CASO Nº3 -------------------------------------------------------------- 14
ESTUDO DE CASO Nº4 -------------------------------------------------------------- 17
FUNÇÃO ROSENBROCK --------------------------------------------------------------------- 20
ESTUDO DE CASO Nº1 -------------------------------------------------------------- 20
ESTUDO DE CASO Nº2 -------------------------------------------------------------- 23
ESTUDO DE CASO Nº3 -------------------------------------------------------------- 26
ESTUDO DE CASO Nº4 -------------------------------------------------------------- 28
CONCLUSÕES -------------------------------------------------------------------------------- 31
REFERÊNCIAS -------------------------------------------------------------------------------- 33
BIBLIOGRÁFICAS
1. INTRODUÇÃO

1.1. METAHEURÍSTICAS

Algoritmos de otimização são utilizados em diversas áreas de estudo


para que funções matemáticas que possuem uma resolução analítica difícil
sejam, como remete o próprio nome, otimizadas. Isto reflete em diminuição de
tempo e custo, pré-requisito para qualquer tarefa onde o aumento da eficiência
é cada vez mais requisitado. Grande parte dos algoritmos de otimização
possuem em sua estrutura, ferramentas metaheurísticas, que visam, através
de recursos pré-programados, encontrar esta solução da maneira mais prática
e rápida possível, atingindo os objetivos de redução requisitados. Vários
modelos de metaheurísticas podem ser encontrados em algoritmos de
otimização, como pode ser visto em [1], obra que contém inúmeras opções que
podem solucionar outros inúmeros problemas.

Neste trabalho, foram utilizadas duas funções teste para se determinar


a eficiência das metaheurísticas, sendo elas Eggcrate e Rosenbrock, que serão
explanadas a seguir. Como são funções com características semelhantes,
porém com aspectos diferentes, são importantes para determinar casos onde
cada uma delas pode ser melhor empregada.

1.2. FUNÇÃO EGGCRATE

A primeira função teste utilizada é a função Eggcrate, que tem como


principal característica ser tridimensional, sem que isso possa ser alterado, o
que pode ser analisado na equação (1) abaixo.
𝑓(𝑥) = 𝑥12 + 𝑥22 + 25 ∗ [𝑠𝑖𝑛2 𝑥1 + 𝑠𝑖𝑛2 𝑥2 ] (1)

Onde os limites estão concentrados em


−2𝜋 ≤ 𝑥𝑖 ≤ 2𝜋
E o valor ótimo global, que deseja ser encontrado, está localizado em

1
𝑥 ∗ = (0,0) 𝑒 𝑓(𝑥 ∗ ) = 0
Onde:
𝑥𝑖 : 𝑝𝑜𝑛𝑡𝑜 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑡𝑒 à 𝑖𝑡𝑒𝑟𝑎çã𝑜 𝑎𝑡𝑢𝑎𝑙
𝑥𝑖+1 : 𝑝𝑜𝑛𝑡𝑜 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑡𝑒 à 𝑖𝑡𝑒𝑟𝑎çã𝑜 𝑓𝑢𝑡𝑢𝑟𝑎

Outra característica da função Eggcrate é a de possuir “picos” e “vales”,


onde, em um desses “vales” está localizado o ótimo global. A localização deste
ponto pode ser facilitada pela utilização de algoritmos de otimização, que terão
suas metodologias explicadas posteriormente.

1.3. FUNÇÃO ROSENBROCK

A outra função teste utilizada é caracterizada por possuir quantas


dimensões se desejar, através da equação (2) a seguir:
𝐷−1 (2)
𝑓(𝑥) = ∑[100(𝑥𝑖+1 − 𝑥𝑖2 )2 + (𝑥𝑖 − 1) 2]

𝑖=1

Com seus limites em:


−30 ≤ 𝑥𝑖 ≤ 30
E seu ponto de ótimo global em:
𝑥 ∗ = (1, … ,1) 𝑒 𝑓(𝑥 ∗ ) = 0
Onde:
𝐷: 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠õ𝑒𝑠
𝑥𝑖 : 𝑝𝑜𝑛𝑡𝑜 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑡𝑒 à 𝑖𝑡𝑒𝑟𝑎çã𝑜 𝑎𝑡𝑢𝑎𝑙
𝑥𝑖+1 : 𝑝𝑜𝑛𝑡𝑜 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑡𝑒 à 𝑖𝑡𝑒𝑟𝑎çã𝑜 𝑓𝑢𝑡𝑢𝑟𝑎

Assim como a Eggcrate, a Rosenbrock é constituída por “picos” e “vales”,


com a distinção de possuir um espaço de busca maior e um ótimo global
localizado em outro ponto.

2
2. ALGORITMOS DE OTIMIZAÇÃO

2.1. POPULAÇÃO E BUSCA

A fim de encontrar métodos cada vez mais inteligente para melhorar a


capacidade de exploração do espaço de busca pelos algoritmos, aspectos
Naturais passaram a ser utilizados para moldar alguma possível estratégia, o
que é chamado de algoritmo bioinspirado, ou seja, algum fator ou
característica encontrado em um grupo de plantas ou animais passa a ser base
para a formulação de um algoritmo de otimização.
Considerando o que foi citado acima, um conceito importante para
implantar os algoritmos é a população. Reutilizando o que já existe na
natureza, uma população de animais ou plantas é o ponto inicial para qualquer
tomada de decisão. Partindo do pressuposto de que existem inúmeras
soluções semelhantes às ótimas, conhecidos como ótimos locais, mas que não
é o ponto de escolha, característica das funções teste utilizadas, onde é
encontrado um relevo que não permite encontrar com precisão os valores
ótimos, uma população é distribuída aleatoriamente (os conceitos das técnicas
empregadas serão discutidos nos próximos subtópicos) com o propósito de
encontrar este ponto. Porém, as tentativas são realizadas seguindo algumas
premissas, características de cada metaheurística. Basicamente, é isso que
as difere – a forma com que cada população realiza tentativas de encontrar o
valor ótimo – o que pode ser excelente para certas situações, porém
indesejável para outras, como já foi dito anteriormente.
A escolha correta da população também é um fator extremamente
importante para o sucesso da aplicação do algoritmo. Ela pode se basear em
diversos fatores. Um deles, como comentado no subtópico anterior, é o limite
da função, uma vez que ele é maior, necessita-se de aumentar a população
para aumentar as chances de se encontrar o ótimo global.

3
2.2. ITERAÇÕES

Assim como definir a população é importante, é necessário encontrar o


melhor método para chegar ao objetivo principal. Porém, não é simples definir
qual metaheurística terá maior sucesso para determinada função. Talvez esse
seja o principal ponto de ajuste para a utilização desse método como a melhor
maneira de resolver de problemas de otimização – e o que também é o que
mais tem se buscado um ajuste. Enquanto não existe um “guia” de
metaheurísticas, a comparação entre diversos métodos é a forma mais
recomendada para descobrir qual deles mais se adequa ao problema
analisado.
Serão aplicadas duas técnicas de otimização para as funções teste.
Após a escolha das populações, ambos se comportam de forma semelhante:
se movimentam em busca do ponto desejado. A diferença está na forma de
realizar esta movimentação. Fazendo isso, o algoritmo tem maiores chances
de sucesso, mas não é uma garantia. A quantidade de movimentações, que
nesse caso são chamadas de iterações, pode ser definida por variados
critérios, que visam atender a demanda de tempo e gasto computacional
requisitado, assim como a necessidade de sempre se encontrar um certo valor
desejado. Neste trabalho, tanto o tamanho das populações quanto o número
de iterações serão variados, de forma a analisar o desempenho das técnicas
de otimização.

2.3. PRIMEIRO ALGORITMO (ALGORITMO Nº1)

Para o primeiro algoritmo proposto (será chamado de algoritmo normal


ao decorrer do texto, ou N1), não foi utilizada nenhuma técnica específica,
diferentemente do segundo. Ele foi baseado em uma busca aleatória e
controlada, em um método parcialmente semelhante ao que será aplicado no
próximo, porém, com menos requinte.

Sua forma de busca se baseou nos seguintes critérios: inicialmente, uma


certa população é distribuída de forma aleatória pelo espaço de busca pré-
4
definido nas funções de teste já mencionadas. Em seguida, os indivíduos
alocados se movimentariam de acordo com duas variáveis, sendo elas: 𝑟𝑑𝑎𝑙
que caracteriza o passo aleatório. Ou seja, seguindo esta variável, todos os
indivíduos realizariam um passo de tamanho também aleatório em uma direção
aleatória. O outro parâmetro, dado por 𝑟𝑑𝑖𝑛𝑡, rege o passo controlado, que se
baseia no indivíduo que apresenta o melhor resultado naquele momento. Ou
seja, na iteração em que está acontecendo a busca, este parâmetro irá guiar
todos os indivíduos em direção ao que está melhor posicionado, com um passo
também de tamanho aleatório. A Figura 2.3.1 abaixo explora as técnicas
aplicadas nessa metaheurística.

FIGURA 2.3.1 – Código Fonte para a execução do algoritmo N1

2.4. SEGUNDO ALGORITMO (PSO)

O segundo algoritmo, que foi utilizado como base de comparação com o


N1, é baseado na técnica PSO, ou Particle Swarm Optimization, também
encontrado em [1]. Este algoritmo foi proposto por Kennedy e Eberhart, em
1995, e se baseia no comportamento de enxame da Natureza, como acontece
entre os peixes e aves.
5
O comportamento é semelhante em partes ao do Algoritmo N1, a
diferença é que existe um parâmetro que se diferencia, enquanto o que move
as partículas em relação ao ponto com o melhor resultado permanece. O
parâmetro 𝑟𝑑𝑖𝑛𝑡 é responsável por movimentar as partículas em direção ao
ponto que obteve o melhor resultado na iteração anterior, tal qual foi feito para
o N1, enquanto o parâmetro 𝑟𝑑𝑝𝑠𝑜 é responsável por armazenar uma espécie
de memória às partículas, fazendo com que elas se movimentem em direção
ao ponto de sua trajetória que apresentaram o melhor resultado, onde a
estruturação deste algoritmo pode ser observado na Figura 2.4.1 abaixo.

FIGURA 2.4.1 – Código Fonte para a execução do algoritmo PSO

3. RESULTADOS

3.1. VALORES UTILIZADOS

Para a comparação dos dois algoritmos, N1 e PSO, foram utilizados os


mesmos critérios de parada. O número de iterações (I) e a população inicial
(N) foram alterados de forma a analisar qual a interferência dos dois
parâmetros no processo de busca. Além disso, para fins estatísticos, os dois
algoritmos foram executados 1000 vezes para que pudesse ser realizada uma
6
comparação estatística elaborada e compreender a eficiência de ambos em
um número grande de situações. Em ambas funções objetivos foram utilizadas
duas dimensões, a fim de facilitar a comparação, uma vez que a função
Eggcrate permite apenas este número.
Foram realizados quatro testes distintos, variando os parâmetros citados
acima, são eles:

TABELA 3.1.1 – Valores utilizados como parâmetros nos algoritmos


Primeiro Teste Segundo Teste Terceiro Teste Quarto Teste
N I N I N I N I
40 40 40 200 200 40 200 200

Onde:
N – Número de indivíduos
I – Número de iterações
Além dos parâmetros de execução dos programas, temos os parâmetros
utilizados nas funções dos algoritmos aplicados, que mudam de acordo com a
função objetivo utilizada.

TABELA 3.1.2 – Valores utilizados como parâmetros nas funções


Função Eggcrate Função Rosenbrock
Parâmetro Valor Parâmetro Valor
𝑘𝑟𝑎𝑛𝑑 2 𝑘𝑟𝑎𝑛𝑑 2
𝑘𝑐𝑜𝑛𝑡 2 𝑘𝑐𝑜𝑛𝑡 2
𝑘𝑏𝑒𝑠𝑡 2 𝑘𝑏𝑒𝑠𝑡 2

3.2. FUNÇÃO EGGCRATE

Na função Eggcrate, como o espaço de busca é mais restrito que na


Rosenbrock, é mais frequente que os indivíduos encontrem o valor do ótimo
global em mais oportunidades e mais rapidamente. Partindo a análise, foram
plotados instrumentos chamados de box-plots, contidos em [2], que é uma
ferramenta que mostra a distribuição de todos os dados obtidos com base Nas
medidas separatrizes mais conhecidas: os quartis. Além disso, foram

7
comparados alguns valores importantes na análise da busca pelo ótimo global,
como valor mínimo, valor médio e desvio padrão. Após estas comparações,
também foi realizando um procedimento estatístico denominado teste de
hipótese, que visa comparar dois valores e descobrir a dependência ou
independência entre ambos. Mais especificamente, foi realizado o teste T de
Student, que utiliza de uma distribuição normal dos dados, uma dissertação
detalhada do método pode ser encontrada em [2], é mostrado o método de
maneira mais explícita.

3.2.1. ESTUDO DE CASO Nº1

Seguindo os valores contidos na Tabela 3.1.2, o primeiro teste


realizado com fins de comparação entre os dados obteve os seguintes
resultados segundo o box-plot de ambos.

FIGURA 3.2.1.1 – Box plot para a função Eggcrate no Estudo de Caso nº1

Para visualizar o comportamento das partículas, foi realizada uma


análise de convergência do valor correspondente ao ótimo global
utilizando as duas metaheurísticas aplicadas, o que pode ser analisado
nas figuras 3.2.1.2 e 3.2.1.3 abaixo.

8
FIGURA 3.2.1.2 – Convergência do melhor valor em FIGURA 3.2.1.3 – Convergência do melhor valor em
função do número de iterações para o PSO função do número de iterações para o N1

Juntamente com a análise de convergência, graficamente é


possível analisar o comportamento das partículas no momento em que
foram distribuídas aleatoriamente e ao final da última iteração e apenas
para o PSO, como pode ser visto na Figura 3.2.1.4.

FIGURA 3.2.1.4 – Vista dos contornos da função Eggcrate

9
Através dos resultados, é possível perceber uma sensível
vantagem do N1 em relação ao PSO no quesito do valor médio
encontrado. Porém, a mediana do PSO apresenta uma vantagem,
uma vez que o ótimo global foi atingido em 82% dos casos.

Os outros valores que também foram analisados estão dispostos


abaixo.

TABELA 3.2.1.1 – Tabela de comparação com valores estatísticos relevantes para a


função Eggcrate no Estudo de Caso nº1
Estudo de Caso nº1
N 40 I 40
NA PSO
Valor Mínimo <0.0001 Valor Mínimo <0.0001
Valor Médio 0.4009 Valor Médio 1.6890
Valor Máximo 3.9587 Valor Máximo 9.4882
Mediana 0.2374 Mediana <0.0001
Desvio Padrão 0.5008 Desvio Padrão 3.6311
Porcentagem 23.90 Porcentagem 82.10
de Encontro do de Encontro do
OG OG

Para comparar a robustez das metaheurísticas aplicadas, uma


análise com uma população fixa e uma população variável também foi
realizada. Ela se consiste em aplicar o programa considerando uma
distribuição aleatória inicial das partículas e utilizando a mesma
distribuição para todas as mil amostras, que seria a análise com
população fixa. A análise com população variável, que foi realizada para
a coleta de todos os dados acima, consiste em atribuir uma distribuição
aleatória diferente a cada amostra. Essa comparação foi realizada para
as duas metaheurísticas e pode ser vista nas figuras 3.2.1.5 e 3.2.1.6.

10
FIGURA 3.2.1.5 – Análise de população fixa e FIGURA 3.2.1.6 – Análise de população fixa e
variável para o PSO variável para o N1

É possível perceber que ambas as amostras possuem grande


semelhança, o que confirma a robustez do código.

3.2.2. ESTUDO DE CASO Nº2

No segundo estudo de caso, os procedimentos foram idênticos ao


primeiro, seguindo os valores pré-estabelecidos, como pode ser visto a
seguir.

11
FIGURA 3.2.2.1 – Box plot para a função Eggcrate no Estudo de Caso nº2

Também foi realizada uma análise de convergência para este


estudo de caso, contida nas figuras 3.2.2.2 e 3.2.2.3.

FIGURA 3.2.2.2 – Convergência do melhor valor FIGURA 3.2.2.3 – Convergência do melhor valor
em função do número de iterações para o PSO em função do número de iterações para o N1

E também uma análise gráfica pode ser conferida na Figura 3.2.2.4.

12
FIGURA 3.2.2.4 – Vista dos contornos da função Eggcrate

Neste segundo teste, a população inicial foi mantida e o número


de iterações aumentou, resultando em uma diferença significante para o
primeiro teste. Desta vez, o N1 leva vantagem sobre o PSO devido ao
alcance de 92,5% do ótimo global, além de ter mantido uma média
menor.
De forma semelhante ao Estudo de Caso nº1, temos também os
valores específicos coletados neste segundo teste, que elucidam que
não houve muita diferença entre ambos.

TABELA 3.2.2.1 - Tabela de comparação com valores estatísticos relevantes para a


função Eggcrate no Estudo de Caso nº2
Estudo de Caso nº2
N 40 I 200
NA PSO
Valor Mínimo <0.0001 Valor Mínimo <0.0001
Valor Médio 0.0262 Valor Médio 1.4612

13
Valor Máximo 0.2860 Valor Máximo 18.9764
Mediana 0.0149 Mediana <0.0001
Desvio Padrão 0.0353 Desvio Padrão 3.4787
Porcentagem 92.50 Porcentagem 84.80
de Encontro do de Encontro do
OG OG

Para comparar a robustez, assim como no primeiro estudo de


caso, foi realizada uma análise com a população fixa e variável.

FIGURA 3.2.2.5 – Análise de população fixa e FIGURA 3.2.2.6 – Análise de população fixa e
variável para o PSO variável para o N1

3.2.3. ESTUDO DE CASO Nº3

Da mesma forma que nos dois primeiros, o Estudo de Caso nº3


foi realizado, porém invertendo o que foi feito no segundo. Neste, a
população inicial foi aumentada e o número de iterações permaneceu o
mesmo que o do Estudo de caso nº3.

14
FIGURA 3.2.3.1 – Box plot para a função Eggcrate no Estudo de Caso nº3

Semelhante aos dois casos anteriores, a convergência dos pontos


do ótimo global está contida nas figuras 3.2.3.2 e 3.2.3.3.

FIGURA 3.2.3.2 – Convergência do melhor valor em FIGURA 3.2.3.3 – Convergência do melhor valor
função do número de iterações para o PSO em função do número de iterações para o N1

A convergência das partículas antes das iterações e ao final de


todas também pode ser analisada na Figura 3.2.3.4.

15
FIGURA 3.2.3.4 – Vista dos contornos da função Eggcrate

No Estudo de Caso nº3, foi possível perceber uma evolução


considerável no PSO, que atingiu o ótimo global em praticamente todos
os dados coletados. Enquanto isso, o N1 apresentou uma piora no
encontro do ponto ótimo, porém manteve o bom desempenho nos outros
quesitos.
De modo a comprovar estas afirmações, da mesma forma que foi
mostrado nos dois primeiros testes, temos a Tabela 5 com os dados
coletados.

TABELA 3.2.3.1 - Tabela de comparação com valores estatísticos relevantes para a


função Eggcrate no Estudo de Caso nº3
Estudo de Caso nº3
N 200 I 40
NA PSO
Valor Mínimo <0.0001 Valor Mínimo <0.0001
Valor Médio 0.0761 Valor Médio 0.0285
Valor Máximo 0.7338 Valor Máximo 9.4882
Mediana 0.0464 Mediana <0.0001
Desvio Padrão 0.0903 Desvio Padrão 0.5192

16
Porcentagem 67.80 Porcentagem 99.70
de Encontro do de Encontro do
OG OG

A análise de população fixa e variável também pode ser conferida


nas figuras 3.2.3.5 e 3.2.3.6.

FIGURA 3.2.3.5 – Análise de população fixa e FIGURA 3.2.3.6 – Análise de população fixa e
variável para o PSO variável para o N1

3.2.4. ESTUDO DE CASO Nº4

No último estudo de caso realizado para a função Eggcrate, os


dois parâmetros foram modificados e, assim, será possível comprovar a
influência de cada um com os valores do box-plot e da tabela de
resultados, juntamente com as outras análises.

17
FIGURA 3.2.4.1 – Box plot para a função Eggcrate no Estudo de Caso nº4

Assim como nos outros casos, a convergência das funções pode ser
analisada nas figuras 3.2.4.2 e 3.2.4.3.

FIGURA 3.2.4.2 – Convergência do melhor valor em FIGURA 3.2.4.3 – Convergência do melhor valor em
função do número de iterações para o PSO função do número de iterações para o N1

A convergência dos pontos em forma gráfica é apresentada na figura


3.2.4.4.

18
FIGURA 3.2.4.4 – Vista dos contornos da função Eggcrate

TABELA 3.2.4.1 - Tabela de comparação com valores estatísticos relevantes para a


função Eggcrate no Estudo de Caso nº4
Estudo de Caso nº4
N 200 I 200
NA PSO
Valor Mínimo <0.0001 Valor Mínimo <0.0001
Valor Médio 0.0054 Valor Médio 0.0190
Valor Máximo 0.0730 Valor Máximo 9.4882
Mediana 0.0030 Mediana <0.0001
Desvio Padrão 0.0075 Desvio Padrão 0.4241
Porcentagem 100 Porcentagem 99.80
de Encontro do de Encontro do
OG OG

Neste último teste, é possível identificar a melhora significativa


dos dados coletados, uma vez que as duas metaheurísticas encontraram
o ótimo global em praticamente todos os casos e apresentaram baixos
valores médios. Além disso, a análise de população fixa e variável
também foi realizada.

19
FIGURA 3.2.4.5 – Análise de população fixa e FIGURA 3.2.4.6 – Análise de população fixa e
variável para o PSO variável para o N1

3.3. FUNÇÃO ROSENBROCK

Na função Rosenbrock, os limites de busca são superiores aos da função


Eggcrate, o que leva a uma maior dificuldade de encontrar o ponto ótimo global
e, possivelmente, os parâmetros utilizados deveriam também ser superiores,
o que não foi realizado com o intuito de comparar ambas as funções e
algoritmos. Todos os testes serão realizados de forma idêntica aos anteriores,
também seguindo a Tabela 3.1.2.

3.3.1. ESTUDO DE CASO Nº1

O box-plot do primeiro teste realizado para a função Rosenbrock


pode ser analisado abaixo.

20
FIGURA 3.3.1.1 – Box plot para a função Rosenbrock no Estudo de Caso nº1

É possível perceber o aumento dos valores da função objetivo em


relação a função Eggcrate. Isso mostra que o número de iterações e
população inicial deveria ser consideravelmente maior neste caso para
que os mesmos valores fossem atingidos. Uma primeira percepção pode
levar a crer que, neste caso, o PSO se sobressai. Da mesma forma que
foi realizado anteriormente, prosseguiremos com as análises de
contorno da função e convergência do ótimo global.

FIGURA 3.3.1.2 – Convergência do melhor valor em FIGURA 3.3.1.3 – Convergência do melhor valor
função do número de iterações para o PSO em função do número de iterações para o N1

21
FIGURA 3.3.1.4 – Vista dos contornos da função Rosenbrock

TABELA 3.3.1.1 – Tabela de comparação com valores estatísticos relevantes para a


função Rosenbrock no Estudo de Caso nº1
Estudo de Caso nº1
N 40 I 40
NA PSO
Valor Mínimo 0.0010 Valor Mínimo <0.0001
Valor Médio 4.5296 Valor Médio 1.9804
Valor Máximo 171.7507 Valor Máximo 41.9510
Mediana 2.2311 Mediana <0.0001
Desvio Padrão 8.4377 Desvio Padrão 7.0711
Porcentagem 42.60 Porcentagem 78.90
de Encontro do de Encontro do
OG OG

A tabela de comparação também é útil para identificar que os


parâmetros são menos eficientes para a função Rosenbrock. Também
foi realizada uma análise de população fixa e variável.

22
FIGURA 3.3.1.1 – Análise de população fixa e FIGURA 3.3.1.1 – Análise de população fixa e
variável para o N1 variável para o N1

3.3.2. ESTUDO DE CASO Nº2

O box-plot do segundo teste para a função Rosenbrock


pode ser analisado abaixo.

FIGURA 3.3.2.1 – Box plot para a função Rosenbrock no Estudo de Caso


nº2

23
Seguindo com a análise dos resultados coletados, as
figuras 3.3.2.2 e 3.3.2.3 mostram a convergência do ponto de
melhor resultado, enquanto a figura 3.3.2.4 mostra a mesma
convergência, porém graficamente e em apenas uma amostra, da
mesma forma como já foi realizado em todos os outros estudos
de caso.

24
FIGURA 3.3.2.2 – Convergência do melhor valor em FIGURA 3.3.2.3 – Convergência do melhor valor em
função do número de iterações para o PSO função do número de iterações para o N1

FIGURA 3.3.2.4 – Vista dos contornos da função Rosenbrock

TABELA 3.3.1.1 - Tabela de comparação com valores estatísticos relevantes para a


função Rosenbrock no Estudo de Caso nº2
Estudo de Caso nº2
N 40 I 200
NA PSO
Valor Mínimo 0.0003 Valor Mínimo <0.0001
Valor Médio 0.5572 Valor Médio 1.2256
Valor Máximo 8.5314 Valor Máximo 41.9510
Mediana 0.2581 Mediana <0.0001
Desvio Padrão 0.9394 Desvio Padrão 6.3614
Porcentagem 50.70 Porcentagem 95.10
de Encontro do de Encontro do
OG OG

Por fim, as figuras 3.3.2.5 e 3.3.2.6 mostram a análise de


população fixa e variável.

25
FIGURA 3.3.2.5 – Análise de população fixa e FIGURA 3.3.2.6 – Análise de população fixa e
variável para o PSO variável para o N1

3.3.3. ESTUDO DE CASO Nº3

O box-plot do Estudo de Caso nº3 pode ser visto abaixo.

FIGURA 3.3.3.1 – Box plot para a função Rosenbrock no Estudo de Caso n°3

De forma semelhante ao que já foi apresentado, as figuras 3.3.3.2


e 3.3.3.3 mostram a convergência dos melhores pontos das funções,
enquanto a Figura 3.3.3.4 mostra graficamente as posições inicial e final
das partículas.

26
FIGURA 3.3.3.2 – Convergência do melhor valor em FIGURA 3.3.3.2 – Convergência do melhor valor
função do número de iterações para o PSO em função do número de iterações para o N1

FIGURA 3.3.3.2 – Vista dos contornos da função Rosenbrock

TABELA 3.3.3.1 - Tabela de comparação com valores estatísticos relevantes para a


função Rosenbrock no Estudo de Caso nº3
Estudo de Caso nº3
N 200 I 40
NA PSO
Valor Mínimo 0.0002 Valor Mínimo <0.0001
Valor Médio 0.9119 Valor Médio 0.1849
Valor Máximo 13.7310 Valor Máximo 20.0449
Mediana 0.4746 Mediana <0.0001
Desvio Padrão 1.3021 Desvio Padrão 1.8332
Porcentagem 49.40 Porcentagem 95.00
de Encontro do de Encontro do
OG OG

27
Por último, a análise de população fixa e variável pode ser vista
nas figuras 3.3.3.5 e 3.3.3.6

FIGURA 3.3.3.5 – Análise de população fixa e FIGURA 3.3.3.6 – Análise de população fixa e
variável para o PSO variável para o N1

3.3.4. ESTUDO DE CASO Nº4

Por último, mas não menos importante, o box-plot do


Estudo de Caso nº4 realizado para a função Rosenbrock pode ser
visto abaixo.

28
FIGURA 3.3.4.1 – Box plot para a função Rosenbrock no Estudo de Caso nº4

As Figuras 3.3.4.2.e 3.3.4.3 apresentam as convergências das


funções, enquanto na Figura 3.3.4.4 visualizar a distribuição aleatória de
pontos e seu resultado na última iteração.

FIGURA 3.3.4.2 – Convergência do melhor valor em FIGURA 3.3.4.3 – Convergência do melhor valor em
função do número de iterações para o PSO função do número de iterações para o N1

29
FIGURA 3.3.4.4 – Vista dos contornos da função Rosenbrock

TABELA 3.3.4.1 - Tabela de comparação com valores estatísticos relevantes para a


função Rosenbrock no Estudo de Caso nº4
Estudo de Caso nº4
N 200 I 200
NA PSO
Valor Mínimo 0.0002 Valor Mínimo <0.0001
Valor Médio 0.1306 Valor Médio 0.1021
Valor Máximo 2.6473 Valor Máximo 41.9510
Mediana 0.0578 Mediana <0.0001
Desvio Padrão 0.2398 Desvio Padrão 1.7198
Porcentagem 52.20 Porcentagem 99.60
de Encontro do de Encontro do
OG OG

Por fim, a figura 3.3.4.5 e 3.3.4.6 mostram o comportamento das


funções quando sujeitas à uma população inicial e fixa e variável.

30
FIGURA 3.3.4.5 – Análise de população fixa e FIGURA 3.3.4.6 – Análise de população fixa e
variável para o PSO variável para o N1

4. CONCLUSÕES

A partir das inúmeras análises realizadas, é possível perceber que


ambos os algoritmos se comportaram de maneira satisfatória. Em alguns
momentos o N1 apresentou melhores resultados, porém, em outros, o PSO se
sobressaiu. Devido à diferença nos espaços de busca, era esperado que as
metaheurísticas apresentassem maior eficiência para a função Eggcrate, o que
foi comprovado pelos resultados. Porém, os resultados para a função
Rosenbrock também se apresentaram satisfatórios, com maior vantagem do
PSO, principalmente devido ao encontro do ótimo global em grande parte das
amostras coletadas.

Sobre as questões citadas no último parágrafo, a conclusão mais


importante a ser considerada em ambos os algoritmos é a influência dos
parâmetros sobre o resultado final. À medida que os valores de população
inicial e número de iterações aumentaram, os resultados alcançaram maior
precisão.

31
Com isso, é possível definir que, para uma melhor resposta de cada função,
seria mais recomendado utilizar o PSO para ambas as funções, uma vez que
ele apresentou resultados mais consistentes caso sejam consideradas as duas
funções teste aplicadas.

32
5. REFERÊNCIAS BIBLIOGRÁFICAS

[1] X.-S. Yang, Introduction to Algorithms. 2014.

[2] G. C. R. Montgomery, Douglas C., Applied-Statistics-and-Probability-for-


Engineers. .

33

Você também pode gostar