VOLUME 14

2024

ISSN: 2237-5864


Atribuição CC BY 4.0 Internacional

Acesso Livre


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 ProcessosShape1

Integrando Python y Microsoft Excel en la enseñanza de la optimización paramétrica en Ingeniería de ProcesosShape2

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

Fonte: Ma et al. (2013).

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

Shape3

Fonte: adaptada de Perligeiro (2005).



Figura 3 Recuperação do ácido benzóico através de extratores em série

Shape4

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

Shape5

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

Shape6

Fonte: elaborada pelos autores, 2024.

Figura 6 – Resolução do problema dos extratores em série através do Microsoft Excel

Shape7

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

Shape8



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.003Disponí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.004Disponí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.011Disponível em: https://www.sciencedirect.com/science/article/abs/pii/S1749772821000117Acesso 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 16