16
Introducción. Muchos de los problemas de la vida real exigen soluciones con números entero, por lo tanto las variables de dicho problema deben ser definidas como variables enteras. Los métodos de solución que contemplaremos en éste capítulo son: Método gráfico, Método de los planos cortantes de Gomory, Método de Bifurcación y Acotación (Branch And Bound), el Método de Egon Balas en donde las variables son de carácter binario (0,1). Por último se ilustra el uso del software WinQsb para atender éste tipo de problema. Método de los planos cortantes de Gomory Éste método sirve para solucionar problemas de más de dos (2) variables. Algoritmo 1. Encontrar la solución, empleando el método simplex. 2. Si la solución es entera, entonces estamos en el óptimo. 3. Si no es entera, introducir una restricción nueva para la variable no entera, que tenga la mayor parte fraccional (Quebrar empates arbitrariamente) y resolver el nuevo problema mediante el método dual simplex. Nueva restricción a partir de la restricción actual que tenga la variable cuyo valor en su parte fraccional sea mayor. a) Escriba cada constante como la suma de: Un número entero de cualquier signo y una fracción no negativa, menor que uno (1). b) Cambiar la ecuación trasladando los coeficientes enteros al lado derecho. Ejempl o Max: Z = X 1 + 5X 2 Max: Z = X 1 + 5X 2 C.S.R. X 1 + 10X 2 < 20 C.S.R. X1 + 10X2 + X3 = 20 X1 < 2 X1 + X4 = 2 Xj > 0 y enteros para toda j Xj > 0 y enteros para toda j

METODO DE GOMORY

Embed Size (px)

DESCRIPTION

GOMORYMETODO

Citation preview

Page 1: METODO DE GOMORY

IntroduccioacutenMuchos de los problemas de la vida real exigen soluciones con nuacutemeros entero por lo tanto las variables de dicho problema deben ser definidas como variables enteras Los meacutetodos de solucioacuten que contemplaremos en eacuteste capiacutetulo son Meacutetodo graacutefico Meacutetodo de los planos cortantes de Gomory Meacutetodo de Bifurcacioacuten y Acotacioacuten (Branch And Bound) el Meacutetodo de Egon Balas en donde las variables son de caraacutecter binario (01) Por uacuteltimo se ilustra el uso del software WinQsb para atender eacuteste tipo de problema

Meacutetodo de los planos cortantes de Gomory Eacuteste meacutetodo sirve para solucionar problemas de maacutes de dos (2) variables

Algoritmo 1 Encontrar la solucioacuten empleando el meacutetodo simplex 2 Si la solucioacuten es entera entonces estamos en el oacuteptimo

3 Si no es entera introducir una restriccioacuten nueva para la variable no entera que tenga la mayor parte fraccional (Quebrar empates arbitrariamente) y resolver el nuevo problema mediante el meacutetodo dual simplex

Nueva restriccioacuten a partir de la restriccioacuten actual que tenga la variable cuyo valor en su parte fraccional sea mayor a) Escriba cada constante como la suma de Un nuacutemero entero de cualquier signo y una

fraccioacuten no negativa menor que uno (1) b) Cambiar la ecuacioacuten trasladando los coeficientes enteros al lado derecho

Ejemplo Max

Z = X1 + 5X2 10487821048782 Max Z = X1 + 5X2

CSR X1 + 10X2 lt 20

CSR

X1 + 10X2 + X3 = 20

X1 lt 2 X1 + X4 = 2 Xj gt 0 y enteros

para toda j

Xj gt 0 y enteros para toda j

A continuacioacuten solucionamos el problema por el meacutetodo simplex tal como se hariacutea si el problema fuese de programacioacuten lineal continua

Caacutelculo de la nueva restriccioacuten a partir de la ecuacioacuten 2 X2 + 110X3 ndash 110X4 = 95 Remplazamos cada constante por la suma de un nuacutemero entero de cualquier signo y una fraccioacuten no negativa menor que uno (1) (1+0)X2 + (0+110) X3 + (-1+910) X4 = (1+45) Simplificando X2 + 110X3 ndash X4 + 910X4 = 45 + 1 Trasladamos los teacuterminos con coeficiente entero al lado derecho 110X3 + 910X4 = 45 + 1 ndash X2 + X4 Fiacutejese que el lado izquierdo subrayado debe ser positivo y el lado derecho subrayado debe ser entero luego podemos asegurar que 110X3 + 910X4 gt 45 Multiplicando por (-1) -110X3 ndash 910X4 lt -45 Adicionando una variable de holgura -110X3 ndash 910X4 + X5 = -45 Ecuacioacuten eacutesta que adicionamos asiacute

X1 = 109 = 1 + 19 X2 = 179 = 1 + 89 X3 = 0 X4 = 89 X5 = 0 Z = 959 = 105

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

19X3 + X4 ndash 109X5 = 89 rArr (0+19)X3 + (1+0)X4 + (-2+89)X5 = 89 rArr

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

Y1 = 38 Y2 = 0 Y3 = 0 Y4 = 58 Y5 = 0 Y6 = 0 ZY = 10

Meacutetodo de Bifurcacioacuten y Acotacioacuten (Branch And Bound)

El meacutetodo de bifurcacioacuten y acotacioacuten (BampB de Branch and Bound) resuelve un PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las restricciones de integralidad y antildeadiendo restricciones adicionales El nuacutemero de restricciones adicionales crece a medida que el meacutetodo BampB progresa Estas restricciones permiten separar la regioacuten factible en subregiones complementariasEl meacutetodo BampB establece inicialmente cotas inferior y superior del valor oacuteptimo de la funcioacuten objetivo El mecanismo de bifurcacioacuten aumenta progresivamente el valor de la cota inferior y disminuye tambieacuten progresivamente el valor de la cota superior La diferencia entre estas cotas es una medida de la proximidad de la solucioacuten actual a la oacuteptima si eacutesta existeAl minimizar se obtiene una cota inferior de la solucioacuten oacuteptima relajando las restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante Ademaacutes el valor de la funcioacuten objetivo para cualquier solucioacuten del PPLE original es una cota superior de la solucioacuten oacuteptima De manera anaacuteloga al maximizar la solucioacuten del PPL relajado es una cota superior para el oacuteptimo y cualquier solucioacuten del PPLE original es una cota inferior de la solucioacuten oacuteptimaEs una estrategia sistemaacutetica que reduce mucho el nuacutemero de combinaciones que se deben examinar A continuacioacuten se enumeran los pasos del algoritmo BampB para un PPLE MixtaPaso 1 Iniciacioacuten11 Se establece una cota superior (infin) y una cota inferior (minusinfin) de la solucioacuten oacuteptima12 Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad12 a Si el problema relajado es infactible el original tambieacuten lo es y no hay solucioacuten12 b Si la solucioacuten obtenida satisface las condiciones de integralidad es oacuteptima12 c En cualquier otro caso se actualiza el valor de la cota correspondiente con el valor de la funcioacuten objetivo resultante

Paso 2 Bifurcacioacuten21 Empleando la variable xk que ha de ser entera y no lo es se generan mediante bifurcacioacuten dos problemas Si el valor de la variable que ha de ser entera xk es ab donde a y b son sus partes entera y fraccional respectivamente los problemas fruto de la bifurcacioacuten son los siguientes21a El primer problema es el PPLE relajado al que se la antildeade la restriccioacuten xklea21b El segundo es el PPLE relajado al que se le antildeade la restriccioacuten xkgea+1

22 Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo Obseacutervese que la teacutecnica de bifurcacioacuten propuesta cubre completamente el espacio de solucionesPaso 3 Solucioacuten31 Se resuelve el siguiente problema en la lista de problemas a procesarPaso 4 Acotacioacuten41 Si la solucioacuten del problema actual satisface las condiciones de integralidad y el valor oacuteptimo de su funcioacuten objetivo es menor que la cota superior actual dicha cota se actualiza al valor oacuteptimo de la funcioacuten 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 oacuteptimo de la funcioacuten objetivo del problema resuelto si eacuteste es menor que dicha cota inferior42 Si por el contrario la solucioacuten obtenida no satisface las restricciones de integralidad y el valor de la correspondiente funcioacuten objetivo estaacute entre las cotas inferior y superior se actualiza el valor de la cota inferior al valor de la funcioacuten 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 funcioacuten objetivo del problema resuelto y se procede a bifurcar de nuevo43 Los problemas generados en el proceso de bifurcacioacuten se antildeaden a la lista de problemas que han de resolversePaso 5 Poda51 Poda por cotas Tiene lugar si la solucioacuten no satisface las condiciones de integralidad y ademaacutes el valor de la funcioacuten 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 rama52 Poda por infactibilidad Tiene lugar si el problema es infactible53 Poda por integralidad Tiene lugar si la solucioacuten del problema actual cumple las restricciones de integralidadPaso 6 Optimalidad61 Si la lista de problemas a procesar no estaacute vaciacutea se continuacutea con el paso 362 Si la lista de problemas a procesar estaacute vaciacutea el procedimiento concluye63 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 solucioacuten mediante el Meacutetodo Simplex Si la solucioacuten no es entera pase al

segundo punto 2 Comienza con la solucioacuten oacuteptima 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 Programacioacuten Lineal que se deben resolver

4 Si ninguna solucioacuten es entera con la rama de mayor valor de Z se crean nuevas ramas y se resuelven nuevos problemas por programacioacuten lineal (Meacutetodo Simplex)

5 Se repite el punto 4) Hasta encontrar la solucioacuten entera oacuteptima

Observe que la primera acotacioacuten se realizoacute sobre la variable X2 pero pudo haber sido sobre X1 de todas formas el meacutetodo es dispendioso en especial si se hace manualmente

Meacutetodo Aditivo de Egon Balas para problemas binarios (01)

No confundir eacuteste meacutetodo para solucionar problemas de asignaciones aquiacute el problema de programacioacuten lineal tiene la forma general y lo diferente es que las variables solo pueden tomar valores binarios (01) La filosofiacutea del meacutetodo se basa en pensar que si se tiene una funcioacuten objetiva minimizando y todos sus teacuterminos son positivos entonces entre menos variables tomen el valor de uno (1) la funcioacuten objetiva seraacute miacutenima

1 La funcioacuten objetivo se minimiza en caso de maximizacioacuten use la regla de equivalencia Maximizar (Z) = Minimizar (-Z)

2 Se requiere que Cj gt 0 forallj En caso de que Cj lt 0 entonces Xj se sustituye por XJ = 1 - Xj es decir Xj es el complemento Ejemplo Min Z = 3X1 ndash 2X2 rArr X2 = 1 - X2 Remplazando Z = 3X1 ndash 2(1- X2) Min Z = 3X1 + 2X2 ndash 2 que para el caso Min Z = 3X1 + 2X2 Nota El cambio de variable tambieacuten se debe aplicar a todas las restricciones

Para apreciar la utilidad del meacutetodo resolveremos el siguiente ejemplo primero contemplando todas las posibles soluciones y a continuacioacuten aplicando el meacutetodo aditivo de Egon Balas que reduce el nuacutemero de soluciones posibles a contemplar

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

CSR XJ = 0 1

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

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 2: METODO DE GOMORY

Caacutelculo de la nueva restriccioacuten a partir de la ecuacioacuten 2 X2 + 110X3 ndash 110X4 = 95 Remplazamos cada constante por la suma de un nuacutemero entero de cualquier signo y una fraccioacuten no negativa menor que uno (1) (1+0)X2 + (0+110) X3 + (-1+910) X4 = (1+45) Simplificando X2 + 110X3 ndash X4 + 910X4 = 45 + 1 Trasladamos los teacuterminos con coeficiente entero al lado derecho 110X3 + 910X4 = 45 + 1 ndash X2 + X4 Fiacutejese que el lado izquierdo subrayado debe ser positivo y el lado derecho subrayado debe ser entero luego podemos asegurar que 110X3 + 910X4 gt 45 Multiplicando por (-1) -110X3 ndash 910X4 lt -45 Adicionando una variable de holgura -110X3 ndash 910X4 + X5 = -45 Ecuacioacuten eacutesta que adicionamos asiacute

X1 = 109 = 1 + 19 X2 = 179 = 1 + 89 X3 = 0 X4 = 89 X5 = 0 Z = 959 = 105

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

19X3 + X4 ndash 109X5 = 89 rArr (0+19)X3 + (1+0)X4 + (-2+89)X5 = 89 rArr

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

Y1 = 38 Y2 = 0 Y3 = 0 Y4 = 58 Y5 = 0 Y6 = 0 ZY = 10

Meacutetodo de Bifurcacioacuten y Acotacioacuten (Branch And Bound)

El meacutetodo de bifurcacioacuten y acotacioacuten (BampB de Branch and Bound) resuelve un PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las restricciones de integralidad y antildeadiendo restricciones adicionales El nuacutemero de restricciones adicionales crece a medida que el meacutetodo BampB progresa Estas restricciones permiten separar la regioacuten factible en subregiones complementariasEl meacutetodo BampB establece inicialmente cotas inferior y superior del valor oacuteptimo de la funcioacuten objetivo El mecanismo de bifurcacioacuten aumenta progresivamente el valor de la cota inferior y disminuye tambieacuten progresivamente el valor de la cota superior La diferencia entre estas cotas es una medida de la proximidad de la solucioacuten actual a la oacuteptima si eacutesta existeAl minimizar se obtiene una cota inferior de la solucioacuten oacuteptima relajando las restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante Ademaacutes el valor de la funcioacuten objetivo para cualquier solucioacuten del PPLE original es una cota superior de la solucioacuten oacuteptima De manera anaacuteloga al maximizar la solucioacuten del PPL relajado es una cota superior para el oacuteptimo y cualquier solucioacuten del PPLE original es una cota inferior de la solucioacuten oacuteptimaEs una estrategia sistemaacutetica que reduce mucho el nuacutemero de combinaciones que se deben examinar A continuacioacuten se enumeran los pasos del algoritmo BampB para un PPLE MixtaPaso 1 Iniciacioacuten11 Se establece una cota superior (infin) y una cota inferior (minusinfin) de la solucioacuten oacuteptima12 Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad12 a Si el problema relajado es infactible el original tambieacuten lo es y no hay solucioacuten12 b Si la solucioacuten obtenida satisface las condiciones de integralidad es oacuteptima12 c En cualquier otro caso se actualiza el valor de la cota correspondiente con el valor de la funcioacuten objetivo resultante

Paso 2 Bifurcacioacuten21 Empleando la variable xk que ha de ser entera y no lo es se generan mediante bifurcacioacuten dos problemas Si el valor de la variable que ha de ser entera xk es ab donde a y b son sus partes entera y fraccional respectivamente los problemas fruto de la bifurcacioacuten son los siguientes21a El primer problema es el PPLE relajado al que se la antildeade la restriccioacuten xklea21b El segundo es el PPLE relajado al que se le antildeade la restriccioacuten xkgea+1

22 Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo Obseacutervese que la teacutecnica de bifurcacioacuten propuesta cubre completamente el espacio de solucionesPaso 3 Solucioacuten31 Se resuelve el siguiente problema en la lista de problemas a procesarPaso 4 Acotacioacuten41 Si la solucioacuten del problema actual satisface las condiciones de integralidad y el valor oacuteptimo de su funcioacuten objetivo es menor que la cota superior actual dicha cota se actualiza al valor oacuteptimo de la funcioacuten 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 oacuteptimo de la funcioacuten objetivo del problema resuelto si eacuteste es menor que dicha cota inferior42 Si por el contrario la solucioacuten obtenida no satisface las restricciones de integralidad y el valor de la correspondiente funcioacuten objetivo estaacute entre las cotas inferior y superior se actualiza el valor de la cota inferior al valor de la funcioacuten 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 funcioacuten objetivo del problema resuelto y se procede a bifurcar de nuevo43 Los problemas generados en el proceso de bifurcacioacuten se antildeaden a la lista de problemas que han de resolversePaso 5 Poda51 Poda por cotas Tiene lugar si la solucioacuten no satisface las condiciones de integralidad y ademaacutes el valor de la funcioacuten 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 rama52 Poda por infactibilidad Tiene lugar si el problema es infactible53 Poda por integralidad Tiene lugar si la solucioacuten del problema actual cumple las restricciones de integralidadPaso 6 Optimalidad61 Si la lista de problemas a procesar no estaacute vaciacutea se continuacutea con el paso 362 Si la lista de problemas a procesar estaacute vaciacutea el procedimiento concluye63 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 solucioacuten mediante el Meacutetodo Simplex Si la solucioacuten no es entera pase al

segundo punto 2 Comienza con la solucioacuten oacuteptima 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 Programacioacuten Lineal que se deben resolver

4 Si ninguna solucioacuten es entera con la rama de mayor valor de Z se crean nuevas ramas y se resuelven nuevos problemas por programacioacuten lineal (Meacutetodo Simplex)

5 Se repite el punto 4) Hasta encontrar la solucioacuten entera oacuteptima

Observe que la primera acotacioacuten se realizoacute sobre la variable X2 pero pudo haber sido sobre X1 de todas formas el meacutetodo es dispendioso en especial si se hace manualmente

Meacutetodo Aditivo de Egon Balas para problemas binarios (01)

No confundir eacuteste meacutetodo para solucionar problemas de asignaciones aquiacute el problema de programacioacuten lineal tiene la forma general y lo diferente es que las variables solo pueden tomar valores binarios (01) La filosofiacutea del meacutetodo se basa en pensar que si se tiene una funcioacuten objetiva minimizando y todos sus teacuterminos son positivos entonces entre menos variables tomen el valor de uno (1) la funcioacuten objetiva seraacute miacutenima

1 La funcioacuten objetivo se minimiza en caso de maximizacioacuten use la regla de equivalencia Maximizar (Z) = Minimizar (-Z)

2 Se requiere que Cj gt 0 forallj En caso de que Cj lt 0 entonces Xj se sustituye por XJ = 1 - Xj es decir Xj es el complemento Ejemplo Min Z = 3X1 ndash 2X2 rArr X2 = 1 - X2 Remplazando Z = 3X1 ndash 2(1- X2) Min Z = 3X1 + 2X2 ndash 2 que para el caso Min Z = 3X1 + 2X2 Nota El cambio de variable tambieacuten se debe aplicar a todas las restricciones

Para apreciar la utilidad del meacutetodo resolveremos el siguiente ejemplo primero contemplando todas las posibles soluciones y a continuacioacuten aplicando el meacutetodo aditivo de Egon Balas que reduce el nuacutemero de soluciones posibles a contemplar

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

CSR XJ = 0 1

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

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 3: METODO DE GOMORY

19X3 + X4 ndash 109X5 = 89 rArr (0+19)X3 + (1+0)X4 + (-2+89)X5 = 89 rArr

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

Y1 = 38 Y2 = 0 Y3 = 0 Y4 = 58 Y5 = 0 Y6 = 0 ZY = 10

Meacutetodo de Bifurcacioacuten y Acotacioacuten (Branch And Bound)

El meacutetodo de bifurcacioacuten y acotacioacuten (BampB de Branch and Bound) resuelve un PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las restricciones de integralidad y antildeadiendo restricciones adicionales El nuacutemero de restricciones adicionales crece a medida que el meacutetodo BampB progresa Estas restricciones permiten separar la regioacuten factible en subregiones complementariasEl meacutetodo BampB establece inicialmente cotas inferior y superior del valor oacuteptimo de la funcioacuten objetivo El mecanismo de bifurcacioacuten aumenta progresivamente el valor de la cota inferior y disminuye tambieacuten progresivamente el valor de la cota superior La diferencia entre estas cotas es una medida de la proximidad de la solucioacuten actual a la oacuteptima si eacutesta existeAl minimizar se obtiene una cota inferior de la solucioacuten oacuteptima relajando las restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante Ademaacutes el valor de la funcioacuten objetivo para cualquier solucioacuten del PPLE original es una cota superior de la solucioacuten oacuteptima De manera anaacuteloga al maximizar la solucioacuten del PPL relajado es una cota superior para el oacuteptimo y cualquier solucioacuten del PPLE original es una cota inferior de la solucioacuten oacuteptimaEs una estrategia sistemaacutetica que reduce mucho el nuacutemero de combinaciones que se deben examinar A continuacioacuten se enumeran los pasos del algoritmo BampB para un PPLE MixtaPaso 1 Iniciacioacuten11 Se establece una cota superior (infin) y una cota inferior (minusinfin) de la solucioacuten oacuteptima12 Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad12 a Si el problema relajado es infactible el original tambieacuten lo es y no hay solucioacuten12 b Si la solucioacuten obtenida satisface las condiciones de integralidad es oacuteptima12 c En cualquier otro caso se actualiza el valor de la cota correspondiente con el valor de la funcioacuten objetivo resultante

Paso 2 Bifurcacioacuten21 Empleando la variable xk que ha de ser entera y no lo es se generan mediante bifurcacioacuten dos problemas Si el valor de la variable que ha de ser entera xk es ab donde a y b son sus partes entera y fraccional respectivamente los problemas fruto de la bifurcacioacuten son los siguientes21a El primer problema es el PPLE relajado al que se la antildeade la restriccioacuten xklea21b El segundo es el PPLE relajado al que se le antildeade la restriccioacuten xkgea+1

22 Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo Obseacutervese que la teacutecnica de bifurcacioacuten propuesta cubre completamente el espacio de solucionesPaso 3 Solucioacuten31 Se resuelve el siguiente problema en la lista de problemas a procesarPaso 4 Acotacioacuten41 Si la solucioacuten del problema actual satisface las condiciones de integralidad y el valor oacuteptimo de su funcioacuten objetivo es menor que la cota superior actual dicha cota se actualiza al valor oacuteptimo de la funcioacuten 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 oacuteptimo de la funcioacuten objetivo del problema resuelto si eacuteste es menor que dicha cota inferior42 Si por el contrario la solucioacuten obtenida no satisface las restricciones de integralidad y el valor de la correspondiente funcioacuten objetivo estaacute entre las cotas inferior y superior se actualiza el valor de la cota inferior al valor de la funcioacuten 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 funcioacuten objetivo del problema resuelto y se procede a bifurcar de nuevo43 Los problemas generados en el proceso de bifurcacioacuten se antildeaden a la lista de problemas que han de resolversePaso 5 Poda51 Poda por cotas Tiene lugar si la solucioacuten no satisface las condiciones de integralidad y ademaacutes el valor de la funcioacuten 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 rama52 Poda por infactibilidad Tiene lugar si el problema es infactible53 Poda por integralidad Tiene lugar si la solucioacuten del problema actual cumple las restricciones de integralidadPaso 6 Optimalidad61 Si la lista de problemas a procesar no estaacute vaciacutea se continuacutea con el paso 362 Si la lista de problemas a procesar estaacute vaciacutea el procedimiento concluye63 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 solucioacuten mediante el Meacutetodo Simplex Si la solucioacuten no es entera pase al

segundo punto 2 Comienza con la solucioacuten oacuteptima 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 Programacioacuten Lineal que se deben resolver

4 Si ninguna solucioacuten es entera con la rama de mayor valor de Z se crean nuevas ramas y se resuelven nuevos problemas por programacioacuten lineal (Meacutetodo Simplex)

5 Se repite el punto 4) Hasta encontrar la solucioacuten entera oacuteptima

Observe que la primera acotacioacuten se realizoacute sobre la variable X2 pero pudo haber sido sobre X1 de todas formas el meacutetodo es dispendioso en especial si se hace manualmente

Meacutetodo Aditivo de Egon Balas para problemas binarios (01)

No confundir eacuteste meacutetodo para solucionar problemas de asignaciones aquiacute el problema de programacioacuten lineal tiene la forma general y lo diferente es que las variables solo pueden tomar valores binarios (01) La filosofiacutea del meacutetodo se basa en pensar que si se tiene una funcioacuten objetiva minimizando y todos sus teacuterminos son positivos entonces entre menos variables tomen el valor de uno (1) la funcioacuten objetiva seraacute miacutenima

1 La funcioacuten objetivo se minimiza en caso de maximizacioacuten use la regla de equivalencia Maximizar (Z) = Minimizar (-Z)

2 Se requiere que Cj gt 0 forallj En caso de que Cj lt 0 entonces Xj se sustituye por XJ = 1 - Xj es decir Xj es el complemento Ejemplo Min Z = 3X1 ndash 2X2 rArr X2 = 1 - X2 Remplazando Z = 3X1 ndash 2(1- X2) Min Z = 3X1 + 2X2 ndash 2 que para el caso Min Z = 3X1 + 2X2 Nota El cambio de variable tambieacuten se debe aplicar a todas las restricciones

Para apreciar la utilidad del meacutetodo resolveremos el siguiente ejemplo primero contemplando todas las posibles soluciones y a continuacioacuten aplicando el meacutetodo aditivo de Egon Balas que reduce el nuacutemero de soluciones posibles a contemplar

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

CSR XJ = 0 1

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

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 4: METODO DE GOMORY

Meacutetodo de Bifurcacioacuten y Acotacioacuten (Branch And Bound)

El meacutetodo de bifurcacioacuten y acotacioacuten (BampB de Branch and Bound) resuelve un PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las restricciones de integralidad y antildeadiendo restricciones adicionales El nuacutemero de restricciones adicionales crece a medida que el meacutetodo BampB progresa Estas restricciones permiten separar la regioacuten factible en subregiones complementariasEl meacutetodo BampB establece inicialmente cotas inferior y superior del valor oacuteptimo de la funcioacuten objetivo El mecanismo de bifurcacioacuten aumenta progresivamente el valor de la cota inferior y disminuye tambieacuten progresivamente el valor de la cota superior La diferencia entre estas cotas es una medida de la proximidad de la solucioacuten actual a la oacuteptima si eacutesta existeAl minimizar se obtiene una cota inferior de la solucioacuten oacuteptima relajando las restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante Ademaacutes el valor de la funcioacuten objetivo para cualquier solucioacuten del PPLE original es una cota superior de la solucioacuten oacuteptima De manera anaacuteloga al maximizar la solucioacuten del PPL relajado es una cota superior para el oacuteptimo y cualquier solucioacuten del PPLE original es una cota inferior de la solucioacuten oacuteptimaEs una estrategia sistemaacutetica que reduce mucho el nuacutemero de combinaciones que se deben examinar A continuacioacuten se enumeran los pasos del algoritmo BampB para un PPLE MixtaPaso 1 Iniciacioacuten11 Se establece una cota superior (infin) y una cota inferior (minusinfin) de la solucioacuten oacuteptima12 Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad12 a Si el problema relajado es infactible el original tambieacuten lo es y no hay solucioacuten12 b Si la solucioacuten obtenida satisface las condiciones de integralidad es oacuteptima12 c En cualquier otro caso se actualiza el valor de la cota correspondiente con el valor de la funcioacuten objetivo resultante

Paso 2 Bifurcacioacuten21 Empleando la variable xk que ha de ser entera y no lo es se generan mediante bifurcacioacuten dos problemas Si el valor de la variable que ha de ser entera xk es ab donde a y b son sus partes entera y fraccional respectivamente los problemas fruto de la bifurcacioacuten son los siguientes21a El primer problema es el PPLE relajado al que se la antildeade la restriccioacuten xklea21b El segundo es el PPLE relajado al que se le antildeade la restriccioacuten xkgea+1

22 Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo Obseacutervese que la teacutecnica de bifurcacioacuten propuesta cubre completamente el espacio de solucionesPaso 3 Solucioacuten31 Se resuelve el siguiente problema en la lista de problemas a procesarPaso 4 Acotacioacuten41 Si la solucioacuten del problema actual satisface las condiciones de integralidad y el valor oacuteptimo de su funcioacuten objetivo es menor que la cota superior actual dicha cota se actualiza al valor oacuteptimo de la funcioacuten 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 oacuteptimo de la funcioacuten objetivo del problema resuelto si eacuteste es menor que dicha cota inferior42 Si por el contrario la solucioacuten obtenida no satisface las restricciones de integralidad y el valor de la correspondiente funcioacuten objetivo estaacute entre las cotas inferior y superior se actualiza el valor de la cota inferior al valor de la funcioacuten 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 funcioacuten objetivo del problema resuelto y se procede a bifurcar de nuevo43 Los problemas generados en el proceso de bifurcacioacuten se antildeaden a la lista de problemas que han de resolversePaso 5 Poda51 Poda por cotas Tiene lugar si la solucioacuten no satisface las condiciones de integralidad y ademaacutes el valor de la funcioacuten 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 rama52 Poda por infactibilidad Tiene lugar si el problema es infactible53 Poda por integralidad Tiene lugar si la solucioacuten del problema actual cumple las restricciones de integralidadPaso 6 Optimalidad61 Si la lista de problemas a procesar no estaacute vaciacutea se continuacutea con el paso 362 Si la lista de problemas a procesar estaacute vaciacutea el procedimiento concluye63 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 solucioacuten mediante el Meacutetodo Simplex Si la solucioacuten no es entera pase al

segundo punto 2 Comienza con la solucioacuten oacuteptima 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 Programacioacuten Lineal que se deben resolver

4 Si ninguna solucioacuten es entera con la rama de mayor valor de Z se crean nuevas ramas y se resuelven nuevos problemas por programacioacuten lineal (Meacutetodo Simplex)

5 Se repite el punto 4) Hasta encontrar la solucioacuten entera oacuteptima

Observe que la primera acotacioacuten se realizoacute sobre la variable X2 pero pudo haber sido sobre X1 de todas formas el meacutetodo es dispendioso en especial si se hace manualmente

Meacutetodo Aditivo de Egon Balas para problemas binarios (01)

No confundir eacuteste meacutetodo para solucionar problemas de asignaciones aquiacute el problema de programacioacuten lineal tiene la forma general y lo diferente es que las variables solo pueden tomar valores binarios (01) La filosofiacutea del meacutetodo se basa en pensar que si se tiene una funcioacuten objetiva minimizando y todos sus teacuterminos son positivos entonces entre menos variables tomen el valor de uno (1) la funcioacuten objetiva seraacute miacutenima

1 La funcioacuten objetivo se minimiza en caso de maximizacioacuten use la regla de equivalencia Maximizar (Z) = Minimizar (-Z)

2 Se requiere que Cj gt 0 forallj En caso de que Cj lt 0 entonces Xj se sustituye por XJ = 1 - Xj es decir Xj es el complemento Ejemplo Min Z = 3X1 ndash 2X2 rArr X2 = 1 - X2 Remplazando Z = 3X1 ndash 2(1- X2) Min Z = 3X1 + 2X2 ndash 2 que para el caso Min Z = 3X1 + 2X2 Nota El cambio de variable tambieacuten se debe aplicar a todas las restricciones

Para apreciar la utilidad del meacutetodo resolveremos el siguiente ejemplo primero contemplando todas las posibles soluciones y a continuacioacuten aplicando el meacutetodo aditivo de Egon Balas que reduce el nuacutemero de soluciones posibles a contemplar

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

CSR XJ = 0 1

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

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 5: METODO DE GOMORY

22 Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo Obseacutervese que la teacutecnica de bifurcacioacuten propuesta cubre completamente el espacio de solucionesPaso 3 Solucioacuten31 Se resuelve el siguiente problema en la lista de problemas a procesarPaso 4 Acotacioacuten41 Si la solucioacuten del problema actual satisface las condiciones de integralidad y el valor oacuteptimo de su funcioacuten objetivo es menor que la cota superior actual dicha cota se actualiza al valor oacuteptimo de la funcioacuten 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 oacuteptimo de la funcioacuten objetivo del problema resuelto si eacuteste es menor que dicha cota inferior42 Si por el contrario la solucioacuten obtenida no satisface las restricciones de integralidad y el valor de la correspondiente funcioacuten objetivo estaacute entre las cotas inferior y superior se actualiza el valor de la cota inferior al valor de la funcioacuten 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 funcioacuten objetivo del problema resuelto y se procede a bifurcar de nuevo43 Los problemas generados en el proceso de bifurcacioacuten se antildeaden a la lista de problemas que han de resolversePaso 5 Poda51 Poda por cotas Tiene lugar si la solucioacuten no satisface las condiciones de integralidad y ademaacutes el valor de la funcioacuten 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 rama52 Poda por infactibilidad Tiene lugar si el problema es infactible53 Poda por integralidad Tiene lugar si la solucioacuten del problema actual cumple las restricciones de integralidadPaso 6 Optimalidad61 Si la lista de problemas a procesar no estaacute vaciacutea se continuacutea con el paso 362 Si la lista de problemas a procesar estaacute vaciacutea el procedimiento concluye63 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 solucioacuten mediante el Meacutetodo Simplex Si la solucioacuten no es entera pase al

segundo punto 2 Comienza con la solucioacuten oacuteptima 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 Programacioacuten Lineal que se deben resolver

4 Si ninguna solucioacuten es entera con la rama de mayor valor de Z se crean nuevas ramas y se resuelven nuevos problemas por programacioacuten lineal (Meacutetodo Simplex)

5 Se repite el punto 4) Hasta encontrar la solucioacuten entera oacuteptima

Observe que la primera acotacioacuten se realizoacute sobre la variable X2 pero pudo haber sido sobre X1 de todas formas el meacutetodo es dispendioso en especial si se hace manualmente

Meacutetodo Aditivo de Egon Balas para problemas binarios (01)

No confundir eacuteste meacutetodo para solucionar problemas de asignaciones aquiacute el problema de programacioacuten lineal tiene la forma general y lo diferente es que las variables solo pueden tomar valores binarios (01) La filosofiacutea del meacutetodo se basa en pensar que si se tiene una funcioacuten objetiva minimizando y todos sus teacuterminos son positivos entonces entre menos variables tomen el valor de uno (1) la funcioacuten objetiva seraacute miacutenima

1 La funcioacuten objetivo se minimiza en caso de maximizacioacuten use la regla de equivalencia Maximizar (Z) = Minimizar (-Z)

2 Se requiere que Cj gt 0 forallj En caso de que Cj lt 0 entonces Xj se sustituye por XJ = 1 - Xj es decir Xj es el complemento Ejemplo Min Z = 3X1 ndash 2X2 rArr X2 = 1 - X2 Remplazando Z = 3X1 ndash 2(1- X2) Min Z = 3X1 + 2X2 ndash 2 que para el caso Min Z = 3X1 + 2X2 Nota El cambio de variable tambieacuten se debe aplicar a todas las restricciones

Para apreciar la utilidad del meacutetodo resolveremos el siguiente ejemplo primero contemplando todas las posibles soluciones y a continuacioacuten aplicando el meacutetodo aditivo de Egon Balas que reduce el nuacutemero de soluciones posibles a contemplar

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

CSR XJ = 0 1

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

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 6: METODO DE GOMORY

Observe que la primera acotacioacuten se realizoacute sobre la variable X2 pero pudo haber sido sobre X1 de todas formas el meacutetodo es dispendioso en especial si se hace manualmente

Meacutetodo Aditivo de Egon Balas para problemas binarios (01)

No confundir eacuteste meacutetodo para solucionar problemas de asignaciones aquiacute el problema de programacioacuten lineal tiene la forma general y lo diferente es que las variables solo pueden tomar valores binarios (01) La filosofiacutea del meacutetodo se basa en pensar que si se tiene una funcioacuten objetiva minimizando y todos sus teacuterminos son positivos entonces entre menos variables tomen el valor de uno (1) la funcioacuten objetiva seraacute miacutenima

1 La funcioacuten objetivo se minimiza en caso de maximizacioacuten use la regla de equivalencia Maximizar (Z) = Minimizar (-Z)

2 Se requiere que Cj gt 0 forallj En caso de que Cj lt 0 entonces Xj se sustituye por XJ = 1 - Xj es decir Xj es el complemento Ejemplo Min Z = 3X1 ndash 2X2 rArr X2 = 1 - X2 Remplazando Z = 3X1 ndash 2(1- X2) Min Z = 3X1 + 2X2 ndash 2 que para el caso Min Z = 3X1 + 2X2 Nota El cambio de variable tambieacuten se debe aplicar a todas las restricciones

Para apreciar la utilidad del meacutetodo resolveremos el siguiente ejemplo primero contemplando todas las posibles soluciones y a continuacioacuten aplicando el meacutetodo aditivo de Egon Balas que reduce el nuacutemero de soluciones posibles a contemplar

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

CSR XJ = 0 1

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

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 7: METODO DE GOMORY

El nuacutemero posible de soluciones es de 2n en donde n es el nuacutemero de variables En el

ejemplo el nuacutemero posible de soluciones es 25 = 32 En el siguiente diagrama se muestran todas las 32 posibles soluciones

Algunas de eacutestas soluciones no son factibles ya que no satisfacen las restricciones Aquellas que satisfagan las restricciones deberaacuten ser remplazadas en la funcioacuten objetivo y la que la haga maacutes pequentildea seraacute la solucioacuten oacuteptima Eacuteste procedimiento es dispendioso tanto en la consecucioacuten de todas las soluciones como en su evaluacioacuten para todas las restricciones y en su evaluacioacuten final sobre la funcioacuten objetiva Aplicacioacuten del Meacutetodo de Egon Balas Evaluamos cada restriccioacuten primeramente suponiendo que todas las variables valgan cero y despueacutes 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 solucioacuten no satisfaga una restriccioacuten el que tan lejos estaacute de satisfacerla lo llamamos infactibilidad Ejemplo Si X1 = 1 y X2 = X3 = X4 = X5 = 0 Remplazando en la restriccioacuten uno (1) establecemos que -3 lt 0 luego aquiacute la infactibilidad es cero (0) ya que la solucioacuten evaluada satisface la restriccioacuten convirtieacutendola en una afirmacioacuten verdadera Remplazando en la restriccioacuten dos (2) establecemos que 3 lt 0 luego aquiacute la infactibilidad es tres (3) ya que la solucioacuten evaluada no satisface la restriccioacuten convirtieacutendola en una afirmacioacuten falsa El que tan lejos estaacute de ser una verdad es lo que llamamos infactibilidad En total la solucioacuten evaluada tiene una infactibilidad de 0 + 3 = 3 Si en eacutesta primera iteracioacuten encontramos una solucioacuten cuya infactibilidad sea cero (0) hemos encontrado la solucioacuten factible y oacuteptima Si encontramos que varias soluciones tienen la infactibilidad igual a cero (0) remplazamos todas eacutestas soluciones en la funcioacuten objetivo y la solucioacuten oacuteptima seraacute aquella que haga que Z sea miacutenima

Si no hay ninguna solucioacuten con su infactibilidad igual a cero (0) Escogemos la solucioacuten que menor infactibilidad tenga y de ella la variable que esteacute valiendo uno (1) Remplazamos en las restricciones dicha variable y sobre dichas restricciones iniciamos la segunda iteracioacuten Eacuteste procedimiento se repite hasta encontrar la solucioacuten oacuteptima factible

Primera Iteracioacuten Segunda Iteracioacuten (X2 = 1) -6X1 ndash 3X2 + 2X3 ndash 4X4 ndash X5 + 3 lt 0 -6X1 + 2X3 ndash 4X4 ndash X5 lt 0

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 8: METODO DE GOMORY

-4X1 ndash 5X2 ndash 4X3 ndash 3X4 + 3X5 + 7 lt 0 -4X1 ndash 4X3 ndash 3X4 + 3X5 + 2 lt 0 X1 = X2 = X3 = X4 = X5 = 0 3 lt 0 7 lt 0 Infactibilidad = 10

X1 = 1 X3 = X4 = X5 = 0 -6 lt 0 -2 lt 0 Infactibilidad = 0

X1 = 1 X2 = X3 = X4 = X5 = 0 -3 lt 0 3 lt 0 Infactibilidad = 3

X3 = 1 X1 = X4 = X5 = 0 2 lt 0 -2 lt 0 Infactibilidad = 2

X2 = 1 X1 = X3 = X4 = X5 = 0 0 lt 0 2 lt 0 Infactibilidad = 2 La menor

X4 = 1 X1 = X3 = X5 = 0 -4 lt 0 -1 lt 0 Infactibilidad = 0

X3 = 1 X1 = X2 = X4 = X5 = 0 5 lt 0 3 lt 0 Infactibilidad = 8

X5 = 1 X1 = X3 = X4 = 0 -1 lt 0 5 lt 0 Infactibilidad = 5

X4 = 1 X1 = X2 = X3 = X5 = 0 -1 lt 0 4 lt 0 Infactibilidad = 4

En eacutesta iteracioacuten hay dos soluciones con infactibilidad igual a cero (0) evaluado la funcioacuten objetivo con ambas soluciones encontramos la solucioacuten oacuteptima con Z = 12

X5 = 1 X1 = X2 = X3 = X4 = 0 2 lt 0 10 lt 0 Infactibilidad = 12

Solucioacuten X1 = 0 X2 = 1 X3 = 0 X4 = 1 X5 = 0 Z = 12

Aquiacute 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 2ordm iteracioacuten

Solamente se hizo necesario escudrintildear 10 de las 32 soluciones posibles Podemos asegurar que el meacutetodo hace una buacutesqueda sistemaacutetica que evita probar todas las combinaciones posibles

Ejemplo 1 Meacutetodo BampB para un PPLE PuraSea el siguiente PPLE Pura

  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)
Page 9: METODO DE GOMORY
  • Introduccioacuten
    • Meacutetodo de los planos cortantes de Gomory
    • Algoritmo
    • 1 Encontrar la solucioacuten empleando el meacutetodo simplex
      • Segunda Iteracioacuten (X2 = 1)