Optimización de un bioproceso
Resumen
En esta actividad se le presenta al estudiantado un modelo matemático para un proceso, como por ejemplo la producción de una proteína recombinante (Lee, J., & Ramirez, W. (1994). Optimal fed-batch control of induced foreign protein production by recombinant bacteria. AIChE Journal, 40(5), 899-907.). Con base en este modelo se le pide que realice una simulación del procesos en Simulink, y en segundo lugar que defina una función objetivo y, con base en esta, implemente un método de optimización en Matlab, el cual llama al modelo en Simulink para encontrar un óptimo. El resultado es que se aprovecha la facilidad de implementación de modelos en Simulink con la flexibilidad de Matlab para implementar cualquier tipo de algoritmo de optimización.
Contexto
]Est actividad se aplica a estudiantes del último año de la carrrera de Ingeniería Química en la Universidad de Costa Rica. En cursos previos ya han tenido experiencia con Matlab/Simulink, así que en este proyecto se explora la integración de ambos y su uso en la solución de un problema complejo.
Objetivos de la Actividad
Como objetivo que se busca es que cada estudiante logre implementar una metodología de optimización para un sistema complejo, partiendo de un modelo de múltiples ecuaciones diferenciales.
Materiales de Enseñanza
La mecánica de la actividad es de la siguiente manera:
1. Implementar la simulación del sistema en cuestión utilizando Simulink. Com,o ejemplo se puede utilizar el siguiente modelo: Lee, J., & Ramirez, W. (1994). Optimal fed-batch control of induced foreign protein production by recombinant bacteria. AIChE Journal, 40(5), 899-907.
2.En Simulink debe revisarse el modelo, comparando sus resultados con los reportados en el artículo, de tal forma que se verifique la correcta implementación.
3. Para ese modelo debe formularse una función objetivo, como ejemplo puede verse la que viene en el artículo, pero se puede plantear cualquier otra en función de lo que se quiera lograr.
4. En Matlab debe implementarse un método de optimización, por ejemplo, utilizando algoritmos genéticos.
5. La función objetivo implementada en Matlab debe llamar al modelo, implementado en Simulink, mediante la función sim, de tal forma que se puede navegar por el espacio solución en busca del óptimo.
Este problema se podría implementar utilizando Xcos/SciLab, sin embargo, la comunicación entre Xcos (equivalente a Simulink) y SciLab (equivalente a Matlab) es muy lenta, tanto que el paso limitante de tiempo no es el método de optimización sino la comunicación entre Xcos y SciLab. Es por esto que se prefiere utilizar Simulink/Matlab.
Notas para los Educadores usando la Actividad
Es necesario evaluar el nivel de Matlab y Scilab del estudiantedo previo a la actividad.
Evaluación
Se evalúan 3 cosas, principalmente:
1. La correcta implementación del modelo en Simulink, esto se evalúa mediante la comparación de los resultados con respecto a los reportados en el artículo.
2. La correcta integración Matlab/Simulink. Esto se evalúa mediante la revisión de las variables utilizadas y cómo estas se gestionan para que el método de optimización efectivamente recolecte los resultados de la simulación y pase a esta los nuevos valores para explorar el espacio solución.
3. La correcta implementación del método de optimización y su ejecución. Esto se evalúa analizando la evolución del valor de la función objetivo y la lógica de la programación.
Recursos adicionales
Lee, J., & Ramirez, W. (1994). Optimal fed-batch control of induced foreign protein production by recombinant bacteria. AIChE Journal, 40(5), 899-907.
Esta actividad fue creada como parte del Taller con MATLAB Septiembre 2023.