Você está na página 1de 15

AN

FORMIG
LISE DE A
GAS PARA
ALGORITM
A RESOLU
FELIPE

MO NO-D
O DE P
PARMET
CARDOSO
Pro
de Par
program
Rio de J
Agosto
DETERMIN
PROBLEM
TROS




O CHICRA



oposta de tra
rmetros e P
a de ps-gra
Professor:
Janeiro
o/2014
NSTICO D
AS DE ES
ALLA
abalho da dis
Planejamento
aduao em
Jos Carlos
DE COLN
STIMAO
sciplina de E
o de Experim
Engenharia
COPP
s Costa da S
NIA DE
O DE

Estimao
mentos do
Qumica,
PE/UFRJ.
ilva Pinto





2



1. PROPOSTA DE TRABALHO
A proposta deste trabalho de analisar o desempenho dos algoritmos
de colnias de formigas para a otimizao de problemas de estimao de
parmetros. Os resultados obtidos sero comparados com o trabalho do
SCHWAAB (2005) e a estimao de parmetros do modelo proposto por
GONALVES et al. (2013). O algoritmo ser usado, tambm, para outros
problemas de estimao de parmetros.
3



2. REVISO BIBLIOGRFICA

2.1 Algoritmos de otimizao

Os algoritmos de otimizao so procedimentos que visam encontrar o
ponto de valor mnimo (ou mximo) de uma determinada funo, chamada de
funo objetivo. Existem vrios mtodos de otimizao, que usam os mais
variados fundamentos e que, portanto, podem ser usados para tais propsitos.
A princpio, o ponto de mnimo (ou mximo) da funo objetivo s
depende desta funo e este ponto o que deveria ser encontrado devido
aplicao do processo de otimizao, independente do mtodo escolhido. No
entanto, devido complexidade dos modelos (frequentemente relacionado
no-linearidade das equaes envolvidas, o que muito comum em problemas
de Engenhara Qumica), podem existir mnimos (ou mximos) locais,
dificultando que se encontre o valor global. Por isso, os principais algoritmos de
otimizao apresentam ferramentas para contornar este valor local e seguir a
busca do timo global.
Alm disso, o processo de otimizao pode apresentar restries. Essas
restries limitam a regio de busca e, por isso, impactam na forma de
encontrar o ponto timo, pois o problema se resume a encontrar o ponto timo
dentro do intervalo desejado, podendo ser o timo global ou no.
Os mtodos de otimizao podem ser agrupados em duas categorias
(SECCHI e BISCAIA, 2009):
Mtodos que no usam derivadas: o valor da derivada da funo
objetivo no informado para o mtodo, sendo apenas a funo
avaliada durante o mtodo;
Mtodos que usam derivadas: o valor da derivada da funo informado
e calculado em cada iterao do mtodo.

4



De uma forma geral, para problemas sem restries, os mtodos que
levam em conta a derivada da funo so mais eficientes. No entanto, como as
funes objetivo podem ser irregulares e at mesmo descontnuas, essa
informao pode tambm no ser til.
Sua eficincia pode estar relacionada com os seguintes critrios
(SECCHI e BISCAIA, 2009):
Nmero de problemas resolvidos;
Nmero de clculos da funo objetivo;
Tempo computacional para resoluo do problema;
Qualidade da soluo.

Algumas dificuldades encontradas durante a resoluo de problemas de
otimizao esto relacionadas a funes objetivo e/ou restries complicadas
(no-lineares e/ou descontnuas). Isso pode criar uma quantidade considervel
de mnimos locais, dificultando a resoluo do problema. Problemas com pouca
ou muita sensibilidade variao das variveis tambm dificultam a
convergncia do mtodo, devendo ser analisadas com mais cuidado (SECCHI
e BISCAIA, 2009).
Algoritmos de otimizao so usados em diversas reas da engenharia,
como pesquisa operacional (controle de estoques e planejamento de
produo), engenharia de processos (dimensionamento e otimizao de
equipamentos e sistemas), controle de processos (identificao de sistemas e
tcnica de controle avanado), etc (SECCHI e BISCAIA, 2009). O uso desses
mtodos de extrema importncia para a estimao de parmetros, que visa a
obteno de valores que melhor ajustam os dados.

2.1.1 Algoritmos de otimizao para estimao de parmetros
A estimao de parmetros consiste em um problema de otimizao em
que se deseja minimizar uma funo objetivo atravs do ajuste dos parmetros
5



do modelo, relacionando os valores medidos experimentalmente com os
valores calculados pelo modelo proposto ajustado.
Com o desenvolvimento de mtodos numricos para a estimao de
parmetros, foi-se capaz de resolver problemas muito mais complexos, usando
funes no-lineares. Esses mtodos so exaustivos demais para serem feitos
com boa preciso sem o uso de computadores.
Um dos maiores problemas para a estimao de parmetros a
dificuldade de uma estimativa inicial dos parmetros do problema. Isso est
relacionado com a regio de busca e, em problemas com alta correlao entre
os parmetros, essa estimativa inicial virtualmente impossvel (SCHWAAB,
2005).
A formao da funo objetivo pode ser feita por dois mtodos: mxima
verossimilhana ou mnimos quadrados. O mtodo de mxima verossimilhana
consiste em maximizar L() (SCHWAAB, 2005):
I(0) =
(2 n)
-
N
2
uet (F
e
)
exp |-
1
2
(z
e
-z
m
)
1
F
e
-1
(z
e
-z
m
)]

que equivale a minimizar S():

S(0) = (z
e
-z
m
)
1
F
e
-1
(z
e
-z
m
)
Onde:
z
e
: variveis experimentais;
z
m
: variveis calculadas a partir do modelo;
V
e
: matriz de covarincia.

Outro mtodo muito usado o mtodo dos mnimos quadrados, que
consiste em minimizar S():

S(0) = [y
]
c
-y
]
m
(x
|
m
, 0)
2
N
]=1
NL
=1

6




Onde:
y
e
: variveis dependentes experimentais;
y
m
: variveis dependentes calculadas a partir do modelo;
NE: nmero total de experimentos;
NY: nmero total de pontos medidos no experimento.

Definida a funo objetivo, necessrio que se ache o ponto mnimo
desta funo. A princpio, todos os mtodos de otimizao deveriam fornecer o
mesmo ponto timo, porm as correlaes entre os parmetros e as
dificuldades dos modelos podem influenciar nesta eficincia dos algoritmos.
Para estimao de parmetros, os algoritmos estocsticos so muito usados e
tm mostrado grande eficincia (SCHWAAB, 2005).

2.1.2 Algoritmos de otimizao estocsticos
Os algoritmos estocsticos (ou heursticos) so aqueles que usam
variveis aleatrias para achar o ponto mnimo da funo objetivo. Para isso,
no entanto, necessrio um grande nmero de avaliaes da funo objetivo
em toda a regio de busca, de forma a aumentar a probabilidade de se
encontrar o ponto de timo global e no ficar preso no timo local (SCHWAAB,
2005).
Nos prximos itens, ser feito um resumo sobre os principais mtodos
de otimizao que usam a aleatoriedade como forma de se encontrar o mnimo
global.

2.1.2.1 Monte Carlo
O mtodo de Monte Carlo o mtodo mais simples de programao
estocstica. Este mtodo consiste na gerao de vrios pontos totalmente
aleatrios na regio de busca do problema. O valor timo encontrado o ponto
gerado que apresentar menor valor da funo objetivo.
7



um mtodo extremamente simples e robusto, pois funciona bem para
a maioria dos problemas, sem precisar de um chute inicial, derivadas ou
qualquer outra informao sobre o sistema. No entanto, a principal
desvantagem em relao ao custo computacional. Como todos os pontos so
gerados aleatoriamente, necessria a gerao uma quantidade muito grande
de pontos para checar toda a regio e busca. Alm disso, se a regio de busca
for muito grande, a quantidade de pontos necessrios pode chegar a ser
grande demais. Por isso, a escolha da regio de busca deve ser feita de modo
que esta regio seja a menor possvel para, assim, diminuir o custo
computacional.
SCHWAAB (2005) analisou o mtodo de Monte Carlo variando a taxa de
reduo, ou seja, quantos pontos a menos so avaliados entre uma iterao e
outra, e concluiu que, se a taxa de reduo for nula, o mtodo no converge.
Concluiu ainda que, quanto maior fora taxa de reduo, menos vezes a funo
objetivo avaliada e que isso pode dificultar o encontro do ponto timo.
Outro problema deste mtodo com relao confirmao de que se
chegou ao ponto timo. No h um critrio de parada e, por isso, o valor
encontrado pode nem sequer ser um mnimo local.
Como se pode perceber, este algoritmo no faz nenhum uso dos pontos
calculados para gerar os novos pontos analisados. Ou seja, os pontos gerados
e o valor da funo objetiva avaliada nesses pontos no alimenta o mtodo
com informaes para uma escolha mais inteligente dos pontos futuros.
Pensando nisso, outros algoritmos foram propostos para aumentar a
eficincia de busca e diminuir o numero de avaliaes da funo objetivo.

2.1.2.2 Algoritmo Gentico
O algoritmo gentico um mtodo baseado na evoluo dos seres
vivos, em que os seres vivos mais aptos tendem a sobreviver (seleo natural
de Darwin) e a passar essa aptido para as prximas geraes atravs da
herana gentica (segundo princpio de Mendel). Alm disso, dois indivduos
8



aptos so capazes de cruzar para gerar mais descendentes aptos, que, graas
combinao gentica, podem ser mais aptos que os antecedentes, fazendo
com que a populao se aproxime de um indivduo timo.
Alm disso, h probabilidade de acontecer mutaes durante a gerao
de descendentes. Essas mutaes podem trocar os genes de adaptao dos
antecedentes e, com isso, se tornar menos adaptada ou trocar os genes que
no so timos e formar indivduos mais adaptados.
Considerando a adaptabilidade como sendo o quo menor a funo
objetivo , pode-se avaliar os pontos gerados como sendo os indivduos mais
ou menos aptos e, os que apresentarem um valor de funo objetivo mais
baixo sero os escolhidos para serem cruzados e gerarem pontos entre eles,
onde provavelmente existiro outros pontos melhores.
A mutao a atividade responsvel por gerar indivduos fora da regio
de timo encontrada, fugindo assim de timos locais e diversificando a regio
de busca.
Os resultados obtidos por SCHWAAB (2005) mostraram que este
algoritmo no muito eficiente, quando comparada com os demais algoritmos
estocsticos. O principal parmetro deste algoritmo a probabilidade de
mutao, que especialmente importante em funes com vrio mnimos
locais. Alm disso, esse algoritmo tende a demorar a convergir medida que
se aproxima do ponto de mnimo. Ainda assim, uma boa opo usar esse
mtodo em conjunto com outros: o algoritmo gentico acharia a regio tima e
o outro algoritmo chegaria ao ponto timo.

2.1.2.3 Recozimento Simulado
O mtodo de Recozimento Simulado (ou simulated annealing) uma
tcnica baseada no recozimento trmico de slidos a altas temperaturas e seu
posterior resfriamento de modo que sua estrutura fique mais cristalina.
9



O aquecimento permite que os tomos se movimentem livremente, de
forma aleatria. Como o resfriamento lento e gradual, o sistema tem tempo
de se arrumar de modo que se comporte no estado de menor energia.
Seguindo essa analogia, considerando que o valor da funo objetivo
a energia do estado, a reduo de temperatura far com que se encontre o
ponto de mnimo da funo. O principal parmetro desse mtodo o fator de
reduo de temperatura, que o responsvel pela velocidade de reduo da
temperatura, permitindo que o mtodo chegue ao valor timo.
As simulaes feitas por SCHWAAB (2005) indicaram que esse mtodo
foi bastante eficiente para a funo de Rosenbrock, porm foi no foi capaz de
encontrar o ponto de mnimo de forma eficiente para a funo de Levy.
Levando isso em considerao e o elevado nmero de avaliaes da funo
objetivo, esse mtodo no se mostra to eficiente quanto os outros para
resoluo de problemas de otimizao com funes objetivo com vrios
mnimos locais.

2.1.2.4 Enxame de Partculas
O mtodo do Enxame de Partculas um algoritmo de otimizao que
consiste no comportamento de animais, como peixes, pssaros, etc. Os
elementos so dispersos na regio de busca e eles trocam informaes, de
forma a tornar o algoritmo mais eficiente.
De uma forma geral, o movimento da partcula feito de forma aleatria,
sendo a distribuio de probabilidade levando em conta o movimento atual da
partcula, o melhor ponto encontrado pela partcula e o melhor ponto
encontrado por todo o enxame.
importante que o mtodo seja estvel, no mudando seu
comportamento em todo o momento. No entanto, deve ser adaptvel s
mudanas de ponto timo que acontecerem ao longo do processo de
otimizao.
10



Para o funcionamento deste mtodo, necessrio que o peso de inrcia
seja menor que 1, para que o enxame convirja para um ponto.
SCHWAAB (2005) concluiu que este mtodo obteve os melhores
resultados, dando uma alta eficincia em achar o mnimo global.


2.2 Algoritmos frmicos

Esta classe de algoritmos heursticos tem como base o comportamento
de uma colnia de formigas. Foi observado que as formigas, inicialmente,
faziam cada uma um caminho aleatrio que ligasse a colnia at a fonte de
alimento da qual elas estavam recolhendo. Com o passar do tempo, foi
observado que as formigas comeavam a ir pelos mesmos caminhos, at todas
seguirem o mesmo caminho timo, que correspondia ao caminho mais curto.
Isso acontece, porque as formigas trocam informao ao liberarem
feromnios ao longo do caminho, indicando se o caminho bom ou no.
Quando o caminho bom, h maior liberao de feromnios para indicar para
as demais formigas o melhor caminho. Com isso, as formigas passam a seguir
os caminhos com maior quantidade de feromnios e tendem a sempre pegar o
caminho mais curto, depois de um tempo.
Portanto, essa classe de algoritmos tenta reproduzir essa dinmica. So
colocadas, na regio de busca, um determinado numero de formigas artificiais
e, medida que as iteraes vo passando, cada posio da regio de busca
fica associada a uma probabilidade de uma formiga chegar a ela, em que esta
probabilidade est associada com a distribuio do feromnio.
A escolha do caminho a ser seguido pela formiga aleatria, porm
cada caminho possui uma probabilidade diferente. Isso faz com que os
melhores caminhos encontrados at o momento sejam preferenciais, porm
permite tambm que os demais caminhos ainda no explorados possam ser
11



explorados, podendo, assim, se alcanar um novo valor da funo objetivo e
fugir dos mnimos locais.
Esse mtodo j foi empregado em diversos problemas, sendo os
principais o problema do caixeiro-viajante, problema de roteamento de
veculos, problema da mochila e outros.

2.2.1 Forma discreta
Originalmente, o algoritmo da colnia de formigas foi proposto em
sistemas discretos. Cada n presente no sistema era atribudo a um valor de
feromnio e as formigas tenderiam a escolher os ns com maior quantidade de
feromnio.
A probabilidade da formiga k ir da posio i para a posio j (DORIGO
e STTZLE, 2004):

p
,]
k
(t) = _

,]
u
(t)

,]
u
(t)
] e]
k
, sc ] e [
k
u , coso contrrio


Em que J
k
o domnio de ns que a formiga k pode se direcionar na
etapa seguinte.
O termo um parmetro do problema.
O termo a quantidade de feromnio que o n j tem, quando a formiga
tem origem em i, e atualizado em cada etapa pela seguinte equao:

,]
(t +1) = (1 -p) -
,]
(t) +p - A
,]


Em que o termo a frao de evaporao de feromnio o termo A
,]

o quanto de feromnio adicionado na iterao t, sendo esse valor dado por:
A
,]
= _
1
(S)
, sc (i, ]) e S
u, coso contrrio


12




Portanto, os principais parmetros desse problema so o nmero de
formigas, que influenciar na explorao do problema e far com que o nmero
de avaliaes seja maior, e a forma com que o feromnio evapora (), que diz
o quo rpido as formigas esquecero os caminhos ruins. Quanto menor for o
valor de , menos significativa a adio de feromnio, fazendo com que o
problema demore mais para convergir. Essa estratgia, no entanto, pode ser
til quando h mnimos locais na funo.
H diversas variaes do algoritmo da colnia de formigas, como o
Elitist-AS (DORIGO et al., 1996, BULLNHEIMER et al., 1999), Rank-Based AS
(BULLNHEIMER et al., 1999), Max-Min Ant System (STTZLE e HOOS, 2000),
Hyper-Cube Framework (BLUM e DORIGO, 2004) e outros.

2.2.2 Forma contnua
O algoritmo da colnia de formigas tambm se apresenta em uma forma
contnua, em que a funo objetivo que se deseja minimizar possui parmetros
que variam de forma continua. O primeiro algoritmo proposto foi o CACO
(Continuous Ant Colony Optimization). Ao passar do tempo, novos algoritmos
foram desenvolvidos, como o ACOR (SOCHA e DORIGO, 2008) ou o CACS
(Continuous Ant Colony System) (POURTAKDOUST e NOBAHARI, 2004).
Esses algoritmos tem o mesmo fundamento, variando apenas a equao
de atualizao do feromnio do sistema.
Todos esses mtodos consideram que a distribuio de feromnio segue
uma distribuio normal e que, por isso (POURTAKDOUST e NOBAHARI,
2004):
=
1
2n o
2
c
-
(x-x
min
)
2
2 o
2


A atualizao do feromnio nesses mtodos feita pela varincia, ,
sendo o mtodo CACS conforme (POURTAKDOUST e NOBAHARI, 2004):
13




o
2
=

1
]
]
-]
min
- (x
]
-x
mn
)
2
k
]=1

1
]
]
-]
min
k
]=1


Onde o f
min
o valor da funo objetivo no melhor ponto encontrado,
x
min
. Assim, medida que o mtodo vai se aproximando do ponto timo, a
probabilidade de que as formigas cairo perto deste ponto aumenta, facilitando
a convergncia do sistema, uma vez que a varincia se aproximar de zero.
POURTAKDOUST e NOBAHARI (2004) concluram que os resultados
numricos so bastante precisos quando o nmero de formigas varia entre 20
e 200.
A diversificao e a intensificao do algoritmo devem ser levadas em
considerao: grande quantidade de formigas acarreta em varincias maiores,
o que vo dificultar a convergncia do mtodo (SOCHA e DORIGO, 2008).
FRANA et al. (2008) propuseram um algoritmo chamado MACACO
(Multivariate Ant Colony Algorithm for Continuous Optimization). Este algoritmo
especfico para sistemas multivariveis e, por isso, ao invs de gerar as
posies aleatoriamente para cada dimenso, ele calcula uma direo tima
para as novas posies das formigas. FRANA et al. (2008) concluram que,
para sistemas com muitas variveis, o uso desse algoritmo faz com que a
eficincia aumente, chegando mais rapidamente ao ponto timo.
14



3. METODOLOGIA


A metodologia para a elaborao deste trabalho ser a seguinte:

1. Implementao do algoritmo das formigas no MATLAB;
2. Teste com as funes objetivo Benchmark de Levy e de Rosenbrock,
conforme feito por SCHWAAB (2005);

Lc
= |i cos ((i -1) x
1
+i)]
5
=1
|] cos((] +1) x
2
+])] +
5
]=1
+(x
1
+1,42S1S)
2
+(x
2
+u,8uuS2)
2

Roscnbock
= 1uu (x
2
-x
1
2
)
2
+(x
1
-1)
2


3. Comparao dos resultados obtidos com os resultados de SCHWAAB
(2005);
4. Estimao de parmetros dos modelos linear e no-linear propostos por
GONALVES et al.(2013);
5. Comparao dos resultados obtidos com a simulao de Monte Carlo;
6. Utilizao do algoritmo implementado para resoluo de demais
problemas de estimao de parmetros.

15



4. REFERNCIAS BIBLIOGRFICAS


SCHWAAB, M., 2005, Avaliao De Algoritmos Heursticos De Otimizao Em
Problemas De Estimao De Parmetros - PEQ/COPPE.

SECCHI, A. R., BISCAIA, E. C. Apostila de Otimizao de Processos.
COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, 2009.

POURTAKDOUST, S. H., NOBAHARI, H., An Extension of Ant Colony System
to Continuous Optimization Problems, Lecture Notes in Computer Science, v.
3172. pp. 294-301, 2004.

DORIGO, M., STTZLE, T., Ant Colony Optimization, MIT, Cambridge,
Massachussetts, EUA, 2004.

SOCHA, K., DORIGO, M., Ant colony optimization for continuous domains,
European Journal of Operational Research, v. 185, pp. 1155-1173, 2008.

DORIGO, M., MANIEZZO, V., COLORNI, A., Ant System: Optimization by a
Colony of Cooperating Agents, IEEE Transactions On Systems, Man, And
Cybernetics-Part B Cybernetics, vol. 26, pp. 29-41, 1996.

BULLNHEIMER B., HARTL R., STRAUSS C., A new rank-based version of the
Ant System: A computational study. Central European J Operations Res
Econom, v.7, pp. 2538, 1999.

STTZLE, T., HOOS, H. H.. MAXMIN Ant system. Future Generat Comput
Syst, v.16, pp. 889914, 2000.

BLUM C, DORIGO M. The hyper-cube framework for ant colony optimization,
IEEE Trans Syst Man Cybernet Part B, v.34, pp. 116172, 2004.

FRANA, F. O. ; COELHO, G. P. ; ATTUX, R. R. F. ; VON ZUBEN, F. J.
Multivariate ant colony optimization in continuous search spaces. In: Genetic
and Evolutionary Computation Conference, Atlanta. Proceedings of the 10th
annual conference on Genetic and evolutionary computation. New York : ACM
Press, pp. 9-16, 2008.

Você também pode gostar