D080-IvanReinaldoMeneghini
-
Upload
jackson-moreira-oliveira -
Category
Documents
-
view
213 -
download
0
description
Transcript of D080-IvanReinaldoMeneghini
-
Centro Federal de Educac~ao Tecnologica de Minas Gerais
Programa de Pos-Graduac~ao Modelagem Matematica e
Computacional
Um operador de Busca Local para o Algoritmo
Genetico com restric~oes de igualdade utilizando
Decomposic~ao de Adomian
Ivan Reinaldo Meneghini
Texto de mestrado submetido a Banca Exami-
nadora designada pelo Colegiado do Programa
de Pos-Graduac~ao em Modelagem Matematica
Computacional do Centro Federal de Educac~ao
Tecnologica de Minas Gerais, como requisito -
nal para obtenc~ao do ttulo de Mestre.
Orientador: Prof. Fausto de Camargo Junior
Co-orientador: Profa. Elizabeth Fialho Wanner
Belo Horizonte, 4 de julho de 2010
-
...\ os pensamentos postos em papel n~ao passam, em
geral, de um vestgio deixado na areia por um passante:
ve^-se bem o caminho que ele tomou, mas para saber o
que ele viu durante o caminho e preciso usar os proprios
olhos."
Schopenhauer
Aos meus pais e amigos.
-
Agradecimentos
Inicialmente gostaria de agradecer aos meus orientadores, Fausto e Beth.
Durante este tempo em que trabalhamos juntos muita coisa aconteceu e
aprendi muito. Obrigado pela dedicac~ao, pacie^ncia, pelas palavras de incen-
tivo e pelos \pux~oes de orelha". Em particular, acredito ter uma grata dvida
eterna com a Beth, por ter acreditado e investido neste projeto, e espero que
este seja o incio de uma nova e longa jornada. Gostaria tambem de agradecer
aos demais professores e colegas do curso, pela dedicac~ao e amizade.
Devo muito tambem ao Marcelo, meu maninho, que sempre me acolhe em
sua casa no Rio e em meio a cerveja e longas conversas, os misterios do mundo
se tornam menos misteriosos. Um boa parte deste trabalho foi feito ao seu
lado e lhe devo muito por isto. Ao grande amigo Jurandir, que estando perto
ou longe, esta sempre presente (ainda vamos a Ushuaia, certo?). Ao Eder,
que um dia me apareceu com um artigo em m~aos, me perguntando o que
eu achava. A resposta esta nas paginas seguintes. A minha irm~a Glasiela,
por estar ao meu lado em um momento t~ao importante. E principalmente a
Deus, por tudo.
-
Resumo
Este trabalho trata da utilizac~ao de metodos de continuac~ao para a ob-
tenc~ao da soluc~ao da equac~ao F (x) = 0 e prop~oe a utilizac~ao de tais tecnicas
em um operador de busca local para o Algoritmo Genetico com uma restric~ao
de igualdade. A equac~ao F (x) = 0 e denida pela aplicac~ao F : D ! Rn comn 1, contnua e sucientemente diferenciavel em algum domnioD Rn. Ooperador de busca local proposto, aplicado em um Algoritmo Genetico basico
de codicac~ao real, se aplica a problema de minimizac~ao mono-objetivo da
forma
x? = argmin f(x)
sujeito a: g(x) = 0
.
Palavras chave: Analise numerica, metodos de continuac~ao, Algoritmo
Genetico hbrido.
-
Abstract
This work deals with the usage of continuation methods for obtaining the
solution of the equation F (x) = 0 and it proposes the usage of such techniques
inside a local search operator for Genetic Algorithms, when applied to iguality
constrained optimization problems. The equation F (x) = 0 is dened by the
mapping F : D ! Rn, n 1, in which F is continuous and diferenciable ina certain domain D Rn. The proposed local search operator, coupled witha basic real-coded Genetic Algorithm, handles whith dierenciable equality
constrained mono-objective optimization problems of the form
x? = argmin f(x)
subject to: g(x) = 0
.
Keywords: Numerical analysis, continuation methods, Hybrid Genetic
Algorithm.
-
Sumario
1 Introduc~ao 12
2 Metodos numericos para determinac~ao de razes de equac~oes 15
2.1 Busca por Intervalos . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Iterac~ao de Ponto Fixo . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Metodos Quasi-Newton . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Metodos de Continuac~ao . . . . . . . . . . . . . . . . . . . . . 23
2.5.1 Metodo de Continuac~ao Finito . . . . . . . . . . . . . . 24
2.5.2 Metodos de Continuac~ao baseados em um problema
diferencial . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.3 Metodo da Perturbac~ao da Homotopia . . . . . . . . . 27
2.5.4 Decomposic~ao de Adomian . . . . . . . . . . . . . . . . 30
3 Metaheursticas para resoluc~ao de problemas de otimizac~ao
n~ao linear 37
3.1 Introduc~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Algoritmos Evolucionarios . . . . . . . . . . . . . . . . . . . . 40
5
-
3.3 Operadores de um AG . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1 Func~ao Objetivo e de Aptid~ao . . . . . . . . . . . . . . 45
3.3.2 Selec~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.3 Recombinac~ao . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.4 Mutac~ao . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.5 Reinserc~ao . . . . . . . . . . . . . . . . . . . . . . . . . 54
4 Um operador de Busca Local para o AG 55
4.1 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 Experimentos Numericos 60
5.1 Resoluc~ao de equac~oes . . . . . . . . . . . . . . . . . . . . . . 61
5.1.1 Equac~oes denidas por func~oes de uma variavel . . . . 61
5.1.2 Aplicac~oes em Rn . . . . . . . . . . . . . . . . . . . . . 65
5.2 Operador de Busca Local . . . . . . . . . . . . . . . . . . . . . 69
6 Conclus~oes e trabalhos futuros 83
6.1 Conclus~oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 85
A Denic~oes 91
A.1 Topologia e Analise Matematica . . . . . . . . . . . . . . . . . 91
A.2 Algoritmos e Converge^ncia . . . . . . . . . . . . . . . . . . . . 97
B Aproximac~oes Quadraticas 101
B.1 Obtenc~ao da Aproximac~ao Quadratica . . . . . . . . . . . . . 103
6
-
C Implementac~oes em MATLAB 106
C.1 MPH e ADM - func~ao f1 . . . . . . . . . . . . . . . . . . . . . 106
C.2 ADM - aplicac~ao F1 . . . . . . . . . . . . . . . . . . . . . . . . 110
C.3 Busca local - problema P1 . . . . . . . . . . . . . . . . . . . . 112
7
-
Lista de Figuras
2.1 Iterac~oes do Metodo de Newton . . . . . . . . . . . . . . . . . 21
3.1 Escolha de 4 indivduos utilizando SUS . . . . . . . . . . . . . 47
3.2 Recombinac~ao multiponto com i 2 f2; 7g . . . . . . . . . . . . 493.3 Recombinac~ao uniforme . . . . . . . . . . . . . . . . . . . . . 49
3.4 Recombinac~ao real convexa . . . . . . . . . . . . . . . . . . . 50
3.5 Recombinac~ao real convexa com extrapolac~ao . . . . . . . . . 51
3.6 Recombinac~ao real convexa generalizada . . . . . . . . . . . . 52
3.7 Mutac~ao do quarto gen . . . . . . . . . . . . . . . . . . . . . . 54
4.1 Ajuste de x na coordenada ej . . . . . . . . . . . . . . . . . . 59
5.1 Resultado problema P1 . . . . . . . . . . . . . . . . . . . . . . 71
5.2 Resultado problema P2 . . . . . . . . . . . . . . . . . . . . . . 72
5.3 Resultado problema P3 . . . . . . . . . . . . . . . . . . . . . . 73
5.4 Resultado problema P4 . . . . . . . . . . . . . . . . . . . . . . 74
5.5 Resultado problema P5 . . . . . . . . . . . . . . . . . . . . . . 75
5.6 Resultado problema P6 . . . . . . . . . . . . . . . . . . . . . . 76
5.7 Resultado problema P7 . . . . . . . . . . . . . . . . . . . . . . 77
5.8 Resultado problema P8 . . . . . . . . . . . . . . . . . . . . . . 78
8
-
5.9 Resultado problema P9 . . . . . . . . . . . . . . . . . . . . . . 79
9
-
Lista de Tabelas
3.1 Estrutura padr~ao de um Algoritmo Genetico . . . . . . . . . . 45
4.1 Operador de busca local em um AG . . . . . . . . . . . . . . . 58
5.1 Func~oes teste de uma variavel . . . . . . . . . . . . . . . . . . 62
5.2 Func~ao f1; x0 = 0:35; jxn xn1j < 1050 . . . . . . . . . 625.3 Func~ao f2; x0 = 1; jxn xn1j < 1050 . . . . . . . . . . . . 625.4 Func~ao f3; x0 = 1; jxn xn1j < 1050 . . . . . . . . . . . . 635.5 Func~ao f4; x0 = 1:7; jxn xn1j < 1050 . . . . . . . . . . . 635.6 Func~ao f5; x0 = 0:2; jxn xn1j < 1050 . . . . . . . . . . 635.7 Func~ao f6; x0 = 10; jxn xn1j < 1050 . . . . . . . . . . . 635.8 Func~ao f7; x0 = 4; jxn xn1j < 1050 . . . . . . . . . . . . 645.9 Func~ao f8; x0 = 2; jxn xn1j < 1050 . . . . . . . . . . . . 645.10 Aplicac~oes utilizadas nos experimentos e aproximac~oes iniciais
x0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.11 Aplicac~ao F1; x0 = (0:1; 0:1;0:1)0; jxn xn+1j1 < 1015 . . 665.12 Aplicac~ao F1; x0 = (0:1; 0:1;0:1)0; jxn xn+1j1 < 1020 . . 665.13 Aplicac~ao F2; x0 = (1;2; 1)0; jxn xn+1j1 < 1015 . . . . 665.14 Aplicac~ao F2; x0 = (1;2; 1)0; jxn xn+1j1 < 1020 . . . . 67
10
-
5.15 Aplicac~ao F3; x0 = (0; 0; 0)0; jxn xn+1j1 < 1015 . . . . . . 67
5.16 Aplicac~ao F3; x0 = (0; 0; 0)0; jxn xn+1j1 < 1020 . . . . . . 67
5.17 Para^metros utilizados no AG . . . . . . . . . . . . . . . . . . . 70
5.18 Tempo medio de execuc~ao do problema P1 . . . . . . . . . . . 80
5.19 Resultados para o problema P1 . . . . . . . . . . . . . . . . . 81
5.20 Resultados para o problema P3 . . . . . . . . . . . . . . . . . 81
5.21 Resultados para o problema P4 . . . . . . . . . . . . . . . . . 82
B.1 AG com busca local aplicado a um problema do tipo Caixa
Preta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11
-
Captulo 1
Introduc~ao
A soluc~ao de equac~oes da forma F (x) = 0 e um problema antigo e
basico em varias areas do conhecimento. Algumas equac~oes possuem formas
analticas de resoluc~ao, como os polino^mios de grau ate quatro por exemplo,
mas dada a grande diversidade e especicidade dos problemas traduzidos por
meio de uma equac~ao, estes casos se tornam mais excec~ao do que regra. Con-
trapondo as tecnicas analticas temos os metodos numericos. Historicamente
t~ao antigos quanto as tecnicas analticas, os metodos numericos de resoluc~ao
de equac~oes sempre foram um importante objeto de estudo e aliado das prin-
cipais evoluc~oes tecnologicas existentes. Com o advento e a popularizac~ao
da computac~ao, a utilizac~ao e a pesquisa de tais tecnicas se tornaram mais
intensiva, contribuindo sobremaneira com o desenvolvimento cientco atual.
A minimizac~ao de func~oes, ou problemas de otimizac~ao, consiste em de-
terminar o valor de x? que minimiza alguma func~ao f(x), sujeita ou n~ao a
algum tipo de restric~ao em seu domnio. O metodo simplex [1], dos mul-
tiplicadores de Lagrange e do gradiente conjugado [2, 3] s~ao exemplos de
12
-
metodologias aplicadas a este tipo de problema, que utilizam informac~oes
diretas da func~ao, das restric~oes de domnio e/ou de suas derivadas para a
determinac~ao do valor otimo do problema. Quando estas informac~oes n~ao s~ao
disponveis ou n~ao s~ao de facil obtenc~ao, o problema de minimizac~ao pode ser
resolvido pela aplicac~ao de uma metaheuristica [4]. Uma eciente classe de
metaheuristicas de busca e o Algoritmo Genetico [5]. Inspirado em processos
de selec~ao e evoluc~ao propostos por Darwin, o Algoritmo Genetico se aplica
a diversos tipos de problemas, onde as func~oes podem ser diferenciaveis,
contnuas, discretas ou mesmo sem uma express~ao analtica que as denam e
contituem um importante objeto de pesquisa, sendo alvo de constante apri-
moramento [2, 6]. Inicialmente desenvolvido para problemas irrestritos, um
algoritmo genetico tambem e aplicado em problemas que apresentam algum
tipo de restric~ao no domnio da func~ao de interesse [7, 2], usualmente uti-
lizando uma func~ao de penalidade. A aplicac~ao de um algoritmo genetico
em problemas com restric~oes de igualdade foi descrito em [7], de modo que
o algoritmo de busca local proposto encontra a soluc~ao para o problema de
forma eciente e precisa. O presente trabalho prop~oe uma abordagem alter-
nativa para o tratamento de restric~oes de igualdade, introduzindo um novo
operador de busca local que aumenta a taxa de converge^ncia na busca de
soluc~oes que atendam a este tipo de restric~ao.
O trabalho esta dividido da seguinte forma: no captulo 2 faremos uma
breve introduc~ao sobre algumas tecnicas de resoluc~ao de equac~oes. Dos
metodos analisados, daremos destaque a dois metodos recentemente desenvol-
vidos e classicados como metodos de continuac~ao: o Metodo da Perturbac~ao
da Homotopia e o Metodo da Decomposic~ao de Adomian. Criados de forma
13
-
independente, estes se aplicam tambem a resoluc~ao de equac~oes diferenciais
ordinarias e parciais e tambem de equac~oes integrais. No captulo 3 faremos
uma breve apresentac~ao de alguns algoritmos evolucionarios, com destaque
para o Algoritmo Genetico. Em seguida, no captulo 4, apresentaremos um
mecanismo de busca local utilizando o metodo da decomposic~ao de Adomian.
Este sera aplicado no Algoritmo Genetico em problemas de minimizac~ao com
restric~oes de igualdade. Experimentos numericos utilizando os metodos de
continuac~ao descritos no captulo 2 e o mecanismo de busca local desenvolvido
no captulo 4 s~ao apresentados no captulo 5 em diversos tipos de problemas,
com caractersticas distintas e diferentes graus de diculdade. O ape^ndice A
faz uma revis~ao de topicos matematicos e computacionais presentes em todo
o texto. O ape^ndice B trata das aproximac~oes quadraticas de uma func~ao,
uma metodologia que permite a aplicac~ao do Algoritmo Genetico hibrido
proposto em problemas onde n~ao se disp~oe de uma express~ao algebrica para
a func~ao de interesse ou esta e de difcil obtenc~ao. Os codigos referentes aos
experimentos numericos realizados s~ao apresentados no ape^ndice C.
14
-
Captulo 2
Metodos numericos para
determinac~ao de razes de
equac~oes
Neste captulo iremos abordar os metodos numericos de obtenc~ao da
soluc~ao x? da equac~ao f(x) = 0 onde f : Rn ! Rn com n = 1; 2; k euma func~ao de classe Ck; k 0. Dos metodos listados a seguir, apenaso metodo de busca por intervalos n~ao exige a diferenciabilidade da func~ao
f(x). Nos demais, exige-se que a func~ao considerada seja sucientemente di-
ferenciavel, ou seja, tenha derivadas contnuas ate uma determinada ordem,
em geral dada pela ordem da expans~ao em serie de Taylor da func~ao consi-
derada. Como e de se esperar, a ecie^ncia do metodo e proporcional a sua
sosticac~ao e o tipo de informac~ao que se pode extrair da func~ao de estudo.
15
-
2.1 Busca por Intervalos
Seja f : I R! R uma func~ao contnua com I = [a; b]. Se f(a)f(b) < 0ent~ao, pelo teorema do valor intermediario, sabemos que existe x? 2 I talque f(x?) = 0 [8]. O metodo de busca por intervalos, ou metodo da bissec~ao,
consiste na determinac~ao de uma seque^ncia de intervalos encaixantes In =
[an; bn] contendo x?, com In+1 In, ate que uma das condic~oes seja satisfeita:
jf(an)j ou jf(bn)j
bn an (2.1)
O metodo da bissec~ao consiste em se dividir sucessivamente o intervalo
de busca em duas partes iguais e tomar aquela parte que contem x?. Desta
maneira, a partir do intervalo In = [an; bn], consideramos o ponto medio
cn =bnan
2. Ent~ao
Se f(an) f(cn) < 0 faca
i) an+1 = an;
ii) bn+1 = cn;
iii) In+1 = [an+1; bn+1].
Caso contrario, se f(an) f(cn) > 0, faca
i) bn+1 = bn;
ii) an+1 = cn;
iii) In+1 = [an+1; bn+1].
16
-
e repetimos o procedimento acima ate que uma das condic~oes descritas em
(2.1) sejam satisfeitas. Naturalmente, e necessario que no intervalo inicial
considerado a func~ao tenha paridade oposta nos.
Por se tratar de um metodo bem simples, este apresenta uma converge^ncia
muito lenta. Como o tamanho do intervalo e multiplicado por 12a cada
iterac~ao, na iterac~ao n temos que
bn an = b a2n
:
Da, se x? e uma soluc~ao e xn 2 [an; bn] ent~ao jx?xnj ba2n e a seque^nciaxn converge para x
? com uma ordem de converge^ncia O
1n2
. Uma outra
decie^ncia deste metodo e que no intervalo [a; b] que contem a soluc~ao x? de
f(x) = 0, devemos ter que f(a) f(b) < 0 e portanto o metodo falha em casosbem simples, como por exemplo f(x) = x2 no intervalo [1; 1].
2.2 Iterac~ao de Ponto Fixo
Denic~ao 2.2.1 (Ponto Fixo) Uma aplicac~ao G : D Rn ! Rn tem umponto xo p 2 D; se G(p) = p
O problema de se determinar x? tal que F (x?) = 0 pode ser convertido
em um problema de determinac~ao de ponto xo, bastando denir G(x) = xF (x). Reciprocamente, se G(x) tem um ponto xo p, ent~ao F (x) = xG(x)tem uma raiz em x = p.
Teorema 2.2.2 (Contrac~ao) Suponha que F : Rn ! Rn seja uma con-trac~ao em um conjunto fechado D Rn tal que F (D) D. Ent~ao F tem
17
-
um unico ponto xo p 2 D e para qualquer x0 2 D, a iterac~ao
xn+1 = F (xn); (2.2)
converge para p. Alem disto,
jxn pj (1 )1jxn xn1j;
onde e a constante de contrac~ao denida em (A.1.8).
A demonstrac~ao deste teorema se encontra em [9]. Da, se
G(x) = x F (x) e uma contrac~ao ent~ao e possvel se determinar uma raizde F (x).
2.3 Metodo de Newton
O metodo de Newton e o mais conhecido e utilizado metodo iterativo para
se determinar uma soluc~ao da equac~ao f(x) = 0 onde f : Rn ! Rn; n 1e uma func~ao de classe C1. Isto e devido a sua simplicidade, ecie^ncia e
elega^ncia. Com uma clara interpretac~ao geometrica, pode ser deduzido de
diversas maneiras diferentes e varios metodos mais sosticados o apresentam
como caso particular. Apresentaremos a seguir uma das maneiras de se obter
a forma geral de sua iterac~ao.
Suponha, que para a aplicac~ao diferenciavel F : D Rn ! Rn, existax? 2 Rn tal que F (x?) = 0 e F 0(x?) > 0. Fazendo a + v = x? na expans~aoem serie de Taylor de F (x), a saber
18
-
F (a+ v) = F (a) + F 0(a) v + 12F 00(a) v2 + + 1
p!F (p) vp + rp(v); (2.3)
e truncando na derivada de ordem 1 encontramos
0 = F (x?) = F (a) + F 0(a) (x? a) + r1(x? a);
onde r1(x? a) e o resto em v = x? a. Considerando x proximo de x? e
negligenciando r1(x? a) obtemos
0 F (x) = F (a) + F 0(a) (x a)
e ent~ao,
0 F (a) + F 0(a) (x a)
F 0(a) (x a) F (a)
x a (F 0(a))1 F (a)
x a (F 0(a))1 F (a):
A ultima relac~ao acima induz o metodo iterativo dado por
xn+1 = xn (F 0(xn))1 F (xn) (2.4)
19
-
A iterac~ao acima dene o metodo conhecido como Metodo de Newton ou
Metodo de Newton-Raphson para se aproximar, com uma precis~ao dada, uma
raiz de F (x). Em [9], encontramos a demonstrac~ao de que o Metodo de
Newton apresenta converge^ncia quadratica se f(x0)f 00(x0) > 0. Modicac~oesdeste metodo surgem a todo momento na busca da melhoria de sua taxa de
converge^ncia. Observe que, para func~oes de uma variavel, denindo
g(xn1) = xn1 f(xn1)f 0(xn1)
para n 1; (2.5)
o Metodo de Newton se reduz a iterac~ao de ponto xo xn = g(xn1).
Geometricamente (gura 2.1), no caso unidimensional quando passamos
da iterac~ao xk1 para a iterac~ao xk, a func~ao f(x) e aproximada pela func~ao
am
f 0(xk)(x xk) + f(xk) = y; (2.6)
que representa a equac~ao da reta tangente ao graco de f(x) no ponto
(xk; f(xk)), cuja raiz (em x) e o ponto xk+1. A seque^ncia das iterac~oes
convergem, segundo o criterio de parada, para a soluc~ao x? de f(x) = 0 .
Uma desvantagem deste metodo e a exige^ncia de uma boa aproximac~ao
inicial. Uma outra desvantagem reside no fato de que em cada iterac~ao se faz
necessario o calculo da matriz jacobiana e de sua inversa, o que exige grande
esforco computacional alem de erros de arredondamento, exceto quando a
dimens~ao do problema n~ao e muito grande e as func~oes envolvidas s~ao rela-
tivamente simples.
Na pratica, podemos determinar numericamente a matriz jacobiana uti-
20
-
Figura 2.1: Iterac~oes do Metodo de Newton
lizando diferencas nitas:
@fj@xk
(xi) =fj(xi + ekh) f(xi)
h(2.7)
com jhj pequeno (h 2 R) e sendo ek o k-esimo vetor da base cano^nica. Ja ocalculo do inverso da matriz jacobiana pode ser evitado utilizando o seguinte
forma:
1. Determine o vetor y tal que (F 0(xk1)) y = F (xk1);2. Faca xk = xk1 + y.
Este procedimento reduz o tempo computacional gasto pois a resoluc~ao
de um sistema de equac~oes lineares tem um custo computacional menor do
que o processo de invers~ao de uma matriz.
21
-
2.4 Metodos Quasi-Newton
A modicac~ao do metodo de Newton proposta em (2.7) inspira os cha-
mados Metodos Quasi-Newton, tambem chamados de Metodo de Newton
Discretizado [10, 11, 3]. Por apresentarem uma taxa de converge^ncia mais
lenta, a aplicac~ao de tais metodos se justica nos casos onde a determinac~ao
da derivada (ou do jacobiano) da func~ao de interesse, bem como de sua in-
versa, tem um custo computacional alto ou mesmo e impossvel de ser obtida.
Para o caso unidimensional, a equac~ao (2.7) se resume a:
xn+1 = xn f(xn + hn) f(xn)
hn
1f(xn) para n = 0; 1; (2.8)
Dois casos especiais da equac~ao (2.8) s~ao o Regula Falsi, cuja iterac~ao e
dada por
xn+1 = xn f(x) f(xn))
x xn
1f(xn) para n = 0; 1; (2.9)
onde hn = x xn para algum x xo, e o metodo da secante, cuja iterac~ao edada por
xn+1 = xn f(xn1) f(xn))
xn1 xn
1f(xn) para n = 0; 1; (2.10)
onde hn = xn1 xn.Para o caso de dimens~ao n, muitas s~ao as generalizac~oes de (2.7), produ-
22
-
zindo os chamados metodos de atualizac~ao de secante de alterac~ao mnima
[10, 8]. Em particular, no metodo de Broyden [12], a matriz jacobiana J(x)
utilizada no metodo de Newton e substituda a partir da segunda iterac~ao
por uma matriz Ai denida da seguinte maneira:
A1 = J(x0) +[F (x1) F (x0) J(x0)(x1 x0)] (x1 x0)t
jx1 x0j2 (2.11)
Ai = Ai1 +yi Ai1s1
jsij2 sti (2.12)
onde
yi = F (xi) F (xi1)
si = xi xi1
E cada iterac~ao do metodo de Broyden e dada por
xn+1 = xn A1n F (xn) (2.13)
2.5 Metodos de Continuac~ao
Os metodos de Busca Unidimensional por Intervalos procuram uma soluc~ao
de f(x) = 0 criando uma seque^ncia de intervalos encaixados In+1 In con-tendo uma soluc~ao x?. Os metodos de Newton e suas variac~oes buscam
a soluc~ao de F (x) = 0 utilizando informac~oes da propria aplicac~ao F (x)
ou de suas derivadas (ou mesmo de aproximac~oes de F 0(x)), criando uma
23
-
seque^ncia de pontos no domnio de F (x) convergindo para a soluc~ao x?.
Nesta sec~ao, discutiremos uma terceira categoria de metodos, chamada de
Metodos de Continuac~ao (ver[13, 14]), que buscam a soluc~ao de F (x) = 0,
com F : D Rn ! Rn, utilizando uma seque^ncia de pontos denidaem uma curva C : R ! Rn obtida por meio da aplicac~ao da homotopiaH : [0; 1]Rn ! Rn, dada por
H(t; x) = tF (x) + (1 t)G(x); (2.14)
entre a func~ao objetivo F e uma outra aplicac~ao G, onde o valor de x? 2 Rn,tal que G(x?) = 0 e conhecido ou de facil obtenc~ao.
2.5.1 Metodo de Continuac~ao Finito
Seja
G(x) = F (x) F (x0); (2.15)
sendo x0 uma aproximac~ao inicial para a obtenc~ao da soluc~ao de F (x) = 0.
Desta maneira (2.14) pode ser reescrito como
H(t; x) = F (x) + (1 t)F (x0): (2.16)
Considere agora a equac~ao H(t; x) = 0 com t 2 [0; 1] e suponha que paracada t 2 [0; 1] uma soluc~ao x?t = x?(t) de H(t; x) = 0 possa ser obtida poralgum metodo sequencial e que a aplicac~ao H(t; x?(t)) seja contnua em t.
Como H(1; x) = F (x), ent~ao x?(1) = x? e uma soluc~ao de F (x). Para isto,
24
-
devemos determinar a seque^ncia de pontos fx?n(t)g na curva C : R! D Rn
denida por C(t) = H(t; x?(t)). Considere uma partic~ao
P = f0 = t0; t1; ; tp = 1g
do intervalo [0; 1] e x0 2 Rn uma aproximac~ao qualquer da soluc~ao x? deF (x). Para cada ponto ti de P aplicamos o metodo de Newton para de-terminarmos a soluc~ao x?i da equac~ao H(ti; x) = 0. Para o primeiro ponto
t0 = 0 de P , tomamos uma aproximac~ao inicial x0 e para cada equac~aoH(tk; x) = 0 utilizamos como aproximac~ao inicial a soluc~ao x
?k1 obtida an-
teriormente. Repetindo este processo p vezes para todo i = 0; 1; p 1obtemos x?(1) = x? que e uma soluc~ao de F (x).
Este metodo e ideal quando n~ao dispomos de uma boa aproximac~ao inicial
x0 para a soluc~ao x? de F (x), porem tem um custo computacional alto devido
as diversas vezes em que o Metodo de Newton e aplicado.
2.5.2 Metodos de Continuac~ao baseados em um pro-
blema diferencial
Novamente, queremos determinar uma seque^ncia de pontos fx?n(t)g nacurva C : R ! D Rn, com 0 = t1; ; tm = 1. Tomando a derivada deH(t; x(t)) = 0 em relac~ao a t encontramos
0 =@H(t; x(t))
@t+@H(t; x(t))
@xx0(t):
Resolvendo esta equac~ao para x0(t), obtemos
25
-
x0(t) = @H(t; x(t))
@t
1@H(t; x(t))
@t;
um sistema de equac~oes diferenciais com condic~ao inicial x(0) = x0 que pode
ser resolvido utilizando algum metodo numerico conhecido, como o Runge
Kutta, por exemplo. Em [12] ha uma descric~ao detalhada do algoritmo e
exemplos.
Nas proximas sec~oes abordaremos dois metodos de continuac~ao: OMetodo
da Perturbac~ao da Homotopia (MPH) e o Metodo da Decomposic~ao de
Adomian (MDA). Tais metodos surgiram de forma independente e s~ao apli-
cadas a resoluc~ao dos mais diversos tipos de equac~ao (algebricas, diferenciais
ordinarias, diferenciais parciais, integrais etc) e na refere^ncia [15] e demons-
trada a equivale^ncia entre estas duas tecnicas. Cada tecnica, a seu modo,
considera a representac~ao da soluc~ao x? de uma equac~ao f(x) = 0, onde f(x)
e uma func~ao real de variavel real sucientemente diferenciavel, como uma
serie
x? = x0 + tx1 + t2x2 + t
3x3 +
Em particular, o MDA faz t = 1 e introduz uma representac~ao para a
func~ao f(x) como soma de polino^mios (polino^mios de Adomian) enquanto
que o MPH trunca a serie acima em uma determinada ordem e determina
explicitamente uma formula fechada para suas somas parciais.
26
-
2.5.3 Metodo da Perturbac~ao da Homotopia
O Metodo da Perturbac~ao da Homotopia (MPH), proposto por He [16]
encontra a soluc~ao de uma equac~ao algebrica n~ao linear de uma variavel
real f(x) = 0. Este metodo e inspirado no trabalho de Nayfeh que, em
[17], considera a aproximac~ao da soluc~ao de uma equac~ao algebrica cuja
variavel depende de um para^metro . Tal tecnica e chamada de Perturbac~ao
do Para^metro (Parameter Perturbation). O metodo proposto por He aplica
esta tecnica na homotopia
H(t; x) = tf(x) + (1 t)g(x); x 2 R; t 2 [0; 1] (2.17)
onde f : R ! R e a func~ao de interesse e g : R ! R e uma func~ao ainda adeterminar. Note que H(0; x) = g(x); H(1; x) = f(x) e portanto H(t; x) = 0
pode ser considerada uma equac~ao cuja variavel x depende de um para^metro t
(pequeno) e a tecnica da perturbac~ao do para^metro pode ser aplicada. Assim
como em [17], supomos que a soluc~ao de H(t; x) = 0 pode ser expressa como
uma serie de pote^ncias em t:
x = x0 + tx1 + t2x2 + t
3x3 + (2.18)
Fazendo t! 1 encontramos
x? = x0 + x1 + x2 + x3 +
e portanto H(t; x) = 0 implica que H(1; x?) = 0. Como H(1; x) = f(x) segue
que x? e uma soluc~ao de f(x).
27
-
Considerando x0 uma soluc~ao conhecida de g(x), a representac~ao em serie
pote^ncias de x dada por (2.18) e a expans~ao em serie de Taylor em torno de
x0 das func~oes f(x) e g(x), obtemos
f(x) = f(x0) + f0(x0)(tx1 + t2x2 + )
+1
2!f 00(x0)(tx1 + t2x2 + )2 + (2.19)
g(x) = g(x0) + g0(x0)(tx1 + t2x2 + )
+1
2!g00(x0)(tx1 + t2x2 + )2 + (2.20)
Substituindo (2.19) e (2.20) em H(t; x) = 0 e igualando os coecientes de
mesma pote^ncia em t, obtemos
t : g0(x0)x1 + f(x0) g(x0) = 0
t2 : g0(x0)x2 + [f 0(x0) g0(x0)]x1 + 12g00(x0)x21 = 0 (2.21)
t3 : g0(x0)x3 +1
2[f 00(x0) g00(x0)]x1 + g00(x0)x1x2
+ [f 0(x0) g0(x0)]x2 + 13!g000(x0)x31 = 0
Se g0(x0) 6= 0, ent~ao podemos, a partir de (2.21), determinar express~oespara x1; x2 e x3:
x0 soluc~ao de g(x) = 0
x1 = f(x0)g0(x0)
28
-
x2 =[g0(x0) f 0(x0)]x1 12g00(x0)x21
g0(x0)(2.22)
x3 =12 [g
00(x0) f 00(x0)]x1 g00(x0)x1x2 [f 0(x0) g0(x0)]x2 13!g000(x0)x31g0(x0)
Como g(x) deve ser uma func~ao conhecida e cujas derivadas g0(x); g00(x) e
g000(x) sejam de facil manipulac~ao, as possveis escolhas para g(x) s~ao:
1. Uma func~ao linear ou quadratica;
2. Partes da func~ao f(x).
Em particular, tomando g(x) = f(x)f(x0), onde x0 e uma aproximac~ao paraa soluc~ao de f(x) = 0, as express~oes denidas em (2.22) cam
x1 = f(x0)f(x0)
x2 = 12!
f 00(x0)f 0(x0)
x21 = 1
2!
f 00(x0)f 0(x0)
f(x0)
f 0(x0)
2(2.23)
x3 = f00(x0)f 0(x0)
x1x2 13!
f 000(x0)f 0(x0)
x31
E desta maneira obtemos as aproximac~oes de primeira, segunda e terceira
ordens:
aproximac~ao de primeira ordem: x = x0 + x1
aproximac~ao de segunda ordem: x = x0 + x1 + x2
aproximac~ao de terceira ordem: x = x0 + x1 + x2 + x3
Utilizando as aproximac~oes (2.23), determinamos as iterac~oes de primeira, se-
29
-
gunda e terceira ordens
xn+1 = xn f(xn)f 0(xn)
(2.24)
xn+1 = xn f(xn)f 0(xn)
f00(xn)
2f 0(xn)
f(xn)
f 0(xn)
2(2.25)
xn+1 = xn f(xn)f 0(xn)
f00(xn)
2f 0(xn)
f(xn)
f 0(xn)
2+
(f 000(xn)6f 0(xn)
12
f 00(xn)f 0(xn)
2) f(xn)f 0(xn)
3(2.26)
Note que a iterac~ao de primeira ordem corresponde ao conhecido metodo de
Newton-Raphson. Wu [18] considera em seu artigo outras possibilidades para
a func~ao auxiliar g(x), tais como a func~ao constante ou a func~ao exponencial,
enquanto que Feng e He [19] utiliza as formulas de diferencas centradas
f 0(xn) =f(xn + h) f(xn h)
2h(2.27)
f 00(xn) =f(xn + h) 2f(xn) + f(xn h)
h2(2.28)
com h = f(xn); 6= 0 em (2.25) obtendo a aproximac~ao de segunda ordem
xn+1 = xn 2hf(xn)f(xn + h) f(xn h) (2.29)
e demonstra a sua converge^ncia.
2.5.4 Decomposic~ao de Adomian
Um metodo iterativo eciente proposto por Adomian [20, 21] para a resoluc~ao
de equac~oes n~ao lineares de diversos tipos (algebricas, diferenciais, diferenciais
30
-
parciais, integrais etc) e o Metodo de Decomposic~ao de Adomian (MDA). Vamos
iniciar sua descric~ao para a determinac~ao de razes de uma equac~ao denida pela
express~ao f(x) = 0, onde f(x) e uma func~ao real de variavel real. Este metodo
considera a representac~ao da soluc~ao x? de uma equac~ao f(x) = 0 pela serie
x? =1Xn=0
xn: (2.30)
Assumimos que a equac~ao f(x) = 0 pode ser escrita na forma cano^nica
x = c+N(x); (2.31)
onde c e uma constante e N(x) e uma func~ao n~ao linear. A parte n~ao linear N(x)
de f(x) pode ser representada pela serie
N(x) =1Xn=0
An; (2.32)
onde as parcelas An = An(x0; x1; ; xn) s~ao os chamados Polino^mios de Adomiandenidos por
An =1
n!
dn
dn
"N
1Xi=0
ixi
!#=0
: (2.33)
Abbaoui e Cherruault [22] demonstram que a serie (2.32) e absolutamente conver-
gente se existe 2 [0; 1] tal que jAn+1j jAnj, e prop~oem uma nova formulac~aopara se determinar An. Abbaoui et all [23] tratam da generalizac~ao dos Polino^mios
de Adomian para o caso de n variaveis. Para n = 0 em (2.33), obtemos
A0 =1
0!
d0
d0
"N
1Xi=0
0x0 + 1x1 +
!#=0
31
-
= N
1Xi=0
x0 + 1x1 +
!=0
= N
1Xi=0
x0 + 0 + !
= N(x0)
e os demais s~ao obtidos da mesma maneira. Por exemplo, os polino^mios A1 e A2
s~ao
A1 = x1N0(x0)
A2 = x2N0(x0) +
1
2x21N
00(x0):
Substituindo (2.30) e (2.32) em (2.31) obtemos
1Xn=0
xn = c+
1Xn=0
An; (2.34)
e, desta maneira, podemos assumir que
x0 = c (2.35)
x1 = A0 (2.36)
xn+1 = An; n = 0; 1; (2.37)
O metodo da Decomposic~ao de Adomian pode ser ent~ao expresso pela serie
S =P1
n=1 xn. Varios metodos iterativos s~ao decorrentes da equac~ao (2.34) trun-
32
-
cando esta serie em algum n. Por exemplo, considere a expans~ao em serie de
Taylor de segunda ordem de uma func~ao f : R! R de classe C2
f(x h) = f(x) hf 0(x) + h2 f00(x)2!
+ r2(h): (2.38)
Para x sucientemente proximo da soluc~ao x? de f(x) = 0, seja ~h = x x?.Assim f(x ~h) = 0 e ent~ao
0 = f(x?) = f(x ~h) f(x h) f(x) hf 0(x) + h2 f00(x)2!
: (2.39)
Resolvendo (2.39) para h encontramos a seguinte aproximac~ao para ~h :
~h h = f(x)f 0(x)
+h2
2
f 00(x)f 0(x)
;
ou simplesmente,
h = c+N(h);
onde c = f(x)f 0(x) e uma constante e N(h) =h2
2f 00(x)f 0(x) e uma func~ao n~ao linear na
variavel h. Utilizando a express~ao (2.34) e fazendo n = 0 temos que x0 = c =f(x)f 0(x)
e uma aproximac~ao para x? = x ~h x h e portanto,
x? x h = x f(x)f 0(x)
;
que fornece a conhecida iterac~ao de Newton-Raphson.
Considere agora a expans~ao em serie de Taylor de primeira ordem de uma
func~ao f : R! R
33
-
f(x h) = f(x) hf 0(x) + r1(h): (2.40)
Fazendo r1(h) = g(h) obtemos,
g(h) = f(x h) + hf 0(x) f(x): (2.41)
Se x esta sucientemente proximo da soluc~ao x? de f(x) = 0 e h e pequeno,
temos que f(x h) 0. Resolvendo (2.41) para h obtemos
h =f(x)
f 0(x)+
g(h)
f 0(x)
h = c+N(h): (2.42)
onde c = f(x)f 0(x) e N(h) =g(h)f 0(x) . Para as duas primeiras parcelas de (2.34), obtemos
h x0 + x1 = c+A0(x0)
=f(x)
f 0(x)+N
f(x)
f 0(x)
: (2.43)
onde fazemos x0 = c =f(x)f 0(x) pela equac~ao (2.35). Mas
N
f(x)
f 0(x)
=
g
f(x)f 0(x)
f 0(x)
=1
f 0(x)
f(x)
f 0(x)f 0(x) f(x) + f
x f(x)
f 0(x)
=fx f(x)f 0(x)
f 0(x)
: (2.44)
34
-
Substituindo (2.44) em (2.43) obtemos
h =f(x)
f 0(x)+fx f(x)f 0(x)
f 0(x)
: (2.45)
Como x? x h temos
x? x f(x)f 0(x)
fx f(x)f 0(x)
f 0(x)
; (2.46)
que fornece a iterac~ao proposta por Potra e Ptak [24],
xn+1 = xn f(xn)f 0(xn)
fxn f(xn)f 0(xn)
f 0(xn)
; (2.47)
que possui converge^ncia cubica para pontos em uma vizinhanca de x?.
Darvishi & Barati [25], ainda utilizando a decomposic~ao de Adomian, modi-
cam (2.47) e apresentam a iterac~ao
xn+1 = xn f(xn)f 0(xn)
f(x?n+1)
f 0(x?n+1)(2.48)
x?n+1 = xn f(xn)
f 0(xn);
de converge^ncia supercubica, extendendo seu resultado para aplicac~oes F-Diferenciaveis
F : Rn ! Rn; n > 1
xn+1 = xn F (xn)F 0(xn)1 F (x?n+1)F 0(x?n+1)1:
x?n+1 = xn F (xn)F 0(xn)1: (2.49)
Considerando o Metodo de Perturbac~ao da Homotopia discutido na sec~ao 2.5.3,
35
-
considere a representac~ao da soluc~ao x? da equac~ao f(x) = 0 pela serie
x? = ~x0 + t~x1 + t2~x2 + t
3~x3 + (2.50)
apresentada em (2.18). Li [15] demonstra a equivale^ncia entre o Metodo da Per-
turbac~ao da Homotopia e o Metodo da Decomposic~ao de Adomian, considerando
os polino^mios de Adomian denidos por
A1 = ~x1 A0 + ~x0 c
An = ~xn; n > 2
e a homotopia dada por
H(u; t) = tN(u) u+ c:
36
-
Captulo 3
Metaheursticas para resoluc~ao
de problemas de otimizac~ao n~ao
linear
3.1 Introduc~ao
Neste captulo faremos uma breve introduc~ao sobre uma classe de metaheursticas
de busca: os Algoritmos Evolucionarios, com destaque para o Algoritmo Genetico.
Em particular, tais metodologias se aplicam a problemas de minimizac~ao mono
objetivo, que pode ser apresentado como
x? = argminx
f(x) (3.1)
sujeito a
8>: gi(x) 0 i = 1 rhj(x) = 0 j = 1 p37
-
onde x 2 Rn; f : D Rn ! R e chamada de Func~ao de Interesse ou Func~aoObjetivo, D Rn e chamado de Espaco de Busca, gi : Rn ! R s~ao restric~oes dedesigualdade e hj : R
n ! R s~ao restric~oes de igualdade. Uma soluc~ao (local) de(3.1) e um ponto x?k 2 D que atenda a todas as restric~oes e que possui o menorvalor para f(x) em algum conjunto aberto Dk D. Uma soluc~ao global x? 2 De uma soluc~ao local x?k com o menor valor possvel quando avaliada pela func~ao
objetivo f(x).
Caso a func~ao objetivo f(x) e as restric~oes gi(x); hi(x) sejam de classe Ck,
e possvel a utilizac~ao de metodos exatos para a obtenc~ao de x? [8, 2] tais como
o Metodo do Gradiente ou o Metodo do Gradiente Conjugado, que utilizam in-
formac~oes do vetor gradiente para determinar a direc~ao de busca e o tamanho do
passo. Tais tecnicas s~ao muito ecientes no renamento de soluc~oes, porem muitas
vezes apresentam um custo computacional alto devido ao calculo das derivadas.
Alem disso exigem uma escolha inicial sucientemente proxima de um otimo local
(que tambem atenda as restric~oes) e n~ao apresentam estruturas que permitam a
explorac~ao do espaco de busca a m de se encontrar um otimo global, falhando no
caso de func~oes multimodais.
Uma alternativa a tais metodos s~ao as Metaheursticas. Estas se baseiam
na explorac~ao estocastica \inteligente" do espaco de busca. Algumas tem seu
funcionamento baseado em estruturas sociais, tais como Otimizac~ao por Colo^nia
de Formigas (Ant Colony Optimization Metaheuristic - ACO [26, 4]) 1, processos
fsicos, como Simulated Annealing [4] 2 ou em processos de evoluc~ao e selec~ao
natural propostos por Darwin, como os Algoritmos Evolucionarios [5]. Como o
1Metaheurstica inspirada na explorac~ao por caminhos aleatorios de um ambiente porformigas e a posterior converge^ncia destas rotas em uma que minimiza a dista^ncia percor-rida do formigueiro a fonte de alimento [27].
2Metaheurstica inspirada no processo de forja de metais, onde ha uma repetic~ao deprocessos de aquecimento e resfriamento, ate se atingir um estado desejado de organizac~aomolecular.
38
-
foco das ac~oes destas tecnicas e de natureza exploratoria do espaco de busca,
tais metodos n~ao exigem a diferenciabilidade ou mesmo continuidade da func~ao
objetivo, podendo ser utilizados nos mais variados tipos de problema.
Uma fragilidade que as metaheursticas apresentam e sua pouca ecie^ncia em
realizar uma busca local e consequentemente fazer o renamento de uma soluc~ao.
Tambem estas apresentam pouca ecie^ncia para o caso de problemas de otimizac~ao
com restric~oes de igualdade, uma vez que ha a reduc~ao da dimens~ao e forma do
espaco de busca. O espaco de busca se reduz a pontos em uma superfcie de
dimens~ao inferior a dimens~ao original do problema. Por exemplo, se a func~ao
objetivo tem como domnio o espaco R2, uma restric~ao de igualdade corresponde
a uma curva, um objeto de dimens~ao um. Tal tipo de problema e chamado de
busca em volume zero. Esta mudanca na topologia do espaco de busca aumenta
a complexidade do problema e reduz a ecie^ncia das metaheursticas, uma vez
que estas foram idealizadas para problemas irrestritos e com ampla liberdade de
mobilidade no espaco de busca.
A incapacidade de uma metaheurstica fazer a busca local e contornada com
a utilizac~ao de algoritmos hbridos, que combinam a capacidade de explorac~ao do
espaco de busca das metaheursticas com algoritmos capazes de realizar o rena-
mento local de uma soluc~ao. Esses algoritmos hbridos s~ao tambem conhecidos
como Algoritmos Memeticos [7].
As restric~oes de igualdade ou de desigualdade s~ao tradicionalmente tratadas
utilizando o metodo das penalidades: ao se criar a func~ao de aptid~ao FO(x),
as restric~oes g(x)i s~ao incorporadas a func~ao objetivo f(x), que assume a forma
f(x) +P
i ig(x)+i , sendo i o fator de penalidade da i-esima restric~ao e g(x)
+i
denota o valor de gi se este for positivo, ou zero nos outros casos [7].
Um exemplo classico de utilizac~ao de metaheursticas e o Problema do Caixeiro
39
-
Viajante (PCV): Dado um conjunto de n cidades e conhecida a dista^ncia entre
duas cidades quaisquer, queremos determinar a rota que visita todas as cidades
uma unica vez e percorre a menor dista^ncia. Uma rota possvel e representada
por um vetor n dimensional de inteiros positivos e a func~ao objetivo f : Zn+ ! Ravalia a dista^ncia percorrida por aquela rota. Em [27, 4] ha uma descric~ao de
varias metaheursticas e problemas onde estas se aplicam.
3.2 Algoritmos Evolucionarios
Os Algoritmos Evolucionarios (AE) s~ao metaheursticas de busca popula-
cional inspirados em processos biologicos de evoluc~ao genetica e selec~ao natural
propostas por Darwin. Resumidamente, a teoria de Darwin diz que indivduos de
uma mesma especie n~ao s~ao ide^nticos, mas apresentam pequenas variac~oes de todo
tipo. O numero de indivduos n~ao apresenta grandes variac~oes, estando limitado
pela capacidade do meio onde se encontram. Todo indivduo apresenta grande po-
tencial reprodutivo, mas apenas aqueles que se mostraram mais adaptados ao meio
te^m uma maior sobrevida e consequentemente uma maior prole. As caractersticas
que tornaram aquele indivduo mais apto s~ao transmitidas para seus descendentes,
fazendo com que aquela populac~ao apresente uma constante evoluc~ao e se torne
cada vez mais adaptada ao meio onde se encontra.
Fazendo uma analogia com este quadro, um AE aplicado ao problema (3.1) as-
sume que cada ponto do espaco de busca e um indivduo e e representado por um
vetor, que corresponde a sua carga genetica (cromossomo), sendo que cada coorde-
nada deste vetor corresponde a um gene. E gerado aleatoriamente um conjunto de
pontos (populac~ao inicial) e associado a eles uma aptid~ao (tness) relativa a regi~ao
onde se encontram no espaco de busca, em geral utilizando a func~ao objetivo e suas
40
-
restric~oes. A explorac~ao do espaco de busca e feita por mecanismos estocasticos de
recombinac~ao (crossover) e perturbac~ao (mutac~ao) dos pontos situados em regi~oes
promissoras, representados pela reproduc~ao (sexuada e assexuada) de indivduos e
a mutac~ao de seus genes. A cada iterac~ao (gerac~ao) novos pontos s~ao criados (lhos
ou ospring) a partir de pontos selecionados (pais) e inseridos na populac~ao, en-
quanto que outros s~ao selecionados para serem retirados, mantendo o tamanho da
populac~ao constante. Apos um numero pre estabelecido de gerac~oes, a populac~ao
(ou parte dela) converge para uma soluc~ao otima [7, 5].
Faremos abaixo uma breve apresentac~ao de alguns modelos de Algoritmos Evo-
lucionarios. Maiores detalhes podem ser encontrados em [5, 28, 29].
Sistema Evolucionario (EV (m;n)): Um EV (m;n) e o mais simplesexemplo de algoritmo evolucionario. Um conjunto de m indivduos s~ao gera-
dos aleatoriamente, representados por vetores contendo suas caractersticas
basicas. Aleatoriamente s~ao escolhidos (com distribuic~ao uniforme) n in-
divduos para reproduc~ao. O processo reprodutivo e assexuado, ou seja, um
indivduo gera um unico lho, que difere de seu pai pela aplicac~ao de um
operador de mutac~ao em seus genes. Para problemas que admitem a repre-
sentac~ao por numeros reais, a mutac~ao corresponde a uma perturbac~ao nas
coordenadas dos pontos do espaco amostral, somando ou subtraindo uma
variavel aleatoria com distribuic~ao gaussiana de media zero e varia^ncia .
Em seguida, n indivduos s~ao selecionados da populac~ao e competem dire-
tamente com esta nova gerac~ao, tendo como base sua func~ao de aptid~ao.
Dentre estes 2n indivduos, selecionamos os n melhor avaliados pela func~ao
de aptid~ao s~ao reintroduzidos na populac~ao.
Programac~ao Evolucionaria (PE(m)): A programac~ao evolucionaria eum aperfeicoamento do EV (m;n). Sua diferenca consiste em fazer o numero
41
-
de novos indivduos igual a populac~ao inicial (m = n). Os novos indivduos
s~ao ent~ao reintroduzidos na populac~ao e adota-se uma estrategia elitista de
selec~ao: apenas os m melhores indivduos avaliados pela func~ao de tness
sobrevivem para a proxima gerac~ao. Desta maneira evita-se que um in-
divduo com baixa aptid~ao passe para a gerac~ao seguinte. Desta maneira
ha um acrescimo da velocidade de converge^ncia, mas com uma perda de
diversidade populacional.
Estrategia Evolutiva (( + )EE; (; )EE): Mais sosticada que asanteriores, em uma EE e gerada uma populac~ao inicial de indivduos e,
a cada gerac~ao, descendentes. O que difere as estrategias ( + )EE e
(; )EE e a maneira de como s~ao selecionados os indivduos para a gerac~ao
seguinte. Na estrategia (+) os descendentes s~ao incorporados a populac~ao
e ent~ao e feita a selec~ao de novos indivduos. Na estrategia (; ), devemos
ter > e s~ao selecionados indivduos dentre os novos indivduos
gerados e desta maneira toda a populac~ao e renovada a cada gerac~ao.
Ha varias possibilidades para os para^metros e , tais como
1. 1 = ,
2. ,
3. (apenas na estrategia (+ )EE).
A reproduc~ao dos indivduos pode ser assexuada (como na EV e PE) ou
sexuada, com a presenca de recombinac~ao. Discutiremos mais adiante este
mecanismo de recombinac~ao ao tratarmos dos Algoritmos Geneticos. A
mutac~ao aparece com uma pequena probabilidade de incide^ncia, tambem
por meio de uma perturbac~ao dada pela soma/subtrac~ao de uma variavel
aleatoria com distribuic~ao gaussiana de media zero e varia^ncia e apresenta
42
-
um fator de de auto adaptac~ao regido pela chamada regra do 1/5: Seja '
a raz~ao entre as mutac~oes que geram um indivduo melhor do que o pai e
o total de indivduos mutados [5]. Se ' > 15 aumente o valor de . Caso
contrario, diminua o valor de .
Algoritmos Geneticos (AG): Os princpios basicos de um AG forampropostos por Holland [30] e s~ao inspirados nos mecanismos de evoluc~ao e
selec~ao natural, onde indivduos com melhor desempenho prevalecem e per-
petuam suas caractersticas dominantes aos seus descendentes. Para resolver
o problema de minimizac~ao (3.1), inicialmente e gerado aleatoriamente (com
distribuic~ao uniforme sobre o espaco de busca) um conjunto de pontos (deno-
minados indivduos). Originalmente, a representac~ao de tais pontos e feita
por um vetor de codicac~ao binaria, mas e usual se utilizar a codicac~ao
real. As coordenadas de tais pontos formam sua carga genetica (cromos-
somos). No caso da codicac~ao binaria, cada bit e tomado como um gene
do indivduo e, para pontos no espaco Rn, cada coordenada e um gene. A
sua aptid~ao, que indica o qu~ao adaptado ao meio tal indivduo esta (se esta
proximo de um otimo local, por exemplo), e medida por um valor positivo
denotado por tness ou func~ao de aptid~ao, tomado como uma combinac~ao
da func~ao objetivo e das func~oes de restric~ao.
A cada gerac~ao alguns indivduos s~ao selecionados tomando como base o
seu valor da func~ao de aptid~ao e s~ao recombinados, gerando novo indivduos
(osprings). Tal procedimento parte do pressuposto que, combinando dois
indivduos com boa avaliac~ao, produziremos um novo indivduo tambem com
um bom valor de tness. E no processo de recombinac~ao que e realizada a
busca global, e a populac~ao converge para regi~oes onde se situa um otimo
local.
43
-
A uma pequena parcela destes novos indivduos, escolhidos aleatoriamente
e com uma pequena probabilidade de selec~ao (em geral menor do que 0.1), e
aplicado ainda um operador de mutac~ao, que realiza uma busca local. Esta
operac~ao pode ser a troca de um bit no caso da representac~ao binaria ou uma
pequena perturbac~ao nas coordenadas no caso da representac~ao real. Este
operador procura ampliar a variabilidade genetica da populac~ao, corrigindo
eventuais vcios.
Apos os processos de recombinac~ao e mutac~ao, os novos indivduos s~ao rein-
seridos na populac~ao e outros s~ao retirados em igual numero de modo a
manter o tamanho da populac~ao constante. Repetimos todos estes procedi-
mentos a cada nova gerac~ao.
O tamanho da populac~ao inicial, o numero de gerac~oes, a forma de selec~ao
de indivduos para a recombinac~ao, o tipo de recombinac~ao realizado, a taxa
de mutac~ao aplicada e quais s~ao os indivduos retirados s~ao para^metros de-
terminantes para o desempenho de um AG. Na proxima sec~ao abordaremos
alguns componentes de um AG.
3.3 Operadores de um AG
Nesta sec~ao faremos uma breve apresentac~ao sobre alguns dos componentes de
um AG. Maiores detalhes podem ser encontrados em [31, 32, 33].
Um AG apresenta em geral a seguinte estrutura:
44
-
inicio: faca t = 0;
Inicialize a populac~ao P (t);
avalie P (t)
enquanto n~ao nalizado, faca:
inicio: faca t = t+ 1;
Selecione ~P (t) de P (t 1);recombine os elementos de ~P (t);
aplique a mutac~ao nos novos elementos;
reinsira os novos elementos em P (t);
avalie P (t) e selecione indivduos para serem excludos da po-pulac~ao.
m
m
Tabela 3.1: Estrutura padr~ao de um Algoritmo Genetico
3.3.1 Func~ao Objetivo e de Aptid~ao
A Func~ao Objetivo e dada pelo problema a ser tratado. Iremos tratar sem-
pre de problemas de minimizac~ao, tais como (3.1), sendo que um problema de
maximizac~ao pode ser facilmente convertido em um problema de minimizac~ao,
multiplicando a func~ao de interesse por 1. Usualmente, as restric~oes de um pro-blema de minimizac~ao s~ao agregadas a func~ao objetivo por meio do metodo de
penalidades. Assim, para (3.1), a func~ao objetivo pode ser escrita como
FO(x) = f(x) + 1g21 + + rg2r + 1h21 + + ph2p (3.2)
sendo i e j pesos (positivos) associados as func~oes de restric~ao. A func~ao de
aptid~ao F (x) mede a adequac~ao de cada indivduo no espaco de busca e deve
45
-
sempre assumir um valor positivo. Isto pode ser feito pela transformac~ao am
F (x) = a FO(x) + b
sendo a < 0 um fator de escala e b sendo usado para se manter a positividade de
F (x). Outras formas de denic~ao para a func~ao de tness podem ser encontradas
em [32, 5]
3.3.2 Selec~ao
Selec~ao e o mecanismo que determina quais indivduos ir~ao se reproduzir e so-
frer mutac~ao e quais indivduos ser~ao eliminados da populac~ao. Um mecanismo de
selec~ao puramente elitista, que seleciona sempre os melhores indivduos segundo
sua func~ao de aptid~ao (ou os piores, no caso de eliminac~ao de indivduos da po-
pulac~ao) e utilizado em algumas situac~oes, mas seu uso fere o carater estocastico
do metodo e provoca uma perda de diversidade da populac~ao, enfraquecendo sua
capacidade de explorac~ao do espaco de busca. Iremos tratar com mais detalhes
tre^s metodos de selec~ao: o Torneio (Tournament Selection), a Roleta (Roulette
Whell Selection ou RWS) e o SUS (Stochastic Universal Sampling).
Torneio: E um metodo apropriado quando a populac~ao e elevada dado seubaixo esforco computacional. Para um populac~ao de tamanho n, escolha
aleatoriamente q indivduos. Destes q indivduos, e selecionado aquele com
maior valor da func~ao de aptid~ao. Todos os indivduos selecionados retornam
a populac~ao, podendo ser sorteados para o proximo torneio. Este procedi-
mento e repetido ate atingir o numero de indivduos a serem selecionados.
Roleta: E um metodo onde a probabilidade de escolha de um indivduo eproporcional a sua func~ao de aptid~ao. A probabilidade P (xi) do indivduo
46
-
xi ser selecionado e dada por
P (xi) =F (xi)nX
j=1
F (xj)
; (3.3)
sendo F (xi) a func~ao de aptid~ao do indivduo xi. Para a escolha de um
indivduo, estes s~ao ordenados em uma lista e e sorteado um numero k em
[0; S), sendo S =Pn
j=1 F (xj). A cada indivduo xi; i > 1, e associado um
subintervalo [li; ui), sendo li =Pi1
j=1 F (xj) e ui =Pi
j=1 F (xj) e o intervalo
[0; F (x1)) e associado ao indivduo x1. Se k 2 [li; ui) ent~ao o indivduo xi esorteado e retirado da lista. A cada novo sorteio, o processo se repete.
No metodo da roleta, a cada indivduo sorteado devemos reiniciar o proce-
dimento, o que eleva o custo computacional, que e O (n log(n)).
SUS: No metodo SUS, de uma populac~ao de n indivduos, selecionamos Nindivduos de uma so vez da seguinte maneira: Aleatoriamente escolhemos
um numero k no intervalo [0; S=N ], sendo S =Pn
j=1 F (xj). Em seguida sele-
cionamos os indivduos associados aos intervalos [li; ui) (denidos no metodo
da roleta) que contem cada um dos numeros k; k+ SN ; k+2SN ; ; k+(n1) SN .
O Metodo SUS apresenta um custo computacional O (n).
A B C D E F G
0 SFintess total da populao (n indivduos)
S/n
Figura 3.1: Escolha de 4 indivduos utilizando SUS
47
-
A gura 3.1 ilustra o sorteio dos indivduos A;B;C e F pelo metodo SUS.
O tamanho de cada indivduo e proporcional a sua func~ao de aptid~ao. A
amostragem no SUS faz uma melhor representac~ao da populac~ao reduzindo
vcios provocados por indivduos bem avaliados.
3.3.3 Recombinac~ao
O processo de recombinac~ao, ou crossover, e o mecanismo responsavel pela ex-
plorac~ao do espaco de busca e renamento de soluc~oes. Uma parte da populac~ao e
selecionada para reproduc~ao. O numero de indivduos selecionados e denido pela
probabilidade de crossover (ou taxa de crossover pc), geralmente entre 60 e 80 por-
cento da populac~ao. A recombinac~ao em um AG e sexuada, onde dois indivduos
(chamados de pais, sem distinc~ao sexual) combinam sua carga genetica gerando
novos indivduos (lhos), que posteriormente e com uma pequena probabilidade
de ocorre^ncia, sofrem tambem o processo de mutac~ao. A maneira como e feito a
recombinac~ao e determinado pelo tipo de representac~ao do indivduo: binaria ou
real.
Recombinac~ao Multiponto: Usado quando a representac~ao do indivduoe binaria. Neste tipo de recombinac~ao, i posic~oes s~ao aleatoriamente esco-
lhidas, com i 2 f1; 2; ; l1g sendo l o tamanho do cromossomo e l=2 umarefere^ncia para o numero de pontos escolhidos [5]. A partir das posic~oes pre-
viamente determinadas, blocos de genes de cada indivduo s~ao permutados
gerando os novos indivduos.
A gura 3.2 ilustra a recombinac~ao dos indivduos Pai 1 e Pai 2 por meio
da recombinac~ao de dois pontos, com i 2 f2; 7g: O lho 1 tem os genes1,2,8,9,10,11 e 12 herdados do Pai 1 e os restantes s~ao herdados do Pai 2.
Para o Filho 2 a situac~ao se inverte.
48
-
A A A AAA A A A AAA Pai 1
B B B BBB B B B BBB Pai 2
A A B BBB B A A AAA Filho 1
B B A AAA A B B BBB Filho 2
Figura 3.2: Recombinac~ao multiponto com i 2 f2; 7g
Recombinac~ao Uniforme: E uma generalizac~ao da recombinac~ao multi-ponto. E gerado uma mascara, que e um vetor binario de mesmo tamanho
dos indivduos com coordenadas aleatorias (0 ou 1), indicando quais genes
devem ser trocados.
A A A AAA A A A AAA Pai 1
B B B BBB B B B BBB Pai 2
B B B BAA A A A BBA Filho 1
A A A ABB B B B AAB Filho 2
1 1 1 100 0 0 0 110 Mscara
Figura 3.3: Recombinac~ao uniforme
A gura 3.3 ilustra a recombinac~ao uniforme. Para o Filho 1, o dgito \0"
na posic~ao i do vetor mascara indica que este herda o gene da posic~ao i do
Pai 1, enquanto que o dgito \1" indica que este herda o gene da posic~ao i
do Pai 2. Para o Filho 2 a situac~ao se inverte.
Recombinac~ao Real Convexa: Utilizada quando a representac~ao dosindivduos e feita por vetores de codicac~ao real. Escolhidos dois pais x1 e
49
-
x2, seu descendente x3 e obtido pela express~ao
x3 = x1 + (1 )x2; (3.4)
onde e uma variavel aleatoria com distribuic~ao uniforme no intervalo [0; 1].
Observe que (3.4) corresponde a combinac~ao linear convexa dos pontos x1
e x2, de modo que o novo indivduo x3 se encontra no interior do segmento
de reta denido pelos pontos x1 e x2. A gura 3.4 ilustra este tipo de
recombinac~ao.
Figura 3.4: Recombinac~ao real convexa
Recombinac~ao Real Convexa com Extrapolac~ao: Uma forma de am-pliar a capacidade de explorac~ao do espaco de busca feita pela recombinac~ao
real convexa e a introduc~ao de um fator de extrapolac~ao [2, 7], que extende a
possvel localizac~ao dos descendentes para alem do segmento de reta denido
por seus pais. A recombinac~ao real convexa com extrapolac~ao e denida pela
express~ao
x3 = x1 + (1 )x2; (3.5)
50
-
onde
= + (1 2) (3.6)
sendo 0 o fator de extrapolac~ao e e uma variavel aleatoria com distri-buic~ao uniforme no intervalo [0; 1]. Observe que, se o fator de extrapolac~ao
for igual a zero, o novo indivduo x3 se localizara no interior do segmento
de reta S denido por x1 e x2 e temos a recombinac~ao real convexa comum.
Se > 0, a possvel localizac~ao do novo indivduo x3 se extende para alem
do segmento denido por x1 e x2 de forma simetrica.
Figura 3.5: Recombinac~ao real convexa com extrapolac~ao
A gura 3.4 ilustra a recombinac~ao real convexa com extrapolac~ao. O seg-
mento de reta destacado indica a possvel localizac~ao do novo indivduo x3.
Recombinac~ao Real Polarizada: Mais sosticada que as anteriores, arecombinac~ao real polarizada ou cruzamento real polarizado [2, 7], produz
um descendente x3 a partir de dois pais x1 e x2, com x1 tendo uma melhor
avaliac~ao pela func~ao de aptid~ao. Obtemos x3 da seguinte maneira:
x3 = x1 + (1 )x2 (3.7)
51
-
onde pertence ao intervalo [; 1 + ], sendo um fator de extrapolac~ao.O para^metro e selecionado de acordo uma distribuic~ao de probabilidade
dada por
= + (1 2)12;
onde 1 e 2 s~ao variaveis aleatorias com distribuic~ao uniforme escolhidas
no intervalo [0; 1]. Desta maneira, o novo indivduo x3 tem uma maior
probabilidade de estar mais proximo de x1 (indivduo melhor avaliado) do
que de x2 [7, 2].
Recombinac~ao Real Convexa Generalizada: E analoga a recombinac~aoreal convexa, porem e gerado um fator de escala diferente para cada uma
das n coordenadas (genes), assumindo que o indivduo e um ponto em Rn.
Desta maneira, um lho pode se localizar no interior de um hipercubo que
contem seus pais. A gura 3.6 ilustra a esta situac~ao
Pais
Potenciais lhos
Gen 2
Gen 1
Possvel localizao dos lhos
Figura 3.6: Recombinac~ao real convexa generalizada
Os mecanismos de extrapolac~ao e polarizac~ao podem naturalmente ser in-
52
-
corporados a recombinac~ao real convexa generalizada, bastando aplicar estes
procedimentos a cada uma das coordenadas dos pontos.
3.3.4 Mutac~ao
O operador de mutac~ao tem como objetivo produzir pequenas alterac~oes no
cromossomos dos novos indivduos. Assim como em sistemas biologicos reais, um
descendente n~ao e uma simples mistura do codigo genetico de seus pais, sofrendo
pequenas alterac~oes em seus genes. O operador de mutac~ao em um AG faz exata-
mente isto. Uma pequena parcela dos novos indivduos, denida pela probabilidade
de mutac~ao pm, sofre uma alterac~ao em seus genes. Man [32] sugere as seguintes
taxas de acordo com o tamanho da populac~ao quando e utilizada a representac~ao
binaria:
1. Para populac~ao muito numerosa (100 indivduos)
Taxa de recombinac~ao: Pc = 0:6.
Taxa de Mutac~ao: Pm = 0:001.
2. Para populac~ao pouco numerosa (30 indivduos)
Taxa de recombinac~ao: Pc = 0:9.
Taxa de Mutac~ao: Pm = 0:01.
Para indivduos com codicac~ao binaria, o operador de mutac~ao aleatoriamente
escolhe um gene e faz a troca do bit. No caso de codicac~ao real, uma coordenada
e perturbada segundo alguma distribuic~ao de probabilidade, em geral utilizando-se
a distribuic~ao gaussiana com media zero e varia^ncia igual a um.
A gura 3.7 ilustra o processo de mutac~ao do quarto gene de um indivduo
53
-
A A A AAA A A A AAA
A A A AAB A A A AAA
Figura 3.7: Mutac~ao do quarto gen
3.3.5 Reinserc~ao
Apos a operac~ao de recombinac~ao e mutac~ao, os novos indivduos s~ao reinseri-
dos na populac~ao. Como a cada gerac~ao a populac~ao deve ter um numero xo de
indivduos, alguns devem ser retirados. Para isto, ha duas estrategias: a elitista,
onde sobrevivem apenas os mais aptos (com maior valor da func~ao de aptid~ao),
ou s~ao retirados os membros mais antigos da populac~ao, ou uma escolha aleatoira
com mais peso para os indivduos de maior aptid~ao, como na roleta.
54
-
Captulo 4
Um operador de Busca Local
para o AG
Algoritmos Geneticos s~ao ecientes metaheursticas de busca por populac~ao
para problemas de minimizac~ao, porem n~ao possuem mecanismos de busca local
responsaveis pelo renamento da soluc~ao encontrada e s~ao pouco ecientes para
problemas com restric~ao, em especial restric~oes de igualdade [7]. Uma soluc~ao
para tais decie^ncias e a introduc~ao de operadores de busca local, que fazem o
renamento das soluc~oes encontradas. Com a introduc~ao de um operador de busca
local em um AG, obtemos um algoritmo chamado de Algoritmo Genetico Memetico
ou Hbrido[34].
Uma das principais contribuic~oes desta dissertac~ao e o desenvolvimento de um
operador de busca local para ser utilizado em um AG, que trata de problemas de
minimizac~ao de func~oes que apresentam restric~oes de igualdade. Restric~oes de de-
sigualdade em um problema de minimizac~ao alteram a fronteira da regi~ao factvel,
reduzindo a liberdade de mobilidade dos pontos no processo de explorac~ao do
espaco de busca. Por outro lado, uma restric~ao de igualdade corresponde geometri-
55
-
camente a uma superfcie imersa no domnio de denic~ao do problema (como uma
curva para problemas bidimensionais), trazendo uma modicac~ao na dimens~ao e
na topologia do espaco de busca, dicultando ainda mais o movimento exploratorio
nas operac~oes de cruzamento e mutac~ao do AG. Tal situac~ao e classicada como
busca em volume zero [7]. Como o algoritmo genetico foi projetado para problemas
irrestritos, tais complicadores elevam o grau de diculdade do tipo de problema.
Em [7], o autor trata em sua tese de tais situac~oes. O problema de mini-
mizac~ao de uma func~ao n~ao linear com uma restric~ao de igualdade n~ao linear e
resolvido da seguinte forma: utilizando os pontos da gerac~ao atual, aproximac~oes
quadraticas para a func~ao s~ao obtidas. Em seguida, utilizando as condic~oes de
Karush-Kuhn-Tucker (denic~ao A.10) e o metodo da bissec~ao, e possvel obter a
soluc~ao do problema quadratico associado. Esta soluc~ao e ent~ao reintroduzida na
populac~ao corrente do AG. Tal metodologia se mostrou eciente para a resoluc~ao
dos problemas propostos, porem o metodo da bissec~ao apresenta uma taxa de
converge^ncia lenta (da ordem O(1=2n)).Diferentemente da proposta em [7], o operador de busca local apresentado aqui
age diretamente na restric~ao, aplicando o metodo da decomposic~ao de Adomian
tratado no captulo 2. Esta metodologia ajusta alguns pontos do espaco de busca
a restric~ao do problema de minimizac~ao e apresenta converge^ncia supercubica.
Por atuar diretamente na restric~ao de igualdade, por apresentar converge^ncia su-
percubica e ser menos sensvel a valores iniciais, o metodo da decomposic~ao de
Adomian mostrou ser uma boa alternativa a metodologia proposta em [7]. Alem
destas vantagens, o operador proposto introduz varios novos pontos na populac~ao,
todos ajustados a restric~ao de igualdade.
56
-
4.1 Desenvolvimento
Considere o problema de minimizac~ao com uma restric~ao de igualdade
x? = argminx f(x) (4.1)
sujeito a h(x) = 0
onde todas as func~oes envolvidas s~ao de classe Ck e x = (x1; x2; ; xn) 2 Rn. Aequac~ao h(x) = 0 corresponde a uma superfcie formada pelos pontos de Rn cujas
coordenadas satisfazem a esta equac~ao.
Escolhido x = (x1; x2; ; xn) um ponto da populac~ao em uma dada gerac~aodo AG e sendo ~x = xk; 1 k n uma de suas coordenadas, denimos a func~aohk : R! R da seguinte maneira:
hk(~x) = h(x1; ; ~x; ; xn) (4.2)
Como h e de classe Ck, ent~ao hk tambem e de classe Ck e podemos utilizar
algum metodo descrito no capitulo 2 para resolver a equac~ao hk = 0 tomando como
aproximac~ao inicial a propria coordenada xk. Devido ao seu melhor desempenho
nos problemas analisados no captulo 5, foi escolhido o Metodo da Decomposic~ao
de Adomian, utilizando a iterac~ao dada por
xn+1 = xn f(xn)f 0(xn)
fxn f(xn)f 0(xn)
f 0(xn)
: (4.3)
Caso seja encontrada alguma soluc~ao ~x? de hk e o novo ponto
x? = (x1; ; ~x?; ; xn) apresente uma melhora func~ao de aptid~ao, ou seja, se
57
-
FO(x) FO(x?)
ent~ao o novo ponto x? e incorporado a populac~ao, substituindo x. Tambem e
levado em conta se o novo ponto x? pertence ao intervalo I onde esta denido o
problema. Caso contrario, se f(x) < f(x?) ou x? =2 I, x e mantido.O funcionamento do operador de busca local desenvolvido e descrita na tabela
4.1.
Passo 1: Para uma populac~ao de p indivduos, escolha q indivduos, q < p;
Passo 2: Para cada indivduo x escolhido, escolha aleatoriamente uma co-ordenada k de x e execute os passos 3 e 4.
Passo 3: Resolva a equac~ao hk(xk) = 0.
Passo 4: Se for encontrada uma soluc~ao x?k da equac~ao hk = 0 e o novoponto x? apresentar uma melhora na func~ao objetivo e x? 2 I,substitua x por x?. Sen~ao, mantenha x.
Passo 5: Fim do procedimento de busca local. Retorne para o AG.
Tabela 4.1: Operador de busca local em um AG
No Passo 1, a escolha dos indivduos pode ser feita tomando uma estrategia
elitista, por roleta ou mesmo tomando toda a populac~ao. Nas simulac~oes realiza-
das, q corresponde a 1/3 da populac~ao. Apos a classicac~ao dos indivduos segundo
a avaliac~ao de tness, foram selecionados os indivduos localizados no terco medio
segundo esta classicac~ao, ignorando os melhores e os piores indivduos, localiza-
dos no primeiro terco e no terceiro terco respectivamente. Tal procedimento visa
58
-
escapar de algum otimo local onde os indivduos melhores classicados possam es-
tar. A escolha da coordenada a ser ajustada no Passo 2 mantem a aleatoriedade
do procedimento, evitando vcios. Geometricamente, o que ocorre quando uma
coordenada consegue ser ajustada e a projec~ao do ponto x na curva de restric~ao
segundo a k-esima coordenada.
Figura 4.1: Ajuste de x na coordenada ej
A gura 4.1 ilustra o ajuste do ponto x. O ponto x? corresponde a projec~ao de
x na curva de restric~ao C(ei; ej), obtido resolvendo-se a equac~ao C(ei; x) = 0 para
a variavel x. Observe que se a coordenada a ser ajustada fosse ei, o ponto x seria
mantido uma vez que ele n~ao se projeta na curva de restric~ao nesta coordenada.
59
-
Captulo 5
Experimentos Numericos
Faremos neste captulo uma serie de experimentos numericos 1 de modo a ana-
lisarmos as tecnicas apresentadas neste trabalho. Na primeira sec~ao abordaremos
a resoluc~ao de equac~oes, onde utilizaremos o metodo da decomposic~ao de Adomian
e o metodo da perturbac~ao da homotopia, que s~ao metodos de continuac~ao apre-
sentados no captulo 2. Na segunda sec~ao vamos aplicar o operador de busca local
apresentado no captulo 4 para resolver alguns problemas de minimizac~ao com
restric~oes de igualdade. Adotaremos duas estrategias: inicialmente, aplicaremos
o operador utilizando informac~oes diretas da func~ao objetivo e das derivadas das
func~oes de restric~ao e em seguida, aplicaremos a metodologia das aproximac~oes
quadraticas descritas em B. Todas as rotinas foram executadas em MATLAB 2 e
se encontram no anexo C.
1Os experimentos foram feitos em um computador do padr~ao IBM-PC com processadorIntel Pentium Dual Core (T4300 @ 2.10 GHz) dispondo de 3GB de memoria RAM, utili-zando o sistema operacional LINUX UBUNTU (KARMIC KOALA 9.10 - kernel 2.6.31-19)
2MATLAB vers~ao 7.7.0.471 (R2008b)
60
-
5.1 Resoluc~ao de equac~oes
5.1.1 Equac~oes denidas por func~oes de uma variavel
Nesta sec~ao iremos contrapor o Metodo de Perturbac~ao da Homotopia de se-
gunda e terceira ordens (MPH2 e MPH3) (utilizando as iterac~oes (2.25) e (2.26)),
o Metodo de Decomposic~ao de Adomian (ADM) (utilizando a iterac~ao (2.47)) e
o Metodo de Newton (MN) (iterac~ao (2.4)) para determinarmos a soluc~ao x? da
equac~ao f(x) = 0, onde f(x) s~ao func~oes reais de uma variavel real de classe Ck.
As func~oes teste de uma variavel, bem como o ponto inicial dado, s~ao listadas
na tabela 5.1.1 e foram retiradas de [35] e [19]. Como criterio de parada foi
requerido que a dista^ncia entre duas aproximac~oes consecutivas fosse menor do
que 1050 ou o numero de iterac~oes superior a 500. Caso algum metodo superar
500 iterac~oes, este sera considerado divergente. Foi contado em cada simulac~ao o
numero de iterac~oes e o tempo computacional gasto, em segundos.3
Resultados
As tabelas abaixo ilustram os resultados obtidos para a resoluc~ao das equac~oes
fi(x) = 0, listadas na tabela 5.1.1.
3O tempo computacional foi medido utilizando a func~ao TIC TOC do MATLAB.
61
-
Para as func~oes selecionadas, o metodo da Decomposic~ao de Adomian apre-
sentou um bom desenho, mostrando-se superior ao metodo da Perturbac~ao da
Homotopia e o Metodo de Newton, com destaque para as func~oes f2 e f5 (tabelas
f1(x) = x3 + 4x2 10; x0 = 0:3:
f2(x) = sin2(x) x2 + 1; x0 = 1:
f3(x) = x2 ex 3x+ 2; x0 = 1:
f4(x) = cos(x) x; x0 = 1:7:
f5(x) = xex2 sin2(x) + 3 cos(x) + 5; x0 = 2:
f6(x) = ex2+7x30 1; x0 = 10:
f7(x) = esin(x) x 1; x0 = 4:
f8(x) = ln(x); x0 = 2:
Tabela 5.1: Func~oes teste de uma variavel e aproximac~oes iniciais x0
Metodo x? Iterac~oes TempoMN 1.36523001341410 55 0.0001987
MPH2 1.36523001341410 10 0.0000913MPH3 1.36523001341410 19 0.0002495ADM 1.36523001341410 50 0.0002978
Tabela 5.2: Func~ao f1; x0 = 0:35; jxn xn1j < 1050
Metodo x? Iterac~oes TempoMN Divergente { {
MPH2 Divergente { {MPH3 Divergente { {ADM 1.404491648215341 17 0.0000935
Tabela 5.3: Func~ao f2; x0 = 1; jxn xn1j < 1050
62
-
Metodo x? Iterac~oes TempoMN 0.257530285439861 6 0.0000540
MPH2 0.257530285439861 4 0.0000629MPH3 0.257530285439861 5 0.0001074ADM 0.257530285439861 5 0.0000677
Tabela 5.4: Func~ao f3; x0 = 1; jxn xn1j < 1050
Metodo x? Iterac~oes TempoMN 0.739085133215161 6 0.0000401
MPH2 0.739085133215161 6 0.0000529MPH3 0.739085133215161 4 0.0000712ADM 0.739085133215161 4 0.0000474
Tabela 5.5: Func~ao f4; x0 = 1:7; jxn xn1j < 1050
Metodo x? Iterac~oes TempoMN Divergente { {
MPH2 Divergente { {MPH3 Divergente { {ADM -1.207647827130919 10 0.0000703
Tabela 5.6: Func~ao f5; x0 = 0:2; jxn xn1j < 1050
Metodo x? Iterac~oes TempoMN 3 146 0.0003112
MPH2 3 98 0.0003992MPH3 3 80 0.0005376ADM 3 107 0.0004204
Tabela 5.7: Func~ao f6; x0 = 10; jxn xn1j < 1050
63
-
Metodo x? Iterac~oes TempoMN 0.000000001901298 36 0.0000961
MPH2 Divergente { {MPH3 Divergente { {ADM 0.0000000135027603 20 0.0001081
Tabela 5.8: Func~ao f7; x0 = 4; jxn xn1j < 1050
Metodo x? Iterac~oes TempoMN 1 7 0.0001754
MPH2 1 5 0.0001331MPH3 1 4 0.0001421ADM 1 6 0.0003014
Tabela 5.9: Func~ao f8; x0 = 2; jxn xn1j < 1050
5.3 e 5.6 respectivamente) onde estes dois ultimos falharam e na func~ao f7 (tabela
5.8), onde falha o Metodo da Perturbac~ao da Homotopia. Apesar do metodo da
Decomposic~ao de Adomian e o metodo da Perturbac~ao da Homotopia realizarem
mais operac~oes por iterac~ao quando comparado ao Metodo de Newton, os metodos
analisados n~ao apresentaram grandes variac~oes quanto ao tempo computacional
gasto.
64
-
5.1.2 Aplicac~oes em Rn
Para aplicac~oes F : Rn ! Rn, iremos contrapor o Metodo de Newton (MN)e o Metodo da decomposic~ao de Adomian (ADM). As aplicac~oes em Rn, listadas
na tabela 5.1.2, foram colhidas em [12]. O numero de equac~oes deve ser igual
ao numero de variaveis em cada caso pois os metodos necessitam o calculo da
inversa da matriz jacobiana, que deve ser portanto uma matriz quadrada. Como
criterio de parada foram consideradas duas situac~oes: jxn xn+1j1 < 1015 ejxn xn+1j1 < 1020, alem do numero maximo de iterac~oes ser inferior a 500.Mais uma vez foi contado em cada simulac~ao o numero de iterac~oes e o tempo
computacional gasto, em segundos.
F1 :
8>>>>>>>>>:
3x1 cos(x2x3) 12x21 81(x2 + 0:1)2 + sin(x3) + 1:06
ex1x2 + 20x3 +10 3
3
; x0 = (0:1; 0:1;0:1)
F2 :
8>>>>>>>:x31 + x
21x2 x1x3 + 6
ex1 + ex2 x3
x22 2x1x3 4
; x0 = (1;2; 1)
F3 :
8>>>>>>>>>:
6x1 2 cos(x2x3) 1
9x2 +qx21 + sin(x3) + 1:06 + 0:9
60x3 + 3ex1x2 + 10 3 = 0
; x0 = (0; 0; 0)
Tabela 5.10: Aplicac~oes utilizadas nos experimentos e aproximac~oes iniciaisx0
65
-
Resultados
As tabelas abaixo ilustram os resultados obtidos para a resoluc~ao das equac~oes
Fi(x) = 0, listadas na tabela 5.1.2.
Metodo x? Iterac~oes Tempo
MN
0@ 0:59:03628302683433e 180:523598775598299
1A 6 0.0013998
ADM
0@ 0:53; 08341883797282e 180; 523598775598299
1A 5 0.0013947Tabela 5.11: Aplicac~ao F1; x0 = (0:1; 0:1;0:1)0; jxn xn+1j1 < 1015
Metodo x? Iterac~oes TempoMN Diverge { {
ADM
0@ 0; 53; 08341883797282e 180; 523598775598299
1A 5 0.0013109Tabela 5.12: Aplicac~ao F1; x0 = (0:1; 0:1;0:1)0; jxn xn+1j1 < 1020
Metodo x? Iterac~oes Tempo
MN
0@ 1:4560427959553361:6642304660815350:422493404446532
1A 6 0.0013326
ADM
0@ 1:4560427959553361:6642304660815350:422493404446532
1A 5 0.0011295Tabela 5.13: Aplicac~ao F2; x0 = (1;2; 1)0; jxn xn+1j1 < 1015
66
-
Metodo x? Iterac~oes Tempo
MN
0@ 1:4560427959553361:6642304660815350:422493404446532
1A 8 0.0019251
ADM
0@ 1:4560427959553361:6642304660815350:422493404446532
1A 5 0.0014394Tabela 5.14: Aplicac~ao F2; x0 = (1;2; 1)0; jxn xn+1j1 < 1020
Metodo x? Iterac~oes Tempo
MN
0@ 0:4981446845894910:1996058955437800:528825977573387
1A 5 0.0013278
ADM
0@ 0:4981446845894910:1996058955437800:528825977573387
1A 4 0.0011077Tabela 5.15: Aplicac~ao F3; x0 = (0; 0; 0)
0; jxn xn+1j1 < 1015
Metodo x? Iterac~oes TempoMN Diverge { {
ADM
0@ 0; 4981446845894910; 1996058955437800; 528825977573387
1A 4 0,0009608Tabela 5.16: Aplicac~ao F3; x0 = (0; 0; 0)
0; jxn xn+1j1 < 1020
67
-
Para as aplicac~oes mostradas, as tecnicas analisadas n~ao apresentaram va-
riac~oes signicativas quando a precis~ao requerida foi 1015 (ver tabelas 5.11, 5.13
e 5.15). O Metodo da Decomposic~ao de Adomian mais uma vez se mostrou su-
perior quando o criterio de parada utilizado foi jxn xn1j1 < 1020 (tabelas5.12, 5.14 e 5.16). Nestes casos o metodo de Newton n~ao conseguiu atingir a pre-
cis~ao requerida com menos de 500 iterac~oes nas aplicac~oes F2 e F3. Apesar do
metodo da decomposic~ao de Adomian realizar mais operac~oes, este converge em
um numero menor de iterac~oes, de modo que o tempo computacional gasto n~ao
apresenta variac~oes signicativas entre os metodos.
68
-
5.2 Operador de Busca Local
Iremos nesta sec~ao realizar alguns experimentos numericos com problemas de
minimizac~ao de func~oes de classe Ck com restric~oes de igualdade de classe Ck,
utilizando o operador de busca local ilustrado na tabela 4.1. Foram realizados
experimentos utilizando diretamente a express~ao que dene a func~ao objetivo e
utilizando aproximac~oes quadraticas. A restric~ao dos problemas foram tratadas
como penalidades da func~ao de interesse f(x). Desta maneira, a func~ao objetivo
(FO) de cada problema sera dada por
FO(x) = f(x) + 10jh(x)j (5.1)
Nas simulac~oes, foi utilizado um algoritmo genetico padr~ao desenvolvido em
MATLAB, utilizando recombinac~ao real polarozada, com os para^metros descritos
na tabela 5.17.
Cada um dos problemas tratados tem suas variaveis denidas em algum inter-
valo I. Caso a coordenada de algum ponto que fora deste intervalo, esta e movida
para o interior deste (regi~ao factvel), por meio da reex~ao simples, simetrica ao
extremo do intervalo violado.
Para cada problema, foram executadas 100 insta^ncias do AG com estes para^-
metros. A cada cinco gerac~oes foi aplicado o procedimento de busca local. Em
cada gerac~ao, foi coletado o melhor valor obtido para a func~ao objetivo e em
seguida, tomado a media simples destes valores por gerac~ao, obtendo uma curva
de converge^ncia media para cada problema. Os problemas foram retirados de [7]
e [36]. A seguir apresentaremos os problemas tratados e os resultados obtidos em
cada um deles. Em cada graco obtido, o eixo x representa o numero de gerac~oes
69
-
Tipo de selec~ao: Roleta; Tipo de crossover: Cruzamento real polarizado; Fator de extrapolac~ao na func~ao de recombinac~ao (): 0.2; Probabilidade de Crossover: 0.6; Taxa de Mutac~ao: 0.01; Criterio de parada: numero maximo de gerac~oes Populac~ao inicial: 100 indivduos; Numero maximo de gerac~oes: 100;
Tabela 5.17: Para^metros utilizados no AG
enquanto o eixo y representa o valor medio da func~ao objetivo.
70
-
[P1]: Problema multimodal bidimensional
x? = arg mimx xTATAx 10[1 1] cos(2Ax)
sujeito a
8>: (x1 2)2 + (x2 2)2 = 1
4 < xi < 4; i = 1; 2
com
A =
264 1 00 4
375
10 20 30 40 50 60 70 80 90 1001.4
1.2
1
0.8
0.6
0.4
0.2
0
0.2
0.4
Geraes
FO
Pro
blem
a P1
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.1: Resultado problema P1
Para uma melhor visualizac~ao dos resultados, os valores da func~ao objetivo
foram contadas a partir da decima gerac~ao. A gura 5.1 ilustra que o AG apresenta
um melhor rendimento com a aplicac~ao do operador de busca local a partir da
vigesima gerac~ao.
71
-
[P2]: Func~ao Rastringin Tridimensional
x? = arg mimx xTx 10[1 1 1] cos(2x)
sujeito a
8>: (x1 0:65)2 + (x2 0:65)2 + (x3 0:65)2 = 15 < xi < 5; i = 1; 2; 3
10 20 30 40 50 60 70 80 90 10028
27
26
25
24
23
22
21
20
19
18
Geraes
FO
Pro
blem
a P2
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.2: Resultado problema P2
Para uma melhor visualizac~ao dos resultados, os valores da func~ao objetivo
foram contadas a partir da decima gerac~ao. A gura 5.2 ilustra que o AG apresenta
um melhor rendimento com a aplicac~ao do operador de busca local a partir da
vigesima gerac~ao.
72
-
[P3]: Problema Quadratico
x? = arg mimx x12 + x2
2 + x32
sujeito a
8>: (x1 2)2 + (x2 1)2 + 4(x3 1)2 = 14 < xi < 4; i = 1; 2; 3
10 20 30 40 50 60 70 80 90 1000.9
1
1.1
1.2
1.3
1.4
1.5
1.6
Geraes
FO
Pro
blem
a P3
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.3: Resultado problema P3
Para uma melhor visualizac~ao dos resultados, os valores da func~ao objetivo
foram contadas a partir da decima gerac~ao. A gura 5.3 ilustra que o AG apresenta
um melhor rendimento com a aplicac~ao do operador de busca local a partir da
vigesima gerac~ao.
73
-
[P4]: Problema n~ao Quadratico
x? = arg mimx (x1 2)4 + (x1 2x2)2
sujeito a
8>: x12 x2 = 0
4 < xi < 4; i = 1; 2
0 20 40 60 80 1006
5
4
3
2
1
0
Geraes
FO
Pro
blem
a P4
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.4: Resultado problema P4
Para este problema observamos um melhor rendimento do AG com a aplicac~ao
do operador de busca local logo nas primeiras gerac~oes, como ilustrado na gura
5.4. Ate a vigesima gerac~ao tambem se observa, em algumas gerac~oes, uma rapida
converge^ncia caracterizada por saltos no valor medio da func~ao objetivo. A partir
da vigesima gerac~ao este feno^meno ja n~ao ocorre, sendo que o valor medio da
func~ao objetivo reduz a uma taxa semelhante ao AG sem busca local.
74
-
[P5]: Problema quadratico em R5
x? = arg mimx 5:3578547x32 + 0:8356891x1x5 +
37:293239x1 40792:141;
sujeito a
8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:
85:334407 + 0:0056858x2x5
+0:0006262x1x4 0:0022053x3x5 = 92;78 < x1 < 102;
33 < x2 < 45;
27 < x3 < 45;
27 < x4 < 45;
27 < x5 < 45
0 20 40 60 80 1003.19
3.18
3.17
3.16
3.15
3.14
3.13
3.12
3.11
3.1
3.09x 104
Geraes
FO
Pro
blem
a P5
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.5: Resultado problema P5
Mais uma vez observamos na gura 5.5 um melhor rendimento do AG com
75
-
a aplicac~ao do operador de busca local logo nas primeiras gerac~oes e um gradual
distanciamento do valor medio da func~ao objetivo, indicando a atuac~ao positiva
deste operador ao longo de todas as gerac~oes.
[P6]: Problema polinomial de grau 6 em R7
x? = arg mimx (x1 10)2 + 5(x2 12)2 + x43 + 3(x4 11)2 +
10x56 + 7x6
2 + x74 4x6x7 10x6 8x7;
sujeito a
8>: 4x12 + x2
2 3x1x2 + 2x32 + 5x6 11x7 = 0;10 < xi < 10; i = 1; ; 7
10 20 30 40 50 60 70 80 90 100350
400
450
500
550
600
650
700
750
800
Geraes
FO
Pro
blem
a P6
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.6: Resultado problema P6
Para uma melhor visualizac~ao dos resultados apresentados na gura 5.6, os
valores da func~ao objetivo foram contadas a partir da decima gerac~ao. Ate a
vigesima gerac~ao o AG com busca local n~ao apresenta um rendimento superior
quando comparado ao AG sem a busca local, mas este quadro se inverte nas
76
-
gerac~oes seguintes. A partir da trigesima gerac~ao ambas metodologias evoluem de
forma parecida.
[P7]: Problema exponencial em R5
x? = arg mimx exp(x1x2x3x4x5)
sujeito a
8>>>>>>>:x1
2 + x22 + x3
2 + x42 + x5
2 = 10;
2:3 < xi < 2:3 i = 1; 23:2 < xi < 3:2 i = 2; 3; 4; 5
10 20 30 40 50 60 70 80 90 1002
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
Geraes
FO
Pro
blem
a P7
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.7: Resultado problema P7
Para uma melhor visualizac~ao dos resultados apresentados na gura 5.7, os
valores da func~ao objetivo foram contadas a partir da decima gerac~ao. Ate a
trigesima gerac~ao o AG com busca local apresenta um rendimento superior quando
comparado ao AG sem a busca local, porem evoluindo de forma parecida. Nas
77
-
gerac~oes seguintes, o AG sem busca local apresenta uma perda de rendimento,
enquanto que a o algoritmo hibridizado continua a apresentar uma evoluc~ao no
valor da func~ao objetivo, mostrando que sua atuac~ao ainda se faz presente de
forma signicativa.
[P8]: Problema cubicox? = arg mimx 3
p3 x1x2x3
sujeito a
8>: x12 + x2
2 + x32 = 1;
0 < xi < 1 i = 1; 2; 3
10 20 30 40 50 60 70 80 90 1000
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
Geraes
FO
Pro
blem
a P8
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.8: Resultado problema P8
Para uma melhor visualizac~ao dos resultados apresentados na gura 5.8, os
valores da func~ao objetivo foram contadas a partir da decima gerac~ao. A gura
5.8 ilustra que o AG apresenta um melhor rendimento com a aplicac~ao do operador
de busca local.
78
-
[P9]: Problema cubico em R7
x? = arg mimx x1x2x3
sujeito a
8>>>>>>>:x2x7 1250x5 x2x4 + 1250x4 = 0;10 < xi < 10000 i = 1; 4; 5; 6; 7
1000 < xj < 10000 i = 2; 3
0 20 40 60 80 1009
10
11
12
13
14
15
Geraes
log(F
O)
Prob
lema P
9
AG sem busca local (valor mdio)AG com busca Local (valor mdio)
Figura 5.9: Resultado problema P9
Observando a gura 5.9, ate a decima gerac~ao as duas metodologias apresentam
um rendimento semelhante. Entre as gerac~oes dez e trinta, o AG hibridizado
consegue uma melhora nos resultados, reduzindo o valor da func~ao objetivo a uma
taxa superior quando comparada ao AG padr~ao. Nas gerac~oes seguintes as duas
metodologias n~ao apresentam melhoria alguma.
Em todas as simulac~oes realizadas, o operador de busca local apresentou um
bom rendimento, obtendo uma melhora na qualidade da resposta encontrada pelo
79