PROBLEMAS de Sensibilidad

3
PROBLEMAS DE, ´ DUALIDAD Y ANALISIS DE SENSIBILIDAD ´ CON LA FUNCION´ lp DEL PAQUETE DE R lpSolve EJEMPLO 1: PROBLEMA CON SOLUCION´ UNICA ´ El siguiente problema tiene soluci´on ´unica x1 = 1, x2 = 1, con valor de la funci´on objetivo 13 Min z = 5x1 + 8x2 sujeto a x1 + x2 ≥ 2 x1 + 2x2 ≥ 3 x1, x2 ≥ 0 Resoluci´on con R R> library(lpSolve) R> Ejemplo1 <- lp(objective.in=c(5,8), const.mat=matrix(c(1,1,1,2),nrow=2, byrow=TRUE), + const.rhs=c(2,3), const.dir=c(“>=”,“>=”)) R> Ejemplo1 Success: the objective function is 13 R> Ejemplo1$solution [1] 1 1 EJEMPLO 2: PROBLEMA INFACTIBLE El siguiente problema tiene soluci´on ´unica x1 = 1, x2 = 1, con valor de la funci´on objetivo 13 Min z = 5x1 + 8x2 sujeto a x1 + x2 ≥ 2 x1 + 2x2 ≤ 1 x1, x2 ≥ 0 Resoluci´on con R R> library(lpSolve) R> Ejemplo2 <- lp(objective.in=c(5,8), const.mat=matrix(c(1,1,1,2),nrow=2, byrow=TRUE), + const.rhs=c(2,1), const.dir=c(“>=”,“<=”)) R> Ejemplo2 Error: no feasible solution found R> Ejemplo2$status [1] 2 1 EJEMPLO 3: PROBLEMA CON OPTIMOS ALTERNATIVOS ´ Esta funci´on no identifica cuando un problema tiene ´optimos alternativos. Por ejemplo, para Min z = 4x1 + 8x2 sujeto a x1 + x2 ≥ 2 x1 + 2x2 ≥ 3 x1, x2 ≥ 0 son soluciones (1,1) y (3,0) y, por tanto, cualquier punto del segmento que los une. Sin embargo, al aplicar la funci´on anterior a este problema, resulta: R> library(lpSolve) R> Ejemplo3 <- lp(objective.in=c(4,8), const.mat=matrix(c(1,1,1,2),nrow=2, byrow=TRUE), + const.rhs=c(2,3), const.dir=c(“>=”,“>=”)) R> Ejemplo3 Success: the objective function is 12 R> Ejemplo3$solution [1] 3 0 EJEMPLO 4: PROBLEMA CON SOLUCION NO ACOTADA ´ Cuando el problema tiene soluci´on no acotada, da error. Por ejemplo para M´ax z = 5x1 + 8x2 sujeto a x1 + x2 ≥ 2 x1 + 2x2 ≥ 3 x1, x2 ≥ 0 Resoluci´on con R R> library(lpSolve) R> Ejemplo4 <- lp(direction=”max”, objective.in=c(5,8), + const.mat=matrix(c(1,1,1,2),nrow=2, byrow=TRUE), + const.rhs=c(2,3), const.dir=c(“>=”,“>=”)) R> Ejemplo4 Error: status 3 EJEMPLO 5: CASO DE VARIABLES NO NECESARIAMENTE NO NEGATIVAS Esta funci´on no contempla el caso en que haya variables no necesariamente no negativas. La forma de abordar este problema con la funci´on lp() es la habitual transformaci´on previa. Min z = x1 + 10x2 sujeto a 2 x1 + x2 ≥ 2 x1 − x2 ≤ 3 x1 ≥ 0 Hacemos x2 =

description

estadistica

Transcript of PROBLEMAS de Sensibilidad

PROBLEMAS DE, DUALIDAD Y ANALISIS DE SENSIBILIDAD CON LA FUNCION lp DEL PAQUETE DE R lpSolve EJEMPLO 1: PROBLEMA CON SOLUCION UNICA El siguiente problema tiene solucion unica x1 = 1, x2 = 1, con valor de la funcion objetivo 13 Min z = 5x1 + 8x2 sujeto a x1 + x2 2 x1 + 2x2 3 x1, x2 0 Resolucion con R R> library(lpSolve) R> Ejemplo1 =,>=)) R> Ejemplo1 Success: the objective function is 13 R> Ejemplo1$solution [1] 1 1 EJEMPLO 2: PROBLEMA INFACTIBLE El siguiente problema tiene solucion unica x1 = 1, x2 = 1, con valor de la funcion objetivo 13 Min z = 5x1 + 8x2 sujeto a x1 + x2 2 x1 + 2x2 1 x1, x2 0 Resolucion con R R> library(lpSolve) R> Ejemplo2 =, Ejemplo2 Error: no feasible solution found R> Ejemplo2$status [1] 2 1 EJEMPLO 3: PROBLEMA CON OPTIMOS ALTERNATIVOS Esta funcion no identifica cuando un problema tiene optimos alternativos. Por ejemplo, para Min z = 4x1 + 8x2 sujeto a x1 + x2 2 x1 + 2x2 3 x1, x2 0 son soluciones (1,1) y (3,0) y, por tanto, cualquier punto del segmento que los une. Sin embargo, al aplicar la funcion anterior a este problema, resulta: R> library(lpSolve) R> Ejemplo3 =,>=)) R> Ejemplo3 Success: the objective function is 12 R> Ejemplo3$solution [1] 3 0 EJEMPLO 4: PROBLEMA CON SOLUCION NO ACOTADA Cuando el problema tiene solucion no acotada, da error. Por ejemplo para Max z = 5x1 + 8x2 sujeto a x1 + x2 2 x1 + 2x2 3 x1, x2 0 Resolucion con R R> library(lpSolve) R> Ejemplo4 =,>=)) R> Ejemplo4 Error: status 3 EJEMPLO 5: CASO DE VARIABLES NO NECESARIAMENTE NO NEGATIVAS Esta funcion no contempla el caso en que haya variables no necesariamente no negativas. La forma de abordar este problema con la funcion lp() es la habitual transformacion previa. Min z = x1 + 10x2 sujeto a 2 x1 + x2 2 x1 x2 3 x1 0 Hacemos x2 = x3 x4, con x3, x4 0 y el problema se transforma en Min z = x1 + 10x3 10x4 sujeto a x1 + x3 x4 2 x1 x3 + x4 3 x1, x3, x4 0 Resolucion con R R> library(lpSolve) R> Ejemplo5 =, Ejemplo5 Success: the objective function is -2.5 R> Ejemplo5$solution [1] 2.5 0.0 0.5 Y la solucion al problema original es x1 = 2,5 y x2 = 0 0,5 = 0,5 EJEMPLO 6: DUALIDAD Y ANALISIS DE SENSIBILIDAD Las siguientes tablas del simplex son la tabla inicial y optima de un problema en forma estandar de maximizar. TABLA INICIAL cB 0 0 cj 15 30 20 0 0 V B x1 x2 x3 s1 s2 xB s1 1 0 1 1 0 4 s2 0,5 2 1 0 1 3 TABLA OPTIMA cB 15 30 cj 15 30 20 0 0 V B x1 x2 x3 s1 s2 xB x1 1 0 1 1 0 4 x2 0 1 0,25 0,25 0,5 0,5 zj cj 0 0 2,5 7,5 15 Z = 75 3 a) Cual es el precio sombra asociado a la segunda restriccion? Que significa? b) Determinar el rango de variacion de cada uno de los coeficientes de la funcion objetivo para que la solucion siga siendo optima. c) Determinar el rango de variacion de cada uno de los recursos para que la solucion siga siendo optima. Resolucion con R R> library(lpSolve) R> Obj.Ej6 Mat.Ej6 Dir.Ej6 Sol.Ej6$sens.coef.to [1] 1.00e+30 6.00e+01 2.25e+01 R> Sol.Ej6$duals [1] 7.5 15.0 0.0 0.0 -2.5 R> Sol.Ej6$duals.from [1] -8.881784e-16 2.000000e+00 -1.000000e+30 -1.000000e+30 -1.000000e+30 R> Sol.Ej6$duals.to [1] 6e+00 1e+30 1e+30 1e+30 2e+00 Las respuestas son: a) El precio sombra asociado a la segunda restriccion es 15 (elemento zj cj correspondiente a la segunda variable de holgura en la tabla optima y se corresponde con el segundo elemento del resultado de solicitar Sol.Ej6$duals en R). Significa el incremento que se produce en el valor optimo de la funcion objetivo cuando el segundo recurso se incrementa en una unidad. O bien, la contribucion por unidad del segundo recurso a la variacion del valor optimo del objetivo. b) Considerando un valor c1 arbitrario para que la tabla siga siendo optima (nuevos zjcj 0) se debe cumplir c1+300,2520 0 y c10,2530 0, es decir, c1 12,5. Dicho resultado se deduce a partir de los primeros elementos de Sol.Ej6$sens.coef.from y Sol.Ej6$sens.coef.to, 1.25e+01 (12.5) y 1.00e+30(equivalente a +), respectivamente. Considerando un valor c2 arbitrario para que la tabla siga siendo optima (nuevos zj cj 0) se debe cumplir 15 + 0,25c2 20 0, 15 0,25c2 0 y 0,5c2 0, es decir, 20 c2 60. Dicho resultado se deduce a partir de los segundos elementos de 4 Sol.Ej6$sens.coef.from y Sol.Ej6$sens.coef.to, 2.00e+01 (20) y 6.00e+01(60), respectivamente. c) Obtenemos el nuevo valor de xbB en cada uno de los casos e imponemos factibilidad Recurso 1 xbB = 1 0 0,25 0,5 bb1 3 = bb1 0,25bb1 + 1,5 ! Se deduce que se debe cumplir bb1 0 y 0,25bb1 + 1,5 0, es decir, 0 bb1 6, en cuyo caso la solucion x1 = bb1, x2 = 0,25bb1 + 1,5 sigue siendo optima con Z = 15 bb1 + 30(0,25bb1 + 1,5). El resultado 0 bb1 6 se deduce de los primeros elementos de Sol.Ej6$duals.from y Sol.Ej6$duals.to, -8.881784e-16 (0) y 6e+00, respectivamente. Recurso 2 xbB = 1 0 0,25 0,5 4 bb2 = 4 0,5bb2 1 Se deduce que se debe cumplir 0,5bb2 1 0, es decir, bb2 2. As, si bb2 (2, +), la solucion x1 = 4, x2 = 0,5bb2 1 sigue siendo optima con Z = 15 4 + 30(0,5bb2 1). El resultado bb2 2 se deduce de los segundos elementos de Sol.Ej6$duals.from y Sol.Ej6$duals.to, 2.000000e+00 (2) y 1e+30 (equivalente a +), respectivamente.