DOI: https://doi.org/10.35699/2237-5864.2025.52342
SEÇÃO: ARTIGOS
Integrando
Python e Microsoft Excel no ensino de otimização paramétrica em
Engenharia de Processos
Integrando
Python y Microsoft Excel en la enseñanza de la optimización
paramétrica en Ingeniería de Procesos
Integrating Python and Microsoft Excel in teaching parametric optimization in Process Engineering
Francinelson Pontes do Carmo1, Vanja Maria de França Bezerra2
RESUMO
Este estudo apresenta uma metodologia de ensino voltada à otimização paramétrica em uma turma de Engenharia Química na Universidade Federal do Rio Grande do Norte, utilizando Microsoft Excel e Python. A metodologia é organizada em três fases progressivas. Na primeira, um questionário é aplicado para avaliar o conhecimento prévio dos alunos. Na segunda, problemas de otimização mais realistas são discutidos em sala de aula, destacando as limitações das abordagens analíticas tradicionais e apresentando as funcionalidades básicas das ferramentas adotadas. Na fase final, os alunos são desafiados a resolver um problema de otimização complexo envolvendo uma rede de trocadores de calor, utilizando as duas ferramentas mencionadas. Apesar de 57,14% dos alunos terem optado por métodos analíticos não computadorizados no questionário proposto na fase inicial, o problema da fase final foi resolvido com sucesso, resultando em uma nota de 8,0 na avaliação numérica. Isso reflete o êxito da intervenção realizada durante a fase 2, guiada pelos resultados obtidos na fase 1 da pesquisa. O Python e o Excel se mostraram ferramentas eficazes para o ensino de otimização paramétrica, mesmo em turmas pequenas e heterogêneas.
Palavras-chave: otimização paramétrica; metodologia de ensino; Microsoft Excel; Python; Engenharia Química.
RESUMEN
Este estudio presenta una metodología de enseñanza de la optimización paramétrica en una clase de Ingeniería Química de la Universidad Federal de Rio Grande do Norte (Brasil), utilizando Microsoft Excel y Python. La metodología se organiza en tres fases progresivas. En la primera, se aplica un cuestionario para evaluar los conocimientos previos de los estudiantes. En la segunda, se discuten en clase problemas de optimización más realistas, destacando las limitaciones de los enfoques analíticos tradicionales y presentando las funcionalidades básicas de las herramientas adoptadas. En la fase final, los estudiantes se enfrentan al reto de resolver un problema complejo de optimización que implique una red de intercambiadores de calor, utilizando las dos herramientas mencionadas. A pesar de que el 57,14% de los alumnos optaron por métodos analíticos no informatizados en el cuestionario propuesto en la fase inicial, el problema de la fase final fue resuelto con éxito, obteniendo una puntuación de 8,0 en la evaluación numérica. Esto refleja el éxito de la intervención llevada a cabo durante la fase 2, guiada por los resultados obtenidos en la fase 1 de la investigación. Python y Excel han demostrado ser herramientas eficaces para la enseñanza de la optimización paramétrica, incluso en clases pequeñas y heterogéneas.
Palabras clave: optimización paramétrica; metodología didáctica; Microsoft Excel; Python; Ingeniería Química.
ABSTRACT
This study presents a teaching methodology for parametric optimization in a Chemical Engineering class at the Federal University of Rio Grande do Norte (Brazil), using Microsoft Excel and Python. The methodology was organized into three progressive phases. In the first, a questionnaire was applied to assess the students' prior knowledge. In the second, more realistic optimization problems were discussed in class, highlighting the limitations of traditional analytical approaches and presenting the basic functionalities of the tools adopted. In the final phase, students were challenged to solve a complex optimization problem involving a network of heat exchangers, using the two tools mentioned. Although 57.14% of the students opted for non-computerized analytical methods in the questionnaire proposed in the initial phase, the problem in the final phase was successfully solved, resulting in a score of 8.0 in the numerical assessment. This reflects the success of the intervention carried out during phase 2, guided by the results obtained in phase 1 of the research. Python and Excel have proven to be effective tools for teaching parametric optimization, even in small and heterogeneous classes.
Keywords: parametric optimization; didactic methodology; Microsoft Excel; Python; Chemical Engineering.
|
Nomenclatura |
|||
|
Q |
Vazão mássica de água (kg/h) |
P |
Preço por unidade de peso ($/kg) |
|
W |
Vazão mássica de benzeno (kg/h) |
N |
Número |
|
x |
Fração mássica de ácido benzóico em água |
K |
Parâmetro termodinâmico |
|
y |
Fração mássica de ácido benzóico em benzeno |
A 1 |
Área do trocador de calor do estágio 1 (ft²) |
|
A |
Água |
A 2 |
Área do trocador de calor do estágio 2 (ft²) |
|
B |
Benzeno |
A 3 |
Área do trocador de calor do estágio 3 (ft²) |
|
AB |
Ácido benzóico |
T 1 |
Temperatura da corrente fria na saída do estágio 1 (°F) |
|
FOB |
Função objetivo |
T 2 |
Temperatura da corrente fria na saída do estágio 2 (°F) |
|
L |
Lucro ($) |
t 21 |
Temperatura da corrente de aquecimento na saída do estágio 1 (°F) |
|
R |
Receita ($) |
t 22 |
Temperatura da corrente de aquecimento na saída do estágio 2 (°F) |
|
C |
Custo ($) |
t 32 |
Temperatura da corrente de aquecimento na saída do estágio 3 (°F) |
|
Índices |
|
|
0 |
Alimentação do processo |
|
1 |
Primeiro extrator |
|
2 |
Segundo extrator |
|
AB |
Ácido benzóico |
|
B |
Benzeno |
|
gl |
Graus de liberdade |
|
In |
Incógnitas |
|
ei |
Equações independentes |
|
ep |
Especificações |
INTRODUÇÃO
A Engenharia de Processos é uma subárea relativamente recente dentro do campo da Engenharia Química. A inclusão dessa disciplina nos currículos de graduação em Engenharia Química teve início com a publicação do livro Strategy of Process Engineering (Rudd; Watson, 1968). Essa ramificação surgiu da necessidade de sistematizar o projeto de processos e se desenvolveu com base em conceitos oriundos da Engenharia de Sistemas e Inteligência Artificial (Perlingeiro, 2005).
Nessa área da Engenharia Química o projeto de processos pode ser estruturado em três ciclos. O primeiro é chamado de ciclo tecnológico, onde a melhor rota química para a obtenção do produto de interesse é selecionada. Em seguida, tem-se o ciclo estrutural, onde um fluxograma de processo é proposto e, por fim, o ciclo paramétrico, onde as dimensões dos equipamentos são calculadas (Perlingeiro, 2005).
No ciclo estrutural ocorre a síntese do processo, onde se realiza a construção de estruturas compostas por combinações entre as operações unitárias necessárias para transformar as matérias-primas no produto final. Por outro lado, no ciclo paramétrico, ocorre a análise do processo, onde cada uma das estruturas viáveis geradas na etapa de síntese é submetida a uma avaliação de desempenho. Assim, as melhores condições das correntes e dimensões dos equipamentos são determinadas e, consequentemente, a configuração final do projeto é selecionada (Seider et al., 2016; Perlingeiro, 2005).
Para selecionar a estrutura final do processo, é de fundamental importância que cada um dos ciclos mencionados passe por otimizações, visando assegurar escolhas inteligentes para as condições e especificações do projeto, com o intuito de maximizar ou minimizar variáveis de interesse selecionadas pelo projetista. O processo de otimização que ocorre na etapa de análise é denominado otimização paramétrica e é imprescindível para que o processo atenda a critérios fundamentais, tais como maximização da produção, obtenção de lucro ótimo ou minimização de custos, por exemplo.
O ensino de otimização paramétrica deve ser incorporado de forma integral nos programas de graduação em Engenharia Química, pois é um componente vital para a formação acadêmica e profissional dos estudantes. Problemas que envolvem a otimização paramétrica de processos reais de engenharia frequentemente exigem iterações para alcançar a melhor solução (Whitfield et al., 2012). Esses processos iterativos são inviáveis de serem resolvidos sem o auxílio de ferramentas computacionais, destacando a necessidade de levar os alunos a desenvolver habilidades no uso dessas ferramentas ao longo das disciplinas da graduação. O manuseio de programas computacionais durante a graduação também é reconhecido como benéfico para aprimorar o aprendizado dos estudantes (Domínguez et al., 2021).
Na pesquisa conduzida por Udugama et al. (2023), destaca-se que a simplicidade matemática e de programação emerge como o fator preponderante a ser considerado na concepção de ferramentas digitais para a educação em Engenharia Química. Dentre o conjunto diversificado de ferramentas educacionais analisadas, o Microsoft Excel foi apontado como o mais benéfico pelos participantes da pesquisa. Além disso, a maioria dos entrevistados também atribuiu uma proposta de valor considerada “muito boa ou acima” às linguagens de script, como o Python, para o mesmo propósito educacional.
A aplicação do Microsoft Excel nos cursos de graduação em Engenharia Química é amplamente respaldada na literatura. Em Briones e Escola (2019), os autores destacam o uso do Excel e sua ferramenta Solver para simplificar o ensino da modelagem e otimização de sistemas de troca de calor, em contraste com softwares mais complexos como ASPEN Plus e COMSOL Multiphysics. Ferreira, Lima e Salcedo (2004) corroboram que o Microsoft Excel, por sua simplicidade em comparação a simuladores modulares, pode ser eficazmente incorporado ao currículo universitário, especialmente em disciplinas relacionadas à otimização de sistemas na Engenharia Química. Diversos estudos abordam a aplicação de planilhas de cálculo, da ferramenta Solver e da linguagem Visual Basic no currículo da graduação em Engenharia Química (Golman; Yermukhambetova, 2019; Teppaitoon, 2016; Wong; Barford, 2010).
A integração da linguagem Python em salas de aula de graduação em engenharia também encontra seu espaço. A bem-sucedida aplicação do Python em uma disciplina eletiva do curso de Engenharia Química foi bem recebida pelos estudantes, conforme evidenciado no estudo de Gor (2022). Além disso, o trabalho de Caccavale et al. (2023), destaca a implementação eficaz do Python nos cursos de graduação em Engenharia Química na Technical University of Denmark. Já o estudo de Inguva et al. (2021), demonstra a eficácia do uso da biblioteca FiPy em um minicurso desenvolvido com o objetivo de integrar a linguagem Python ao ensino da solução numérica de equações diferenciais parciais.
Nesse contexto, o presente trabalho tem como objetivo apresentar uma metodologia de ensino elaborada para efetivamente inserir essas duas ferramentas computacionais no contexto do ensino de otimização paramétrica em uma turma de graduação em Engenharia Química. Esta abordagem pedagógica busca não apenas introduzir as ferramentas, mas também fornecer estratégias eficazes para sua aplicação, visando potencializar a compreensão dos conceitos e promover uma aprendizagem mais significativa e duradoura.
METODOLOGIA
Estruturação da disciplina
A disciplina escolhida para esta pesquisa é intitulada Engenharia de Processos, sendo ministrada pelos autores durante um estágio de docência assistida no semestre 2023.2 na Universidade Federal do Rio Grande do Norte (UFRN). Esta disciplina tem uma carga horária de 5 horas semanais, com aulas realizadas duas vezes por semana. A estrutura curricular da disciplina foi integralmente baseada no livro Engenharia de Processos: análise, simulação, otimização e síntese de processos químicos (Perlingeiro, 2005). O estudo ocorreu durante as unidades II e III da disciplina, especificamente durante as aulas ministradas pelo estagiário, que foi encarregado, com a assistência da docente responsável, por lecionar o capítulo 05 do livro-texto, intitulado Otimização Paramétrica, no período de 17/09/2023 à 11/12/2023.
Perfil da turma
A turma selecionada era composta por 7 alunos, os quais estavam em diferentes estágios de progresso em seus cursos de graduação. A heterogeneidade da turma era evidente em termos de semestre, englobando alunos que estavam cursando períodos variando do quarto ao oitavo. Essa diversidade foi possível porque todos atendiam aos pré-requisitos necessários para matrícula na disciplina.
Descrição da metodologia
A metodologia apresentada na presente pesquisa foi dividida em três fases distintas, com nível crescente de complexidade, e desenvolvida em paralelo com a ministração das aulas teóricas, conforme é especificado a seguir.
Fase 1: Desenvolvimento de conhecimetos básicos
Durante a primeira fase do desenvolvimento da metodologia aplicada, os alunos foram submetidos a um questionário que explorou conceitos introdutórios relacionados à ideia de otimização (Quadro 1), seguindo a progressão do conteúdo apresentado durante as aulas teóricas.
Quadro 1 – Questionário aplicado na fase 1 da pesquisa
|
Introdução à otimização |
|
Questão 1 - Analisando o gráfico da função apresentado na Figura 1 podemos concluir que: a) Ele apresenta três mínimos locais e dois máximos locais. b) O ponto que minimiza f(x,y) está situado na região azul da superfície. c) Ele não apresenta pontos de sela. d) A função apresenta dois pontos de máximo locais e pontos de máximo e mínimo globais bem definidos. |
|
Questão 2 - Analiticamente podemos afirmar que a função f(x) = 2x³-3x²-12x atinge um máximo local em: a) x = 0 b) x = -1 c) x = 2 d) x = -2 |
|
Questão 3 - Um processo composto por um reator de leito catalítico e uma coluna de destilação foi estudado. O modelo matemático obtido apresenta um único grau de liberdade e o critério de otimização escolhido foi a redução das emissões de gases de efeitos estufa. A função objetivo f(m) = m³- 2m está expressa em termos da vazão de alimentação do reator (m). Determine o valor de m que minimiza f(m). |
|
Questão 4 - Você foi contratado por uma grande indústria multinacional para projetar um reator tubular isotérmico. Nesse reator ocorrerão reações homogêneas, irreversíveis e em série, com o objetivo de fabricar um produto de alto valor agregado que trará lucros substanciais para a empresa. Como engenheiro químico encarregado por esse trabalho, sua meta é projetar um reator que produza a concentração máxima possível deste produto, representado como CP (em mol/L), com um comprimento mínimo do reator, L, em metros, enquanto consome a maior quantidade possível do reagente CA (em mol/L). Para alcançar esse objetivo, você identificou a função que descreve o comportamento da reação química envolvida no processo do reator tubular, conforme mostrada abaixo. Qual é o ponto ótimo dessa função e que resultados podem ser obtidos? CP(CA, L) = -(CA-1,5)² - (L - 2)² + 9,5 |
Fonte: elaborado pelos autores, 2023.
Além disso, para resolver o questionário, os alunos foram encorajados a utilizar o Microsoft Excel e a linguagem Python. Dessa maneira, além de abordar conceitos introdutórios nesta fase, avaliou-se também o conhecimento prévio dos alunos sobre as ferramentas computacionais escolhidas para a presente pesquisa.
Figura 1 – Gráfico referente à questão 1 do questionário
Fase 2: Domínio das ferramentas e estratégias resolutivas
Durante a fase 2 da pesquisa, considerando processos relacionados ao uso de extratores, foi analisada a otimização do lucro. Ambos os problemas foram extraídos de Perlingeiro (2005) e envolvem a recuperação de AB contido em uma solução aquosa, utilizando B como solvente. No primeiro problema, o sistema contém apenas um extrator, enquanto no segundo problema, há dois extratores em série. Os esquemas dos dois problemas estão apresentados nas Figuras 2 e 3.
Figura 2 – Recuperação do ácido benzóico através de um único extrator
Fonte: adaptada de Perligeiro (2005).
Figura 3 – Recuperação do ácido benzóico através de extratores em série
Fonte: adaptada de Perligeiro (2005).
As variáveis envolvidas e os modelos matemáticos e econômicos estão apresentadas nas Tabelas 1 e 2. Durante esta etapa, o processo de extração foi descrito e os discentes foram frequentemente questionados não apenas a respeito do processo como um todo, mas também em relação aos modelos apresentados nos problemas. No entanto, entender como funciona a operação unitária de extração e compreender como os modelos foram desenvolvidos são objetivos complementares desta fase, pois o foco principal foi realizar a otimização da FOB em cada um dos problemas apresentados utilizando o Microsoft Excel e o Python. Esse processo foi realizado em sala de aula de maneira coletiva, objetivando fazer com que os estudantes compreendam as limitações dos métodos analíticos de otimização, assim como revisem ou aprendam a manusear as ferramentas computacionais escolhidas, à medida que as funções utilizadas nas planilhas e nos códigos foram analisadas durante a resolução compartilhada desses problemas em sala de aula.
Tabela 1 – Descrição matemática e organização das informações do problema da Figura 2
|
Especificações |
Parâmetros |
Modelo matemático |
Avaliação econômica |
Balanço de informação |
|
Q = 10.000 kg/h |
k = 4 |
Qx0 – Qx – Wy = 0 |
R = pABWy |
Ngl = Nin – Nei – Nep |
|
x0 = 0,02 kg AB/kgA |
pAB = 0,4$/kg |
y – kx = 0 |
C = pBW |
Ngl = 5 – 2 – 2 = 1 |
|
|
pB = 0,01$/kg |
|
L = R - C |
|
Fonte: adaptada de Perlingeiro (2005).
Tabela 2 – Descrição matemática e organização das informações do problema da Figura 3
|
Especificações |
Parâmetros |
Modelo matemático |
Avaliação econômica |
Balanço de informação |
|
Q = 10.000 kg/h |
k = 4 |
Q(x0 – x1) – W1y1 = 0 |
R = pAB(W1y1 – W2y2) |
Ngl = Nin – Nei – Nep |
|
x0 = 0,02 kg AB/kgA |
pAB = 0,4$/kg |
y1 – kx1 = 0 |
C = pB (W1 + W2) |
Ngl = 8 – 4 – 2 = 2 |
|
|
pB = 0,01$/kg |
Q(x1 – x2) – W2y2 = 0 |
L = R - C |
|
|
|
|
y2 – kx2 = 0 |
|
|
Fonte: adaptada de Perlingeiro (2005).
Fase 3: Etapa de projeto
Na etapa final da pesquisa, os alunos foram desafiados com um problema mais complexo, inspirado nos dados apresentados por Adjiman, Androulakis e Floudas (1998). Esses dados descrevem um algoritmo de otimização global aplicado a diversos problemas de Engenharia Química, incluindo um problema de rede de trocadores de calor descrito por Avriel & Williams (1971). Este problema específico foi escolhido como o ponto central desta fase da pesquisa, e sua ilustração está apresentada na Figura 4.
Figura 4 – Problema de projeto de rede de trocadores de calor
Fonte: adaptada de Avriel & Williams (1971).
Nesse problema, o objetivo consiste em elevar a temperatura de uma corrente de fluido frio de 100°F para 500°F utilizando três correntes com temperaturas distintas (300°F, 400°F e 600°F) em um sistema contendo três trocadores de calor em série. Adjiman, Androulakis e Floudas (1998) realizaram a otimização deste problema minimizando a área de transferência de calor global. Dessa forma, os alunos foram encarregados de replicar os dados apresentados nesse trabalho utilizando o Microsoft Excel e o Python. A formulação matemática do problema é apresentada abaixo.
min f = A 1 + A 2 + A 3
s.t. 0,0025(T 1 + t 12 ) – 1 ≤ 0,
0,0025(– T 1 + T 2 + t 22 ) – 1 ≤ 0,
0,01(– T 2 + t 32 ) – 1 ≤ 0,
100A 1 – A 1 t 12 + 833,33252T 1 – 83333,333 ≤ 0,
A 2 T 1 – A 2 t 22 – 1250T 1 + 1250T 2 ≤ 0,
A 3 T 2 – A 3 t 32 – 2500T 2 + 1250000 ≤ 0,
100 ≤ A 1 ≤ 10000,
1000 ≤ A 2 , A 3 ≤ 10 000,
10 ≤ T 1 , T 2 , t 12 , t 22 , t 32 ≤ 1000.
RESULTADOS E DISCUSSÃO
Avaliação da atividade introdutória
Na Tabela 3 são apresentadas as correções realizadas no questionário que compôs a fase 1 da pesquisa. No primeiro item, uma questão objetiva envolvendo conceitos básicos relacionados à otimização, a turma obteve um desempenho abaixo do esperado, com uma média aritimética de acertos de 42,86%. No segundo item, uma questão exclusivamente de cálculo, o desempenho foi bastante satisfatório, com apenas um dos discentes não respondendo corretamente devido a erros de matemática básica. Entretanto, a sequência resolutiva do método analítico de determinação de máximos e mínimos para funções univariadas foi corretamente seguida por todos da turma.
Nas questões de aplicação (itens 3 e 4), foram identificados problemas comuns em algumas resoluções, como erros de matemática básica e resoluções incompletas. Os discentes aplicaram as condições necessárias no método analítico, mas negligenciaram as condições suficientes para a determinação de extremos tanto para funções univariadas quanto para funções multivariadas. Apesar disso, a média aritimética de acertos na questão 3 se manteve alta (90,00%), enquanto na questão 4, foi mais baixa (69,29%), o que é explicado pelo nível de complexidade dessa questão.
Tabela 3 – Correção da atividade proposta na fase 1 da pesquisa
|
Discente |
Questão 01 (%) |
Questão 02(%) |
Questão 03 (%) |
Questão 04 (%) |
|
1 |
0 |
100 |
70 |
0 |
|
2 |
0 |
100 |
80 |
70 |
|
3 |
100 |
80 |
100 |
75 |
|
4 |
0 |
100 |
100 |
60 |
|
5 |
100 |
100 |
100 |
80 |
|
6 |
100 |
100 |
80 |
100 |
|
7 |
0 |
100 |
100 |
100 |
|
Média de acertos |
42,86 |
97,14 |
90,00 |
69,29 |
Fonte: elaborada pelos autores, 2024.
Conforme mencionado, foi aberta a possibilidade de utilizar as ferramentas Microsoft Excel e Python para avaliar as habilidades prévias da turma. Como demonstra o Gráfico 1, quatro dos sete alunos (57,14%) optaram por realizar os cálculos manualmente, utilizando o método analítico tradicional. Quanto à questão 4, houve uma leve preferência pelo uso de ferramentas computacionais: dois alunos (28,57%) utilizaram Python e um aluno (14,29%) optou pelo Excel.
Na fase 1 do estudo, foram observados erros conceituais, os quais foram abordados ao longo das aulas. O foco principal dessa fase foi a avaliação dos conhecimentos prévios dos alunos e a detecção de deficiências em relação a conceitos que os alunos já possuíam, provenientes de disciplinas como Cálculo Diferencial e Integral.
Além disso, foi observado o método de resolução utilizado pelos alunos nas tarefas propostas. Em contextos de engenharia prática, a solução por meio de métodos analíticos, sem o suporte computacional, é impraticável. Essa questão foi discutida durante a fase 2 do estudo, na qual problemas reais foram apresentados com o objetivo de questionar a preferência dos alunos por abordagens manuais na resolução de problemas de otimização.
Resolução coletiva dos problemas de otimização paramétrica propostos
Durante um período de aproximadamente duas semanas, os problemas apresentados nas Figuras 2 e 3 foram abordados coletivamente em sala de aula utilizando as ferramentas mencionadas. Foi observada a familiaridade dos alunos com o uso do Excel, o que era esperado, dado que eles têm experiência prévia com essa ferramenta desde o início da graduação, especialmente em disciplinas experimentais. No entanto, foi notada uma dificuldade significativa em relação ao uso da linguagem Python.
Gráfico 1 – Método de resolução utilizados pelos discentes na fase 1
Fonte: elaborado pelos autores, 2024.
Apenas dois dos estudantes demonstraram ter conhecimentos suficientes em linguagem de programação para desenvolver algoritmos de otimização. Diante disso, foi dedicada atenção especial ao ensino da sintaxe básica da linguagem Python e das principais funções de otimização da biblioteca SciPy. Para facilitar a compreensão, foram explicados detalhes da sintaxe da linguagem à medida que os códigos foram desenvolvidos em sala de aula. Os códigos desenvolvidos durante as aulas estão apresentados abaixo.
#..........Problema do extrator simples apresentado na Figura 2
from scipy.optimize import minimize
# Defina a função objetivo L
def objective_function(x):
pab = 0.4 # Defina o valor de pab
pb = 0.01 # Defina o valor de pb
k = 4.0 # Defina o valor de k
Q = 10000 # Defina o valor de Q
x0 = 0.02 # Defina o valor de x0
y = k * x
W = Q * (x0 - x) / y
R = pab * W * y
C = pb * W
return C – R # Observe a inversão da função para minimização
# Condições de restrição
bounds = [(0, 0.02)] # Limitando x entre 0 e 0,02
# Condições iniciais
x0 = [0.01] # Valor inicial de x
# Realize a otimização com restrições
result = minimize(objective_function, x0, bounds=bounds, method="CG")
# A solução ótima para x estará em result.x
optimal_x = "{:.6f}".format(result.x[0])
min_value = "{:.6f}".format(-result.fun)
print("Solução ótima para x:", (optimal_x))
print("Valor mínimo da função L:", (min_value))
#...........Problema dos extratores em série apresentado na Figura 3
from scipy.optimize import differential_evolution
def objective_function(x):
x1, x2 = x
pab = 0.4
pb = 0.01
k = 4
Q = 10000
x0 = 0.02
y1 = k * x1
W1 = Q * (x0 - x1) / (k * x1)
y2 = k * x2
W2 = Q * (x1 - x2) / (k * x2)
R = pab * (W1 * y1 + W2 * y2)
C = pb * (W1 + W2)
return C - R # Observe a inversão da função para minimização
# Defina os limites para x1 e x2
bounds = [(0, 0.02), (0, 0.02)]
result = differential_evolution(objective_function, bounds, seed=42
print("Resultado da otimização:")
print("x1:", result.x[0])
print("x2:", result.x[1])
print("Mínimo valor da função:", -result.fun)
Problemas mais complexos foram selecionados intencionalmente para conduzir os alunos à compreensão de que ferramentas computacionais são indispensáveis na resolução de problemas reais de otimização. Os alunos também puderam perceber que alguns problemas, devido ao seu nível de complexidade, podem não ser facilmente resolvidos utilizando apenas a função Solver do Excel. Isso ficou evidente durante a análise do problema dos extratores em série. Essa discussão foi cuidadosamente conduzida para incentivar o interesse dos alunos no estudo de linguagens de programação. As Figuras 5 e 6 detalham a resolução dos problemas abordados nesta fase utilizando a ferramenta Solver.
Análise do projeto final
Seguindo a estrutura da turma definida na metodologia adotada para a condução da disciplina e do projeto final, que compõe a fase 3 desta pesquisa, um total de 4 alunos participaram. O trabalho demonstrou um alto nível de qualidade, recebendo a nota 8,0 na avaliação final. A resolução do problema relacionado à rede de trocadores de calor foi realizada de maneira precisa tanto no Python quanto no Excel. O programa desenvolvido pelos estudantes está apresentado abaixo, enquanto as configurações adotadas na planilha estão ilustradas na Figura 7.
Figura 5 – Resolução do problema do extrator simples através do Microsoft Excel
Fonte: elaborada pelos autores, 2024.
Figura 6 – Resolução do problema dos extratores em série através do Microsoft Excel
Fonte: elaborada pelos autores, 2024.
Ainda é importante ressaltar que os alunos propuseram uma mudança nas variáveis apresentadas no problema, para facilitar a elaboração do código. Essa mudança é detalhada no código abaixo e também é usada na resolução do problema via Excel.
# Seleção das bibliotecas
# Numpy para trabalhar com os dados como vetores
# Scipy.optimize para otimizar a função através dos métodos da evolução diferencial e restrição não linear
"""
Considerando
x1 = A1 x5 = T2
x2 = A2 x6 = t12
x3 = A3 x7 = t22
x4 = T1 x8 = t32
"""
import numpy as np
from scipy.optimize import differential_evolution, NonlinearConstraint
# Definição da função objetivo que será minimizada para encontrar as áreas
def objective_function(x):
return x[0] + x[1] + x[2]
def constraint_ineq1(x):
return 0.0025 * (x[3] + x[5])-1
# Definição das restrições fornecidas para o problema
def constraint_ineq2(x):
return 0.0025 * (-x[3] + x[4] + x[6])-1
def constraint_ineq3(x):
return 0.01 * (x[7] - x[4])-1
def constraint_ineq4(x):
return 100 * x[0] - x[0] * x[5] + 833.33252*x[3] - 83333.333
def constraint_ineq5(x):
return x[1] * x[3] - x[1] * x[6] - 1250 * x[3] + 1250 * x[4]
def constraint_ineq6(x):
return x[2] * x[4] - x[2] * x[7] - 2500 * x[4] + 1250000
# Definição dos limites para cada variável do problema
bounds = [(100, 10000), (1000, 10000), (1000, 10000), (10, 1000), (10, 1000), (10, 1000), (10, 1000), (10, 1000)]
# Atribuição das restrições ao método da restrição não linear, utilizando o vetor para o limite inferior e zero para o limite superior
nonlinear_constraint_ineq1 = NonlinearConstraint(constraint_ineq1, lb=-np.inf, ub=0)
nonlinear_constraint_ineq2 = NonlinearConstraint(constraint_ineq2, lb=-np.inf, ub=0)
nonlinear_constraint_ineq3 = NonlinearConstraint(constraint_ineq3, lb=-np.inf, ub=0)
nonlinear_constraint_ineq4 = NonlinearConstraint(constraint_ineq4, lb=-np.inf, ub=0)
nonlinear_constraint_ineq5 = NonlinearConstraint(constraint_ineq5, lb=-np.inf, ub=0)
nonlinear_constraint_ineq6 = NonlinearConstraint(constraint_ineq6, lb=-np.inf, ub=0)
# Obtenção do resultado através do método da evolução diferencial
result = differential_evolution(objective_function, bounds, constraints=[nonlinear_constraint_ineq1, nonlinear_constraint_ineq2, nonlinear_constraint_ineq3, nonlinear_constraint_ineq4, nonlinear_constraint_ineq5, nonlinear_constraint_ineq6])
# Aqui serão mostrados os resultados obtidos com a otimização
print("Resultado da otimização:")
print("Função objetivo minimizada:", result.fun)
print("Variáveis otimizadas: x1, x2, x3, x4, x5, x6, x7, x8:", result.x)
Foram identificados alguns problemas no trabalho entregue pelos estudantes na fase 3, como a falta de detalhamento dos algoritmos utilizados nas ferramentas e problemas na formatação do texto enviado. No entanto, o objetivo principal, que era replicar os dados apresentados por Adjiman, Androulakis e Floudas (1998), foi alcançado com sucesso. Os dados da literatura e os dados gerados pelos alunos por meio do Python e do Excel estão apresentados na Tabela 4.
Figura 7 – Resolução do problema do projeto final pelos alunos utilizando o Microsoft Excel como ferramenta
Fonte: elaborada pelos autores, 2024.
Tabela 4 – Dados de Adjiman, Androulakis e Floudas (1998) e dados gerados pelos discentes
|
Fonte |
FOB |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
|
|
Adjiman, Androulakis e Floudas (1998) |
7049,25 |
579,29 |
1360,13 |
5109,92 |
182,01 |
295,60 |
217,90 |
286,40 |
395,60 |
|
|
Python |
7049,25 |
579,48 |
1358,78 |
5110,99 |
182,03 |
295,56 |
217,97 |
286,47 |
395,56 |
|
|
Microsoft Excel |
7049,25 |
579,31 |
1359,97 |
5109,97 |
182,02 |
295,60 |
217,98 |
286,42 |
395,60 |
|
Fonte: elaborada pelos autores, 2024.
Na Tabela 5 está apresentado o Erro Absoluto Médio (EAM) relativo entre os valores observados na literatura e os valores calculados pelos alunos utilizando as duas ferramentas computacionais. Os erros demonstram desvios inferiores a 0,1%, garantindo confiabilidade nos dados calculados para o problema da rede de trocadores de calor (Schneider; Xhafa, 2022).
Tabela 5 – EAM relativo das variáveis calculadas em comparação com os dados da literatura
|
Ferramenta |
FO (%) |
x1 (%) |
x2 (%) |
x3 (%) |
x4 (%) |
x5 (%) |
x6 (%) |
x7 (%) |
x8 (%) |
|
Python |
0,0000 |
0,0323 |
0,0993 |
0,0209 |
0,0121 |
0,0135 |
0,0312 |
0,0251 |
0,0101 |
|
Microsoft Excel |
0,0000 |
0,0029 |
0,0116 |
0,0010 |
0,0044 |
0,0003 |
0,0376 |
0,0056 |
0,0003 |
Fonte: elaborada pelos autores, 2024.
CONSIDERAÇÕES FINAIS
A evolução dos alunos foi claramente observada ao longo do desenvolvimento da metodologia adotada neste trabalho. A segmentação do ensino de otimização paramétrica em níveis distintos, progressivamente crescentes em complexidade e complementares, revelou-se uma estratégia eficaz para o ensino desse conteúdo.
A verificação dos conhecimentos prévios na fase 1 indicou o melhor caminho metodológico a ser seguido. Além disso, a análise de problemas reais realizada na fase 2, além de desenvolver o senso de estratégias resolutivas, serviu como um minicurso de Python e Excel aplicados à otimização. Essas etapas construíram a base necessária para que os alunos pudessem prosseguir satisfatoriamente para a última fase do projeto.
Os resultados obtidos demonstraram que o Python e o Microsoft Excel podem ser integrados efetivamente no ensino de otimização no nível de graduação em Engenharia Química. Os estudantes tendem a preferir ferramentas mais intuitivas, como planilhas, durante o curso de graduação. No entanto, problemas mais complexos exigem o uso de ferramentas mais robustas, como linguagens de programação. Assegurar que os alunos incorporem essas duas ferramentas à sua "bagagem de engenheiro" é uma estratégia que, sem dúvida, deve ser valorizada nos currículos de graduação em Engenharia Química.
REFERÊNCIAS
ADJIMAN, Claire S.; ANDROULAKIS, Ioannis. P.; FLOUDAS, Christodoulos. A. A global optimization method, αBB, for general twice-differentiable constrained NLPs. Implementation and computational results. Computers & Chemical Engineering, v. 22, n. 9, p. 1159-1179, ago. 1998. DOI: https://doi.org/10.1016/S0098-1354(98)00218-X. Disponível em: https://www.sciencedirect.com/science/article/abs/pii/S009813549800218X. Acesso em: 19. set. 2023.
AVRIEL, Mordecai; WILLIAMS, Adrian C. An extension of geometric programming with applications in engineering optimization. Journal of Engineering Mathematics, v. 5, n. 2, p. 187-194, abr. 1971. DOI: https://doi.org/10.1007/BF01535411. Disponível em: https://link.springer.com/article/10.1007/BF01535411. Acesso em: 21 set. 2023.
BRIONES, Laura; ESCOLA, Jose María. Application of the Microsoft Excel Solver tool in the solution of optimization problems of heat exchanger network systems. Education for Chemical Engineers , v. 26, p. 41-47, jan. 2019. DOI: https://doi.org/10.1016/j.ece.2018.10.003. Disponível em: https://www.sciencedirect.com/science/article/pii/S1749772818300125. Acesso em: 01 out. 2023.
CACCAVALE, Fiammetta; GARGALO, Carina Loureiro da Costa Lira; GERNAEY, Krist V.; KRÜHNE, Ulrich. SPyCE: a structured and tailored series of Python courses for (bio)chemical engineers. Education for Chemical Engineers, v. 45, p. 90-103, out. 2023. DOI: https://doi.org/10.1016/j.ece.2023.08.003. Disponível em: https://www.sciencedirect.com/science/article/pii/S1749772823000404. Acesso em: 07 jan. 2024.
DOMÍNGUEZ, Juan Carlos; ALONSO, Maria Virginia; GONZÁLEZ, Emilio José; GUIJARRO, M. Isabel; MIRANDA, Ruben; OLIET, Mercedes; RIGUAL, Victoria; TOLEDO, Jose M.; VILLAR-CHAVERO, M. Mar; YUSTOS, Pedro. Teaching chemical engineering using Jupyter notebook: problem generators and lecturing tools. Education for Chemical Engineers , v. 37, p. 1-10, out. 2021. DOI: https://doi.org/10.1016/j.ece.2021.06.004. Disponível em: https://www.sciencedirect.com/science/article/pii/S1749772821000397. Acesso em: 30 out. 2023.
FERREIRA, Eugénio Campos; LIMA, Ricardo; SALCEDO, Romualdo. Spreadsheets in chemical engineering education - A tool in process design and process integration. International Journal of Engineering Education, Grã-Bretanha, v. 20, n. 6, p. 928-938, jan. 2004. Disponível em: https://sigarra.up.pt/fcnaup/en/PUB_GERAL.PUB_VIEW?pi_pub_base_id=52905. Acesso em: 18 fev. 2025.
GOLMAN, Boris; YERMUKHAMBETOVA, Assiya. An Excel VBA‐based educational module for simulation and energy optimization of spray drying process. Computer Applications in Engineering Education, v. 27, n. 5, p. 1103-1112, ago. 2019. DOI: https://doi.org/10.1002/cae.22139. Disponível em: https://onlinelibrary.wiley.com/doi/10.1002/cae.22139. Acesso em: 29 set. 2023.
GOR, Gennady. Python for chemical engineers: an efficient approach to teach non-programmers to program. In: Spring ASEE Middle Atlantic Section Conference, Newark, New Jersey, abr. 2022. DOI: https://doi.org/10.18260/1-2--40065. Disponível em: https://peer.asee.org/40065. Acesso em: 07 jan. 2024.
INGUVA, Pavan; BHUTE, Vijesh J.; CHENG, Thomas Nok Him; WALKER, Pierre J. Introducing students to research codes: a short course on solving partial differential equations in Python. Education for Chemical Engineers , v. 36, p. 1-11, jul. 2021. DOI: https://doi.org/10.1016/j.ece.2021.01.011. Disponível em: https://www.sciencedirect.com/science/article/abs/pii/S1749772821000117. Acesso em: 28 set. 2023.
MA, Liang; MA, Ruina; CHABLAT, Damien; BENNIS, Fouad. Human arm simulation for interactive constrained environment design. International Journal on Interactive Design and Manufacturing, v. 7, n. 1, p. 27-36, abr. 2013. DOI: https://doi.org/10.1007/s12008-012-0162-z. Disponível em: https://link.springer.com/journal/12008. Acesso em: 14 set. 2023.
PERLINGEIRO, Carlos Augusto G. Engenharia de processos: análise, simulação e síntese de processos químicos. São Paulo, Brasil: Blucher, 2005.
RUDD, Dale F.; WATSON, Charles. C. Strategy of process Engineering. Nova York, United States: John Wiley & Sons, 1968.
SCHNEIDER, Patrick; XHAFA, Fatos. Anomaly detection and complex event processing over IoT Data Streams: with application to eHealth and patient data monitoring. Elsevier, 2022. Disponível em: https://www.sciencedirect.com/book/9780128238189/anomaly-detection-and-complex-event-processing-over-iot-data-streams. Acesso em: 08. out. 2024.
SEIDER, Warren D.; LEWIN, Daniel R.; SEADER, J. D.; WIDADGDO, Soemantri; GANI, Rafiqul; NG, Ka Ming. Product and process design principles: synthesis, analysis and evaluation. 4. ed. New York, United States: Wiley, 2016.
TEPPAITOON, Wittaya. Solving L-L extraction problems with Excel spreadsheet. ChE classroom, v. 50, n. 3, ago. 2016. Disponível em: file:///C:/Users/zulmiram/Downloads/perrycollins,+Teppaitoon_Summ16_GALLEY-1.pdf. Acesso em: 18 fev. 2025.
UDUGAMA, Isuru A.; ATKINS, Martin; BAYER, Christoph; CARSON, James; DIKICIOGLU, Duygu; GERNAEY, Krist. V.; GLASSEY, Jarka; TAYLOR, Mathew; YOUNG, Brent R. Digital tools in Chemical Engineering education: the needs and the desires. Education for Chemical Engineers, v. 44, p. 63-70, jul. 2023. DOI: https://doi.org/10.1016/j.ece.2023.05.002. Disponível em: https://www.sciencedirect.com/science/article/abs/pii/S1749772823000192. Acesso em: 12 fev. 2024.
WHITFIELD, Clifford A.; WEST, Dustin W.; TOMS, Lowell; MERRIL, John A. A first-year design project software tool to emphasize problem solving with computer programming in the design process. In: ASEE Annual Conference and Exposition, San Antonio, Texas, jun. 2012. DOI: https://doi.org/10.18260/1-2--20807. Disponível em: https://peer.asee.org/20807. Acesso em: 21 dez. 2023.
WONG, Kelvin W. W.; BARFORD, John Patrick. Teaching Excel VBA as a problem solving tool for chemical engineering core courses. Education for Chemical Engineers, v. 5, n. 4, p. 72-77, dez. 2010. DOI: https://doi.org/10.1016/j.ece.2010.07.002. Disponível em: https://www.sciencedirect.com/science/article/abs/pii/S1749772810000084. Acesso em: 08 jan. 2024.
Francinelson Pontes do Carmo
Mestrando em Engenharia Química pela Universidade Federal do Rio Grande do Norte (UFRN), Engenheiro Químico formado pela mesma universidade e Licenciado em Matemática. Possui mais de 6 anos de experiência docente e atuou em diversos setores, como aterros sanitários e indústrias de saneantes. Atualmente, atua como analista de qualidade na Solar Coca-Cola.
francinelson.pontes.018@ufrn.br
Vanja Maria de França Bezerra
Doutora em Engenharia Química pela Universidade Estadual de Campinas (UNICAMP), Mestre em Ciência dos Materiais pelo Instituto Militar de Engenharia (IME) e Engenheira Química pela Universidade Federal do Rio Grande do Norte (UFRN). Atualmente é docente na UFRN e referência na área de ciência dos materiais, fluido-dinâmica computacional e modelagem e simulação de processos químicos.
vanja.franca@ufrn.br
|
Como citar este documento – ABNT CARMO, Francinelson Pontes do; BEZERRA, Vanja Maria de França. Integrando Python e Microsoft Excel no ensino de otimização paramétrica em Engenharia de Processos. Revista Docência do Ensino Superior, Belo Horizonte, v. 15, e052342, p. 1-22, 2025. DOI: https://doi.org/10.35699/2237-5864.2025.52342. |
Rev.
Docência Ens. Sup., Belo Horizonte, v. 15, e052342, 2025