Reporte de Practica 2 DYSPPII

14
División de Ciencias Naturales y Exactas Departamento de Ingeniería Química Diseño y Simulación de Procesos y Productos II (IQ30716) Práctica No. 2: Modelado y Optimización de Procesos. Parte 1 Presenta: Ricardo Ocampo Sánchez Omar Federico Díaz Estrada Docente: Dr. Fernando Israel Gómez Castro

description

GAMS

Transcript of Reporte de Practica 2 DYSPPII

Page 1: Reporte de Practica 2 DYSPPII

División de Ciencias Naturales y ExactasDepartamento de Ingeniería Química

Diseño y Simulación de Procesos y Productos II (IQ30716)

Práctica No. 2: Modelado y Optimización de Procesos. Parte 1

Presenta:Ricardo Ocampo Sánchez

Omar Federico Díaz Estrada

Docente:Dr. Fernando Israel Gómez Castro

Fecha de Entrega: 02 Septiembre de 2014

Page 2: Reporte de Practica 2 DYSPPII

OBJETIVO

Analizar y reforzar nuestras habilidades de modelado y optimizar los problemas propuestos por medio del software auxiliar (GAMS). Y así mismo codificar los problemas y obtener la solución óptima de nuestras funciones objetivos planteadas.

INTRODUCCIÓN

Los modelos matemáticos son el elemento esencial en un simulador de procesos. Un modelo matemático de un proceso consiste en una serie de relaciones que se establecen para cada equipo que forman parte del sistema.

El modelo matemático está conformado por una combinación de las siguientes expresiones:

Balances de materia Balances de momento Balances de energía Ecuaciones de diseño Relaciones termodinámicas y ecuaciones cinéticas Especificaciones de algunas variables o restricciones particulares

Estas expresiones constituyen para cada equipo en el proceso un sistema de ecuaciones algebraicas y diferenciales que describen a ese equipo y en conjunto forman el modelo matemático del proceso.

El modelo resultante consiste típicamente de un sistema de ecuaciones acopladas y no lineales, cuya solución puede ser directa para un equipo simple, o bastante complicada para un proceso completo; el hecho de tener un sistema de ecuaciones complicadas para un proceso ha dado el origen al desarrollo de simuladores de proceso por computadora, los cuales resuelven las ecuaciones que rigen el sistema en estado estacionario mediante alguna técnica numérica, acoplada o mediante una estrategia de descomposición del sistema original de ecuaciones.

Además de las ecuaciones que modelan al sistema, cuando se trata de la optimización de un problema debe agregarse una expresión más, la cual es denominada función objetivo, la cual es una función que da una medida de la efectividad de un sistema o de que tan buena o mala es la solución en particular para el problema, minimizando o maximizando dicha función. Regularmente la minimización y maximización de esta función se hace por medio de procedimientos iterativos, dando valores iniciales a las variables de decisión o grados de libertad.

Los grados de libertad F son igual a la diferencia N-M donde N son las variables involucradas en el modelo matemático del sistema y M son el número de ecuaciones del que consta el modelo matemático.

Page 3: Reporte de Practica 2 DYSPPII

El desarrollo de software de optimización cada vez mas se está enfocando por alcanzar un alto desempeño, es decir, que la escritura del código sea rápida, que al llevarla a cabo se encuentre correcta y de acuerdo a las recomendaciones de las especificación, esto implica que la calidad de los resultados debe ser la esperada, que la escritura del código se realice en el tiempo estipulado, resultando que cada vez se sea más productivos al realizarlo haciendo mejoras de líneas del código fuente, de modo que resulte un código más rápido de ejecutar. El tiempo de ejecución de un programa siempre dependerá en gran medida de la arquitectura de la computadora en la que se esté ejecutando, por ello no es lo mismo hablar de ejecución en máquinas cuyo procesador es RISC a que sea CISC, que tenga niveles de caché intermedios a que no tenga como es caso de algunas máquinas basadas en Celeron (Intel -1998).

Actualmente se tienen un sin número de productores de compiladores de código, lo que hace que existan implementaciones diferentes. Cuando se hace mucho refinamiento de código, llamado compiladores optimizadores, una parte significativa del tiempo de compilación se ocupa en estas fases. Sin embargo, hay optimizaciones sencillas que mejoran el tiempo de ejecución del programa objeto sin retardar demasiado la compilación. Para fines prácticos es necesario tener en mente que la optimización es un factor básico para que se tenga un alto desempeño en nuestros equipos de cómputo, por esto es necesario hacer una clasificación adecuada de estos factores. También es importante elegir una apropiada estructura de datos, generalmente cuando se realiza una buena programación se busca que en la estructura de los datos existan dependencias básicas y las independencias de estos, a fin de optimizar el uso del espacio interno del código de los programas y la legibilidad de los mismos.

METODOLOGÍA Y RESULTADOS:

Problema No.1

Considere una planta de producción en la cual se obtienen tres productos (E, F, G) a partir de las materias primas A, B y C, cuya disponibilidad y costos son:

Materia prima Disponibilidad Máxima (kg/dia) Costo (cent/kg)A 40000 1.5B 30000 2.0C 20000 2.5

Cada uno de los productos se obtiene en un proceso separado, como se muestra en la Figura siguiente:

Page 4: Reporte de Practica 2 DYSPPII

Las reacciones que se llevan a cabo son las siguientes:

Proceso 1: A+B→E

Proceso 2: A+B→F

Proceso 3: 3 A+2B+C→G

La información de los productos es la siguiente:

Proceso Producto Requerimientos de reactivo (kg/kg de producto)

Costo de producción (cent/kg)

Precio de venta de producto (cent/kg)

1 E 23A ,12B

1.5 4.0

2 F 23A ,13B

0.5 3.3

3 G 12A ,16B ,13C

1.0 3.8

Establezca el modelo que permita maximizar la ganancia total diaria (en USD/día), escriba el código y obtenga los valores de las variables que correspondan a la ganancia máxima.

Ecuaciones que modelan el sistema:

Balance de materia:

A : x11=x1+x3+ x5

B: x12=x2+x4+x6

Page 5: Reporte de Practica 2 DYSPPII

Como se observa en el diagrama, en el caso de la materia prima C no tiene subdivisiones por lo cual no se incluye en las ecuaciones anteriores.

Requerimiento de reactivos para cada producto:

Producto E:

x1=23x8

x2=13x8

Producto F:

x3=23x9

x4=13x9

Producto G:

x5=12x10

x6=16x10

x7=13x10

Disponibilidad máxima de las materias primas:

A : x11≤40,000

B: x12≤30,000

C : x7≤20,000

Función Objetivo para maximizar la ganancia:max Ganancia=Precio deventa del producto−Costo de producción−Costodereactivos

maxG=4 x8+3.3 x9+3.8x10−1.5 x8−0.5x9− x10−1.5 x11−2x12−2.5 x7

Los flujos xi están en unidades de kg/día y los costos de materia prima y precio de productos están en cent/ día, por lo que la ecuación anterior proporciona la ganancia en cent/día.

Código:

El problema se resolvió utilizando dos códigos para la solución, en el primer caso solo se insertaron las restricciones del problema. Las ecuaciones 1 y 2 corresponden a los

Page 6: Reporte de Practica 2 DYSPPII

balances de materia, las ecuaciones de la 3 a la 9 expresan los requerimientos de materia prima por producto y finalmente las ecuaciones de la 10 a la 12 expresan la disponibilidad máxima de materias primas. Los operadores utilizados en el código y las expresiones de igualdad o desigualdad utilizadas para el código se resumen en la siguiente tabla.

Como se observa en el modelo, las ecuaciones que lo representan son todas lineales por lo que el comando de solución se utilizó la programación lineal.

Resultado:

Operación/Función Representación en GAMSSuma +Resta -

Multiplicación *División /Igualdad =e=

Menor o igual =l=Límite inferior xi.lo=Valor inicial xi.l=

Page 7: Reporte de Practica 2 DYSPPII

Esta es una posible solución para maximizar la ganancia, sin embargo, no se obtiene el producto F. Por lo anterior, se introdujo nuevamente el código en gams, esta vez dando condiciones iniciales a los productos y a las materias primas. El código quedó como se muestra a continuación:

Page 8: Reporte de Practica 2 DYSPPII

Las líneas al código que se insertaron fueron los valores iniciales. Las corrientes de materias primas y sus subdivisiones no pueden ser cero ni negativas, por lo que se les asignó un límite inferior de 1. En el caso de las corrientes de productos, debido a que al principio del proceso no se tiene producción se toma un valor inicial de 0. Los resultados para este código se muestran a continuación:

Page 9: Reporte de Practica 2 DYSPPII

A continuación se muestra una tabla donde se resumen los resultados para las cantidades de materias primas y la ganancia:

1er Código

Ganancia: 65500cent/día

2do Código

Ganancia: 102394.6cent/díaMaterias Primas: Materias Primas:A: 40000kg/díaB: 15000kg/díaC: 20000kg/día

A: 40000kg/díaB: 16000kg/díaC: 1kg/día

Productos: Productos:E: 15000kg/díaF: 0kg/díaG: 60000kg/día

E: 23999.4kg/díaF: 1.5kg/díaG: 47998.8kg/día

Como se observa en la tabla anterior, la ganancia aumenta casi al doble utilizando los valores iniciales y se produce, aunque en mínima cantidad el producto F.

Problema No. 2:

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:

c=cc+c i+c x+2 .09×104 t−0.3017

360+1.064×10

6 at0 .4925

52.47 q (360 )+4 .242×104at0 .7952+1 .813 ip (nt+1.2q )0.861

52.47q (360 )

+4 .25×103 a (nt+1 .2q )52 .47q (360 )

+5 .042×103 q−0 .1899

360+0 .1049q

0 .671

360

Page 10: Reporte de Practica 2 DYSPPII

Donde:

a = cargos fijos anuales (0.20)

cc = precio del petróleo crudo, USD/kL (12.50) c i = costo de seguro, USD/kL (0.50)

c x = 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 no se tienen restricciones en las variables. ¿Cómo se modifica el resultado si el tamaño máximo que puede tener el petrolero corresponde a 300,000 kL?

Con la finalidad de facilitar la escritura del código en GAMS, se desarrollaron las operaciones que pudieran realizarse con los valores conocidos, para simplificar la función objetivo, obteniéndose la siguiente expresión:

C=13.9+ 58.0566t0.3017

+ 11.266 t0.4925

q+ 0.449 t

0.7952

q+ 11.266 t

0.4925

q+1269.1 (2n+1.2q )0.861

18889.2q+0.0449 (2n+1.2q )

q+ 14.0056

q0.1899+0.00029139q0.671

El código en gams para la ecuación anterior se muestra a continuación:

Código:

Debido a que las dos variables a conocer no pueden tomar valores negativos se un límite inferior de 1.

Page 11: Reporte de Practica 2 DYSPPII

Resultado:

El costo mínimo del crudo sin tener restricciones en las variables sería de 13.9USD/kL para una capacidad de la refinería de 176560bbl/día y un tamaño del petrolero de 435630kL.

Al poner la restricción de que el tamaño máximo del petrolero es de 300000kL el código se modifica y queda de la siguiente manera:

La restricción se agregó al código mediante una ecución extra Eq1 en la que se establece que la variable t puede tomar valores menores o iguales a 300000, esto es:

t≤300000

Los resultados agregando esta restricción se muestran a continuación:

Page 12: Reporte de Practica 2 DYSPPII

Como se observa, cuando se agrega la restricción del tamaño del petrolero como máximo de 300000kL, el programa toma este valor para la solución óptima arrojando un valor de 17.907 USD/kL para el crudo y la capacidad de la refinería de 154500 bbl/día.

Conclusión:

El uso de restricciones en los modelos matemáticos modifica en gran manera la solución óptima obtenida por el gams, como se observó tanto en el caso del problema 1 como en el problema 2, al agregar restricciones o valores iniciales, el valor de la solución óptima aumenta o disminuye en gran medida, por lo cual es de suma importancia el establecer dichas ecuaciones de forma adecuada y así obtener la mejor solución.

BIBLIOGRAFÍAS

Arturo Jiménez Gutiérrez; Diseño de procesos en Ingeniería Química, Ed. Reverté S.A.

Víctor Hugo Martínez Sifuentes, Pedro A., Alonso Dávila, Jacinto López Toledo, Manuel Salado, José A. Rocha; Simulación de Procesos en Ingeniería Química; Instituto Tecnológico de Celaya, P y V editores;