modelado con variables binarias 1.

Anuncio
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
Descargar