Escolar Documentos
Profissional Documentos
Cultura Documentos
Schopenhauer
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
.
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
.
Sum
ario
1 Introduc
ao
12
2 M
etodos num
ericos para determinac
ao de razes de equac
oes 15
2.1
2.2
2.3
Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4
Metodos Quasi-Newton . . . . . . . . . . . . . . . . . . . . . . 22
2.5
Metodos de Continuacao . . . . . . . . . . . . . . . . . . . . . 23
2.5.1
2.5.2
2.5.3
2.5.4
Decomposicao de Adomian . . . . . . . . . . . . . . . . 30
37
3.1
Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2
Algoritmos Evolucionarios . . . . . . . . . . . . . . . . . . . . 40
3.3
Operadores de um AG . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1
3.3.2
Selecao . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.3
Recombinacao . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.4
Mutacao . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.5
Reinsercao . . . . . . . . . . . . . . . . . . . . . . . . . 54
Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 Experimentos Num
ericos
5.1
5.2
55
60
Resolucao de equacoes . . . . . . . . . . . . . . . . . . . . . . 61
5.1.1
5.1.2
Aplicacoes em Rn . . . . . . . . . . . . . . . . . . . . . 65
6 Conclus
oes e trabalhos futuros
83
6.1
Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2
Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 85
A Definic
oes
91
101
C Implementac
oes em MATLAB
106
Lista de Figuras
2.1
3.1
3.2
3.3
Recombinacao uniforme . . . . . . . . . . . . . . . . . . . . . 49
3.4
3.5
3.6
3.7
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
4.1
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
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
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
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)
bn an
.
2
Entao
1
2
a cada
bn an =
ba
.
2n
ba
2n
1
n2
e a sequencia
. Uma outra
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)
2.3
M
etodo de Newton
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 (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)
g(xn1 ) = xn1
f (xn1 )
para n 1,
f 0 (xn1 )
(2.5)
(2.6)
(2.7)
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)
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
A1
Ai
onde
yi = F (xi ) F (xi1 )
si = xi xi1
2.5
(2.13)
M
etodos de Continua
c
ao
23
(2.14)
2.5.1
M
etodo de Continua
c
ao Finito
Seja
(2.15)
(2.16)
24
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
0=
25
H(t, x(t))
x (t) =
t
0
1
H(t, x(t))
,
t
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
(2.17)
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
(2.19)
(2.20)
t:
t2 :
t3 :
(2.21)
x0
solucao de g(x) = 0
x1 =
f (x0 )
g 0 (x0 )
28
x2 =
x3 =
(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)
x = x0 + x1
x = x0 + x1 + x2
x = x0 + x1 + x2 + x3
29
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)
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)
xn+1 = xn
2hf (xn )
f (xn + h) f (xn h)
(2.29)
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
x =
xn .
(2.30)
n=0
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
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 )
A1 = x1 N 0 (x0 )
1
A2 = x2 N 0 (x0 ) + x21 N 00 (x0 ).
2
xn = c +
n=0
An ,
(2.34)
n=0
x0 = c
(2.35)
x1 = A0
(2.36)
xn+1 = An ,
n = 0, 1,
(2.37)
32
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)
h2 f 00 (x)
2 f 0 (x)
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)
33
(2.40)
(2.41)
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) .
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)
(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)
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)
xn+1 = xn
f (xn )
f 0 (xn )
f xn
f (xn )
f 0 (xn )
f 0 (xn )
,
(2.47)
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
(2.49)
35
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
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
gi (x) 0 i = 1 r
sujeito a
hj (x) = 0 j = 1 p
37
(3.1)
38
39
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
41
42
1
5
43
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
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
(3.2)
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
P (xi ) =
F (xi )
n
X
(3.3)
F (xj )
j=1
S/n
47
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
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
49
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.
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.
x3 = x1 + (1 )x2
51
(3.7)
= + (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
52
3.3.4
Mutac
ao
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
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
56
4.1
Desenvolvimento
(4.1)
sujeito a h(x) = 0
hk (
x) = h(x1 , , x
, , xn )
(4.2)
xn+1 = xn
f (xn )
f 0 (xn )
f xn
f (xn )
f 0 (xn )
f 0 (xn )
.
(4.3)
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.
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.
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
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.
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
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
MPH2
Divergente
MPH3
Divergente
ADM 1.404491648215341
17
Tempo
0.0000935
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
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
Metodo
x?
Iteracoes
MN
Divergente
MPH2
Divergente
MPH3
Divergente
ADM -1.207647827130919
10
Tempo
0.0000703
Metodo x?
MN 3
MPH2 3
MPH3 3
ADM 3
Iteracoes
146
98
80
107
Tempo
0.0003112
0.0003992
0.0005376
0.0004204
63
Metodo
x?
Iteracoes
MN 0.000000001901298
36
MPH2
Divergente
MPH3
Divergente
ADM 0.0000000135027603
20
Tempo
0.0000961
0.0001081
Iteracoes
Tempo
7
0.0001754
5
0.0001331
4
0.0001421
6
0.0003014
64
5.1.2
Aplicac
oes em Rn
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
66
x?
Tempo
Iteracoes
1.456042795955336
1.664230466081535
8
0.0019251
0.422493404446532
Metodo
MN
ADM
1.456042795955336
1.664230466081535
0.422493404446532
0.0014394
x?
Tempo
Iteracoes
0.498144684589491
0.199605895543780
5
0.0013278
0.528825977573387
Metodo
MN
0.498144684589491
0.199605895543780
0.528825977573387
ADM
0.0011077
x?
Diverge
Iteracoes
Tempo
0, 498144684589491
0, 199605895543780
0, 528825977573387
0,0009608
Metodo
MN
ADM
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
(5.1)
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
70
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
71
[P2]: Func
ao Rastringin Tridimensional
x? = arg mimx xT x 10[1 1 1] cos(2x)
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
72
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
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
74
sujeito a
37.293239x1 40792.141;
85.334407 + 0.0056858x2 x5
27 < x5 < 45
3.09
x 10
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
75
sujeito a
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
76
2
2
2
2
2
x1 + x2 + x3 + x4 + x5 = 10;
sujeito a
2.3 < xi < 2.3 i = 1, 2
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
77
[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
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
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
79
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
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
x? = arg mimx x1 2 + x2 2 + x3 2
4 < xi < 4, i = 1, 2, 3
Alg.
AG
AGBL
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
Alg.
AG
AGBL
#S
g(x)
STD de g(x)
0 -1.8019
0.1826
42 -0.0021
0.0201
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
84
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.
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
89
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
(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)
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)
g (x) =
g(x)
x1
..
.
g(x)
xm
h0
1
|F (x + h) F (x) A(h)| = 0.
|h|
(A.4)
F 00 (a) : Rm Rm Rn ,
94
F (a) v w =
w
00
F
v
(a) Rn .
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)
|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
|rp (v)|
|v|p
max |F (p) (a + tv)|
p! 0t1
minimizar
sujeito a
f (x)
hi (x) = 0, gj (x) 0
(A.8)
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)
(A.11)
g(x? ) = 0
(A.12)
A.2
Algoritmos e Converg
encia
97
lim sup
k
|xk+1 x? |
= q com q (0, 1),
|xk x? |
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
|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)
|F 0 (xn )| ,
(A.15)
100
Ap
endice B
Aproximac
oes Quadr
aticas
O problema geral de minimizacao mono objetivo
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)
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
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
h(z) = z T Hz + rT z +
(B.4)
f (zi ) = h(zi )
(B.5)
(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
a soluc
ao do sistema determina a aproximacao h(z) pro-
(n+1)(n+2)
,
2
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)
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
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
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----------
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
%----------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
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
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