Metodo de Gomory
Metodo de Gomory
Metodo de Gomory
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
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
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
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.
Primera Iteracin
-6X1 3X2 + 2X3 4X4 X5 + 3 < 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
-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
-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.