You are on page 1of 85

RESOLUCIN DE

MODELOS DE
PROGRAMACIN
ENTERA
11 de Junio de 2012
Programacin Entera Jos Luis Quintero 1
ENTERA
MTODOS DE ENUMERACIN,
RAMIFICACIN Y ACOTACIN
Postgrado de Investigacin de Operaciones
Facultad de Ingeniera
Universidad Central de Venezuela
1. Enumeracin total o explcita
2. Ramificacin y acotacin
3. Caso binario
Puntos a tratar
Programacin Entera Jos Luis Quintero 2
3. Caso binario
4. Caso general
Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 3
Una fbrica produce 2 productos. La ganancia del
producto 1 es de $1000/ton, y del 2, de $400/ton.
Debido a restricciones de mercado, no se pueden
producir ms de 3 ton del producto 2 por semana. El
producto 1 tiene un tiempo de produccin de 1.2
das, el 2, de 1 da y slo se trabajan 6 das a la
semana. Cuntas toneladas se deben producir a la
Ejemplo 1. Mtodo grfico
Programacin Entera Jos Luis Quintero 4
semana. Cuntas toneladas se deben producir a la
semana de cada producto para que la ganancia
sea mxima?
enteros 0 x , x
6 x x 2 . 1
3 x
. a . s x 400 x 1000 Z Max
2 1
2 1
2
2 1

+ =
2
3
4
5
6
x
2
restriccion 1
restriccion 2
obj (G=4000)
Ejemplo 1. Mtodo grfico
Programacin Entera Jos Luis Quintero 5
0
1
2
0 1 2 3 4 5 6
x1
Solo se aplica a problemas con dos variables
Ejemplo 2. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 6
Ejemplo 2. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 7
Ejemplo 3. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 8
Ejemplo 3. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 9
Ejemplo 3. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 10
Ejemplo 3. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 11
Ejemplo 3. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 12
Ejemplo 3. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 13
Ejemplo 4. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 14
Ejemplo 4. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 15
Ejemplo 4. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 16
Ejemplo 4. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 17
Ejemplo 4. Enumeracin total o explcita
Programacin Entera Jos Luis Quintero 18
Ejemplo 5. Problema de asignacin
Programacin Entera Jos Luis Quintero 19
Ejemplo 5. Problema de asignacin
Programacin Entera Jos Luis Quintero 20
1. Enumeracin total o explcita
2. Ramificacin y acotacin
3. Caso binario
Puntos a tratar
Programacin Entera Jos Luis Quintero 21
3. Caso binario
4. Caso general
El mtodo de enumeracin implcita para el
problema cero-uno es un caso particular del
mtodo ms general de Ramificacin y Acotacin.
En este ltimo, cada variable puede asumir ms de
dos valores (a diferencia de los problemas cero-
uno) y por lo tanto las tcnicas de sondeo para
eliminar soluciones no factibles son ms
sofisticadas y complejas.
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 22
sofisticadas y complejas.
El mtodo de ramificacin y acotacin no trata
directamente con el problema entero sino que
considera en su lugar el problema continuo
asociado, una vez que se levantan las restricciones
enteras de las variables.
Si la solucin continua es toda entera, entonces
sta es la solucin ptima del problema entero. De
otra manera se deben aplicar las dos operaciones
bsicas que le dan el nombre al mtodo.
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 23
Consiste en una particin del espacio continuo de
soluciones en subespacios, los cuales son tambin
continuos. Cada uno de estos subespacios de
soluciones se puede considerar correspondiente a
un subproblema del problema original.
Ramificacin
Programacin Entera Jos Luis Quintero 24
La idea de esta particin es eliminar partes del
espacio continuo que no son relevantes en el
sentido que son no factibles para el problema
entero.
Esto se lleva a cabo imponiendo restricciones que
son condiciones necesarias para producir soluciones
enteras de tal forma que ninguna solucin entera
factible sea eliminada. Es decir, la coleccin de
Ramificacin
Programacin Entera Jos Luis Quintero 25
factible sea eliminada. Es decir, la coleccin de
subproblemas que resulta de la particin define
completamente cada solucin factible del problema
original.
Suponiendo que el problema original es de
maximizacin, el valor ptimo alcanzado por la
funcin objetivo para cada uno de los subproblemas
obtenidos por la operacin de ramificacin impone
una cota superior en el valor de la funcin objetivo
asociada a cualquier valor entero factible.
Acotacin
Programacin Entera Jos Luis Quintero 26
Esta acotacin es fundamental para ordenar las
soluciones ptimas de los subconjuntos de
soluciones y de esta forma localizar la solucin
entera ptima.
El algoritmo de Land-Doig tiene la relevancia de ser
el primer algoritmo de ramificacin y acotacin
desarrollado y fue formulado por Land y Doig en
1960 para resolver problemas enteros puros y
Acotacin
Programacin Entera Jos Luis Quintero 27
1960 para resolver problemas enteros puros y
mixtos.
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 28
1. Enumeracin total o explcita
2. Ramificacin y acotacin
3. Caso binario
Puntos a tratar
Programacin Entera Jos Luis Quintero 29
3. Caso binario
4. Caso general
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 30
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 31
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 32
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 33
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 34
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 35
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 36
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 37
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 38
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 39
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 40
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 41
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 42
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 43
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 44
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 45
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 46
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 47
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 48
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 49
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 50
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 51
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 52
Ejemplo 6. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 53
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 54
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 55
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 56
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 57
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 58
1. Enumeracin total o explcita
2. Ramificacin y acotacin
3. Caso binario
Puntos a tratar
Programacin Entera Jos Luis Quintero 59
3. Caso binario
4. Caso general
Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 60
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 61
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 62
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 63
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 64
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 65
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 66
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 67
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 68
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 69
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 70
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 71
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 72
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 73
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 74
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 75
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 76
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 77
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 78
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 79
Ejemplo 7. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 80
Algoritmo de Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 81
Considere el siguiente problema de programacin entera:
PLE) Max 21x1 + 11x2
s.a. 7x2 + 4x2 13
x1 0
x2 0
Ejemplo 8. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 82
x2 0
x1, x2 enteros
Considere inicialmente la resolucin de la relajacin
continua de PLE), que consiste en eliminar las
condiciones de integralidad.
x
2
2
3 x
2
= 3
x
2
= 2
3/2
Ejemplo 8. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 83
x
1
1
2
21x
1
+11x
2
21x
1
+11x
2
=39
7x
1
+4x
2
=13
x
2
= 2
x
2
= 1
x
1
= 1
x
1
= 2
13/7 sol. relajada
P
0
P
1
P
2
infactible
x
2
2
x
1
2
x
2
1
x
1
1
x1 = 13/7
x2 = 0
z = 39
x1 = 1
x2 = 3/2
z = 37.5
x1 = 5/7
P
0
) Relajacin continua
- < z 39
P
1
) Max 21x
1
+ 11x
2
s.a. 7x
1
+ 4x
2
13
x
1
1
x
1
0
x
2
0
P2) Max 21 x
1
+ 11x
2
s.a. 7x + 4x 13
Ejemplo 8. Ramificacin y Acotacin
Programacin Entera Jos Luis Quintero 84
P
11
P
12
P
121
P
122
P
1211
P
1212
infactible
infactible
x
2
4
x
1
1
x
2
3
x1 = 1
x2 = 1
z = 32
x1 = 5/7
x2 = 2
z = 37
x1 = 0
x2 = 13/4
z = 35.75
x1 = 0
x2 = 3
z = 33
s.a. 7x
1
+ 4x
2
13
x
1
1
x
2
1
x
1
0
x
2
0
De donde 32 z 39

Solucin ptima
x
1
* = 0; x
2
* = 3; z = 33
Pensamiento de hoy
Aunque no existe una frmula
secreta para inventar una
buena estrategia, s existen
ciertos conceptos y enfoques
especficos que pueden servir
Programacin Entera Jos Luis Quintero 85
especficos que pueden servir
para que cualquier persona
llegue a desarrollar excelentes
ideas tcticas.
Kenichi Ohmae