Professional Documents
Culture Documents
ndice de Contenido
1 Introduccin 1.1 La Ingeniera de Procesos 1.2 Modelacin y Grados de Libertad 1.3 Representacin Matemtica Generalizada de un Problema de Optimizacin 1.4 Tipos de Problemas de Optimizacin 1.5 Regin Factible 1.6 Convexidad 2. Tcnicas de Optimizacin 2.1 Programacin Lineal: Mtodo Simplex 2.2 Programacin No Lineal 2.2.1 Optimizacin sin restricciones 2.2.2 Optimizacin con Restricciones de Igualdad 2.2.3 Optimizacin con Restricciones de Desigualdad 2.3 La Programacin Mixta-Entera en el Diseo de Procesos 2.4 Programacin Mixta Entera Lineal: Mtodo de Branch and Bound 2.5 Programacin Mixta-Entera No Lineal: Mtodo Outer Approximation 3. El Ambiente de Modelacin GAMS y sus Resolvedores
ndice de Contenido
4. Aplicaciones en Ingeniera Qumica 5. Introduccin a la Optimizacin Bajo Incertidumbre 5.1 Tipos de Problemas de Programacin Estocstica 5.2 El Mtodo de Descomposicin Estocstica 6. Introduccin a la Optimizacin Multiobjetivo 6.1 Mtodos de Solucin 7. Control ptimo y Optimizacin Dinmica 7.1 El Principio del Mximo 7.2 Programacin Dinmica 7.3 Programacin Dinmica Estocstica
Dadas las condiciones de entrada y la estructura del proceso, determinar las variables de salida
Optimizacin de Procesos
Minimizar Costo N=? R=? P=?
D, Pureza Alimentacin
Definir una funcin objetivo y determinar los mejores valores de las variables de diseo
Interaccin entre Etapas de la Ingeniera de Procesos La optimizacin requiere de la solucin de problemas de simulacin en cada iteracin La optimizacin es una herramienta imprescindible en el diseo de un proceso
Simulacin
Diseo
Optimizacin
Simulacin u Optimizacin?
Grados de Libertad F = Nmero de Variables Nmero de Ecuaciones F=N-M
Simulacin u Optimizacin?
Simulacin
x1 + x2 = 2 x1 = 3 x2 x1 , x2 0 F = 22 = 0
Optimizacin
x1 + x2 = 2 x1 , x2 0
F = 2 1 = 1
Soluciones posibles:
min x1 x2 Funcin objetivo
Solucin nica
x1 = 1.5 x2 = 0.5
Matriz de Incidencia
x1
f1 = ln( x1 ) 2 = 0 f 2 = x2 3 x4 5 = 0 3 f 3 = ( x2 ) x3 + x4 1 = 0
x2 X X
x3
x4 X
f1 f2 f3
X X X
Trayectorias de Steward
Variable de Diseo: Cualquiera de x2, x3 y x4
x1 f1 f2 f3 X X X X X X x2 x3 x4
El Modelo Matemtico
min f ( x, y ) s.t. h( x, y ) = 0 g ( x, y ) 0 x R n , y {0,1} Lmites: 0< Comp <1 Temperatura, Presin, etc. Decisiones discretas: Equipo Existe ?
x 2 + ln ( y ) = 1
Variable Continua o Discreta ? y y=0 200 K < Temperatura < 500 K T = 253.75 K T = 493.68 K Equipo No Existe y=1 Equipo Existe
Programacin Lineal (LP) Programacin Mixta Entera Lineal (MILP) Programacin No Lineal (NLP) Programacin Mixta Entera No lineal (MINLP)
x1
x2
x1
x2
Convexa
No Convexa
Funcin Convexa?
Funcin
f ( x) = x 3 6 x 2 + 11x 6 Intervalo (1,3)
f ( x1 ) = f (1) = 0
f ( x2 ) = f (3) = 0
f (x1 + [1 ]x2 ) f ( x1 ) + (1 ) f ( x2 )
= 0.25
No Convexa
No se cumple
= 0.75
x1 x2
x1
x2
Convexa
No Convexa
Tcnicas de Optimizacin
Tcnicas de Optimizacin
* *
Mtodos Simplex y Puntos Interiores (LP) Branch and Bound (Ramificacin y Acotamiento) (MILP)
Programacin Lineal
Programacin Lineal
Forma General
min c x s.t. A x b x0 x Rn
T
300 c= 200
5 2 A = 3 3 1 0
180 b = 135 25
Mtodo Simplex
Si la funcin objetivo disminuye en esta direccin
Mtodo Simplex
1) 2) 3) 4) Introducir variables slack para convertir desigualdades en igualdades. El nmero de grados de libertad no cambia. Utilizar x=0 como punto inicial Construir Matriz de Coeficientes Efectuar pasos de eliminacin Gaussiana hasta no obtener valores negativos en el rengln correspondiente a la funcin objetivo
Mtodo Simplex
x1 x2 2 3 0 -200 s1 1 0 0 0 s2 0 1 0 0 s3 0 0 1 0 b 180 135 25 0 s1 s2 s3 f
Matriz de Coeficientes
5 3 1 -300
Eliminacin Gaussiana
s3 0 0 1 0 x2 2 3 0 -200 s1 1 0 0 0 s2 0 1 0 0 s3 -5 -3 1 300 b 55 60 25 7500 s1 s2 x1 f
Rengln Pivote
Qu ocurre si no se toma la menor proporcin?
s2 0 1 0 0 x2 -3 1 -1 300 s1 1 0 0 0 s2 -5/3 1/3 -1/3 100 s3 0 0 1 0 b -45 45 -20 1350 s1 x1 s3 f
Mtodo Simplex
Eliminacin Gaussiana
s3 0 0 1 0
s2 0 1 0 0
s1 1 0 0 0
s3 -3 -1 1 100
b 15 20 25 11500 s1 x2 x1 f
3. Cada punto de la trayectoria se dice que es una solucin bsica 4. El algoritmo concluye cuando ya no hay coeficientes negativos en el rengln de la funcin objetivo
Mtodo Simplex
Maximize 300 x1 + 200 x2 sujeto a 5 x1 + 2 x2 180 3x1 + 3 x2 135 x1 25
x2
(0,90)
(0,45) (25,20)
(25,27.5)
(0,0)
(25,0)
x1
Programacin No Lineal
Condiciones de Optimalidad
Optimizacin Sin Restricciones
min f ( x ) x Rn
Condiciones de Optimalidad
Optimizacin Sin Restricciones
min f ( x ) x Rn
f x1 f (x ) = M = 0 f xn
2 f 2 f x1 x2 x12 H = 2 f 2 f 2 x2 x1 x1
1 xT H x 0 2
2 x1 6 f ( x ) = =0 2 x2 2
x1 = 3 x2 = 1
2 0 H = 0 2
Condiciones de Optimalidad
Optimizacin Con m Restricciones de Igualdad min f ( x ) s.t. h( x) = 0 x Rn
L( x, ) = h( x ) = 0
2 x1 6 1 f ( x ) + j h j ( x ) = + 1 1 = 0 j 2 x2 2
h( x ) = x1 x2 2 = 0
2 x1 6 + 1 = 0 2 x2 2 1 = 0 x1 x2 2 = 0
Condiciones de Optimalidad
Optimizacin Con m Restricciones de Igualdad y r de Desigualdad min f ( x) s.t. h( x) = 0 g ( x) 0 x Rn
L(x, , ) = h( x ) = 0
k (x ) g k (x ) = 0
k (x ) 0
g k (x ) 0
Condicin necesaria:
L( x, , ) = f ( x ) + j h j ( x ) + k g k ( x ) = 0 x j k
L(x, , ) = h( x ) = 0
k (x ) g k (x ) = 0
k (x ) 0
g k (x ) 0
x1 3 1 1 f ( x ) + k hk ( x) = + 1 1 + 2 1 2 = 0 k x2 1
x1 1 + 2 = 3 x2 + 1 1 2 = 1 2 1 ( x1 + x2 ) = 0 2 x1 1 x2 2 = 0 2
Programacin No Lineal
Estrategia del Conjunto Activo (Active Set Strategy) Solucin al Conjunto de Ecuaciones KKT
f ( x ) + j h j ( x ) + k g k ( x ) = 0
j k
h( x ) = 0
k (x ) g k (x ) = 0
k (x ) 0
g k (x ) 0
Desigualdades
g k (x ) = 0 g k (x ) < 0
Activa
Inactiva
Programacin No Lineal
Estrategia del Conjunto Activo
1) Definir conjunto activo. Inicialmente:
J1 = {k g k = 0}
f ( x ) + j h j ( x ) + k g k ( x ) = 0
j kJ1
h( x ) = 0
g k ( x ) = 0 k J1
Programacin No Lineal
Estrategia del Conjunto Activo
3) Si para toda k g k ( x) 0 y k 0 OK. Se ha obtenido la solucin Si cualquier g k ( x) > 0 y / o k < 0 a) Eliminar de J1 la restriccin con el i ms negativo b) Aadir a J1 todas las restricciones violadas g k ( x) > 0 para hacerlas activas c) Regresar a 2) OK
Programacin No Lineal
Estrategia del Conjunto Activo: Ejemplo 2 min f ( x ) = 1 (x12 + x2 ) 3 x1 x2 2
s.t. g1 = x1 + x2 0 g 2 = x1 1 x2 2 0 2 g 3 = x2 0
J1 =
x 3 f ( x ) + k hk ( x) = 1 = 0 k x2 1
x1 = 3 x2 = 1 1 = 0 2 = 0 3 = 0
g k > 0 k = 0
Verificando restricciones y s:
Activar g2
J 2 = {2}
Programacin No Lineal
Programacin Cuadrtica Sucesiva (SQP) min f ( x ) s.t. h( x ) = 0 g ( x) 0 x Rn
Programacin Mixta-Entera
10 kmol/hr B
p j 1) NOT 1 y j
Relaciones Lgicas
7) Teorema de Morgan
( A B ) A B ( A B ) A B
pi p j 2) OR (exclusivo) y + y = 1 i j
3) OR (inclusivo)
pi p j 4) AND y 1, y 1 j i
pi p j yi + y j 1
( A B ) C ( A C ) (B C )
8) Distribucin de AND
pi p j pi p j 5) If-Then 1 yi + y j 1 yi y j 6) Iff-Then
pi p j yi = y j
Representando Alternativas
Big - M
x1 2 x2 M (1 y1 ) x1 2 x2 M (1 y1 ) x1 1 M (1 y1 ) y1 + y2 = 1
x1 5 x2 M (1 y2 ) x1 5 x2 M (1 y2 ) x1 1 M (1 y2 ) x1 , x2 0
Convex Hull
x11 + x12 = x1 x21 + x22 = x2 x11 My1 x12 My2 x21 My1 x22 My2 x11 2 x21 = 0 x12 5 x22 = 0 x11 y1 x12 y2 y1 + y2 = 1 x11 , x12 , x21 , x22 0
y1 y2 = 2 x2 x1 = 5 x2 x1 x1 1 x1 1 x , x 0 x , x 0 1 2 1 2
y3=1
y1=1
1) 2) 3)
La funcin objetivo en i es un lmite inferior a la funcin objetivo en k. Si algn nodo resulta en una solucin entera, el valor de la funcin objetivo en tal nodo es un lmite superior de la solucin Si i es infactible o ilimitado, entonces k tambin lo es
[1,0.5,0]
z = 6.5
y2=1
z =9
y1=1
infactible
y2=0 y2=1
[0,1,1]
z =8
y1=0
y3=1
[0,0.075,1]
z = 6.75 y =0 2
m=3 2 m +1 1 = 15
[0,1,0.333]
z=6
y3=0
infactible
infactible
Algoritmo General
NO Solucin
sujeto a cT y + f x k + f x k x x k T g x k + g x k x x k + By 0 Ay a m y {0,1} x R n R
( )
( ) ( )( ( )( )
T
Z = min
k T
f(x)
( )
sujeto a cT y + f x k + f x k x x k T g x k + g x k x x k + By 0 Ay a m y {0,1} x R n
( )
( ) ( )( ( )( )
T
Z = min
k = 1K K
( )
1)
NLP MILP
y1 = 1 y2 = 1 y3 = 1 y1 = 1 y2 = 0 y1 = 1 y2 = 0 y1 = 0 y1 = 0 y1 = 0
x1 = 2 x2 = 2 zU = 11
y3 = 0 x1 = 2 x2 = 0 z L = 1 y3 = 0 x1 = 2 x2 = 0 zU = 5
2)
NLP MILP
y2 = 1 y3 = 0 x1 = 1 x2 = 0 z L = 1.5 y 2 = 1 y3 = 0 y2 = 0 x1 = 1 x2 = 1 zU = 3.5
3)
NLP MILP
y3 = 1 x1 = 2 x2 = 1 z L = 4.5
z = 0.2525 x = 1.7183 1 = 9.347 2 = 0 ( zU ) 2) Linealizar el problema MINLP en x= 1.7183 para obtener el problema maestro MILP:
zOA = min OA s.t. OA 2.7 y + 3.4366 x 2.9525 0.36787 x + y 0.36788 0.87085 x + y 0.2581 0 x y {0,1}
En cada unidad se resuelve un sistema de ecuaciones no lineales (subrutina que convierte valores de entradas en valores de salida) * Las variables de las corrientes de reciclo se suponen inicialmente y constituyen la gua para proceso iterativo
Corriente de Reciclo
Intercambiador
Separador Flash
Alimentacin
Mezclador Reactor
Se requieren algoritmos de orden de precedencia y determinacin de las corrientes de reciclo a ser supuestas.
Cada unidad del sistema es representado por un sistema de ecuaciones (lenguaje declarativo: no declarativo restricciones en cuanto a especificacin de variables) Las ecuaciones son generalmente almacenadas en libreras Para definir el problema, se colectan las ecuaciones que representan a cada unidad y a las conexiones entre ellas
Sistema Resultante
ASCEND GAMS
NLP: CONOPT, MINOS, LACELOT, SRQP, LINGO NLP MINLP: DICOPT MINLP MILP, LP: CPLEX, OSL, LINDO, SCICONIC, XA LP
GAMS la Interfase
Resolvedores en GAMS
Tipos de Problemas
Algoritmos de Solucin
GAMS: Ejemplo 1
W1 y0 = 0 Q=1000 lb/hr xF = 0.2
Etapa de Extraccin
Q=1000 lb/hr x1
W1 y1
Max Q(xF x1 ) W1
Qx F = Qx1 + Wy1
= 0.05 H =1.2
Hx1 y1 = (H 1)x1 + 1
GAMS: Ejemplo 2
zA = 0.6 zB = 0.3 zC = 0.1 F = 1000 Kmol/hr xDA = 0.8
zj
= 1 q
j =1
j =1
j xD j
j
N
D j
= 1 + Rmin
x
j =1
=1
D, Pureza Alimentacin
ktop =
top lC k
lC k
F l
x iF k l Ck
kbot =
bot lC k
F l
l C kbot
lC k
F l
Fijo
k
Variable
k (10 $ hr / Kgmol ao) 0.42
3
Carga trmica
Kk
(10 $/ao)
A/BCD AB/CD ABC/D A/BC AB/C B/CD BC/D A/B B/C C/D 145 52 76 125 44 38 66 112 37 58
(10 KJ / Kgmol)
0.028 0.042 0.054 0.024 0.039 0.040 0.047 0.022 0.036 0.044
0.12
0.25 0.78 0.11 0.14 0.21 0.39 0.08 0.19
Costos de utilidades: Agua de enfriamiento: CW = 1.3 (103$ hr/ 106 KJ ao) Vapor: CH = 34 (103$ hr/ 106 KJ ao)
Superestructura
F4 y4
B/CD
F8 y8
A/BCD
F5 y5 F1 y1
C/D
BC/D
ABCD
FTOT
F2 y2
AB/CD
y9 F9
B/C
F3 y3 F6
A/BC ABC/D
F7 y6 y7 y10 F10
A/B
AB/C
Modelo
Factores de separacin 1A
2 2
AB
Balance Global
FTOT = 1000 = F1 + F2 + F3
=0.15
=0.45 =0.55
1BCD =0.85
CD
=0.5625
F6 + F7 0.8F3 = 0
F10 0.45 F2 0.563F7 = 0
10B =0.667
F9 0.765F5 0.812 F6 = 0
F8 0.55 F2 0.647 F4 = 0
Flujos (Big-M)
Fk 1000 y k 0 Fk 0 y k = 0,1 k = 1,...,10
Funcin Objetivo
10
10
h2
418 K
?
c1
375 K
305 K
c2
310 K 298 K
Stage 2
H1-C1
H1
H1-C2
H1-C2
H2-C1
H2-C1
C1
H2
H2-C2 H2-C2
C2
MODELO
Balance de calor total para cada corriente:
(TIN i
TOUT
j
)F i
j
=
j
(TOUT
(t
TIN
)F
k ST j CP
q
k ST i HP
ijk
+ qcu i , i HP + qhu j , j CP
ijk
t i , k + 1 )F i = t j , k + 1 )F j =
(t
j CP
q
i HP
ijk
, k ST , i HP , k ST , j CP
Restricciones lgicas:
qijk zijk 0, i HP, j CP, k ST qcui zcui 0, i HP qhuj zhuj 0, j CP zijk , zcui , zhuj = 0,1
jk
ijk
= TIN
j CP
Factibilidad de temperaturas: t ik t i , k +1 , k ST , i HP
t j ,1 , j CP
Planeacin de la Produccin
La Produccin del Petrleo es un Problema Multiperidico
Thousands of barrels/day
Demand
d1 d2 d3
d4
T1
T2 H
T3
T4
Jan
Mar
Sep
Nov
Jan
well head well bore storage oil flow well bore oil flow Geological Properties: permeability thickness porosity etc.
reservoir
ts
Modelo MILP
Minimize
i j
j
ij ij
q T + ij yijT + ij 1 yij T
i j i j
q T d
ij i
j P
Yij Wij1 Wij 2 Yij i W , j P p f = pin D p f = pin + I p f = pup ij i ij ij ij ij ij ij in up in up pij + I ij pi pij + I ij > pi i W , j P Dij = qij {c1 [ln(T ) + c2 ]} i W , j P I ij = qis {c1 [ln(T ) + c2 ]}(1 yij )
max in i W , j P qij {c1 [ln(T ) + c2 ]} = pij pilow max i W , j P qij qij
i W , j P