Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El mtodo Branch and Boundpuede resolver un gran e nmero de PE y PEM u Ciertos tipos de problemas pueden resolverse con algoritmos especialistas (ej. redes)
Principios: Reducir la discrepancia entre la solucin verdadera y la o relajacin lineal o El PE deber tener un unico propsito claro a o
Relajacin lineal de un PE
5
PL. Z=8.5
4
x2
2
PE. Z=3
1
0 0 1 2 3 4 5
x1
7 6 5
z
Max x1+x2 s.a 2x1+2x2 3 2x1-2x2 3 2x1+4x2 19 x1,x2 0, enteros
0 1 2 3 4 5
x2
4 3 2 1 0
x1
0. Resolver la relajacin lineal o x1 = 4,167, x2 = 2,667 z = 6,833 1. Escoger una variable con valor fraccional e imponer restricciones extra para forzarla a ser entera
Criterio heur stico. p.e, la variable ms cercana a un valor a entero Si x = N + f , donde 0 < f < 1, x N o x N + 1
2. las soluciones en los nodos 1 y 2 no son enteras. Desarrollar uno de los dos nodos
- De nuevo la seleccin es heur o stica - La heur stica usada puede tener un gran efecto en el tiempo de solucin total del modelo o - Regla simple: desarrollar el nodo con mejor valor objetivo Proceder con el nodo 2
0 x22
x1=3.5 x2=2 z=5.5
x23
x1=3.5 x2=3 z=6.5
1 x13 7
Entera
2 x13
x1=3 x2=3.25 z=6.25
x14
x1=3 x2=2 z=5 No 8 factible Terminado
x14
factible 3 Terminado No
acotada
x23
x1=3 x2=3 Entera z=6
x24
x1=1.5 x2=4 z=5.5
6
acotada
2. Ramicacin o
a Escoger un subproblema no terminado (el nodo raiz en la primera iteracin) o b Escoger una variable xi que no fuera entera en la solucin o o ptima del PL del nodo actual. Hacer xi = 0 y xi = 1 c Crear dos subproblemas nuevos, aadiendo la restriccin xi = 0 n o a uno de ellos y xi = 0 al otro.
2. Ramicar
a Escoger problema no terminado b Escoger xi no entero xi = 1, xi = 0 c Resolver los dos subproblemas con las restricciones generadas en [b].
4. Terminar un ramal si Z Z UB
Estrategia: mx f (x) s.t x R a Encuentre x 1 = mxxR1 f (x) y R R1 a Si R1 es una regin convexa, y f (x) es cncava se pueden o o aplicar mtodos como el Simplex para encontrar x 1 e Si x 1 R, x 1 resuelve el P.E Si x 1 R, modicar R1 para que excluya x 1 pero ningn otro / u punto de R. Si conocemos x 0 R , R1 modicado no puede excluir ningn u punto de R tal que f (x) > f (x 0 ). Si se encuentra x R|f (x) > f (x 0 ), reemplazamos x 0 por x.
Formulacin Eciente o
Variables enteras que se presten para ramicar Relajacin lineal ms restringida o a Ejemplo: m z = 2x1 + 7x2 + 2x3 n s.a : x1 + 4x2 + x3 10 4x1 + 2x2 + 2x3 13 x1 + x 2 x 3 0 x1 , x2 , x3 , x4 entero
0 x21
x1=2.5 x2=1 x3=3.5 z=19
x22
x1=2.25 x2=2 x3=0 z=18.5
2 x12
x13
x1=2 x2=2 x3=0.5 z=19
7
No-factible
8
Entera
4
Entera
x30 5
acotada x1=2 x2=2.5 x3=0 z=21.5
x31
x1=1.75 x2=2 x3=1 z=19.5
6
acotada
0 x21
x1=2.5 x2=1 x3=3.5 z=19
x22
x1=2.5 x2=2 x3=0 z=19
1 x12 3
No-factible
acotada
x13 4
Entera
Planos cortantes
Restricciones que cortan parte de la regin factible de la relajacin o o lineal pero no cortan ninguna solucin entera. o Ej. para restricciones tipo pueden generarse: Agregando restricciones en mltiplos adecuados u Dividiendo por factores comunes Redondeando el lado derecho de la restriccin hacia el entero o siguiente () o hacia el entero anterior () En teor siempre es posible reformular un PE de forma que a, sus restricciones denan la envolvente convexa de las soluciones enteras factibles.
Unimodularidad e integralidad
Matrices unimodulares
- Todos los determinantes de una matriz unimodular son iguales a 0 1 o - Si A es unimodular y b es entero, la relajacin lineal del o problema entero con restricciones Ax = b tiene una solucin o entera - La matriz A de un problema de red es totalmente unimodular
Regin factible PE
5 4 3
x2
2 1 0 0 1 2 3 4 5
x1
Envolvente convexa
5 4 3
x2
2 1 0 0 1 2 3 4 5
x1
Solucin entera
5 4 3
x2
2 1 0 0 1 2 3 4 5
Max x1+x2 s.a x1+x2 2 x21 x1-x2 1 x13 x1+2x2 9 x24 x10
x1
Usar una secuencia de relajaciones lineales del programa entero cada vez ms ajustada a Encontrar una desigualdad vlida que corta la solucin decimal a o En cualquier otra solucin de la relajacin lineal, al menos una o o de las variables no bsicas es positiva. Ya que las variables son a enteras, al menos una debe ser mayor o igual que 1 xj 1
jN
aij xj = a10
Sea fij la parte decimal de aij fij = aij aij Para cada solucin con xi entera o xi +
jN
jN