Beruflich Dokumente
Kultur Dokumente
Mtodos de Otimizao
3.1.
Introduo
Os problemas de otimizao so problemas de maximizao ou
minimizao de funo de uma ou mais variveis num determinado domnio,
sendo que, geralmente, existe um conjunto de restries nas variveis.
Os algoritmos usados para a soluo de um problema de otimizao
podem ser, basicamente, determinsticos ou probabilsticos.
3.2.
Definies
Para melhor entendimento dos algoritmos de otimizao, faz-se necessrio
o conhecimento de alguns conceitos e definies utilizados na literatura
(BASTOS, 2004). A seguir so listados alguns termos usualmente relacionados a
um problema de otimizao qualquer:
Variveis de projeto: So aquelas que se alteram durante o processo de
otimizao, podendo ser contnuas (reais), inteiras ou discretas.
Restries: So funes de igualdade ou desigualdade sobre as variveis
de projeto que descrevem situaes de projeto consideradas no
desejveis.
Mtodos de Otimizao
36
3.3.
Mtodos Determinsticos
Os mtodos de otimizao baseados nos algoritmos determinsticos
maioria dos mtodos clssicos geram uma seqncia determinstica de
possveis solues requerendo, na maioria das vezes, o uso de pelo menos a
primeira derivada da funo objetivo em relao s variveis de projeto.
Nestes mtodos, a funo objetivo e as restries so dadas como
funes matemticas e relaes funcionais. Alm disso, a funo objetivo deve
ser contnua e diferencivel no espao de busca (BASTOS, 2004). Esse tipo de
problema pode ser representado matematicamente da seguinte forma:
Mtodos de Otimizao
37
g1 ( x1 , x 2 ,..., x n ){=}b1
M
g m ( x1 , x 2 ,..., x n ){=}bm
em que:
Mtodos de Otimizao
38
os
mtodos
que
mais
se
destacam
so:
3.4.
Mtodos Probabilsticos
Os mtodos de otimizao baseados nos algoritmos probabilsticos usam
somente a avaliao da funo objetivo e introduzem no processo de otimizao
dados e parmetros estocsticos. Por no utilizarem a derivada da funo
objetivo, so considerados mtodos de ordem zero.
3.4.1.
Computao Evolucionria
Segundo BCK et al.(1997), a Computao Evolucionria teve origem no
final da dcada de 50 e permaneceu relativamente desconhecida da comunidade
Mtodos de Otimizao
39
Mtodos de Otimizao
40
Incio
Meio
Fim
Funo aptido
Funo aptido
Funo aptido
Indivduos no domnio da
Indivduos no domnio da
Indivduos no domnio da
funo aptido
funo aptido
funo aptido
(a)
(b)
(c)
Mtodos de Otimizao
41
3.4.1.1.
Definies
Para a utilizao de um
AE
AE utilizado em um problema de
3.4.1.2.
Algoritmo Evolucionrio
A principal idia em que se baseia qualquer variao de um Algoritmo
Evolucionrio : dada uma populao de indivduos, a presso do meio ambiente
causa uma seleo natural que evolui a populao. Sendo assim, qualquer
algoritmo evolucionrio deve ter as seguintes componentes bsicas para
resolver um problema (MICHALEWICZ, 1996; EIBEN & SMITH, 2003;
BARBOSA, 1997; BCK et al, 1997):
Mtodos de Otimizao
42
x1 =00100
x2 =10100
Essas codificaes seriam os genes que concatenados formam o
cromossomo, que representa uma possvel soluo do problema:
0010010100
Para recuperar os valores das variveis no espao real, ou seja, obter o
fentipo, necessrio um processo de descodificao:
x iU xiL
2 nb 1
(3.1)
Mtodos de Otimizao
43
Onde:
x - ponto de busca no espao.
AE ' s mais sofisticados a populao pode ter uma estrutura adicional, com
medidas de distncia ou relaes de vizinhana. Em quase todas as
aplicaes de AE o tamanho da populao constante, no sendo
modificado durante a evoluo.
Uma maneira de inicializar a populao;
Mtodos de Otimizao
44
com maior aptido, como, por exemplo, iniciar a populao com solues
aproximadas conhecidas ou contendo algum tipo de informao prvia. Se
isso vale o esforo computacional extra envolvido, depende muito da
aplicao.
Uma funo aptido
Mtodos de Otimizao
45
Mtodos de Otimizao
46
algumas
heursticas
adicionais,
que
esto
relacionadas
3.4.1.3.
Principais Ramos da Computao Evolucionria
A Computao Evolucionria uma das reas da Inteligncia Artificial,
juntamente com as Redes Neurais e os Sistemas de Lgica Nebulosa (Figura
3.4). A maioria das implementaes de algoritmos evolucionrios vem de trs
ramos fortemente relacionados, porm independentemente desenvolvidos
Mtodos de Otimizao
47
3.4.1.4.
Algoritmos Genticos (AGs)
Segundo BARBOSA (1977) e BCK (1997), o AG foi desenvolvido
principalmente por John Holland no final da dcada de 60 buscando inspirao
no que se conhece sobre o processo de evoluo natural, conhecimento este
iniciado solidamente com a teoria da evoluo de Darwin no seu famoso livro A
Origem das Espcies.
Na maioria das aplicaes que utilizam AG' s , a forma mais comum de
construo de uma codificao utilizar uma cadeia binria, de comprimento
fixo. Isso ocorre porque a teoria dos AG ' s foi desenvolvida com base nesta
representao, mas DAVIS (1991) acha que essa representao no natural e
desnecessria na maioria dos casos.
O principal operador a recombinao, tambm conhecido como
f1 : 1111000
p2: 0000000
f2 : 0000111
seleo
tipicamente
implementada
utilizando
um
esquema
Mtodos de Otimizao
pi =
48
fi
m
(3.2)
fi
i =1
p1
p2
p3
p4
3.4.1.5.
Programao Gentica (PG)
O paradigma da PG foi desenvolvido por John Koza (KOZA,1992).
Segundo MICHALEWICZ (1996), esta tcnica constitui uma maneira de fazer
uma busca no espao de possveis programas computacionais para escolher o
melhor deles, ou seja, uma tcnica de gerao automtica de programas de
computador, onde a partir de especificaes de comportamento, o computador
deve ser capaz de induzir um programa que as satisfaa (KOZA, 1992).
Mtodos de Otimizao
49
f F
tem
Figura 3.6 Crossover na PG : seleo aleatria dos ramos que sofrero o corte
(SOUSA & ANDRADE, 1998).
Mtodos de Otimizao
50
3.8).
3.4.1.6.
Programao Evolutiva (PE)
De acordo com BCK et al. (1997) e MICHALEWICZ (1996), a PE surgiu
originalmente como uma tentativa de criar inteligncia artificial. O objetivo era
desenvolver mquinas de estado finitas (MEF) para prever eventos com base em
observaes anteriores. Uma MEF uma mquina abstrata que transforma uma
seqncia de dados de entrada em uma seqncia de dados de sada. A
transformao depende de certas regras de transio.
Os indivduos so usualmente representados por vetores de nmeros
reais. Geralmente cada genitor gera um filho. A mutao ocorre tipicamente com
probabilidade uniforme e originalmente implementada como uma mudana
Mtodos de Otimizao
51
No utilizada a recombinao.
O processo de seleo ocorre como uma srie de torneios entre subgrupos dentro da populao. Cada indivduo da populao avaliado contra t
(obrigatoriamente t > 1 e usualmente t 10 ) outros indivduos escolhidos
randomicamente da populao. Para cada comparao marcado um vencedor.
Permanecem na populao os indivduos que tiveram o maior nmero de
vitrias.
3.4.1.7.
Estratgia Evolutiva (EE)
A primeira verso de EE' s foi (1 + 1) EE , que empregava um esquema
simples de seleo-mutao trabalhando em um nico indivduo que gera um
nico descendente atravs da mutao Gaussiana e ambos so submetidos ao
processo de seleo, que elimina a soluo mais pobre. Mais tarde, esta teoria
evolui para ( + 1) EE , no qual uma populao de indivduos se recombina
de maneira randmica para formar um descendente, que sofre mutao e em
seguida, passa pelo processo de seleo.
Nas verses descritas acima, a convergncia era lenta e a busca ponto a
ponto era susceptvel a estagnar em mnimos locais.
Mais tarde, visando sanar essas deficincias, desenvolveram-se outras
verses, utilizando a estratgia denominada multi-membros, onde o tamanho da
populao maior que um. Atualmente, os dois principais tipos so (COSTA &
OLIVEIRA, 2002; BEYER et al., 2002; BCK et al., 1997):
( + ) EE
Mtodos de Otimizao
52
( , ) EE
3.4.1.7.1.
Distribuio Normal
Para utilizar um algoritmo de EE ' s necessrio conhecer uma maneira de
gerar variveis aleatrias segundo uma distribuio normal ou gaussiana.
O modelo probabilstico citado acima chamado Modelo Normal e suas
origens remontam a Gauss em seus trabalhos sobre erros de observaes
astronmicas, por volta de 1810, da o nome de distribuio Gaussiana para tal
modelo (BUSSAD & MORETTIN, 2004).
De uma maneira geral, diz-se que uma varivel aleatria (v.a.) tem
distribuio normal com mdia
e ( )
/ 2 2
, < <
(3.3)
Mtodos de Otimizao
53
A Figura 3.9 ilustra uma curva normal, determinada por valores particulares
de e .
fd ( )
Figura 3.9 Funo de densidade de probabilidade de uma v.a. normal com mdia e
desvio padro .
1 = + .z1
(3.4)
(3.5)
z 2 = 2 log u1 sen(2u 2 )
(3.6)
Mtodos de Otimizao
54
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
0
200
400
600
800
1000
Nmero de variveis
3
2
1
0
0
100
200
300
400
500
600
700
800
900
1000
-1
-2
-3
-4
Nmero de variveis
Figura 3.11 Nmeros gerados pela transformao da v.a. uniforme em v.a. normal.
Mtodos de Otimizao
55
3.4.1.7.2.
Algoritmo Padro de EE
As componentes bsicas de um Algoritmo Evolucionrio quando aplicadas
a um algoritmo de EE' s possuem caractersticas particulares, que esto
detalhadas a seguir (CORTES & SAAVEDRA, 2000; EIBEN & SMITH,2003 ):
Representao dos Indivduos
que
descendente.
iro
participar
da
recombinao
para
gerar
um
global). Quanto as diferentes maneiras de recombinar os genitores, podese citar como exemplos tpicos a recombinao discreta e a recombinao
intermediria:
Recombinao discreta
Mtodos de Otimizao
56
da populao ancestral,
randomicamente
recombinados
para
formar
um
descendente,
xi' = x a ,i
u >0.5
xi' = xb ,i
u 0.5
i' = a ,i
u >0.5
i' = b ,i
i' = ( a ,i + b ,i ) / 2
As vantagens e desvantagens da recombinao para uma funo objetivo
em particular devem ser notadas durante o desenvolvimento, pois no h
uma recomendao generalizada para o uso deste operador.
Mutao do desvio padro e dos descendentes
(3.7)
xi' = xi + N ( 0 , i' )
(3.8)
Mtodos de Otimizao
57
onde:
i = 1,...,n; sendo n o nmero de variveis da funo objetivo;
3.10, respectivamente.:
' = ( 2n ) 1
= 2 n
(3.9)
(3.10)
Este esquema pode sofrer modificaes. Uma opo usar uma verso
simplificada, onde usado o mesmo desvio padro para todas as variveis
da funo objetivo.
importante observar que os valores de e '
dependem das
3.4.1.8.
Comparao entre Estratgia Evolutiva e Algoritmo Gentico
A partir do que foi visto nos itens anteriores, a Tabela 3.1 apresenta uma
comparao entre Estratgia Evolutiva e Algoritmo Gentico na sua forma
padro.
Mtodos de Otimizao
58
AG
EE
Esquema
Binria
de
determinstico: ( + )
( , ) .
seleo Esquema
de
seleo
ou probabilstico: A probabilidade
de cada indivduo permanecer
na populao proporcional ao
valor de sua aptido.
Mutao
Principal operador
Operador
de
pequena
de inverso de bits.