Está en la página 1de 19

UNIVERSIDAD DE GUANAJUATO

CAMPUS GUANAJUATO
DIVISIÓN DE CIENCIAS NATURALES Y EXACTAS
DEPARTAMENTO DE INGENIERÍA QUÍMICA
LICENCIATURA EN INGENIERÍA QUÍMICA

PRÁCTICA 3. MODELADO Y OPTIMIZACIÓN DE


PROCESOS. PROGRAMACIÓN NO LINEAL SIN
RESTRICCIONES.
REPORTE

UDA: Optimización de procesos (IILI04063)

Profesor: Dr. Fernando Israel Gómez Castro


EQUIPO: Barrón Brambila Aldo
Pérez Medina Víctor
FECHA: 17 de marzo del 2020
Introducción

El modelaje matemático es una de las herramientas más importantes con las que
cuenta un ingeniero para poder resolver problemas de la vida diaria de manera
exacta, basada en fundamentos físicos y matemáticos. La complejidad de dichos
modelos dependerá directamente de la naturaleza del problema, así como de los
resultados esperados.
La mejor forma de plantear y resolver estos modelos es con el método de
programación matemática, ya que permite la evaluación de diferentes
posibilidades y resultados, mediante la selección adecuada de variables
representativas del problema, las cuales suelen ser de carácter cuantitativo.
Existen diferentes tipos de problemas de programación matemática. Uno de ellos,
por ejemplo, es el problema de programación lineal, el cual es un problema
caracterizado por restricciones lineales, además de que todas sus variables son
continuas.
También existen otros tipos de problemas de programación matemática, como por
ejemplo los problemas de programación no lineal, los cuales son problemas cuyas
restricciones y funciones representativas no son funciones lineales. El análisis de
este tipo de problemas es muy importante, pues en la realidad, no todos los
problemas podrán ser descritos por modelos lineales.
Entonces, podemos definir los problemas de programación no lineal a todos
aquellos problemas cuyas restricciones y funciones características no sean
funciones lineales.
Dado que la resolución de los modelos matemáticos de un problema puede
resultar ser un problema matemático muy complejo, es necesario hacer uso de
herramientas computacionales que nos faciliten realizar los cálculos en un periodo
de tiempo corto. Un software muy utilizado hoy en día es el software GAMS.
Para obtener los resultados, GAMS utiliza diferentes procedimientos de solución
de acuerdo con el tipo de problema que se esté presentando. Por ejemplo, para
problemas de programación lineal, GAMS cuenta con diferentes procedimientos
de solución, por ejemplo, el método CPLEX.
Para resolver problemas de tipo programación no lineal, cuenta con otros
resolvedores como CONOPT y BARON. Para este tipo de problemas, es
importante hacer la selección del resolvedor adecuado, ya que no todos los
métodos convergen a las soluciones, y eso dependerá de la naturaleza del
problema.

1
GAMS, al ser un software especializado en resolución de problemas de
optimización, cuenta en su base de datos una cantidad grande de métodos de
solución para las distintas clasificaciones de los problemas de programación
matemática. Dentro de su base de datos podemos encontrar decenas de métodos
de solución. En la tabla 1 podemos observar algunos ejemplos.
Tabla 1: Algunos resolvedores del software GAMS

Fuente: GAMS official site: https://www.gams.com/latest/docs/S_MAIN.html. Recuperada el 14 de marzo del


20.

Para la solución de problemas de PNL, GAMS cuenta con aproximadamente 20


métodos de solución distintos, sin embargo, uno de los más utilizados para
resolver este tipo de problemas es el método de BARON.
El navegador de optimización de ramificación y reducción (BARON, por sus siglas
en inglés) es un resolvedor para encontrar la solución global de problemas del tipo
NLP y MINLP. La ventaja que tiene este resolvedor sobre otros es que, otros
algoritmos te aseguran la convergencia solo bajo ciertas circunstancias de
concavidad, mientras que BARON usa un algoritmo basado en los límites
establecidos, por lo que asegura encontrar el óptimo global en la región factible.
Esto quiere decir que BARON tiene que resolver expresiones no lineales con
limites superiores e inferiores. BARON implementa algoritmos de tipo ramificado
con un análisis de intervalos y para reducir los rangos de las variables
características.
A continuación, analizaremos dos casos de estudio típicos para ejemplificar la
efectividad del método de BARON previamente cargado en el software GAMS,
para la resolución de problemas de programación no lineal.

2
Metodología
Planteamiento:
Antes de comenzar con la resolución en el software GAMS, es importante analizar
los casos de estudio, determinar cuáles son las posibles restricciones, cual es el
objetivo, si es minimización, maximización y determinar cuáles serán las variables
de nuestro problema en cuestión.

Problema 1:
Haciendo el análisis del problema, dado a que es un parámetro que nos permiten
comprobar, podemos definir la demanda química de oxígeno inicial como la única
estricción del problema. Por lo tanto, este problema sólo contará con una
restricción para ambos incisos y 4 variables, que son, demanda química de
oxígeno, concentración de hierro y concentración de peróxido, además de la
variable del tiempo. Aunado a esto, también la función objetivo, la cual es descrita
durante el planteamiento del problema.
Restricciones: 1 (CODo)
Variables: 4 (COD, CFE, CPER, t)
Función objetivo: Max Z.

Problema 2:
De forma similar al problema 1, se analiza el segundo caso de estudio para
determinar cuáles serán las restricciones y las variables características del
problema, así como la representación de la función objetivo del caso analizado.
El caso de estudio nos proporciona ciertas variables que ya tienen un valor
definido, por lo que las podemos considerar como constantes, sin embargo, para
poder hacer un análisis de sensibilidad adecuado, dichas variables se definirán
como restricciones caracterizadas por los valores proporcionados en el problema.
Haciendo esto, solo tendremos 2 variables (capacidad y tamaño del barco) y 7
restricciones, además de la función objetivo:
Restricciones: 7 (a, cc, ci, cx,i , n, p)
Variables: 2 (q, t)
Función objetivo: Min Z.

Programación:
1. Cambiar el resolvedor del software.
Como ya se analizó, los casos de estudio a analizar en esta práctica sobre
problemas de programación no lineal, por lo que es necesario cambiar el

3
resolvedor del software GAMS. Para esto es necesario ir a la pestaña de
solvers y seleccionar la casilla de BARON/NLP, tal como se muestra en la
ilustración 1.

File>>Options>>Solvers>>BARON/NLP

Ilustración 1: Ventana de opciones, pestaña de resolvedores del software GAMS.

Se introduce a GAMS la información obtenida de la deducción de las ecuaciones y


la función objetivo para cada uno de los problemas.

Problema 1, inciso a)
1. Denominar el título del código.
$Title Practica3Remocion.
2. Realizar las separaciones pertinentes en el código.
*Título de separación

4
3. Definir las ecuaciones y restricciones del sistema.

equations Rest1, Fobj;

4. Definir las variables:

variables z, t,CFE,CPER,COD;

5. Una vez nombradas nuestras ecuaciones y variables escribir las


ecuaciones del modelo del problema

Rest1.COD=e=100;

6. De igual forma, es necesario escribir la función objetivo:

Fobj..z=e=-(20.602)+(1.14238*CFE)+(0.102791*CPER)+(0.138419*COD)
+(5.87343*t)-(0.0043153*(CFE**2))-(0.000406362*CFE*CPER)
-(0.000813263*CFE*COD)-(0.0222401*CFE*t)
-(0.0000252268*(CPER**2))-(0.0000666185*CPER*COD)
-(0.00462*CPER*t)-(0.0000277821*(COD**2))
-(0.00615258*COD*t)-(0.0165629*(t**2));

7. Definir los límites de las variables. Es necesario definir el rango operativo


de algunas variables para el sistema:

CFE.lo=13;
CPER.lo=100;
t.up=20;
t.lo=5;

8. Una vez anotadas nuestras ecuaciones, límites y demás, procederemos a


resolver el problema. Para realizar esto, necesitamos escribir el comando
de GAMS ‘model’, seguido del nombre seleccionado en el paso 1, además
de la simbología ‘/all/’:
model Nombre del código /all/;

9. Y por último escribimos el método de resolución que queremos que use


GAMS. Aquí tenemos que especificar el tipo de problema que es y qué tipo
de mejora se busca en la función objetivo. Para un problema de
programación lineal de minimización, se tiene que escribir:

solve Practica3Remocion using nlp maximizing z

5
Se repiten los pasos 5 – 9, pero con los diferentes valores de CODo
propuestos por el problema (100, 200, 300, 400).

Problema 1, inciso b)
Se repiten los pasos 1 – 9, únicamente se modifica el paso 7, el cual
determina los límites de las variables. Únicamente cambiamos el límite
superior de t a 15. Se prueba para los diferentes valores de CODo.

**En algunos casos la función estudiada arroja valores superiores a 100,


**esos valores físicamente son imposibles, por tanto, de ser necesario se
**propone poner una restricción con la cual obtendremos el tiempo en que
**se supone tendremos una remoción del 100%.
***
*z.up=100;

Problema 2, inciso a)
1. Denominar el título del código.
$Title Practica3Petrolero.
2. Realizar las separaciones pertinentes en el código.
*Título de separación
3. Definir las ecuaciones y restricciones del sistema.

equations Fobj, Ec1, Ec2, Ec3, Ec4, Ec5, Ec6, Ec7;

4. Definir las variables:

variables a, cc, ci, cx, i, n, p, q, t, z;

5. Una vez nombradas nuestras ecuaciones y variables escribir las ecuaciones


del modelo del problema. En este caso, son valores constantes expresados
en ecuaciones:

Ec1..a=e=0.20;
Ec2..cc=e=12.50;
Ec3..ci=e=0.5;
Ec4..cx=e=0.9;
Ec5..i=e=0.1;
Ec6..n=e=2;
Ec7..p=e=7000;

6. De igual forma, es necesario escribir la función objetivo:

6
Fobj..z=e=cc+ci+cx+(((2.09*(10**4))*(1/(t**.3017)))/(360))+
(((1.064*(10**6))*a*(t**.4925))/(52.47*q*360))+
(((4.242*(10**4))*a*(t**.7952))/(52.47*q*360))+
((1.813*i*p*((n*t+1.2*q)**.861))/(52.47*q*360))+
(((4.25*(10**3))*a*(n*t+1.2*q))/(52.47*q*360))+
(((5.042*(10**3))*(1/(q**.1899)))/(360))+
((0.1049*(q**.671))/(360));

7. Definir los límites de las variables. El límite inferior para las dos variables de
estudio no debe ser 0, en cuestión de cálculos se genera una
indeterminación, físicamente no es viable tener medidas nulas,
particularmente para este caso, tamaños de petroleros y capacidades de
producción. Se atiende la parte matemática se propone un valor superior a
0, además es necesario definir el tamaño máximo:

q.lo=1;
t.lo=1;
t.up=300000;

8. Una vez anotadas nuestras ecuaciones, límites y demás, procederemos a


resolver el problema. Para realizar esto, necesitamos escribir el comando de
GAMS ‘model’, seguido del nombre seleccionado en el paso 1, además de la
simbología ‘/all/’:
model Nombre del código /all/;

9. Y por último escribimos el método de resolución que queremos que use


GAMS. Aquí tenemos que especificar el tipo de problema que es y qué tipo
de mejora se busca en la función objetivo. Para un problema de
programación lineal de minimización, se tiene que escribir:

solve Practica3Petrolero using nlp minimizing z

Problema 2, inciso b)
Se repiten los pasos 1- 9, únicamente se modifica el paso 5, en el cual tendremos
que cambiar la restricción relacionada al precio del crudo, quedando de la
siguiente manera:
Ec2..cc=e=12.50*(1+0.12);

Problema 2, inciso c)
Se hace el mismo procedimiento que el inciso b), pero al ser un decremento, la
restricción queda como:

7
Ec2..cc=e=12.50*(1-0.08);

Resultados
Problema_1a)
Se ha realizado el ajuste de datos experimentales de un sistema de tratamiento de agua
con el fin de obtener una correlación que permita determinar el porcentaje de remoción de
contaminantes (Ret), medido en términos de la demanda química de oxígeno inicial
(CODo). La ecuación resultante del ajuste es la siguiente (Páramo-Vargas et al., 2017):

Donde Fe2+ es la concentración de fierro (mg/L), H2O2 es la concentración de peróxido


de hidrógeno (mg/L), COD es la demanda química de oxígeno (mg/L) y t es el tiempo de
tratamiento (min). El subíndice o indica las condiciones al inicio del tratamiento. (a)
Determine las condiciones bajo las cuales es posible obtener el porcentaje de remoción
máxima para cargas con COD0 de 100, 200 y 400 mg/L, si el tiempo máximo permisible
de tratamiento es de 20 minutos. Las concentraciones mínimas de peróxido y fierro son
de 100 y 13 mg/L, respectivamente. Asimismo, es necesario establecer un tiempo mínimo
de tratamiento de 5 minutos.

Tras resolver mediante el programa GAMS se obtuvo lo expresado en Tabla 2.


Tabla 2.- Resumen de datos obtenidos en GAMS [Datos con * representan un ajuste forzado a 100% de Re].

COD [mg/L] 100 100* 200 200* 400 400*


Fe [mg/L] 66.695 22.393 57.272 22.848 38.426 38.426
H2O2 [mg/L] 100 100 100 100 100 100
T [min] 20 19.201 20 19.768 20 20
Re [%] 110.816 100 105.812 100 96.437 96.437

Se sabe que hay tres casos de estudio, estos son los escenarios cuando COD
tiene valores de 100, 200, 400 mg/L. En dos de estos escenarios se obtienen
valores de remoción de contaminantes superiores a 100, lo que matemáticamente
es correcto, pero, en cambio físicamente no es viables. Al ser un porcentaje su
valor debe ser menor o igual a 100, valores superiores implicarían cantidades
negativas de materia puesto que su forma de cálculo es:
CODinicial −COD final
ℜt =
CODinicial

8
Se propuso hacer el análisis de los tres escenarios planteados, pero forzando a
una recuperación máxima de 100%, de lo cual se obtuvieron tiempos ‘óptimos’ de
operación.
*** Las ilustraciones presentadas a continuación fueron realizadas mediante la
implementación de un código de búsqueda de valores máximos de remoción,
siguiendo las condiciones descritas en el problema planteado. El programa fue
realizado en Matlab. La precisión de datos obtenidos fue sujeta al poder de cálculo
de los equipos con que contábamos. Se hizo lo posible para generar gráficos
representativos y significativos. ***

Ilustración 2.- Porcentajes de remoción de contaminantes.

En la Ilustración 2 podemos observar el comportamiento del porcentaje de


remoción con respecto al COD inicial, se percibe una disminución conforme mayor
sea la cantidad de demanda química de oxígeno. Con respecto al grafico en que
se forzan remociones máximas de 100, se aprecia claramente una disminución en
la remoción luego de que el COD presenta valores mayores a 320 mg/L.

9
Ilustración 3.- Tiempos óptimos de remoción.

El primer grafico de la Ilustración 3, en el cual no se ha ajustado la remoción,


sugiere que con los 20 minutos supuestos para el proceso se genera el mayor
porcentaje de remoción. Si consultamos de nuevo la ilustración 2, podemos
observar que se tiene recuperaciones inferiores al 100 pero mayores a 96 para
demandas químicas de oxigeno en el rango de 320 a 400 mg/L, solo en esos
casos se debería aumentar el tiempo de operación si se quisiera mayor remoción.
El segundo gráfico, con el ajuste, muestra que la remoción de la totalidad de
contaminantes se logra en tiempos inferiores a 20 minutos en el rango de
demanda química de 100 a 180 mg/L.

10
Ilustración 4.- Concentraciones iniciales de ion ferroso y peróxido de hidrogeno.
El primer par de gráficos en la Ilustración, que muestra el caso sin ajuste, muestra
las concentraciones de los iones que actúan como reactivos en el proceso. La
concentración del peróxido requerido es constante para todo el rango de demanda
de oxígeno estudiado, en cambio, la concentración de ion ferroso va en descenso
conforme la demanda de oxígeno aumenta.
El segundo par de gráficos, correspondiente al caso ajustado, confirma que la
cantidad de peróxido utilizado es constante independientemente de la cantidad de
demanda de oxígeno que se tenga. Pero la concentración de ion ferroso parte de
un valor cercano a 20 mg/L cuando COD inicial es 100 mg/L, permanece
constante conforme se aumenta COD hasta un valor 190 aproximadamente, a
partir el cual tiene un aumento paulatino hasta llegar a un valor máximo de 45
mg/L cuando COD es 330 mg/L. Conforme aumenta la demanda de oxígeno, por
encima de 330 mg/L, se ve una disminución de ion ferroso inicial en la remoción.
***Uso del programa en Matlab: ***
***[Remocion_20minutos.m]***

Problema_1b)

Para cada uno de los casos anteriores, ¿cómo se modifica el resultado si el tiempo
máximo de tratamiento se reduce a 15 minutos?

Tras resolver mediante el programa GAMS se obtuvo lo expresado en Tabla 2.

11
Tabla 3.- Resumen de datos obtenidos en GAMS [Datos con * representan un ajuste forzado a 100% de Re].

COD [mg/L] 100 200 400


Fe [mg/L] 79.579 70.156 51.310
H2O2 [mg/L] 100 100 100
T [min] 15 15 15
Re [%] 97.867 94.891 89.573

El porcentaje de remoción de
contaminantes en todos los
escenarios planteados se
encuentra en un rango de 89% a
98%, por tanto, los tres escenarios
son viables. Conforme sea mayor
la demanda química de oxígeno
inicial menor será el porcentaje de
remoción de contaminantes.

Ilustración 5.- Porcentaje de remoción de contaminantes.

En el tiempo máximo de operación


propuesto, de 15 min, se tienen
remociones significativas de
contaminantes. Como ya se ha
mencionado, conforme aumenta la
demanda de oxígeno la remoción
de logra menor grado de avance,
por lo que se podría extender mas
el tiempo de reacción si lo que se
desea una mejor remoción. Tal
acción pude ser ejecutada en
escenarios en que la cantidad de
COD sea mayor a 200 mg/L.
Ilustración 6.- Tiempo invertido en la remoción.

12
Ilustración 7.- Concentraciones iniciales de ion ferroso y peróxido de hidrogeno.
Los gráficos mostrados en Ilustración 7 son las concentraciones de los iones
‘reactivos’ al inicio de la remoción. La concentración de peróxido de hidrógeno es
constante independientemente de la demanda de oxígeno. Por su parte, el ion
ferroso requerido disminuye conforme la demanda de oxigeno aumenta, su rango
va de los 80 mg/L a 50 mg/L dentro de los casos de estudio planteados.
Haciendo una rápida comparación de resultados con respecto los valores vistos en
procesos de 20 minutos, se deduce que la reducción de tiempos de operación
afecta negativamente el porcentaje de remoción de contaminantes, y aumenta la
demanda de ion ferroso inicial. Por lo anterior queda a discusión el tema de que
tan efectivo se pretende sea la remoción, faltan datos de costos (operación y
materia prima) para concluir si es correcto alargar el tiempo de operación o no
hacerlo.
***Uso del programa en Matlab: ***
***[Remocion_15minutos.m]***

Problema_2a)

El costo del petróleo refinado al enviarse vía marítima desde el Estrecho de Malaca hasta
Japón en dólares por kilolitro ha sido modelado (Uchiyama, 1968) como la suma lineal de
los costos del petróleo crudo, el seguro, aduana, costos de carga y descarga, costos de
tubería submarina, costo de almacenamiento, costo del área del tanque, costo de
refinación y costo de carga del producto, como se presenta a continuación:

Donde:
a = cargos fijos anuales (0.20)

13
cc = precio del petróleo crudo, USD/kL (12.50)
ci = costo de seguro, USD/kL (0.50)
cx = costo de aduana, USD/kL (0.90)
i = interés (0.10)
n = número de puertos (2)
p = precio de terreno, USD/m2 (7000)
q = capacidad de la refinería, bbl/día
t = tamaño del petrolero, kL

Considerando los valores dados entre paréntesis, determine el costo mínimo del petróleo
refinado, así como el tamaño óptimo del petrolero y la capacidad óptima de la refinería, si
el tamaño máximo que puede tener el petrolero corresponde a 300,000 kL.

Tras plantear el modelo del sistema de estudio y resolver mediante el uso del
programa GAMS, se obtuvieron los datos mostrados en Tabla 4.

Tabla 4-. Condiciones de las variables para la minimización de costo del petróleo.

Costo de petróleo refinado Capacidad de la refinería Tamaño del petrolero


[dólares/kL] [bbl/día] [kL]
17.907 151630 300000

Para corroborar los datos arrojados por la optimización en GAMS se opto por graficar la
función objetivo. Se diseño el código en Matlab. Luego de varios intentos por ajustar el
rango de trabajo para observar el mínimo reportado, se sugirió tener los siguientes rangos
para la capacidad de la refinería y el tamaño del petrolero, [100000 200000] y [100000
300000] respectivamente.

Ilustración 8.- Variación del costo del petróleo refinado con respecto a la capacidad de la refinería y tamaño
del petrolero de transporte.

***Uso del programa en Matlab: ***

14
***[Costo_petroleo.m]***
Problema_2b)

Resuelva y analice los resultados si el precio del petróleo crudo se reduce en un 8% del
precio original.

Se realiza el ajuste a la función objetivo. Luego de resolver el modelo mediante el


uso del programa GAMS, se obtuvieron los datos mostrados en Tabla 5.

Tabla 5-. Condiciones de las variables para la minimización de costo del petróleo [Reducción del 8%].

Precio original Precio ajustado


Reducción del precio de [dólares/kL] [dólares/kL]
petróleo crudo en un 8% 12.50*(0.92) =
12.50 11.5
Costo de petróleo refinado Capacidad de la refinería Tamaño del petrolero
[dólares/kL] [bbl/día] [kL]
16.907 151630 300000

Para corroborar los datos arrojados por la optimización en GAMS se optó por graficar la
función objetivo. Se diseño el código en Matlab. Luego de varios intentos por ajustar el
rango de trabajo para observar el mínimo reportado, se sugirió tener los siguientes rangos
para la capacidad de la refinería y el tamaño del petrolero, [100000 200000] y [100000
300000] respectivamente.

Ilustración 9-. Variación del costo del petróleo refinado con respecto a la capacidad de la refinería y tamaño
del petrolero de transporte [Reducción del 8%].

***Uso del programa en Matlab: ***


***[Costo_petroleo_8R.m]***

15
Problema_2c)

Resuelva y analice los resultados si el precio del petróleo crudo aumenta un 12% del
precio original.

Se realiza el ajuste a la función objetivo. Luego de resolver el modelo mediante el


uso del programa GAMS, se obtuvieron los datos mostrados en Tabla 6.

Tabla 6-. Condiciones de las variables para la minimización de costo del petróleo [Reducción del 8%].

Precio original Precio ajustado


Aumento del precio de [dólares/kL] [dólares/kL]
petróleo crudo en un 12% 12.50*(1.12) =
12.50 14
Costo de petróleo refinado Capacidad de la refinería Tamaño del petrolero
[dólares/kL] [bbl/día] [kL]
19.407 151630 300000

Para corroborar los datos arrojados por la optimización en GAMS se optó por graficar la
función objetivo. Se diseño el código en Matlab. Luego de varios intentos por ajustar el
rango de trabajo para observar el mínimo reportado, se sugirió tener los siguientes rangos
para la capacidad de la refinería y el tamaño del petrolero, [100000 200000] y [100000
300000] respectivamente.

Ilustración 10-. Variación del costo del petróleo refinado con respecto a la capacidad de la refinería y tamaño
del petrolero de transporte [Aumento del 12%].

***Uso del programa en Matlab: ***


***[Costo_petroleo_12A.m]***

16
Luego de comparar los tres incisos propuestos se puede deducir que, el costo
mínimo de petróleo refinado se presenta bajo las mismas condiciones de
capacidad y tamaño dentro espacio de estudio planteado. Por tanto, se puede
decir que, si se continúa trabajando con la misma función para definir el costo de
petróleo, con las mismas condiciones planteadas, y solo con una variación en el
precio de costo de crudo, se presentara el valor mínimo de precio cuando el
tamaño del petrolero sea de 300000 kL y la capacidad de nuestra refinería ronde
los 151630 bbl/día. Además, se tendrá una variación del precio del petróleo
directamente proporcional a la variación del crudo.

Ilustración 11-. Costo del petróleo refinado en función de la variación del precio del crudo.
***Uso del programa en Matlab: ***
***[Variacion_costo_petroleo.m]***

17
Conclusiones
En ambos casos de estudio, podemos observar que las funciones objetivos
representativas de los problemas son funciones altamente no lineales, por lo que
un método de resolución de LP nunca hubiera convergido a una solución factible.
Además, se comprueba una vez más la efectividad del software GAMS para la
resolución de problemas matemáticamente complejos, en este caso, para la
resolución de problemas de programación no lineal, los cuales estaban basados
en modelos matemáticos representativos de la realidad.
Además de practicar la codificación y resolución de problemas de optimización en
el programa GAMS, se tuvo la oportunidad de analizar los resultados obtenidos, a
tal grado de lograr discernir de la viabilidad matemática y física de las respuestas.
Particularmente en los problemas estudiados, el primero de ellos presentó valores
no viables físicamente, como ya se menciono en los resultados, algunas
respuestas implicaban flujos de materia negativos.
Para la resolución de segundo problema estudiado no hubo problema alguno, de
hecho, se prestó a poder graficar el comportamiento, favorecido por tratarse de
una función dependiente de dos variables, dando así un gráfico en tres
dimensiones.

Bibliografía
[1] GAMS Development corporation. (2020). GAMS - Documentation. USA: GAMS.
(https://www.gams.com/latest/docs/S_BARON.html) Recuperado el 14 de marzo
del 2020.
[2] Enrique Castillo, Antonio J. Conejo, Pablo Pedregal. (2002). Formulación y
Resolución de Modelos de Programación Matemática en Ingeniería y Ciencia.
Ciudad Real, España: Universidad de Castilla.
[3] Nick Sahinidis (2010) BARON. The optimization firm.
(https://www.minlp.com/baron) Recuperado el 14 de marzo del 2020.
[4] Páramo-Vargas J, Maldonado-Rubio MI, Gómez-Castro FI, Peralta-Hernández
JM (2017). Modeling the Fenton depuration of the effluent from a slaughterhouse
based on design of experiments. MOJ Ecology & Environmental Sciences.
[5] https://la.mathworks.com/help/matlab/ Consultada el 17 marzo del 2020.

18

También podría gustarte