ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA … - Thallis... · 2.3.2.4. Processos de...
-
Upload
nguyenhanh -
Category
Documents
-
view
214 -
download
0
Transcript of ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA … - Thallis... · 2.3.2.4. Processos de...
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO
CAMPUS ANGICOS
CURSO DE CIÊNCIA E TECNOLOGIA
THALLIS THAUAN AZEVEDO DE SOUSA
ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA
RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES
ANGICOS-RN
2013
THALLIS THAUAN AZEVEDO DE SOUSA
ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA
RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES
Monografia apresentada a Universidade Federal Rural
do Semi-Árido – UFERSA, Campus Angicos para a
obtenção do título de Bacharel em Ciência e
Tecnologia.
Orientador: Profº Me. Matheus da Silva Menezes -
UFERSA
ANGICOS-RN
2013
A minha família, especialmente aos meus pais; Leilson Pereira de Sousa e Edna Maria
Azevedo que nunca mediram esforços para minha felicidade e educação.
AGRADECIMENTOS
Primeiramente, quero agradecer, de uma maneira muito especial, a Deus acima de tudo por
estar presente na minha vida de modo bastante especial, me dando força, sabedoria e
compreensão para concluir este trabalho. Deus está acima de tudo na minha vida;
À minha família, especialmente à minha mãe que com muito carinho e apoio não mediu
esforços para que eu chegasse até esta etapa da minha vida, acreditando e me entregando em
suas constantes orações diárias, ao meu pai que nunca me deixou faltar nada;
Aos meus colegas de curso pela troca de experiências durante esses anos, em especial as
minhas amigas Ornella Lacerda, Nathália Reis, Marilia Amorim e Danielly Cristina que
sempre tiveram paciência comigo, aos meus amigos Fernando Henrique, João Emanuell,
Filipe Carlos, Felipe Yure, Francisco Gouveia e a Thalis Ginani com quem compartilhei
muitos conhecimentos, brincadeiras e companheirismo;
A todos os moradores da Casadocaraioficial, onde morei durante a maior parte do curso, e
dividi experiências bastante proveitosas.
Aos meus amigos Dhyego Shongas Barbosa, Paulo Henrique e Andrew Pinheiro por me
aceitarem como “encostado” na casa deles e termos compartilhado boas risadas.
Aos meus amigos Modesto Neto e Fabiano Drechsler pelas resenhas feitas tanto na minha
casa como também lá no “Cantinho dos caras”;
À banda norte americana Foo Fighters, por ter me trazido inspiração nas noites longas na sala
17, onde eu fiz a maior parte da minha monografia;
Ao meu orientador Matheus Menezes, pela dedicação, disponibilidade, contribuições e
incentivo na elaboração deste trabalho;
A todos os professores, em especial a Sâmea Valensca, Marcilene Nobrega, Antônio de
Pádua, Roselene Alcântara, Núbia Alves, Alexandro Pereira, Edwin Barreto, Vinicius
Samuel, Éder Jofre e Ivan Mezzomo que estiveram presentes no período deste curso que
direto ou indiretamente contribuíram para esta conquista;
À UFERSA, em especial ao Campus Angicos, onde convivi durante toda essa jornada de
muito estudo e assim consegui conquistar a amizade e confiança de muitos professores, vocês
serão inesquecíveis;
A todos os meus amigos (as) que presentes no meu dia a dia, me apoiaram e desejaram o meu
sucesso, agradeço muito por acreditarem nesta realização;
Serei a todos infinitamente grato.
RESUMO
O presente trabalho tem por objetivo efetuar uma revisão bibliográfica sobre o método do
gradiente aplicado à resolução de sistemas de equações lineares, destacando seus elementos
constitutivos e condições de convergência. Efetuamos também a implementação do método
na plataforma numérica SCILAB, comparando o desempenho do método em relação aos
métodos iterativos estacionários de Gauss-Seidel e Jacobi, utilizando para isso sete problemas
de teste cuja dimensão variou entre 30 e 1200 equações. Ao fim do trabalho constatou-se que
o método do gradiente possuiu vantagens relativas a um bom desempenho aliado a um baixo
tempo de execução em relação aos métodos analisados.
Palavras-chave: Sistema de equações lineares. Método do gradiente. Métodos iterativos.
LISTA DE FIGURAS
FIGURA 1 – ILUSTRAÇÃO DO COMPORTAMENTO DE PONTOS DE MÍNIMO LOCAL E MÁXIMO LOCAL,
FONTE THOMAS (2010) ............................................................................................................. 19
FIGURA 2 – EXEMPLO DO COMPORTAMENTO DE UMA MATRIZ POSITIVA DEFINIDA, FONTE
THOMAS (2009) ......................................................................................................................... 36
FIGURA 3: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA
BCSSTRUC1, FONTE MATRIXMARKET(2013) ........................................................................ 43
FIGURA 4: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO
PROBLEMAPDE225, FONTE MATRIX MARKET(2013) ................................................................. 44
FIGURA 5: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA
MCFE, FONTE MATRIX MARKET(2013) ..................................................................................... 45
FIGURA 6: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA
GR3030, FONTE MATRIX MARKET (2013) ................................................................................. 46
FIGURA 7: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA
SHERMAN1, FONTE MATRIXMARKET(2013) ......................................................................... 47
FIGURA 8: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA
SHERMAN4, FONTE MATRIXMARKET(2013). ........................................................................ 48
LISTA DE TABELAS
TABELA 1: DADOS REFERENTES AO COMPUTADOR UTILIZADO NOS TESTES. .............................. 38
TABELA 2 ALGORITMO UTILIZADO NO MÉTODO DE JACOBI ....................................................... 39
TABELA 3 ALGORITMO UTILIZADO NO MÉTODO DO GRADIENTE ................................................ 40
TABELA 4 ALGORITMO UTILIZADO NO MÉTODO DE GAUSS-SEIDEL ........................................... 41
TABELA 5: DADOS REFERENTES AO PRIMEIRO PROBLEMAM30 .................................................. 42
TABELA 6: DADOS REFERENTES AO PROBLEMA BCSSTRUC1 .................................................. 43
TABELA 7: DADOS REFERENTES AO PROBLEMA PDE225 ............................................................ 44
TABELA 8: DADOS REFERENTES AO PROBLEMA MCFE ................................................................ 45
TABELA 9: DADOS REFERENTES AO PROBLEMA GR3030 ............................................................ 45
TABELA 10: DADOS REFERENTES AO PROBLEMA SHERMAN1 ................................................. 46
TABELA 11: DADOS REFERENTES AO PROBLEMA SHERMAN4 ................................................. 47
TABELA 12: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMA M30 ......................................................................................................................... 49
TABELA 13: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMA BCSSTRUC1. ......................................................................................................... 51
TABELA 14: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMAPDE225 ..................................................................................................................... 52
TABELA 15: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMA MCFE ....................................................................................................................... 54
TABELA 16: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMA GR3030 .................................................................................................................... 55
TABELA 17: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMA SHERMAN1. .......................................................................................................... 57
TABELA 18: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O
PROBLEMA SHERMAN4. .......................................................................................................... 58
TABELA 19 – QUADRO COMPARATIVO ENTRE OS MÉTODOS PARA TODOS OS PROBLEMAS
ANALISADOS .............................................................................................................................. 60
LISTA DE GRÁFICOS
GRÁFICO 1 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA M30 ................................. 50
GRÁFICO 2 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
M30 ........................................................................................................................................... 50
GRÁFICO 3 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA BCSSTRUC1 .................. 51
GRÁFICO 4 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
BCSSTRUC1 ............................................................................................................................ 52
GRÁFICO 5 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA PDE225 ............................ 53
GRÁFICO 6 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
PDE225 ...................................................................................................................................... 53
GRÁFICO 7 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA MCFE ............................... 54
GRÁFICO 8 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
MCFE.......................................................................................................................................... 55
GRÁFICO 9 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA GR3030 ............................ 56
GRÁFICO 10 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
GR3030 ...................................................................................................................................... 56
GRÁFICO 11 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA SHERMAN1................. 57
GRÁFICO 12 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
SHERMAN1 ............................................................................................................................. 58
GRÁFICO 13 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA SHERMAN4................. 59
GRÁFICO 14 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA
SHERMAN4 ............................................................................................................................. 59
GRÁFICO 15 – TEMPO DE EXECUÇÃO EM SEGUNDOS (S) DOS MÉTODOS PARA OS PROBLEMAS
M30, PDE225, GR3030, SHERMAN1 E SHERMAN4. .............................................................. 61
SUMÁRIO
1 INTRODUÇÃO ................................................................................................................... 14
1.1 JUSTIFICATIVA ............................................................................................................... 15
1.2 OBJETIVOS ....................................................................................................................... 15
1.2.1 Objetivo geral ................................................................................................................. 15
1.2.2 Objetivos específicos ...................................................................................................... 15
2 REVISÃO DE LITERATURA ........................................................................................... 17
2.1. PRELIMINARES .............................................................................................................. 17
2.1.1. Funções de varias variáveis ......................................................................................... 17
2.1.2. Derivada Parcial ........................................................................................................... 18
2.1.3. Ponto de máximo e mínimo de funções ....................................................................... 19
2.1.4. Derivada direcional ...................................................................................................... 20
2.1.5. Gradiente ....................................................................................................................... 21
2.2.SISTEMAS DE EQUAÇÕES LINEARES ........................................................................ 22
2.2.1. Classificação dos sistemas de equações lineares ........................................................ 24
2.2.1.1 Quanto ao tamanho ....................................................................................................... 24
2.2.1.2 Quanto ao numero de soluções ..................................................................................... 24
2.3. MÉTODOS PARA RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES ......... 24
2.3.1. Métodos diretos ............................................................................................................. 24
2.3.2. Métodos iterativos ........................................................................................................ 26
2.3.2.1. Critério de convergência .............................................................................................. 27
2.3.2.2. Critério de parada ........................................................................................................ 27
2.3.2.3. Processos estacionários................................................................................................ 27
2.3.2.4. Processos de relaxação ................................................................................................ 31
2.4 MÉTODO DO GRADIENTE ............................................................................................. 36
3 METODOLOGIA E METODOS ..................................................................................... 38
3.1 METODOLOGIA ............................................................................................................... 38
3.2 ALGORITMOS .................................................................................................................. 39
3.3 PROBLEMAS .................................................................................................................... 42
4 RESULTADOS E DISCUSSÃO ........................................................................................ 49
4.1 COMPARATIVO ENTRE OS MÉTODOS ....................................................................... 59
5 CONSIDERAÇÕES FINAIS .............................................................................................. 62
REFERÊNCIAS ..................................................................................................................... 63
14
1 INTRODUÇÃO
Sistemas de equações lineares são encontrados em diversas áreas da atuação
matemática. Mesmo indiretamente, é comum a presença dos descritos sistemas em problemas
do nosso cotidiano, como por exemplo, na analise de um circuito elétrico, ou no cálculo
estrutural de uma treliça na engenharia civil, e não param por ai, segundo Ferreira (2007,
p.29) podemos facilmente encontra-los também em problemas de equações diferenciais
parciais, otimização e regressões. Para Burden e Faires (2008) "[...] os sistemas de equações
lineares estão associadosa muitos problemas no campo da engenharia e da ciência, bem
como com aplicações damatemática às ciências sociais e aos estudos quantitativos nos
problemas de administração eeconomia".
Assim, os sistemas de equações lineares estão diretamente ligados a diversos
problemas da engenharia e da ciência. Segundo Sperandio (2003, p. 67) “[...] os sistemas de
equações lineares podem ser de grande porte”. Por exemplo, a análise de estruturas de uma
aeronave. Segundo Leon (2011, p.1), "sistemas lineares aparecem em aplicações em áreas
como administração, economia, sociologia, ecologia, demografia, genética, eletrônica,
engenharia e física.". Para Ferreira (2007, p.29) A solução de um sistema de equações
algébricas lineares é provavelmente o processo numérico mais utilizado para simular
situações do mundo real.
Percebe-se então que a necessidade de se resolver um sistema de equações lineares é
bastante considerável, havendo diversas formas de se chegar a mesma, a quais chamamos de
métodos numéricos, contudo, segundo Ruggiero (2004) tais métodos diferem entre si na
forma de buscar a solução do sistema, adequando-se às mais diversas situações, e cujo
desempenho depende fundamentalmente do tipo de estrutura da matriz dos coeficientes.
Dessa forma, é evidente a necessidade da realização de estudos sobre esses métodos de
resolução. Segundo Ruggiero (2004) um estudo sobre a eficiência dos métodos se torna
necessário, pois na maioria das vezes os problemas mais práticos envolvem a resolução de
sistemas de grande porte.
Segundo Franco (2006) quando nos deparamos com sistemas grandes e esparsos, os
métodos iterativos se tornam mais eficientes que os métodos diretos. Segundo Burden e Faires
(2008), para grandes sistemas esparsos, essas técnicas são eficientes em termos tanto de
armazenamento no computador quanto de cálculos. O método dos gradientes é um método
iterativo advindo do processo de relaxação que se encaixa nesse contexto.
15
1.1 JUSTIFICATIVA
A construção de um trabalho sobre métodos numéricos é de grande importância para
diversas áreas de atuação e de estudos, pois existem inúmeros tipos de problemas que
envolvem sistemas de equações lineares, assim como também existe um grande número de
métodos de resolução desses sistemas. Cada método pode ter sua aplicação bem sucedida para
certo tipo de problema e para outro não. Aplicar o método adequado para cada situação é
primordial na vida de um profissional, para que se possa tomar essa decisão dentro de
referencias que nos leve a ter bons resultados e não perder tempo e investimentos. É
importante conhecer minuciosamente o funcionamento de cada método, por isso existe a
necessidade da elaboração de trabalhos como este, comparando e analisando o funcionamento
de um certo tipo de método, neste caso o método dos gradientes.
1.2 OBJETIVOS
1.2.1 Objetivo geral
O presente trabalho possui o objetivo de efetuar uma revisão bibliográfica e estudo do
método dos gradientes.
1.2.2 Objetivos específicos
Analisar os aspectos teóricos e práticos do método dos gradientes;
Analisar a aplicabilidade do método de acordo com as suas pré-condições;
Implementar o algoritmo do método proposto na plataforma computacional numérica
Scilab;
Efetuar um estudo comparativo de resultados em alguns problemas de teste,
comparando os resultados com os métodos de Gauss-Jacobi e Gauss-Seidel;
Analisar a convergência dos métodos nos problemas de teste.
16
De forma a alcançar os objetivos propostos, o presente trabalho está organizado de
acordo com a formatação metodológica que é apresentada a seguir. O capitulo 1 contém a
organização metodológica, justificativas e objetivos. O capitulo 2 apresenta a fundamentação
teórica matemática que dará base aos métodos estudados. No capitulo 3, são mostrados os
procedimentos utilizados para a realização dos testes, algoritmos implementados e os
problemas utilizados. No capitulo 4 tem-se os resultados obtidos nos testes de cada problema
aplicado em cada método. Pra encerrar, o capitulo 5 apresenta as conclusões tiradas sobre o
trabalho.
17
2 REVISÃO DE LITERATURA
2.1. PRELIMINARES
2.1.1. Funções de varias variáveis
Segundo Thomas (2009), muitas funções dependem de uma variável independente.
Por exemplo, a função calcula o volume de um cilindro circular reto a partir da sua
altura e altura . Outro exemplo é a temperatura T de um ponto da superfície terrestre, onde
depende da latitude e longitude , representada por
O mesmo autor ainda define que funções reais de varias variáveis são definidas
basicamente da mesma maneira que as de uma variável.
Assim chama-se de função real com variáveis a uma função do tipo
com
Ou seja, uma função cujo domínio (ou ) é um subconjunto de e seu
contradomínio é .
A notação mais resumida mostrada acima também é usada, sendo mostrada de uma
forma geral como
Neste caso é o conjunto }
Em aplicações, tendemos a usar letras que nos lembram o significado da variável. Para
dizermos que o volume de um cilindro circular reto é uma função de seu raio e altura,
podemos escrever . Para ser mais específico, pode-se trocar a notação pela
formula que calcula o valor de a partir dos valores de e e escrever . Em ambos
os casos, r e h são as variáveis independentes e V a variável dependente da função. (Thomas,
2009)
18
2.1.2. Derivada Parcial
Segundo Stewart (2001) o conceito de derivada está intimamente relacionado à taxa de
variação instantânea de uma função, o qual está presente no cotidiano das pessoas, através,
por exemplo, da determinação da taxa de crescimento de certa população, da taxa de
crescimento econômico do país, da taxa de redução da mortalidade infantil, da taxa de
variação de temperaturas, da velocidade de corpos ou objetos em movimento, enfim,
poderíamos ilustrar inúmeros exemplos que apresentam uma função variando e que a medida
desta variação se faz necessária em um determinado momento. Para Thomas (2009, p.307) o
cálculo de várias variáveis é, na realidade, o cálculo de uma variável aplicado a várias
variáveis uma de cada vez. Quando fixamos todas as variáveis independentes de uma função,
exceto uma, e derivamos em relação a essa variável, obtemos uma derivada “parcial”.
Para o autor citado acima se uma função possui derivada parcial em relação a
no ponto é dada por:
|
Se este limite existir. representa uma pequena variação em , próximo de mantendo y
constante. Aplicando raciocínio análogo definimos a derivada parcial de em relação a
no ponto como:
|
Para Thomas (2009, p.313) quando derivamos uma função duas vezes,
produzimos suas derivadas de segunda ordem. Essas derivadas são , em geral, denotadas por:
Derivada de segunda em relação à .
Derivada de segunda ordem em relação à .
Primeira derivada em relação à , e segunda derivada em relação à .
Primeira derivada em relação à e segunda derivada em relação à .
19
2.1.3. Ponto de máximo e mínimo de funções
Segundo Thomas (2009), funções continuas de duas variáveis assumem valores
extremos em domínios fechados e limitados. Veremos então, que a procura desses valores
pode ser mais simples examinando-se as derivadas parciais de primeira ordem da função. O
mesmo autor afirma que funções de duas variáveis podem assumir valores extremos apenas
nos pontos de fronteira do domínio ou nos pontos interiores do domínio onde as derivadas de
primeira ordem são nulas, ou onde uma ou ambas as derivadas parciais da função não
existam.
Para Thomas (2009), máximos locais correspondem a picos de montanhas e mínimos a
vales, assim como mostrado na figura abaixo:
Figura 1 – Ilustração do comportamento de pontos de mínimo local e máximo local, Fonte
Thomas (2010)
O teorema a seguir desenvolvido pelo autor citado acima demonstra a maneira de se
identificar os pontos críticos da função através do teste da derivada de segunda ordem.
Teorema 1
Suponha que e suas derivadas parciais de primeira e segunda ordem sejam
continuas em um disco centrado em e que .
Então
i. tem um máximo local em se e em
ii. tem um mínimo local em se e em
iii. tem um ponto de sela em se em
20
iv. O teste é inconclusivo em se em Nesse caso,
deve-se tentar outra maneira de identificar o comportamento da função em
.
Para identificar o ponto de máximo absoluto da função Thomas (2009) utiliza a
seguinte definição.
Definição: Seja uma função de duas variáveis. Dizemos que
é ponto de máximo global se, para todo . Dizemos
que é um ponto de máximo global de .
Já o ponto de mínimo global é definido pelo autor da seguinte maneira:
Definição: Seja uma função de duas variáveis. Dizemos que
é ponto de máximo global se, para todo . Dizemos
que é ponto de mínimo global de .
2.1.4. Derivada direcional
Segundo Thomas (2009), através do cálculo da derivada direcional podemos então
encontrar a taxa de variação de uma função f em relação a uma direção a uma determinada
direção, como por exemplo, o curso de um rio, onde a direção do curso do rio é perpendicular
aos contornos ou margens do mesmo.
Thomas (2009) descreve definição da derivada direcional de uma função de duas
variáveis por uma questão de comodidade, mas essa definição se estende, de maneira natural,
acrescentando mais coordenadas, para as funções de mais do que duas variáveis.
Definição: Seja uma função, onde é um aberto, tal que
. Seja um vetor unitário (isto é,‖ ‖ ).
A equação
define uma reta paralela ao vetor , tal que e, para valores suficientemente
pequenos de
Se existir o
( )
21
ele será denotado por
e chamado derivada direcional de no ponto , na direção
do vetor (unitário) .
Se , com ‖ ‖ √
, então
e
2.1.5. Gradiente
Ao desenvolver uma forma mais eficiente para o calculo da derivada direcional,
Thomas (2009) chega então ao gradiente, que é obtido por meio do calculo das derivadas
parciais da função.
O gradiente é definido pelo autor da seguinte forma:
A notação também pode ser descrita como grad ou gradiente de segundo o
mesmo autor.
Para Thomas (2009) o teorema abaixo relaciona o gradiente à derivada direcional, no
caso das funções diferenciáveis. Esse teorema nos dará uma fórmula para calcular, de maneira
simples, as derivadas direcionais.
Teorema 2
Seja uma função diferenciável em , um aberto de , e
seja um vetor unitário. Então,
Isto é, se for diferenciável, podemos calcular as derivadas direcionais simplesmente
fazendo o produto interno do vetor gradiente pelo vetor unitário que indica a direção indicada.
22
Além disso, o teorema nos diz que, se for diferenciável, então ela admite derivada
direcional
para todo vetor unitário .
2.2.SISTEMAS DE EQUAÇÕES LINEARES
Podemos considerar como linear uma equação onde seus termos são submetidos
apenas as operações de soma e produto entre as constantes e variáveis, e onde também não há
produto entre as variáveis. Segundo Franco (2006, p. 108) "uma equação é linear se cada
termo contiver não mais do que uma variável e cada variável aparece na primeira potência.”
Podemos então definir uma equação linear da seguinte forma:
Onde segundo Leon (2011), são constantes chamadas de coeficientes,
são chamadas de incógnitas ou variáveis, e b é chamado de termo livre.
Segundo Oliveira (1969, p. 1105) "de um ponto de vista puramente matemático, o
modelo linear apresenta um grande numero de vantagens sobre outros modelos, denominados
não lineares."
Vemos então que segundo Ferreira (2010) um sistema de equações lineares nada mais
é do que um conjunto de m equações com n incógnitas. Uma condição importante para que se
possa ser aplicado um método de resolução é que m=n, ou seja, o numero de equações deve
ser igual ao numero de incógnitas.
Segundo Freitas(2000, pag. 85) Estima-se que em 75% dos problemas científicos a
solução de um sistema linear de equações aparece em algum estágio da solução. Podemos,
entre outros, citar os seguintes problemas: Interpolação, ajuste de curvas, solução de sistemas
de equações não lineares, solução de equações diferenciais usando diferenças finitas e cálculo
de autovalores e autovetores.
Então, tomando como referência a forma de uma equação linear descrita por Leon
(2011), a forma genérica de um sistema com m equações e n incógnitas é apresentado da
seguinte forma:
{
23
Em que, e são números reais e i, j .
Usando a notação matricial, o sistema pode ser representado dessa forma:
Ax=b (3)
onde,
[
]
é a matriz dos coeficientes,
[
]
é o vetor das variáveis, e
[
]
é o termo livre ou vetor constante.
Neste trabalho vamos denotar por x* o vetor solução e de a solução aproximada do
sistema linear.
Segundo Boldrini (1980, p. 33), uma solução do sistema apresentado na equação 2 é
uma n-upla de números ( ) que satisfazem simultaneamente estas m equações.
24
2.2.1. Classificação dos sistemas de equações lineares
Os sistemas lineares podem ser classificados de acordo com os seguintes parâmetros:
2.2.1.1 Quanto ao tamanho
De acordo com Gavala (p. 42), podemos classificar os sistemas de equações lineares
de acordo com:
Pequenos: quando 300, onde n representa o número de equações do sistema.
Grandes: quando 300, onde n também representa o numero de equações do
sistema.
2.2.1.2 Quanto ao número de soluções
Segundo Ferreira (2010, p. 42), um sistema linear pode ser classificado sob vários
critérios, como, por exemplo, o número de soluções:
Segundo o próprio autor, o número de soluções de um sistema linear depende do valor
do determinante da matriz dos coeficientes. Há três soluções possíveis:
(a) Única solução: Quando o sistema têm apenas uma solução.
(b) Infinitas soluções: Quando o vetor é a intersecção entre as equações.
(c) Sem solução: Quando o sistema não possui solução alguma.
2.3. MÉTODOS PARA RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES
2.3.1. Métodos diretos
Para Ruggiero (2004) os métodos diretos são aqueles em que após um número finito
de etapas, e não se considerando os erros de arredondamento, encontra-se a solução exata do
sistema caso ela exista. Já para Barroso (1987 p, 27) são métodos que determinam a solução
de um sistema linear com um número finito de operações.
Sperandio et al(2003) apresenta os métodos diretos mais conhecidos, sendo eles:
Regra de Crammer: Consiste em isolar as variáveis uma a uma e fazer a
retrosubstituição nas equações restantes até que todas as variáveis tenham sido
encontradas. Segundo Sperandio et al(2003) seu uso é praticamente impossível, a
menos que os sistemas tenham poucas equações e incógnitas.
25
Matriz Inversa: Se A = b, podemos encontrar o vetor solução pela seguinte
operação algébrica: = b.
Método de eliminação de Gauss: Através deste encontramos um sistema triângular
equivalente ao sistema linear inicial (por ser mais fácil de operacionalizar) que irá
fornecer uma solução que também satisfaz o sistema inicial. Segundo Freitas (2000, p.
93), o método divide-se em duas partes, transformando o sistema em um sistema
triângular por meio de eliminação sistemática das incógnitas. E, em seguida aplicando
o processo de retrosubstituição. Segundo Sperandio et al (2003), escalonamento e
estratégias de pivoteamento devem ser usadas a fim de evitar elevados erros de
arredondamento.
Fatoração LU: Em um sistema A = b, decompõe-se a matriz A em duas matrizes:
uma triangular inferior L= [ ], e uma triângular superior, U = [ ], tal que Ly = b e
Ux =Y, de acordo com o seguinte teorema:
Teorema 01: "Sejam A uma matriz n×n e a matriz k×k formada pela intersecção
das primeiras k linhas e colunas em A. Se det( ) 0;k = 1, 2,..., n−1, então existe
um única matriz triângular inferior L = [ ] com = 1; i = 1,2,...,n e uma única
matriz triângular superior U = que LU = A"
Segundo Ruggiero (2004) vantagem dos processos de fatoração é que pode-se
resolver qualquer sistema como matriz dos coeficientes, pois se o vetor for alterado,
a resolução será quase que imediata.
Fatoração de Cholesky: Se A: m x n é simétrica e definida positiva (todos seus
elementos positivos), então existe uma única matriz triangular inferior G: m x n com
diagonal positiva, tal que A = para a composição da matriz G.
Se o item fizer parte da diagonal do fator usamos:
∑
Se o item não for parte da diagonal do fator, então usamos:
26
∑
Segundo Burian (2011) a fatoração de cholesky é um método que diminui o trabalho
em se resolver o problema, desde que a matriz seja simétrica e definida positiva.
2.3.2. Métodos iterativos
Para (Franco 2006) os métodos iterativos são caracterizados pela busca da solução de
um sistema linear através de etapas. Para cada etapa o método fornece uma aproximação para
a solução do sistema.
Já para Gavala (p. 42), os métodos denominados iterativos criam uma sucessão de
vetores que convergem para a solução do sistema de equações lineares. Estes métodos são
utilizados para resolução de sistemas grandes, e como são feitas muitas operações
matemáticas, os erros de arredondamento podem alterar consideravelmente a solução do
sistema.
Segundo Franco (2006, p.156) em certos casos, tais métodos são melhores do que os
exatos, por exemplo, quando a matriz dos coeficientes é uma matriz esparsa (muitos
elementos iguais a zero). Eles ainda são mais econômicos no sentido que utilizam menos
memória do computador.
Para Barroso (1987, p. 49), a solução aproximada de um sistema linear pode
ser obtida utilizando-se um método iterativo, que consiste em calcular uma sequência
de aproximação da solução aproximada , sendo dada uma aproximação inicial
.
Autores como Gavala e Sperandio apresentam os seguintes métodos iterativos: método
de Jacobi, método de Gauss-Seidel, método de sobre-relaxação, método do gradiente e
método do gradiente conjugado. Já Franco (2006) classifica os métodos quanto ao processo
utilizado, sendo os mesmos estacionários ou de relaxação
Sperandio et al (2003, p.3) afirma que um processo iterativo se caracteriza por
envolver os seguintes elementos:
a) Tentativa inicial: consiste em uma primeira aproximação para a solução desejada do
problema numérico que pode ser representada como:
27
b) Equação de recorrência: equação por meio da qual, partindo-se da tentativa inicial, são
realizadas as iterações ou as aproximações sucessivas para a solução desejada.
c) Teste de parada: é o instrumento por meio do qual o procedimento iterativo é
finalizado.
2.3.2.1. Critério de convergência
Sabemos também que esses métodos têm as suas restrições de uso, e uma garantia de
que o método vá funcionar é que segundo Burian (2011) Existem condições sobre os
elementos da matriz dos coeficientes do sistema que, se satisfeitas, são suficientes para
garantir a convergência do método. Uma condição suficiente para garantir a convergência dos
métodos de Gauss-Seidel e Jacobi, quando aplicados a um sistema linear, com , é o
critério das linhas definido como:
∑| |
| |
2.3.2.2. Critério de parada
Cada vez que o método realiza uma iteração, a solução vai obtendo mais exatidão.
Segundo Ferreira (2007), o processo deve ser interrompido quando o critério de parada for
satisfeito, o mesmo pode ser definido como:
‖ ‖
‖ ‖
2.3.2.3. Processos estacionários
Para Franco (2006), um método iterativo é estacionário quando cada aproximação
provém de uma aproximação anterior. Seguindo esse raciocínio conclui-seque um método
iterativo estacionário é caracterizado pela junção de passos que se repetem.
28
Este autor também afirma que os métodos iterativos estacionários são o de Jacobi e o
de Gauss-Seidel, contudo, para Ferreira (2007) o método da sobre-relaxaçãoé considerado
como um método estacionário.
Método de Jacobi
Franco (2006) decompõe a matriz A da seguinte forma:
onde L é uma matriz triangular inferior formada pela parte inferior da matriz A, D é a diagonal
de A e R é uma matriz triangular superior formada pela parte superior de A, isto é:
{
{
{
Supondo que o determinante de A seja diferente de 0, podemos transformar o sistema
original em:
.
Franco (2006) afirma que é uma solução inicial para a solução aproximada .
Obtendo-se assim a aproximações sucessivas para a solução usando o processo:
A dedução usada por Franco (2006) também chegará ao mesmo processo iterativo
estacionário encontrado por Freitas (2000, p.109), que parte do princípio de considerar a
equivalência de e a seqüência de iterações dada por:
29
Escrevendo (9) em termos de suas componentes temos:
(
)
(
)
(
)
Ou seja,
∑
Definindo então a equação de execução de Jacobi como:
{
∑
Método de Gauss-Seidel
Segundo Freitas (p. 111) o método de Gauss-Seidel foi proposto de modo a usar na
iteração de ordem as componentes já calculadas de ordem Pode-se observar que
quando estivermos calculando, pelo método de Jacobi, a componente na iteração já
foram calculadas as componentes
e assim essas componentes, que são mais
atualizadas, devem ser utilizadas no método proposto por Gauss-Seidel.
Assim as equações do método de Gauss-Seidel são dadas por:
30
∑
∑
E a equação de execução de Gauss-Seidel fica da seguinte maneira:
{
∑
∑
Método de sobre-relaxação
Segundo Sperandio et al(2003) este método é concebido por meio de uma modificação
no método de Gauss-Seidel, com o objetivo de acelerar a convergência da sequencia de
aproximações para a solução , onde é um parâmetro de correção, escolhido
convenientemente a fim de acelerar a convergência. Se , o método é o de Gauss-Seidel.
A equação de execução para o método é descrita por:
( ∑
∑
)
E sua representação em um sistema é dada por:
{
(
)
(
)
(
)
31
2.3.2.4. Processos de relaxação
Franco (2006) descreve os métodos iterativos de relaxação de acordo com os seguintes
conceitos:
1) Para uma função , o ponto tal que é denominado
ponto estacionário de . Para saber o tipo de ponto calculamos a derivada
segunda de . Assim se:
a) Então é o ponto de mínimo,
b) Então é o ponto de máximo,
c) Então é o ponto de inflexão.
2) Para uma função de variáveis denominamos gradiente
de , em símbolo, :
(
)
onde são as derivadas parciais da função em relação à . Assim o ponto
tal que é denominado ponto estacionário de .
Então o ponto é o ponto onde todas as derivadas parciais são iguais à zero.
Para identificar o tipo de ponto, devemos calcular as segundas derivadas parciais. Seja
uma matriz cujos elementos ( )
. Portanto:
32
(
)
Assim, se:
a) : positiva definida (derivadas de segunda ordem positivas) então é um ponto de
mínimo,
b) : negativa definida (derivadas de segunda ordem positivas) então é um ponto
de máximo,
c) : indefinida (derivadas de segunda ordem positivas e negativas) então é um
ponto de cela.
Seguindo o raciocínioda supracitada autora o processo de relaxação é descrito da
seguinte forma:
Seja o sistema linear (3):
,
Onde a matriz é definida positiva, e são vetores . Portanto o sistema
acima tem uma única solução.
Se é uma solução aproximada, então:
onde é o resíduo.
33
Como Franco (2006) afirma que o propósito do processo de relaxação é fazer com que
esse resíduo seja anulado, considera-se junto com a equação (16), a função quadrática:
onde ; ; , sendo que , com
igualdade válida se e somente se (vetor nulo).
Calculando os produtos da expressão (17) temos:
∑
∑
Depois de realizado o calculo da equação (18), tem-se que:
∑
∑
E desde que a matriz seja simétrica
∑
Podemos escrever o gradiente de como:
(
)
∑ .
Logo temos que . Mas desde que , podemos
concluir que . Assim o objetivo de Franco (2006) é obter ,
pois assim será igual a 0.
34
Assim Franco (2006) afirma que determinar a solução de (3) é equivalente a
determinação da solução de (16).
Princípios básicos do processo de relaxação
Seguindo o raciocínio adotado por Franco (2006), que considera como sendo a
solução inicial e o resíduo, escolhe-se a direção e varia-se nessa direção,
tendo em vista o objetivo de fazer tender a zero, anulando assim o resíduo.
Então, variando na direção , isto é, tomando:
Determina-se assim de forma que ocorra a diminuição de . Assim devemos
determinar o mínimo de na direção .
Logo:
Sendo então
. Temos:
35
Sendo então função de .
Então como descreve Franco (2006), t é selecionado em função de que F seja mínimo,
e a condição necessária para que isto ocorra é:
que é um ponto estacionário de . Além disso
porque é uma matriz
definida positiva, sendo assim é mínimo na direção p, e é dado por:
O autor ainda faz as seguintes observações:
1) Diferentes escolhas da direção nos dão diferentes métodos de relaxação.
2) O ponto , que é tomado na direção p de relaxação com , é chamado
ponto do mínimo.
3) Analisando a equação (19) com , notamos que a direção de
relaxação não deve ser escolhida ortogonal ao vetor resíduo . Se assim fosse,
o ponto teria sempre e não haveria melhoria na aproximação da
solução.
Franco (2006) afirma que para todo ponto de mínimo com o novo resíduo
é ortogonal à direção da relaxação.
36
2.4 MÉTODO DO GRADIENTE
Segundo Sperandio et al (2003) neste método, a cada passo toma-se o sentido
contrário ao do gradiente de F( ). ( F( )), determinando-se o passo de tal maneira que
na direção o funcional seja minimizado, isto é, F( ) F( ).
Já para Franco (2006), método dos gradientes é todo processo iterativo onde a direção
de relaxação se opõe a direção do resíduo .
Partindo Franco (2006) dos princípios básicos vistos anteriormente, ela define a
direção de relaxação por:
sendo esta direção apontada para o mínimo da função.
A figura a seguir mostra um exemplo de uma matriz positiva definida que possui um
ponto de mínimo.
Figura 2 – Exemplo do comportamento de uma matriz positiva definida, Fonte Thomas
(2009)
Tem-se então que:
37
Então ao calcular , o novo resíduo é ortogonal à direção de relaxação. Sendo
assim, Franco (2006) admite que neste processo, resíduos consecutivos são ortogonais, isto é:
( )
e assim no método dos gradientes tem-se que:
Assim, Franco (2006) resume a execução do método da seguinte maneira:
Dados , onde é uma precisão pré-definida, devemos calcular:
1.
2. Para
2.1.
2.2.
2.3.
2.4. Se ‖ ‖ , ou se ‖ ‖
‖ ‖ , chega-se a convergência.
Caso contrário o critério de parada será o numero de iterações.
38
3 METODOLOGIA E METODOS
3.1 METODOLOGIA
Esse trabalho da um enfoque especial ao método dos gradientes, que é advindo dos
processos de relaxação, e através de testes numéricos o compara com métodos iterativos
estacionários, que são os métodos cuja matriz de iteração permanece fixa na execução do
método. Foram testados nesse trabalho os métodos de Jacobi, Gauss-Seidel e o dos gradientes,
para isso foramselecionadossete sistemas lineares com características distintas.Os métodos
foram aplicados a cada um desses problemas, e com issofoi possível fazer uma comparação
entre os métodos analisando convergência, tempo de execução e número de iterações.
Para a realização dos testes foi estabelecido dois critérios de parada, o primeiro é
quanto ao número de iterações , para esse critério adotou-se , ou seja, no
máximo são executadas 5000 iterações, e quanto a distância relativa adotou-se uma precisão
de para problemas com e de para problemas com ,
sendo é um número real inteiro positivo que identifica a ordem da matriz.
Os testes foram realizados com o auxílio computacional. As configurações do
computador utilizado estão listadas na tabela abaixo:
Tabela 1: Dados referentes ao computador utilizado nos testes. Características Gerais
Fabricante Itautec
Modelo InfoWay ST 4270 Processador Intel(R) Core(TM)
Processador Intel(R) Core (TM) i5 CPU 750 @ 2.67GHz 2.66GHz
Memória RAM 4 GB
HD 300 GB
Fonte: Manual do Fabricante (2013)
O sistema operacional utilizado no computador foi o Windows ultimate 32 bits,
fabricado pela Microsoft em 2009.
O software utilizado para a resolução dos problemas foi o Scilab, que é um software
livre para computação numérica, o mesmo é encontrado ser baixado no site do desenvolvedor
pelo endereço http://www.scilab.org, onde são encontradas também todas as informações do
software, manuais e características das versões. Para a implementação desse trabalho foi
utilizado o software Scilab da versão 5.3.0, para Windows 32 bits.
39
3.2 ALGORITMOS
Os algoritmos implementados no presente trabalho estão detalhados em português
estrutural nas tabelas a seguir:
Tabela 2 Algoritmo utilizado no método de Jacobi
[ ∑
]
Algoritmo: Método de Jacobi
declare
, (matriz dos coeficientes, a ser lida) , (vetor dos termos independentes)
,(vetor-solução )
,(vetor-solução obtido na iteração anterior )
, (tolerância de cálculo )
, (quantidade máxima de iterações )
(variáveis auxiliares )
numérico
leia , , , , ,
(zera os termos de x)
enquanto | |
parai de 1 até n faça
fim para
fim enquanto
escrevax
40
Tabela 3 Algoritmo utilizado no método dogradiente
Algoritmo: Método dogradiente
declare
, (matriz dos coeficientes, a ser lida)
, (vetor dos termos independentes) , (vetor-solução )
,(vetor-solução obtido na iteração anterior )
, (tolerância de cálculo )
, (quantidade máxima de iterações )
(variáveis auxiliares )
numérico
leia , , , , ,
(zera os termos de x)
enquanto | |
parai de 1 até n faça
fim para
fim enquanto
escrevax
41
Tabela 4 Algoritmo utilizado no método de Gauss-Seidel
[ ∑
∑
]
Algoritmo: Método de Gauss-Seidel
declare
, (matriz dos coeficientes, a ser lida) , (vetor dos termos independentes)
, (vetor-solução )
,(vetor-solução obtido na iteração anterior )
, (tolerância de cálculo )
, (quantidade máxima de iterações )
(variáveis auxiliares )
numérico
leia , , , , ,
(zera os termos de x)
enquanto | |
parai de 1 até n faça
fim para
fim enquanto
escrevax
42
3.3 PROBLEMAS
Para a realização dos testes foi realizada a escolha de sete problemascom
características distintasentre si. Essas características são, por exemplo, tamanho e
propriedades, porém todas as matrizes são quadradas. O tamanho das matrizes
selecionadasvariou desde matrizes pequenas, com apenas trinta colunas e linhas até também
matrizes de grande porte, de quase mil e duzentas linhas e colunas, que exigem bastante dos
métodos.
Com exceção da matriz do primeiro problema, as matrizes dos outros problemas foram
retiradas do banco de dados da Matrix Market (2013), que pode ser encontrada no site de
endereço http://math.nist.gov/MatrixMarket. Nesse banco de dados é possível encontrar
matrizes de vários tipos e tamanhos, assim como também é possível realizar o download de
matrizes no formato Matrix Market(.mtx), que é facilmente integrado ao software utilizado
no caso Scilab, a matriz do primeiro problema foi retirada do trabalho realizado por
Oliveira(2012). A seguir são mostrados detalhadamente todos os sete problemas utilizados
nos testes realizados.
Problema m30
O primeiro problema é um problema que pode ser considerado pequeno quanto ao seu
tamanho, por issonos testes com ele foi utilizada uma precisão de , na tabela abaixo
constam informações detalhadas do problema:
Tabela 5: Dados referentes ao primeiro problema m30 Características gerais
Tamanho 30 x 30
Diagonalmente dominante Sim
Esparso Não
Fonte: Oliveira(2012)
É importante destacar por ser uma matriz diagonalmente dominante (critério de
convergência), segundo Burian (2011) os métodos iterativos de Jacobi e Gauss-Seidel terão
convergência.
43
Problema BCSSTRUC1
O segundo problema foi retirado do banco de dados do Matrix Market (2013), que
utiliza a matriz BCSSTRUC1 pertencente a coleção Harwell-Boeing que foi gerada do estudo
de análises dinâmicas em engenharia estrutural, considerado um problema pequeno quanto ao
seu tamanho, foi utilizado nos testes desse problema e , abaixo tem-se
tabela com as características detalhadas do problema.
Tabela 6: Dados referentes ao problema BCSSTRUC1 Características gerais Valores não nulos
Tamanho 48 x 48 (224 entradas) Total 400
Tipo da matriz Real, simétrica e definida positiva Diagonal 48
Diagonalmente dominante Não Abaixo da diagonal 176
Numero de condição (est.) 1.6 x 10-6
Acima da diagonal 176
Esparso Não 0
Fonte: MatrixMarket(2013)
É importante destacar que o fatoda matriz não ser diagonalmente dominante faz com
que não se tenha a certeza de convergência para os métodos de Jacobi e Gauss- Seidel
segundo Burian (2011), porém é uma matriz definida positiva e segundo Franco (2006),
garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D da matriz em
estudo.
Figura 3: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema
BCSSTRUC1, Fonte Matrix Market(2013)
Problema pde225
O terceiro problema foi retirado do banco de dados do Matrix Market (2013), que
utiliza a matriz pde225, pertencente à coleção NEP, oriunda das equações diferenciais
parciais. É considerado um problema pequeno quanto ao seu tamanho, utilizado nos testes
44
desse problema e , abaixo se tem tabela com as características
detalhadas do problema.
Tabela 7: Dados referentes ao problema pde225 Características gerais Valores não nulos
Tamanho 225 x 225 (1065 entradas) Total 1065
Tipo da matriz Real e assimétrica Diagonal 225
Diagonalmente dominante Não Abaixo da diagonal 420
Numero de condição (est.) 1.6 x 10-2
Acima da diagonal 420
Esparso Não 420
Fonte: Matrix Market (2013)
É importante destacar que é uma matriz que não é diagonalmente dominante assim de
acordo com Burian (2011) não da à certeza de convergência para os métodos de Jacobi e
Gauss- Seidel, assim como não é uma matriz definida positiva que segundo o teorema Franco
(2006) não garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D
da matriz em estudo.
Figura 4: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problemapde225,
Fonte MatrixMarket(2013)
Problema mcfe
O quarto problema foi retirado do banco de dados do Matrix Market (2013), que
utiliza a matriz MCFE pertencente também a coleção Harwell-Boeing oriunda de problemas
astrofísicos, é considerado um problema grande quanto ao seu tamanho, utilizado nos testes
desse problema e , abaixo tem-se tabela com as características
detalhadas do problema.
45
Tabela 8: Dados referentes ao problema mcfe Características gerais Valores não nulos
Tamanho 765 x 765 (24382 entradas) Total 24382
Tipo da matriz Real e assimétrica Diagonal 765
Diagonalmente dominante Não Abaixo da diagonal 9289
Numero de condição (est.) 1.6 x 10-2
Acima da diagonal 14328
Esparso Não 30716
Fonte: Matrix Market (2013)
É importante destacar que a matriz não é diagonalmente dominante, e assim de acordo
com Burian (2011) não da à garantia de convergência para os métodos de Jacobi e Gauss-
Seidel, assim como não é uma matriz definida positiva que segundo Franco (2006) não
garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D da matriz em
estudo.
Figura 5: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema mcfe,
Fonte Matrix Market (2013)
Problema gr3030
O quinto problema foi retirado do banco de dados do Matrix Market (2013), que
utiliza a matriz GR3030 que pertence a coleção Harwell-Boeing, oriundo de problemas com
equações parciais diferenciais, considerado um problema grande quanto ao seu tamanho,
utilizado nos testes desse problema e , abaixo tem-se tabela com as
características detalhadas do problema.
Tabela 9: Dados referentes ao problema gr3030 Características gerais Valores não nulos
Tamanho 900 x 900 (4322 entradas) Total 7744
Tipo da matriz Real, simétrica e definida positiva Diagonal 900
Diagonalmente dominante Fraco Abaixo da diagonal 3422
Numero de condição (est.) 3.8 x 10-2
Acima da diagonal 3422
Esparso Sim 0
Fonte: Matrix Market (2013)
46
É importante destacar que é uma matriz diagonalmente dominante fraca, ou seja, o
maior termo da diagonal principal não possui grande diferença da soma dos demais termos da
matriz, mesmo assim de acordo com o teorema Burian (2011) possui a certeza de
convergência para os métodos de Jacobi e Gauss-Seidel, assim como é uma matriz definida
positiva que segundo Franco (2006) garante a convergência pelo método do gradiente, a
seguir tem-se o Plot2D e 3D da matriz em estudo.
Figura 6: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema gr3030,
Fonte Matrix Market (2013)
Problema SHERMAN1
O sexto problema foi retirado do banco de dados do Matrix Market (2013), utilizado
amatriz SHERMAN1, que pertence a coleção Harwell-Boeing, oriundo de problemas de
modelagem de reservatório de óleo, é considerado um problema grande quanto ao seu
tamanho, utilizado nos testes desse problema e , abaixo tem-se tabela
com as características detalhadas do problema.
Tabela 10: Dados referentes ao problema SHERMAN1 Características gerais Valores não nulos
Tamanho 1000 x 1000 (3750 entradas) Total 3750
Tipo da matriz Real e simétrica Diagonal 1000
Diagonalmente dominante Não Abaixo da diagonal 1375
Numero de condição (est.) 2.3 x 10-2
Acima da diagonal 1375
Esparso Sim 0
Fonte: Matrix Market (2013)
É importante destacar que é uma matriz que não é diagonalmente dominante, sendo
assim de acordo com Burian (2011) não possui a certeza de convergência para os métodos de
Jacobi e Gauss-Seidel, assim como não é uma matriz definida positiva que segundo Franco
(2006) não garante a convergência pelo método gradiente, a seguir tem-se o Plot2D e 3D da
matriz em estudo.
47
Figura 7: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema
SHERMAN1, Fonte Matrix Market (2013)
Problema SHERMAN4
O sétimo problema foi retirado do banco de dados do Matrix Market (2013), utilizado
a matriz SHERMAN4, que pertence a coleção Harwell-Boeing, oriundo de problemas de
modelagem de reservatório de óleo, é considerado um problema grande quanto ao seu
tamanho, utilizado nos testes desse problema e , abaixo tem-se tabela
com as características detalhadas do problema.
Tabela 11: Dados referentes ao problema SHERMAN4 Características gerais Valores não nulos
Tamanho 1104 x 1104 (3750 entradas) Total 3786
Tipo da matriz Real e simétrica Diagonal 1104
Diagonalmente dominante Sim Abaixo da diagonal 1341
Numero de condição (est.) 7.2 x 10-2
Acima da diagonal 1341
Esparso Sim 2682
Fonte: Matrix Market (2013)
É importante destacar que se trata de uma matriz diagonalmente dominante, sendo
assim de acordo com Burian (2011) possui a certeza de convergência para os métodos de
Jacobi e Gauss- Seidel, assim como não é uma matriz definida positiva que segundo Franco
(2006) não garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D
da matriz em estudo.
48
Figura 8: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema
SHERMAN4, Fonte Matrix Market (2013).
49
4 RESULTADOS E DISCUSSÃO
Após a realização de todos os testes da forma como descritos no capítulo anterior será
mostrado a seguir os resultados obtidos de cada método para cada problema, fazendo assim
uma comparação entre a eficiência dos métodos, dando um enfoque especial para o método do
gradiente.
Os fatores que serão levados em consideração para o aáalise dos resultados, são o
número de iterações o tempo de execução e a precisão alcançada .
Os resultados serão mostrados de acordo com uma tabelaquemostrará os resultados
para os métodos de Jacobi e Gauss-Seidel e o gradiente.
Resultados do problema m30
Tabela 12: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
m30 Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Convergiu Convergiu Convergiu
Numero de iterações 7 5 45
Tempo de execução (s) 0,047 0,047 0,015
Precisão 4.89 x 10-5
3.17 x 10-5
7.12 x 10-6
Fonte: Fonte própria (2013)
Foi então percebido que os três métodos chegaram à convergência no problema m30.
O método de Jacobi se igualou ao método de Gauss-Seidel no quesito tempo de execução,
mas foi superado nos quesitos precisão e número de iterações. Já o método do gradiente
superou os demais métodos nos quesitos tempo de execução e precisão, porém, realizou mais
iterações que os demais.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo
de execução e número de iterações.
50
Gráfico 1 – Analise do tempo de execução para o problema m30
Fonte: Fonte própria (2013)
Gráfico 2 – Analise do numero de iterações realizadas pelos métodos no problema m30
Fonte:Fonte própria (2013)
Como podemos observar nos gráficos acima, apesar do método do gradiente ter realizado 45
iterações, o tempo de execução foi cerca de 3 vezes menor que os demais métodos.
0,047 0,047
0,015
0
0,005
0,01
0,015
0,02
0,025
0,03
0,035
0,04
0,045
0,05
Jacobi Seidel Gradiente
Tempo de execução (s)
7 5
45
0
5
10
15
20
25
30
35
40
45
50
Jacobi Seidel Gradiente
Numero de iterações (k)
51
Resultados do problema BCSSTRUC1
Tabela 13: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
BCSSTRUC1. Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Não convergiu Convergiu Não convergiu
Numero de iterações 5000 1866 5000
Tempo de execução (s) 173.067 75.707 0.889
Precisão 1.90789 9.97 x 10-7
Não obteve
Fonte: Fonte própria (2013)
Analisando os dados obtidos para o segundo problema pode-se perceber que o fato de
a matriz não ser diagonalmente dominante interferiu na convergência para Jacobi, mas já para
o método de Gauss-Seidel a convergência foi alcançada mesmo com um numero elevado de
iterações. Já o método do gradiente não obteve convergência mesmo a matriz dos coeficientes
do problema sendo definida positiva.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo
de execução e numero de iterações.
Gráfico 3 – Analise do tempo de execução para o problema BCSSTRUC1
Fonte: Fonte própria (2013)
173,067
75,707
0,015 0
20
40
60
80
100
120
140
160
180
200
Jacobi Seidel Gradiente
Tempo de execução (s)
52
Gráfico 4 – Analise do numero de iterações realizadas pelos métodos no problema
BCSSTRUC1
Fonte: Fonte própria (2013)
Resultados do problema pde225
Tabela 14: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
pde225 Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Convergiu Convergiu Convergiu
Numero de iterações 623 327 259
Tempo de execução (s) 520.682 301.360 0.062
Precisão 9.887 x 10-6
9.796 x 10-6
9.7957 x 10-6
Fonte: Fonte própria (2013)
No terceiro problema podemos perceber que os três métodos chegaram a
convergência, mais uma vez podemos observar que o método de Gauss-Seidel foi mais
eficiente que o de Jacobi tanto no quesito tempo de execução, como também no quesito
numero de iterações, mesmo assim, o método do gradiente convergiu com precisão superior a
de Gauss-Seidel em muito menos tempo de execução e com menos iterações realizadas.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo
de execução e numero de iterações.
5000
1866
5000
0
1000
2000
3000
4000
5000
6000
Jacobi Seidel Gradiente
Numero de iterações (k)
53
Gráfico 5 – Analise do tempo de execução para o problema pde225
Fonte: Fonte própria (2013)
Gráfico 6 – Analise do numero de iterações realizadas pelos métodos no problema pde225
Fonte: Fonte própria (2013)
520,682
301,36
0,062 0
100
200
300
400
500
600
Jacobi Seidel Gradiente
Tempo de execução (s)
623
327
259
0
100
200
300
400
500
600
700
Jacobi Seidel Gradiente
Numero de iterações (k)
54
Resultados do problema mcfe
Tabela 15: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
mcfe Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Convergiu Convergiu Não
Numero de iterações 217 207 5000
Tempo de execução (s) 2050.232 2262.787 3.027
Precisão 0 0 Não obteve
Fonte: Fonte própria (2013)
No problema mcfe, foi percebido que tanto o método de Jacobi como o método de
Gauss-Seidel atingiram a convergência, um fato curioso é que o método de Jacobi teve um
tempo de execução menor que o método de Gauss-Seidel. Mesmo realizando mais iterações, o
método de Jacobi foi mais eficiente que o de Gauss-Seidel nesse problema. O método do
gradiente não convergiu, o que nos leva a crer que isso ocorreu pelo fato de a matriz dos
coeficientes do problema não ser definida positiva.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo
de execução e numero de iterações.
Gráfico 7 – Analise do tempo de execução para o problema mcfe
Fonte: Fonte própria (2013)
2050,232
2262,787
0,889 0
500
1000
1500
2000
2500
Jacobi Seidel Gradiente
Tempo de execução (s)
55
Gráfico 8 – Analise do numero de iterações realizadas pelos métodos no problema mcfe
Fonte: Fonte própria (2013)
Resultados do problema gr3030
Tabela 16: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
gr3030 Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Convergiu Convergiu Convergiu
Numero de iterações 792 445 651
Tempo de execução (s) 10199.881 6632.399 0.187
Precisão 9.93 x 10-6
9.86 x 10-6
9.84022 x 10-6
Fonte:Fonte própria (2013)
Vemos então que todos os métodos chegaram àconvergência, isso porque a matriz
usada no problema é diagonalmente dominante e definida positiva, garantindo segundo
Burian (2011) e Franco (2006) a convergência para todos os métodos. Mais uma vez foi visto
que mesmo o método de Gauss-Seidel foi mais eficiente que o de Jacobi nos quesitos tempo
de execução e numero de iterações. Já o método do gradiente foi superior ao método de
Gauss-Seidel no quesito tempo de execução, sendo que o mesmo realizou mais iterações que
o método de Gauss-Seidel. No quesito precisão o método do gradiente levou vantagem sobre
os demais métodos.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempos
de execução e numero de iterações.
217 207
5000
0
1000
2000
3000
4000
5000
6000
Jacobi Seidel Gradiente
Numero de iterações (k)
56
Gráfico 9 – Analise do tempo de execução para o problema gr3030
Fonte: Fonte própria (2013)
Gráfico 10 – Analise do numero de iterações realizadas pelos métodos no problema gr3030
Fonte: Fonte própria (2013)
10199,881
6632,399
0,187 0
2000
4000
6000
8000
10000
12000
Jacobi Seidel Gradiente
Tempo de execução (s)
792
445
651
0
100
200
300
400
500
600
700
800
900
Jacobi Seidel Gradiente
Numero de iterações (k)
57
Resultados do problema SHERMAN1
Tabela 17: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
SHERMAN1. Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Não convergiu Convergiu Convergiu
Numero de iterações 5000 3229 4421
Tempo de execução (s) 76528.376 53223.876 1.014
Precisão 1.19 x 10-6
9.99 x 10-5
9.99 x 10-5
Fonte: Fonte própria (2013)
No problema SHERMAN1 podemos observar que enquanto o método de Jacobi foi
limitado pelo numero máximo de iterações os demais métodos chegaram à convergência.
Sendo que novamente o método de Gauss-Seidel foi superado pelo método do gradiente no
quesito tempo de execução, porém, o método de Gauss-Seidel realizou menos iterações que o
método do gradiente. No quesito precisão os métodos de Gauss-Seidel e do gradiente se
igualaram.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis
tempode execução e numero de iterações.
Gráfico 11 – Analise do tempo de execução para o problema SHERMAN1
Fonte: Fonte própria (2013)
76528,376
53223,876
1,014 0
10000
20000
30000
40000
50000
60000
70000
80000
90000
Jacobi Seidel Gradiente
Tempo de execução (s)
58
Gráfico 12 – Analise do numero de iterações realizadas pelos métodos no problema
SHERMAN1
Fonte: Fonte própria (2013)
Resultados do problema SHERMAN4
Tabela 18: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema
SHERMAN4. Parâmetros Jacobi Gauss-Seidel Gradiente
Resultado Convergiu Convergiu Convergiu
Numero de iterações 1780 1058 3861
Tempo de execução (s) 35310.688 23938.813 0.874
Precisão 9.98 x 10-5
9.99 x 10-5
9.99 x 10-5
Fonte: Fonte própria (2013)
Após uma analise dos resultados do problema SHERMAN4, podemos observar que os
três métodos chegaram a convergência, sendo que o de Gauss-Seidel foi mais eficiente que o
de Jacobi nos quesitos tempo de execução e numero de iterações, porém, no quesito precisão
o método de Jacobi foi um pouco superior ao método de Gauss-Seidel. Novamente os dois
métodos foram inferiores ao método do gradiente no quesito tempo de execução, mas já no
quesito precisão e numero de iterações o método de Jacobi foi superior ao do gradiente. O
método de Gauss-Seidel foi superior ao gradiente apenas no quesito numero de iterações.
A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo
de execução e numero de iterações.
5000
3229
4421
0
1000
2000
3000
4000
5000
6000
Jacobi Seidel Gradiente
Numero de iterações (k)
59
Gráfico 13 – Analise do tempo de execução para o problema SHERMAN4
Fonte: Fonte própria (2013)
Gráfico 14 – Analise do numero de iterações realizadas pelos métodos no problema
SHERMAN4
Fonte: Fonte própria (2013)
4.1 COMPARATIVO ENTRE OS MÉTODOS
A seguir, através de um quadro comparativo, poderemos comparar o desempenho do
método de gradiente em relação aos demais métodos apresentados.
35310,688
23938,813
0,874 0
5000
10000
15000
20000
25000
30000
35000
40000
Jacobi Seidel Gradiente
Tempo de execução (s)
1780
1058
3861
0
500
1000
1500
2000
2500
3000
3500
4000
4500
Jacobi Seidel Gradiente
Numero de iterações (k)
60
Tabela 19 – Quadro comparativo entre os métodos para todos os problemas analisados
Fonte: Fonte própria (2013)
Problema Método Resultado Nº de iterações Tempo de execução Precisão alcançada
Problema m30 (30 x 30)(10-5
) Jacobi Convergiu 7 0,047s 4,89 x 10-6
Gauss-Seidel Convergiu 5 0,047s 3,17 x 10-5
Gradiente Convergiu 45 0,015s 7,12 x 10-6
Problema BCSSTRUC1 (48 x48)(10-5
) Jacobi Não convergiu 500 173,067s 1,90789
Gauss-Seidel Convergiu 1866 75,707s 9,97 x 10-7
Gradiente Não convergiu 5000 0,889s Não obteve
Problema pde225 (225 x 225)(10-5
) Jacobi Convergiu 623 520,682s 9,88 x 10-6
Gauss-Seidel Convergiu 327 301,360s 9,79 x 10-6
Gradiente Convergiu 259 0,062s 9,79 x 10-6
Problema mcfe (765 x 765)(10-5
) Jacobi Convergiu 217 2050,232s 0
Gauss-Seidel Convergiu 207 2262,787 0
Gradiente Não convergiu 5000 3,027s Não obteve
Problema gr3030 (900 x 900)(10-5
) Jacobi Convergiu 792 10119,881s 9,99 x 10-6
Gauss-Seidel Convergiu 445 6632,399s 9,86 x 10-6
Gradiente Convergiu 651 0,187s 9,84 x 10-6
Problema SHERMAN1 (1000 x 1000)(10-4) Jacobi Não convergiu 5000 76528,376s 1,19 x 10-4
Gauss-Seidel Convergiu 3229 53223,876s 9,99 x 10-5
Gradiente Convergiu 4421 1,014s 9,99 x 10-5
Problema SHERMAN4 (1104 x 1104)(10-4) Jacobi Convergiu 1780 35310,688s 9,98 x 10-5
Gauss-Seidel Convergiu 1058 23938,813s 9,99 x 10-5
Gradiente Convergiu 3861 0,874s 9,99 x 10-5
61
Analisando então o quadro comparativo apresentado na tabela acima, pode-se perceber
que para os 5 problemas o método do gradiente obteve convergência, o mesmo conseguiu este
feito com um tempo de execução menor. Um fato interessante é que mesmo realizando mais
iterações que os métodos de Gauss-Seidel e Jacobi, o método do gradiente utilizou muito
menos tempo que os demais. Foi percebido também que além de rápido, o método também foi
preciso assim como os métodos de Seidel e Jacobi.
Outro fato que merece destaque é que para certos problemas o método do gradiente
obteve convergência mesmo o problema não atendendo as suas condições de convergência.
A seguir um gráfico faz uma comparação entre o tempo de execução dos métodos para
os 5 problemas onde o método do gradiente obteve convergência.
Gráfico 15 – Tempo de execução em segundos (s) dos métodos para os problemas m30,
pde225, gr3030, SHERMAN1 e SHERMAN4.
Fonte: Fonte própria (2013)
Através do gráfico acima podemos visualizar o quão mais rápido o método do
gradiente foi em relação ao métodos de Jacobi e Gauss-Seidel. Em dois problemas o método
do gradiente não convergiu, esse fato pode ser explicado pelo fato de os problemas não
obedecerem ao critério de convergência, ou pelo fato de a solução inicial não ter sido
adequada.
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
m30 pde225 gr3030 SHERMAN1 SHERMAN4
Jacobi
Gauss-Seidel
Gradiente
62
5 CONSIDERAÇÕES FINAIS
Neste trabalho foi apresentada uma revisão bibliográfica sobre o método do gradiente,
que segundo Franco (2006) está classificado como um método iterativo advindo dos
processos de relaxação. O mesmo possui certas limitações, pois para ter sua convergência
assegurada necessita que o problema atenda algumas condições pré-estabelecidas. Apesar de a
bibliografia ser escassa foi conseguido um bom estudo comparativo do método.
A condição que garantia o funcionamento do método era de que a matriz dos
coeficientes fosse definida positiva, mas mesmo com estas limitações o método se mostrou
bastante efetivo em relação aos métodos comparados a ele.
O método do gradiente se mostrou bastante superior aos métodos de Gauss-Seidel e
Jacobi no quesito tempo de execução nos 5 problemas onde obteve convergência. Em 2 dos 7
problemas analisados o método não obteve convergência. No problema mcfe o método
provavelmente não convergiu pelo fato de a matriz não ser definida positiva. Já no problema
BCSSTRUC1 a não convergência pode ser explicada pelo fato de a matriz não ser esparsa, já
que a mesma era definida positiva.
O fato mais curioso apresentado no trabalho foi a convergência do método do
gradiente nos problemas SHERMAN1 e SHERMAN4, onde além de os mesmo serem de
grande porte, não atendiam a condição de garantia imposta pelo método. Nesses problemas o
método chegou a ser 53.000 vezes mais rápido que o método de Gauss-Seidel, comprovando
assim seu vistoso desempenho.
Sugestões para trabalhos futuros
Os resultados obtidos neste trabalho foram bastante favoráveis para a utilização do método do
gradiente, o mesmo apresentou bons resultados, principalmente no quesito tempo de
execução, sendo assim, surge a sugestão de um trabalho que venha a frisar a utilização do
método em problemas que requeiram o mínimo de tempo de resolução, e que obedeçam os
requisitos de convergência do método.
63
REFERÊNCIAS
BOLDRINI, José Luiz; COSTA, Sueli I. Rodrigues; FIGUEIREDO, Vera Lúcia; WETZLER,
Henry G.Álgebra Linear, ampliada e revisada, 3a Edição, Editora HARBRA Ltda. 1980.
BURDEN, Richard L; FAIRES, Douglas.Análise Numérica.São Paulo: Cengage, 2008.
CAMPOS, Filho; FERREIRA, Frederico.Algoritmos Numéricos. 2. ed. Rio de Janeiro:
Ltc, 2010.
FRANCO, Neide Bertold.Cálculo Numérico. São Paulo: Prentice Hall, 2006.
GAVALA, Francisco Javier Cobos. Cálculo Numérico: Apuntes para el curso de 2001-
2002.Disponível em: <www.decom.ufop.br/bob/com400/livros/ap_cal_num_esp.PDF>.
Acesso em:30 ago. 2011.
LEON, Steven J. Álgebra Linear: com aplicações. 8a ed. Rio de Janeiro: LTC, 2011.
OLIVEIRA, João Paulo Carau de. Proposta preliminar de um método interativo híbrido
para a resolução de sistemas de equações lineares. 2012. 51 f. Trabalho de Conclusão de
Curso - Universidade Federal Rural do Semiárido - UFERSA, Angicos, 2012.
RUGGIERO, Márcia A. Gomes; LOPES, Vera Lúcia da Rocha.Cálculo Numérico: Aspectos
Teóricos e Computacionais. 2. ed. São Paulo: Makron Books, 1996.
SPERANDIO, Délcio.Cálculo Numérico: Características matemáticas e computacionais
dos métodos numéricos. São Paulo: Pearson Pretice Hall, 2003.
THOMAS, George B.Cálculo Volume 2. 11 ed. São Paulo: Addison Wesley, 2009.
Matrix Market - Um repositório visual de dados de teste para uso em estudos
comparativos de algoritmos para álgebra linear numérica, disponível em
<http://math.nist.gov/MatrixMarket/>acessado 05/01/2013.