Você está na página 1de 117

o Tecnolo

gica de Minas Gerais


Centro Federal de Educac
a
s-Graduac
o Modelagem Matema
tica e
Programa de Po
a
Computacional

Um operador de Busca Local para o Algoritmo


Gen
etico com restric
oes de igualdade utilizando
Decomposic
ao de Adomian

Ivan Reinaldo Meneghini

Texto de mestrado submetido `a Banca Examinadora designada pelo Colegiado do Programa


de Pos-Graduacao em Modelagem Matematica
Computacional do Centro Federal de Educacao
Tecnologica de Minas Gerais, como requisito final para obtencao do ttulo de Mestre.
Orientador: Prof. Fausto de Camargo J
unior
Co-orientador: Profa. Elizabeth Fialho Wanner

Belo Horizonte, 4 de julho de 2010

... os pensamentos postos em papel nao 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 dedicacao, paciencia, pelas palavras de incentivo e pelos puxoes 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 dedicacao 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 maos, me perguntando o que
eu achava. A resposta esta nas paginas seguintes. A minha irma Glasiela,
por estar ao meu lado em um momento tao importante. E principalmente a
Deus, por tudo.

Resumo
Este trabalho trata da utilizacao de metodos de continuacao para a obtencao da solucao da equacao F (x) = 0 e propoe a utilizacao de tais tecnicas
em um operador de busca local para o Algoritmo Genetico com uma restricao
de igualdade. A equacao F (x) = 0 e definida pela aplicacao F : D Rn com
n 1, contnua e suficientemente diferenciavel em algum domnio D Rn . O
operador de busca local proposto, aplicado em um Algoritmo Genetico basico
de codificacao real, se aplica a problema de minimizacao mono-objetivo da
forma
x? = arg min f (x)
sujeito a: g(x) = 0
.

Palavras chave: Analise numerica, metodos de continuacao, 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 defined by the
mapping F : D Rn , n 1, in which F is continuous and diferenciable in
a certain domain D Rn . The proposed local search operator, coupled with
a basic real-coded Genetic Algorithm, handles whith differenciable equality
constrained mono-objective optimization problems of the form
x? = arg min f (x)
subject to: g(x) = 0
.

Keywords: Numerical analysis, continuation methods, Hybrid Genetic


Algorithm.

Sum
ario

1 Introduc
ao

12

2 M
etodos num
ericos para determinac
ao de razes de equac
oes 15
2.1

Busca por Intervalos . . . . . . . . . . . . . . . . . . . . . . . 16

2.2

Iteracao de Ponto Fixo . . . . . . . . . . . . . . . . . . . . . . 17

2.3

Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4

Metodos Quasi-Newton . . . . . . . . . . . . . . . . . . . . . . 22

2.5

Metodos de Continuacao . . . . . . . . . . . . . . . . . . . . . 23
2.5.1

Metodo de Continuacao Finito . . . . . . . . . . . . . . 24

2.5.2

Metodos de Continuacao baseados em um problema


diferencial . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5.3

Metodo da Perturbacao da Homotopia . . . . . . . . . 27

2.5.4

Decomposicao de Adomian . . . . . . . . . . . . . . . . 30

3 Metaheursticas para resoluc


ao de problemas de otimizac
ao
n
ao linear

37

3.1

Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.2

Algoritmos Evolucionarios . . . . . . . . . . . . . . . . . . . . 40

3.3

Operadores de um AG . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1

Funcao Objetivo e de Aptidao . . . . . . . . . . . . . . 45

3.3.2

Selecao . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.3.3

Recombinacao . . . . . . . . . . . . . . . . . . . . . . . 48

3.3.4

Mutacao . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.3.5

Reinsercao . . . . . . . . . . . . . . . . . . . . . . . . . 54

4 Um operador de Busca Local para o AG


4.1

Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . 57

5 Experimentos Num
ericos
5.1

5.2

55

60

Resolucao de equacoes . . . . . . . . . . . . . . . . . . . . . . 61
5.1.1

Equacoes definidas por funcoes de uma variavel . . . . 61

5.1.2

Aplicacoes em Rn . . . . . . . . . . . . . . . . . . . . . 65

Operador de Busca Local . . . . . . . . . . . . . . . . . . . . . 69

6 Conclus
oes e trabalhos futuros

83

6.1

Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.2

Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 85

A Definic
oes

91

A.1 Topologia e Analise Matematica . . . . . . . . . . . . . . . . . 91


A.2 Algoritmos e Convergencia . . . . . . . . . . . . . . . . . . . . 97
B Aproximac
oes Quadr
aticas

101

B.1 Obtencao da Aproximacao Quadratica . . . . . . . . . . . . . 103

C Implementac
oes em MATLAB

106

C.1 MPH e ADM - funcao f1 . . . . . . . . . . . . . . . . . . . . . 106


C.2 ADM - aplicacao F1 . . . . . . . . . . . . . . . . . . . . . . . . 110
C.3 Busca local - problema P 1 . . . . . . . . . . . . . . . . . . . . 112

Lista de Figuras
2.1

Iteracoes do Metodo de Newton . . . . . . . . . . . . . . . . . 21

3.1

Escolha de 4 indivduos utilizando SUS . . . . . . . . . . . . . 47

3.2

Recombinacao multiponto com i {2, 7} . . . . . . . . . . . . 49

3.3

Recombinacao uniforme . . . . . . . . . . . . . . . . . . . . . 49

3.4

Recombinacao real convexa

3.5

Recombinacao real convexa com extrapolacao . . . . . . . . . 51

3.6

Recombinacao real convexa generalizada . . . . . . . . . . . . 52

3.7

Mutacao 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

. . . . . . . . . . . . . . . . . . . 50

5.9

Resultado problema P9 . . . . . . . . . . . . . . . . . . . . . . 79

Lista de Tabelas
3.1

Estrutura padrao de um Algoritmo Genetico . . . . . . . . . . 45

4.1

Operador de busca local em um AG . . . . . . . . . . . . . . . 58

5.1

Funcoes teste de uma variavel . . . . . . . . . . . . . . . . . . 62

5.2

Funcao f1 , x0 = 0.35, |xn xn1 | < 1050 . . . . . . . . . 62

5.3

Funcao f2 , x0 = 1, |xn xn1 | < 1050 . . . . . . . . . . . . 62

5.4

Funcao f3 , x0 = 1, |xn xn1 | < 1050 . . . . . . . . . . . . 63

5.5

Funcao f4 , x0 = 1.7, |xn xn1 | < 1050 . . . . . . . . . . . 63

5.6

Funcao f5 , x0 = 0.2, |xn xn1 | < 1050 . . . . . . . . . . 63

5.7

Funcao f6 , x0 = 10, |xn xn1 | < 1050 . . . . . . . . . . . 63

5.8

Funcao f7 , x0 = 4, |xn xn1 | < 1050 . . . . . . . . . . . . 64

5.9

Funcao f8 , x0 = 2, |xn xn1 | < 1050 . . . . . . . . . . . . 64

5.10 Aplicacoes utilizadas nos experimentos e aproximacoes iniciais


x0

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.11 Aplicacao F1 , x0 = (0.1, 0.1, 0.1)0 , |xn xn+1 | < 1015 . . 66


5.12 Aplicacao F1 , x0 = (0.1, 0.1, 0.1)0 , |xn xn+1 | < 1020 . . 66
5.13 Aplicacao F2 , x0 = (1, 2, 1)0 , |xn xn+1 | < 1015 . . . . 66
5.14 Aplicacao F2 , x0 = (1, 2, 1)0 , |xn xn+1 | < 1020 . . . . 67
10

5.15 Aplicacao F3 , x0 = (0, 0, 0)0 , |xn xn+1 | < 1015 . . . . . . 67


5.16 Aplicacao F3 , x0 = (0, 0, 0)0 , |xn xn+1 | < 1020 . . . . . . 67
5.17 Parametros utilizados no AG . . . . . . . . . . . . . . . . . . . 70
5.18 Tempo medio de execucao 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 solucao de equacoes da forma F (x) = 0 e um problema antigo e
basico em varias areas do conhecimento. Algumas equacoes possuem formas
analticas de resolucao, como os polinomios de grau ate quatro por exemplo,
mas dada a grande diversidade e especificidade dos problemas traduzidos por
meio de uma equacao, estes casos se tornam mais excecao do que regra. Contrapondo `as tecnicas analticas temos os metodos numericos. Historicamente
tao antigos quanto as tecnicas analticas, os metodos numericos de resolucao
de equacoes sempre foram um importante objeto de estudo e aliado das principais evolucoes tecnologicas existentes. Com o advento e a popularizacao
da computacao, a utilizacao e a pesquisa de tais tecnicas se tornaram mais
intensiva, contribuindo sobremaneira com o desenvolvimento cientfico atual.
A minimizacao de funcoes, ou problemas de otimizacao, consiste em determinar o valor de x? que minimiza alguma funcao f (x), sujeita ou nao a
algum tipo de restricao em seu domnio. O metodo simplex [1], dos multiplicadores de Lagrange e do gradiente conjugado [2, 3] sao exemplos de

12

metodologias aplicadas a este tipo de problema, que utilizam informacoes


diretas da funcao, das restricoes de domnio e/ou de suas derivadas para a
determinacao do valor otimo do problema. Quando estas informacoes nao sao
disponveis ou nao sao de facil obtencao, o problema de minimizacao pode ser
resolvido pela aplicacao de uma metaheuristica [4]. Uma eficiente classe de
metaheuristicas de busca e o Algoritmo Genetico [5]. Inspirado em processos
de selecao e evolucao propostos por Darwin, o Algoritmo Genetico se aplica
a diversos tipos de problemas, onde as funcoes podem ser diferenciaveis,
contnuas, discretas ou mesmo sem uma expressao analtica que as definam e
contituem um importante objeto de pesquisa, sendo alvo de constante aprimoramento [2, 6]. Inicialmente desenvolvido para problemas irrestritos, um
algoritmo genetico tambem e aplicado em problemas que apresentam algum
tipo de restricao no domnio da funcao de interesse [7, 2], usualmente utilizando uma funcao de penalidade. A aplicacao de um algoritmo genetico
em problemas com restricoes de igualdade foi descrito em [7], de modo que
o algoritmo de busca local proposto encontra a solucao para o problema de
forma eficiente e precisa. O presente trabalho propoe uma abordagem alternativa para o tratamento de restricoes de igualdade, introduzindo um novo
operador de busca local que aumenta a taxa de convergencia na busca de
solucoes que atendam a este tipo de restricao.
O trabalho esta dividido da seguinte forma: no captulo 2 faremos uma
breve introducao sobre algumas tecnicas de resolucao de equacoes. Dos
metodos analisados, daremos destaque a dois metodos recentemente desenvolvidos e classificados como metodos de continuacao: o Metodo da Perturbacao
da Homotopia e o Metodo da Decomposicao de Adomian. Criados de forma
13

independente, estes se aplicam tambem `a resolucao de equacoes diferenciais


ordinarias e parciais e tambem de equacoes integrais. No captulo 3 faremos
uma breve apresentacao 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 decomposicao de Adomian.
Este sera aplicado no Algoritmo Genetico em problemas de minimizacao com
restricoes de igualdade. Experimentos numericos utilizando os metodos de
continuacao descritos no captulo 2 e o mecanismo de busca local desenvolvido
no captulo 4 sao apresentados no captulo 5 em diversos tipos de problemas,
com caractersticas distintas e diferentes graus de dificuldade. O apendice A
faz uma revisao de topicos matematicos e computacionais presentes em todo
o texto. O apendice B trata das aproximacoes quadraticas de uma funcao,
uma metodologia que permite a aplicacao do Algoritmo Genetico hibrido
proposto em problemas onde nao se dispoe de uma expressao algebrica para
a funcao de interesse ou esta e de difcil obtencao. Os codigos referentes aos
experimentos numericos realizados sao apresentados no apendice C.

14

Captulo 2
M
etodos num
ericos para
determinac
ao de razes de
equac
oes
Neste captulo iremos abordar os metodos numericos de obtencao da
solucao x? da equacao f (x) = 0 onde f : Rn Rn com n = 1, 2, k e
uma funcao de classe C k , k 0. Dos metodos listados a seguir, apenas
o metodo de busca por intervalos nao exige a diferenciabilidade da funcao
f (x). Nos demais, exige-se que a funcao considerada seja suficientemente diferenciavel, ou seja, tenha derivadas contnuas ate uma determinada ordem,
em geral dada pela ordem da expansao em serie de Taylor da funcao considerada. Como e de se esperar, a eficiencia do metodo e proporcional `a sua
sofisticacao e o tipo de informacao que se pode extrair da funcao de estudo.

15

2.1

Busca por Intervalos

Seja f : I R R uma funcao contnua com I = [a, b]. Se f (a)f (b) < 0
entao, pelo teorema do valor intermediario, sabemos que existe x? I tal
que f (x? ) = 0 [8]. O metodo de busca por intervalos, ou metodo da bissecao,
consiste na determinacao de uma sequencia de intervalos encaixantes In =
[an , bn ] contendo x? , com In+1 In , ate que uma das condicoes seja satisfeita:
|f (an )|  ou |f (bn )| 
bn an 

(2.1)

O metodo da bissecao 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 =

bn an
.
2

Entao

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 condicoes descritas em


(2.1) sejam satisfeitas. Naturalmente, e necessario que no intervalo inicial
considerado a funcao tenha paridade oposta nos.
Por se tratar de um metodo bem simples, este apresenta uma convergencia
muito lenta. Como o tamanho do intervalo e multiplicado por

1
2

a cada

iteracao, na iteracao n temos que

bn an =

ba
.
2n

Da, se x? e uma solucao e xn [an , bn ] entao |x? xn |


xn converge para x? com uma ordem de convergencia O

ba
2n
1
n2

e a sequencia
. Uma outra

deficiencia deste metodo e que no intervalo [a, b] que contem a solucao x? de


f (x) = 0, devemos ter que f (a) f (b) < 0 e portanto o metodo falha em casos
bem simples, como por exemplo f (x) = x2 no intervalo [1, 1].

2.2

Iterac
ao de Ponto Fixo

Definic
ao 2.2.1 (Ponto Fixo) Uma aplicac
ao G : D Rn Rn tem um
ponto fixo p D, se G(p) = p
O problema de se determinar x? tal que F (x? ) = 0 pode ser convertido
em um problema de determinacao de ponto fixo, bastando definir G(x) = x
F (x). Reciprocamente, se G(x) tem um ponto fixo p, entao F (x) = x G(x)
tem uma raiz em x = p.
Teorema 2.2.2 (Contrac
ao) Suponha que F : Rn Rn seja uma contracao em um conjunto fechado D Rn tal que F (D) D. Entao F tem
17

um u
nico ponto fixo p D e para qualquer x0 D, a iterac
ao

xn+1 = F (xn ),

(2.2)

converge para p. Alem disto,


|xn p| (1 )1 |xn xn1 |,

onde e a constante de contrac


ao definida em (A.1.8).
A demonstracao deste teorema se encontra em [9]. Da, se
G(x) = x F (x) e uma contracao entao e possvel se determinar uma raiz
de F (x).

2.3

M
etodo de Newton

O metodo de Newton e o mais conhecido e utilizado metodo iterativo para


se determinar uma solucao da equacao f (x) = 0 onde f : Rn Rn , n 1
e uma funcao de classe C 1 . Isto e devido a sua simplicidade, eficiencia e
elegancia. Com uma clara interpretacao geometrica, pode ser deduzido de
diversas maneiras diferentes e varios metodos mais sofisticados o apresentam
como caso particular. Apresentaremos a seguir uma das maneiras de se obter
a forma geral de sua iteracao.
Suponha, que para a aplicacao diferenciavel F : D Rn Rn , exista
x? Rn tal que F (x? ) = 0 e F 0 (x? ) > 0. Fazendo a + v = x? na expansao
em serie de Taylor de F (x), a saber

18

1
1
F (a + v) = F (a) + F 0 (a) v + F 00 (a) v 2 + + F (p) v p + rp (v), (2.3)
2
p!
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 entao,

0 F (a) + F 0 (a) (x a)
F 0 (a) (x a) F (a)
x a (F 0 (a))

F (a)

x a (F 0 (a))

F (a).

Au
ltima relacao acima induz o metodo iterativo dado por
xn+1 = xn (F 0 (xn ))

19

F (xn )

(2.4)

A iteracao acima define o metodo conhecido como Metodo de Newton ou


Metodo de Newton-Raphson para se aproximar, com uma precisao dada, uma
raiz de F (x). Em [9], encontramos a demonstracao de que o Metodo de
Newton apresenta convergencia quadratica se f (x0 )f 00 (x0 ) > 0. Modificacoes
deste metodo surgem a todo momento na busca da melhoria de sua taxa de
convergencia. Observe que, para funcoes de uma variavel, definindo

g(xn1 ) = xn1

f (xn1 )
para n 1,
f 0 (xn1 )

(2.5)

o Metodo de Newton se reduz a iteracao de ponto fixo xn = g(xn1 ).


Geometricamente (figura 2.1), no caso unidimensional quando passamos
da iteracao xk1 para a iteracao xk , a funcao f (x) e aproximada pela funcao
afim

f 0 (xk )(x xk ) + f (xk ) = y,

(2.6)

que representa a equacao da reta tangente ao grafico de f (x) no ponto


(xk , f (xk )), cuja raiz (em x) e o ponto xk+1 . A sequencia das iteracoes
convergem, segundo o criterio de parada, para a solucao x? de f (x) = 0 .
Uma desvantagem deste metodo e a exigencia de uma boa aproximacao
inicial. Uma outra desvantagem reside no fato de que em cada iteracao 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
dimensao do problema nao e muito grande e as funcoes envolvidas sao relativamente simples.
Na pratica, podemos determinar numericamente a matriz jacobiana uti20

Figura 2.1: Iteracoes do Metodo de Newton


lizando diferencas finitas:
fj
fj (xi + ek h) f (xi )
(xi ) =
xk
h

(2.7)

com |h| pequeno (h R) e sendo ek o k-esimo vetor da base canonica. Ja o


calculo 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 resolucao


de um sistema de equacoes lineares tem um custo computacional menor do
que o processo de inversao de uma matriz.

21

2.4

M
etodos Quasi-Newton

A modificacao do metodo de Newton proposta em (2.7) inspira os chamados Metodos Quasi-Newton, tambem chamados de Metodo de Newton
Discretizado [10, 11, 3]. Por apresentarem uma taxa de convergencia mais
lenta, a aplicacao de tais metodos se justifica nos casos onde a determinacao
da derivada (ou do jacobiano) da funcao de interesse, bem como de sua inversa, tem um custo computacional alto ou mesmo e impossvel de ser obtida.
Para o caso unidimensional, a equacao (2.7) se resume a:

xn+1

f (xn + hn ) f (xn )
= xn
hn

1
f (xn ) para n = 0, 1,

(2.8)

Dois casos especiais da equacao (2.8) sao o Regula Falsi, cuja iteracao e
dada por


xn+1

f (
x) f (xn ))
= xn
x xn

1
f (xn ) para n = 0, 1,

(2.9)

onde hn = x xn para algum x fixo, e o metodo da secante, cuja iteracao e


dada por

xn+1

f (xn1 ) f (xn ))
= xn
xn1 xn

1
f (xn ) para n = 0, 1,

(2.10)

onde hn = xn1 xn .
Para o caso de dimensao n, muitas sao as generalizacoes de (2.7), produ-

22

zindo os chamados metodos de atualizacao de secante de alteracao 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 iteracao
por uma matriz Ai definida da seguinte maneira:

A1
Ai

[F (x1 ) F (x0 ) J(x0 )(x1 x0 )] (x1 x0 )t


(2.11)
= J(x0 ) +
|x1 x0 |2
yi Ai1 s1 t
= Ai1 +
si
(2.12)
|si |2

onde

yi = F (xi ) F (xi1 )
si = xi xi1

E cada iteracao do metodo de Broyden e dada por


xn+1 = xn A1
n F (xn )

2.5

(2.13)

M
etodos de Continua
c
ao

Os metodos de Busca Unidimensional por Intervalos procuram uma solucao


de f (x) = 0 criando uma sequencia de intervalos encaixados In+1 In contendo uma solucao x? . Os metodos de Newton e suas variacoes buscam
a solucao de F (x) = 0 utilizando informacoes da propria aplicacao F (x)
ou de suas derivadas (ou mesmo de aproximacoes de F 0 (x)), criando uma

23

sequencia de pontos no domnio de F (x) convergindo para a solucao x? .


Nesta secao, discutiremos uma terceira categoria de metodos, chamada de
Metodos de Continuacao (ver[13, 14]), que buscam a solucao de F (x) = 0,
com F : D Rn Rn , utilizando uma sequencia de pontos definida
em uma curva C : R Rn obtida por meio da aplicacao da homotopia
H : [0, 1] Rn Rn , dada por

H(t, x) = tF (x) + (1 t)G(x),

(2.14)

entre a funcao objetivo F e uma outra aplicacao G, onde o valor de x? Rn ,


tal que G(x? ) = 0 e conhecido ou de facil obtencao.

2.5.1

M
etodo de Continua
c
ao Finito

Seja

G(x) = F (x) F (x0 ),

(2.15)

sendo x0 uma aproximacao inicial para a obtencao da solucao 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 equacao H(t, x) = 0 com t [0, 1] e suponha que para


cada t [0, 1] uma solucao x? t = x? (t) de H(t, x) = 0 possa ser obtida por
algum metodo sequencial e que a aplicacao H(t, x? (t)) seja contnua em t.
Como H(1, x) = F (x), entao x? (1) = x? e uma solucao de F (x). Para isto,

24

devemos determinar a sequencia de pontos {x?n (t)} na curva C : R D Rn


definida por C(t) = H(t, x? (t)). Considere uma particao

P = {0 = t0 , t1 , , tp = 1}
do intervalo [0, 1] e x0 Rn uma aproximacao qualquer da solucao x? de
F (x). Para cada ponto ti de P aplicamos o metodo de Newton para determinarmos a solucao x?i da equacao H(ti , x) = 0. Para o primeiro ponto
t0 = 0 de P, tomamos uma aproximacao inicial x0 e para cada equacao
H(tk , x) = 0 utilizamos como aproximacao inicial a solucao x?k1 obtida anteriormente. Repetindo este processo p vezes para todo i = 0, 1, p 1
obtemos x? (1) = x? que e uma solucao de F (x).
Este metodo e ideal quando nao dispomos de uma boa aproximacao inicial
x0 para a solucao 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

M
etodos de Continua
c
ao baseados em um problema diferencial

Novamente, queremos determinar uma sequencia de pontos {x? n (t)} na


curva C : R D Rn , com 0 = t1 , , tm = 1. Tomando a derivada de
H(t, x(t)) = 0 em relacao a t encontramos

0=

H(t, x(t)) H(t, x(t)) 0


+
x (t).
t
x

Resolvendo esta equacao para x0 (t), obtemos

25

H(t, x(t))
x (t) =
t
0

1

H(t, x(t))
,
t

um sistema de equacoes diferenciais com condicao inicial x(0) = x0 que pode


ser resolvido utilizando algum metodo numerico conhecido, como o Runge
Kutta, por exemplo. Em [12] ha uma descricao detalhada do algoritmo e
exemplos.
Nas proximas secoes abordaremos dois metodos de continuacao: O Metodo
da Perturbacao da Homotopia (MPH) e o Metodo da Decomposicao de
Adomian (MDA). Tais metodos surgiram de forma independente e sao aplicadas `a resolucao dos mais diversos tipos de equacao (algebricas, diferenciais
ordinarias, diferenciais parciais, integrais etc) e na referencia [15] e demonstrada a equivalencia entre estas duas tecnicas. Cada tecnica, a seu modo,
considera a representacao da solucao x? de uma equacao f (x) = 0, onde f (x)
e uma funcao real de variavel real suficientemente diferenciavel, como uma
serie

x? = x0 + tx1 + t2 x2 + t3 x3 +
Em particular, o MDA faz t = 1 e introduz uma representacao para a
funcao f (x) como soma de polinomios (polinomios 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

M
etodo da Perturba
c
ao da Homotopia

O Metodo da Perturbacao da Homotopia (MPH), proposto por He [16]


encontra a solucao de uma equacao algebrica nao linear de uma variavel
real f (x) = 0. Este metodo e inspirado no trabalho de Nayfeh que, em
[17], considera a aproximacao da solucao de uma equacao algebrica cuja
variavel depende de um parametro . Tal tecnica e chamada de Perturbacao
do Parametro (Parameter Perturbation). O metodo proposto por He aplica
esta tecnica na homotopia

H(t, x) = tf (x) + (1 t)g(x), x R, t [0, 1]

(2.17)

onde f : R R e a funcao de interesse e g : R R e uma funcao ainda a


determinar. Note que H(0, x) = g(x), H(1, x) = f (x) e portanto H(t, x) = 0
pode ser considerada uma equacao cuja variavel x depende de um parametro t
(pequeno) e a tecnica da perturbacao do parametro pode ser aplicada. Assim
como em [17], supomos que a solucao de H(t, x) = 0 pode ser expressa como
uma serie de potencias em t:

x = x0 + tx1 + t2 x2 + t3 x3 +

(2.18)

Fazendo t 1 encontramos

x? = x0 + x 1 + 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 solucao de f (x).

27

Considerando x0 uma solucao conhecida de g(x), a representacao em serie


potencias de x dada por (2.18) e a expansao em serie de Taylor em torno de
x0 das funcoes f (x) e g(x), obtemos

f (x) = f (x0 ) + f 0 (x0 )(tx1 + t2 x2 + )


1
+ f 00 (x0 )(tx1 + t2 x2 + )2 +
2!

(2.19)

g(x) = g(x0 ) + g 0 (x0 )(tx1 + t2 x2 + )


1
+ g 00 (x0 )(tx1 + t2 x2 + )2 +
2!

(2.20)

Substituindo (2.19) e (2.20) em H(t, x) = 0 e igualando os coeficientes de


mesma potencia em t, obtemos

t:
t2 :
t3 :

g 0 (x0 )x1 + f (x0 ) g(x0 ) = 0


1
g 0 (x0 )x2 + [f 0 (x0 ) g 0 (x0 )]x1 + g 00 (x0 )x21 = 0
2
1
g 0 (x0 )x3 + [f 00 (x0 ) g 00 (x0 )]x1 + g 00 (x0 )x1 x2
2
1
+ [f 0 (x0 ) g 0 (x0 )]x2 + g 000 (x0 )x31 = 0
3!

(2.21)

Se g 0 (x0 ) 6= 0, entao podemos, a partir de (2.21), determinar expressoes


para x1 , x2 e x3 :

x0

solucao de g(x) = 0

x1 =

f (x0 )
g 0 (x0 )

28

x2 =
x3 =

[g 0 (x0 ) f 0 (x0 )] x1 12 g 00 (x0 )x21


g 0 (x0 )
1 00
00
00
0
0
2 [g (x0 ) f (x0 )] x1 g (x0 )x1 x2 [f (x0 ) g (x0 )] x2
g 0 (x0 )

(2.22)
1 000
3
3! g (x0 )x1

Como g(x) deve ser uma funcao conhecida e cujas derivadas g 0 (x), g 00 (x) e
g 000 (x) sejam de facil manipulac
ao, as possveis escolhas para g(x) sao:
1. Uma funcao linear ou quadratica;
2. Partes da funcao f (x).
Em particular, tomando g(x) = f (x) f (x0 ), onde x0 e uma aproximacao para
a solucao de f (x) = 0, as expressoes definidas em (2.22) ficam

x1 =
x2
x3

f (x0 )
f (x0 )



1 f 00 (x0 ) 2
1 f 00 (x0 ) f (x0 ) 2
=
x =
2! f 0 (x0 ) 1
2! f 0 (x0 ) f 0 (x0 )
1 f 000 (x0 ) 3
f 00 (x0 )
x1 x2
x
= 0
f (x0 )
3! f 0 (x0 ) 1

(2.23)

E desta maneira obtemos as aproximacoes de primeira, segunda e terceira


ordens:

aproximacao de primeira ordem:

x = x0 + x1

aproximacao de segunda ordem:

x = x0 + x1 + x2

aproximacao de terceira ordem:

x = x0 + x1 + x2 + x3

Utilizando as aproximacoes (2.23), determinamos as iteracoes de primeira, se-

29

gunda e terceira ordens

xn+1 = xn

f (xn )
f 0 (xn )

xn+1 = xn

f 00 (xn )
f (xn )

f 0 (xn ) 2f 0 (xn )

(2.24)


f (xn )
f 0 (xn )

2



f (xn )
f 00 (xn ) f (xn ) 2
xn+1 = xn 0
0
f (xn ) 2f (xn ) f 0 (xn )
(

 )

f 000 (xn ) 1 f 00 (xn ) 2
f (xn ) 3
+

6f 0 (xn ) 2 f 0 (xn )
f 0 (xn )

(2.25)

(2.26)

Note que a iteracao de primeira ordem corresponde ao conhecido metodo de


Newton-Raphson. Wu [18] considera em seu artigo outras possibilidades para
a funcao auxiliar g(x), tais como a funcao constante ou a funcao exponencial,
enquanto que Feng e He [19] utiliza as formulas de diferencas centradas

f 0 (xn ) =
f 00 (xn ) =

f (xn + h) f (xn h)
2h
f (xn + h) 2f (xn ) + f (xn h)
h2

(2.27)
(2.28)

com h = f (xn ), 6= 0 em (2.25) obtendo a aproximacao de segunda ordem

xn+1 = xn

2hf (xn )
f (xn + h) f (xn h)

(2.29)

e demonstra a sua convergencia.

2.5.4

Decomposic
ao de Adomian

Um metodo iterativo eficiente proposto por Adomian [20, 21] para a resolucao
de equacoes nao lineares de diversos tipos (algebricas, diferenciais, diferenciais

30

parciais, integrais etc) e o Metodo de Decomposicao de Adomian (MDA). Vamos


iniciar sua descricao para a determinacao de razes de uma equacao definida pela
expressao f (x) = 0, onde f (x) e uma funcao real de variavel real. Este metodo
considera a representacao da solucao x? de uma equacao f (x) = 0 pela serie

x =

xn .

(2.30)

n=0

Assumimos que a equacao f (x) = 0 pode ser escrita na forma canonica

x = c + N (x),

(2.31)

onde c e uma constante e N (x) e uma funcao nao linear. A parte nao linear N (x)
de f (x) pode ser representada pela serie

N (x) =

An ,

(2.32)

n=0

onde as parcelas An = An (x0 , x1 , , xn ) sao os chamados Polinomios de Adomian


definidos por
"
1 dn
An =
N
n! dn

X
i=0

!#
i

xi

(2.33)

=0

Abbaoui e Cherruault [22] demonstram que a serie (2.32) e absolutamente convergente se existe [0, 1] tal que |An+1 | |An |, e propoem uma nova formulacao
para se determinar An . Abbaoui et all [23] tratam da generalizacao dos Polinomios
de Adomian para o caso de n variaveis. Para n = 0 em (2.33), obtemos

A0 =

"
1 d0
N
0! d0

!#
0 x0 + 1 x1 +

i=0

31

=0

= N

!
x0 + x1 +
1

i=0

= N

=0

x0 + 0 +

i=0

= N (x0 )

e os demais sao obtidos da mesma maneira. Por exemplo, os polinomios A1 e A2


sao

A1 = x1 N 0 (x0 )
1
A2 = x2 N 0 (x0 ) + x21 N 00 (x0 ).
2

Substituindo (2.30) e (2.32) em (2.31) obtemos

xn = c +

n=0

An ,

(2.34)

n=0

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 Decomposicao de Adomian pode ser entao expresso pela serie


P
arios metodos iterativos sao decorrentes da equacao (2.34) trunS=
n=1 xn . V

32

cando esta serie em algum n. Por exemplo, considere a expansao em serie de


Taylor de segunda ordem de uma funcao f : R R de classe C 2

f (x h) = f (x) hf 0 (x) + h2

f 00 (x)
+ r2 (h).
2!

(2.38)

= x x? .
Para x suficientemente proximo da solucao x? de f (x) = 0, seja h
= 0 e entao
Assim f (x h)

00
f (x h) f (x) hf 0 (x) + h2 f (x) .
0 = f (x? ) = f (x h)
2!

(2.39)

:
Resolvendo (2.39) para h encontramos a seguinte aproximacao para h
2 00
h = f (x) + h f (x) ,
h
f 0 (x)
2 f 0 (x)

ou simplesmente,

h = c + N (h),
onde c =

f (x)
f 0 (x)

e uma constante e N (h) =

h2 f 00 (x)
2 f 0 (x)

e uma funcao nao linear na

variavel h. Utilizando a expressao (2.34) e fazendo n = 0 temos que x0 = c =

f (x)
f 0 (x)

x h e portanto,
e uma aproximacao para x? = x h

x? x h = x

f (x)
,
f 0 (x)

que fornece a conhecida iteracao de Newton-Raphson.


Considere agora a expansao em serie de Taylor de primeira ordem de uma
funcao 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 suficientemente proximo da solucao x? de f (x) = 0 e h e pequeno,


temos que f (x h) 0. Resolvendo (2.41) para h obtemos

f (x)
g(h)
+
f 0 (x) f 0 (x)

h =

h = c + N (h).

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 )
=

onde fazemos x0 = c =


N

f (x)
f 0 (x)

f (x)
f 0 (x)

g
=
=

f (x)
+N
f 0 (x)

f (x)
f 0 (x)


.

(2.43)

pela equacao (2.35). Mas

(2.42)

f (x)
f 0 (x)
f 0 (x)




1
f (x) 0
f (x)
f (x) f (x) + f x 0
f 0 (x) f 0 (x)
f (x)


f (x)
f x f 0 (x)
.
f 0 (x)

34

(2.44)

Substituindo (2.44) em (2.43) obtemos

h=

f (x)
+
f 0 (x)


f x

f (x)
f 0 (x)

f 0 (x)

(2.45)

Como x? x h temos

x? x

f (x)

f 0 (x)


f x

f (x)
f 0 (x)

f 0 (x)

(2.46)

que fornece a iteracao proposta por Potra e Ptak [24],

xn+1 = xn

f (xn )

f 0 (xn )


f xn

f (xn )
f 0 (xn )

f 0 (xn )


,

(2.47)

que possui convergencia c


ubica para pontos em uma vizinhanca de x? .
Darvishi & Barati [25], ainda utilizando a decomposicao de Adomian, modificam (2.47) e apresentam a iteracao

f (x?n+1 )
f (xn )

f 0 (xn ) f 0 (x?n+1 )
f (xn )
= xn 0
,
f (xn )

xn+1 = xn
x?n+1

(2.48)

de convergencia superc
ubica, extendendo seu resultado para aplicacoes 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 Perturbacao da Homotopia discutido na secao 2.5.3,

35

considere a representacao da solucao x? da equacao f (x) = 0 pela serie

x? = x
0 + t
x1 + t2 x
2 + t3 x
3 +

(2.50)

apresentada em (2.18). Li [15] demonstra a equivalencia entre o Metodo da Perturbacao da Homotopia e o Metodo da Decomposicao de Adomian, considerando
os polinomios de Adomian definidos por

A1 = x
1 A0 + x
0 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 introducao 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 minimizacao mono
objetivo, que pode ser apresentado como

x? = arg min f (x)


x

gi (x) 0 i = 1 r
sujeito a

hj (x) = 0 j = 1 p

37

(3.1)

onde x Rn , f : D Rn R e chamada de Funcao de Interesse ou Funcao


Objetivo, D Rn e chamado de Espaco de Busca, gi : Rn R sao restricoes de
desigualdade e hj : Rn R sao restricoes de igualdade. Uma solucao (local) de
(3.1) e um ponto x?k D que atenda a todas as restricoes e que possui o menor
valor para f (x) em algum conjunto aberto Dk D. Uma solucao global x? D
e uma solucao local x?k com o menor valor possvel quando avaliada pela funcao
objetivo f (x).
Caso a funcao objetivo f (x) e as restricoes gi (x), hi (x) sejam de classe C k ,
e possvel a utilizacao de metodos exatos para a obtencao de x? [8, 2] tais como
o Metodo do Gradiente ou o Metodo do Gradiente Conjugado, que utilizam informacoes do vetor gradiente para determinar a direcao de busca e o tamanho do
passo. Tais tecnicas sao muito eficientes no refinamento de solucoes, porem muitas
vezes apresentam um custo computacional alto devido ao calculo das derivadas.
Alem disso exigem uma escolha inicial suficientemente proxima de um otimo local
(que tambem atenda `as restric
oes) e nao apresentam estruturas que permitam a
exploracao do espaco de busca a fim de se encontrar um otimo global, falhando no
caso de funcoes multimodais.
Uma alternativa a tais metodos sao as Metaheursticas. Estas se baseiam
na exploracao estocastica inteligente do espaco de busca. Algumas tem seu
funcionamento baseado em estruturas sociais, tais como Otimizacao por Colonia
de Formigas (Ant Colony Optimization Metaheuristic - ACO [26, 4]) 1 , processos
fsicos, como Simulated Annealing [4]

ou em processos de evolucao e selecao

natural propostos por Darwin, como os Algoritmos Evolucionarios [5]. Como o


1
Metaheurstica inspirada na exploracao por caminhos aleatorios de um ambiente por
formigas e a posterior convergencia destas rotas em uma que minimiza a distancia percorrida do formigueiro `a fonte de alimento [27].
2
Metaheurstica inspirada no processo de forja de metais, onde ha uma repeticao de
processos de aquecimento e resfriamento, ate se atingir um estado desejado de organizacao
molecular.

38

foco das acoes destas tecnicas e de natureza exploratoria do espaco de busca,


tais metodos nao exigem a diferenciabilidade ou mesmo continuidade da funcao
objetivo, podendo ser utilizados nos mais variados tipos de problema.
Uma fragilidade que as metaheursticas apresentam e sua pouca eficiencia em
realizar uma busca local e consequentemente fazer o refinamento de uma solucao.
Tambem estas apresentam pouca eficiencia para o caso de problemas de otimizacao
com restricoes de igualdade, uma vez que ha a reducao da dimensao e forma do
espaco de busca. O espaco de busca se reduz a pontos em uma superfcie de
dimensao inferior `a dimensao original do problema. Por exemplo, se a funcao
objetivo tem como domnio o espaco R2 , uma restricao de igualdade corresponde
a uma curva, um objeto de dimensao 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 eficiencia 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 utilizacao de algoritmos hbridos, que combinam a capacidade de exploracao do
espaco de busca das metaheursticas com algoritmos capazes de realizar o refinamento local de uma solucao. Esses algoritmos hbridos sao tambem conhecidos
como Algoritmos Memeticos [7].
As restricoes de igualdade ou de desigualdade sao tradicionalmente tratadas
utilizando o metodo das penalidades: ao se criar a funcao de aptidao F O(x),
as restricoes g(x)i sao incorporadas `a funcao objetivo f (x), que assume a forma
P
f (x) + i i g(x)+
esima restricao e g(x)+
i , sendo i o fator de penalidade da i-
i
denota o valor de gi se este for positivo, ou zero nos outros casos [7].
Um exemplo classico de utilizacao de metaheursticas e o Problema do Caixeiro

39

Viajante (PCV): Dado um conjunto de n cidades e conhecida a distancia entre


duas cidades quaisquer, queremos determinar a rota que visita todas as cidades
uma u
nica vez e percorre a menor distancia. Uma rota possvel e representada
n R
por um vetor n dimensional de inteiros positivos e a funcao objetivo f : Z+

avalia a distancia percorrida por aquela rota. Em [27, 4] ha uma descricao de


varias metaheursticas e problemas onde estas se aplicam.

3.2

Algoritmos Evolucion
arios

Os Algoritmos Evolucion
arios (AE) sao metaheursticas de busca populacional inspirados em processos biologicos de evolucao genetica e selecao natural
propostas por Darwin. Resumidamente, a teoria de Darwin diz que indivduos de
uma mesma especie nao sao identicos, mas apresentam pequenas variacoes de todo
tipo. O n
umero de indivduos nao apresenta grandes variacoes, estando limitado
pela capacidade do meio onde se encontram. Todo indivduo apresenta grande potencial reprodutivo, mas apenas aqueles que se mostraram mais adaptados ao meio
tem uma maior sobrevida e consequentemente uma maior prole. As caractersticas
que tornaram aquele indivduo mais apto sao transmitidas para seus descendentes,
fazendo com que aquela populacao apresente uma constante evolucao 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) assume 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 gerado aleatoriamente um conjunto de
nada deste vetor corresponde a um gene. E
pontos (populacao inicial) e associado a eles uma aptidao (fitness) relativa `a regiao
onde se encontram no espaco de busca, em geral utilizando a funcao objetivo e suas

40

restricoes. A exploracao do espaco de busca e feita por mecanismos estocasticos de


recombinacao (crossover ) e perturbacao (mutacao) dos pontos situados em regioes
promissoras, representados pela reproducao (sexuada e assexuada) de indivduos e
a mutacao de seus genes. A cada iteracao (geracao) novos pontos sao criados (filhos
ou offspring) a partir de pontos selecionados (pais) e inseridos na populacao, enquanto que outros sao selecionados para serem retirados, mantendo o tamanho da
populacao constante. Apos um n
umero pre estabelecido de geracoes, a populacao
(ou parte dela) converge para uma solucao otima [7, 5].
Faremos abaixo uma breve apresentacao de alguns modelos de Algoritmos Evolucionarios. Maiores detalhes podem ser encontrados em [5, 28, 29].
Sistema Evolucion
ario (EV (m, n)): Um EV (m, n) e o mais simples
exemplo de algoritmo evolucionario. Um conjunto de m indivduos sao gerados aleatoriamente, representados por vetores contendo suas caractersticas
basicas. Aleatoriamente sao escolhidos (com distribuicao uniforme) n indivduos para reproducao. O processo reprodutivo e assexuado, ou seja, um
indivduo gera um u
nico filho, que difere de seu pai pela aplicacao de um
operador de mutacao em seus genes. Para problemas que admitem a representacao por n
umeros reais, a mutacao corresponde a uma perturbacao nas
coordenadas dos pontos do espaco amostral, somando ou subtraindo uma
variavel aleatoria com distribuicao gaussiana de media zero e variancia .
Em seguida, n indivduos sao selecionados da populacao e competem diretamente com esta nova geracao, tendo como base sua funcao de aptidao.
Dentre estes 2n indivduos, selecionamos os n melhor avaliados pela funcao
de aptidao sao reintroduzidos na populacao.
Programa
c
ao Evolucion
aria (P E(m)): A programacao evolucionaria e
um aperfeicoamento do EV (m, n). Sua diferenca consiste em fazer o n
umero

41

de novos indivduos igual `a populacao inicial (m = n). Os novos indivduos


sao entao reintroduzidos na populacao e adota-se uma estrategia elitista de
selecao: apenas os m melhores indivduos avaliados pela funcao de fitness
sobrevivem para a proxima geracao. Desta maneira evita-se que um indivduo com baixa aptidao passe para a geracao seguinte. Desta maneira
ha um acrescimo da velocidade de convergencia, mas com uma perda de
diversidade populacional.
Estrat
egia Evolutiva (( + )EE, (, )EE): Mais sofisticada que as
anteriores, em uma EE e gerada uma populacao inicial de indivduos e,
a cada geracao, descendentes. O que difere as estrategias ( + )EE e
(, )EE e a maneira de como sao selecionados os indivduos para a geracao
seguinte. Na estrategia (+) os descendentes sao incorporados `a populacao
e entao e feita a selecao de novos indivduos. Na estrategia (, ), devemos
ter > e sao selecionados indivduos dentre os novos indivduos
gerados e desta maneira toda a populacao e renovada a cada geracao.
Ha varias possibilidades para os parametros e , tais como
1. 1 = ,
2. ,
3. (apenas na estrategia ( + )EE).
A reproducao dos indivduos pode ser assexuada (como na EV e P E) ou
sexuada, com a presenca de recombinacao. Discutiremos mais adiante este
mecanismo de recombinacao ao tratarmos dos Algoritmos Geneticos. A
mutacao aparece com uma pequena probabilidade de incidencia, tambem
por meio de uma perturbacao dada pela soma/subtracao de uma variavel
aleatoria com distribuicao gaussiana de media zero e variancia e apresenta

42

um fator de de auto adaptacao regido pela chamada regra do 1/5: Seja


a razao entre as mutacoes que geram um indivduo melhor do que o pai e
o total de indivduos mutados [5]. Se >

1
5

aumente o valor de . Caso

contrario, diminua o valor de .


Algoritmos Gen
eticos (AG): Os princpios basicos de um AG foram
propostos por Holland [30] e sao inspirados nos mecanismos de evolucao e
selecao natural, onde indivduos com melhor desempenho prevalecem e perpetuam suas caractersticas dominantes aos seus descendentes. Para resolver
o problema de minimizacao (3.1), inicialmente e gerado aleatoriamente (com
distribuicao uniforme sobre o espaco de busca) um conjunto de pontos (denominados indivduos). Originalmente, a representacao de tais pontos e feita
por um vetor de codificacao binaria, mas e usual se utilizar a codificacao
real. As coordenadas de tais pontos formam sua carga genetica (cromossomos). No caso da codificacao binaria, cada bit e tomado como um gene
do indivduo e, para pontos no espaco Rn , cada coordenada e um gene. A
sua aptidao, que indica o quao adaptado ao meio tal indivduo esta (se esta
proximo de um otimo local, por exemplo), e medida por um valor positivo
denotado por fitness ou funcao de aptidao, tomado como uma combinacao
da funcao objetivo e das funcoes de restricao.
A cada geracao alguns indivduos sao selecionados tomando como base o
seu valor da funcao de aptidao e sao recombinados, gerando novo indivduos
(offsprings). Tal procedimento parte do pressuposto que, combinando dois
indivduos com boa avaliacao, produziremos um novo indivduo tambem com
no processo de recombinacao que e realizada a
um bom valor de fitness. E
busca global, e a populacao converge para regioes onde se situa um otimo
local.

43

A uma pequena parcela destes novos indivduos, escolhidos aleatoriamente


e com uma pequena probabilidade de selecao (em geral menor do que 0.1), e
aplicado ainda um operador de mutacao, que realiza uma busca local. Esta
operacao pode ser a troca de um bit no caso da representacao binaria ou uma
pequena perturbacao nas coordenadas no caso da representacao real. Este
operador procura ampliar a variabilidade genetica da populacao, corrigindo
eventuais vcios.
Apos os processos de recombinacao e mutacao, os novos indivduos sao reinseridos na populacao e outros sao retirados em igual n
umero de modo a
manter o tamanho da populacao constante. Repetimos todos estes procedimentos a cada nova gerac
ao.
O tamanho da populacao inicial, o n
umero de geracoes, a forma de selecao
de indivduos para a recombinacao, o tipo de recombinacao realizado, a taxa
de mutacao aplicada e quais sao os indivduos retirados sao parametros determinantes para o desempenho de um AG. Na proxima secao abordaremos
alguns componentes de um AG.

3.3

Operadores de um AG

Nesta secao faremos uma breve apresentacao 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 populacao P (t);
avalie P (t)
enquanto nao finalizado, faca:
inicio: faca t = t + 1;
Selecione P (t) de P (t 1);
recombine os elementos de P (t);
aplique a mutacao nos novos elementos;
reinsira os novos elementos em P (t);
avalie P (t) e selecione indivduos para serem excludos da populacao.
fim
fim

Tabela 3.1: Estrutura padrao de um Algoritmo Genetico

3.3.1

Fun
c
ao Objetivo e de Aptid
ao

A Funcao Objetivo e dada pelo problema a ser tratado. Iremos tratar sempre de problemas de minimizacao, tais como (3.1), sendo que um problema de
maximizacao pode ser facilmente convertido em um problema de minimizacao,
multiplicando a funcao de interesse por 1. Usualmente, as restricoes de um problema de minimizacao sao agregadas `a funcao objetivo por meio do metodo de
penalidades. Assim, para (3.1), a funcao objetivo pode ser escrita como

F O(x) = f (x) + 1 g12 + + r gr2 + 1 h21 + + p h2p

(3.2)

sendo i e j pesos (positivos) associados `as funcoes de restricao. A funcao de


aptidao F (x) mede a adequacao de cada indivduo no espaco de busca e deve

45

sempre assumir um valor positivo. Isto pode ser feito pela transformacao afim

F (x) = a F O(x) + b
sendo a < 0 um fator de escala e b sendo usado para se manter a positividade de
F (x). Outras formas de definic
ao para a funcao de fitness podem ser encontradas
em [32, 5]

3.3.2

Selec
ao

Selecao e o mecanismo que determina quais indivduos irao se reproduzir e sofrer mutacao e quais indivduos serao eliminados da populacao. Um mecanismo de
selecao puramente elitista, que seleciona sempre os melhores indivduos segundo
sua funcao de aptidao (ou os piores, no caso de eliminacao de indivduos da populacao) e utilizado em algumas situacoes, mas seu uso fere o carater estocastico
do metodo e provoca uma perda de diversidade da populacao, enfraquecendo sua
capacidade de exploracao do espaco de busca. Iremos tratar com mais detalhes
tres metodos de selecao: o Torneio (Tournament Selection), a Roleta (Roulette
Whell Selection ou RWS) e o SUS (Stochastic Universal Sampling).
um metodo apropriado quando a populacao e elevada dado seu
Torneio: E
baixo esforco computacional. Para um populacao de tamanho n, escolha
aleatoriamente q indivduos. Destes q indivduos, e selecionado aquele com
maior valor da funcao de aptidao. Todos os indivduos selecionados retornam
`a populacao, podendo ser sorteados para o proximo torneio. Este procedimento e repetido ate atingir o n
umero de indivduos a serem selecionados.
um metodo onde a probabilidade de escolha de um indivduo e
Roleta: E
proporcional `a sua funcao de aptidao. A probabilidade P (xi ) do indivduo

46

xi ser selecionado e dada por

P (xi ) =

F (xi )
n
X

(3.3)

F (xj )

j=1

sendo F (xi ) a funcao de aptidao do indivduo xi . Para a escolha de um


indivduo, estes sao ordenados em uma lista e e sorteado um n
umero k em
Pn
[0, S), sendo S = j=1 F (xj ). A cada indivduo xi , i > 1, e associado um
P
Pi
subintervalo [li , ui ), sendo li = i1
j=1 F (xj ) e ui =
j=1 F (xj ) e o intervalo
[0, F (x1 )) e associado ao indivduo x1 . Se k [li , ui ) entao o indivduo xi e
sorteado e retirado da lista. A cada novo sorteio, o processo se repete.
No metodo da roleta, a cada indivduo sorteado devemos reiniciar o procedimento, o que eleva o custo computacional, que e O (n log(n)).
SUS: No metodo SUS, de uma populacao de n indivduos, selecionamos N
indivduos de uma so vez da seguinte maneira: Aleatoriamente escolhemos
P
um n
umero k no intervalo [0, S/N ], sendo S = nj=1 F (xj ). Em seguida selecionamos os indivduos associados aos intervalos [li , ui ) (definidos no metodo
S
S
S
da roleta) que contem cada um dos n
umeros k, k+ N
, k+2 N
, , k+(n1) N
.

O Metodo SUS apresenta um custo computacional O (n).


Fintess total da populao (n indivduos)

S/n

Figura 3.1: Escolha de 4 indivduos utilizando SUS

47

A figura 3.1 ilustra o sorteio dos indivduos A, B, C e F pelo metodo SUS.


O tamanho de cada indivduo e proporcional `a sua funcao de aptidao. A
amostragem no SUS faz uma melhor representacao da populacao reduzindo
vcios provocados por indivduos bem avaliados.

3.3.3

Recombina
c
ao

O processo de recombinacao, ou crossover, e o mecanismo responsavel pela exploracao do espaco de busca e refinamento de solucoes. Uma parte da populacao e
selecionada para reproducao. O n
umero de indivduos selecionados e definido pela
probabilidade de crossover (ou taxa de crossover pc ), geralmente entre 60 e 80 porcento da populacao. A recombinacao em um AG e sexuada, onde dois indivduos
(chamados de pais, sem distincao sexual) combinam sua carga genetica gerando
novos indivduos (filhos), que posteriormente e com uma pequena probabilidade
de ocorrencia, sofrem tambem o processo de mutacao. A maneira como e feito a
recombinacao e determinado pelo tipo de representacao do indivduo: binaria ou
real.
Recombina
c
ao Multiponto: Usado quando a representacao do indivduo
e binaria. Neste tipo de recombinacao, i posicoes sao aleatoriamente escolhidas, com i {1, 2, , l 1} sendo l o tamanho do cromossomo e l/2 uma
referencia para o n
umero de pontos escolhidos [5]. A partir das posicoes previamente determinadas, blocos de genes de cada indivduo sao permutados
gerando os novos indivduos.
A figura 3.2 ilustra a recombinacao dos indivduos Pai 1 e Pai 2 por meio
da recombinacao de dois pontos, com i {2, 7}. O filho 1 tem os genes
1,2,8,9,10,11 e 12 herdados do Pai 1 e os restantes sao herdados do Pai 2.
Para o Filho 2 a situacao se inverte.

48

A A A A A A A A A A A A

Pai 1

B B B B B B B B B B B B

Pai 2

A A B B B B B A A A A A

Filho 1

B B A A A A A B B B B B

Filho 2

Figura 3.2: Recombinacao multiponto com i {2, 7}


uma generalizacao da recombinacao multi Recombina
c
ao Uniforme: E
gerado uma mascara, que e um vetor binario de mesmo tamanho
ponto. E
dos indivduos com coordenadas aleatorias (0 ou 1), indicando quais genes
devem ser trocados.
A A A A A A A A A A A A

Pai 1

B B B B B B B B B B B B

Pai 2

1 1 1 0 0 1 0 0 0 0 1 1

Mscara

B B B A A B A A A A B B

Filho 1

A A A B B A B B B B A A

Filho 2

Figura 3.3: Recombinacao uniforme


A figura 3.3 ilustra a recombinacao uniforme. Para o Filho 1, o dgito 0
na posicao i do vetor mascara indica que este herda o gene da posicao i do
Pai 1, enquanto que o dgito 1 indica que este herda o gene da posicao i
do Pai 2. Para o Filho 2 a situacao se inverte.
Recombina
c
ao Real Convexa: Utilizada quando a representacao dos
indivduos e feita por vetores de codificacao real. Escolhidos dois pais x1 e

49

x2 , seu descendente x3 e obtido pela expressao

x3 = x1 + (1 )x2 ,

(3.4)

onde e uma variavel aleatoria com distribuicao uniforme no intervalo [0, 1].
Observe que (3.4) corresponde `a combinacao linear convexa dos pontos x1
e x2 , de modo que o novo indivduo x3 se encontra no interior do segmento
de reta definido pelos pontos x1 e x2 . A figura 3.4 ilustra este tipo de
recombinacao.

Figura 3.4: Recombinacao real convexa


Recombina
c
ao Real Convexa com Extrapola
c
ao: Uma forma de ampliar a capacidade de exploracao do espaco de busca feita pela recombinacao
real convexa e a introducao de um fator de extrapolacao [2, 7], que extende a
possvel localizacao dos descendentes para alem do segmento de reta definido
por seus pais. A recombinacao real convexa com extrapolacao e definida pela
expressao

x3 = x1 + (1 )x2 ,

50

(3.5)

onde
= + (1 2)

(3.6)

sendo 0 o fator de extrapolacao e e uma variavel aleatoria com distribuicao uniforme no intervalo [0, 1]. Observe que, se o fator de extrapolacao
for igual a zero, o novo indivduo x3 se localizara no interior do segmento
de reta S definido por x1 e x2 e temos a recombinacao real convexa comum.
Se > 0, a possvel localizacao do novo indivduo x3 se extende para alem
do segmento definido por x1 e x2 de forma simetrica.

Figura 3.5: Recombinacao real convexa com extrapolacao


A figura 3.4 ilustra a recombinacao real convexa com extrapolacao. O segmento de reta destacado indica a possvel localizacao do novo indivduo x3 .
Recombina
c
ao Real Polarizada: Mais sofisticada que as anteriores, a
recombinacao 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
avaliacao pela funcao de aptidao. Obtemos x3 da seguinte maneira:

x3 = x1 + (1 )x2

51

(3.7)

onde pertence ao intervalo [, 1 + ], sendo um fator de extrapolacao.


O parametro e selecionado de acordo uma distribuicao de probabilidade
dada por

= + (1 2)1 2 ,
onde 1 e 2 sao variaveis aleatorias com distribuicao 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].
analoga `a recombinacao
Recombina
c
ao Real Convexa Generalizada: E
real 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 filho pode se localizar no interior de um hipercubo que
contem seus pais. A figura 3.6 ilustra a esta situacao
Possvel localizao dos lhos

Gen 2

Pais

Potenciais lhos

Gen 1

Figura 3.6: Recombinacao real convexa generalizada


Os mecanismos de extrapolacao e polarizacao podem naturalmente ser in-

52

corporados `a recombinacao real convexa generalizada, bastando aplicar estes


procedimentos a cada uma das coordenadas dos pontos.

3.3.4

Mutac
ao

O operador de mutacao tem como objetivo produzir pequenas alteracoes no


cromossomos dos novos indivduos. Assim como em sistemas biologicos reais, um
descendente nao e uma simples mistura do codigo genetico de seus pais, sofrendo
pequenas alteracoes em seus genes. O operador de mutacao em um AG faz exatamente isto. Uma pequena parcela dos novos indivduos, definida pela probabilidade
de mutacao pm , sofre uma alteracao em seus genes. Man [32] sugere as seguintes
taxas de acordo com o tamanho da populacao quando e utilizada a representacao
binaria:
1. Para populacao muito numerosa (100 indivduos)
Taxa de recombinacao: Pc = 0.6.
Taxa de Mutacao: Pm = 0.001.
2. Para populacao pouco numerosa (30 indivduos)
Taxa de recombinacao: Pc = 0.9.
Taxa de Mutacao: Pm = 0.01.
Para indivduos com codificacao binaria, o operador de mutacao aleatoriamente
escolhe um gene e faz a troca do bit. No caso de codificacao real, uma coordenada
e perturbada segundo alguma distribuicao de probabilidade, em geral utilizando-se
a distribuicao gaussiana com media zero e variancia igual a um.
A figura 3.7 ilustra o processo de mutacao do quarto gene de um indivduo

53

A A A A A A A A A A A A

A A A B A A A A A A A A

Figura 3.7: Mutacao do quarto gen

3.3.5

Reinserc
ao

Apos a operacao de recombinacao e mutacao, os novos indivduos sao reinseridos na populacao. Como a cada geracao a populacao deve ter um n
umero fixo de
indivduos, alguns devem ser retirados. Para isto, ha duas estrategias: a elitista,
onde sobrevivem apenas os mais aptos (com maior valor da funcao de aptidao),
ou sao retirados os membros mais antigos da populacao, ou uma escolha aleatoira
com mais peso para os indivduos de maior aptidao, como na roleta.

54

Captulo 4
Um operador de Busca Local
para o AG
Algoritmos Geneticos sao eficientes metaheursticas de busca por populacao
para problemas de minimizacao, porem nao possuem mecanismos de busca local
responsaveis pelo refinamento da solucao encontrada e sao pouco eficientes para
problemas com restricao, em especial restricoes de igualdade [7]. Uma solucao
para tais deficiencias e a introducao de operadores de busca local, que fazem o
refinamento das solucoes encontradas. Com a introducao de um operador de busca
local em um AG, obtemos um algoritmo chamado de Algoritmo Genetico Memetico
ou Hbrido[34].
Uma das principais contribuicoes desta dissertacao e o desenvolvimento de um
operador de busca local para ser utilizado em um AG, que trata de problemas de
minimizacao de funcoes que apresentam restricoes de igualdade. Restricoes de desigualdade em um problema de minimizacao alteram a fronteira da regiao factvel,
reduzindo a liberdade de mobilidade dos pontos no processo de exploracao do
espaco de busca. Por outro lado, uma restricao de igualdade corresponde geometri-

55

camente a uma superfcie imersa no domnio de definicao do problema (como uma


curva para problemas bidimensionais), trazendo uma modificacao na dimensao e
na topologia do espaco de busca, dificultando ainda mais o movimento exploratorio
nas operacoes de cruzamento e mutacao do AG. Tal situacao e classificada como
busca em volume zero [7]. Como o algoritmo genetico foi projetado para problemas
irrestritos, tais complicadores elevam o grau de dificuldade do tipo de problema.
Em [7], o autor trata em sua tese de tais situacoes. O problema de minimizacao de uma funcao nao linear com uma restricao de igualdade nao linear e
resolvido da seguinte forma: utilizando os pontos da geracao atual, aproximacoes
quadraticas para a funcao sao obtidas. Em seguida, utilizando as condicoes de
Karush-Kuhn-Tucker (definicao A.10) e o metodo da bissecao, e possvel obter a
soluc
ao do problema quadratico associado. Esta solucao e entao reintroduzida na
populacao corrente do AG. Tal metodologia se mostrou eficiente para a resolucao
dos problemas propostos, porem o metodo da bissecao apresenta uma taxa de
convergencia lenta (da ordem O(1/2n )).
Diferentemente da proposta em [7], o operador de busca local apresentado aqui
age diretamente na restricao, aplicando o metodo da decomposicao de Adomian
tratado no captulo 2. Esta metodologia ajusta alguns pontos do espaco de busca
`a restricao do problema de minimizacao e apresenta convergencia superc
ubica.
Por atuar diretamente na restricao de igualdade, por apresentar convergencia superc
ubica e ser menos sensvel a valores iniciais, o metodo da decomposicao de
Adomian mostrou ser uma boa alternativa `a metodologia proposta em [7]. Alem
destas vantagens, o operador proposto introduz varios novos pontos na populacao,
todos ajustados `a restricao de igualdade.

56

4.1

Desenvolvimento

Considere o problema de minimizacao com uma restricao de igualdade

x? = arg minx f (x)

(4.1)

sujeito a h(x) = 0

onde todas as funcoes envolvidas sao de classe C k e x = (x1 , x2 , , xn ) Rn . A


equacao h(x) = 0 corresponde a uma superfcie formada pelos pontos de Rn cujas
coordenadas satisfazem a esta equacao.
Escolhido x
= (x1 , x2 , , xn ) um ponto da populacao em uma dada geracao
do AG e sendo x
= xk , 1 k n uma de suas coordenadas, definimos a funcao
hk : R R da seguinte maneira:

hk (
x) = h(x1 , , x
, , xn )

(4.2)

Como h e de classe C k , entao hk tambem e de classe C k e podemos utilizar


algum metodo descrito no capitulo 2 para resolver a equacao hk = 0 tomando como
aproximacao inicial a propria coordenada xk . Devido ao seu melhor desempenho
nos problemas analisados no captulo 5, foi escolhido o Metodo da Decomposicao
de Adomian, utilizando a iterac
ao dada por

xn+1 = xn

f (xn )

f 0 (xn )


f xn

f (xn )
f 0 (xn )

f 0 (xn )


.

(4.3)

Caso seja encontrada alguma solucao x


? de hk e o novo ponto
x
? = (x1 , , x
? , , xn ) apresente uma melhora funcao de aptidao, ou seja, se

57

F O(
x) F O(
x? )
entao o novo ponto x
? e incorporado `a populacao, substituindo x
. Tambem e
levado em conta se o novo ponto x
? pertence ao intervalo I onde esta definido o
problema. Caso contrario, se f (
x) < f (
x? ) ou x
?
/ I, x
e mantido.
O funcionamento do operador de busca local desenvolvido e descrita na tabela
4.1.

Passo 1: Para uma populacao de p indivduos, escolha q indivduos, q < p;


Passo 2: Para cada indivduo x escolhido, escolha aleatoriamente uma coordenada k de x e execute os passos 3 e 4.
Passo 3: Resolva a equacao hk (xk ) = 0.
Passo 4: Se for encontrada uma solucao x?k da equacao hk = 0 e o novo
ponto x? apresentar uma melhora na funcao objetivo e x? I,
substitua x por x? . Senao, 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 populacao. Nas simulacoes realizadas, q corresponde a 1/3 da populacao. Apos a classificacao dos indivduos segundo
a avaliacao de fitness, foram selecionados os indivduos localizados no terco medio
segundo esta classificacao, ignorando os melhores e os piores indivduos, localizados no primeiro terco e no terceiro terco respectivamente. Tal procedimento visa

58

escapar de algum otimo local onde os indivduos melhores classificados possam estar. 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 projecao do ponto x
na curva de restricao
segundo a k-esima coordenada.

Figura 4.1: Ajuste de x na coordenada ej


A figura 4.1 ilustra o ajuste do ponto x
. O ponto x
? corresponde `a projecao de
x
na curva de restricao C(ei , ej ), obtido resolvendo-se a equacao 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 nao se projeta na curva de restricao nesta coordenada.

59

Captulo 5
Experimentos Num
ericos
Faremos neste captulo uma serie de experimentos numericos 1 de modo a analisarmos as tecnicas apresentadas neste trabalho. Na primeira secao abordaremos
a resolucao de equacoes, onde utilizaremos o metodo da decomposicao de Adomian
e o metodo da perturbacao da homotopia, que sao metodos de continuacao apresentados no captulo 2. Na segunda secao vamos aplicar o operador de busca local
apresentado no captulo 4 para resolver alguns problemas de minimizacao com
restricoes de igualdade. Adotaremos duas estrategias: inicialmente, aplicaremos
o operador utilizando informacoes diretas da funcao objetivo e das derivadas das
funcoes de restricao e em seguida, aplicaremos a metodologia das aproximacoes
quadraticas descritas em B. Todas as rotinas foram executadas em MATLAB

se encontram no anexo C.
1

Os experimentos foram feitos em um computador do padrao IBM-PC com processador


Intel Pentium Dual Core (T4300 @ 2.10 GHz) dispondo de 3GB de memoria RAM, utilizando o sistema operacional LINUX UBUNTU (KARMIC KOALA 9.10 - kernel 2.6.31-19)
2
MATLAB vers
ao 7.7.0.471 (R2008b)

60

5.1
5.1.1

Resoluc
ao de equac
oes
Equac
oes definidas por func
oes de uma vari
avel

Nesta secao iremos contrapor o Metodo de Perturbacao da Homotopia de segunda e terceira ordens (MPH2 e MPH3) (utilizando as iteracoes (2.25) e (2.26)),
o Metodo de Decomposicao de Adomian (ADM) (utilizando a iteracao (2.47)) e
o Metodo de Newton (MN) (iteracao (2.4)) para determinarmos a solucao x? da
equacao f (x) = 0, onde f (x) sao funcoes reais de uma variavel real de classe C k .
As funcoes teste de uma variavel, bem como o ponto inicial dado, sao listadas
na tabela 5.1.1 e foram retiradas de [35] e [19]. Como criterio de parada foi
requerido que a distancia entre duas aproximacoes consecutivas fosse menor do
que 1050 ou o n
umero de iteracoes superior a 500. Caso algum metodo superar
500 iteracoes, este sera considerado divergente. Foi contado em cada simulacao o
n
umero de iteracoes e o tempo computacional gasto, em segundos.3

Resultados
As tabelas abaixo ilustram os resultados obtidos para a resolucao das equacoes
fi (x) = 0, listadas na tabela 5.1.1.

O tempo computacional foi medido utilizando a funcao TIC TOC do MATLAB.

61

Para as funcoes selecionadas, o metodo da Decomposicao de Adomian apresentou um bom desenho, mostrando-se superior ao metodo da Perturbacao da
Homotopia e o Metodo de Newton, com destaque para as funcoes 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) = xex sin2 (x) + 3 cos(x) + 5, x0 = 2.
2

f6 (x) = ex

2 +7x30

1, x0 = 10.

f7 (x) = esin(x) x 1, x0 = 4.
f8 (x) = ln(x), x0 = 2.
Tabela 5.1: Funcoes teste de uma variavel e aproximacoes iniciais x0
Metodo
MN
MPH2
MPH3
ADM

x?
Iteracoes
1.36523001341410
55
1.36523001341410
10
1.36523001341410
19
1.36523001341410
50

Tempo
0.0001987
0.0000913
0.0002495
0.0002978

Tabela 5.2: Funcao f1 , x0 = 0.35, |xn xn1 | < 1050


Metodo
x?
Iteracoes
MN
Divergente

MPH2
Divergente

MPH3
Divergente

ADM 1.404491648215341
17

Tempo

0.0000935

Tabela 5.3: Funcao f2 , x0 = 1, |xn xn1 | < 1050

62

Metodo
MN
MPH2
MPH3
ADM

x?
Iteracoes
0.257530285439861
6
0.257530285439861
4
0.257530285439861
5
0.257530285439861
5

Tempo
0.0000540
0.0000629
0.0001074
0.0000677

Tabela 5.4: Funcao f3 , x0 = 1, |xn xn1 | < 1050

Metodo
MN
MPH2
MPH3
ADM

x?
Iteracoes
0.739085133215161
6
0.739085133215161
6
0.739085133215161
4
0.739085133215161
4

Tempo
0.0000401
0.0000529
0.0000712
0.0000474

Tabela 5.5: Funcao f4 , x0 = 1.7, |xn xn1 | < 1050

Metodo
x?
Iteracoes
MN
Divergente

MPH2
Divergente

MPH3
Divergente

ADM -1.207647827130919
10

Tempo

0.0000703

Tabela 5.6: Funcao f5 , x0 = 0.2, |xn xn1 | < 1050

Metodo x?
MN 3
MPH2 3
MPH3 3
ADM 3

Iteracoes
146
98
80
107

Tempo
0.0003112
0.0003992
0.0005376
0.0004204

Tabela 5.7: Funcao f6 , x0 = 10, |xn xn1 | < 1050

63

Metodo
x?
Iteracoes
MN 0.000000001901298
36
MPH2
Divergente

MPH3
Divergente

ADM 0.0000000135027603
20

Tempo
0.0000961

0.0001081

Tabela 5.8: Funcao f7 , x0 = 4, |xn xn1 | < 1050


Metodo x?
MN 1
MPH2 1
MPH3 1
ADM 1

Iteracoes
Tempo
7
0.0001754
5
0.0001331
4
0.0001421
6
0.0003014

Tabela 5.9: Funcao f8 , x0 = 2, |xn xn1 | < 1050

5.3 e 5.6 respectivamente) onde estes dois u


ltimos falharam e na funcao f7 (tabela
5.8), onde falha o Metodo da Perturbacao da Homotopia. Apesar do metodo da
Decomposicao de Adomian e o metodo da Perturbacao da Homotopia realizarem
mais operacoes por iteracao quando comparado ao Metodo de Newton, os metodos
analisados nao apresentaram grandes variacoes quanto ao tempo computacional
gasto.

64

5.1.2

Aplicac
oes em Rn

Para aplicacoes F : Rn Rn , iremos contrapor o Metodo de Newton (MN)


e o Metodo da decomposicao de Adomian (ADM). As aplicacoes em Rn , listadas
na tabela 5.1.2, foram colhidas em [12]. O n
umero de equacoes deve ser igual
ao n
umero de vari
aveis 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 situacoes: |xn xn+1 | < 1015 e
|xn xn+1 | < 1020 , alem do n
umero maximo de iteracoes ser inferior a 500.
Mais uma vez foi contado em cada simulacao o n
umero de iteracoes e o tempo
computacional gasto, em segundos.

3x1 cos(x2 x3 ) 12

2
x1 81(x2 + 0.1)2 + sin(x3 ) + 1.06 , x = (0.1, 0.1, 0.1)
F1 :
0

ex1 x2 + 20x3 + 10 3
3
3
x1 + x21 x2 x1 x3 + 6

ex1 + ex2 x3
F2 :
, x0 = (1, 2, 1)

2
x2 2x1 x3 4

6x1 2 cos(x2 x3 ) 1

q
F3 :
9x2 + x21 + sin(x3 ) + 1.06 + 0.9 , x0 = (0, 0, 0)

60x3 + 3ex1 x2 + 10 3 = 0
Tabela 5.10: Aplicacoes utilizadas nos experimentos e aproximacoes iniciais
x0

65

Resultados
As tabelas abaixo ilustram os resultados obtidos para a resolucao das equacoes
Fi (x) = 0, listadas na tabela 5.1.2.

Metodo
MN

x?

0.5
9.03628302683433e 18
0.523598775598299

Iteracoes

Tempo

0.0013998

0.0013947

ADM

0.5
3, 08341883797282e 18
0, 523598775598299

Tabela 5.11: Aplicacao F1 , x0 = (0.1, 0.1, 0.1)0 , |xn xn+1 | < 1015

x?
Diverge

Iteracoes

Tempo

0, 5
3, 08341883797282e 18
0, 523598775598299

0.0013109

Metodo
MN

ADM

Tabela 5.12: Aplicacao F1 , x0 = (0.1, 0.1, 0.1)0 , |xn xn+1 | < 1020

x?
Tempo
Iteracoes
1.456042795955336
1.664230466081535
6
0.0013326
0.422493404446532

Metodo
MN

ADM

1.456042795955336
1.664230466081535
0.422493404446532

0.0011295

Tabela 5.13: Aplicacao F2 , x0 = (1, 2, 1)0 , |xn xn+1 | < 1015

66

x?
Tempo
Iteracoes
1.456042795955336
1.664230466081535
8
0.0019251
0.422493404446532

Metodo
MN

ADM

1.456042795955336
1.664230466081535
0.422493404446532

0.0014394

Tabela 5.14: Aplicacao F2 , x0 = (1, 2, 1)0 , |xn xn+1 | < 1020

x?
Tempo
Iteracoes
0.498144684589491
0.199605895543780
5
0.0013278
0.528825977573387

Metodo
MN

0.498144684589491
0.199605895543780
0.528825977573387

ADM

0.0011077

Tabela 5.15: Aplicacao F3 , x0 = (0, 0, 0)0 , |xn xn+1 | < 1015

x?
Diverge

Iteracoes

Tempo

0, 498144684589491
0, 199605895543780
0, 528825977573387

0,0009608

Metodo
MN

ADM

Tabela 5.16: Aplicacao F3 , x0 = (0, 0, 0)0 , |xn xn+1 | < 1020

67

Para as aplicacoes mostradas, as tecnicas analisadas nao apresentaram variacoes significativas quando a precisao requerida foi 1015 (ver tabelas 5.11, 5.13
e 5.15). O Metodo da Decomposicao de Adomian mais uma vez se mostrou superior quando o criterio de parada utilizado foi |xn xn1 | < 1020 (tabelas
5.12, 5.14 e 5.16). Nestes casos o metodo de Newton nao conseguiu atingir a precisao requerida com menos de 500 iteracoes nas aplicacoes F2 e F3 . Apesar do
metodo da decomposicao de Adomian realizar mais operacoes, este converge em
um n
umero menor de iteracoes, de modo que o tempo computacional gasto nao
apresenta variacoes significativas entre os metodos.

68

5.2

Operador de Busca Local

Iremos nesta secao realizar alguns experimentos numericos com problemas de


minimizacao de funcoes de classe C k com restricoes de igualdade de classe C k ,
utilizando o operador de busca local ilustrado na tabela 4.1. Foram realizados
experimentos utilizando diretamente a expressao que define a funcao objetivo e
utilizando aproximacoes quadraticas. A restricao dos problemas foram tratadas
como penalidades da funcao de interesse f (x). Desta maneira, a funcao objetivo
(F O) de cada problema sera dada por

F O(x) = f (x) + 10|h(x)|

(5.1)

Nas simulacoes, foi utilizado um algoritmo genetico padrao desenvolvido em


MATLAB, utilizando recombinacao real polarozada, com os parametros descritos
na tabela 5.17.

Cada um dos problemas tratados tem suas variaveis definidas em algum intervalo I. Caso a coordenada de algum ponto fique fora deste intervalo, esta e movida
para o interior deste (regiao factvel), por meio da reflexao simples, simetrica ao
extremo do intervalo violado.
Para cada problema, foram executadas 100 instancias do AG com estes parametros. A cada cinco geracoes foi aplicado o procedimento de busca local. Em
cada geracao, foi coletado o melhor valor obtido para a funcao objetivo e em
seguida, tomado a media simples destes valores por geracao, obtendo uma curva
de convergencia 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 grafico obtido, o eixo x representa o n
umero de geracoes

69

Tipo de selecao: Roleta;


Tipo de crossover: Cruzamento real polarizado;
Fator de extrapolacao na funcao de recombinacao (): 0.2;
Probabilidade de Crossover: 0.6;
Taxa de Mutacao: 0.01;
Criterio de parada: n
umero maximo de geracoes
Populacao inicial: 100 indivduos;
N
umero maximo de geracoes: 100;

Tabela 5.17: Parametros utilizados no AG


enquanto o eixo y representa o valor medio da funcao objetivo.

70

[P1]: Problema multimodal bidimensional


x? = arg mimx xT AT Ax 10[1 1] cos(2Ax)

(x1 2)2 + (x2 2)2 = 1


sujeito a

4 < xi < 4, i = 1, 2

1
0

A=

0 4

com

0.4
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

0.2

FO Problema P1

0
0.2
0.4
0.6
0.8
1
1.2
1.4
10

20

30

40

50
60
Geraes

70

80

90

100

Figura 5.1: Resultado problema P1


Para uma melhor visualizacao dos resultados, os valores da funcao objetivo
foram contadas a partir da decima geracao. A figura 5.1 ilustra que o AG apresenta
um melhor rendimento com a aplicacao do operador de busca local a partir da
vigesima geracao.

71

[P2]: Func
ao Rastringin Tridimensional
x? = arg mimx xT x 10[1 1 1] cos(2x)

(x1 0.65)2 + (x2 0.65)2 + (x3 0.65)2 = 1


sujeito a

5 < xi < 5, i = 1, 2, 3

18
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

19
20

FO Problema P2

21
22
23
24
25
26
27
28
10

20

30

40

50
60
Geraes

70

80

90

100

Figura 5.2: Resultado problema P2


Para uma melhor visualizacao dos resultados, os valores da funcao objetivo
foram contadas a partir da decima geracao. A figura 5.2 ilustra que o AG apresenta
um melhor rendimento com a aplicacao do operador de busca local a partir da
vigesima geracao.

72

[P3]: Problema Quadr


atico
x? = arg mimx x1 2 + x2 2 + x3 2

(x1 2)2 + (x2 1)2 + 4(x3 1)2 = 1


sujeito a

4 < xi < 4, i = 1, 2, 3

1.6
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)
1.5

FO Problema P3

1.4

1.3

1.2

1.1

0.9
10

20

30

40

50
60
Geraes

70

80

90

100

Figura 5.3: Resultado problema P3


Para uma melhor visualizacao dos resultados, os valores da funcao objetivo
foram contadas a partir da decima geracao. A figura 5.3 ilustra que o AG apresenta
um melhor rendimento com a aplicacao do operador de busca local a partir da
vigesima geracao.

73

[P4]: Problema n
ao Quadr
atico
x? = arg mimx (x1 2)4 + (x1 2x2 )2

x1 2 x2 = 0
sujeito a

4 < xi < 4, i = 1, 2

0
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

FO Problema P4

20

40

60

80

100

Geraes

Figura 5.4: Resultado problema P4


Para este problema observamos um melhor rendimento do AG com a aplicacao
do operador de busca local logo nas primeiras geracoes, como ilustrado na figura
5.4. Ate a vigesima geracao tambem se observa, em algumas geracoes, uma rapida
convergencia caracterizada por saltos no valor medio da funcao objetivo. A partir
da vigesima geracao este fenomeno ja nao ocorre, sendo que o valor medio da
funcao objetivo reduz a uma taxa semelhante ao AG sem busca local.

74

[P5]: Problema quadr


atico em R5
x? = arg mimx 5.3578547x3 2 + 0.8356891x1 x5 +

sujeito a

37.293239x1 40792.141;

85.334407 + 0.0056858x2 x5

+0.0006262x1 x4 0.0022053x3 x5 = 92;

78 < x1 < 102;

33 < x2 < 45;

27 < x3 < 45;

27 < x4 < 45;

27 < x5 < 45

3.09

x 10

AG sem busca local (valor mdio)


AG com busca Local (valor mdio)

3.1
3.11

FO Problema P5

3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19

20

40

60

80

100

Geraes

Figura 5.5: Resultado problema P5


Mais uma vez observamos na figura 5.5 um melhor rendimento do AG com

75

a aplicacao do operador de busca local logo nas primeiras geracoes e um gradual


distanciamento do valor medio da funcao objetivo, indicando a atuacao positiva
deste operador ao longo de todas as geracoes.

[P6]: Problema polinomial de grau 6 em R7


x? = arg mimx (x1 10)2 + 5(x2 12)2 + x43 + 3(x4 11)2 +
10x5 6 + 7x6 2 + x7 4 4x6 x7 10x6 8x7 ;

4x1 2 + x2 2 3x1 x2 + 2x3 2 + 5x6 11x7 = 0;

sujeito a

10 < xi < 10, i = 1, , 7

800
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

750

FO Problema P6

700
650
600
550
500
450
400
350
10

20

30

40

50
60
Geraes

70

80

90

100

Figura 5.6: Resultado problema P6


Para uma melhor visualizacao dos resultados apresentados na figura 5.6, os
valores da funcao objetivo foram contadas a partir da decima geracao. Ate a
vigesima geracao o AG com busca local nao apresenta um rendimento superior
quando comparado ao AG sem a busca local, mas este quadro se inverte nas

76

geracoes seguintes. A partir da trigesima geracao ambas metodologias evoluem de


forma parecida.

[P7]: Problema exponencial em R5


x? = arg mimx exp(x1 x2 x3 x4 x5 )

2
2
2
2
2

x1 + x2 + x3 + x4 + x5 = 10;

sujeito a
2.3 < xi < 2.3 i = 1, 2

3.2 < x < 3.2 i = 2, 3, 4, 5


i

0.2
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

0.4

FO Problema P7

0.6
0.8
1
1.2
1.4
1.6
1.8
2
10

20

30

40

50
60
Geraes

70

80

90

100

Figura 5.7: Resultado problema P7


Para uma melhor visualizacao dos resultados apresentados na figura 5.7, os
valores da funcao objetivo foram contadas a partir da decima geracao. Ate a
trigesima geracao o AG com busca local apresenta um rendimento superior quando
comparado ao AG sem a busca local, porem evoluindo de forma parecida. Nas

77

geracoes seguintes, o AG sem busca local apresenta uma perda de rendimento,


enquanto que a o algoritmo hibridizado continua a apresentar uma evolucao no
valor da funcao objetivo, mostrando que sua atuacao ainda se faz presente de
forma significativa.

[P8]: Problema c
ubico

x? = arg mimx 3 3 x1 x2 x3

x1 2 + x2 2 + x3 2 = 1;
sujeito a

0 < xi < 1 i = 1, 2, 3

0.08
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

0.07

FO Problema P8

0.06
0.05
0.04
0.03
0.02
0.01
0
10

20

30

40

50
60
Geraes

70

80

90

100

Figura 5.8: Resultado problema P8


Para uma melhor visualizacao dos resultados apresentados na figura 5.8, os
valores da funcao objetivo foram contadas a partir da decima geracao. A figura
5.8 ilustra que o AG apresenta um melhor rendimento com a aplicacao do operador
de busca local.

78

[P9]: Problema c
ubico em R7
x? = arg mimx x1 x2 x3

x2 x7 1250x5 x2 x4 + 1250x4 = 0;

sujeito a
10 < xi < 10000 i = 1, 4, 5, 6, 7

1000 < x < 10000 i = 2, 3


j

15
AG sem busca local (valor mdio)
AG com busca Local (valor mdio)

log(FO) Problema P9

14

13

12

11

10

20

40

60

80

100

Geraes

Figura 5.9: Resultado problema P9


Observando a figura 5.9, ate a decima geracao as duas metodologias apresentam
um rendimento semelhante. Entre as geracoes dez e trinta, o AG hibridizado
consegue uma melhora nos resultados, reduzindo o valor da funcao objetivo a uma
taxa superior quando comparada ao AG padrao. Nas geracoes seguintes as duas
metodologias nao apresentam melhoria alguma.
Em todas as simulacoes realizadas, o operador de busca local apresentou um
bom rendimento, obtendo uma melhora na qualidade da resposta encontrada pelo

79

AG. Como a metodologia aplicada na busca local (Decomposicao de Adomian)


apresenta um tempo computacional baixo quando comparado ao tempo computacional gasto pelo AG, nao houve alteracao significativa do tempo medio gasto em
cada instancia. Para o problema P 1, o tempo medio4 em cada instancia e ilustrado
na tabela abaixo.

AG sem busca local: 0.7414


AG com busca local: 0.7783
Tabela 5.18: Tempo medio em cada instancia do AG - Problema P 1

Apriximac
oes quadr
aticas
A metodologia das aproximacoes quadraticas foi aplicada aos problemas P1,
P3 e P4 (pagina 71), utilizando um Algoritmo Genetico padrao (AG) e um Algoritmo Genetico com o mecanismo de busca local proposto (AGBL). Cada algoritmo foi executado 50 vezes e observado quantas vezes o AGBL atingiu o mnimo
(conhecido) de cada um dos problemas, representado por #S, o valor medio da restricao g(x) (denotado por g(x)) e seu desvio padrao (STD de g(x)). Os resultados
obtidos sao ilustrados abaixo.
P1 : Problema multimodal bidimensional

x? = arg mimx xT AT Ax 10[1 1] cos(2Ax)

(x1 2)2 + (x2 2)2 = 1


sujeito a

4 < xi < 4, i = 1, 2
4

Tempo medio em segundos de cada instancia do AG tomado em 100 simulacoes consecutivas, medido pela func
ao tic toc do MATLAB.

80

com

1 0
A=

0 4

Alg.
AG
AGBL

#S g(x) STD de g(x)


0 6.8844
2.5675
3 1.4215
0.1819

Tabela 5.19: Resultados para o problema P1


P3 : Problema Quadratico

x? = arg mimx x1 2 + x2 2 + x3 2

(x1 2)2 + (x2 1)2 + 4(x3 1)2 = 1


sujeito a

4 < xi < 4, i = 1, 2, 3

Alg.
AG
AGBL

#S g(x) STD de g(x)


0 8.0011
0.0943
50 0.0071
0.0051

Tabela 5.20: Resultados para o problema P3


P4 : Problema nao Quadratico

x? = arg mimx (x1 2)4 + (x1 2x2 )2

x1 2 x2 = 0
sujeito a

4 < xi < 4, i = 1, 2

Mais uma vez o operador de busca local proposto se mostrou eficiente quando
aplicando a metodologia da aproximacao quadratica.

81

O valor medio de g(x)

Alg.
AG
AGBL

#S
g(x)
STD de g(x)
0 -1.8019
0.1826
42 -0.0021
0.0201

Tabela 5.21: Resultados para o problema P4


proximo de zero e o pequeno desvio padrao obtidos pelo algoritmo genetico hibridizado mostram que de fato a populacao se ajustou `a superfcie de restricao de
cada problema, superando os resultados obtidos pelo algoritmo genetico puro.

82

Captulo 6
Conclus
oes e trabalhos futuros
Este trabalho tratou de dois problemas correlatos: a resolucao de uma equacao
F (x) = 0 e a minimizacao de uma funcao f (x) sujeita a uma restricao de igualdade.
Tais problemas estao presentes em diversas areas do conhecimento, tanto teoricas
quanto praticas, abrangendo um classe muito grande de funcoes: diferenciaveis,
contnuas, discretas etc. Dada a sua relevancia e abrangencia, in
umeras e diferentes
tecnicas eficientes se encontram disponveis, cada uma a seu modo explorando
alguma caracterstica marcante da funcao de estudo.

6.1

Conclus
oes

Para a resolucao de uma equacao F (x) = 0 onde F : D Rn Rn , n 1 e suficientemente diferenciavel, a principal referencia, tanto historica quanto didatica,
e o metodo de Newton. Ate mesmo suas deficiencias (tais como a dificuldade de
se obter F 1 (x) em dimensoes elevadas) sao exploradas, gerando outras tecnicas
que procuram sana-las. Os metodos de continuacao, captulo recente na historia
deste tema, mostraram ser mais uma metodologia eficiente para se abordar este

83

tipo de problema. Dentre os metodos de continuacao, a perturbacao da homotopia


e a decomposicao de Adomian, tratados com mais detalhes neste texto, apresentaram resultados satisfatorios quando comparados ao Metodo de Newton, superando este em algumas situacoes. O fato de exigirem mais operacoes por iteracao e
compensado por sua rapida convergencia, garantindo uma equivalencia no tempo
computacional gasto quando comparados ao metodo de Newton. Uma outra caracterstica observada foi o melhor desempenho do metodo da decomposicao de
Adomian quando e requerida uma maior precisao1 . Em particular, o Metodo da
decomposicao de Adomian nao exige o calculo de derivadas de ordem superior
a um e apresenta uma elegante formulacao de iteracao, esta de dois passos (two
step iteration), que se assemelha muito a iteracao do metodo de Newton. Por
estes motivos, esta iteracao foi escolhida para compor o mecanismo de busca local
desenvolvido.
O mecanismo de busca local se apoia na ideia de que um ponto pertence a
uma superfcie se suas coordenadas satisfazem `a equacao desta superfcie. Esta foi
a maneira encontrada para resolver o problema de se realizar a busca em volume
zero quando o problema de minimizacao possui uma restricao de igualdade. A
princpio o algoritmo genetico faz a busca populacional, orientando a populacao
para regioes promissoras, enquanto que a busca local corrige alguma coordenada,
escolhida aleatoriamente, ajustando os pontos da populacao `as curvas de restricao
por meio da resolucao de uma equacao na variavel que se deseja ajustar. Tal
procedimento nao acarretou um aumento significativo do tempo computacional
gasto em cada geracao e, para os problemas selecionados, apresentou resultados
satisfatorios. Em todos os casos analisados houve uma melhora na qualidade da
soluc
ao, independente da dimensao ou da complexidade do problema e da restricao.
1

Como observado nas aplicac


oes F3 e F7 nas paginas 66 e 67.

84

No caso de se aplicar a metodologia na aproximacao quadratica da funcao de


interesse, situacao onde um Algoritmo genetico se mostra mais adequado que as
metodologias tradicionais, o operador de busca local a princpio tambem mostrou
ser uma boa metodologia. Foi observada uma melhora nos resultados obtidos
quando comparados aos resultados obtidos pela aplicacao do AG sem a busca
local e que em alguns casos essa melhoria foi consideravel.

6.2

Trabalhos futuros

O resultado mais importante deste trabalho foi o desenvolvimento de um operador de busca local para o Algoritmo Genetico aplicado a problemas de minimizacao
com uma restricao de igualdade. Alem de se procurar aplicar esta tecnica a outras
metaheurscidas que tratam de problemas semelhantes, a evolucao natural deste
trabalho e procurar adaptar esta metodologia a problemas com um n
umero maior
de restricoes de igualdade e desigualdade. Uma alternativa seria o acrescimo de
variaveis de folga em restricoes de desigualdade transformando-as em restricoes
de igualdade. A analise posterior do conjunto de tais restricoes modificadas possibilitaria a classificacao das mesmas como ativas ou inativas. Tal classificacao e
u
til, principalmente em problemas de grande porte onde a dimensao espacial e o
n
umero excessivo de restricoes nao lineares tornam a resolucao do problema mais
complexa.
Uma outra possibilidade de extensao dos resultados e a utilizacao da ideia
geradora dos metodos de continuacao: gerar uma sequencia de pontos que converge
para a solucao otima do problema por meio de um problema auxiliar de facil
resolucao.

85

Refer
encias Bibliogr
aficas
[1] Mokhtar S. Bazaraa and John J. Jarvis. Linear programming an network
flows. John Wiley & Sons, 1977.
[2] Ricardo H.C.Takahashi. Otimizacao escalar e vetorial. Notas de aula. Disponvel em http://www.mat.ufmg.br/taka/.
[3] David G. Luenberger and Yinyu Ye. Linear and Nonlinear Programming.
Springer, 2008.
[4] Sean

Luke.

Essentials

of

metaheuristics.

Disponvel

em

http://cs.gmu.edu/sean/book/metaheuristics/, 2009.
[5] Kenneth A De Jong. Evolutionary computation : a unified approach. Cambridge, Mass. : MIT Press, 2006.
[6] J.M. Renders and H. Bersini.

Hybridizing genetic algorithms with hill-

climbing methods for global optimization: Two possible ways. In Proceedings


of the first IEEE Conference on Evolutionary Computation, IEEE World
Congress on Computational Intelligence, pages 312317. IEEE Press, 1994.
[7] Elizabeth Fialho Wanner. Operadores para Algoritmos Geneticos baseados
em aproximac
oes quadr
aticas de func
oes de vari
aveis contnuas. PhD thesis,
UFMG, 2006.

86

[8] Mokhtar S. Bazaraa, Hanif D. Sheali, and C.M. Shetty. Nonlinear programming - Theory and Algorithms. Wiley-Interscience, 1979.
[9] James M.Ortega. Numerical Analysis - A second Course. SIAM - Classics in
Applied Mathematics, 1990.
[10] Frank Crittin and Michel Bierlaire. A generalization of secant methods for
solving nonlinear system of equations. In 3o Swiss Transport Research conference - STRC, 2003.
[11] J.M.Ortega and W.C.Rheinboldt. Iterative Soluction of Nonlinear Equations
in Several Variables. Classics in Applied Mathematics, 1970.
[12] Richard L.Burden and J.Douglas Faires. An
alise Numerica. Cengage Learning, 2008.
[13] Eugene Allgower and Kurt Georg. Simplicial and continuation methods for
appoximating fixed points and soluctions to systems of equations. SIAM
Review, 22 no 1:2885, 1980.
[14] Alexey Izmailov and Mikahil Solodov. Otimizac
ao - volume 2 - Metodos
Computacionais. IMPA, 2007.
[15] Jian-Lin Li. Adomians decomposition method and homotopy perturbation
method in solving nonlinear equations. Journal of Computational and Applied
Mathematics, 228:168173, 2009.
[16] Ji Huan He. Newton-like iteration method for solving algebraic equations.
Communications in Nonlinear Science & Numerical Sumulation, 3 no 2:106
109, 1988.
[17] Ali Hasan Nayfeh. Perturbation Methods. Wiley-Interscience, 1973.

87

[18] Tzong-Mou Wu. A study of convergence on the newton-homotopy continuation method. Applied Mathematics and computation, 168:11691174, 2005.
[19] Xinlong Feng and Yinnian He. High order iterative methods whitout derivatives for solving nonlinear equations. Applied Mathematics and computation,
186:16171623, 2007.
[20] George Adomian. Solving Frontier Problems of Physics: The Decompositon
Method. Kluwer Academic Publishers, 1993.
[21] George Adomian. Nonlinear Stochastic Systems and Applications to Physics.
Kluwer Academic Publishers, 1989.
[22] K. Abbaoui and Y. Cherruault. New ideas for proving convergence of decompositon methods. Computers Math. Applic., 29, n.7:103108, 1995.
[23] Y. Cherruault K. Abbaoui and V. Seng. Practical formulae for the calculus of
multivariable adomian polynomials. Mathl.Comput.Modelling, 22, n.1:8993,
1995.
[24] Changbum Chun. A new iterative method for solving nonlinear equations.
Applied Mathematics and computation, 178:415422, 2006.
[25] M.T. Darvishi and A.Barati. Super cubic iterative method to solve systems of
nonlinear equations. Applied Mathematics and Computation, 188:16781685,
2007.
[26] Marco Dorigo, Gianni Di Caro, and Luca M. Gambardella. Ant algorithms
for discrete optimization. Artif. Life, 5(2):137172, 1999.
[27] Marcone Jamilson Freitas Souza. Inteligencia computacional para otimizacao.
Notas de Aula. Disponvel em http://www.decom.ufop.br/prof/marcone.

88

[28] Hans-Georg Beyer and Hans paul Schwfel. Evolution strategies - a conprehensive itroduction. Natual Computing, 1:352, 2002.
[29] Thomas Back, Ulrich Hammel, and Hans-Paul Schwefel. Evolutionary computation: Comments on the history and current state. IEEE Transactions on
Evolutionary Computation, 1,no.1:317, 1997.
[30] John H. Holland. Adaptation in natural and artificial systems. MIT Press,
Cambridge, MA, USA, 1992.
[31] David E. Goldberg. Genetic Algorithms in Search, Optimization & Machine
Learning. Addison Wesley, 2006.
[32] K.S.Tang K.F.Man and S. Kwong. Genetic algorithms: Concepts and applications. IEEE Transactions on Industrial Eletronics, 43 no.5:519534, 1996.
[33] Andrew Chipperfield, Peter Fleming, Hartmut Pohlheim, and Carlos Fonseca.
R
. Department of AutomaGenetic Algorithm Toolbox of use in M AT LAB

tic Control and Systems Engineering - University of Sheffield, 1.2 edition.


disponvel em http://www.acse.dept.shef.ac.uk/cgi-bin/gatbx-download.
[34] Nicholas J. Radcliffe and Patrick D. Surry.

Formal memetic algorithms.

In Springer-Verlag LNCS 86 T.C. Fogarty, editor, Evolutionary Computing:


AISB Workshop, pages 116, 1994.
[35] Changbum Chun. Construction of newton-like iterations methods for solving
nonlinear equations. Numeriche Mathematik, 104:297315, 2006.
[36] Efren Mezura-Montes and Carlos A. Coello Coello. A simple multimembered
evolution strategy to solve constrained optimization problems. IEEE Transactions on evolutionary computation, 9 no.1:117, 2005.

89

[37] Michael C. Gemignani. Elementary Topology. Addison Wesley, 1967.


[38] Elon Lages Lima. Curso de An
alise Vol.2. IMPA, 1999.
[39] Hongming Ding. Heat kernels of lorentz cones. Canadian Mathematical Bulletin, 42 (2):169173, 1999.

[40] Elon Lages Lima. Algebra


Linear. IMPA, 2004.
[41] Nivio Ziviani. Projeto de Algortmos com implementac
oes em Pascal e C.
Thompson Learning, 2007.
[42] Krister Svanberg. The method of moving asymptotes - a new method for
structural optimization. International Journal for Numerical Methods in Engineering, 24:359373, 1987.
[43] John A. Cornell and Andre I.Khuri. Response Surfaces: designs and analyses.
Marcel Dekker, 1987.
[44] Lieven Vandenberghe and Stephen Boyd. Semidefinite programming. SIAM
Review, 38:4995, 1994.
[45] Jos F. Sturm. Using sedumi 1.02, a matlab toolbox for optimization over
symmetric cones, 1999.
[46] J. Lofberg. Yalmip : A toolbox for modeling and optimization in MATLAB.
In Proceedings of the CACSD Conference, Taipei, Taiwan, 2004.

90

Ap
endice A
Definico
es
Nesta secao estabeleceremos algumas notacoes e definicoes presentes no texto.

A.1

Topologia e An
alise Matem
atica

Um espa
co m
etrico S e um conjunto C onde esta definida uma medida
para a proximidade de dois elementos x e y deste conjunto. Esta proximidade
e determinada por meio de uma funcao D : C C R, chamada de metrica,
distancia ou norma deste espaco. Mais precisamente, faremos a seguinte definicao
[37]:
Defini
c
ao A.1.1 (Norma) Seja C um conjunto qualquer. Uma func
ao D : C
C R e uma norma em C se
1. D(x, y) 0, para todo x, y C;
2. D(x, y) = D(y, x), para todo x, y C;
3. D(x, y) = 0, se e somente se x = y;
4. D(x, y) + D(y, z) D(x, z), para todo x, y C;

91

Como exemplos de norma em Rn , citamos [38]:


1. |x| =

x1 2 + x2 2 + + xn 2 , que e a norma Euclidiana de Rn ;

2. |x| = max{|x1 |, |x2 |, , |xn |}, que e a norma do M


aximo;
3. |x|s = |x1 | + |x2 | + + |xn |, que e a norma da Soma.
Vale ressaltar que, para todo x Rn e duas normas quaisquer |x| e |x|0 , existem
constantes c1 e c2 [9] tais que

c1 |x| |x|0 c2 |x|


Defini
c
ao A.1.2 (Conjuntos Convexos) Um conjunto C Rn e convexo [38]
se, para todo x, y C e um n
umero real , com 0 1, o ponto x+(1)y
C.
Defini
c
ao A.1.3 (Cones) Um conjunto n
ao vazio C Rn e um cone com
vertice na origem [3] se x C x C, > 0.
O cone C e convexo quando C for convexo. Um cone de Lorentz [39] e definido
sendo o conjunto

C = {x Rn : x1 2 x2 2 xn 2 > 0, x1 > 0}.

(A.1)

Defini
c
ao A.1.4 (Sequ
encias Convergentes) Uma sequencia de pontos {xn }
em um espaco metrico S converge [37] para um limite x? S se D(xn x? ) 0.
Nesta definicao D(?) e uma funcao distancia definida em S. Quando a sequencia
{xn } converge para x? escrevemos xn x? . Uma sequencia {xn } em S e uma
sequencia de Cauchy se, para qualquer , existe um inteiro N () tal que d(xm

92

xn ) <  para todo m, n < N (). Toda sequencia convergente e uma sequencia de
Cauchy, mas a recproca e falsa. S e um Espaco Completo se qualquer sequencia
de Cauchy em S converge para x? S. Sabemos que Rn e um espaco metrico
completo.
Defini
c
ao A.1.5 (Matriz Definida Positiva) Uma matriz A = [ai,j ] de ordem
n e positiva (ou positiva definida) [40] se
1. A e simetrica, ou seja, AT = A;
2. Para todo vetor x Rn tivermos que xT Ax > 0.
Se na segunda condicao acima tivermos xT Ax 0, a matriz A e dita nao
negativa (ou semi definida positiva). Escrevemos A  0 se A e definida positiva, e
A  0 se A for semi definida positiva.
Uma funcao real de variavel real e diferenci
avel em x se existe um n
umero
a = f 0 (x) tal que

1
lim (f (x + t) f (x) at) = 0.
t0 t
Podemos estender naturalmente esta definicao para uma aplicacao
F : D Rm Rn .
Defini
c
ao A.1.6 (Derivada de Gateux) Uma aplicac
ao F : D Rm Rn e
Gateaux-diferenci
avel (ou G-Diferenci
avel) [11] em um ponto x no interior de
D se existe um operador linear A L(Rm , Rn ) tal que, para todo h Rm
1
lim |F (x + th) F (x) tA(h)| = 0.
t0 t

(A.2)

O limite acima independe da norma utilizada. O operador linear A assim definido e u


nico e e denotado por F 0 (x). Uma representacao de F 0 (x) em termos das

93

derivadas parciais e dada pela matriz Jacobiana J(x) (ou Jacobiano da aplicacao
F ):

0
J(x) = F (x) =

f1 (x)
x1

f1 (x)
xm

..
.

..
.

fn (x)
x1

fn (x)
xm

(A.3)

O caso especial onde g : D Rm R e dado por

g (x) =

g(x)
x1

..
.
g(x)
xm

e g 0 (x) e chamado de vetor gradiente de g e e denotado por g.


Defini
c
ao A.1.7 (Derivada de Frechet) Uma aplicac
ao F : D Rm Rn e
Frechet-diferenci
avel (ou F-Diferenci
avel) em um ponto x no interior de D se
existe um operador linear A L(Rm , Rn ) tal que, para todo h Rm
lim

h0

1
|F (x + h) F (x) A(h)| = 0.
|h|

(A.4)

Note que (A.2) e um caso particular de (A.4). Entao F e G-diferenciavel


sempre que for F-diferenciavel, mas a recproca e falsa [11]. Em particular, uma
representacao para F 0 (x) ainda e a matriz jacobiana quando F for F-diferenciavel.
Doravante, sempre que F for uma aplicacao diferenciavel, ela sera no sentido de
Frechet. Naturalmente, se uma aplicacao e diferenciavel em x ela e contnua em x.
Se F : D Rm Rn e duas vezes diferenciavel no ponto a U Rn , a derivada
segunda no ponto a e a aplicacao bilinear simetrica

F 00 (a) : Rm Rm Rn ,

94

cujo valor no ponto (v, w) Rm Rm e o vetor

F (a) v w =
w
00

F
v


(a) Rn .

Para aplicacoes F : Rm R uma representacao para derivada segunda em x


utilizando as derivadas direcionais e dada pela Matriz Hessiana H(a):

H(a) = F (a) =

2 F (a)
x21

..
.

00

2 F (a)
xm x1

2 F (a)
x1 xm

..
.

2 F (a)
x2m

(A.5)

e F 00 (a) (v, w) = v 0 H(a)w. Se uma funcao e diferenciavel n vezes, dizemos que


ela e de classe C n . Caso uma funcao seja diferenciavel indefinidamente, ela e de
classe C .
Defini
c
ao A.1.8 (Contra
c
ao) Uma aplicac
ao F : Rn Rn e uma contra
c
ao
[38] em um conjunto D Rn se existe uma constante < 1 tal que

|F (x) F (y)| |x y|

para todo x, y D.

(A.6)

Defini
c
ao A.1.9 (Homotopia) Uma Homotopia [38] entre as aplicac
oes F, G :
D Rm Rn (de classe C k ) e uma aplicaca
o contnua (de classe C k ) H :
I D Rn onde I = [0, 1] e para todo x D tem-se que
H(0, x) = F (x),
H(1, x) = G(x).

95

Defini
c
ao A.1.10 (F
ormula de Taylor com resto integral) Seja
F : D Rm Rn , com a, v, a + v D uma aplicac
ao p vezes diferenci
avel.
Ent
ao,

1
1
F (a + v) = F (a) + F 0 (a) v + F 00 (a) v 2 + + F (p) v p + rp (v)
2
p!

(A.7)

onde

rp (v) =
|rp (v)|

Z
1 1
(1 t)p F (p+1) (a + tv) v p+1 dt,
p! 0
|v|p
max |F (p) (a + tv)|.
p! 0t1

e a formula de Taylor [38] para a aplicacao F , onde F (p) denota a derivada de


ordem p. A expressao

|rp (v)|

|v|p
max |F (p) (a + tv)|
p! 0t1

fornece um limitante para a aproximacao feita pela formula de Taylor.


Os resultados a seguir se referem ao problema geral de minimizacao mono
objetivo [3], que consiste no problema

minimizar
sujeito a

f (x)
hi (x) = 0, gj (x) 0

(A.8)

onde 1 i m e 1 j n e um conjunto de ndices para as funcoes de restricao


hi (x) e gj (x).

96

Defini
c
ao A.1.11 (Ponto regular) Seja x? um ponto que satisfaca as restric
oes
(A.8) e seja J um conjunto de ndices j para os quais gj (x? ) = 0. Ent
ao x? e um
ponto regular para as restric
oes (A.8) se os vetores gradientes hi (x? ), gj (x? ),
1 i m, j J, forem linearmente independentes.
Defini
c
ao A.1.12 (Condi
c
oes de Karush-Kuhn-Tucker) Seja x? um ponto
de mnimo relativo para o problema de minimizac
ao

minimizar
sujeito a

f (x)
hi (x) = 0, gj (x) 0
i = 1, m, j = 1, , p

(A.9)
(A.10)

e suponha que x? seja um ponto regular para as restric


oes de (A.10). Ent
ao existe
um vetor Rm e um vetor Rp com 0 tais que

f (x? ) + t h(x?) + t g(x? ) = 0

(A.11)

g(x? ) = 0

(A.12)

Maiores detalhes podem ser encontrados em [3, 7]

A.2

Algoritmos e Converg
encia

Considere o problema de se determinar x? Rm tal que F (x? ) = 0 utilizando


algum metodo sequencial, ou seja, produzindo de alguma maneira uma sequencia
de pontos {xn } com xn x? quando n . Cada ponto da sequencia {xn } e

97

chamado de aproximacao da solucao do problema, ou ainda, iterado do metodo.


A geracao de um novo ponto xk+1 a partir de xk se chama iteracao.
A ordem de um metodo e a maxima ordem das derivadas da funcao objetivo
utilizadas na realizacao de uma iteracao. Por exemplo, a ordem do metodo de
Newton descrito no captulo 2 e igual a um pois e utilizada a derivada primeira de
F em xn para a obtencao de xn+1 . Se a sequencia {xn } converge para a solucao
x? , tendo como ponto inicial x0 , um ponto qualquer de Rn , dizemos que o metodo
utilizado apresenta Convergencia Global. Caso contrario, se a solucao so pode
ser obtida tomando x0 suficientemente proximo de uma solucao x? , falamos de
Convergencia Local.
Definido D Rn , de onde se toma um ponto inicial qualquer x0 , dizemos que
o metodo apresenta uma convergencia finita se a solucao do problema e obtida
em um n
umero finito k de iteracoes. Caso isto nao ocorra, o metodo apresenta
convergencia assintotica [14].
A taxa de convergencia da sequencia {xn } e um dos principais indicadores
para a analise de metodos de convergencia assintotica. Suponha que xn x? e
xn 6= x? , n. Se

lim sup
k

|xk+1 x? |
= q com q (0, 1),
|xk x? |

entao a sequencia possui convergencia linear. Se q = 0, a convergencia e dita super


linear. Um caso especial de convergencia super linear e a convergencia quadratica:

lim sup
k

|xk+1 x? |
C, com C > 0 fixo.
|xk x? |2

Por exemplo, Ortega [11] demonstra que o metodo de Newton apresenta convergencia quadratica.

98

Uma outra maneira comum e u


til de se avaliar a eficiencia de um algoritmo e
dada pela complexidade assintotica O(f ):
Defini
c
ao A.2.1 Uma func
ao f (n) domina assintoticamente outra func
ao g(n)
se existem duas constantes positivas c e m tais que, para n m, temos
|g(n)| c |f (n)|

e escrevemos g(n) = O(f (n)).


Esta definicao tambem se aplica para sequencias convergentes:
Defini
c
ao A.2.2 Sejam {n } e {n } sequencias com n 0 e n . Se
existir uma constante K positiva tal que

|n | K|n |, para n > m0 ,


ent
ao dizemos que {n } converge com taxa de convergencia O(n ) e escrevemos
n = + O(n ) [12, 41]
Ao se implementar um metodo computacional sequencial de convergencia assintotica, esperamos determinar uma aproximacao xn da solucao x? com uma certa
precisao . Devemos entao utilizar criterios de parada do algoritmo desenvolvido
que sejam razoavelmente precisos e de facil implementacao. Por exemplo, considerando a sequencia de iterados {xn } de um metodo para se determinar x? tal que
F (x? ) = 0 , podemos tomar como criterio de parada a condicao

|xn+1 xn | .

99

(A.13)

Este criterio mede quando o tamanho do passo no metodo fica muito curto e
ja nao e possvel se obter uma melhora da solucao. Outra regra de parada analoga
a anterior, e

|F (xn+1 ) F (xn )| ,

(A.14)

onde ja nao se observa alguma evolucao no comportamento da funcao objetivo.


Para problemas de natureza diferenciavel, tambem podemos considerar

|F 0 (xn )| ,

(A.15)

pois esta condicao inviabiliza a obtencao de F 0 (xn )1 necessaria em muitos dos


metodos existentes. Observe que nenhum dos criterios acima sao completamente
confiaveis, pois estes nao garantem a proximidade de xn com x? . Outros criterios
possveis sao o n
umero de iteracoes ou o tempo computacional gasto. Em geral,
deve-se utilizar criteriosamente uma combinacao destas tecnicas [14].

100

Ap
endice B
Aproximac
oes Quadr
aticas
O problema geral de minimizacao mono objetivo

x? = arg min f (x)


x

gi (x) 0 i = 1 r
sujeito a

hj (x) = 0 j = 1 p

(B.1)

pode ser resolvido de modo eficiente por meio de metodos analticos que utilizam
informacoes obtidas da derivada de f (x), tais como o metodos de direcoes factveis
(gradiente, gradiente conjugado, Wolfe etc [8, 3, 2]), metodos de exclusao de semiespacos [2] e outros. Uma metaheurstica, por realizar a busca por populacao,
nao exige a diferenciabilidade ou mesmo a continuidade das funcoes envolvidas,
podendo ser aplicadas entao a um n
umero maior de problemas e e neste ponto
que estas apresentam o seu diferencial. Portanto, na maioria dos casos, nao se
justifica a aplicacao de metaheursticas em problemas onde as funcoes envolvidas
sao diferenciaveis ou mesmo com uma expressao algebrica definida.

101

Entretanto, em diversas situacoes a funcao objetivo so pode ser avaliada numericamente (como por exemplo quando se utiliza o metodo dos elementos finitos), nao sendo conhecida uma expressao algebrica, ou esta e de difcil obtencao.
Em tais situacoes, as u
nicas informacoes que dispomos e um conjunto de pontos
{x1 , x2 , , xn } e a imagem destes pontos {f (x1 ), f (x2 ), , f (xn )}. Este tipo de
problema e conhecido como caixa preta (black box ).
Em tais situacoes, os metodos analticos descritos acima nao se aplicam. Uma
alternativa e considerar uma aproximacao para a funcao objetivo e suas restricoes
em torno de um ponto x0 . Dentre as varias formas de se obter tais aproximacoes,
citamos o metodo das assntotas moveis [42], onde se busca a linearizacao da funcao
objetivo em um espaco intermediario, a interpolacao multiquadratica, metodos
de superfcie de resposta [43], programacao quadratica sequencial, redes neurais
dentre outros. Foi utilizado neste trabalho as aproximacoes quadraticas, obtidas
pela representacao em serie de Taylor da funcao truncada no termo de ordem dois

1
f(x) f (x0 ) + f (x0 )(x x0 ) + (x x0 )T H(x0 )(x x0 )
2

(B.2)

onde f (x0 ) e o vetor gradiente da funcao f (x) no ponto x0 e H(x0 ) e a matriz


Hessiana de f (x) avaliada no ponto x0 . Obtemos entao a expressao

f (x) c0 + c1 (x x0 ) + (x x0 )T C2 (x x0 )

(B.3)

onde c0 R, c1 Rn e C2 Rnn .
A aproximacao quadratica de uma funcao apresenta a vantagem de ser de
facil obtencao e manipulacao, alem de descrever a convexidade da funcao, fato de
relevante importancia em problemas de otimizacao. Naturalmente, sao necessarios
(n+1)(n+2)
2

pontos para se produzir tais aproximacoes, sendo n a dimensao do espaco

102

onde se encontra o problema. Esta abordagem foi realizada por Wanner [7], onde
tambem sao tratados problemas de minimizacao mono e multi objetivo, com uma
classe maior de restricoes.

B.1

Obtenc
ao da Aproxima
c
ao Quadr
atica

Seja f : Rn R uma func


ao real e considere o problema de se determinar a
funcao quadratica

h(z) = z T Hz + rT z +

(B.4)

para alguma matriz simetrica H, um vetor r e um escalar , todos com dimensoes


compatveis de modo que

f (zi ) = h(zi )

(B.5)

onde z1 , z2 , , zN e um conjunto de pontos distintos. Encontrar h(x) que satisfaca


(B.5) se resume a encontrar H, r e tais que o erro seja dado por

Ei = ziT Hzi + rT zi + f (zi )

(B.6)

para i = 1, 2, N .
Este e um sistema linear com N equacoes nas variaveis H, r e . Como H e
simetrica, o n
umero de variaveis em H e n+ n 2n e portanto o n
umero de variaveis
2

do sistema (B.6) e

n+

n2 n
(n + 1)(n + 2)
+n+1=
.
2
2

103

Se N =

(n+1)(n+2)
,
2

curada. Caso N >

a soluc
ao do sistema determina a aproximacao h(z) pro-

(n+1)(n+2)
,
2

o sistema (B.6) e sobre determinado e podemos

encontrar uma solucao de norma mnima

min |E|.

H,r,

(B.7)

De modo a garantir que que a matriz H seja definida positiva, garantindo assim
a convexidade da funcao, h devemos resolver o seguinte problema:
(H ? , r? , ? ) = arg min t
H,r,

sujeito a:

v
uN
uX
t
Ej 2 t,

(B.8)

j=1

Q0

Uma vez que a restricao em (B.8) e uma restricao do tipo cone de Lorentz, o
problema semidefinido pode ser resolvido [44] usando as Toolboxes para MATLAB
SeDuMi [45] e YALMIP [46].
Com a aproximacao quadratica obtida

h(z) = z T Hz + rT z +

(B.9)

o ponto de mnimo de h pode ser determinado por

1
zh = H 1 r
2
e a expressao analtica de h(z) pode ser entao reescrita como [7]

104

(B.10)

h(z) = (z zh )T H(z zh ) c

(B.11)

c = 0.25rT H 1 r +

(B.12)

onde

A aplicacao da metodologia da aproximacao quadratica a um problema do tipo


caixa preta, dado por uma funcao f (x) pode ser entao assim resumido:

Passo 01: Inicialize a populacao P0 = {x1 , x2 , , xn } e determine F0 =


{f (x1 ), f (x2 ), , f (xn )};
Passo 02: Determine a aproximacao quadratica h0 (x) para a funcao f (x)
em uma vizinhanca do ponto melhor avaliado xbest ;
Passo 03: Aplique o AG realizando a busca local em P0 utilizando a aproximacao quadratica h(x), substituindo o pior ponto da populacao pelo
melhor ponto obtido por meio da aproximacao quadratica.

Tabela B.1: AG com busca local aplicado a um problema do tipo Caixa Preta

105

Ap
endice C
Implementac
oes em MATLAB
Apresentamos a seguir as implementacoes em MATLAB das rotinas implementadas. Para os metodos da Perturbacao da Homotopia e Decomposicao de Adomian, serao ilustradas as implementacoes para a funcao f1 (pagina 62) e aplicacao
F1 (pagina 65). A implementacao da busca local sera ilustrada pelo problema P 1
(pagina 71)

C.1

MPH e ADM - func


ao f1

function resp=simulaf1
%Parametros iniciais
clc;
x0=-0.3;
err=1e-50;
%----------In
cio do M
etodo de Newton---------x=x0;
iter=1;

106

tic;
xnew= x - f(x)/df(x);
while abs(x-xnew) > err
x = xnew;
xnew = x - f(x)/df(x);
iter = iter+1;
end
tempo=toc;
MN=[xnew iter tempo f(xnew)];
%----------fim do M
etodo de Newton----------

%----------In
co do MPH de segunda ordem---------x = x0;
iter = 1;
tic;
aux = f(x)/df(x);
xnew = x - aux

- (d2f(x)/(2*df(x)))*(aux)^2;

while abs(x-xnew)>err
x = xnew;
aux = f(x)/df(x);
xnew = x - aux - (d2f(x)/(2*df(x)))*(aux)^2;
iter = iter + 1;
end
tempo=toc;
MPH2=[xnew iter tempo f(xnew)];
%----------fim do MPH de segunda ordem----------

107

%----------In
cio do MPH de terceira ordem---------x = x0;
iter = 1;
tic;
aux1 = f(x)/df(x);
aux2= d2f(x)/df(x);
xnew=x-aux1-0.5*aux2*(aux1)^2+(d3f(x)/(6*df(x))-0.5*(aux2)^2)*aux1^3;
while abs(x-xnew)>err
x = xnew;
aux1 = f(x)/df(x);
aux2= d2f(x)/df(x);
xnew=x-aux1-0.5*aux2*(aux1)^2+(d3f(x)/(6*df(x))-0.5*(aux2)^2)*aux1^3;
iter = iter + 1;
end
tempo=toc;
MPH3=[xnew iter tempo f(xnew)];
%----------fim do MPH de terceira ordem----------

%----------In
cio da Decomposi
c~
ao de Adomian---------x=x0;
iter=1;
tic;
aux = x - f(x)/df(x);
xnew = aux - f(aux)/df(x);
while abs(x-xnew) > err

108

x = xnew;
aux = x - f(x)/df(x);
xnew = aux - f(aux)/df(x);
iter = iter+1;
end
tempo=toc;
ADM=[xnew iter tempo f(xnew)];
%----------fim da decomposi
c~
ao de Adomian----------

resp=[MN ; MPH2; MPH3; ADM];

function f=f(x)
f=x^3+4*x^2-10;
end

function df=df(x)
df=3*x^2

+ 8*x;

end

function d2f=d2f(x)
d2f=6*x+8;
end

function d3f=d3f(x)
d3f=6;
end

109

end

C.2

ADM - aplicac
ao F1

function resp=simF1
%----------Parametros iniciais---------clc;
clear;
x0=[0.1 0.1 -0.1];
prec=1e-15;
itermax=500;
e=exp(1);

function f=f(x)
f1=3*x(1) - cos(x(2)*x(3)) - 0.5;
f2=x(1)^2 - 81*(x(2) + 0.1)^2 + sin(x(3)) + 1.06;
f3=exp(-x(1)*x(2)) + 20*x(3) + (10*pi - 3)/3;
f=[f1 f2 f3];
end

function j=jacob(x)
j(1,1) = 3;
j(1,2) = x(3)*sin(x(2)*x(3));
j(1,3) = x(2)*sin(x(2)*x(3));
j(2,1) = 2*x(1);

110

j(2,2) = - 162*(x(2) + 0.1);


j(2,3) = cos(x(3));
j(3,1) = - x(2)*exp(-x(1)*x(2));
j(3,2) = - x(1)*exp(-x(1)*x(2));
j(3,3) = 20;
end

%----------Inicio do m
etodo de Newton---------tic;
x=x0;
iter=1;
xnew = x - jacob(x)\f(x);
err=max(abs(xnew-x));
while err>prec
x=xnew;
xnew=x - jacob(x)\f(x);
err=max(abs(xnew-x));
iter=iter+1;
if iter>itermax
xnew=[1 2 3];
break
end
end
mn=[xnew iter toc];
%----------fim do M
etodo de Newton----------

111

%----------In
cio do ADM---------tic;
x=x0;
iter=1;
aux=x - jacob(x)\f(x);
xnew=aux - jacob(x)\f(aux);
err=max(abs(xnew-x));
while err>prec
x=xnew;
aux=x - jacob(x)\f(x);
xnew=aux - jacob(x)\f(aux);
err=max(abs(xnew-x));
iter=iter+1;
if iter>itermax
xnew=[1 2 3];
break
end
end
adm=[xnew iter toc];
resp=[mn; adm];
end

C.3

Busca local - problema P 1

function [x]=ajustap1(x,fit,LB,UB)
[coord pop]=size(x);

112

tol=1e-6;
itermax=10;
[ord,pos]=sort(fit);
quant=floor(pop/3); %-----1/3 da popula
c~
ao ter~
ao suascoordenadas ajustadas;

for j=1:pop
if pos(j)>=quant && pos(j)<=(pop-quant)
i=pos(j);
opt=ceil(coord*rand(1)); %-----sorteia a vari
avel a ser ajustada
switch opt
case 1
aux00=f1(x(1,i),x(2,i));
if aux00<LB(opt) || aux00>UB(opt)
break
end
xx=[aux00;x(2,i)];
aux01=obj(xx);
aux02=obj(x(:,i));
if aux01<aux02
x(opt,i)=aux00;
end
case 2
aux00=f2(x(1,i),x(2,i));
if aux00<LB(opt) || aux00>UB(opt)
break
end

113

xx=[x(1,i);aux00];
aux01=obj(xx);
aux02=obj(x(:,i));
if aux01<aux02
x(opt,i)=aux00;
end
end
end
end

function obj=obj(xx)
A=[1 0;0 4];
obj= xx*A*A*xx - 10*[1 1]*cos(2*pi*A*xx);
end

function fun=fun(x1,x2)
fun = (x1 - 2)^2 + (x2 - 2)^2 - 1;
end

function df1=df1(var)
df1=2*(var-2);
end

function df2=df2(var)
df2=2*(var-2);
end

114

function xnew=f1(x1,x2) %-----ajusta a vari


avel 1
ok=0;
if df1(x1)==0
ok=1;
xnew=x1;
else
aux = x1 - fun(x1,x2)/df1(x1);
xnew = aux - fun(aux,x2)/df1(x1);
iter = 1;
err = abs(x1 - xnew);
xn = xnew;
end
while ok==0
if iter>itermax || err<tol || df1(xn)<tol
ok=1;
end
aux = xn - fun(xn,x2)/df1(xn);
xnew = aux - fun(aux,x2)/df1(xn);
iter = iter+1;
err = abs(xn - xnew);
xn=xnew;
end
end

function xnew=f2(x1,x2) %-----ajusta a vari


avel 2

115

ok=0;
if df2(x2)==0
ok=1;
xnew=x2;
else
aux=x2 - fun(x1,x2)/df2(x2);
xnew=aux - fun(x1,aux)/df2(x2);
iter=1;
err=abs(x2-xnew);
xn=xnew;
end
while ok==0
if iter>itermax || err<tol || df2(xn)==0
ok=1;
end
aux=xn - fun(x1,xn)/df2(xn);
xnew=aux - fun(x1,aux)/df2(xn);
iter=iter+1;
err=abs(xn-xnew);
xn=xnew;
end
end
end %----------fim da rotina de ajuste de pontos----------

116

Você também pode gostar