el método “ramifica y acota” (branch and bound) (v) · que en uno de ellos hay una nueva...
TRANSCRIPT
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