IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Programacion Entera
Nelson Devia C.
IN3701 - Modelamiento y OptimizacionDepartamento de Ingenierıa Industrial
Universidad de Chile
2011Basado en Bertsimas, D., Tsitsiklis, J. (1997)
“Introduction to Linear Optimization”Capıtulos 10 y 11
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Contenidos
1 Introduccion
2 Relajacion Lineal
3 Metodos de Plano Cortante
4 Cortes de Gomory
5 Algoritmo Branch & Bounds
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Introduccion
Los problemas de programacion lineal entera (IP1) son equivalentes a losproblemas de programacion lineal (LP2), excepto que algunas de lasvariables se restringen a tomar solo valores enteros.
En general, se tiene el siguiente problema de programacionmixta(MIP3):
(MIP) mın z = c ′x + d ′y
Ax + By = b
y ≥ 0
x ∈ Zn+
Si no hay variables continuas, entonces se tiene un problema deprogramacion entera:
(IP) mın z = c ′x
Ax = b
x ∈ Zn+
1Integer Programming
2Linear Programming
3Mixed Integer Programming
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Introduccion
Las variables binarias son aquellas que solo pueden tomar los valores 0o 1.
Claramente, las variables binarias tambien son enteras, ya que {0, 1} ⊂ ZSi todas las variables son binarias se tiene un problema de programacionentera binaria:
mın z = c ′x
Ax = b
x ∈ {0, 1}n
El caso mas general es cuando se tienen todo tipo de variables:mın z = c ′x + d ′y + e′z
Ax + By + Cz = b
x ≥ 0
y ∈ Zn+
z ∈ {0, 1}m
Es importante destacar que para que un problema sea entero lasvariables deben ser enteras, no ası el valor de la funcion objetivo.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Introduccion
Los problemas enteros y mixtos son mas difıciles de resolver que los problemaslineales, por varias razones:
No se tiene una region factible.
El conjunto S de soluciones factibles es no convexo.
El optimo del problema entero no se encuentra necesariamente en un“vertice” de S .
Ejemplo de Problema Entero en R2:
max x1
x1 + x2 ≤ 4
x1 − x2 ≤ 3
x1, x2 ∈ Z+
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Introduccion
Los problemas enteros y mixtos son mas difıciles de resolver que los problemaslineales, por varias razones:
No se tiene una region factible.
El conjunto S de soluciones factibles es no convexo.
El optimo del problema entero no se encuentra necesariamente en un“vertice” de S .
Ejemplo de Problema Mixto en R2:
max x1
x1 + x2 ≤ 4
x1 − x2 ≤ 3
x1 ≥ 0
x2 ∈ Z+
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Relajacion Lineal
La relajacion lineal de un problema entero (o mixto) corresponde al mismoproblema, pero en el que se les permite a todas las variables ser continuas.Ejemplo:
(P) max z = x1
x1 + x2 ≤ 4
x1 − x2 ≤ 3
x1, x2 ∈ Z+
⇒Relajacion
Lineal
(PR) max z = x1
x1 + x2 ≤ 4
x1 − x2 ≤ 3
x1, x2 ≥ 0
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Relajacion Lineal
En toda relajacion, se tiene que el conjunto de soluciones factibles es masgrande que el del problema original.
Si llamamos SP a la region factible del problema entero y SPR a la delproblema relajado, siempre se tiene que:
SP ⊆ SPR
Por esta razon, el optimo del problema relajado siempre sera mejor oigual al optimo del problema entero. En el ejemplo, como se trataba deun problema de maximizacion:
z∗PR ≥ z∗P
Concretamente: z∗PR = 3,5, mientras que z∗P = 3.
Notar que la solucion optima de (PR), x∗PR =(3, 5 0,5
)es infactible en
el problema (P), pues no es entera.
En general, el optimo del problema relajado (z∗PR) sirve como una cotapara el problema original.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Metodos de Plano Cortante
Como no existen algoritmos eficientes para resolver problemas enteros, seplantean metodos que buscan el optimo resolviendo una serie de problemaslineales.Ejemplo: Consideremos el problema (P) y su relajacion (PR):
(P) mın c ′x
Ax = b
x ∈ Z+
(PR) mın c ′x
Ax = b
x ≥ 0Un algoritmo de plano cortante generico es el siguiente:
1. Resolver la relajacion lineal (PR). Sea x∗ la solucion optima.
2. Si x∗ ∈ Z+ terminar, x∗ es el optimo de (P).
3. Si no, agregar una restriccion a (PR), tal que sea satisfecha por todasolucion entera de (P), pero no por x∗. Volver al paso 1.
Nota: La forma en que se eligen estas restricciones determina la eficiencia del
algoritmo.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Metodos de Plano Cortante
Ejemplo: (P) max z = 3x1 − x2
x1 + x2 ≤ 4
x1 − x2 ≤ 3
x1, x2 ∈ Z+
(PR) max z = 3x1 − x2
x1 + x2 ≤ 4
x1 − x2 ≤ 3
x1, x2 ≥ 0
⇒Plano
Cortante
(PR1) max z = 3x1 − x2
x1 + x2 ≤ 4
x1 − x2 ≤ 3
7x1 − x2 ≤ 21
x1, x2 ≥ 0
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Uno de los primeros algoritmos para problemas enteros lo propuso Gomory(1958), usando informacion que entrega Simplex:
Sea (PR) un problema lineal en forma estandar que representa larelajacion de un problema entero:
(PR) mın z = c ′x
Ax = b
x ≥ 0
De Simplex sabemos que, dada una base AB , se tiene que:
xB + A−1B ANxN = A−1
B b
xB + ANxN = b
Sea aij = (Aj)i y supongamos que bi /∈ Z. Se tiene que:
xi +∑j /∈B
aijxj = bi
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Denotamos bpc a la parte entera inferior de p.
Como se tiene que xj ≥ 0 ∀j , se tiene:
xi +∑j /∈B
baijcxj ≤ xi +∑j /∈B
aijxj = bi
Como los xj deben ser tambien enteros, el lado izquierdo de ladesigualdad es entero, por lo que:
xi +∑j/∈B
baijcxj ≤ bbic
Notar que esta desigualdad la satisfacen todas las soluciones enterasfactibles en (PR), pero no por el optimo x∗, ya que x∗i = bi /∈ Z yx∗j = 0 ∀j /∈ B.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Ejemplo:
mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1, x2 ∈ Z+
⇒Forma
Estandar
(P) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x1, x2, x3, x4 ∈ Z+
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Ejemplo: El problema relajado es el siguiente:
(PR) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x1, x2, x3, x4 ≥ 0
El optimo de este problema esta dado por la base: xB = {x1, x2} yxN = {x3, x4}, donde:
AB =
(−4 61 1
)AN =
(1 00 1
)b =
(94
)A−1
B =
(−110
610
110
410
)AN =
(−110
610
110
410
)b =
(15102510
)
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Ejemplo:
(PR) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x1, x2, x3, x4 ≥ 0
Luego, x∗B + ANx∗N = b implica que:(
x∗1x∗2
)+
(−110
610
110
410
)·(x∗3x∗4
)=
(15102510
)Con esto se tiene que:
x∗1 +−1
10x∗3 +
6
10x∗4 =
15
10
x∗2 +1
10x∗3 +
4
10x∗4 =
25
10Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Ejemplo:
(PR) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x1, x2, x3, x4 ≥ 0
Notar que se trata de las restricciones activas en el optimo de (PR)
Eligiendo cualquiera de las ecuaciones con lado derecho no entero, se tiene uncorte de Gomory:
x∗1 +
⌊−1
10
⌋x∗3 +
⌊6
10
⌋x∗4 ≤
⌊15
10
⌋⇒ x∗1 + (−1) · x∗3 + 0 · x∗4 ≤ 1 ⇒ x∗1 − x∗3 ≤ 1
x∗2 +
⌊1
10
⌋x∗3 +
⌊4
10
⌋x∗4 ≤
⌊25
10
⌋⇒ x∗2 + 0 · x∗3 + 0 · x∗4 ≤ 2 ⇒ x∗2 ≤ 2
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Si se elige la primera en el ejemplo, se tiene:
(PR1) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x1 − x3 + x5 = 1
x1, x2, x3, x4, x5 ≥ 0
Notar que en la region factible de (PR1) se “corto” la solucion optima de(PR) sin eliminar ninguna de sus soluciones enteras factibles.
x∗PR =(
1510
2510
0 0 0)
no satisface la nueva restriccion.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Si se elige la segunda en el ejemplo, se tiene:
(P1) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x2 + x5 = 2
x1, x2, x3, x4, x5 ≥ 0
Notar que en la region factible de (PR1) se “corto” la solucion optima de(PR) sin eliminar ninguna de sus soluciones enteras factibles.
x∗PR =(
1510
2510
0 0 0)
no satisface la nueva restriccion.
El optimo de este nuevo problema es x∗PR1=(
34
2 0 54
0)
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
(PR1) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x2 + x5 = 2
x1, x2, x3, x4, x5 ≥ 0
Del mismo modo que en el caso anterior, se tiene que una de lasrestricciones activas en el optimo de (PR1) es:
x∗1 −1
4· x∗3 +
6
4· x∗5 =
3
4Luego:
x∗1 −⌊
1
4
⌋x∗3 +
⌊6
4
⌋x∗5 ≤
⌊3
4
⌋⇒ x∗1 + (−1)x∗3 + 1x∗5 ≤ 0 ⇒ x∗1 − x∗3 + x∗5 ≤ 0
Reemplazando x∗3 y x∗5 con las demas restricciones, se tiene que:
−3x∗1 + 5x∗2 ≤ 7
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Cortes de Gomory
Agregando esta nueva restriccion a (PR1) se tiene el problema (PR2):
(PR2) mın z = x1 − 2x2
−4x1 + 6x2 + x3 = 9
x1 + x2 + x4 = 4
x2 + x5 = 2
−3x1 + 5x2 + x6 = 7
x1, x2, x3, x4, x5, x6 ≥ 0
El optimo de este problema se alcanza para:
x∗PR2=(1 2 1 1 0 0
)∈ Z6
Como la solucion de este problema es entera, tenemos una solucionoptima del problema original (P).
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
El algoritmo Branch & Bounds (Ramificacion y Acotamiento) se basa enla division o ramificacion de la relajacion lineal del problema entero, conel objetivo de encontrar cotas al valor optimo.
Consideremos el problema (P) y su relajacion (PR):
(P) mın zP = c ′x
Ax = b
x ∈ Z+
(PR) mın zPR = c ′x
Ax = b
x ≥ 0
Una cota inferior al optimo del problema entero (z∗P) es el optimo de surelajacion lineal (z∗PR). (Cota superior si (P) fuera de maximizacion)
z∗P ≥ z∗PR
Una cota superior al optimo del problema entero (z∗P) es el valor z decualquier solucion factible en (P). (Cota inferior si (P) fuera demaximizacion)
z∗P ≤ z
La mejor solucion factible Z encontrada hasta el momento se conocecomo incumbente.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Un algoritmo de ramificacion y acotamiento generico es el siguiente:Inicializacion:Incumbente: Z = +∞Problema activo: Pi = PR
1. Elegir problema activo Pi aun sin resolver. Si no hay, terminar: el optimodel problema entero es el incumbente Z .
2. Resolver el problema activo (Pi ).
3. Si Pi es infactible, volver a 1.
4. Sea x∗ la solucion optima de (Pi ) y cx∗ su valor optimo. Si cx∗ > Z ,volver a 1.
5. Si x∗ ∈ Z+ actualizar el incumbente Z = cx∗ y volver a 1.
6. Si no, elegir x∗i /∈ Z+. Activar 2 nuevos problemas, agregando una de las
siguientes restricciones a cada uno:
a. (PR1) = (PR) ∪ {xi ≤ bx∗i c}b. (PR2) = (PR) ∪ {xi ≥ dx∗i e}
Volver a 1.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
En otras palabras, en cada iteracion en la que se llega a una solucion no entera,se generan 2 cortes que eliminan el intervalo no entero en el que se encontrabaalguna de las variables.Notar que la ramificacion de B&B tiene 3 criterios de detencion:
1. Se llega a un problema infactible.
2. Se llega a una solucion entera.
3. El valor optimo encontrado es peor que el incumbente.
Ejemplo:
(P) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1, x2 ∈ Z+
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos la relajacionlineal de (P):
(P0) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1, x2 ≥ 0
Se obtiene que:
x∗P0=
(1,5 2,5
)zP0 = −3,5
Elegimos una variable noentera para ramificar: x1
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos la relajacionlineal de (P):
(P0) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1, x2 ≥ 0
Se obtiene que:
x∗P0=
(1,5 2,5
)zP0 = −3,5
Elegimos una variable noentera para ramificar: x1
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P1):
(P1) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x1, x2 ≥ 0
Se obtiene que:
x∗P1=
(1 2,16
)zP1 = −3.3
Elegimos una variable noentera para ramificar: x2
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P1):
(P1) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x1, x2 ≥ 0
Se obtiene que:
x∗P1=
(1 2,16
)zP1 = −3.3
Elegimos una variable noentera para ramificar: x2
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P3):
(P3) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1, x2 ≥ 0
Se obtiene que:
x∗P3=
(0,75 2
)zP3 = −3,25
Elegimos una variable noentera para ramificar: x1
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P3):
(P3) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1, x2 ≥ 0
Se obtiene que:
x∗P3=
(0,75 2
)zP3 = −3,25
Elegimos una variable noentera para ramificar: x1
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P5):
(P5) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≤ 0
x1, x2 ≥ 0
Se obtiene que:
x∗P5=
(0 1,5
)zP5 = −3
Elegimos una variable noentera para ramificar: x2
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P5):
(P5) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≤ 0
x1, x2 ≥ 0
Se obtiene que:
x∗P5=
(0 1,5
)zP5 = −3
Elegimos una variable noentera para ramificar: x2
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)Resolvemos (P7):
(P7) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≤ 0
x2 ≤ 1
x1, x2 ≥ 0
Se obtiene que:
x∗P7=
(0 1
)zP7 = −2
Como se tiene quex∗P7∈ Z2
+ se detiene laramificacion y se actualizael incumbente Z = −2.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)Resolvemos (P7):
(P7) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≤ 0
x2 ≤ 1
x1, x2 ≥ 0
Se obtiene que:
x∗P7=
(0 1
)zP7 = −2
Como se tiene quex∗P7∈ Z2
+ se detiene laramificacion y se actualizael incumbente Z = −2.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P8):
(P8) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≤ 0
x2 ≥ 2
x1, x2 ≥ 0
Se obtiene un problemainfactible, por lo que sedetiene la ramificacion.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P8):
(P8) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≤ 0
x2 ≥ 2
x1, x2 ≥ 0
Se obtiene un problemainfactible, por lo que sedetiene la ramificacion.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)Resolvemos (P6):
(P6) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≥ 1
x1, x2 ≥ 0
Se obtiene que:
x∗P6=
(1 2
)zP6 = −3
Como se tiene quex∗P6∈ Z2
+ se detiene laramificacion y se actualizael incumbente Z = −3.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)Resolvemos (P6):
(P6) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≤ 2
x1 ≥ 1
x1, x2 ≥ 0
Se obtiene que:
x∗P6=
(1 2
)zP6 = −3
Como se tiene quex∗P6∈ Z2
+ se detiene laramificacion y se actualizael incumbente Z = −3.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P4):
(P4) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≥ 3
x1, x2 ≥ 0
Se obtiene un problemainfactible, por lo que sedetiene la ramificacion.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P4):
(P4) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≤ 1
x2 ≥ 3
x1, x2 ≥ 0
Se obtiene un problemainfactible, por lo que sedetiene la ramificacion.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P2):
(P2) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≥ 2
x1, x2 ≥ 0
Se obtiene que:
x∗P2=
(2 2
)zP2 = −2
Como se tiene quez∗P2
> Z = −3 se detiene la
ramificacion, ya quecualquier subproblema de(P2) tendra una solucionmayor o igual a z∗P2
.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Resolvemos (P2):
(P2) mın z = x1 − 2x2
−4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 ≥ 2
x1, x2 ≥ 0
Se obtiene que:
x∗P2=
(2 2
)zP2 = −2
Como se tiene quez∗P2
> Z = −3 se detiene la
ramificacion, ya quecualquier subproblema de(P2) tendra una solucionmayor o igual a z∗P2
.
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Como no quedan
problemas por resolver se
tiene que el optimo de
(P) es el incumbente
Z = −3, generado por el
nodo P6:
x∗ =(1 2
)z∗ = −3
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Algoritmo Branch & Bounds (B&B)
Como no quedan
problemas por resolver se
tiene que el optimo de
(P) es el incumbente
Z = −3, generado por el
nodo P6:
x∗ =(1 2
)z∗ = −3
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Dudas y/o Comentarios a:[email protected]
Nelson Devia C. Programacion Entera
IntroduccionRelajacion Lineal
Metodos de Plano CortanteCortes de Gomory
Algoritmo Branch & Bounds
Nelson Devia C. Programacion Entera