METODO ADITIVO (ENUMERACION) DE EGON BALAS Algoritmo aditivo de Balas Otro algoritmo enumerativo importante es el algoritmo aditivo.

Es debido originalmente a Egon Balas (1965). Se llama aditivo porque todas las operaciones matemáticas que se realizan consisten en sumar o restar. El procedimiento consiste en generar una secuencia de soluciones parciales añadiendo en cada iteración una variable y considerando las soluciones complementarias (resto de soluciones posibles). De esta forma, podemos por enumeración implícita, eliminar conjuntos de soluciones sin necesidad de evaluarlos exhaustivamente. La selección de la variable añadida se hace en función de reducir al máximo la infactibilidad en la solución actual y eliminar la redundancia.

Este método es un procedimiento de enumeración que encuentra el óptimo en forma más rápida; en el método de Balas, la eficacia consiste en la evaluación solo de unas soluciones. El método empieza poniendo todas las variables iguales a cero y luego por medio de un procedimiento sistemático de forma consecutiva se asigna a una por una de las variables el valor 1. Luego se reemplaza en cada una de las restricciones y se averigua la infactibilidad. Por esta razón el método es algunas veces llamado el algoritmo aditivo. Para describir el algoritmo, se considera la forma general siguiente de un problema de Programación Lineal con variables cero – uno: Paso 1. La función objetivo debe ser del tipo minimización, con todos los coeficientes no negativos. Paso 2. Todas las restricciones deben ser del tipo £, con los lados derechos negativos de ser necesario. Luego, estas restricciones se convierten a ecuaciones, usando las variables auxiliares en el lado izquierdo de las restricciones
ALGORITMO ADITIVO DE BALAS Ejemplo de Algoritmo Aditivo: Resolver el siguiente problema 0−1: Max w=3y1+2y2−5y3−2y4+3y5 Sujeta a: y1 + y2 + y3 + 2y4 − y5 " 4 7y1 +3y3 − 4y4 − 3y5 " 8 11y1 −6y2 +3y4 − 3y5 " 5 y1,y2,y3,y4,y5 = (0_1) El problema se puede poner en la forma inicial requerida por el algoritmo aditivo, utilizando las siguientes operaciones: Multiplique la función objetivo por −1. Multiplique la tercera restricción por −2. Añada las variables s1,s2 y s3 para convertir las tres restricciones en ecuaciones. Sustituya y1=1−x1 , y2=1−x2 , y5=1−x5 , y3=x3 , y y4=x4 para producir todos los coeficientes objetivo positivos.

la solución de holgura asociada es: (s2 . La variable de ramificación debe tener el potencial de reducir la no factibilidad de las holguras.−2. Por tanto. Si venos la tabla anterior x3 no se puede seleccionar como una variable de ramificación. de manera que el problema convertido resultante se lee como: Min z=3x1+2x2+5y3−2x4+3x5 Sujeta a: x1 − x2 + x3 + 2x4 − x5 −s1 = 1 −7x1 +3x3 − 4x4 − 3x5 −s2 = −2 11x1 −6x2 −3x4 − 3x5 −s3 = 5 x1.x5 = (0_1) Debido a que el problema modificado busca la minimización de una función objetivo con todos los coeficientes positivos. En este caso. concluiríamos que la solución binaria toda cero es óptima.x2. cada una de las variables restantes tiene por lo . debido a que algunas de las variables son no factibles (negativas).s2 .x4. las holguras actuarán como variables básicas y sus valores los dan los lados derechos de la ecuación. la determinación de x3=1 solo puede empeorar la no factibilidad de s2 y s3. La elevación de una (o de algunas) de las variables binarias cero al nivel 1 ocurre en el algoritmo aditivo una a la vez. ignoremos la constante −8 y reemplazaremos z' +8 con z.x3. La solución se resume en la siguiente tabla: Aquiii va una tablaaaa Dada una solución binaria inicial toda cero. debido a que sus coeficientes de restricción en la segunda y tercera restricciones son no negativos.s3 ) = (1. La variable elegida se llama variable de ramificación y su selección se basa en el empleo de pruebas especiales. necesitamos elevar una o más variables binarias al nivel 1 para lograr la factibilidad (o concluimos que el problema no tiene una solución factible). Sin embargo. La conversión da por resultado la siguiente función objetivo: Min z'=3x1+2x2+5y3−2x4+3x5−8 Para mayor facilidad. z=0 Si todas las variables fueran no negativas. una solución inicial lógica debe consistir en variables binarias todas cero. A la inversa.−1) .

I4=−1 y I5=0 (recordando que x3 se excluyó como no prometedora). se selecciona x5 como la variable de ramificación.s3 )= (2. que se basa en la suposición de que una variable cero xj se elevará al nivel 1. el nodo 2 difiere en que x5 ya no es . Fa figura 9−10 muestra las dos variables asociadas con x5=1 y x5=0 y la creación de nodos 1 y 2. Debido a que I5 produce la medida más pequeña de no factibilidad.si−aij} Donde s1 es el valor actual de la variable i y aij es el coeficiente de restricción de la variable x1 en la restricción i. se define como Ij = " min {0. Después de sondear el nodo 1. x3.1.2.x3 y x4 son las candidatas para la variable de ramificación. se puede simplificar a: Ij = " (negativos sj valor dado xj=1) Por ejemplo.x2.menos un coeficiente de restricción negativo en las restricciones 2 y 3. x4 y x5 como las únicas candidatas posibles para la variable de ramificación.−1). s2= −2−(−7)=5 y s3= −1−11= −12.s2 . aparentemente complicada.s2 . el nodo 1 produce los valores de holguras factibles (s1 . obtenemos s1=1−(−1)=2. cuando determinamos x1=1. (Observe que aun cuando las soluciones en el nodo 0 u el nodo 2 son idénticas. La fórmula. Las variables x1. Por consiguiente. Aquí tenemos: (s1 . x4 y x5 se basa en el empleo de la medida de no factibilidad de holgura. podemos excluir a x3 ya a considerar x2. se sondea el nodo 1 y z=3 se define como la cota superior actual sobre el óptimo valor objetivo. x3. avanzamos al nodo. De hecho. Así I1= −12. por tanto. de allí que una combinación de estas variables puede producir holguras factibles.2) y z=3. z=2 Que no es factible. De manera similar I2=−2. para lo cual x5=0. La selección de la variable de ramificación entre las candidatas x2. Ij no es más que la suma de las variables negativas resultantes de elevar xj al nivel 1. Esta medida.s3 )= (−1.

calculamos las medidas de factibilidad como: I2 = −2 . (Observe que también se puede excluir debido a que no reduce la factibilidad de la holgura). definido por x5 = x4 = 0 tenemos: (s1 . se excluyen por medio de la prueba de la cota superior. que conducen a los nodos 3 y 4. Para las variables restantes. obtendremos: (s1 .x2 y x3.s2 .−2.2). Las candidatas para la ramificación son x1. Sin embargo la elevación cualquiera de éstas variables al nivel 1 empeorará el valor de z en relación a la cota superior actual z=3. Después.s2 .s3 )= (1. x2 y x4.candidata para la ramificación. Por consiguiente. La variable faltante x2 no puede ser excluida por . x4 es la variable de ramificación en el nodo 2. z=2 Ésta solución aún no es aún factible. I4 = −1 Por consiguiente. en el nodo restante 4. todas las variables candidato se excluyen y el nodo 3 se sondea.−1).s3 )= (−1.2. en el nodo 3 (definido al determinar x5 = 0 y x4 = 1). La figura 9−11 muestra las ramificaciones x4 = 1 y x4 = 0. z=0 Las variables x5 y x3.

z = 3 y todas las demás variables son cero. más eficiente es el algoritmo. en el nodo 5 tenemos: (s1 . Esto significa que el nodo 5 se sondea. AQII FALTA UN EJEMPLO  Ahora que se han sondeado todos los pendientes en la anterior figura y termina el algoritmo de R y A la solución óptima está asociada con el nodo 1.la cota superior o por la promesa de factibilidad.s2 . la solución es y1= y2=1 y y3= y4= y5= 0 con w=5. La figura 9−12 muestra la adición de los nodos 5 y 6 que emanan el nodo 4. el nodo 1 se define fijando una ramificación (x5=1) y su sondeo implica automáticamente de 25−1 = 16 soluciones binarias (todas aquellas que tienen x5=1). x5 = 1. el nodo 3 se define fijando dos variables binarias y su sondeo implícitamente implica de 25−1=8 soluciones binarias únicamente.5). Por ejemplo. La figura anterior muestra que. El nodo 6 también es sondeado debido a que ni x1 ni x3 pueden producir una mejor solución factible. La variable x1 se excluye por medio de la prueba de la cota superior y x3 se excluye por medio de las pruebas tanto de la factibilidad de la holgura como de la cota superior.−2. z=2 Y x1 y x3 como las candidatas a la ramificación.s3 )= (2. En términos de las variables originales. A la inversa. Por tanto x2 es la variable de ramificación. mientras más pequeño es el número de ramificaciones conducentes a un nodo sondeado. es decir. .

Sign up to vote on this title
UsefulNot useful