Sunteți pe pagina 1din 15

V

PROGRAMACION ENTERA

http://www-2.dc.uba.ar/materias/ocom/

5.1

INTRODUCIION Y CASOS DE APLICACIN

5.2

DEFINICION Y MODELOS DE PROGRAMACION ENTERA

5.3

METODO DE RAMIFICACION Y ACOTAR

Optimizacin combinatorial Solucion ingenua: hacer una lista completa de todas las soluciones factibles y evaluar la funcin objetivo para cada una, eligiendo al final la solucin cual dio el mejor valor. La complejidad de ese tipo de solucin es por lo menos (|F|) donde F es el conjunto de soluciones factibles. El nmero de soluciones factibles suele ser algo como (2n), por lo cual el algoritmo ingenuo tiene complejidad asinttica exponencial.

Ramificar-acotar p. 3/20
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 funcin objetivo por -1. Multiplique la tercera restriccin por -2. Aada 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 conversin da por resultado la siguiente funcin objetivo: Min z'=3x1+2x2+5y3-2x4+3x5-8 Para mayor facilidad, ignoremos la constante -8 y reemplazaremos z' +8 con z, 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,x2,x3,x4,x5 = (0_1) Debido a que el problema modificado busca la minimizacin de una funcin objetivo con todos los coeficientes positivos, una solucin inicial lgica debe consistir en variables binarias todas cero. En este caso, las holguras actuarn como variables bsicas y sus valores los dan los lados derechos de la ecuacin. La solucin se resume en la siguiente tabla: Solucin bsica factible

X1

X2

X3

X4 2 S1

X5 -1 -7 11 3

S1 1 0 -6 2

S2 0 3 0 5

S3 0 -4 -3 2

Solucin 1 -3 -3 3 0 0 1 0 0 1 -2 -1

S1

-1

-1

S1 Coeficientes objetivo

Dada una solucin binaria inicial toda cero, la solucin de holgura asociada es: (s2 ,s2 ,s3 ) = (1,-2,-1) , z=0 Si todas las variables fueran no negativas, concluiramos que la solucin binaria toda cero es ptima. Sin embargo, debido a que algunas de las variables son no factibles (negativas), necesitamos elevar una o ms variables binarias al nivel 1 para lograr la factibilidad (o concluimos que el problema no tiene una solucin factible). La elevacin de una (o de algunas) de las variables binarias cero al nivel 1 ocurre en el algoritmo aditivo una a la vez. La variable elegida se llama variable de ramificacin y su seleccin se basa en el empleo de pruebas especiales. La variable de ramificacin debe tener el potencial de reducir la no factibilidad de las holguras. Si venos la tabla anterior x3 no se puede seleccionar como una variable de ramificacin, debido a que sus coeficientes de restriccin en la segunda y tercera restricciones son no negativos. Por tanto, la determinacin de x3=1 solo puede empeorar la no factibilidad de s2 y s3. A la inversa, cada una de las variables restantes tiene por lo menos un coeficiente de restriccin negativo en las restricciones 2 y 3, de all que una combinacin de estas variables puede producir holguras factibles. Por consiguiente, podemos excluir a x3 ya a considerar x2, x3, x4 y x5 como las nicas candidatas posibles para la variable de ramificacin. La seleccin de la variable de ramificacin entre las candidatas x2, x3, x4 y x5 se basa en el empleo de la medida de no factibilidad de holgura. Esta medida, que se basa en la suposicin de que una variable cero xj se elevar al nivel 1, se define como Ij = " min {0,si-aij} Donde s1 es el valor actual de la variable i y aij es el coeficiente de restriccin de la variable x1 en la restriccin i. De hecho, Ij no es ms que la suma de las variables negativas resultantes de elevar xj al nivel 1. La frmula, aparentemente complicada, se puede simplificar a: Ij = " (negativos sj valor dado xj=1) Por ejemplo, cuando determinamos x1=1, obtenemos s1=1-(-1)=2, s2= -2-(-7)=5 y s3= -1-11= -12. As I1= -12. De manera similar I2=-2, I4=-1 y I5=0 (recordando que x3 se excluy como no prometedora). Debido a que I5 produce la medida ms pequea de no factibilidad, se selecciona x5 como la variable de ramificacin. Fa figura 9-10 muestra las dos variables asociadas con x5=1 y x5=0 y la creacin de nodos 1 y 2. el nodo 1 produce los valores de holguras factibles (s1 ,s2 ,s3 )= (2,1,2) y z=3. por tanto, se sondea el nodo 1 y z=3 se define como la cota superior actual sobre el ptimo valor objetivo.

Despus de sondear el nodo 1, avanzamos al nodo, para lo cual x5=0. Aqu tenemos: (s1 ,s2 ,s3 )= (-1,2,-1), z=2 Que no es factible. Las variables x1,x2,x3 y x4 son las candidatas para la variable de ramificacin. (Observe que aun cuando las soluciones en el nodo 0 u el nodo 2 son idnticas, el nodo 2 difiere en que x5 ya no es candidata para la ramificacin. Para las variables restantes, x2 y x4, calculamos las medidas de factibilidad como: I2 = -2 , I4 = -1 Por consiguiente, x4 es la variable de ramificacin en el nodo 2. La figura 9-11 muestra las ramificaciones x4 = 1 y x4 = 0, que conducen a los nodos 3 y 4. en el nodo 3 (definido al determinar x5 = 0 y x4 = 1), obtendremos: (s1 ,s2 ,s3 )= (-1,2,2), z=2

sta solucin an no es an factible. Las candidatas para la ramificacin son x1,x2 y x3. Sin embargo la elevacin cualquiera de stas variables al nivel 1 empeorar el valor de z en relacin a la cota superior actual z=3. Por consiguiente, todas las variables candidato se excluyen y el nodo 3 se sondea. Despus, en el nodo restante 4, definido por x5 = x4 = 0 tenemos: (s1 ,s2 ,s3 )= (1,-2,-1), z=0 Las variables x5 y x3, se excluyen por medio de la prueba de la cota superior. (Observe que tambin se puede excluir debido a que no reduce la factibilidad de la holgura). La variable faltante x2 no puede ser excluida por la cota superior o por la promesa de factibilidad. Por tanto x2 es la variable de ramificacin. La figura 9-12 muestra la adicin de los nodos 5 y 6 que emanan el nodo 4. en el nodo 5 tenemos: (s1 ,s2 ,s3 )= (2,-2,5), z=2 Y x1 y x3 como las candidatas a la ramificacin. 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. Esto significa que el nodo 5 se sondea. El nodo 6 tambin es sondeado debido a que ni x1 ni x3 pueden producir una mejor solucin factible.

Ahora que se han sondeado todos los pendientes en la anterior figura y termina el algoritmo de R y A la solucin ptima est asociada con el nodo 1, es decir, x5 = 1, z = 3 y todas las dems variables son cero. En trminos de las variables originales, la solucin es y1= y2=1 y y3= y4= y5= 0 con w=5.
La figura anterior muestra que, mientras ms pequeo es el nmero de ramificaciones conducentes a un nodo sondeado, ms eficiente es el algoritmo. Por ejemplo, el nodo 1 se define fijando una ramificacin (x5=1) y su sondeo implica automticamente de 25-1 = 16 soluciones binarias (todas aquellas que tienen x5=1). A la inversa, el nodo 3 se define fijando dos variables binarias y su sondeo implcitamente implica de 25-1=8 soluciones binarias nicamente

5.4

METODO DE PLANOS CORTANTES

10

11

5.5

ALGORITMO ADITIVO DE BALAS

12

13

Algoritmo de Balas

http://www.investigacion-operaciones.com/Curso_Inv_Oper.htm

14

S-ar putea să vă placă și