Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Indice
Problemas hbridos
Tipos de problemas mixto-enteros
Algoritmo Branch and Bound
Ejemplos
Software
Problemas hbridos
max
y
y v
j 1
sujeto a
y
j 1
pj P
Problema ILP
integer linear
programming
min
y
i 1 j 1
y
i 1
j 1
ij
yij
cij
yij
0 el viajante no va de la ciudad i a la j
yij
1 el viajante va de la ciudad i a la j
yii 0
ij
j 1,..., N
ij
1 1,..., N
Ay b
y Z
ILP Integer
Linear
Programming
J (x, y )
min
x, y
h(x, y) 0
g(x, y) 0
x R n , y Z
c' x d' y
min
x, y
MILP Mix-Integer
Ax b
Linear
Programming
Ey e
0 x R n , y Z
MINLP Mix-Integer
Non-Linear
Programming
Pueden re-convertirse
igualdades y
desigualdades usando
variables de holgura, al
igual que problemas min
en max
Prof. Cesar de Prada ISA-UVA
Mtodos de solucin
Relajacin
Una relajacin de un problema MILP o MINLP consiste en
suponer que las variables binarias yj pueden tomar valores
reales en el intervalo 0 yj 1. (De forma similar se trata el
caso de variables enteras) Por tanto en el problema relajado
todas las variables, x e y, son reales y resulta un problema de
tipo LP o NLP.
Dominio del problema original
Dominio del problema relajado
1
Relajacin
1
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
Sujeto a
774 y1 + 76 y2 + 42 y3 875
67 y1 + 27 y2 + 53 y3 875
y1, y2, y3 0,1
10
El problema relajado es LP y
su resolucin proporciona
una cota superior Jr* de J*:
J* 129.1
y2= 0
2
Ramificacin
LP
y2= 1
A continuacin se examinan
las dos alternativas posibles
para y2, nica variable real de
la solucin relajada
Prof. Cesar de Prada ISA-UVA
Nodo
n
LP
67 y1 + 27 y2 + 53 y3 875
y1, y2, y3 0,1
3 Relajacin
LP
Mejor solucin
factible hasta el
momento
(incumbente):
Cota inferior de J*
11
0 y1 1
y2 = 0
0 y3 1
y*=(1, 0, 1)
Jr*=126.0
4 Poda
y2= 0
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
2
Ramificacin
1
Relajacin
y2= 1
1 cota inf
inf
tol
1
1
Relajacin
B&B
LP
y2= 0
129.1
J*
126.0
12
Candidato
No hay mas
ramificacin
en este
nodo
El valor del
candidato es
una cota
inferior para
todo el
problema
0 y1 1
y2 = 0
0 y3 1
y*=(1, 0, 1)
Jr*=126.0
Poda
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
2
Ramificacin
3
129.1
J*
-
y2= 1
0 y1 1
y2 = 1
Relajaciones
0 y3 1
y*=(0.978,1, 1)
Jr*=128.11
y1= 0
Ramificacin y1= 1
Cota
superior
en esta
rama:
128.11
J*
126.0
1
1
Relajacin
B&B
LP
y2= 0
129.1
J*
126.0
Candidato
No hay mas
ramificacin
en este
nodo
0 y1 1
y2 = 0
0 y3 1
y*=(1, 0, 1)
Jr*=126.0
Poda
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
2
Ramificacin
3
y2= 1
0 y1 1
y2 = 1
Relajaciones
0 y3 1
y*=(0.978,1, 1)
Jr*=128.11
y1= 0
Ramificacin y1= 1
13
129.1
J*
-
Cota
superior
en esta
rama:
128.11
J*
126.0
Cada ramificacin
proporciona cotas
superiores menores
en esa rama
Prof. Cesar de Prada ISA-UVA
1
1
Relajacin
B&B
LP
y2= 0
129.1
J*
126.0
Candidato
14
Nueva
solucin
factible, pero
inferior a la
del candidato
actual por lo
que este no
cambia
0 y1 1
y2 = 0
0 y3 1
y*=(1, 0, 1)
Jr*=126.0
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
y2= 1
2
Ramificacin
3
0 y1 1
y2 = 1
Relajaciones
0 y3 1
y*=(0.978,1, 1)
Jr*=128.11
y1= 0
Ramificacin
y1 =0
y2 = 1
0 y3 1
y*=(0,1, 1)
Jr*=44.0
Poda
129.1
J*
-
128.11
J*
126.0
y1= 1
Relajacin
No se puede seguir
ramificando este nodo
Prof. Cesar de Prada ISA-UVA
1
1
Relajacin
B&B
LP
y2= 0
129.1
J*
126.0
Candidato
15
0 y1 1
y2 = 0
0 y3 1
y*=(1, 0, 1)
Jr*=126.0
y1 =0
y2 = 1
0 y3 1
y*=(0,1, 1)
Jr*=44.0
Poda
129.1
J*
-
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
y2= 1
2
Ramificacin
3
0 y1 1
y2 = 1
Relajaciones
0 y3 1
y*=(0.978,1, 1)
Jr*=128.11
y1= 0
Ramificacin y1= 1
El valor de J*r es
inferior a la cota
inferior del candidato,
cualquier
ramificacin dara un
valor menor, puede
podarse el nodo
128.11
J*
126.0
y1 = 1
Relajacin
y2 = 1
0 y3 1
y*=(1, 1, 0.595)
Jr*=113.81
Poda
Prof. Cesar de Prada ISA-UVA
1
1
Relajacin
B&B
LP
y2= 0
129.1
J*
126.0
Candidato
16
0 y1 1
y2 = 0
0 y3 1
y*=(1, 0, 1)
Jr*=126.0
y1 =0
y2 = 1
0 y3 1
y*=(0,1, 1)
Jr*=44.0
Poda
0 y1 1
0 y2 1
0 y3 1
y*=(1, 0.776, 1)
Jr*=129.1
2
Ramificacin
3
y1= 0
129.1
J*
-
y2= 1
0 y1 1
y2 = 1
0 y3 1
y*=(0.978,1, 1)
Jr*=128.11
128.11
J*
126.0
Ramificacin y1= 1
5
y1 = 1
El candidato
y2 = 1
actual, nodo 2, es
0 y3 1
el ptimo al
y*=(1, 1, 0.595)
haberse podado
Jr*=113.81
Poda
ya todas las
ramas
Prof. Cesar de Prada ISA-UVA
17
Unidad
Costes de
puesta en
marcha
Costes por Kg
de pintura
producida
Capacidad, Kg
2800
1900
2000
1700
1900
2900
Prof. Cesar de Prada ISA-UVA
Fbricas de pinturas
Las unidades pueden ponerse en marcha al principio de la
maana o al principio de la tarde. Lgicamente, si una unidad se
puso en marcha por la maana y sigue operando por la tarde solo
genera costos de puesta en marcha por la maana. Todas las
unidades se apagan por la noche y las decisiones de puesta en
marcha para el da se toman por la maana cada da de acuerdo a
los pedidos existentes.
Si un determinado da deben servirse 2500 kg de pintura por la
maana y 3500 kg por la tarde, Qu unidades deben ponerse en
funcionamiento y cuando para incurrir en los menores costos
posibles?
18
Fbrica de pinturas
Variables:
1
19
Fbrica de pinturas
3
min ci z i pi wi ( yi1 yi 2 )
y ij , z i
i 1
w y
2
i 1
ij
z i yij
Dj
i 1,2,3
j 1,2
Excel
20
j 1,2
y
i 1
i1
Formulacin en GAMS
sets i unidades / u1, u2, u3 /
j periodos / m, t /
parameters costea(i) coste de arrancar una unidad
/ u1=2800, u2=2000, u3=1900 /
costeKg(i) coste por kg por periodo / u1=5 , u2=3, u3=8 /
capacidad(i) capacidad /u1=1900, u2=1700, u3=2900/
demanda(j) demanda por periodo / m= 2500, t = 3500/;
variables
21
Formulacin en GAMS
equations produccion(j) produccion en cada periodo
restriccion(i,j) limites en z
costetotal calculo del coste;
produccion(j).. sum(i, y(i,j)*capacidad(i)) =g= demanda(j);
restriccion(i,j).. z(i) =g= y(i,j);
costetotal.. coste =e= sum(i,
costea(i)*z(i)+costeKg(i)*capacidad(i)*sum(j,y(i,j)));
22
Capacidad
kg/dia
8000
Kg de materias A
primas
necesarias
10000
Para hacer p1
0.4
0.6
0.16
Para hacer p2
0.3
0.7
0.2
Disponibilidad
A
Beneficio
/ Kg
p1
1
p2
23
6000
B
C
Qu cantidad de p1 y
p2 deben producirse
para maximizar el
beneficio?
Prof. Cesar de Prada ISA-UVA
xi 2000 yi
i 1, 2
0 y1 4
0 y2 5
yi
A
p1
1
B
p2
C
24
entera
xi tiene que tomar
valores mltiplos de
2000 Kg, el tamao
del lote
2
Prof. Cesar de Prada ISA-UVA
i 1, 2
0 y1 4
0 y1 5
yi
1
Relajacin
0 y1 4
0 y2 5
y*=(2.5, 5)
Jr*=2800
entera
y1 2
El problema relajado es LP y
su resolucin proporciona
una cota superior Jr* de J*:
J* 2800
25
2
Ramificacin
LP
y1 3
A continuacin se examinan
las dos alternativas posibles
para y1, nica variable real de
la solucin relajada
Prof. Cesar de Prada ISA-UVA
Nodo
n
i 1, 2
0 y1 4
0 y1 5
yi
y1 2
entera
3 Relajacin
LP
Mejor solucin
factible hasta el
momento
(incumbente):
Cota inferior de J*
26
LP
0 y1 2
0 y2 5
y*=(2,5)
Jr*=2640
4 Poda
0 y1 4
0 y2 5
y*=(2.5, 5)
Jr*=2800
2
Ramificacin
1
Relajacin
y1 3
1
1
Relajacin
B&B
LP
y1 2
2800
J*
2640
Candidato
No hay mas
ramificacin
en este
nodo al dar
una
solucin
entera
27
0 y1 2
0 y2 5
y*=(2, 5)
Jr*=2640
2800
J*
-
0 y1 4
0 y2 5
y*=(2.5, 5)
Jr*=2800
2
Ramificacin
3
Relajaciones
Poda
y1 3
3 y1 4
0 y2 5
y*=(3,4)
Jr*=2560
Poda
Tambien da
solucin
entera, pero
es inferior al
nodo 2
28
i 1
y1
y2
i 1
y3
i 1
29
y j yi 0
30
31
Uy i 0
qj
j 1
q j 0 j 1,2 , . . . , m
si y 0, q j 0
32
y1 y 2 y 3 1
P1 P2 P3
y 1 1, y 2 1 y 3 1
P1 P2
1 y 1 y 2 1 o y 1 y 2 0
P1 si y solo si P2
y1 y 2
uno entre P1 , P2 , P3
y1 y 2 y 3 1
P1 P2 P3
y1 y 3 0 y 2 y 3 0
33
( P1 P2 ) P1 P2
34
Ejemplo (1)
( P1 P2 ) P3 ( P4 P5 )
Paso 1
( P1 P2 ) P3 ( P4 P5 )
Paso 2
(P P ) P (P
1
P5 )
Paso 3
( P P ) ( P P ) P ( P P )
P P P P P P P
1
35
Ejemplo (2)
P P
1
P4 P5 P3 P4 P5
Q1 Q 2
Q 1 P1 P2 P4 P5
Q 2 P3 P4 P5
luego Q 1 Q 2
1 y 1 1 y 2 y 4 y 5 1
1 y 3 y 4 y 5 1
resulta ser
y1 y2 y4 y5 1
( P1 P2 ) P3 ( P4 P5 )
y 3 y 4 y5 0
36
CH 3COCH 2 CO2 C 2 H 5
H 3O
37
Et 2 O / H 3O
CH 3CHO CH 3 MgI
CH 3CHOHCH 3
/ H 2 SO4
CH 3CHOHCH 3 CrO
3
CH 3COCH 3
3 / H 2 O / H 2 O2
CH 2 C CH 3 2 O
CH 3COCH 3 HCO2 H
CO2 CH 3
Mg / Er2 O
CH 3 I
CH 3 MgI CH
3
CH 3 3 COH
CH 3 3 COH CH 2 C CH 3 2
CH 4 I 2 CH 3 I HI
CH 4 Cl 2 CH 3Cl HCl
3 / Cu
CH 3CH 2 OH O2 Cr
2O
CH 3CHO
H 2O
CH 3Cl NaCN
NaCl CH 3CN
38
CH 3CHO O2 CH 3COOH
Prof. Cesar de Prada ISA-UVA
I.
A B
M
39
A B C D
A B C D
se puede expresar como
A M B
A B esto es equivalente A B
2. Mover la negacin al interior
A B A B
A B A B
Ejemplo
A B C D
A B C D
A B C D
A B C A B D
A B C A C B C
40
( ) clusula
A B C A B D
1 y A 1 y B yC 1
1 y A 1 yB yD 1
y A y B yC 1
y A yB yD 1
41
CH 3CHO O2 CH 3COOH
y1 CH 3CHO
CH 3CHO O2 CH 3COOH
y 2 O2
1 y1 y3 1
1 y 2 y3 1
42
y3 CH 3COOH
y1 y3 0
y 2 y3 0
min yu
s.a.
Ay a
yr 0,1 , r 1,..., R
n
43
Ejemplo 1: Planteamiento
(Grossmann)
Representacin de alternativas para producir producto C a partir de los
productos A y B, a travs de los Procesos I, II, III. El producto C puede
ser producido slo a travs del proceso I; los procesos I y III, y los
procesos I y II. Los procesos II y III no pueden realizarse
simultneamente.
B
c
A2
Proceso II
B2
A1
Proceso I
B1
A3
44
Proceso III
B3
Ejemplo 1: Datos
Conversiones:
Proceso I:
Capacidad mxima
C = 0.9B
Precios
2 ton/h de C
Proceso II:
5 ton/h de B
Proceso III:
4 ton/h de B
Coste de Inversin
A: 1.800 $/ton
45
Proceso I:
B: 7.000 $/ton
Proceso I:
3.5
C: 13.000 $/ton
Proceso II:
Proceso III:
1.5
1.2
Demanda de C:
1 ton/h mximo
Ejemplo 1: Formulacin
B1
A2
Proceso II
B2 y 2
A1
A3
B1
Proceso III
Proceso I
C y1
B3 y 3
46
B2 5y2
B3 4 y3
c 2 y1
Lmites
Prof. Cesar de Prada ISA-UVA
GAMS
Positive Variables
a2 materia prima para el proceso 2
a3 materia prima para el proceso 3
b2 produccion de producto B en el proceso 2
b3 produccion de producto B en el proceso 3
bc cantidad de producto B que se puede adquirir en el mercado
b1 cantidad de producto B que se consume en el proceso 1
c1 capacidad de produccion del producto c en el proceso 1 ;
Binary Variables
y1 existencia del proceso 1
y2 existencia del proceso 2
y3 existencia del proceso 3 ;
Variable
pr beneficio total en millones de $ por ano ;
47
GAMS
las restricciones inout2 e inout3 se han convexificado
inout1.. c1 =e= 0.9*b1 ;
inout2.. exp(b2) - 1 =e= a2 ;
inout3.. exp(b3/1.2) - 1 =e= a3 ;
mbalb.. b1 =e= b2 + b3 + bp ;
log1.. c1 =l= 2*y1 ;
log2.. b2 =l= 4*y2 ;
log3.. b3 =l= 5*y3 ;
48
GAMS
y1.L = 1.000 existencia del proceso 1
y2.L = 0.000 existencia del proceso 2
y3.L = 1.000 existencia del proceso 3
c1.L = 1.000 capacidad de produccion del producto c en
el proceso 1
b1.L = 1.111 cantidad de producto B que se consume en el
proceso 1
b2.L = 0.000 produccion de producto B en el proceso 2
b3.L = 1.111 produccion de producto B en el proceso 3
bc.L = 0.000 cantidad de producto B que se puede adquirir en el
mercado
a2.L = 0.000 materia prima para el proceso 2
a3.L = 1.524 materia prima para el proceso 3
Proceso I
A3
49
Proceso III
B3 y 3
C
y1
Representacin de Alternativas:
Superestructuras, Floudas 1995
En una superestructura, se engloban todas las posibles
estructuras alternativas, que adems, son candidatas a la
solucin factible u ptima del proceso
Unidad
2
Entrada
1
Unidad
1
Unidad
3
50
Salida
1
Salida
2
Ejemplo de produccin de
amonaco, Biegler et all, 1997.
Recuperacin de
Hidrgeno
N2
H2
51
Compresor
Reactor
Separacin
Purga
NH 3
Ejemplo de produccin de
amonaco (rbol de alternativas)
reactor
tubular
condensacin
por flash
separacin por
membrana
no se recupera H2
destilacin
absorcin
separacin por
membrana
no se recupera H2
condensacin
por flash
reactor
multilecho
52
destilacin
absorcin
no se recupera H2
separacin por
membrana
no se recupera H2
separacin por
membrana
Ejemplo de produccin de
amonaco (superestructura)
purga
agua
absorbedor
NH3
reactor
tubular
N2
flash
H2
reactor
multilecho
53
agua
condensacin
por flash
NH
3
Prof. Cesar de Prada ISA-UVA
purga
flash
N2
H2
reactor
multilecho
condensacin
por flash
NH3
54
agua
absorbedor
NH3
flash
N2
agua
H2
reactor
tubular
condensacin
por flash
NH3
Alternativa 2: reactor tubular / condensacin por flash y
destilacin por absorcin / separacin por membrana Prof. Cesar de Prada ISA-UVA
55
Superestructuras
L5
L9
L6
L1
Representacin de todas
las alternativas posibles.
Cul es la mejor?
U-2
L2
B (98% C1)
L3
L10
L4
L7
U-3
U-1
C (97% C2)
L11
L8
56
D (99% C3)
Prof. Cesar de Prada ISA-UVA
Asignacin de tareas
En un taller trabajan n personas capaces de realizar diversas tareas.
Debido a sus diferentes habilidades y experiencia cada una tarda un
tiempo diferente en hacer cada una de las tareas, el cual es
conocido. Se deben realizar n de esas tareas para completar un
determinado trabajo. Cmo debe asignarse el personal para realizar
el tiempo total empleado?
Variables
i personas
j tareas
tij tiempo que la persona i tarda en hacer la tarea j
57
Asignacin de tareas
n
min t ij y ij
x
i 1 j1
sujeto a
n
y
i 1
ij
y
j1
ij
1
1
j 1,..., n
i 1,..., n
yij binaria
58
Oleoducto
P1
P1
P2
P2
Centro C1
P1
P3
P3
Centro C2
59
Reactor batch
A
k C 5 *1011 exp(20000 / RT )
Encontrar el perfil de temperatura que maximiza la
produccin final de B, sabiendo que esta debe ser inferior
en todo momento a 139 C
60
Optimizacin dinmica
A
xB
tiempo
B
T
max
T (t )
61
x B (1)
dx A
(k B k C ) x A x A (0) A0
dt
dx B
1h
6
x B ( 0) 0
kB xA
k B 10 exp(10000 / RT )
dt
11
k
5
*
10
exp(20000 / RT )
T (t ) 139
C
tiempo
xB
tiempo
B
T
max
Ti
62
x B (1)
dx A
(k B k C ) x A x A (0) A0
dt
dx B
1h
6
kB xA
x B ( 0) 0
k B 10 exp(10000 / RT )
dt
11
k
5
*
10
exp(20000 / RT )
Ti 139
C
tiempo
x B (1)
dx A
(k B k C ) x A x A (0) A0
dt
dx B
kB xA
x B ( 0) 0
dt
Ti 139
u(t)
Optimizador
Ti
y(t)
Proceso
xB(1), Ti -139
Simulacin desde 0 a 1
para calcular J(u,x(t))
63
u(t)
Optimizador
u
64
y(t)
Proceso
Simulacin desde 0 a 1
para calcular J(u,x(t))
Prof. Cesar de Prada ISA-UVA