Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo
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.
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:
Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 2
Otimização em Problemas Inversos Asth, L. et al.
𝑇𝑓 (𝑥 = 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𝑅𝑖
Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 3
Otimização em Problemas Inversos Asth, L. et al.
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.
Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 4
Otimização em Problemas Inversos Asth, L. et al.
Onde:
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]
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.
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:
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 [?].
Quando esses passos são completados, o algoritmo se repete até que o critério de parada estabelecido seja satis-
feito.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Vetor, Rio Grande, vol. XXX, no. XXX, pp. X–Y, 2020 10
Otimização em Problemas Inversos Asth, L. et al.
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.
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.
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
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