Escolar Documentos
Profissional Documentos
Cultura Documentos
net/publication/323424632
CITATIONS READS
2 686
6 authors, including:
Some of the authors of this publication are also working on these related projects:
Dealing with Models, Combinatorial Explosion and Algorithms in Transmission Expansion Planning View project
Parameter Preserving Model Order Reduction of Large Sparse Small-signal Electromechanical Stability Power System Models View project
All content following this page was uploaded by Luiz Eduardo Oliveira on 27 February 2018.
Recebido em 19/09/2017
Aprovado em 13/10/2017
RESUMO: Antes da revolução computacional ocorrida nas últimas décadas, a maioria dos algoritmos de
otimização em engenharia era baseada em métodos de programação linear, e ou não linear. Tais métodos
normalmente requerem informação do gradiente e usualmente necessitam de serem bem inicializados, ou seja,
terem a solução inicial próxima do ótimo global. Tais algoritmos, entretanto, revelam uma aproximação muito
limitada com os problemas de otimização do mundo real. Caso exista mais de um mínimo no espaço amostral da
função, ou seja, caso a função objetivo seja não convexa e exista mínimos locais dentro do espaço factível desta,
com esse tipo de algoritmo, muito provavelmente a solução convergirá para ótimos locais. Em contraponto aos
métodos clássicos de otimização, este estudo descreve o Harmony Search (HS), ou Procura Harmônica,
algoritmo metaheurístico baseado no processo de improvisação musical de músicos de jazz que tem por objetivo
em seus ensaios encontrar a harmonia esteticamente perfeita. O HS trabalha não somente com variáveis
contínuas, quanto com variáveis discretas para resolver problemas de busca do ótimo. Ao invés de utilizar busca
através do gradiente, o HS faz uma pesquisa estocástica aleatória, deixando assim desnecessárias informações
provenientes da derivada da função objetivo. Duas funções matemáticas incluindo minimização (Eggcrate e
Rosenbrock) são apresentadas neste trabalho para demonstrar a efetividade e robustez do método. Inclusive, é
disponibilizado o algoritmo, em um código base, na linguagem MatLab para os leitores.
ABSTRACT: Before the computational revolution occurred in the last decades, most of the engineering
optimization algorithms are based on numerical linear and nonlinear programming methods that require
substantial gradient information and usually seek to improve the solution in the neighborhood of a starting
point. These algorithms, however, reveal a limited approach to complicated real-world optimization problems. If
there is more than one local optimum in the problem, the result must depend of initial point selection;
consequently, the obtained optimal solution may not necessarily be the global optimum. However, in the
opposite line, this paper describes a new Harmony Search (HS) meta-heuristic algorithm-based approach for
engineering optimization problems with continuous and design variables. This recently developed HS algorithm
is conceptualized using the musical process searching for a perfect state of harmony. It uses a stochastic random
search instead of a gradient search so that derivative information is unnecessary. Two mathematical functions
including minimization (Eggcrate e Rosenbrock) are presented in this work to demonstrate the effectiveness and
robustness of the HS algorithm. Furthermore, the algorithm code is showed on MatLab language.
6
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
1. INTRODUÇÃO
No último século um enorme número de algoritmos foi desenvolvido para resolver vários problemas de
otimização dentro das inúmeras áreas das engenharias. A maioria desses algoritmos é baseada em métodos de
Programação Linear (PL) e Programação Não Linear (PNL) que requerem informações do gradiente. Ou seja,
para tal, é necessário encontrar a derivada da função objetivo para resolução dos problemas através desses
métodos. Os chamados algoritmos clássicos de otimização proporcionam uma excelente estratégia de obtenção
do ótimo global em modelos simples. Para estes sistemas existem uma gama de métodos analíticos. Entretanto,
usualmente, tais métodos necessitam de uma boa solução inicial para a procura do ótimo. A fim de evitar a
convergência para soluções sub-ótimas em funções com vários mínimos locais, devem ser iniciados com uma
solução vizinha ao ótimo global. Ainda que se parta de uma boa solução inicial, a procura pelos métodos que
trabalham com o gradiente pode se tornar difícil e instável quando a função objetivo contiver múltiplos picos.
Em outras palavras, quando o espaço factível da função objetivo for não convexa perde-se a eficiência dos
métodos.
O método metaheurístico Harmony Search (HS), diferente das metodologias tradicionais, combina regras
matemáticas com randomização para modelar fenômenos naturais com o objetivo de encontrar o ótimo global
em funções não convexas, o que o torna uma ferramenta mais eficiente para a resolução de problemas
reconhecidamente complexos que contenha região factível não convexa (Luke, 2009). Tal método se mostra útil
em diversas áreas da engenharia, como por exemplo: análise de casos de alocação e dimensionamento de
capacitores e ou de geração distribuída em sistemas de distribuição de energia elétrica (Coelho, 2013);
planejamento de expansão estática (Aredes et al., 2014) (Mendonça, 2012) e dinâmica de sistemas de
transmissão de energia elétrica (De Oliveira, 2014).
Este trabalho foi escrito conforme a seguinte organização: Na Seção 2 é apresentada a metodologia estudada,
a metaheurística Harmony Search. As seções 3 e 4 estão destinadas a apresentar, respectivamente, o algoritmo e
o código fonte do HS. A fim de auxiliar o leitor no entendimento do HS, fez-se necessário a inserção de um
exemplo tutorial. Este exemplo matemático pode ser encontrado na Seção 5. Na Seção 6 estão contidos os
resultados e análises dos testes com as funções Eggcrate e Rosenbrock. Na Seção 7 estão as conclusões.
2. METODOLOGIA
Os próprios parâmetros do método juntamente com uma memória de soluções interagem entre si produzindo
novas harmonias. A representação de tais parâmetros pode ser de forma binária, discreta e ou contínua,
dependendo da característica de cada problema. Devido a sua natureza, ocorre uma convergência dos valores em
um tempo computacional relativamente baixo, com bons resultados. O HS pode utilizar a própria função a ser
otimizada, e não derivadas da mesma, apresentando regras de transição estocástica (HS, 2017).
Cada possível solução é denominada de harmonia. O conjunto todo de harmonias é denominado memória
harmônica sendo associada a cada uma delas uma nota de performance que mede sua capacidade harmônica
(Gonçalves, 2008). Após cada iteração ou ensaio, novas harmonias produzidas através de improvisação e/ou
7
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
mesclagem são avaliadas e ranqueadas. As piores harmonias são descartadas e repete-se o ciclo até que se
satisfaça o critério de parada.
Voltando a destacar os músicos de jazz, cada um pode se enquadrar em uma das três possibilidades: Compor
novas ou randômicas notas; tocar qualquer parte famosa de uma música (uma série de tons em harmonia)
exatamente como veio de sua memória; tocar algo similar a um pedaço conhecido (assim ajustando o tom
levemente).
Cada músico se diferencia em relação ao outro pelo nível de conhecimento musical adquirido, podendo ser
representado por um intervalo entre 0 – conhecimento musical muito baixo – e 1 – elevado conhecimento
musical. É possível comprovar que a melhor faixa de trabalho estará entre 0,7 e 0,95 – sendo 0,9 o valor típico
máximo deste modelo de curva (Yang, 2010); e a randomização total ocorrerá quando o nível de conhecimento
musical dos músicos for o menor possível, zero. Por outro lado, se o mesmo nível de conhecimento musical
corresponder ao valor máximo, será inviável a procura de novas harmonias. Logo, raccept ∈ [0,1] . A probabilidade
de uma nota aleatória será: Prand , caracterizada pela Eq. (1).
Conforme demonstra a Figura 1, além do conhecimento musical, deve-se atribuir uma taxa de ajuste de tom,
rpa ∈ [0,1] . Sendo uma boa faixa de utilização um valor entre 0,1 e 0,5. No caso em questão, foi considerado 0,3
para rpa .
Heuristicamente, foi observado para uma otimização simples em mesma função, que a melhor taxa de
utilização de raccept é entre 0,7 e 0,95. (Yang, 2010). Contudo, não é somente o raccept que define a obtenção do
ótimo global. Deve-se levar em consideração também, a probabilidade de ajuste de som, p pitch , dada pela Eq.
(2).
Conforme a Equação (5), é importante observar que a possibilidade de ações do algoritmo em busca do ponto
ótimo é o somatório entre randomização, ajuste e inteligência coletiva.
Outro fator que se relaciona diretamente com o processo em questão é o passo inteiro, que se trata do
tamanho máximo de ajuste - b p . Este define duas situações: b p ≈ 0 , o passo será nulo, o que resulta na procura
da harmonia por micro afinação (1/8 de tom); b p ≈ inf , o passo será enorme (12 tons). Um passo descomedido
levará a perda do ajuste fino.
8
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
3. O ALGORITMO
De acordo com o apresentado em (Geem et al., 2001) e (Lee e Geem, 2005), a Figura 2 representa o
fluxograma do HS, algoritmo baseado no processo de improvisação de músicos de Jazz. Apesar de essa analogia
musical apresentar uma complexidade inicial para leigos em instrumentos musicais, o HS é uma metaheurística
de grande simplicidade. Sendo assim, esta Seção tem por objetivo apresentar o algoritmo de maneira
simplificada ao leitor.
O bloco 1, “Define parameters of Harmony Search”, é o responsável pela definição dos parâmetros iniciais
da pesquisa harmônica. Encontram-se entre essas definições os parâmetros da Função Objetivo e do critério de
parada. Assim como, rpa (taxa de ajuste de tom), raccept (aceitação da memória harmônica), HMS (tamanho do
vetor solução, ou seja, quantas notas terão a frase musical) e b p (passo inteiro, responsável pelo ajuste de tom)
necessários para iniciar o HS.
O bloco 2, “Initialize harmony memory”, tem por objetivo inicializar a memória harmônica (HM). Ou seja,
neste bloco cria-se uma matriz HM com tamanho equivalente a HMS de soluções e dimensão equivalente ao
número de variáveis do problema.
O bloco 3, “Improvise a new Harmony”, é o início pela busca da nova harmonia. Nesse ponto do problema, o
músico (variável) tem três possibilidades. Na Figura 3, estas possibilidades são demonstradas. Dentro do bloco 3,
o primeiro passo é fazer um teste entre um número aleatório, rand ∈ [0,1] , e raccept , evidenciando assim a Eq.
(1). Caso o sistema opte por uma nota aleatória na tentativa de se obter o ótimo, este bloco se encerrará. Caso
contrário, deve-se ir para o segundo passo do bloco 3. No segundo passo deste bloco, conforme a mesma Figura
3, já se admite que o músico vá consultar sua memória harmônica para a criação da nova nota. Sendo assim,
caberá um novo teste. Desta vez, entre um novo número aleatório, rand ∈ [0,1] e rpa . Caso este número aleatório
seja maior ou igual a rpa , a nova nota, ou seja, novo valor para a variável será proveniente de um ajuste
aleatório em função do passo inteiro. Por outro lado, se o teste lógico feito acima se demonstrar falso, a nota
tocada deverá ser uma nota aleatória proveniente da memória harmônica sem nenhum ajuste, ativando assim a
inteligência coletiva do método.
9
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
O bloco 4, “Add new harmony to harmony memory?”, é onde se testará a nova solução obtida através do
bloco 3, o xnew . Neste ponto, o músico irá analisar se a nova nota tocada está esteticamente melhor na harmonia
que as notas da frase já existente. Já o programador irá analisar o novo valor para a variável conforme sua
necessidade, erro mínimo (design), custo mínimo (parâmetros de calibração), máximo lucro (gerenciamento),
entre outros.
Caso o xnew resulte em uma melhor harmonia, este irá para o bloco 5, Update Harmony memory, onde será
anexado a memória harmônica no lugar da pior solução contida em HM.
O bloco 6, “Termination criteria satisfied?”, testará se o critério de parada foi satisfeito. Caso não, volta-se
para o começo do bloco 3, onde dará início a uma nova repetição do processo. Ou seja, a mais uma iteração. Ao
final do procedimento, com o critério de parada satisfeito, têm-se a convergência do método constatada no
último bloco, “Local optimization".
4. CÓDIGO FONTE
Neste item definiremos os parâmetros harmônicos do HS que serão utilizados em uma simulação. Tais
parâmetros estão representados na Figura 4 e consistem em: 𝑟"# = 0,25; 𝑟#**+", = 0,85; 𝐻𝑀𝑆 = 5; 𝑏" = 2,
estático; número máximo de 250 iterações, sendo este último o critério de parada. Vale ressaltar que o código
fonte se encontra dividido em quatro passos apresentados pelas figuras que se seguem.
10
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
Neste ponto do algoritmo é a hora de inicializar a memória harmônica, ou seja, criar soluções iniciais
aleatórias factíveis como mostra a Fig. 5.
Através da Fig. 6 é possível perceber que toda vez que o algoritmo chega ao final ele faz a checagem através
da estrutura de repetição “while – end”.
11
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
Neste problema em particular, otimizar significa minimizar. Contudo, se o objetivo fosse maximizar seria
neste ponto do algoritmo, que representa a atualização da memória harmônica - Fig. 7, onde fazia-se o teste e a
diferenciação entre o que é uma boa solução ou não.
5. EXEMPLO TUTORIAL
A resolução do exemplo matemático representado pela Eq. (6) torna o entendimento do funcionamento do
HS o mais claro possível. As Equações (7), (8) e (9) consistem nas restrições das quais o problema está sujeito.
12
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
: = : (6)
min 𝑓 𝑥, 𝑦, 𝑧 = 𝑥 − 2 + 𝑦−3 + 𝑧−1 +3
sujeito a:
𝑥, 𝑦, 𝑧 ≤ 5 (7)
𝑥, 𝑦, 𝑧 ≥ 0 (8)
𝑥, 𝑦, 𝑧 ∈ ℕ (9)
Passo 1: Definição dos parâmetros iniciais do HS: taxa de ajuste de tom, 𝑟"# = 0,3; aceitação da memória
harmônica, 𝑟#**+", = 0,8; tamanho do vetor solução, 𝐻𝑀𝑆 = 4. Nesta solução iremos utilizar somente números
naturais conforme a restrição do problema. Sendo assim, o passo inteiro, 𝑏" = 1, é uma boa estimativa. O
critério de parada será de 10 iterações. Onde a solução ótima será a melhor contida em HM.
Passo 2: Inicialização da memória harmônica. A matriz HM é preenchida por valores aleatórios que se
encontram dentro da largura de banda e em cumplicidade com as restrições. Na Tabela 2 encontram-se os
valores de HM aleatórios e os valores respectivos de sua FOB.
Passo 3: Neste exato momento, o bloco 3, “Improvise a new Harmony”, irá definir qual atitude o HS irá
tomar, iniciando assim a primeira iteração. Supondo que o valor de 𝑟𝑎𝑛𝑑 ∈ [0,1] seja 0,9435. Dessa maneira,
fica-se decidido que o HS irá procurar uma solução aleatória. A Tabela 3 apresenta os resultados aleatórios que
são obtidos no decorrer do processo.
Passo 4: Após definida a nova solução candidata a ser inserida na memória harmônica, 𝑥J+K = 2,3,3 ,
fazem-se os testes necessários para visualizar se essa solução deverá ou não fazer parte da matriz HM. Para esta
solução o valor da função é 7. Como a meta do problema é minimizar a função objetivo, deve-se inspecionar se a
pior solução contida no HM tem um valor referente maior que 7. A pior solução, 𝐻𝑀L#M = 1,0,3 representa o
valor 89 na função. Logo, 𝑥NOP = 1,0,3 será descartado de HM e 𝑥J+K = 2,3,3 entrará em seu lugar,
conforme demonstrado na Tabela 4.
Passo 5: Fim da primeira iteração e o critério de parada não foi correspondido. Então volta-se para o passo 3.
13
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
De volta ao passo 3, o valor de 𝑟𝑎𝑛𝑑 ∈ [0,1] sorteado foi 0,3846. Dessa maneira, o algoritmo ao enxergar
que o valor assumido para 𝑟𝑎𝑛𝑑 é menor que 𝑟#**+", (0,8) aciona a memória harmônica para a composição de
𝑥J+K .
Com a certeza da utilização de HM nesta iteração, um novo sorteio envolvendo a variável 𝑟𝑎𝑛𝑑 faz-se
necessário para definir se o HS utilizará a memória coletiva ou fará um ajuste em alguma das soluções existentes
em HM. O novo 𝑟𝑎𝑛𝑑 = 0,7584 foi maior que 𝑟"# , garantindo assim que o HS optará pelo ajuste na HM. Neste
caso, há uma modificação na Equação (10) para que se possa respeitar a restrição de programação inteira do
problema. A Equação (11) permitirá encontrar valores ajustados sem violar as restrições do problema. A partir
do sorteio com chances iguais demonstrado na Fig. 8 podemos definir qual 𝑥NOP será utilizado como base para a
criação de 𝑥J+K .
A partir da definição de 𝑥NOP = {1,3,4}, conforme a Fig. 8, através de randomização definiu-se 𝑏" = {1,0, −1}.
Logo, ao substituir estes dados na Equação (11) têm-se 𝑥J+K = 2,3,3 . Conforme visto na iteração 1, o valor da
Função Objetivo para esta solução corresponde a 7, o que é menor que a pior solução contida em HM. Sendo
assim, o valor de 𝑥J+K entrará em HM excluindo a solução 𝐻𝑀L#M = {5,5,5} da memória harmônica. Ao fim da
iteração, a matriz HM estará conforme a Tabela 5.
Ao final da segunda iteração, é possível notar que o sistema está convergindo, contudo são necessárias ainda
mais algumas iterações para saciar o critério de parada.
De volta ao passo 3, o valor de 𝑟𝑎𝑛𝑑 ∈ [0,1] sorteado foi 0,8846, obrigando o HS a procurar uma solução
aleatória. Sendo assim, 𝑥J+K = (4,1,2) e o valor da função para essa solução é 24. Levando em consideração o
que o 𝐻𝑆L#M = 𝑓(1,3,4) = 13 é menor que o valor de 𝑓(𝑥J+K ) = 𝑓(4,1,2) = 24, 𝑥J+K será descartado,
findando assim a iteração 3.
Ao considerar que o valor do primeiro 𝑟𝑎𝑛𝑑 sorteado foi 0,7326 e que o segundo 𝑟𝑎𝑛𝑑 foi equivalente a
0,2598, de acordo com a Fig. 3, o HS consultará a memória harmônica com o objetivo de acessar a inteligência
coletiva do método. Através de um novo sorteio com chances iguais entre as soluções de HM foi definido que
𝑥J+K = 2,3,3 . Sendo assim, como 𝑓 𝑥J+K = 𝑓(2,3,3) = 7 < 𝑓(𝐻𝑀L#M ) = 𝑓 1,3,4 = 13. O HM ao final
da iteração será o contido na Tabela 6.
14
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
As iterações subsequentes serão a repetição do método até que o critério de parada seja satisfeito, conforme
demonstrado na Tabela 7.
Ao final das dez iterações previstas o resultado obtido pelo HS é o demonstrado na Tabela 8. Embora tenha
sido encontrada a resposta correta para o problema através do HS em 10 iterações, note que nem todos os valores
convergiram para a resposta correta. Isso é uma demonstração de que em apenas 10 iterações este problema pode
convergir para um mínimo local e não para o global. Com mais iterações, obrigatoriamente, o método convergirá
para um HM composto somente por repetições do vetor solução {2,3,1}.
O HS, ao contrário da maioria das metaheurísticas, como o Genetic Algorithm (GA), o Bat Algorithm (BA), o
Ant Colony Optimization (AC) e do Particle Swarm Optimization (PSO), por concepção, executa apenas uma
alteração na frase musical por ensaio. Ou seja, uma das soluções contidas na HM é alterada por solução. Fazendo
uma comparação com o GA, no HS, apenas um indivíduo da população é alterado por iteração.
6. RESULTADOS E DISCUSSÕES
O objetivo desta Seção é comprovar a eficácia do método metaheurístico. Para tanto, a metodologia foi
aplicada cem vezes na minimização de cada uma das duas funções matemáticas que apresentam alta
complexidade para uma vasta lista de técnicas de otimização. Sendo elas: Eggcrate e Rosenbrock (Coelho,
2013). É importante salientar que para cada simulação o HS partiu de uma diferente solução inicial factível. Para
definição dos parâmetros iniciais do HS foram utilizados rpa = 0,25 ; 𝑟#**+", = 0,8; HMS=5; b p estático;
número máximo de 250 iterações, sendo este último o critério de parada.
15
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
A função objetivo apresenta a formulação matemática conforme a Eq. (12), ressaltando que se trata de uma
função contínua, derivável e com variáveis separáveis:
O que se deseja encontrar no processo de busca é o ponto mínimo da Função Eggcrate, que se encontra em
𝑥, 𝑦 = {0,0}. A Figura 9 exibe o aspecto da função analisada em três dimensões. Com as regiões em vermelho
significando valores altos, portanto indesejáveis, e as regiões em azul representando os pontos de baixo valor da
função objetivo (Coelho, 2013). Por heurística, definiu-se o passo inteiro como sendo a vigésima parte da largura
=]
de banda, ou seja, 𝑏" = .
:^
Visando a convergência do método, no canto superior esquerdo da Figura 10 é representado um histórico da
memória harmônica das variáveis x e y em azul e em vermelho respectivamente; na Fig. 11, a curva em preto
exprime o caminho de convergência, da primeira à última iteração, feito pelo melhor resultado.
Considerando que foram realizadas 100 simulações, a Figura 12, mostra em azul e vermelho,
respectivamente, o melhor resultado de cada uma destas simulações das variáveis x e y. Já na Figura 13, o que se
pode observar é o resultado do HS nas 100 simulações propostas. Nota-se que embora haja alguns poucos pontos
fora da curva, até estes se demonstraram próximos do ótimo global.
Figura 9. Função Eggcrate
Figura 10. Histórico das variáveis x e y do HS para a função Eggcrate em uma simulação
16
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
Figura 11. Caminho percorrido pelo HS na busca do mínimo da função Eggcrate em uma simulação
Figura 12. Melhores X e Y ao final de cada simulação da função Eggcrate
Figura 13. Resultado final do HS para cem simulações de busca do ótimo na função Eggcrate
A Tabela 9 exprime os dados estatísticos do Harmony Search obtidos nas simulações com a
função Eggcrate.
17
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
Como evidenciado pela Tabela 9, as simulações com HS mediante a Função Eggcrate se mostram muito
eficazes, uma vez que os valores encontrados foram bem próximos do ótimo global da função. Nota-se uma clara
convergência do método, pois ele apresenta uma média bem baixa das soluções, ocorrendo o mesmo para o
desvio padrão, permitindo assim, a conclusão de que a probabilidade de se obter a resposta ótima é grande com o
HS. É importante salientar que cada simulação demorou em média 0,2730 segundos, explicitando assim a
rapidez do método.
A função 𝑅𝑜𝑠𝑒𝑛𝑏𝑟𝑜𝑐𝑘, também conhecida como Rosenbrock’s Valley e Rosenbrock’s Banana Function se
caracteriza por ser contínua, diferenciável, unimodal e conter variáveis não separáveis. Seu mínimo global é
encontrado dentro de um longo e estreito vale plano em forma de um parabolóide. Encontrar o vale é trivial. A
dificuldade, entretanto, encontra-se em driblar os mínimos locais e convergir para o ótimo global (Rosenbrock,
1960). O modelo matemático desta função se dispõe mediante a Eq. (13):
:
𝑓 𝑥, 𝑦 = 1 − 𝑥 + 100 𝑦 − 𝑥 : :
, − 2.048 ≤ 𝑥, 𝑦 ≤ 2.048 (13)
O ótimo global (mínimo) da famosa função Rosenbrock está localizado no ponto {x,y}={1,1} e possui valor
𝑓 𝑥, 𝑦 = 0, assim como a função Eggcrate. A análise qualitativa da metodologia aplicada à função Rosenbrock
foi realizada sob as mesmas condições de simulação utilizadas anteriormente na função Eggcrate, exceto por
=.^de
dois fatores. O primeiro, o 𝑏" foi considerado a décima parte da largura de banda. Logo, 𝑏" = = 0.4096. O
f^
segundo, fora o número de iterações. Demonstrou-se necessária a utilização de 1500 iterações para garantir a
convergência do método. Mediante a grande aleatoriedade nos ajustes, o HS se demonstra com maior capacidade
de convergência, ou seja, necessita de menos iterações, o que o torna mais rápido, em funções onde os mínimos
locais e globais são mais explícitos e frutos de uma decida íngreme, como é o caso da Eggcrate.
Do mesmo modo que foi demonstrada a convergência do método na função 𝐸𝑔𝑔𝑐𝑟𝑎𝑡𝑒 através dos resultados
anteriores, a Figura 15 evidencia a convergência do método ao longo das 1500 iterações. Em azul e vermelho,
tem-se as matrizes de dimensão (5x1500) HMX e HMY que representam um histórico da memória harmônica
das variáveis x e y, respectivamente, ao longo das iterações de uma simulação. Já a Figura 16 exprime o caminho
utilizado pelo HS até a última iteração de f(HMX, HMY) na mesma simulação, demonstrando também a
convergência do método.
O resultado obtido na aplicação do HS na função 𝑅𝑜𝑠𝑒𝑛𝑏𝑟𝑜𝑐𝑘 - Fig. 14 - é mais um indício de que o
algoritmo converge e é muito eficaz. Na Figura 17 é feita uma comparação demonstrativa entre a convergência
do método com as mesmas 250 iterações e cem simulações realizadas na função 𝐸𝑔𝑔𝑐𝑟𝑎𝑡𝑒 e o resultado com
1500 iterações proposto.
Figura 14. Função Rosenbrock
18
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
Figura 15. Histórico das variáveis x e y do HS para a função Rosenbrock em uma simulação
Figura 16. Caminho percorrido pelo HS na busca do mínimo da função Rosenbrock em uma simulação
Figura 17. Comparação entre critérios de parada do HS para a função Rosenbrock
Embora o tempo para cada simulação seja 6 vezes maior, assim como o número de iterações, os resultados
obtidos com 1500 iterações demonstraram-se significativamente mais próximos do ótimo global. Na tabela 10,
encontram-se os dados estatísticos dos resultados finais obtidos através das 100 simulações do HS em
comparação entre as 250 iterações e as 1500 iterações propostas.
19
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
Após as 100 simulações com diferentes critérios de parada, uma com 250 iterações e outra com 1500
iterações, para o HS, cada critério levando 0,2792s e 1,5714s, respectivamente, para ser satisfeito,
comparativamente pode-se analisar a quarta coluna da tabela acima e observar a razão entre os resultados finais
obtidos com os diferentes critérios. Embora a razão do tempo de convergência entre o primeiro e o segundo
critério seja de 1 para 6. Com o segundo e mais robusto critério de parada, a média das soluções foi cerca de
sessenta e quatro vezes mais baixa, o desvio padrão demonstrou-se aproximadamente trinta e uma vezes mais
baixo e o mínimo e o máximo, respectivamente, quase vinte e nove e sessenta e três vezes inferior ao critério
inicial.
7. CONCLUSÕES
8. AGRADECIMENTOS
Os autores deste artigo agradecem o apoio da Portfólio Engenharia, CAPES e do grupo de pesquisa
‘‘Otimização Heurística e Bioinspirada” da UFJF.
20
Acta Brazilian Science
Copyright © 2017 by CEAMA 01, 4º Trimestre, Outubro de 2017, São Luis, Ma, Brasil
ISSN: 2317-7403
9. REFERÊNCIAS
Aredes, C., Silva Jr., I. C., Mendonça, I. M., Dias, B. H., Oliveira, L. W., (2014), Planejamento Estático da
Expansão de Sistemas de Transmissão de Energia Elétrica Via Ecolocalização, Anais do XX Congresso
Brasileiro de Automática, p.1755-1760.
Coelho, F. R., (2013), Alocação de Geração Distribuída Via Otimização Bioinspirada na Ecolocalização de
Morcegos, Dissertação MSc, UFJF.
Geem Z. W., Kim, J. H., Loganathan, G. V., (2001), A New Heuristic Optimization Algorithm: Harmony
Search, Sumulation,76, p. 60-86.
Gonçalves, L. A., (2008) Otimização de Parâmetros de modelos Pluvi-Fluviométricos Utilizando Algoritmo
Genético e Busca Harmônica, Dissertação MSc, UFMS.
HS, Harmony Search Algorithm,. Web page.http://www.harmonysearch.info/ Acessado em: 2017-04-15.
Lee, K. S. and Geem, Z. W (2005). A New Meta-Heuristic Algorithm for Continuous Engineering Optimization:
Harmony Search Theory and Practice. Comput. Methods Appl. Mech. Engrg. 194, p. 3902–3933.
Luke, S. (2009). Essentials of Metaheuristics. Second Edition
Mendonça, I. M., (2012), Planejamento Estático da Expansão de Sistemas de Transmissão de Energia Elétrica
Utilizando Otimização por Enxame de Partículas, Dissertação MSc, UFJF.
Rosenbrock H. H., (1960), An automatic method for finding the greatest or least value of a function, The
Computer Journal 3, p. 175–184
Yang, X. S., 2010, Nature-Inspired Metaheuristic Algorithms, 2nd edn., Luniver Press, University of Cambridge,
United Kingdom.
21