Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168733
Image: ubuntu2004

Simulacion en R

7.9) En cierta planta de fabricación, la última operación es una operación de pintura, el centro de pintura está integrado por dos trabajadores que operan en paralelo, aunque debido a configuraciones físicas no pueden ayudarse el uno al otro. Por lo tanto el centro de pintura se comporta como un sistema M/M/2 donde las llegadas ocurren de acuerdo a un proceso Poisson con tasa de llegada media de 100 por día. Cada trabajador toma en promedio de 27 minutos para pintar cada artículo. Han existido recientes preocupaciones acerca del exceso de trabajo en el proceso, de modo que la gestión está considerando 2 alternativas para reducir el inventario promedio en el centro de pintura. La primera alternativa es expandir el centro de pintura y contratar un tercer trabajador. (Se supone que este tercer trabajador, después de un periodo de entrenamiento, también tendrá un promedio de 27 minutos por parte) La segunda alternativa es instalar un robot que pueda pintar automáticamente. Sin embargo, debido a la variabilidad de las piezas a ser pintadas, el tiempo de la pintada será distribuido exponencial, pero con el robot el tiempo promedio será 10 minutos por parte.

a)¿Cuál será la alternativa que reduce más el inventario?

Comenzamos hallando el valor L1 para la primera alternativa que es expandir el centro de pintura y contratar un tercer trabajador (un sistema M/M/3)

b) ¿El costo del inventario (incluyendo las partes que están siendo trabajadas) se estima que es de 0.50 dolares por parte por hora. El costo por trabajador (sueldos y gastos generales) se ha estimado que es de 40000 dolares por año, y el costo de instalar y mantener un robot se ha estimado que es de 10000 dolares por año. Cuál de las alternativas, si cualquiera, es justificable el uso del criterio del costo esperado a largo plazo?

M/M/1 Robot

n = c() for(j in 1:100){ ts1 = c() rand = runif(1) ts1[1] = c(0.24*rand) n1 = 0 for(i in 2:146){ rand = runif(1) ts1[i] = ts1[i-1]+0.16666 t1 = ts1[i] n1 = ifelse(t1>24,n1+1,n1) } n[j] = n1 d = 12*mean(n)*365 + 100000 } mean(n) d
[1] 2.27 [1] 109942.6

M/M/3

n = c() for(j in 1:100){ ts1 = c() ts2 = c() ts3 = c() rand = runif(1) ts1[1] = c(0.24*rand) n1 = 0 ts2[1] = c(ts1[1]+0.24) ts3[1] = c(2*ts1[1]+0.24) n2 = 0 n3 = 0 for(i in 2:54){ rand = runif(1) ts1[i] = ts1[i-1]+0.45 t1 = ts1[i] n1 = ifelse(t1>24,n1+1,n1) } for(l in 2:54){ rand = runif(1) ts2[l] = ts2[l-1]+0.45 t2 = ts2[l] n2 = ifelse(t2>24,n2+1,n2) } for(l in 2:54){ rand = runif(1) ts3[l] = ts3[l-1]+0.45 t3 = ts3[l] n3 = ifelse(t3>24,n3+1,n3) } n[j] = n1 + n2 + n3 d = 12*mean(n)*364 + (40000*3) } mean(n) d
[1] 2.6 [1] 131356.8

Ra)Comparando los valores podemos apreciar que L2>L1 por lo tanto la alternativa del robot es mejor porque es la que reduce más el inventario

Rb)El costo del robot es 109592.20 dolares y el de los tres trabajadores es 131182.10 dolares por lo tanto el costo que mas disminuye es el del robot

10,6. Una empresa de fabricación utiliza los widgets como parte de su proceso de fabricación. Los widgets cuestan 50 dolares cada uno y hay un cargo de 50 centavos para cada artículo en inventario al final de cada mes. Si hay una escasez de los widgets, el proceso de producción se ve seriamente perturbado a un costo de 150 dolares por widget. ¿Cuál es la política óptima de pedidos para los siguientes escenarios?

(a) La demanda mensual se rige por la distribución uniforme discreta que varía entre 3 y 7 Widgets (ambos inclusive).

(b) La demanda mensual se rige por la distribución uniforme continua que varía entre 300 y 700 aparatos.

uniformediscr<-function(a,b,cp,cw,ch){ d = c() i = 1 x = 0 f = c() while(i<=(b-a)){ d[i] <- (i/(b-a)) g = (cp-cw)/(cp+ch) f[i] = ifelse(d[i]>=g,i,(b-a)) i = i + 1 minimo = min(f) + a } return(minimo) } g=uniformediscr(3,7,150,50,0.50) g
[1] 6

En este caso el costo se minimiza cuando x es igual a 6.

uniformediscr<-function(a,b,cp,cw,ch){ d = c() i = 1 x = 0 f = c() while(i<=(b-a)){ d[i] <- punif(i, min=0, max=(b-a), lower.tail = TRUE, log.p = FALSE) g = (cp-cw)/(cp+ch) f[i] = ifelse(d[i]>=g,i,(b-a)) i = i + 1 minimo = min(f)+ a } return(minimo) } g=uniformediscr(300,700,150,50,0.50) g
[1] 566

En este caso el costo se minimiza cuando x es igual a 566.