Simulación y Optimización de los Procesos Químicos TEMA 12: MODELADO CON VARIABLES BINARIAS 1.- MOTIVACIÓN 2.- INTRODUCCIÓN 3.- ALGUNOS CONCEPTOS BÁSICOS DE ÁLGEBRA DE BOOLE 4.- TRANSFORMACIÓN DE EXPRESIONES LÓGICAS A EXPRESIONES ALGEBRAICAS 5.- MODELADO CON VARIABLES DISCRETAS Y VARIABLES CONTINUAS 5.1.- Modelado de Disyunciones. Ecuaciones Lineales. 5.2.- Modelado de disyunciones. Ecuaciones no Lineales. 137 Simulación y Optimización de los Procesos Químicos TEMA 12 MODELADO CON VARIABLES BINARIAS. 1.- MOTIVACIÓN Un gran número de aplicaciones dentro de la Ingeniería Química lleva a problemas en los que aparecen variables continuas y variables discretas, generalmente variables binarias (0-1) asociadas a la toma de una decisión, acción etc (como por ejemplo, la selección de un determinado reactor, la puesta en marcha de una bomba, apertura o cierre de una válvula, etc.). Antes de pasar a explicar de forma sistemática como modelar este tipo de problemas, plantearemos un ejemplo que aparece con frecuencia en la síntesis de procesos químicos. El problema se puede enunciar de la siguiente manera: “Dada una mezcla de N componentes, que no forman azeótropos, diseñar la mejor secuencia de separación utilizando columnas de destilación convencionales, con el objetivo de obtener los componentes individuales de la mezcla”. Para una mezcla de 4 componentes (A B C D) ordenados por orden decreciente de volatilidades existen cinco secuencias de separación posibles. Para una mezcla de 5 componentes existen 14 secuencias, para una de 6 componentes existen 42, y por ejemplo para 10 componentes hay 4862 secuencias diferentes. (El número de secuencias se puede [2(N − 1)]! ). calcular usando la formula de Thompson y King: Num sec = ( N − 1)! N! En muchas ocasiones estos problemas se resuelven utilizando una serie de reglas heurísticas basadas en la experiencia, que si bien permiten proponer un diseño aceptable de una forma rápida, no garantizan que se obtenga la mejor solución y además en muchas ocasiones dichas reglas son contradictorias entre sí. 138 Simulación y Optimización de los Procesos Químicos La enumeración de todas las alternativas no es habitualmente una opción válida, debido al gran número de ellas que pueden aparecer e incluso, aunque el número de alternativas sea pequeño, a las dificultades que puede presentar el cálculo, de tal manera que es importante minimizar en la medida de lo posible la cantidad de cálculos totales. La otra alternativa es transformar el problema a forma matemática. La formulación del problema incluirá en su forma más rigurosa posible, los balances de materia, energía, restricciones del proceso (capacidad máxima, por ejemplo) etc., incluirá además la toma de decisiones (elegir o no elegir una determinada columna) y por último el problema presentará una estructura lógica que relacionará las diferentes decisiones entre sí (por ejemplo: si se lleva a cabo la separación AB/CD habrá que elegir también la separación A/B y la separación C/D). Para resolver problemas de síntesis, como el que nos interesa, es conveniente en primer lugar dibujar una superestructura (una superestructura no es más que un diagrama de flujo en el que están incluidas todas las alternativas de interés). La representación de una superestructura no siempre es una tarea trivial y puede llegar a ser algo realmente complicado, además la representación puede no ser única lo cual varía de forma importante la etapa de modelado, de todas formas este aspecto está fuera del objetivo del de la asignatura. Para el problema que nos ocupa las representaciones para 4 y 6 AB|CD B|C BC|D A|BCD C|D B|CD componentes se muestran en las Figuras 1 y 2. AB|C A|B ABC/D A|BC ABCD Figura 1 superestructura para la separación de 4 componentes usando columnas convencionales 139 Simulación y Optimización de los Procesos Químicos C B A D DEF CDEF * E/F a BC F BCDEF a AB C * B F CDE a AB D/E F E A * BCDE C/D a EF * A E BCD D B a EF ABCDE * B/C F a DE ABCD A ABC E D C A/B Figura 2. Superestructura para una mezcla de 6 componentes. Algunos otros ejemplos de las aplicaciones de modelos que integran la toma de decisiones de algún tipo en el campo de la Ingeniería Química son, entre otros: (I) Síntesis de procesos: Redes de cambiadores de calor Secuencias de destilación Redes de intercambio de masa Sistemas de cogeneración (servicios) Redes de reactores (II) Diseño, planificación y operación de procesos en discontinuo Diseño y operación de plantas multiproducto Diseño y operación de plantas multipropósito (III) Interacción de diseño y control (IV) Diseño molecular de productos (V) Problemas de localización 140 Simulación y Optimización de los Procesos Químicos (VI) Planificación y operación de operaciones (VII) Topología de transporte en redes 2.-INTRODUCCIÓN Un problema en el que aparecen variables continuas y variables discretas (nosotros nos vamos a ceñir al caso de variables binarias variables que sólo pueden tomar el valor 0 ó 1) es la siguiente: min : Z = f ( x ) + cT y s. a. h( x ) = 0 g ( x ) + By ≤ 0 (1) Dy ≤ b y ∈ {0,1} donde f ( x) + cT y es una función objetivo que se desea minimizar (maximizar). Dicha función objetivo esta sujeta a una serie de restricciones de igualdad (balances de materia, de energía, etc.) que quedan representados por el vector de funciones h( x ) = 0 . Las restricciones de desigualdad vienen representados por la expresión g ( x ) + By ≤ 0 . En las anteriores expresiones x es un vector de variables continuas e y es un vector de variables binarias. Nótese que las variables binarias aparecen en forma lineal. La razón es que, quizás el mejor algoritmo de solución, para este tipo de problemas necesita que las variables binarias aparezcan sólo de forma lineal. En cualquier caso, siempre es posible modelar un problema para que las variables binarias aparezcan de esta forma. Asociado a los modelos de programación lineal y no lineal con variables binarias (MINLP del inglés mixed-integer non linear programming) aparecen siempre una serie de restricciones como consecuencia de la lógica del problema, que es necesario convertir a su formulación matemática. Algunas de estas restricciones se pueden formular de manera bastante directa. Por ejemplo, en un problema de síntesis, especificar que se debe seleccionar exactamente uno de los reactores entre todo el conjunto de reactores candidatos i ∈ ℜ se puede expresar simplemente como: 141 Simulación y Optimización de los Procesos Químicos ∑ yi =1 yi ∈ {0,1} (2) i ∈ℜ donde que la variable binaria yi tome el valor 1 indica que se selecciona el reactor i. Por otra parte considérese la siguiente restricción: “Si se selecciona la columna de absorción o el sistema de membrana, entonces no usar separación criogénica”. Si elegimos como variables binarias ya, ym, yc que toman valor 1 si se selecciona la absorción, la membrana o la separación criogénica, respectivamente y cero en otro caso, se puede, después de algunos tanteos por prueba y error, llegar a la siguiente desigualdad válida: (3) ya + ym + 2 yc ≤ 2 En la anterior restricción es fácil comprobar que si ya=1 y/o ym=1 se fuerza a que yc=0. Sin embargo, veremos que de forma sistemática se puede llegar a una formulación alternativa: ya + yc ≤1 (4) ym + yc ≤ 1 El conjunto de ecuaciones (4) no sólo es equivalente a la ecuación (3) sino que es también más eficiente en el sentido de que produce una relajación (solución tomando las variables binarias como continuas y restringiéndolas a tomar un valor entre 0 y 1) cuya solución está más próxima a la solución óptima del problema, debido a que restringe más la región factible. Volveremos a este punto más adelante. Para obtener de forma sistemática restricciones que incluyan variables 0-1 es útil primero pensar en la forma correspondiente en lógica proposicional de las restricciones que se desea modelar. Para ello debemos, en primer lugar, considerar cuáles son los operadores básicos en lógica proposicional y cómo se puede transformar cada uno de esos operadores a una forma dada por una igualdad o desigualdad en la que aparezcan variables binarias. Estas transformaciones se usan entonces para convertir expresiones lógicas en su forma matemática equivalente. 142 Simulación y Optimización de los Procesos Químicos 3.- ALGUNOS CONCEPTO BÁSICOS DE ÁLGEBRA DE BOOLE Se denomina enunciación (literal, proposición) a una oración narrativa simple, de la cual se puede decir que es verdadera o falsa, pero no ambas simultáneamente. Digamos que P y Q son dos enunciaciones, entre ellos podemos definir las siguientes operaciones: Disyunción, que se puede leer como: “P ó Q” y que toma el valor verdadero si P es verdadero, si Q es verdadero o si ambas son verdaderas. Se denotará como P ∨ Q Conjunción, que se puede leer como “P y Q” y que toma el valor verdadero si P y Q son ambas verdaderas, y falso en otro caso. Se denotará como P ∧ Q Negación, que se lee como “no P”, que cambia el valor del literal P de verdadero a falso y viceversa. Se denotará como ¬P En la Tabla 1 se presentan esquemáticamente estas relaciones: Tabla 1: tablas de la verdad para los operadores disyunción, conjunción, y negación P Q P∨Q P Q P∧Q P ¬P F F F F F F V F F V V F V F F V V F V V F F V V V V V V Los operadores disyunción, conjunción y negación, aplicados entre literales forman un álgebra lógica, que es conocida como álgebra de Boole. Las principales propiedades del álgebra de Boole son: 143 Simulación y Optimización de los Procesos Químicos Idempotencia de conjunción y disyunción: (5) P ∨ P = P; P ∧ P = P Conmutativa de conjunción y disyunción P ∨ Q =Q ∨ P P ∧ Q=Q∧ P (6) Asociativa de conjunción y disyunción ( P ∨ Q) ∨ R = P ∨ (Q ∨ R) ( P ∧ Q) ∧ R = P ∧ (Q ∧ R) (7) Distributiva de conjunción respecto a la disyunción y de disyunción respecto a la conjunción P ∧ (Q ∨ R ) = ( P ∧ Q) ∨ ( P ∧ R ) P ∨ (Q ∧ R) = ( P ∨ Q) ∧ ( P ∨ R) (8) De igual manera que se puede definir un álgebra con las operaciones disyunción conjunción y negación se pueden definir álgebras alternativas utilizando otros operadores lógicos (implicación, negación, etc.) Sin embargo, cuando utilizamos el lenguaje natural (hablado) tendemos a usar una base arbitraria, en otras palabras, usamos conjunciones disyunciones implicaciones equivalencias etc. de una manera arbitraria. Afortunadamente es posible transformar cualquier expresión lógica utilizando operadores lógicos arbitrarios a su equivalente forma booleana. 144 Simulación y Optimización de los Procesos Químicos 4.- TRANSFORMACIÓN DE EXPRESIONES LÓGICAS A EXPRESIONES ALGEBRAICAS Como se comentó anteriormente estamos interesados en transformar una expresión lógica, en otra expresión algebraica equivalente. Para ello establecemos una correspondencia entre variables booleanas y variables binarias de tal manera que: Variable Booleana Variable binaria Y = verdadero Y = Falso y=1 y=0 (1-y) ¬Y Nuestro objetivo es: encontrar una expresión algebraica lineal, expresada sólo en función de variables binarias de tal manera que si la expresión lógica es verdadera entonces la expresión algebraica sea factible y si la expresión lógica es falsa entonces la expresión algebraica no sea factible (no se pueda cumplir). Los operadores lógicos básicos utilizados en lógica proposicional, y sus representaciones equivalentes en forma algebraica vienen presentados en la Tabla 2 145 Simulación y Optimización de los Procesos Químicos Tabla 2. Representación algebraica de los operadores lógicos básicos Relación lógica Comentarios Expresión Representación Booleana como desigualdad lineal O lógico P1 ∨ P2 ∨ L ∨ Pr P1 ó P2 ó Pr Disyunción y1 + y2 + L + yr ≥ 1 y1 ≥ 1 Y lógico Conjunción P1 ∧ P2 ∧ L ∧ Pr (P1 y P2 y..... Pr ) y 2 ≥1 M yr ≥ 1 Implicación Equivalencia O exclusivo Como mucho una opción P1 ⇒ P2 ¬ P1 ∨ P2 P1 si y solo si P2 (P1 ⇒ P2 ) ∧ (P2 ⇒ P1 ) (¬ P1 ∨ P2 ) ∧ (¬ P2 ∨ P1 ) Exactamente una de las variables es verdadera P1 ∨ P2 ∨ P3 ... 1− y1 + y2 ≥1 y1 = y2 y1 + y2 + L + yr = 1 Elegir como mucho una de las opciones (una o ninguna) y1 + y2 + ... + yr ≤1 Con las equivalencias presentadas en la Tabla 2 podemos transformar cualquier operador lógico básico a su equivalente forma algebraica. Sin embargo, se necesita todavía un procedimiento sistemático para transformar una expresión lógica complicada que utilice operadores diferentes. Para ello es necesario introducir el concepto de forma normal conjuntiva. La forma normal conjuntiva es un conjunto de cláusulas (cada cláusula es un conjunto de proposiciones), Q1 ∧ Q2 ∧ Q3 ∧ .... ∧ Qs conectadas por el operador lógico Y ( ∧ ). Para que el resultado de la forma normal conjuntiva sea ‘Verdadero’ cada una de las cláusulas 146 Simulación y Optimización de los Procesos Químicos Qj debe ser verdadera independientemente de las otras cláusulas. Además, si reemplazamos todas las implicaciones de tal manera que la expresión quede en su forma booleana (solamente operadores Y, operadores O y negación) entonces cada una de las cláusulas estará formada por disyunciones de literales, P1 ∨ P2 ∨ P3 ∨ ... ∨ Pr (literales conectados por operadores O). Una vez que el problema está expresado en su forma normal conjuntiva la transformación a forma algebraica es inmediata, siguiendo las reglas de la Tabla 2. Para cada una de las conjunciones basta escribir una desigualdad de la forma: y1 j + y2 j + ... + yrj ≥1 j = 1,2.....s (9) donde la variable binaria yij toma el valor 1 si es cierto el literal i en la cláusula j. veamos un procedimiento para transformar una expresión lógica cualquiera a su forma normal conjuntiva Transformación a la forma normal conjuntiva: Para transformar una expresión booleana a su forma normal conjuntiva basta aplicar un procedimiento de tres pasos a cada una de las proposiciones lógicas. 1. Reemplazar las implicaciones por su disyunción equivalente P1 ⇒ P2 ⇔ ¬ P1 ∨ P2 (10) 2. Desplazar las negaciones dentro de las cláusulas aplicando los teoremas de DeMorgan: ¬ ( P1 ∧ P2 ) ⇔ ¬ P1 ∨ ¬ P2 ¬ ( P1 ∨ P2 ) ⇔ ¬ P1 ∧ ¬ P2 (11) 3. Distribuir el operador O sobre el operador Y. Aprovechando la propiedad distributiva: 147 Simulación y Optimización de los Procesos Químicos (P1 ∧ P2 )∨ P3 ⇔ (P1 ∨ P3 ) ∧ (P2 ∨ P3 ) (12) Veamos algunos ejemplos para ilustrar el procedimiento: Ejemplo 1. Consideremos el caso presentado anteriormente que decía lo siguiente: “Si se selecciona la columna de absorción o la separación mediante membranas entonces no seleccionar la separación criogénica” Haciendo Pa= verdadero si se selecciona la columna de absorción Pm= verdadero si se selecciona la separación mediante membranas Pc= verdadero si se selecciona la separación criogénica La condición lógica es: Pa ∨ Pm ⇒ ¬ Pc Eliminando la implicación: ¬ ( Pa ∨ Pm ) ∨ ¬ Pc Aplicando el teorema de DeMorgan: (¬Pa ∧ ¬Pm )∨ ¬Pc (¬Pa ∨ ¬ Pc ) ∧ (¬Pm ∨ ¬ Pc ) Distribuyendo O sobre Y (13) Con lo que tenemos ya el problema en su forma normal conjuntiva. Cada una de las conjunciones debe ser cierta independientemente de las otras. Definiendo variables binarias asociadas a cada uno de los literales y aplicando la equivalencia de la Tabla 2 para las conjunciones tenemos pues: 1 − ya + 1 − yc ≥1 1 − ym +1− yc ≥1 (14) que se pueden reordenar para obtener la misma expresión que en la ecuación (4) ya + yc ≤1 ym + yc ≤ 1 (15) Sin embargo veíamos que este conjunto de restricciones no era único, y que se podían escribir restricciones alternativas igualmente válidas. Queda pues por determinar que conjunto de restricciones es mejor. 148 Simulación y Optimización de los Procesos Químicos Para este último punto considérese una restricción bastante habitual y que se podría enunciar de la siguiente manera: Ejemplo 2. “La acción Z se ejecutará si alguno de los sucesos Y1 ó Y2 ó Y3 ó … Yn tiene lugar” Es fácil comprobar que se pueden escribir dos conjuntos de restricciones válidos: que es un sistema de n desigualdades z ≥ yi i = 1,2,3...n (16) o bien N ∑ yt ≤ zN Que es una única restricción (17) t =1 Para un caso con dos variables y se puede ver gráficamente como actúan cada una de las restricciones z z y2 y1 y1 y2 a) Múltiples restricciones b) Una sola restricción Se puede comprobar que en el caso (a) las restricciones fuerzan a soluciones enteras, mientras no ocurre así en el caso (b). La restricción (a) es pues mejor que la (b). Veamos que nos dice el procedimiento propuesto: Y1 ∨ Y2 ∨ .... ∨ Yn 149 ⇒ Z Simulación y Optimización de los Procesos Químicos En su forma Booleana: ¬ (Y1 ∨ Y2 ∨ .... ∨ Yn ) ∨ Z Introduciendo las negaciones Distribuyendo el operador Y (¬Y1 ∧ ¬Y2 ∧ ...... ∧ ¬Yn )∨ Z (¬Y1 ∨ Z ) ∧ (¬Y2 ∨ Z ) ∧ (¬Y3 ∨ Z ) ∧ ..... ∧ (¬Yn ∨ Z ) Y por lo tanto se obtiene: 1− yi + z ≥1 i = 1,2,..., n o lo que es lo mismo z ≥ yi i = 1,2,..., n (18) Así pues, el procedimiento sistemático predice la mejor de las restricciones. 150 Simulación y Optimización de los Procesos Químicos 5.- MODELADO CON VARIABLES DISCRETAS (BINARIAS) Y VARIABLES CONTINUAS. En el apartado anterior se presentó una sistemática que permite modelar de forma algebraica restricciones en las que aparecen variables 0,1. Sin embargo, en un buen número de casos es necesario tratar con restricciones que incluyen también variables continuas. Veamos un ejemplo de síntesis de procesos: a. Si se selecciona el reactor 1, entonces la presión estará comprendida entre 5 y 10 atmósferas. b. Pero si se selecciona el reactor 2, entonces la presión deberá estar comprendida entre 20 y 30 atmósferas. En el caso anterior, no solamente es necesario decidir cuál de los reactores se va a utilizar, sino además dependiendo de la elección, obligar a la presión a variar entre los límites correctos. Volveremos más adelante con el ejemplo, antes vamos a ver como podemos modelar disyunciones. 5.1.- MODELADO DE DISYUNCIONES. ECUACIONES LINEALES. Para representar opciones lógicas con el uso de variables binarias y continuas, es útil escribir el problema en forma disyuntiva, y luego transformarlo, de forma sistemática a su equivalente forma algebraica. En el caso de ecuaciones lineales, la forma disyuntiva toma la forma siguiente: Yi A x −b ≤0 ∨ i i∈ D x L ≤ x ≤ xU (19) donde el signo ∨ es el operador O, que se aplica a un conjunto de términos disyuntivos D. Yi es una variable booleana que toma el valor verdadero si hay que aplicar la disyunción i. La expresión anterior la podríamos leer entonces como si Yi es verdadera entonces usar las ecuaciones correspondientes a esa variable booleana. 151 Simulación y Optimización de los Procesos Químicos El ejemplo que comentábamos anteriormente se puede escribir entonces como: Y1 P − 10 ≤ 0 ∨ − P + 5 ≤ 0 Y2 P − 30 ≤ 0 − P + 20 ≤ 0 (20) donde Y1, Y2 son variables booleanas que toman el valor verdadero si se elige el reactor 1 o el 2 respectivamente. Existen dos formas de transformar una expresión dada en forma disyuntiva a su equivalente forma algebraica. La primera es el uso de “La gran M” y la segunda es la representación de envolvente convexa (convex hull en la literatura anglosajona). Si se usa la representación de la gran M, cada una de las disyunciones se puede transformar de forma sistemática a su forma algebraica de la siguiente manera: Ai x − b ≤ M i (1 − yi ) ∑ yi =1 (21) i∈D y ∈ {0,1}, i ∈ D donde yi es una variable binaria que toma el valor 1 si la variable booleana Yi es verdadera, y toma el valor 0 en otro caso. La segunda ecuación del conjunto de ecuaciones (12) es la transformación a forma algebraica de las restricciones lógicas del problema. M es un número positivo suficientemente grande. Nótese que si yi toma el valor 1 entonces el conjunto de ecuaciones asociados a la disyunción i se cumple. Si yi toma el valor cero entonces el conjunto de ecuaciones asociadas a la disyunción i está relajado (se cumple de forma arbitraria) En el ejemplo que venimos siguiendo la transformación a forma algebraica utilizando la formulación de la gran M es: P − 10 ≤ M1(1 − y1 ) 5 − P ≤ M1(1 − y1 ) P − 30 ≤ M 2 (1 − y2 ) 20 − P ≤ M 2 (1 − y2 ) y1 + y2 =1 152 (22) Simulación y Optimización de los Procesos Químicos Valores grandes de M1=M2=100 son elecciones válidas, pero producen relajaciones débiles en el sentido de que si se resuelve el problema por un método de Branch and Bound las cotas inferiores obtenidas por el primer programa lineal (en el que las variables binarias se relajan y se toman como continuas) son cotas muy bajas. La elección del parámetro M es de primordial importancia para resolver los problemas con esta formulación. En general debe ser grande para asegurar que la relajación de las variables en el caso de restricciones no activas es posible, y debe ser lo suficientemente pequeño para que el espacio factible del problema relajado sea lo menor posible. Una formulación alternativa a la gran M es utilizar la envolvente convexa. En este caso es necesario disgregar las variables continuas en suma de tantas variables nuevas como disyunciones aparezcan en el problema. La formulación, en este caso, requiere introducir zi nuevas variables, y el problema se formularía en forma algebraica como: x = ∑ zi i∈D ∑ yi = 1 i ∈D i∈D Ai zi − bi yi ≤ 0 i∈D z iL y i ≤ z i ≤ z iU y i i∈D (23) La primera de las anteriores ecuaciones corresponde a la disgregación de las variables. La segunda ecuación implica que sólo una de las variables binarias puede tener valor 1 simultáneamente La tercera corresponde a las desigualdades escritas en términos de las variables disgregadas zi y de las variables binarias yi.. Y por último la cuarta ecuación asegura que las variables disgregadas asociadas a las disyunciones no activas se hacen cero en la solución. La formulación de envolvente convexa de nuestro ejemplo sería: P = P1 + P2 P1 ≤ 10 y1 P2 ≤ 30 y2 − P1 ≤ − 5 y1 − P2 ≤ − 20 y2 (24) y1 + y2 =1 153 Simulación y Optimización de los Procesos Químicos El ejemplo anterior solamente tiene como restricciones un límite inferior y superior de las variables (la presión) es interesante quizá presentar un caso más general para aclarar completamente el procedimiento. Considérese la función de coste, que depende de la variable x que se presenta gráficamente a continuación: C b2 a 2+ a 1 +b 1 x x 0 s t x La formulación disyuntiva de este problema sería: Y1 Y2 c = a + b x ∨ c = a + b x 1 1 2 2 0 ≤ x ≤ s s ≤ x ≤ t (25) Y la formulación de envolvente convexa sería: c = c1 + c2 x = x1 + x1 c1 = a1 y1 + b1x1 0 ≤ x1 ≤ s y1 c2 = a2 y2 + b2 x2 s y2 ≤ x2 ≤ t y2 y1 + y2 =1 (26) La importancia de esta formulación es que no necesita la introducción de nuevos parámetros artificiales (M). Además la región factible del problema relajado cuando se usa la envolvente convexa es siempre menor que la región factible en el caso de que se use la formulación de la gran M. Por otra parte introduce nuevas restricciones, lo que 154 Simulación y Optimización de los Procesos Químicos hace el problema más largo de resolver. Habitualmente hay que alcanzar una situación de compromiso entre el número de variables nuevas a añadir y la reducción del espacio factible. Aunque como regla general se puede decir que para problemas pequeños la formulación de la gran M funciona bien, pero para problemas grandes es mejor utilizar la formulación de envolvente convexa. La siguiente Figura ilustra el efecto de ambas formulaciones para el siguiente ejemplo en dos dimensiones: [x1 − x2 ≤ 1]∨ [− x1 + x2 ≤ − 1] (27) 0 ≤ x1 ≤ 4 0 ≤ x2 ≤ 4 x1 x1 x1 Región I Región 2 x2 x2 Gran M x2 Envolvente convexa Señalar que la formulación de envolvente convexa se puede simplificar si la disyunción la forman solamente dos términos y uno de los términos implica que todas las variables asociadas se hacen cero, como por ejemplo: [F ≤ 20]∨ [F = 0] (28) Es fácil comprobar que en este caso F2=0.y2 y por lo tanto F=F1 por lo que la formulación de envolvente convexa se simplifica a: (29) F ≤ 20 y1 155 Simulación y Optimización de los Procesos Químicos 5.2.- MODELADO DE DISYUNCIONES. ECUACIONES NO LINEALES. En el caso de ecuaciones no lineales, sólo se utiliza la formulación de la gran M, puesto que la envolvente convexa de funciones no lineales no es fácil de obtener (recientemente ha aparecido algún trabajo en el que se plantea cómo conseguir esta envolvente, pero está fuera del objetivo aquí presentado). Así, en el caso más general la formulación de disyunciones en las que aparecen restricciones no lineales se puede formular como: Yi ∨ gi ( x )≤ 0 i∈D hi ( x ) = 0 (30) La expresión (30) puede transformar de forma sistemática a un conjunto de ecuaciones como: gi ( x ) ≤ M (1 − yi ) hi ( x ) + s1 − s2 = 0 s1 + s2 ≤ M (1 − yi ) s1, s2 ≥ 0 ∑ yi =1 (31) i ∈D donde s1, s2 son variables de holgura positivas. Como en casos anteriores nótese que si yi es igual a 1 la desigualdad y la igualdad deben verificarse. En este caso las variables de holgura están forzadas a ser cero. Nuevamente la elección del parámetro M es crítica y puede llegar a tener gran importancia en los métodos de solución. Alternativamente se puede utilizar la siguiente formulación de M grande que evita añadir nuevas variables 156 Simulación y Optimización de los Procesos Químicos gi ( x) ≤ M (1 − yi ) hi ( x) ≤ M (1 − yi ) hi ( x) ≥ − M (1 − yi ) ∑ yi =1 (32) i ∈D En la formulación que aparece en la ecuación 32 la igualdad [ h(x)=0] se ha convertido en dos desigualdades ( h( x ) ≤ 0; h( x ) ≥ 0 ) y a cada una de ellas se le aplica el procedimiento general para desigualdades en M grande. En un problema general aparecen tres tipos de ecuaciones: 1. Ecuaciones que serán invariantes para todo el todo el sistema. 2. Ecuaciones que serán activas solamente si se toma una determinada decisión, asociada a una variable booleana (o binaria) o conjuntos de ecuaciones que no se deben utilizar. Los dominios de las restricciones podrán ser totalmente disjuntos, o podrán tener zonas en común (lo que podemos modelar de forma disyuntiva). 3. Además aparecerán una serie de relaciones lógicas que determinarán si una decisión y sus ecuaciones correspondientes se deben tener en cuenta o no. Inicialmente aparecen en forma booleana y se pueden transformar a ecuaciones algebraicas en las que aparecen variables binarias solamente. 157