3. MODELAGEM MATEMÁTICA
3.3 Algoritmo Numérico do Método de Levenberg-Marquardt (MLM)
O estudo da teoria da aproximação envolve dois tipos de problemas genéricos. Um problema ocorre quando uma função é dada de forma explícita, mas deseja-se encontrar um tipo de função mais simples, como uma função polinomial, que possa ser utilizada para determinar valores aproximados da função dada (interpolação). O outro problema, na teoria da aproximação, refere- se ao ajuste da função aos dados encontrados, e encontrar a melhor função em uma determinada classe para representar todos o dados possíveis. Em geral, busca-se aproximações par l dados que são medidas obtidas experimentalmente com um certo grau de incerteza.
vw = x − x($, , , … , ) 3.12)
Para i = 1, ..., l, onde é o resíduo no ponto $; x são valores dados que serão aproximados; x($, , , … , ) é uma função de ajuste da variável T e dos parâmetros , , … , e é um vetor com os parâmetros de ajuste.
Assim, o problema de minimização da soma dos resíduos é apresentada da seguinte maneira : #vw = { vw = | W} { ( , , … , ) | W} . (3.13 )
60 A resolução do problema inverso estudado primeiramente consiste, na determinação dos parâmetros desconhecidos, isto é possível através da utilização do método dos mínimos quadrados, Eq. (5.8) reescrita da seguinte forma:
#vw = {[W− Wvw] |
W}
(3.14)
Onde:
#vw é a soma dos erros quadrados ou função objetivo
= (, ,..., )Z é o vetor de parâmetros desconhecidos (com n igual ao
numero de parâmetros)
Wvw = Wv, 'Ww é a função desconhecida avaliada com as soluções do problema
direto correspondente aos tempos 'W em que foram efetuadas as medições experimentais
W = x('W) é o valor dos resultados experimentais nos tempos 'W
l é o número total de medidas experimentais.
A equação (3.14) pode ser reescrita na forma matricial do seguinte modo:
#vw = [ − vw]Z∙ [ − vw] (3.15)
onde a transposta de [ − vw é definida por:
[ − vw]Z = [− , − , … , |− |]. (3.16)
Para minimizar a norma dos mínimos quadrados dada pela equação(3.15) é necessário igualar a zero as derivadas de #vw em relação aos respectivos parâmetros desconhecidos , , … , , isto é:
o#() o = o#vw o = ⋯ = o#vw o = 0 (3.17)
61
∇#vw = 2 poZ( )
o ∙ p vw 2 0 (3.18)
Onde:
(3.19)
A transposta da matriz definida por (3.19) é denominada Matriz Jacobiana ou matriz sensibilidade.
vw 2 jj()Z (3.20) Na forma explicita é escrita como:
(3.21)
Usando a definição da Matriz Jacobiana, a Eq. (3.18) pode ser reescrita como:
62 Caso o problema inverso seja linear, a Matriz Jacobiana é uma matriz com elementos constantes e conhecidos, logo a solução da equação (3.22) pode ser obtida de forma explicita pela expressão:
vw = (Z)∙ Z (3.23)
No caso do problema inverso ser não linear, a Matriz Jacobiana possui dependência funcional do vetor de parâmetros desconhecidos . A solução da equação (3.22) para problema de estimação não linear requer então o uso de um procedimento iterativo, o qual é obtido pela linearização do vetor dos valores estimados para a função , vw, com a expressão da Série de Taylor para a solução correta - para a iteração k. Assim, a linearidade é dada por:
vw = v-w + -v-− -w, (3.24)
Onde:
v-w são os valores estimados para a função G - é a matriz jacobiana calculada para a iteração k.
A equação (3.24) substitui a equação (3.23) e o vetor dos parâmetros desconhecidos é então obtido pela fórmula iterativa:
-= -+ [(-)Z-](-)Z[ − v-w ] (3.25)
O processo iterativo dado pela equação (3.25) é definida pelo método de Gauss, porém sua atualizada é feita pelo método de Newton (ou Newton- Raphson). Sendo assim, a solução do problema inverso é dada pela equação (3.23) caso o problema seja linear, e pela equação (3.25) quando for não-linear. Porém, a solução destas equações requer que a matriz JTJ seja não singular, ou seja, é necessário que
63 No caso especifico do processo iterativo dado pela equação (3.25) é necessário também que o determinem da matriz JTJ não seja muito pequeno. Porém a maioria dos problemas inversos são mal postos (com JTJ ≈ 0) especialmente perto da condição inicial usada para os parâmetros desconhecidos, dificultando o uso das equações (3.24) e (3.25).
Uma alternativa para a resolução de problemas inversos mal posto é a utilização do método de Levenberg-Marquardt (Ӧzisik e Orlande,2000, Silva Neto
e Moura Neto, 2005). Tal método diminui as dificuldades encontradas usando processo iterativo, através da introdução de uma regularização no módulo de cada solução no vetor solução, dado pela Eq. (3.27).
- = -+ [(-)Z + .Ω]()Z[ − vw] (3.27)
Onde:
. é um escalar positivo chamado parâmetro de regularização; Ω é a matriz diagonal denominada termo de regularização.
A presença da matriz .Ω na Eq. (3.27) objetiva estabilizar as oscilações que surgem em decorrência do problema mal posto. Como o problema geralmente é mal posto no início do procedimento iterativo, a amortização é grande para estas iterações. Porém, com o avanço do processo iterativo o parâmetro . é gradualmente reduzido e o método de Levenberg-Marquardt tende para o método de Gauss dado pela equação (3.25).
O processo iterativo proposto pelo método de Levenberg-Marquardt pode ser truncado quando as seguintes condições são satisfeitas:
#( -) < / (3.28)
‖()Z[ − ()] ‖ </ (3.29) ‖ -− ‖ < /0 (3.30)
64 Onde:
/, / e /0 são tolerâncias dadas;
‖(‖ = √(Z ∙ ( é a norma do vetor Euclidiano.
O critério dado pela equação (3.28) verifica se a norma dos mínimos quadrados é suficiente pequena. A equação (3.29) verifica se a norma do gradiente de #() é suficientemente pequena. E o terceiro critério, (3.30) verifica se as mudanças do vetor de parâmetros são muito pequenas, o que é esperado quando o método converge.
A matriz diagonal Ω definida como:
Ω = %[(-)Z∙ -] (3.31)
Dadas as medidas experimentais x = (x, x, … , xW) para os tempos 'W, = 1, … , , tendo a condição inicial N para os parâmetros desconhecidos , e estabelecidos o valor de .N, com k = 0 (número de iterações) tem-se o seguinte algoritmo para o método Levenberg-Marquardt, segundo Ӧzisik e Orlande, (2000):
1º. Passo: resolver o problema direto com a estimativa disponível para e determinar o valor de vw = (,,… , F).
2º. Passo: Calcular S() usando a equação (3.15).
3º. Passo: Calcular a Matriz Jacobiana - definida pela equação (3.21) e a matriz
Ω dada pela equação (3.31) usando os valores atuais de .
4º. Passo: Resolver o sistema de equações algébricas, obtidas para o sistema de Levenberg-Marquardt, equação (3.27):
65 Para calcular: ∆-= -− -
5º. Passo: Calcular a nova estimativa para - através da expressão:
- = -+ ∆-
6º. Passo: Avaliar a função vw com a nova estimativa -
7º. Passo: Se #v-w ≥ # v-w, substituir .- por 10 .- e retornar para o 4º passo 8º. Passo: Se #v-w < # v-w, usar a nova estimativa - e substituir .- por 0,1
.-
9º. Passo: Verificar os critérios de parada dados pelas equações (3.28), (3.29) e (3.30).
O procedimento iterativo deve ser interrompido se qualquer uma das condições for satisfeita; caso contrário, substituir k por k + 1 e retornar ao 3º passo.
3.4 Fluxo de calor
O fluxo de calor na direção Y, perpendicular às superfícies interna e externa, foi calculado usando a Lei de Fourier, dada pela Eq. 12.
dt y T k y ∂ ∂ =
Φ
(3.33) Onde:φ
y é o fluxo de calor (J/m2) k é a condutividade térmica (W/moC) y T ∂ ∂é a variação de temperatura na direção Y (oC/m) e dt é o intervalo de tempo (s).
66 O cálculo do fluxo de calor na superfície foi realizado a cada iteração temporal, através da Eq. (3.33). ∑ ∑ − = = = n 1 i m 1 j 2 ) j , i ( 1 ) j , i ( T y T T t k ∆ ∆ Φ (3.34)
Onde
φ
T é o fluxo de calor total na superfície no período (J/m2) k é a condutividade térmica (W/moC)T(i,j)1 e T(i,j)2 são as temperaturas em cada ponto (i, j), nas camadas 1 e 2 da malha numérica (oC)
n e m são o número de pontos da malha numérica nas direções x e z, respectivamente
∆
t é o incremento de tempo (s) e67