escuela tÉcnica superior de ingenierÍa … · método “branch and bound” ... supone que la...

51
E SCUELA T ÉCNICA S UPERIOR DE I NGENIERÍA D EPARTAMENTO DE O RGANIZACIÓN I NDUSTRIAL Programación lineal entera Método de los planos de corte Método “branch and bound”

Upload: buithuy

Post on 19-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Programación lineal entera

Método de los planos de corteMétodo “branch and bound”

Branch and Bound - 1

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Método de los planos de corte, de Gomory (I)

1 1 1 1 1 2 2 1 1

2 2 1 1 2 2 2 2 2

1 1 2 2

m m m m m n m n

m m m m m n m n

m m m m m m m m m n m n m

x a x a x a x Bx a x a x a x B

x a x a x a x B

+ + + + + +

+ + + + + +

+ + + + + +

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + + ⋅⋅⋅⋅ ⋅ + ≤

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + + ⋅⋅⋅⋅ ⋅ + ≤

− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −+ + + ⋅⋅⋅+ ≤

, , ,

, , ,

, , ,

0m n i iA x b x x Z× = ≥ ∈, ,

Sea un modelo de programación lineal con n variables y m restricciones (m < n), donde las variables han de tomar valores enteros.

Al relajar la condición de que las variables sean enteras y resolver el problema de P.L. continua asociado, vamos a suponer que en la solución final las variables básicas son las m primeras. Esto supone que la matriz de restricciones adopta la forma

Branch and Bound - 2

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Método de los planos de corte, de Gomory (II)

Si todos los términos independientes son enteros hemos encontrado una solución óptima entera y el problema se ha terminado. En otro caso, la solución encontrada es infactible.

Todo número real puede descomponerse en la suma de su parte entera y su parte decimal, que es siempre positiva: R = E + D. Y recordemos que

0 0E D E+ ≥ ⇒ ≥

Branch and Bound - 3

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Método de los planos de corte, de Gomory (III)

( ) ( )( ) ( )

( ) ( )

1 1 1 1 1 1 1 1 1 1 1

2 2 1 2 1 1 2 2 2 2

1 1 1

m m m m n m n m

m m m m n m n m n

m m m m m m m m n m m n m n m m

x e d x e d x E D

x e d x e d x E D

x e d x e d x E D

+ + + + + +

+ + + + + +

+ + + + + +

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + + ⋅⋅⋅⋅ + + ≤ +

+ ⋅⋅⋅⋅ + + + ⋅⋅⋅⋅ + + ≤ +

− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −

+ + + ⋅⋅⋅ + + ≤ +

, , , ,

, , , ,

, , , ,

Cada coeficiente del conjunto de restricciones puede ser expresado como suma de su parte entera y su parte decimal, de forma que elconjunto de restricciones puede expresarse como

Desigualdades que han de cumplir todas las soluciones del problema, incluidas las enteras.

Branch and Bound - 4

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Método de los planos de corte, de Gomory (IV)

Consideremos, por ejemplo, la primera restricción. La podemos expresar como

( )1 1 1 1 1 1 1 1 1 1 1 1 1m m m n m m m m n md x d x E x e x e x D+ + + + + + + ++ ⋅⋅⋅⋅ + ≤ − + + ⋅⋅⋅⋅ + +, , , ,

El lado derecho de la desigualdad es siempre positivo. Para una solución entera el paréntesis del segundo miembro es una cantidad entera y también lo será entonces

( )1 1 1 1 1 1 1m m m n mR E x e x e x+ + + += − + + ⋅⋅⋅⋅ +, ,

Por tanto, para una solución entera habrá de cumplirse que

( )1

1 1 1

1 1 1 1 1 1

1 1 1 1 0m m m n

m m m n m

m

x

R E x

e x e

x x

x

e

E

e

+ + + +

+ + + += − + + ⋅⋅⋅⋅ + ≥

+ + ⋅⋅⋅⋅ + ≤, ,

, ,

Branch and Bound - 5

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Método de los planos de corte, de Gomory (V)

Se añade esta última restricción a la tabla final del simplex

y se resuelve el nuevo modelo. El proceso se reitera hasta que todas las soluciones sean enteras.

1 1 1 1 1 1 1m m m n mx e x e x E+ + + ++ + ⋅⋅⋅⋅ + ≤, ,

1 1 1 1 1 2 2 1 1

2 2 1 1 2 2 2 2 2

1 1 2 2

m m m m m n m n

m m m m m n m n

m m m m m m m m m n m n m

x a x a x a x Bx a x a x a x B

x a x a x a x B

+ + + + + +

+ + + + + +

+ + + + + +

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + + ⋅⋅⋅⋅ ⋅ + ≤

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + + ⋅⋅⋅⋅ ⋅ + ≤

− − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − −+ + + ⋅⋅⋅+ ≤

, , ,

, , ,

, , ,

Branch and Bound - 6

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (I)

4 22

1 2 1 1

8 7 530 0

+ ≤+ ≤≥ ≥

= +

,

:. .

,

Max

x yx yx yx

Z x

y

suje

ent

o ay

t

eros

Branch and Bound - 7

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (II)

1 2

1 2

1

1 2

2

7 4 2 3225 258 1

0 4 3 70 0 8 196

4 9225 25

0 0 0

5

0

25 2

+ ⋅⋅⋅⋅ ⋅ ⋅ − +

− + ⋅ + ⋅ − − = −

=

+ − =

≥ ≥ ≥ ≥

.

.

. . .

, , ,

x h h

y h h

x y h

x h

h

Z y h

a) Se resuelve el problema relajando las condiciones sobre el carácter entero de las variables. La última tabla del simplex es

Pero la solución no es entera respecto a x e y.

Branch and Bound - 8

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (III)

1 2

1 2

1 2

7 41 2 0 3225 25

8 241 4 0 9225 25

0 0 0 0

⎛ ⎞+ ⋅⋅⋅⋅ ⋅ ⋅ + − + + = +⎜ ⎟⎝ ⎠

⎛ ⎞+ + − + = +⎜ ⎟⎝ ⎠

≥ ≥ ≥ ≥

.

.

, , ,

x h h

y h h

x y h h

Las restricciones pueden expresarse como

Branch and Bound - 9

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (IV)

2 224 4 0 9239

= − + + .h y h

Cuando más de un término independiente tiene parte decimal no nula, es usual seleccionar la restricción con parte decimal mayor. En nuestro caso la segunda, que puede expresarse como

Como la parte izquierda de la igualdad es positiva, para una solución entera habrá de cumplirse que

2 4− ≤y h

Restricción que se añade a la última tabla del simplex para resolver el problema de programación lineal continua

Branch and Bound - 10

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (V)

1 2

1

1

2

1

2

2 3

3

2 3

7 4 2 3225 258 1 4 922

0 4 3 70 0 0

5 25

0 0 0 0

8 19625 2

4

0

5− + ⋅ +

+

+ ⋅⋅⋅⋅ ⋅ ⋅ − + =

+ − =

≥ ≥ ≥ ≥ ≥

⋅⋅⋅⋅ ⋅

⋅ − − + ⋅

⋅⋅⋅ ⋅ =

=

+

⋅⋅−

. . .

.

.

, , , ,

x h h

y h h

y

x y h

Z x y

h

h

h

h h

h h

Branch and Bound - 11

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (VI)

1 2

1

1 2

2

1

1 3

3

2

2 3

7 4 2 3225 258 1 4 9225

0 4 3 70 0 0 8 1962

8 24 0 9225

25

0 0 0 0 0

5 25

25

− + ⋅ + ⋅

+ ⋅⋅⋅⋅ ⋅ ⋅ − + =

+ − =

≥ ≥

− − + ⋅ =

≥ ≥ ≥

− = −

− +

.

.

, , ,

.

,

. . .

x h h

y h h

h

x y h

Z x y

h

h

h

h h

h h

Preparamos la tabla para la eliminación gaussiana de y en la última restricción

Branch and Bound - 12

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (VII)

La solución encontrada no es factible pues la nueva variable de holgura es negativa. Utilizamos el simplex dual para encontrar, si la hay, una solución factible

1 2 3

3

0 4 3 70 05 0 154

8 24

0 4 3 71 0 0 025 257 40 1 0 025 258 10 0 1 0

8 196

2 32

4 92

0 925 25

8 240 0 0 15 225 2− −

= =− −

− − −

. .. .

.

.

.

.

. .Base Z x y h h h Cotas

sale

Z

x

y

Cocientes

h

entra

Branch and Bound - 13

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (VIII)

La solución encontrada sigue siendo no factible pues la variable x no es entera.

1 2 3

1

1 0 0 0 0 2 0 050 1 0 0 1 0 875

8 153 125

0 0 1 0 1 10 0 0 1 3 3 1

42 8725 5

− − −−

−−

−. .. .

.

.

.

Zxy

Base Z x y h h h Cotas

h

Branch and Bound - 14

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (IX)

3 2 30 125 3 0 1= − − + +. .h x h h

La restricción de la variable x que puede expresarse como

Como la parte izquierda de la igualdad es positiva, para una solución entera habrá de cumplirse que

2 3 4+ − ≤x h h

Restricción que se añade a la última tabla del simplex para resolver el problema de programación lineal continua

Branch and Bound - 15

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (X)

1 2 3 4

2 3

2 3

1 2 3

1 2 3 4

2 3 4

0 0 0 0 2 0 05 00 125 3 125

43 3 125 2 875

0 0 0 0

5

3

0

8 1

0

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + − =

+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅

+ ⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅

− + ⋅ + ⋅ − ⋅ − −

⋅ +

⋅⋅

+ =

+ −

⋅+

=

≥ ≥ ≥ ≥ ≥ ≥

= −

− =

+

. .. .

. .

, , , , ,

x h h h

x h hy h h

Z x

h h h

x y h h

y h

h h

h h h

Branch and Bound - 16

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (XI)

Preparamos la tabla para la eliminación gaussiana de x en la última restricción

1 2 3 4

2 3

2 3

1 2 3

1 4

4

2

3

3

0 125 3 1254

3 3 125 2 875

0 0 0 0 2 0 0

0 125 0 12

5 0

50 0 0

8

0

5

0 0

1+ ⋅⋅⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + − =

+ ⋅⋅⋅

− +

⋅⋅⋅⋅ ⋅ ⋅ ⋅ − + =

+ − =

≥ ≥ ≥ ≥

− + ⋅ + ⋅ − ⋅ − − ⋅ +

=

⋅ =

≥ ≥

. .

. .

.

,.

.

., , , ,

h h

x h hy h h

h h h

x y h h

Z x y h

h h

h h h

La solución encontrada no es factible pues la nueva variable de holgura es negativa. Utilizamos el simplex dual para encontrar, si la hay, una solución factible. Entra la variable h3 en substitución de h4.

Branch and Bound - 17

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Ejemplo (XII)

La solución encontrada es factible. Nótese como la solución entera está muy “alejada” de la continua.

1

1

3

2 3 4

1 0 0 0 0 2 0 0 40 1 0 0 1 0 70 0 1 0 1 0 80 0 0 1 3 0 250 0 0 0 0 1

1

3618

84

−− − −−

−−

. . .Zxy

Base Z x y h h h

h

t

h

h Co as

Branch and Bound - 18

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

El método “Ramifica y acota” (Branch and Bound) (I)

( )0

0

sujeto a

Opt Z x

R

f

x

=

∈:

1: Ante un problema de optimización P0:

se relajan las restricciones del modelo de forma que el modelo resultante se pueda resolver de manera más fácil

( )1

1 0 1

sujeto a

Opt Z

x R co R

x

R

f

n

=

∈ ⊂,:P1

Branch and Bound - 19

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

El método “Ramifica y acota” (Branch and Bound) (II)

2º: Si la solución óptima de P1 pertenece a hemos encontrado al mismo tiempo el óptimo de P0. Si no es así, se particiona el conjunto en dos subconjuntos disjuntos, y , de tal forma que el segundo de ellos contenga sólo soluciones infactibles del problema original y el primero contenga a , configurando un nuevo espacio de soluciones y pasamos a resolver

( )

2 0 2 1

2

x

O

R con R R

pt Z f

sujeR

x

to a

=

∈ ⊂ ⊂,:

0R

P2:

1R2R

0R

2R

El subconjunto , en muchos casos, es la unión de dos o más subconjuntos disjuntos de .

2R1R

Branch and Bound - 20

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

El método “Ramifica y acota” (Branch and Bound) (III)

3º. Se reitera el paso 2º, de forma que, en el peor de los casos, los sucesivos espacios de soluciones convergen a 0R

0 1 2 1n nR R R R R−⊂ ⋅⋅⋅ ⊂ ⊂ ⊂ ⋅⋅⋅ ⊂ ⊂

En líneas generales, en cada fase el algoritmo selecciona uno de los subconjuntos y trata de eliminarlo de estudios posteriores como candidato a contener la solución óptima.

Branch and Bound - 21

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

El método “Ramifica y acota” (Branch and Bound) (IV)

Ahora bien, si al analizar un subconjunto encontramos una solución posible que proporcione un valor de la función objetivo superior a la cota

inferior inicial, ese valor se convierte en la nueva cota inferior para la solución del problema.

La manera de proceder a esta eliminación depende de la estructura concreta del problema analizado, aunque hay algunos criterios de carácter general . Así, si pretendemos optimizar una función de cuyos valores se conoce una cota inferior, para cada uno de los subconjuntos, todavía no eliminados, en los que en una fase está dividido el conjunto de soluciones posibles, el algoritmo calcula una cota superior de la función para los valores de las variables que correspondan a ese subconjunto: si esta cota superior es menor que la cota inferior ya calculada dicho subconjunto es descartado; en otro caso, es mantenido en la lista de posibles candidatos.

Se prosigue así hasta que todos los subconjuntos generados en fases sucesivas han sido analizados, bien para ser descartados, bien para mejorar soluciones previas.

Branch and Bound - 22

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

El método “Ramifica y acota” (Branch and Bound) (V)

La herramienta es muy flexible y permite una gran capacidad de maniobra. Pero esto mismo hace que sólo la práctica sea la que permita un uso eficaz de la misma.

Así pues, la estructura general de esta técnica consiste en:

• Un criterio para dividir los subconjuntos candidatos a contener la solución óptima encontrados en cada fase.

• El cálculo de una cota (inferior o superior) para los valores de la función en cada subconjunto candidato.

• Un criterio para seleccionar un subconjunto para una partición posterior.

Branch and Bound - 23

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Aplicación del método “Ramifica y acota” a un problema de programación lineal entera

5 259 6 49

1

0

2

50

x yx yx yx y ente

Max Z x y

ros

sujeto a+ ≤+ ≤≥ ≥

= +

.,

,

:.

Branch and Bound - 24

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 2 3 4 5 6

2

1

5

4

3

(2.5, 4.5)

y

x

P0

Los puntos rojos configuran el espacio de

soluciones enteras.

Branch and Bound - 25

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

De este problema tenemos una cota inferior inicial inmediata, Z = 0 , con x = y = 0.

En la etapa k tendremos disponibles una cota inferior z* y una lista de programas linales que difieren entre sí en las cotas entre las que se encuentran las variables de decisión de cada uno de ellos.

En la etapa inicial la lista de programas contiene tan sólo el programa propuesto, relajando (es decir, “prescindiendo de” ) la condición de que las variables sean enteras. En cada iteración, la técnica se desarrollará según el procedimiento que se describe en la siguiente diapositiva.

Branch and Bound - 26

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

PROCEDIMIENTO1º: Si la lista de programas está vacía el proceso ha finalizado. En caso

contrario seleccionar y estudiar uno de los programas contenidos en ella.

2º: Resolver el programa seleccionado. Si no tiene solución o si el valor óptimo de la función objetivo no es mayor que z* , z* es la cota inferior de la etapa siguiente y volvemos al paso 1º. En otro caso, pasamos al paso 3º.

3º: Si la solución obtenida satisface el carácter entero de las variables, se retienen dichos valores, el valor de la función objetivo es la nueva cota inferior y volvemos al paso 1º. Si no es este el caso, se ejecuta paso 4º.

4º: Seleccionar una de las variables que, debiendo ser entera, no lo sea en la solución encontrada en el paso 3º. Supongamos que dicha variable es x y que su valor no entero es a. Entonces añadimos dos nuevos programas a la lista que son idénticos al programa que nos proporcionó esa solución, excepto que en uno de ellos hay una nueva restricción que establece que la cota inferior de x es E(a) + 1 y en el otro la nueva restricción establece que la cota superior de x es E(a). La cota inferior de Z se mantiene como referencia para estos dos nuevos programas.

Branch and Bound - 27

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1º) Resolvemos el problema P0 relajando la condición que exige que x e y sean enteros

1 2

5 259 6 49 5

0 0

Max Z x y

x yx yx y

sujeto a= +

+ ≤+ ≤≥ ≥

.,

:.

P0:

Aplicación del método siguiendo el procedimiento descrito

Branch and Bound - 28

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 2 3 4 5 6

2

1

5

4

3

(2.5, 4.5)

y

x

Con fondo amarillo el conjunto de restricciones

relajado, eliminando la condición de que x e y sean enteros.

7 92 5 4 5

Solución óptimaZ

x y=

= =

* .. , .

Branch and Bound - 29

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P2

P01 2

5 259 6 49 5

0 0

7 92 5 4 5

Max Z x y

x yx y

Solución óptim

suj

x

Zx

y

e

a

t

y

o a= +

+ ≤+ ≤≥

==

=

*

.

.,

.,

:

. .

P1

1 25 25

9 6 49 50 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

4y ≤ 5y ≥

2º) Se ramifica el problema P0 en dos direcciones según que o , ya que no puede haber ninguna solución entera con .4 5y< <

4y ≤ 5y ≥

Branch and Bound - 30

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

y

1 2 3 4 5 6

2

1

4

3

(2.5, 4.5)

x

(0, 5)

1 25 25

9 6 49 50 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

P1

Branch and Bound - 31

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

60 5

Solución óptimaZ

x y=

= =

*

:

,

P0

P2 P1

1 2

5 259 6 49 5

0 0

7 92 5 4 5

Max Z x y

x yx y

Solución óptim

suj

x

Zx

y

e

a

t

y

o a= +

+ ≤+ ≤≥

==

=

*

.

.,

.,

:

. .1 2

5 259 6 49 5

0 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

1ª Cota entera

4y ≤ 5y ≥

Branch and Bound - 32

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

yP2

x

(2.833, 4)

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

1 2 3 4 5 6

2

1

5

4

3

Branch and Bound - 33

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

7 6332 833 4

Solución óptimaZ

x y=

= =

* .. ,

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

60 5

Solución óptimaZ

x y=

= =

*

,

P0

P2 P1

1 2

5 259 6 49 5

0 0

7 92 5 4 5

Max Z x y

x yx y

Solución óptim

suj

x

Zx

y

e

a

t

y

o a= +

+ ≤+ ≤≥

==

=

*

.

.,

.,

:

. .1 2

5 259 6 49 5

0 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

1ª Cota enteraSolución no entera, pero

superior a la cota entera encontrada. Hay que seguir ramificando.

4y ≤ 5y ≥

Branch and Bound - 34

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Branch and Bound - 35

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Branch and Bound - 36

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

60 5

Solución óptimaZ

x y=

= =

*

,

P0

P2 P1

1 2

5 259 6 49 5

0 0

7 92 5 4 5

Max Z x y

x yx y

Solución óptim

suj

x

Zx

y

e

a

t

y

o a= +

+ ≤+ ≤≥

==

=

*

.

.,

.,

:

. .1 2

5 259 6 49 5

0 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

1ª Cota entera

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

2ª Cota entera. Mejora la 1ª. Nueva referencia

4y ≤ 5y ≥

Branch and Bound - 37

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

y

1 2 3 4 5 6

2

1

5

4

3

x

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

Branch and Bound - 38

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

60 5

Solución óptimaZ

x y=

= =

*

,

P0

P2 P1

1 2

5 259 6 49 5

0 0

7 92 5 4 5

Max Z x y

x yx y

Solución óptim

suj

x

Zx

y

e

a

t

y

o a= +

+ ≤+ ≤≥

==

=

*

.

.,

.,

:

. .1 2

5 259 6 49 5

0 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

1ª Cota entera

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =7 5

3 3 75

Solución óptimaZ

x y

* ., .=

= =

Solución no entera mejor que la 2ª cota entera obtenida. Hay que seguir ramificando

4y ≤ 5y ≥

Branch and Bound - 39

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

P21 2

5 259 6 49 5

0 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P5P6

Branch and Bound - 40

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

1 2 3 4 5 6

2

1

5

4

3

y

x

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

P5

No hay ningún punto de

ordenada 4 en este dominio

Branch and Bound - 41

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

P2

P3

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

Infactible

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P5P6

Branch and Bound - 42

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL1 2 3 4 5 6

2

1

5

4

3

y

x

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P6

(3.5, 3)

Branch and Bound - 43

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

P2

Infactible

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P5P6

7 13 5 3

Solución óptimaZ

x y

* .. ,=

= =

Solución no entera mejor que la 2ª cota entera obtenida. Hay que seguir ramificando

Branch and Bound - 44

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Infactible

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P2

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =1 2

5 259 6 49 5

3 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P5

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

P6

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

1 25 25

9 6 49 53 3 3

Max Z x yx yx y

x y x

= ++ ≤+ ≤

≥ ≤ ≤

.

., ,

1 25 25

9 6 49 54 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

4x ≥3x ≤P8P7

Branch and Bound - 45

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL1 2 3 4 5 6

2

1

5

4

3

y

x

(3, 3)

1 25 25

9 6 49 53 3 3

Max Z x yx yx y

x y x

= ++ ≤+ ≤

≥ ≤ ≤

.

., ,

P7

Branch and Bound - 46

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Infactible

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P2

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P5P6

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

1 25 25

9 6 49 53 3 3

Max Z x yx yx y

x y x

= ++ ≤+ ≤

≥ ≤ ≤

.

., ,

1 25 25

9 6 49 54 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

4x ≥3x ≤P8P7

6 63 3

Solución óptimaZ

x y

* .,=

= =

Solución entera peor que P3

Branch and Bound - 47

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL1 2 3 4 5 6

2

1

5

4

3

y

x

1 25 25

9 6 49 54 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P8

(4, 2.25)

Branch and Bound - 48

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Infactible

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P2

3x ≥2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P3

1 25 25

9 6 49 53 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P5P6

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

1 25 25

9 6 49 53 3 3

Max Z x yx yx y

x y x

= ++ ≤+ ≤

≥ ≤ ≤

.

., ,

1 25 25

9 6 49 54 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

4x ≥3x ≤P8P7

Solución entera peor que P3

6 74 2 25

Solución óptimaZ

x y

* ., .=

= =

No entera y peor que P3: Se poda la rama

Branch and Bound - 49

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

Finalizado el proceso de ramificación y poda, la solución óptima entera corresponde al subprograma P3:

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

6 82 4

La solución óptimaZ

x

s

y

e* .

,=

= =

Branch and Bound - 50

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL

60 5

Zx y

== =

*

,

P01 2

5 259 6 49 5

0 0

Max Z x y

x yx yx y

sujeto a= +

+ ≤+ ≤≥ ≥

.,

:.

P1

1 25 25

9 6 49 50 5

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≥

.

.,

1 25 25

9 6 49 50 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P2

1ª Cota entera

3x ≥

2x ≤

1 25 25

9 6 49 52 4

Max Z x yx yx yx y

= ++ ≤+ ≤≤ ≤

.

.,

P31 2

5 259 6 49 5

3 4

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

P4

6 82 4

Solución óptimaZ

x y

* .,=

= =

2ª Cota entera. Mejora la 1ª. Nueva

referencia

4y ≥3y ≤

1 25 25

9 6 49 53 4 4

Max Z x yx yx y

x y y

= ++ ≤+ ≤

≥ ≤ ≥

.

., ,

P6

1 25 25

9 6 49 53 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

1 25 25

9 6 49 53 3 3

Max Z x yx yx y

x y x

= ++ ≤+ ≤

≥ ≤ ≤

.

., ,

1 25 25

9 6 49 54 3

Max Z x yx yx yx y

= ++ ≤+ ≤≥ ≤

.

.,

4x ≥3x ≤P8P7

P5

4y ≤ 5y ≥

Infactible

7 92 5 4 5

Zx y

== =

* .. , .

7 6332 833 4

Zx y

== =

* .. ,

7 53 3 75Z

x y

* ., .=

= =

7 13 5 3

Zx y

* .. ,=

= =6 63 3

Zx y

* .,=

= =

6 74 2 25

Zx y

* ., .=

= =

Resumen