Você está na página 1de 13

Introduccin.

Muchos de los problemas de la vida real exigen soluciones con nmeros entero, por lo
tanto las variables de dicho problema deben ser definidas como variables enteras. Los
mtodos de solucin que contemplaremos en ste captulo son: Mtodo grfico, Mtodo
de los planos cortantes de Gomory, Mtodo de Bifurcacin y Acotacin (Branch And
Bound), el Mtodo de Egon Balas en donde las variables son de carcter binario (0,1). Por
ltimo se ilustra el uso del software WinQsb para atender ste tipo de problema.
Mtodo de los planos cortantes de Gomory
ste mtodo sirve para solucionar problemas de ms de dos (2) variables.
Algoritmo
1. Encontrar la solucin, empleando el mtodo simplex.
2. Si la solucin es entera, entonces estamos en el ptimo.
3. Si no es entera, introducir una restriccin nueva para la variable no entera, que tenga la
mayor parte fraccional (Quebrar empates arbitrariamente) y resolver el nuevo
problema mediante el mtodo dual simplex.
Nueva restriccin a partir de la restriccin actual que tenga la variable cuyo valor en su
parte fraccional sea mayor.
a) Escriba cada constante como la suma de: Un nmero entero de cualquier signo y una
fraccin no negativa, menor que uno (1).
b) Cambiar la ecuacin trasladando los coeficientes enteros al lado derecho.
Ejempl
o Max:
C.S.R.
X1 < 2
Xj > 0

Z = X1
Max:

+ 5X2
X1 + 10X2
C.S.
R.
< 20
X1 + X4 = 2
y enteros Xj > 0
para
toda j

Z = X1 + 5X2
X1 + 10X2 + X3 = 20

y enteros para toda j

A continuacin solucionamos el problema por el mtodo simplex, tal como se


hara si el problema fuese de programacin lineal continua.

Clculo de la nueva restriccin, a partir de la ecuacin 2.


X2 + 1/10X3 1/10X4 = 9/5
Remplazamos cada constante por la suma de un nmero entero de cualquier signo y una
fraccin no negativa menor que uno (1).
(1+0)X2 + (0+1/10) X3 + (-1+9/10) X4 = (1+4/5) Simplificando
X2 + 1/10X3 X4 + 9/10X4 = 4/5 + 1; Trasladamos los trminos con coeficiente entero, al
lado derecho.
1/10X3 + 9/10X4 = 4/5 + 1 X2 + X4; Fjese que el lado izquierdo subrayado debe ser
positivo y el lado derecho subrayado, debe ser entero, luego podemos asegurar que:
1/10X3 + 9/10X4 > 4/5; Multiplicando por (-1); -1/10X3 9/10X4 < -4/5 ; Adicionando una
variable de holgura; -1/10X3 9/10X4 + X5 = -4/5 ; Ecuacin sta que adicionamos, as:

X1 = 10/9 = 1 + 1/9 ; X2 = 17/9 = 1 + 8/9 ; X3 = 0 ; X4 = 8/9 ; X5 = 0 ; Z = 95/9 = 10,5


Escogemos la variable bsica con mayor parte fraccionaria, en caso de empate, escoja al
azar. Escojo X4

1/9X3 + X4 10/9X5 = 8/9 (0+1/9)X3 + (1+0)X4 + (-2+8/9)X5 = 8/9

X1* = 0
X2* = 2
X3* = 0
X4* = 2
X5* = 1
X6* = 0
Zx* = 10

Y1* = 3/8
Y2* = 0
Y3* = 0
Y4* = 5/8
Y5* = 0
Y6* = 0
ZY* = 10

Mtodo de Bifurcacin y Acotacin (Branch And Bound).


El mtodo de bifurcacin y acotacin (B&B, de Branch and Bound) resuelve un PPLE
resolviendo una secuencia ordenada de PPLs que se obtienen relajando las restricciones
de integralidad y aadiendo restricciones adicionales. El nmero de restricciones
adicionales crece a medida que el mtodo B&B progresa. Estas restricciones permiten
separar la regin factible en subregiones complementarias.
El mtodo B&B establece inicialmente cotas inferior y superior del valor ptimo de la
funcin objetivo. El mecanismo de bifurcacin aumenta progresivamente el valor de la
cota inferior y disminuye tambin progresivamente el valor de la cota superior. La
diferencia entre estas cotas es una medida de la proximidad de la solucin actual a la
ptima, si sta existe.
Al minimizar, se obtiene una cota inferior de la solucin ptima relajando las restricciones
de integralidad del PPLE inicial y resolviendo el PPL resultante. Adems, el valor de la
funcin objetivo para cualquier solucin del PPLE original es una cota superior de la
solucin ptima. De manera anloga, al maximizar, la solucin del PPL relajado es una
cota superior para el ptimo y cualquier solucin del PPLE original es una cota inferior de
la solucin ptima.
Es una estrategia sistemtica, que reduce mucho el nmero de combinaciones que se
deben examinar.
A continuacin se enumeran los pasos del algoritmo B&B para un PPLE Mixta:

Paso 1: Iniciacin
1.1 Se establece una cota superior () y una cota inferior () de la solucin ptima.
1.2 Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad.
1.2. a Si el problema relajado es infactible, el original tambin lo es y no hay solucin.
1.2. b Si la solucin obtenida satisface las condiciones de integralidad, es ptima.
1.2. c En cualquier otro caso, se actualiza el valor de la cota correspondiente con el valor
de la funcin objetivo resultante.
Paso 2: Bifurcacin
2.1 Empleando la variable xk que ha de ser entera y no lo es, se generan mediante
bifurcacin dos problemas. Si el valor de la variable que ha de ser entera xk es a.b, donde
a y b son sus partes entera y fraccional respectivamente, los problemas fruto de la
bifurcacin son los siguientes.
2.1.a El primer problema es el PPLE relajado al que se la aade la restriccin xka
2.1.b El segundo es el PPLE relajado al que se le aade la restriccin xka+1

2.2 Estos problemas se colocan ordenadamente en una lista de problemas a procesar que
son resueltos secuencialmente o en paralelo. Obsrvese que la tcnica de bifurcacin
propuesta cubre completamente el espacio de soluciones.
Paso 3: Solucin
3.1 Se resuelve el siguiente problema en la lista de problemas a procesar.
Paso 4: Acotacin
4.1 Si la solucin del problema actual satisface las condiciones de integralidad y el valor
ptimo de su funcin objetivo es menor que la cota superior actual, dicha cota se actualiza
al valor ptimo de la funcin objetivo del problema resuelto, y el minimizador actual se
almacena como el mejor candidato a minimizador del problema original. En caso de
maximizaciones, la cota inferior actual se actualiza al valor ptimo de la funcin objetivo
del problema resuelto si ste es menor que dicha cota inferior.
4.2 Si, por el contrario, la solucin obtenida no satisface las restricciones de integralidad y
el valor de la correspondiente funcin objetivo est entre las cotas inferior y superior, se
actualiza el valor de la cota inferior al valor de la funcin objetivo del problema resuelto y
se procede a bifurcar de nuevo. En caso de maximizaciones, se actualiza el valor de la
cota superior al valor de la funcin objetivo del problema resuelto y se procede a bifurcar
de nuevo.
4.3 Los problemas generados en el proceso de bifurcacin se aaden a la lista de
problemas que han de resolverse.
Paso 5: Poda
5.1 Poda por cotas: Tiene lugar si la solucin no satisface las condiciones de integralidad
y adems el valor de la funcin objetivo del problema resuelto es mayor que la cota
superior para minimizaciones o menor que la cota inferior para maximizaciones. En este
caso no es posible obtener soluciones mediante bifurcaciones adicionales de esa rama.
5.2 Poda por infactibilidad: Tiene lugar si el problema es infactible.
5.3 Poda por integralidad: Tiene lugar si la solucin del problema actual cumple las
restricciones de integralidad.
Paso 6: Optimalidad
6.1 Si la lista de problemas a procesar no est vaca, se contina con el paso 3.
6.2 Si la lista de problemas a procesar est vaca, el procedimiento concluye.
6.3 Concluido el problema, si existe un candidato a minimizador, dicho candidato es el
minimizador; en caso contrario, el problema es infactible.
Algoritmo
1. Encontrar la solucin mediante el Mtodo Simplex. Si la solucin no es entera, pase al
segundo punto.
2. Comienza con la solucin ptima del simplex en donde se ignoran las restricciones de
variables enteras.
3. Se selecciona una variable con valor no cero y se crean dos ramas mutuamente
excluyentes, esto da lugar a dos (2) nuevos problemas de Programacin Lineal; que
se deben resolver.
4. Si ninguna solucin es entera, con la rama de mayor valor de Z, se crean nuevas ramas
y se resuelven nuevos problemas por programacin lineal (Mtodo Simplex).
5. Se repite el punto 4), Hasta encontrar la solucin entera ptima.

Observe que la primera acotacin se realiz sobre la variable X2 , pero pudo haber sido
sobre X1 , de todas formas el mtodo es dispendioso, en especial si se hace
manualmente.
Mtodo Aditivo de Egon Balas para problemas binarios (0,1)
No confundir ste mtodo para solucionar problemas de asignaciones, aqu el problema
de programacin lineal tiene la forma general y lo diferente es que las variables solo
pueden tomar valores binarios (0,1). La filosofa del mtodo se basa en pensar que si se
tiene una funcin objetiva minimizando y todos sus trminos son positivos, entonces,
entre menos variables tomen el valor de uno (1), la funcin objetiva ser mnima.
1. La funcin objetivo se minimiza, en caso de maximizacin, use la regla de equivalencia:
Maximizar (Z) = Minimizar (-Z).
2. Se requiere que Cj > 0, j. En caso de que Cj < 0, entonces Xj se sustituye por:
XJ = 1 - Xj, es decir Xj es el complemento.
Ejemplo: Min Z = 3X1 2X2 X2 = 1 - X2; Remplazando Z = 3X1 2(1- X2)
Min Z = 3X1 + 2X2 2, que para el caso: Min Z = 3X1 + 2X2
Nota: El cambio de variable, tambin se debe aplicar a todas las restricciones.
Para apreciar la utilidad del mtodo, resolveremos el siguiente ejemplo, primero,
contemplando todas las posibles soluciones y a continuacin aplicando el mtodo aditivo
de Egon Balas, que reduce el nmero de soluciones posibles a contemplar.
Minimice :
C.S.R.
XJ = 0, 1

Z = 8X1 + 7X2 + 6X3 + 5X4 +


X5
-6X1 3X2 + 2X3 4X4 X5 <
-3
-4X1 5X2 4X3 3X4 + 3X5 <
-7
j = 1, 2, 3, 4, 5

n
El nmero posible de soluciones es de 2 , en donde n es el nmero de variables. En el
5
ejemplo, el nmero posible de soluciones es 2 = 32
En el siguiente diagrama se muestran todas las 32 posibles soluciones.

Algunas de stas soluciones no son factibles, ya que no satisfacen las restricciones.


Aquellas que satisfagan las restricciones, debern ser remplazadas en la funcin objetivo
y la que la haga ms pequea, ser la solucin ptima. ste procedimiento es
dispendioso, tanto en la consecucin de todas las soluciones como en su evaluacin para
todas las restricciones y en su evaluacin final sobre la funcin objetiva.
Aplicacin del Mtodo de Egon Balas
Evaluamos cada restriccin, primeramente suponiendo que todas las variables valgan
cero, y despus, alternativamente a cada variable le asignamos el valor de uno (1) y al
resto de variables el valor de cero (0). Cada vez que una solucin no satisfaga una
restriccin, el que tan lejos est de satisfacerla, lo llamamos infactibilidad.
Ejemplo: Si X1 = 1 y X2 = X3 = X4 = X5 = 0
Remplazando en la restriccin uno (1), establecemos que: -3 < 0 , luego aqu la
infactibilidad es cero (0), ya que la solucin evaluada, satisface la restriccin,
convirtindola en una afirmacin verdadera.
Remplazando en la restriccin dos (2), establecemos que: 3 < 0 , luego aqu la
infactibilidad es tres (3), ya que la solucin evaluada, no satisface la restriccin,
convirtindola en una afirmacin falsa. El que tan lejos est de ser una verdad, es lo que
llamamos infactibilidad.
En total, la solucin evaluada tiene una infactibilidad de 0 + 3 = 3
Si en sta primera iteracin, encontramos una solucin cuya infactibilidad sea cero (0),
hemos encontrado la solucin factible y ptima. Si encontramos que varias soluciones
tienen la infactibilidad igual a cero (0), remplazamos todas stas soluciones en la funcin
objetivo y la solucin ptima ser aquella que haga que Z sea mnima.
Si no hay ninguna solucin con su infactibilidad igual a cero (0), Escogemos la solucin
que menor infactibilidad tenga y de ella la variable que est valiendo uno (1).
Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la
segunda iteracin. ste procedimiento se repite hasta encontrar la solucin ptima
factible.

Primera Iteracin
-6X1 3X2 + 2X3 4X4 X5 + 3 < 0

Segunda Iteracin (X2 = 1)


-6X1 + 2X3 4X4 X5 < 0

-4X1 5X2 4X3 3X4 + 3X5 + 7 < 0

-4X1 4X3 3X4 + 3X5 + 2 < 0

X1 = X2 = X3 = X4 = X5 = 0

X1 = 1 ; X3 = X4 = X5 = 0

3<0

-6 < 0

7 < 0 Infactibilidad = 10

-2 < 0 Infactibilidad = 0 ;

X1 = 1 ; X2 = X3 = X4 = X5 = 0

X3 = 1 ; X1 = X4 = X5 = 0

-3 < 0

2<0

3 < 0 Infactibilidad = 3

-2 < 0 Infactibilidad = 2

X2 = 1 ; X1 = X3 = X4 = X5 = 0

X4 = 1 ; X1 = X3 = X5 = 0

0<0

-4 < 0

2 < 0 Infactibilidad = 2 ; La menor

-1 < 0 Infactibilidad = 0

X3 = 1 ; X1 = X2 = X4 = X5 = 0

X5 = 1 ; X1 = X3 = X4 = 0

5<0

-1 < 0

3 < 0 Infactibilidad = 8

5 < 0 Infactibilidad = 5

X4 = 1 ; X1 = X2 = X3 = X5 = 0

En sta iteracin hay dos soluciones con


infactibilidad igual a cero (0), evaluado
la
funcin
objetivo
con
ambas
soluciones, encontramos la solucin
ptima con Z = 12

-1 < 0
4 < 0 Infactibilidad = 4
X5 = 1 ; X1 = X2 = X3 = X4 = 0
2<0
10 < 0 Infactibilidad = 12
Aqu concluimos, que lo menos malo es fijar la
primera variable con valor de uno (1) a X2 ya
que presenta la menor infactibilidad,
remplazamos a X2 = 1 en las dos restricciones
e iniciamos la 2 iteracin.

Ejemplo 1: Mtodo B&B para un PPLE Pura


Sea el siguiente PPLE Pura:

Solucin: X1* = 0 ; X2* = 1 ; X3* = 0 ;


X4* = 1
X5* = 0 ; Z* = 12
Solamente se hizo necesario escudriar 10 de
las 32 soluciones posibles. Podemos asegurar
que el mtodo hace una bsqueda sistemtica
que evita probar todas las combinaciones
posibles.

Você também pode gostar