programaci on entera · introducci on relajaci on lineal m etodos de plano cortante cortes de...

Post on 01-Jan-2020

53 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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:ndevia@ing.uchile.cl

Nelson Devia C. Programacion Entera

IntroduccionRelajacion Lineal

Metodos de Plano CortanteCortes de Gomory

Algoritmo Branch & Bounds

Nelson Devia C. Programacion Entera

top related