Você está na página 1de 13

VETOR

Otimização de Códigos Computacionais Para


Solução de Problemas Inversos
Optimization of Computational Codes for solving Inverse Problems
Lucas da Silva Asth1,† , Diego Campos Knupp2 , Bruno Carlos Lugão2
1 Instituto Politécnico, Universidade do Estado do Rio de Janeiro, Nova Friburgo, Brasil
2 Instituto Politécnico, Universidade do Estado do Rio de Janeiro, Nova Friburgo, Brasil
3 Instituto Politécnico, Universidade do Estado do Rio de Janeiro, Nova Friburgo, Brasil
† Autor correspondente: lucasasth96@gmail.com

Resumo

Neste trabalho é proposto a otimização computacional de um problema conjugado de condução-convecção em um


micro-dissipador térmico, tendo como objetivo a estimativa dos coeficientes de troca térmica por convecção na placa
através da solução de problemas inversos de estimativa de parâmetros. O problema direto é resolvido através do Mé-
todo de Diferenças Finitas (MDF) e o problema inverso é solucionado através dos métodos de Evolução Diferencial
(ED) e Enxame de Partículas (PSO). A principal contribuição é a diminuição significativa no custo computacional
do problema direto através da integração da linguagem científica Frotran90 com Python, em relação ao código ori-
ginalmente desenvolvido no software Wolfram Mathematica. Também obteve-se uma grande melhora no problema
inverso com a utilização do pacote ipsimpy desenvolvido pelo co-autor Bruno Carlos Lugão.

Palavras-chave
Otimização ∙ Diferenças Finitas ∙ Problema Inverso

Abstract

In this paper, the computational optimization of a conduction-convection problem in a thermal micro-sink is pro-
posed, aiming at the estimation of the convective heat transfer coefficients on the plate through the solution of para-
meter estimation inverse problems. The direct problem is solved through the Finite Difference Method (FDM) and
the inverse problem is solved through the Differential Evolution (DE) and Particle Swarm (PSO) methods. The main
contribution is the significant reduction in the computational cost of the direct problem through the integration of
the scientific language Frotran90 with Python, compared to the code originally developed in the Wolfram Mathema-
tica software. The inverse problem was also greatly improved by using the ipsimpy package developed by co-author
Bruno Carlos Lugão.

Keywords
Optimization ∙ Finite Difference ∙ Inverse Problem

1 Introdução
A formulação e solução de problemas inversos vêm se mostrado cada vez mais importante no campo da engenharia.
Com o estudo de materiais cada vez mais complexos e modelos matemáticos cada vez mais detalhados, o uso de
técnicas convencionais para determinação de propriedades físicas ou, não raro, condições de contorno e de geome-
tria, muitas vezes se mostram insatisfatórias [1]. Porém, as soluções para tais problemas envolvem um grande custo
computacional, e muitas vezes se tornam impraticáveis.

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 1
Otimização em Problemas Inversos Asth, L. et al.

Para contornar esta barreira, o método de diferenças finitas para solução do problema direto se mostra um bom
candidato, pois além de permitir uma maior flexibilidade na discretização das malhas utilizadas, existem métodos
de otimização computacional que podem ser empregados em linguagens de programação específicas. Para o pro-
blema abordado, foi feita a "vetorização"das equações discretizadas através do MDF na linguagem de programação
Fortran90, que possui como principal atributo o processamento rápido de números com excelente precisão. Em se-
guida, este módulo foi acoplado em um código geral desenvolvido na linguagem Phyton que possui uma larga gama
de bibliotecas que auxiliam em tarefas complexas, como álgebra linear e métodos numéricos.
Por fim, para a solução do problema inverso fez-se uso do pacote em Phyton ipsimpy (Inverse Problem Simbolic
Python). Este pacote foi desenvolvido pelo co-autor Bruno Carlos Lugão e utiliza da programação orientada a objetos
(POO) para criar módulos dedicados a solução de problemas inversos. Possui módulos implementados para resolver
problemas através dos métodos estocásticos Evolução Diferencial (ED) e Enxame de Partículas (PSO) assim como
métodos de Inferência Bayesiana como o Método de Monte Carlo via Cadeias de Markov (MCMC).

2 Modelagem Matemática
2.1 Problema Direto
O fenômeno físico estudado consiste no aquecimento de uma placa polimérica com um único microcanal, através de
uma resistência elétrica que simula um microprocessador. A modelagem desse fenômeno leva em conta o problema
de convecção forçada no interior do microcanal, em conjunto com o problema de condução de calor na matriz do
dissipador.

Figura 1: Representação Esquemática do Problema.

Seguindo o formalismo da Técnica das Equações Integrais Acopladas (CIEA) pode-se definir a temperatura e o
fluxo de calor médio na direção 𝑧 da espessura da placa. Esta formulação matemática, pode ser escrita como:

𝜕 𝑇̄𝑝 (𝑥, 𝑦, 𝑡) 𝜕 2 𝑇̄𝑝 (𝑥, 𝑦, 𝑡) 𝜕 2 𝑇̄𝑝 (𝑥, 𝑦, 𝑡) 𝑞𝑤 ℎ𝑒 (𝑥)


𝜌𝐶𝑝 = 𝑘( + )+ − (𝑇̄𝑝 (𝑥, 𝑦, 𝑡) − 𝑇∞ ) (1)
𝜕𝑡 𝜕𝑥2 𝜕𝑦 2 𝐿𝑧 𝐿𝑧
com as seguintes condições de contorno:

𝜕 𝑇̄𝑝 (𝑥, 𝑦, 𝑡) |||| 𝜕 𝑇̄𝑝 (𝑥, 𝑦, 𝑡) ||||


|| = || =0 (2)
𝜕𝑥 |||𝑥=0 𝜕𝑥 ||
|𝑥=𝐿𝑥

𝜕 𝑇̄𝑝 (𝑥, 𝑦, 𝑡) |||| ( )


𝑘𝑝 || = 𝑓𝑖 ℎ𝑖 𝑇𝑝 (𝑥, 0, 𝑡) − 𝑇𝑓 (𝑥, 𝑡) (3)
𝜕𝑦 |||𝑦=0

E condição inicial dada por:

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 2
Otimização em Problemas Inversos Asth, L. et al.

𝑇̄𝑝 (𝑥, 𝑦, 𝑡 = 0) = 𝑇0 (𝑥, 𝑦) (4)


Onde 𝑇̄𝑝 é a temperatura média da placa ao longo de sua espessura, ℎ𝑒 é o coeficiente de troca térmica por
convecção entre a superfície da placa e o meio externo, ℎ𝑖 é o coeficiente de troca térmica por convecção entre a face
do microcanal e o escoamento interno, 𝑇𝑓 é a temperatura do fluido em escoamento no microcanal e 𝑞𝑤 é o fluxo de
calor imposto pela resistência elétrica na superfície interna da placa.
Os coeficientes 𝑓𝑓 e 𝑞𝑤 representam o fator de forma e o fluxo de calor proveniente da resistência elétrica, res-
pectivamente. Estes podem ser escritos como:
𝜋𝑅𝑖
𝑓𝑓 = (5)
𝐿𝑧
𝑉2
𝑞𝑤 = (6)
2𝑅𝐿𝑥 𝐿𝑦
Para a modelagem do problema de transferência de calor por convecção forçada no fluido que escoa em regime
laminar no interior do microcanal, foi uitizada uma formulação clássica por parâmetros concentrados dada por:

𝜕𝑇𝑓 (𝑥, 𝑡) 2ℎ𝑖


= (𝑇 (𝑥,̄ 0, 𝑡) − 𝑇𝑓 (𝑥, 𝑡)), 𝑡 > 0; 0 < 𝑥 < 𝐿𝑥 (7)
𝜕𝑥 ̄ 𝑖 𝑝
𝜌𝑓 𝐶𝑝𝑓 𝑢𝑅

𝑇𝑓 (𝑥 = 0, 𝑡) = 𝑇𝑖𝑛 (8)
Onde: 𝑢̄ representa a velocidade do escoamento, calculada pela equação da vazão 𝑄, ℎ𝑖 é o coeficiente de troca
térmica por convecção do escoamento e ℎ𝑒 é coeficiente de troca térmica por convecção no exterior estimado através
da solução do problema inverso por [2], respectivamente.
𝑄
𝑢̄ = (9)
𝜋𝑅𝑖2
𝑁𝑢 𝑘𝑓
ℎ𝑖 = (10)
2𝑅𝑖

ℎ𝑒 (𝑥) = 1.23165(23.6189 − 11.6638𝑆𝑒𝑛(78.5398𝑥) − 0.138166𝑆𝑒𝑛(157.08𝑥) (11)


−3.65355𝑆𝑒𝑛(235.619𝑥) − 0.149853𝑆𝑒𝑛(314.159𝑥) − 1.82654𝑆𝑒𝑛(392.699𝑥))
onde 𝑘𝑓 representa a condutividade térmica do fluido e 𝑁𝑢 é o número de Nusselt. Considerando o escoamento
plenamente desenvolvido no canal, com condição de contorno de fluxo de calor constante na parede, o valor do
número de Nusselt pode ser considerado uma constante 𝑁𝑢 = 4, 36 [3].
Para a solução do sistema de equações diferencias parciais foi adotado o método de diferenças finitas em sua
formulação explícito. Foram utilizadas aproximações de segunda ordem par as derivadas no espaço e primeira ordem
para as derivadas no tempo, de acordo com o esquema Forward Time Centered Space (FTCS) para a equação da placa
(??) e Upwind de primeira ordem para a equação do fluido 7. A malha com melhor melhor convergência e menor
custo computacional foi 𝑁𝑥 = 50 pontos e 𝑁𝑦 = 50 pontos com ∆𝑡 = 0.001.
Para o esquema FTCS, aplicado na equação da placa, ficamos com:
𝑛+1 𝑛
𝜕𝑇(𝑥, 𝑦, 𝑡) 𝑇𝑖,𝑗 − 𝑇𝑖,𝑗
≈ (12)
𝜕𝑡 ∆𝑡
𝑛 𝑛 𝑛
𝜕 2 𝑇(𝑥, 𝑦, 𝑡) 𝑇𝑖−1,𝑗 − 2𝑇𝑖,𝑗 + 𝑇𝑖+1,𝑗
≈ (13)
𝜕𝑥2 (∆𝑥 2 )
𝑛 𝑛 𝑛
𝜕 2 𝑇(𝑥, 𝑦, 𝑡) 𝑇𝑖,𝑗−1 − 2𝑇𝑖,𝑗 + 𝑇𝑖,𝑗+1
≈ (14)
𝜕𝑦 2 (∆𝑦 2 )
Para o esquema Upwind, aplicado na equação do fluido:
𝑛 𝑛
𝜕𝑇 𝑇𝑖 − 𝑇𝑖−1
≈ (15)
𝜕𝑥 ∆𝑥
Utilizando o esquema de nós fictícios para discretização dos contornos do problema, obtemos um sistema de
equações discretizadas utilizados no processo iterativo de solução que foi implementado em Fortran90 e acoplado
no código principal desenvolvido em Pyhton

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 3
Otimização em Problemas Inversos Asth, L. et al.

2.2 Problema Inverso


2.2.1 Estimativa de Máxima Verossimilhança
Para investigar a solução do problema inverso relativo à estimativa de um vetor de parâmetros 𝑃 necessita-se de um
conjunto de dados experimentais 𝑌. Para o presente trabalho, foi utilizado um conjunto de dados experimentais
reais obtido por [2]. A função objetivo considerada é dada conforme [4].
1 1
𝑝(𝑌|𝑃) = √ |𝑊| ⋅ 𝑒𝑥𝑝(− [𝑌 − 𝑇(𝑃)]𝑇 |𝑊|−1 [𝑌 − 𝑇(𝑃)]) (16)
(2𝜋)𝑁𝑑 2

Onde 𝑌 é o vetor dos dados experimentais, 𝑇(P) é o vetor com os dados calculados a partir do modelo (dados do
problema direto), 𝑃 é o vetor de parâmetros, 𝑊 é a matriz de covariância dos erros experimentais e 𝑁𝑑 é o número
de medições. Para se obter as estimativas de máxima verossimilhança, devemos então formular o problema inverso
como um problema de otimização, onde temos como objetivo maximizar o valor de 𝑝(𝑃|𝑌), ou seja, maximizar a
probabilidade de obter o valor do parâmetro 𝑃 dado a medida experimental 𝑌. Isso pode ser feito minimizando
o argumento contido na exponencial da equação (16). Em outras palavras, deseja-se minimizar o funcional dos
resíduos quadrados entre as quantidades medidas experimentalmente e os valores calculados pelo modelo [5]. A
função objetivo resultante então, tem a forma:
𝑁𝑑

𝑅(𝑃) = [𝑌 − 𝑇(𝑃)]𝑇 [𝑌 − 𝑇(𝑃)] = [𝑌 − 𝑇(𝑃)]2 (17)
𝑖=1

A fim de encontrar o valor ótimos dos parâmetros que minimizam a função objetivo, foram utilizados dois algorit-
mos de busca estocásticos inspirados na natureza, implementados no pacote ipsimpy. Esses algoritmos são: Evolução
Diferencial (ED) que simula a evolução de uma população considerando os processos de mutação e crossover e o al-
goritmo de Enxame de Partículas (PSO) que é baseado no comportamento de busca de um grupo de pássaros ou um
cardume de peixes.

2.2.2 Enxame de Partículas (Particle Swarm Optimazation - PSO)


PSO ou enxame de partículas é um método de otimização estocástico que possui um algoritmo inspirado na natureza,
mais especificamente, este modela o comportamento social de um bando de pássaros ou um cardume de peixes [6].
Como podemos observar no fluxograma 2 cada partícula é iniciada com valores aleatórios de posição e veloci-
dade. Durante a execução do algoritmo, cada partícula avalia sua solução atual com a melhor posição já encontrada
por ela ("parcela cognitiva"). Cada partícula individual também irá comparar sua solução com a melhor solução já
encontrada por todo o grupo, atualizando o valor global ("parcela social").
Podemos destacar as características relevantes do método como:
1. Cada partícula/pássaro tem uma posição e velocidade associadas
2. Partículas mudam suas posições ajustando sua velocidade

3. Cada partícula memoriza a melhor posição identificada por ela


4. Partículas comunicam informações sobre a melhor posição encontrada pelo grupo
5. A velocidade de cada partícula é modificada usando:
(a) Experiência de cada partícula
(b) Experiência do grupo
A velocidade de busca é calculada através da seguinte equação:

𝑣𝑖𝑡+1 = 𝑤𝑣𝑖𝑡 + 𝑐1 𝑣1 (𝑝𝑏𝑒𝑠𝑡,𝑖


𝑡
− 𝑋𝑖𝑡 ) + 𝑐2 𝑟2 (𝑔𝑏𝑒𝑠𝑡,𝑖
𝑡
− 𝑋𝑖𝑡 ) (18)

E a posição é alterada de acordo com a mudança na velocidade:

𝑋𝑖𝑡+1 = 𝑋𝑖𝑡 + 𝑣𝑖𝑡+1 (19)

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 4
Otimização em Problemas Inversos Asth, L. et al.

Figura 2: Fluxograma PSO.

Onde:

𝑣𝑖 é a velocidade da i-ésima partícula


𝑤 é a inercia das partículas
𝑐1 e 𝑐2 são os coeficientes de aceleração
𝑟1 e 𝑟2 são números aleatórios gerado no intervalo [0, 1]
𝑋𝑖 é a posição da i-ésima partícula

2.2.3 Evolução Diferencial (ED)


A Evolução Diferencial se baseia nos mecanismos de seleção natural e na genética de populações, e utiliza operadores
de mutação, cruzamento e seleção para gerar novos indivíduos em busca do mais adaptado.
O algoritmo utilizado na implementação da evolução diferencial, de maneira geral, é descrito por quatro passos:
A inicialização da população, o operador de mutação, o operador de cruzamento e o operador de seleção.

1. Inicialização da População:
O processo de inicialização da população é feita de maneira aleatória, como em outros algoritmos evolutivos.
Podemos obter um vetor de indivíduos, que representará a população através da 20 [7]

𝑥𝑖,𝑗 = 𝑥𝑖,𝐿 + 𝑟𝑎𝑛𝑑(𝑥𝑖,𝑈 − 𝑥𝑖,𝐿 ) (20)

Onde 𝑥𝑖,𝑈 e 𝑥𝑖,𝐿 são os limites superiores e inferiores dos parâmetros de interesse, respectivamente, e 𝑟𝑎𝑛𝑑 é
um gerador de números aleatório no intervalo entre 0 e 1.
2. Operador de Mutação:
O algoritmo de ED realiza as operações de mutação e recombinação para a geração de uma nova população
com 𝑁𝑃 indivíduos. Essa mutação se da através da adição de um vetor referência, escolhido aleatoriamente
na população, com a diferença entre dois outros vetores também escolhidos aleatoriamente na população, de
acordo com a equação 21.

𝑣𝑖,𝑔 = 𝑥𝑟0,𝑔 + 𝐹(𝑥𝑟1,𝑔 − 𝑥𝑟2,𝑔 ) (21)

O escalar F, denominado taxa de perturbação, é um número real que controla a magnitude do vetor diferença
obtido em cada operação realizada [7]. Os vetores 𝑥𝑟0,𝑔 , 𝑥𝑟1,𝑔 e 𝑥𝑟2,𝑔 são escolhidos de forma aleatória na
população.

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 5
Otimização em Problemas Inversos Asth, L. et al.

3. Operador de Cruzamento:
O operador de cruzamento, complementa o operador de mutação, sendo responsável pela aceitação ou não
do vetor 𝑣𝑖,𝑔 gerado na etapa anterior na nova população. Este procedimento de dá de acordo com a seguinte
equação:

𝑣𝑖,𝑔 , se , 𝑟𝑎𝑛𝑑 ≤ 𝐶𝑟 ou 𝑗 = 𝑗𝑟𝑎𝑛𝑑


𝑢𝑖,𝑔 = { (22)
𝑥𝑖,𝑔 , caso contrário

4. Operador de Seleção:
Se o vetor 𝑢𝑖,𝑔 tem melhor valor de função objetivo (𝑓𝑜𝑏𝑗 ) com relação ao vetor 𝑥𝑖, 𝑔, ele o substitui na próxima
geração, caso contrário, 𝑥𝑖,𝑔 é mantido na população por mais uma geração [?].

𝑢𝑖,𝑔 , se , 𝑓𝑜𝑏𝑗 (𝑢𝑖,𝑔 ) ≤ 𝑓𝑜𝑏𝑗 (𝑥𝑖,𝑔 ) ou 𝑗 = 𝑗𝑟𝑎𝑛𝑑


𝑥𝑖,𝑔+1 = { (23)
𝑥𝑖,𝑔 , caso contrário

Quando esses passos são completados, o algoritmo se repete até que o critério de parada estabelecido seja satis-
feito.

Figura 3: Fluxograma Evolução Diferencial.

3 Resultados e Discussões
3.1 Otimização dos Custos Computacionais
3.1.1 Problema Direto
Será mostrado nas próximas seções que os resultados qualitativos para as soluções do modelo matemático são bas-
tante satisfatórias para os métodos utilizados neste trabalho. O grande diferencial se encontra na diminuição sig-
nificativa do tempo gasto para solucionar tais problemas, através da implementação de algoritmos mais eficientes,
em linguagens de programação específicas que possuem grande poder de computação científica. O primeiro passo
foi otimizar o problema direto, pois pequenas melhoras no tempo de cálculo do PD resulta em enormes ganhos de
tempo nos algoritmos estocásticos de otimização, utilizados na solução do problema inverso.
Com a abordagem do Método de Diferenças Finitas, descrito no capítulo anterior, temos um maior controle so-
bre as malhas discretizadas, podendo assim escolher a que melhor se aproxima da solução do problema em questão,
fazendo um balanço entre convergência e custo computacional. Além disso, as equações resultantes são forma-
das de operações algébricas simples que devem ser repetidas um grande número de vezes e este tipo de cálculo é a

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 6
Otimização em Problemas Inversos Asth, L. et al.

especialidade de linguagens de programação científicas. Portanto, além de escolher o método este método e conse-
quentemente a malha que melhor se encaixa no problema, outro fator muito importante é a escolha das linguagens
de programação utilizadas para o desenvolvimento dos scripts que solucionaram o problema. Para este trabalho fo-
ram escolhidas duas dessas linguagens: Python e Fortran90, tirando proveito dos pontos mais fortes de cada uma
delas. O código em Pyhton foi feito utilizando a facilidade das diversas bibliotecas de álgebra linear para montagem
dos vetores e matrizes que irão armazenar a solução, definição das funções, condições iniciais e de contorno do pro-
blema, assim como a visualização das soluções graficamente. A principal vantagem do código em Fortran90 é a sua
velocidade incrível de processamento, e portanto o principal looping da solução do problema pelo Método de Dife-
renças Finitas foi implementado nesta linguagem. A ponte entre esses dois códigos foi feita através do pacote f2py,
uma ferramente que permite converter códigos desenvolvidos em Fortran90 em módulos que podem ser importados
em Python.
A tabela 1 mostra a melhora obtida com todo este procedimento. Do código inicialmente feito com a rotina
NDSolve do software Wolfram Mathematica, passando por uma implementação do Método de Diferenças Finitas em
um código escrito integralmente utilizando Python, e por fim uma integração das duas linguagens de programação
citadas. Todos os códigos foram executados em um notebook com processador intel core 𝑖3 de quinta geração.

Tabela 1: Comparação dos tempos de solução do PD.

Método tempo (s)


NDSolve 32
MDF Pyhton 4
MDF Python - Fortran 0.25

Como será mostrado a seguir, esta diminuição no tempo pode não significar muito quando olhamos o problema
direto isoladamente, porém, na solução do problema inverso é necessário resolver as equações dezenas de milhares
de vezes, e com isso qualquer melhora no custo computacional do PD se torna significativo. Neste caso específico
temos uma melhora computacional de aproximadamente 128 vezes.
Vale ressaltar que a rotina NDSolve é uma poderosa ferramenta para solução de equações diferenciais e também
é geral, ou seja, pode resolver diversos sistemas de equações. Por outro lado, o software desenvolvido neste trabalho
é ultra-dedicado e, apesar de poder ser facilmente modificado, resolve apenas as equações que foram discretizadas
pelo método de diferenças finitas.

3.1.2 Problema Inverso


Para a solução do problema inverso foi utilizado o pacote ipsimpy (Inverse Problem Simbolic Python) desenvolvido
pelo Co-autor Bruno Carlos Lugão. Este pacote é implementado através da programação orientada a objetos nativa
do Python (POO), e possui diversos métodos que podem ser utilizados para solução de problemas inversos: Métodos
determinísticos como o método de Jacobi, métodos estocásticos como os utilizados neste trabalho (PSO e ED) e tam-
bém métodos de Inferência Bayesiana como Monte Carlo via Cadeias de Markov. O pacote ajuda consideravelmente
na solução de problemas do tipo, não somente na facilidade que proporciona na utilização de algoritmos de otimiza-
ção complexos, como também no custo computacional, por ser implementado utilizando uma linguagem adequada
e artifícios que esta proporciona, como a vetorização de equações.
Os resultados na diminuição do custo computacional para a solução do problema inverso são mostrados na tabela
a seguir.

Tabela 2: Comparação dos tempos na solução do PI.

Método NDSolve MDF Pyhton MDF Pyhton - Frotran


ED > 7h 2h30 min 9 min
PSO > 7h 1h40 min 4 min

Podemos observar o grande impacto da otimização dos códigos quando olhamos o tempo de solução do pro-
blema inverso. Também é possível perceber que entre os algoritmos escolhidos o PSO apresenta maior velocidade

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 7
Otimização em Problemas Inversos Asth, L. et al.

de solução, e como mostrado nos resultados a seguir, ambos chegam em valores muito parecidos dos parâmetros
estimados.

3.2 Resultados do Modelo Matemático


3.2.1 Problema Direto
Os parâmetros geométricos usados nas simulações foram: 𝐿𝑥 = 𝐿𝑦 = 40𝑚𝑚, 𝐿𝑧 = 2, 8𝑚𝑚 e raio do microcanal 𝑅𝑖 =
225𝜇𝑚. Os valores usados para as temperaturas foram: Temperatura de entrada da água 𝑇𝑖 = 18◦ 𝐶, Temperatura do
ambiente 𝑇∞ = 18◦ 𝐶 e Temperatura inicial da placa 𝑇𝑝 = 49◦ 𝐶. O valor da resistência elétrica foi de 𝑅 = 37, 5Ω e
a tensão aplicada 𝑈 = 7𝑉. As propriedades termofísicas do fluido (água) e da placa (polímero) são apresentadas na
tabela ??.

Tabela 3: Propriedades Térmicas da Água e do Polímero.

Substância 𝜌𝑓 𝐶𝑝𝑓 (𝐽∕𝑚3 𝐾) 𝑘𝑓 (𝑊∕𝑚𝐾)


Água 6.10 5.43
Polímero 4.77 4.24

Na tabela 4 é feita uma comparação entre as duas soluções do problema direto, antes da otimização, através
software Wolfram Mathematica com a rotina NDSolve, e depois da otimização pelo método de diferenças finitas
implementado com a metodologia antes discutida.

Tabela 4: Comparação Entre os Métodos.

𝑁𝑥 x 𝑁𝑦 𝑡 = 100𝑠 𝑡 = 200𝑠 𝑡 = 500𝑠 𝑡 = 1000𝑠


51 x 51 45.8141 42.8908 40.4331 39.2940
NDSolve 45.8138 42.9032 40.4501 39.3056

Nota-se uma excelente convergência entre os métodos durante todo o regime transiente do problema em ques-
tão, com três dígitos significativos para quase todos os pontos estudados, o que mostra que ambos os métodos são
quantitativamente equivalentes para solução do modelo matemático proposto. A grande diferença entre as soluções
se dá no custo computacional. A solução feita pela rotina NDSolve chega em um resultado para o problema direto
com uma média de 32𝑠 segundo citado em [8]. Já o código implementado em Fortran90 e Python consegue chegar
em uma solução para o mesmo problema com uma média 0.25𝑠, em outras palavras, 128 mais rápido. A figura 4
mostra o comportamento gráfico de ambas as soluções, no estado transiente.

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 8
Otimização em Problemas Inversos Asth, L. et al.

Figura 4: Comparação gráfica das soluções.

A legenda em vermelho, vêm da solução do problema direto feito no trabalho [8] através do software Wolfram
Mathematica. Portanto, através da imagem também podemos perceber que o método estabelecido neste trabalho
para solução do problema direto é de fato eficaz para solução do modelo proposto.

3.3 Problema Inverso


3.3.1 Análise de Sensibilidade
Realizar a análise de sensibilidade dos parâmetros de interesse antes de resolver o problema inverso propriamente
dito é de extrema importância, pois, esta nos diz o quão sensível estes parâmetros são aos dados de entrada, e também
revela quais das variáveis de interesse podem ser estimadas na mesma solução. Se um parâmetro possui uma sen-
sibilidade muito baixa, isto significa que grandes variações no valor deste parâmetro resulta em pequenas variações
na resposta do modelo, e sendo assim, estimar um valor para este é uma tarefa extremamente difícil. Por outro lado,
se dois ou mais parâmetros são linearmente dependentes, o problema não pode ser resolvido, pois existem infinitas
combinações de valores que resultam na mesma solução.
A figura 5 contém gráfico de sensibilidade dos parâmetros de interesse deste trabalho em função da posição na
placa. Estes parâmetros são: o coeficiente de transferência de calor por convecção da superfície externa da placa com
o ambiente (ℎ𝑒 ) e o coeficiente de transferência de calor por convecção no escoamento interno no microcanal (ℎ𝑖 ).

Figura 5: Análise de Sensibilidade dos Parâmetros.

Podemos notar que a sensibilidade de ℎ𝑖 é muito baixa quando comparado com ℎ𝑒 , e isto resulta em uma maior

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 9
Otimização em Problemas Inversos Asth, L. et al.

dificuldade na estimativa deste parâmetro. Por outro lado, nota-se que os coeficientes são linearmente independentes
e podemos resolver o problema inversos para ambos ao mesmo tempo. O parâmetro he possui uma magnitude do
coeficiente de sensibilidade bastante elevada e podemos estima-lo com um bom grau de confiabilidade.

3.3.2 Solução do Problema Inverso


A solução do problema inverso foi implementada com auxílio do pacote ipsimpy utilizando os métodos estocásticos
de Evolução Diferencial e Enxame de Partículas. A diminuição do custo computacional no problema direto se torna
significante neste caso, pois métodos de otimização precisam avaliar a função objetivo (que depende do problema
direto) um enorme número de vezes. A configuração para cada método se encontra nas tabelas 5 e 6.

Tabela 5: Configurações PSO.

Parâmetro Valor
𝑤 0.5
𝑐1 2.0
𝑐2 2.0
Nº de populações 20
limites de procura ℎ𝑖 − (5000 − 8000)
limites de procura ℎ𝑒 − (15 − 20)

Onde 𝑤 é o coeficiente de inércia das partículas, 𝑐1 e 𝑐2 são os coeficientes de aceleração e os limites de pro-
cura correspondem ao espaço pre-definido onde estar partículas irão procurar o estado ótimo da função objetivo em
questão.

Tabela 6: Configurações ED.

Parâmetro Valor
𝐹 0.5
𝐶𝑟 2.0
Nº de populações 20
limites de procura ℎ𝑖 − (5000 − 8000)
limites de procura ℎ𝑒 − (15 − 20)

Vale ressaltar que o espaço de busca do parâmetro hi é muito maior que o espaço do he, pois este possui uma
sensibilidade baixa em relação aos dados de entrada e portanto, precisa de uma maior variação em seu valor para
obtermos resultados relevantes. Cada método foi executado 50 vezes para que a confiança no resultado obtido seja
maior. As tabelas 7 e 8 mostram as estatísticas que podem ser inferidas a partir das simulações.

Tabela 7: Resultados PSO.

Estatística ℎ𝑖 (𝑊∕𝑚2 .𝐾) ℎ𝑒 (𝑊∕𝑚2 .𝐾)


Média (𝜇) 20.172523 428.822184
Variância (𝜎) 0.014705 0.252831
Desvio Padrão (𝜎2 ) 0.000216 0.063923

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 10
Otimização em Problemas Inversos Asth, L. et al.

Tabela 8: Resultados ED.

Estatística ℎ𝑖 (𝑊∕𝑚2 .𝐾) ℎ𝑒 (𝑊∕𝑚2 .𝐾)


Média (𝜇) 20.172626 428.7396725
Variância (𝜎) 0.009095 0.430705
Desvio Padrão (𝜎2 ) 0.000083 0.185507

Pode-se notar que o desvio padrão para ambos os parâmetros é muito pequeno, fortalecendo a hipótese de que
esses valores constituem uma excelente solução para o problema inverso. Além de melhorar qualitativamente a
precisão do modelo matemático proposto, pois com esses parâmetros a solução do problema direto acompanha de
maneira muito mais fiel os dados experimentais, houve uma melhora significativa no custo computacional. Antes
da otimização, o problema inverso custava 1 hora e 50 minutos em média para chegar a uma solução. Porém após a
otimização, esse tempo caiu para 4 minutos em média, permitindo assim um número muito maior de simulações e
consequentemente um valor estatístico mais confiável. Nas figura 6 e 7 é possível comparar os dados experimentais
com a solução do modelo, utilizando os valores dos parâmetros antes e depois do problema inverso.

Figura 6: Solução Antes do PI.

A curva em vermelho representa os dados experimentais do problema, obtido em [2] para uma vazão de 0.5
mL/min no microcanal. Nota-se que o comportamento geral da solução condiz com o experimento, porém existem
discrepâncias nos contornos. Um fator de grande influência são os valores dos parâmetros que foram estimados
neste trabalho, pois são difíceis de se medirem experimentalmente, e consequentemente de acha-lós na literatura.
Para isso valores aproximados foram propostos para o modelo matemático inicial e isso reflete na solução.
Após a solução do problema inverso, obtivemos valores que muito melhor se encaixam no modelo, e isto se
mostra claramente no gráfico da figura 7. Durante todo o domínio, o campo de temperaturas acompanha os dados
experimentais de maneira mais suave, e se ajusta nas extremidades e no ponto [0, 0] por onde passa o microcanal.
Vale ressaltar que ainda se encontra uma pequena diferença na temperatura das bordas, mas isso pode ser facilmente
explicado pelo fato de ter sido consideradas condições de contorno de fluxo nulo nas extremidades da placa, o que
de fato é uma idealização e não ocorre nos experimentos.

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 11
Otimização em Problemas Inversos Asth, L. et al.

Figura 7: Solução Depois do PI.

Portanto, podemos concluir que o problema inverso foi bem sucedido ao encontrar com certa confiança os valores
dos parâmetros que melhor se encaixam no modelo matemático proposto, pois além de convergirem em todas as 50
simulações feitas para o mesmo valor, a solução gráfica também comprova a melhora na solução quando comparamos
aos dados experimentais. Na figura 8 coloca-se as soluções na mesma imagem para fim de comparação

Figura 8: Antes e Depois do PI

A curva pontilhada representa a solução com os valores dos parâmetros inicias, antes da estimativa através do
problema inverso. A curva em azul, que se aproxima muito melhor, é a solução com os parâmetros estimados neste
trabalho, e a curva vermelha são os dados experimentais do problema obtidos em [2].

4 Conclusão
Neste trabalho, foram estimados os parâmetros convectivos relacionados a um modelo físico de condução-convecção
em uma placa polimérica com um microcanal em seu centro, que atua como dissipador térmico. Essas estimativas
foram possíveis através da solução do problema direto, feito através do método numérico de diferenças finitas, e o
problema inverso, resolvido através do método de máxima verossimilhança com a utilização dos algoritmos estocás-
ticos de enxame de partículas e evolução diferencial na minimização da função objetivo.

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 12
Otimização em Problemas Inversos Asth, L. et al.

Os resultados obtidos no problema direto foram comparados com trabalho anteriores, onde a solução foi feita
através da rotina NDSolve do software Wolfram Mathematica. Estes resultados se mostraram consistentes durante a
totalidade do regime transiente assim como no regime permanente, onde apresentou erros percentuais menores que
0.1%.
Além da estimativa de parâmetros que melhoram o modelo matemático, o grande impacto foi na diminuição do
tempo computacional exigido para resolver tal problema (cerca de 128 vezes mais rápido com todas as otimizações
realizadas). Isso possui boas implicações para trabalhos futuros, pois se torna mais fácil a estimativa de diferentes
parâmetros que outrora significariam muito trabalho para serem medidos ou calculados. Como por exemplo, se tro-
car o material da matriz da placa, podemos estimar suas propriedades térmicas através do mesmo problema inverso,
modificando apenas os parâmetros a serem estimados.
Podemos concluir então, que os métodos empregados são confiáveis e possuem custo computacional relativa-
mente baixo, podendo então ser utilizados na obtenção de estimativas de diferentes parâmetros de interesse para
o modelo em questão. Para trabalhos futuros, pode ser de grande valia estimar o fluxo de calor qw proveniente da
resistência elétrica, visto que neste projeto foi utilizado uma fração constante de 50% do calor total gerado sendo
efetivamente transferido de maneira uniforme para toda a face da placa. Em relação ao problema inverso, outros
métodos podem ser aplicados, como o Método e Monte Carlo via Cadeias de Markov, que é um método baseado
em amostragem estatísticas dos parâmetros. Dessa forma, seria possível criar modelos cada vez mais eficientes ao
mesmo tempo que aumentamos sua complexidade, podendo assim melhor atender as situações práticas

Referências
[1] M. N. Özisik e H. R. Orlande, Inverse heat transfer: fundamentals and applications. CRC press, 2021.
[2] J. V. C. Ayres, “Análise teórico-experimental de dissipadores de calor de matriz polimérica com nanopartículas
de óxidos metálicos e micro-canais longitudinais,” 2011.
[3] F. P. Incropera, D. P. Dewitt, e T. L. Bergman, Fundamentos de Transferência de Calor E de Massa . Grupo
Gen-LTC, 2000.
[4] J. Kaipio e E. Somersalo, Statistical and computational inverse problems. Springer Science & Business Media,
2006, vol. 160.
[5] C. Oliveira, J. L. Lugon Jr, W. F. Sacco, D. C. Knupp, e A. J. S. Neto, “Estimativa de parâmetros em um sistema
de leito móvel simulado via algoritmo de colisão de partículas populacional,” REVISTA CEREUS, vol. 10, no. 3,
pp. 120–135, 2018.
[6] R. Eberhart e J. Kennedy, “Particle swarm optimization,” em Proceedings of the IEEE international conference on
neural networks, vol. 4. Citeseer, 1995, pp. 1942–1948.
[7] F. D. M. Neto e A. J. da Silva Neto, An introduction to inverse problems with applications. Springer Science &
Business Media, 2012.
[8] G. F. M. G. de Carvalho, “Modelagem computacional do problema conjugado de condução-convecção em um
dissipador térmico,” 2011.

Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 13

Você também pode gostar