Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Características generales
Figura 1
En dicho grupo hay cuatro botones de opción que permiten elegir el conjunto de métodos
de optimización posibles de usar:
Original: aquí se encuentran disponibles los siguientes métodos:
- BOX: una variante del método Complex de Box:
- SQP: Programación Cuadrática Sucesiva
- Mixed: una combinación de los dos anteriores, es la opción por defecto
- Fletcher Reeves
- Quasi-Newton
Estos dos últimos métodos no permiten el tratamiento de problemas restringidos.
Optimization: es una versión de Honeywell de Programación Cuadrática Sucesiva.
DataRecon: permite el tratamiento de datos experimentales, por ejemplo, ajuste de
parámetros de modelos generales para un caso particular.
Selection Optimization: comprende dos algoritmos de Programación No Lineal
Entera, Branch and Bound y Stochastic (utizando el método Simulated Annealing).
1
En ambos casos se complementa la búsqueda del óptimo con la versión Honeywell
de Programación Cuadrática Sucesiva.
Además de la solapa de configuración, los distintos conjuntos comparten los tres botones
que podemos ver en la parte inferior de la figura 1:
Delete: elimina el Optimizador que se ha agregado.
Spreadsheet: permite acceder a una planilla asociada al optimizador.
Start: inicia o detiene los cálculos del optimizador, una vez que, previamente,
hemos definido el problema.
2. Caso propuesto
Nos proponemos encontrar las condiciones operativas que minimizan el costo total anual,
considerando como tal los gastos en servicios y la amortización del equipo E-1 ya que los
restantes son equipos existentes. Por lo tanto, otra información necesaria es:
2
Para facilitar la explicación,
tratemos que el diagrama de proceso
respete la nomenclatura que se ve en
la figura 3.
Si bien es posible que el simulador optimice a partir de un caso base no factible, siempre es
conveniente que en el punto de partida elegido se cumplan todas las restricciones.
Scheme: es una lista desplegable que permite seleccionar los métodos ya citados,
siendo Mixed la opción por defecto.
Maximum Function Evaluation: permite fijar el máximo número de evaluaciones de
la función. En cada iteración, el flowsheet se resuelve varias veces dependiendo de
distintos factores como el método y el número de variables de decisión.
Tolerance: UniSim Design calcula el cambio de la función y de las variables de
decisión normalizadas entre una iteración y otra. Si dichos cambios superan el valor
de este parámetro, el proceso de cálculo continúa.
Maximum Iteration: permite fijar el máximo número de iteraciones antes que el
cálculo se detenga.
Maximum Change/Iteration: corresponde al valor máximo de cambio relativo en las
variables de decisión por iteración. Por ejemplo, consideremos que se acepta para
este parámetro el valor por defecto, 0.3. Si se tiene un flujo molar como variable de
diseño con un rango entre 0 y 200 kgmoles/h, el máximo cambio en una iteración
será: 200*0.3 = 60 kgmoles/h.
ShiftA y ShiftB: las derivadas de la función objetivo y/o de las restricciones con
respecto a las variables de diseño, cuando son requeridas, se calculan usando
3
diferenciación numérica. La perturbación se calcula en función de la variable
perturbada de acuerdo a la relación siguiente:
xn = ShiftA * xn + ShiftB1
donde:
xn: variable perturbada normalizada. La normalización de las variables de
x xinf
decisión se hace de acuerdo a la expresión: xn
xsup xinf
donde:
En general, no suele ser necesario cambiar los valores de ShiftA y ShiftB de los que están
por defecto.
Algunos métodos mueven simultáneamente todas las variables de decisión mientras que
otros lo hacen secuencialmente.
Para determinar las derivadas, el simulador debe resolver el caso varias veces en cada
iteración, además del caso base; hay un cálculo extra por cada variable de decisión. Si, por
ejemplo, tenemos dos variables de decisión, hay tres evaluaciones de las funciones (objetivo y
restricciones) por iteración.
En la solapa Monitor, el simulador muestra los resultados de las iteraciones. Allí aparecen
los valores de la función objetivo, de las variables de decisión y el de las variables flojas de
las restricciones (diferencia entre el valor que tiene la variable y el valor límite) durante el
proceso de optimización. Los valores de las variables flojas son positivos si las restricciones
se cumplen y negativos en caso contrario.
4
ingresar la información.
El resto de los botones se activan después que hayamos ingresado alguna información. El
botón Edit nos permite sustituir una variable previamente ingresada; el botón Delete, borrarla.
También podemos guardar, con Save Current, el valor actual de una variable y luego
restituirlo con Reset Current, después de que haya habido cambios como consecuencia del
proceso de optimización.
Comenzaremos por seleccionar una variable de decisión, en este caso, la única, desde el
flowsheet. Al oprimir el botón Add, se abre una ventana en la cual se encuentra una lista de
objetos y las variables vinculadas al mismo, como vemos en la figura 5.
Figura 5
Allí deberemos seleccionar Benc_i dentro de los objetos y Temperature como variable, tras
lo cual, luego de oprimir OK, volvemos a la solapa Variables. Podemos ver que UniSim
introdujo, arbitrariamente límites para la temperatura de Benc_i. En general, nosotros
dispondremos de mejor información y deberemos volcarla, reemplazando los valores
asignados. En este caso, podríamos definir el límite inferior en 40.5 ºC y el superior en 89.5
ºC. Cuando ingresemos estos valores, obviamente, debemos estar seguros de que el óptimo se
encuentre dentro del rango elegido. Si a ésto le sumamos la conveniencia de partir de un caso
base factible, nos estaremos asegurando que el optimizador ha de obtener una solución.
5
temperatura en Benc_i es más restrictiva que la correspondiente en Tol_i.
Para acceder a esa curva, lo hacemos desde la opción Plots de la solapa Performance del
intercambiador.
Una vez que hemos definido las variables de decisión de nuestro problema, debemos hacer
lo propio con la función objetivo que hemos adoptado y las restricciones a las que están
sujetas las variables del sistema.
Figura 7
Es allí donde construiremos las
relaciones que definen tanto a la función
objetivo como a cada una de las restricciones. Para estas últimas, si observamos la figura,
podemos ver que se desglosan en dos términos (LHS a la izquierda y RHS a la derecha)
separados por el operador.
El ingreso de la información lo
haremos desde la solapa Spreadsheet. Al
elegirla se abre una planilla como la de la
figura 8 con 10 filas y 4 columnas, valores
que pueden modificarse como veremos
Figura 8
mas adelante.
2
La primera vez que lo hagamos se ha de incorporar, en el PFD, el objeto.
6
La función objetivo que hemos adoptado requiere que conozcamos el valor del área del
intercambiador E-1, la cantidad de energía removida por la corriente Qf y la entregada por Qc.
Esos valores los vamos a colocar en las tres primeras celdas de la columna B,
importándolos desde el flowsheet. Comencemos por la energía puesta en juego en Qf, valor
que colocaremos en la celda B1. Ubiquemos en ella el cursor y elijamos la opción Import
Variable que aparece al oprimir el botón derecho del mouse. Esto nos permite acceder a una
nueva ventana donde se encuentra una lista de objetos y las variables vinculadas a cada uno
de ellos como vemos en la figura 9. Allí deberemos elegir Qf dentro de los objetos y Heat
Flow como variable a importar, tras lo cual daremos OK. Al hacerlo, en la celda B1 aparece el
valor 8.969e05 kJ/h.
Figura 9
Luego debemos repetir el procedimiento para el calor entregado por Qc, que ubicaremos en
la celda B2 y el UA de E-1 en B3.
Nos falta aún ingresar información. Para poder determinar el valor del área de E-1,
debemos conocer el valor del coeficiente global de transferencia, que lo ingresaremos en la
celda B4. En la celda B5, pondremos la fórmula que nos permite calcular el área en cuestión,
escribiendo =B3/B4. A diferencia de la planilla convencional, en ésta no podemos usar el
mouse para el ingreso de las celdas y debemos escribir las direcciones explícitamente.
Continuemos con los costos unitarios anuales de los servicios e ingresemos en las celdas
B6 y B7 el del calefaccionante y el de enfriamiento, respectivamente. En la celda B8
escribamos la fórmula =(B1*B7+B2*B6)*8000, para calcular el costo operativo anual.
7
Nos resta aún, el cálculo de la amortización de E-1. Una de las formas de hacerlo es
ingresando en la celda B9 la fórmula =580*B5^0.65.
Finalmente determinemos el costo total anual, nuestra función objetivo, en la celda B10.
Con el ingreso realizado hasta ahora, la planilla se verá como la de la figura 10, donde se han
agregado, en algunas celdas de la columna C, rótulos para definir unidades.
Ahora si, cerremos la planilla y vayamos a la solapa Functions del objeto Optimizer. Aquí
le indicaremos al optimizador que, en la celda B10 de Spreadsheet de SpreadsheetOptmizer
está ubicada la función objetivo y que el tipo de óptimo será un mínimo.
8
Por último, debemos encontrar la solución óptima. Para ello, oprimamos el botón Start,
ubicado en el extremo inferior derecho del objeto Optimizer. La temperatura buscada es
cercana a 84 ºC, resultando un costo total anual de alrededor de 18400 U$S/año.
Si nos interesase conocer la evolución de la búsqueda desde el caso base hasta el óptimo,
lo podemos hacer desde la solapa Monitor.