rm(list=ls())
cat("\014")
library(markovchain)
## Package: markovchain
## Version: 0.8.6
## Date: 2021-05-17
## BugReport: https://github.com/spedygiorgio/markovchain/issues
library(readxl)
library(ggplot2)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following object is masked from 'package:markovchain':
##
## period
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(readr)
library(fitdistrplus)
## Loading required package: MASS
## Loading required package: survival
library(queueing)
Caso2 <- "C:\\Users\\user\\OneDrive - Pontificia Universidad Javeriana\\Documents\\Cata\\la javeriana\\ingenieria industrial\\9. Ingeneiria industrial noveno semestre\\Estocasticos\\Caso 2\\Datos.csv"
Caso2_auto <- "C:\\Users\\user\\OneDrive - Pontificia Universidad Javeriana\\Documents\\Cata\\la javeriana\\ingenieria industrial\\9. Ingeneiria industrial noveno semestre\\Estocasticos\\Caso 2\\Datos2.csv"
Datos <- read.csv(Caso2)
Datos_Auto <- read.csv(Caso2_auto)
Fechas <- as.POSIXct(c(Datos$Fecha_Llegada),format="%m/%d/%Y %H:%M:%S")
T.llegadas <- c()
T.llegadas[1] <- NaN
Jornada <- c()
T.dia <- c()
Resta <- 0
for (i in 2:length(Fechas)){
if (day(Fechas[i]) ==day(Fechas[(i-1)])){
Resta<- as.numeric(difftime(Fechas[i],Fechas[i-1], units = "mins"))
if (Resta<=100){
T.llegadas[i]<- Resta
}else{
T.llegadas[i]<- NaN
}
}else{
T.llegadas[i]<- NaN
}
}
for (i in 1:length(Fechas)){
if (hour(Fechas[i])<=19){
Jornada[i]="Tarde"
}else{
Jornada[i]="Noche"
}
if ((wday(Fechas[i])!= 1) & (wday(Fechas[i])!= 7)){
T.dia[i]="Entre Semana"
}else{
T.dia[i]="Fin de Semana"
}
}
Punto1 <- data.frame(Tiempo_llegada= T.llegadas, Jornada_tiempo=Jornada,tipo_dia=T.dia)
head(Punto1)
## Tiempo_llegada Jornada_tiempo tipo_dia
## 1 NaN Tarde Entre Semana
## 2 0.1666667 Tarde Entre Semana
## 3 2.9833333 Tarde Entre Semana
## 4 3.0000000 Tarde Entre Semana
## 5 1.1833333 Tarde Entre Semana
## 6 4.6833333 Tarde Entre Semana
PuntoA <- na.omit(Punto1)
Grupo1 <- PuntoA[ PuntoA$Jornada_tiempo == "Tarde" & PuntoA$tipo_dia == "Entre Semana", ]
Grupo2 <- PuntoA[ PuntoA$Jornada_tiempo == "Noche" & PuntoA$tipo_dia == "Entre Semana", ]
Grupo3 <- PuntoA[ PuntoA$Jornada_tiempo == "Tarde" & PuntoA$tipo_dia == "Fin de Semana", ]
Grupo4 <- PuntoA[ PuntoA$Jornada_tiempo == "Noche" & PuntoA$tipo_dia == "Fin de Semana", ]
nbreaks1 <- pretty(range(Grupo1$Tiempo_llegada), n = nclass.Sturges(Grupo1$Tiempo_llegada), min.n = 1)
nbreaks2 <- pretty(range(Grupo2$Tiempo_llegada), n = nclass.Sturges(Grupo2$Tiempo_llegada), min.n = 1)
nbreaks3 <- pretty(range(Grupo3$Tiempo_llegada), n = nclass.Sturges(Grupo3$Tiempo_llegada), min.n = 1)
nbreaks4 <- pretty(range(Grupo4$Tiempo_llegada), n = nclass.Sturges(Grupo4$Tiempo_llegada), min.n = 1)
ggplot() + geom_histogram(data.frame(Grupo1), mapping = aes(x = Tiempo_llegada), breaks = nbreaks1, fill = "blue")+ geom_histogram(data.frame(Grupo2), mapping = aes(x = Tiempo_llegada), breaks = nbreaks2, fill = "red")+ theme_classic()+ geom_histogram(data.frame(Grupo3), mapping = aes(x = Tiempo_llegada),breaks = nbreaks3, fill = "black")+ theme_classic()+ geom_histogram(data.frame(Grupo4), mapping = aes(x = Tiempo_llegada),breaks = nbreaks4, fill = "yellow")+ theme_classic() + ggtitle("Histogramas de los 4 grupos")
Teniendo en cuenta la herramienta estadística R, se utilizó histogramas, para analizar si era considerable que el tiempo entre llegadas de los clientes en el CINEBOGOTÁ era el mismo para los días entre semana durante la tarde (Grupo 1) y durante la noche (Grupo 2); en fin de semana durante la tarde (Grupo 3) y durante la noche (Grupo 4). De acuerdo con los datos suministrados en cuanto a los tiempos de llegadas, se obtuvo el gráfico 1 en donde se encuentran agrupados los diferentes conjuntos anteriormente mencionados. Como se puede observar en el gráfico, todos los grupos cuentan con un comportamiento similar en cuanto a sus picos, lo cual puede considerarse como un patrón, sin embargo, los tamaños son diferentes y por lo tanto se analizó cada segmento por separado.
ggplot(data.frame(Grupo1), aes(x = Tiempo_llegada)) + geom_histogram(breaks = nbreaks1, color = "gray", fill = "blue")+ labs(title="Grupo 1: Tarde & Entre Semana")
descdist(Grupo1$Tiempo_llegada)
## summary statistics
## ------
## min: 0 max: 25.43333
## median: 1.216667
## mean: 1.789335
## estimated sd: 1.882108
## estimated skewness: 2.666405
## estimated kurtosis: 19.78332
En este gráfico (Grupo 1: tarde entre semana) se puede observar que el tiempo entre llegadas ocurre durante los primeros 25,43 min, en donde se evidencia un comportamiento exponencial en el cual alcanza un máximo aproximado de 1245 clientes los primeros minutos, sin embargo, baja la cantidad repentinamente. Así mismo, en este escenario se obtuvo una mediana de 1,216 min, es decir, la mitad del tiempo entre llegadas es menor o igual a 1,216 min y la otra mitad es mayor o igual a 1,216 min, el cual es un tiempo considerablemente pequeño. Por otro lado, se obtuvo una curtosis de 19,78 min, determinando así el grado de concentración que representan los valores de los tiempos entre llegadas alrededor de la zona central de la distribución de frecuencias, teniendo en cuenta que este valor es positivo, su cola es mucho más pesada que la distribución normal. Del mismo modo, se evidencia una asimetría estimada de 2,66 min, la cual al ser positiva concluye que la cola de distribución se alarga a la derecha (como se evidencia en el gráfico) para valores superiores a la media (1,789 min). En conclusión, en esta jornada, los clientes son más propensos a llegar a una gran cantidad en un intervalo de tiempo bastante corto.
ggplot(data.frame(Grupo2), aes(x = Tiempo_llegada)) + geom_histogram(breaks = nbreaks2, color = "gray", fill = "red")+ labs(title="Grupo 2: Noche & Entre Semana")
descdist(Grupo2$Tiempo_llegada)
## summary statistics
## ------
## min: 0 max: 9.1
## median: 1.066667
## mean: 1.51021
## estimated sd: 1.45915
## estimated skewness: 1.598221
## estimated kurtosis: 6.021082
En este gráfico (Grupo 2: noche entre semana) se puede observar que el tiempo entre llegadas ocurre durante los primeros 9,1 min, en donde se evidencia un comportamiento exponencial en el cual alcanza un máximo aproximado de 300 clientes los primeros minutos, el cual es una cantidad considerablemente menor a la jornada de tarde-entre semana. Así mismo, en este escenario se obtuvo una mediana de 1,066 min, es decir, la mitad del tiempo entre llegadas es menor o igual a 1,066 min y la otra mitad es mayor o igual a 1,066 min, el cual es un tiempo pequeño, inclusive más que en la jornada de la tarde. Por otro lado, se obtuvo una curtosis de 6,021 min, determinando así el grado de concentración que representan los valores de los tiempos entre llegadas alrededor de la zona central de la distribución de frecuencias, teniendo en cuenta que este valor es positivo, su cola es mucho más pesada que la distribución normal. Del mismo modo, se evidencia una asimetría estimada de 1,59 min, la cual al ser positiva concluye que la cola de distribución se alarga a la derecha (como se evidencia en el gráfico) para valores superiores a la media (1,51min). En conclusión, en esta jornada, los clientes llegan en un intervalo de tiempo menor al anterior, sin embargo, la cantidad de personas es considerablemente menor.
ggplot(data.frame(Grupo3), aes(x = Tiempo_llegada)) + geom_histogram(breaks = nbreaks3, color = "gray", fill = "black")+ labs(title="Grupo 3: Tarde & Fin de Semana")
descdist(Grupo3$Tiempo_llegada)
## summary statistics
## ------
## min: 0 max: 8.95
## median: 1.083333
## mean: 1.616053
## estimated sd: 1.62431
## estimated skewness: 1.604087
## estimated kurtosis: 5.727161
En este gráfico (Grupo 3: tarde-fin de semana) se puede observar que el tiempo entre llegadas ocurre durante los primeros 8,95 min, en donde se evidencia un comportamiento exponencial en el cual alcanza un máximo aproximado de 250 clientes los primeros minutos, como se puede evidenciar, tanto el tiempo como los clientes van disminuyendo considerablemente con la jornada anterior. Así mismo, en este escenario se obtuvo una mediana de 1,083 min, es decir, la mitad del tiempo entre llegadas es menor o igual a 1,083 min y la otra mitad es mayor o igual a 1,083 min. Por otro lado, se obtuvo una curtosis de 5,72 min, determinando así el grado de concentración que representan los valores de los tiempos entre llegadas alrededor de la zona central de la distribución de frecuencias, teniendo en cuenta que este valor es positivo, su cola es mucho más pesada que la distribución normal. Del mismo modo, se evidencia una asimetría estimada de 1,60 min, la cual al ser positiva concluye que la cola de distribución se alarga a la derecha (como se evidencia en el gráfico) para valores superiores a la media (1,61min). En conclusión, en esta jornada, los clientes llegan en un intervalo de tiempo bajo, sin embargo, la cantidad de personas que arriban tiene una cantidad pequeña.
ggplot(data.frame(Grupo4), aes(x = Tiempo_llegada)) + geom_histogram(breaks = nbreaks4, color = "gray", fill = "yellow")+ labs(title="Grupo 4: Noche & Fin de Semana")
descdist(Grupo4$Tiempo_llegada)
## summary statistics
## ------
## min: 0 max: 7.6
## median: 0.8
## mean: 1.32714
## estimated sd: 1.424828
## estimated skewness: 1.918731
## estimated kurtosis: 7.337555
En este gráfico (Grupo 4: noche-fin de semana) se puede observar que el tiempo entre llegadas ocurre durante los primeros 7,6 min, en donde se evidencia un comportamiento exponencial en el cual alcanza un máximo aproximado de 104 clientes los primeros minutos, pero baja considerablemente a 12,5 clientes aproximadamente en los siguientes 2 minutos. Así mismo, en este escenario se obtuvo una mediana de 0,8 min, es decir, la mitad del tiempo entre llegadas es menor o igual a 0,8 min y la otra mitad es mayor o igual a 0,8 min, el cual es el valor más pequeño de todas las jornadas analizadas. Por otro lado, se obtuvo una curtosis de 7,33 min, determinando así el grado de concentración que representan los valores de los tiempos entre llegadas alrededor de la zona central de la distribución de frecuencias, teniendo en cuenta que este valor es positivo, su cola es mucho más pesada que la distribución normal. Del mismo modo, se evidencia una asimetría estimada de 1,918 min, la cual al ser positiva concluye que la cola de distribución se alarga a la derecha (como se evidencia en el gráfico) para valores superiores a la media (1,31 min), la cual corresponde al valor más pequeño de todas las medias analizadas. En conclusión, en esta jornada, los clientes llegan en un intervalo de tiempo bastante bajo, sin embargo, la cantidad de personas que arriban tiene una cantidad pequeña.
Este análisis se realizó para los datos de grupos tanto unidos como segmentados. En primera instancia, se realizó el análisis para saber si todos los datos de los grupos (tiempos entre llegadas), era posible modelarlo como alguno de los sistemas de espera vistos en clase, por lo tanto, se buscó caracterizar este conjunto a través de una prueba de bondad de ajuste con el fin de conocer si estos datos se pueden modelar bajo ciertas distribuciones de probabilidad (normal, exponencial, uniforme), esto implica comparar el histograma de la distribución (punto 1b) vs. una distribución de probabilidad.
fitNorm <- fitdist(PuntoA$Tiempo_llegada, "norm")
summary(fitNorm)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 1.677046 0.03115020
## sd 1.742185 0.02202649
## Loglikelihood: -6174.918 AIC: 12353.84 BIC: 12365.93
## Correlation matrix:
## mean sd
## mean 1 0
## sd 0 1
plot(fitNorm, demp = TRUE)
gofstat(fitNorm)
## Goodness-of-fit statistics
## 1-mle-norm
## Kolmogorov-Smirnov statistic 0.1678714
## Cramer-von Mises statistic 26.5864345
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-norm
## Akaike's Information Criterion 12353.84
## Bayesian Information Criterion 12365.93
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución normal: Ho: los datos si siguen una distribución normal Ha: los datos no siguen una distribución normal La prueba de hipótesis, al definir un valor del error tipo 1, nos permitirá concluir si las diferencias que observamos se atribuyen al azar y por lo tanto se acepta la hipótesis nula o por el contrario se consideran poco probables por lo que se rechazaría la hipótesis nula. Teniendo en cuenta el p valor 0,1678 y al ser mayor que la significancia 0,05, es decir 0.1678714 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución normal.
fitexp <- fitdist(PuntoA$Tiempo_llegada, "exp")
summary(fitexp)
## Fitting of the distribution ' exp ' by maximum likelihood
## Parameters :
## estimate Std. Error
## rate 0.5962866 0.01066155
## Loglikelihood: -4745.282 AIC: 9492.564 BIC: 9498.612
plot(fitexp, demp = TRUE)
gofstat(fitexp)
## Goodness-of-fit statistics
## 1-mle-exp
## Kolmogorov-Smirnov statistic 0.02611864
## Cramer-von Mises statistic 0.38814097
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-exp
## Akaike's Information Criterion 9492.564
## Bayesian Information Criterion 9498.612
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución exponencial: Ho: los datos si siguen una distribución exponencial Ha: los datos no siguen una distribución exponencial Teniendo en cuenta el p valor 0.02611863 y al ser menor que la significancia 0,05, es decir 0.02611863 <0.05 no se rechaza la hipótesis nula y se concluye que los datos si siguen una distribución exponencial, lo cual también puede evidenciarse en el gráfico ya que tanto el histograma de distribución del punto 1b como el de distribución exponencial son similares.
fitunif <- fitdist(PuntoA$Tiempo_llegada, "unif")
summary(fitunif)
## Fitting of the distribution ' unif ' by maximum likelihood
## Parameters :
## estimate Std. Error
## min 0.00000 NA
## max 25.43333 NA
## Loglikelihood: -10122.4 AIC: 20248.8 BIC: 20260.89
## Correlation matrix:
## [1] NA
plot(fitunif, demp = TRUE)
gofstat(fitunif)
## Goodness-of-fit statistics
## 1-mle-unif
## Kolmogorov-Smirnov statistic 0.7519504
## Cramer-von Mises statistic 758.8675589
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-unif
## Akaike's Information Criterion 20248.80
## Bayesian Information Criterion 20260.89
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución uniforme: Ho: los datos si siguen una distribución uniforme Ha: los datos no siguen una distribución uniforme Teniendo en cuenta el p valor 0.7519504 y al ser mayor que la significancia 0,05, es decir 0.7519504 <0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución uniforme.
En conclusión, como el conjunto de datos se distribuye exponencialmente, por la relación con la exponencial el tiempo de llegadas se puede modelar como una Poisson, y se tiene s servidores, se puede concluir que esta situación se puede modelar como una M/M/s.
Ahora, se realiza el análisis por cada grupo (de forma segmentada) para analizar cada jornada.
Inicialmente se analizará la prueba para el grupo 1: tarde entre semana
fitNormg1 <- fitdist(Grupo1$Tiempo_llegada, "norm")
summary(fitNormg1)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 1.789335 0.04442344
## sd 1.881583 0.03141207
## Loglikelihood: -3679.587 AIC: 7363.174 BIC: 7374.159
## Correlation matrix:
## mean sd
## mean 1 0
## sd 0 1
plot(fitNormg1, demp = TRUE)
gofstat(fitNormg1)
## Goodness-of-fit statistics
## 1-mle-norm
## Kolmogorov-Smirnov statistic 0.170809
## Cramer-von Mises statistic 16.080178
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-norm
## Akaike's Information Criterion 7363.174
## Bayesian Information Criterion 7374.159
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución normal: Ho: los datos si siguen una distribución normal Ha: los datos no siguen una distribución normal Teniendo en cuenta el p valor 0.170809 y al ser mayor que la significancia 0,05, es decir 0.170809 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución normal.
fitexpg1 <- fitdist(Grupo1$Tiempo_llegada, "exp")
summary(fitexpg1)
## Fitting of the distribution ' exp ' by maximum likelihood
## Parameters :
## estimate Std. Error
## rate 0.5588669 0.01319459
## Loglikelihood: -2837.828 AIC: 5677.656 BIC: 5683.148
plot(fitexpg1, demp = TRUE)
gofstat(fitexpg1)
## Goodness-of-fit statistics
## 1-mle-exp
## Kolmogorov-Smirnov statistic 0.02693465
## Cramer-von Mises statistic 0.19507758
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-exp
## Akaike's Information Criterion 5677.656
## Bayesian Information Criterion 5683.148
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución exponencial: Ho: los datos si siguen una distribución exponencial Ha: los datos no siguen una distribución exponencial Teniendo en cuenta el p valor 0.02693465 y al ser menor que la significancia 0,05, es decir 0.02693465 <0.05 no se rechaza la hipótesis nula y se concluye que los datos si siguen una distribución exponencial, lo cual también puede evidenciarse en el gráfico ya que tanto el histograma de distribución del punto 1b como el de distribución exponencial son similares.
fitunifg1 <- fitdist(Grupo1$Tiempo_llegada, "unif")
summary(fitunifg1)
## Fitting of the distribution ' unif ' by maximum likelihood
## Parameters :
## estimate Std. Error
## min 0.00000 NA
## max 25.43333 NA
## Loglikelihood: -5805.493 AIC: 11614.99 BIC: 11625.97
## Correlation matrix:
## [1] NA
plot(fitunifg1, demp = TRUE)
gofstat(fitunifg1)
## Goodness-of-fit statistics
## 1-mle-unif
## Kolmogorov-Smirnov statistic 0.7389273
## Cramer-von Mises statistic 425.7699313
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-unif
## Akaike's Information Criterion 11614.99
## Bayesian Information Criterion 11625.97
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución uniforme: Ho: los datos si siguen una distribución uniforme Ha: los datos no siguen una distribución uniforme Teniendo en cuenta el p valor 0.7389273 y al ser mayor que la significancia 0,05, es decir 0.7389273 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución uniforme.
En conclusión, como el conjunto de datos del Grupo 1 se distribuye exponencialmente, por la relación con la exponencial el tiempo de llegadas se puede modelar como una Poisson, y se tiene s servidores, se puede concluir que esta situación se puede modelar como una M/M/s.
Ahora, se analizará la prueba para el grupo 2: noche entre semana
fitNormg2 <- fitdist(Grupo2$Tiempo_llegada, "norm")
summary(fitNormg2)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 1.510210 0.05785900
## sd 1.458001 0.04091241
## Loglikelihood: -1140.463 AIC: 2284.926 BIC: 2293.833
## Correlation matrix:
## mean sd
## mean 1 0
## sd 0 1
plot(fitNormg2, demp = TRUE)
gofstat(fitNormg2)
## Goodness-of-fit statistics
## 1-mle-norm
## Kolmogorov-Smirnov statistic 0.1501457
## Cramer-von Mises statistic 4.5093159
## Anderson-Darling statistic 26.6773505
##
## Goodness-of-fit criteria
## 1-mle-norm
## Akaike's Information Criterion 2284.926
## Bayesian Information Criterion 2293.833
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución normal: Ho: los datos si siguen una distribución normal Ha: los datos no siguen una distribución normal Teniendo en cuenta el p valor 0.1501457 y al ser mayor que la significancia 0,05, es decir 0.1501457 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución normal.
fitexpg2 <- fitdist(Grupo2$Tiempo_llegada, "exp")
summary(fitexpg2)
## Fitting of the distribution ' exp ' by maximum likelihood
## Parameters :
## estimate Std. Error
## rate 0.6621596 0.02627694
## Loglikelihood: -896.7779 AIC: 1795.556 BIC: 1800.009
plot(fitexpg2, demp = TRUE)
gofstat(fitexpg2)
## Goodness-of-fit statistics
## 1-mle-exp
## Kolmogorov-Smirnov statistic 0.02100904
## Cramer-von Mises statistic 0.05224359
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-exp
## Akaike's Information Criterion 1795.556
## Bayesian Information Criterion 1800.009
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución exponencial: Ho: los datos si siguen una distribución exponencial Ha: los datos no siguen una distribución exponencial Teniendo en cuenta el p valor 0.02100904 y al ser menor que la significancia 0,05, es decir 0.02100904 <0.05 no se rechaza la hipótesis nula y se concluye que los datos si siguen una distribución exponencial, lo cual también puede evidenciarse en el gráfico ya que tanto el histograma de distribución del punto 1b como el de distribución exponencial son similares.
fitunifg2 <- fitdist(Grupo2$Tiempo_llegada, "unif")
summary(fitunifg2)
## Fitting of the distribution ' unif ' by maximum likelihood
## Parameters :
## estimate Std. Error
## min 0.0 NA
## max 9.1 NA
## Loglikelihood: -1402.254 AIC: 2808.509 BIC: 2817.416
## Correlation matrix:
## [1] NA
plot(fitunifg2, demp = TRUE)
gofstat(fitunifg2)
## Goodness-of-fit statistics
## 1-mle-unif
## Kolmogorov-Smirnov statistic 0.5303251
## Cramer-von Mises statistic 87.5796500
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-unif
## Akaike's Information Criterion 2808.509
## Bayesian Information Criterion 2817.416
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución uniforme: Ho: los datos si siguen una distribución uniforme Ha: los datos no siguen una distribución uniforme Teniendo en cuenta el p valor 0.5303251 y al ser mayor que la significancia 0,05, es decir 0.5303251 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución uniforme.
En conclusión, como el conjunto de datos del Grupo 2 se distribuye exponencialmente, por la relación con la exponencial el tiempo de llegadas se puede modelar como una Poisson, y se tiene s servidores, se puede concluir que esta situación se puede modelar como una M/M/s.
Ahora, se analizará la prueba para el grupo 3: tarde-fin de semana
fitNormg3 <- fitdist(Grupo3$Tiempo_llegada, "norm")
summary(fitNormg3)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 1.616053 0.07143695
## sd 1.622736 0.05051347
## Loglikelihood: -981.9748 AIC: 1967.95 BIC: 1976.442
## Correlation matrix:
## mean sd
## mean 1.000000e+00 -5.128027e-11
## sd -5.128027e-11 1.000000e+00
plot(fitNormg3, demp = TRUE)
gofstat(fitNormg3)
## Goodness-of-fit statistics
## 1-mle-norm
## Kolmogorov-Smirnov statistic 0.1596538
## Cramer-von Mises statistic 3.9766176
## Anderson-Darling statistic 23.8338988
##
## Goodness-of-fit criteria
## 1-mle-norm
## Akaike's Information Criterion 1967.950
## Bayesian Information Criterion 1976.442
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución normal: Ho: los datos si siguen una distribución normal Ha: los datos no siguen una distribución normal Teniendo en cuenta el p valor 0.1596538 y al ser mayor que la significancia 0,05, es decir 0.1596538 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución normal.
fitexpg3 <- fitdist(Grupo3$Tiempo_llegada, "exp")
summary(fitexpg3)
## Fitting of the distribution ' exp ' by maximum likelihood
## Parameters :
## estimate Std. Error
## rate 0.6187916 0.02724071
## Loglikelihood: -763.6732 AIC: 1529.346 BIC: 1533.592
plot(fitexpg3, demp = TRUE)
gofstat(fitexpg3)
## Goodness-of-fit statistics
## 1-mle-exp
## Kolmogorov-Smirnov statistic 0.03955736
## Cramer-von Mises statistic 0.18536476
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-exp
## Akaike's Information Criterion 1529.346
## Bayesian Information Criterion 1533.592
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución exponencial: Ho: los datos si siguen una distribución exponencial Ha: los datos no siguen una distribución exponencial Teniendo en cuenta el p valor 0.03955736 y al ser menor que la significancia 0,05, es decir 0.03955736 <0.05 no se rechaza la hipótesis nula y se concluye que los datos si siguen una distribución exponencial, lo cual también puede evidenciarse en el gráfico ya que tanto el histograma de distribución del punto 1b como el de distribución exponencial son similares.
fitunifg3 <- fitdist(Grupo3$Tiempo_llegada, "unif")
summary(fitunifg3)
## Fitting of the distribution ' unif ' by maximum likelihood
## Parameters :
## estimate Std. Error
## min 0.00 NA
## max 8.95 NA
## Loglikelihood: -1130.893 AIC: 2265.786 BIC: 2274.279
## Correlation matrix:
## [1] NA
plot(fitunifg3, demp = TRUE)
gofstat(fitunifg3)
## Goodness-of-fit statistics
## 1-mle-unif
## Kolmogorov-Smirnov statistic 0.5122775
## Cramer-von Mises statistic 64.6229983
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-unif
## Akaike's Information Criterion 2265.786
## Bayesian Information Criterion 2274.279
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución uniforme: Ho: los datos si siguen una distribución uniforme Ha: los datos no siguen una distribución uniforme Teniendo en cuenta el p valor 0.5122775 y al ser mayor que la significancia 0,05, es decir 0.5122775 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución uniforme.
En conclusión, como el conjunto de datos del Grupo 3 se distribuye exponencialmente, por la relación con la exponencial el tiempo de llegadas se puede modelar como una Poisson, y se tiene s servidores, se puede concluir que esta situación se puede modelar como una M/M/s.
Ahora, se analizará la prueba para el grupo 4: noche-fin de semana.
fitNormg4 <- fitdist(Grupo4$Tiempo_llegada, "norm")
summary(fitNormg4)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 1.32714 0.10503816
## sd 1.42093 0.07427303
## Loglikelihood: -323.9558 AIC: 651.9115 BIC: 658.3305
## Correlation matrix:
## mean sd
## mean 1 0
## sd 0 1
plot(fitNormg4, demp = TRUE)
gofstat(fitNormg4)
## Goodness-of-fit statistics
## 1-mle-norm
## Kolmogorov-Smirnov statistic 0.1773851
## Cramer-von Mises statistic 1.8386703
## Anderson-Darling statistic 10.5880698
##
## Goodness-of-fit criteria
## 1-mle-norm
## Akaike's Information Criterion 651.9115
## Bayesian Information Criterion 658.3305
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución normal: Ho: los datos si siguen una distribución normal Ha: los datos no siguen una distribución normal Teniendo en cuenta el p valor 0.1773581 y al ser mayor que la significancia 0,05, es decir 0.1773581 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución normal.
fitexpg4 <- fitdist(Grupo4$Tiempo_llegada, "exp")
summary(fitexpg4)
## Fitting of the distribution ' exp ' by maximum likelihood
## Parameters :
## estimate Std. Error
## rate 0.7534999 0.05570021
## Loglikelihood: -234.7938 AIC: 471.5877 BIC: 474.7972
plot(fitexpg4, demp = TRUE)
gofstat(fitexpg4)
## Goodness-of-fit statistics
## 1-mle-exp
## Kolmogorov-Smirnov statistic 0.06859556
## Cramer-von Mises statistic 0.15864499
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-exp
## Akaike's Information Criterion 471.5877
## Bayesian Information Criterion 474.7972
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución exponencial: Ho: los datos si siguen una distribución exponencial Ha: los datos no siguen una distribución exponencial Teniendo en cuenta el p valor 0.06859556 y al ser menor que la significancia 0,05, es decir 0.06859556 <0.05 no se rechaza la hipótesis nula y se concluye que los datos si siguen una distribución exponencial, lo cual también puede evidenciarse en el gráfico ya que tanto el histograma de distribución del punto 1b como el de distribución exponencial son similares.
fitunifg4 <- fitdist(Grupo4$Tiempo_llegada, "unif")
summary(fitunifg4)
## Fitting of the distribution ' unif ' by maximum likelihood
## Parameters :
## estimate Std. Error
## min 0.0 NA
## max 7.6 NA
## Loglikelihood: -371.1511 AIC: 746.3023 BIC: 752.7212
## Correlation matrix:
## [1] NA
plot(fitunifg4, demp = TRUE)
gofstat(fitunifg4)
## Goodness-of-fit statistics
## 1-mle-unif
## Kolmogorov-Smirnov statistic 0.5170765
## Cramer-von Mises statistic 24.0821944
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-unif
## Akaike's Information Criterion 746.3023
## Bayesian Information Criterion 752.7212
De esta manera, se plantearon las siguientes pruebas de hipótesis para la distribución uniforme: Ho: los datos si siguen una distribución uniforme Ha: los datos no siguen una distribución uniforme Teniendo en cuenta el p valor 0.5170765 y al ser mayor que la significancia 0,05, es decir 0.5170765 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución uniforme. En conclusión, como el conjunto de datos del Grupo 4 se distribuye exponencialmente, por la relación con la exponencial el tiempo de llegadas se puede modelar como una Poisson, y se tiene s servidores, se puede concluir que esta situación se puede modelar como una M/M/s.
A <- fitexp$estimate
A
## rate
## 0.5962866
G1 <- fitexpg1$estimate
G2 <- fitexpg2$estimate
G3 <- fitexpg3$estimate
G4 <- fitexpg4$estimate
G1
## rate
## 0.5588669
G2
## rate
## 0.6621596
G3
## rate
## 0.6187916
G4
## rate
## 0.7534999
Fechasllegada_Auto <- as.POSIXct(c(Datos_Auto$Fecha_Llegada),format="%m/%d/%Y %H:%M:%S")
FechasSalida_Auto <- as.POSIXct(c(Datos_Auto$Fecha_Salida),format="%m/%d/%Y %H:%M:%S")
Tiempo_Atencion <- c()
for (i in 1:length(FechasSalida_Auto)){
Tiempo_Atencion[i] <- as.numeric(difftime(FechasSalida_Auto[i],Fechasllegada_Auto[i], units = "mins"))
}
head(Tiempo_Atencion)
## [1] 6.30000000 0.71666667 1.61666667 0.06666667 1.36666667 2.03333333
A continuación, procedemos a analizar si efectivamente los tiempos de autoservicio pueden ser modelados como un sistema de espera como los vistos en clase. Por lo cual se realizará una prueba de bondad de ajuste con una significancia del 5% para afirmar o rechazar las siguientes hipótesis: ### •H0 : los datos sí siguen la distribución normal. ### •Ha : los datos no siguen la distribución normal.
Ho: Los datos siguen una distribución especifica. Ha: Los datos no siguen una distribución especifica.
DISTRIBUCION NORMAL
fitNorm_Auto <- fitdist(Tiempo_Atencion, "norm")
summary(fitNorm_Auto)
## Fitting of the distribution ' norm ' by maximum likelihood
## Parameters :
## estimate Std. Error
## mean 1.951171 0.05775190
## sd 1.924101 0.04083671
## Loglikelihood: -2301.471 AIC: 4606.942 BIC: 4616.966
## Correlation matrix:
## mean sd
## mean 1 0
## sd 0 1
plot(fitNorm_Auto, demp = TRUE)
gofstat(fitNorm_Auto)
## Goodness-of-fit statistics
## 1-mle-norm
## Kolmogorov-Smirnov statistic 0.1552749
## Cramer-von Mises statistic 8.0716444
## Anderson-Darling statistic 47.7080392
##
## Goodness-of-fit criteria
## 1-mle-norm
## Akaike's Information Criterion 4606.942
## Bayesian Information Criterion 4616.966
Teniendo en cuenta el p valor 0.1552749 y al ser mayor que la significancia 0,05, es decir 0.1552749 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución normal.
DISTRIBUCION EXPONENCIAL ### •H0 : los datos sí siguen la distribución Exponencial. ### •Ha : los datos no siguen la distribución Exponencial.
fitexp_Auto <- fitdist(Tiempo_Atencion, "exp")
summary(fitexp_Auto)
## Fitting of the distribution ' exp ' by maximum likelihood
## Parameters :
## estimate Std. Error
## rate 0.5125127 0.01538302
## Loglikelihood: -1851.957 AIC: 3705.914 BIC: 3710.926
plot(fitexp_Auto, demp = TRUE)
gofstat(fitexp_Auto)
## Goodness-of-fit statistics
## 1-mle-exp
## Kolmogorov-Smirnov statistic 0.02144706
## Cramer-von Mises statistic 0.06408256
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-exp
## Akaike's Information Criterion 3705.914
## Bayesian Information Criterion 3710.926
Teniendo en cuenta el p valor 0.02144706 y al ser menor que la significancia 0,05, es decir 0.02144706 <0.05 no se rechaza la hipótesis nula y se concluye que los datos si siguen una distribución exponencial, lo cual se puede confirmar en el histograma, que efectivamente la curva de tendencia exponencial teórica se asemeja a la tendencia de los datos empíricos resultantes.
DISTRIBUCION UNIFORME
fitunif_Auto <- fitdist(Tiempo_Atencion, "unif")
summary(fitunif_Auto)
## Fitting of the distribution ' unif ' by maximum likelihood
## Parameters :
## estimate Std. Error
## min 0.00 NA
## max 15.85 NA
## Loglikelihood: -3067.118 AIC: 6138.236 BIC: 6148.261
## Correlation matrix:
## [1] NA
plot(fitunif_Auto, demp = TRUE)
gofstat(fitunif_Auto)
## Goodness-of-fit statistics
## 1-mle-unif
## Kolmogorov-Smirnov statistic 0.6219712
## Cramer-von Mises statistic 198.8857162
## Anderson-Darling statistic Inf
##
## Goodness-of-fit criteria
## 1-mle-unif
## Akaike's Information Criterion 6138.236
## Bayesian Information Criterion 6148.261
Teniendo en cuenta el p valor 0.6219712 y al ser mayor que la significancia 0,05, es decir 0.6219712 >0.05 se rechaza la hipótesis nula y se concluye que los datos no siguen una distribución uniforme.
En conclusión, como el comportamiento de los tiempos de autoservicio se distribuyen exponencialmente, por la relación con la exponencial el sistema de espera se puede modelar como una Poisson, y se tiene s servidores, se puede concluir que esta situación se puede modelar como una M/M/s.
B <- fitexp_Auto$estimate
B
## rate
## 0.5125127
La situación actual del CINEBOGOTA se podría modelar como un sistema de espera M/M/s, ya que como se evidenció anteriormente, las llegadas se distribuyen exponencialmente, y por la relación con la exponencial se puede modelar como una Poisson, así mismo, se conoce que el tiempo actual de atención de cualquier trabajador se puede modelar como una distribución exponencial con media de 3 minutos y por último el caso actual cuenta con 3 trabajadores encargados de preparar y entregar los alimentos a los clientes, por lo tanto s=3.
# λ = A
A
## rate
## 0.5962866
# λ = G#
G1
## rate
## 0.5588669
G2
## rate
## 0.6621596
G3
## rate
## 0.6187916
G4
## rate
## 0.7534999
La situación actual del CINEBOGOTA se podría modelar como un sistema de espera M/M/s, ya que como se evidenció anteriormente, las llegadas se distribuyen exponencialmente, y por la relación con la exponencial se puede modelar como una Poisson, así mismo, se conoce que el tiempo actual de atención de cualquier trabajador se puede modelar como una distribución exponencial con media de 3 minutos y por último el caso actual cuenta con 3 trabajadores encargados de preparar y entregar los alimentos a los clientes, por lo tanto s=3.
De esta forma, se puede definir la siguiente variable para el análisis sin segmentar: X: tiempo actual de atención de los clientes CINEBOGOTA (min) X~exp (λ =0,59628)
Por otro lado, se realizó el mismo análisis para cada grupo, es decir, de forma segmentada. Así se obtuvieron las siguientes variables:
X1: tiempo actual de atención de los clientes en la jornada de tarde entre semana en CINEBOGOTA (min) X~exp (λ =0,5588669) min X2: tiempo actual de atención de los clientes en la jornada de noche entre semana en CINEBOGOTA (min) X~exp (λ =0,6621596) min X3: tiempo actual de atención de los clientes en la jornada tarde-fin de semana en CINEBOGOTA (min) X~exp (λ =0,6187916) min X4: tiempo actual de atención de los clientes en la jornada noche-fin de semana en CINEBOGOTA (min) X~exp (λ =0,7534999) min
input_mmc <- NewInput.MMC(lambda = A, mu = (1/3), c = 3 , n = 0, method = 0)
output_mmc <- QueueingModel(input_mmc)
Report(output_mmc)
## The inputs of the model M/M/c are:
## lambda: 0.596286565641832, mu: 0.333333333333333, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.1481023
## The traffic intensity is: 1.7888596969255
## The server use is: 0.596286565641832
## The mean number of clients in the system is: 2.3058090030719
## The mean number of clients in the queue is: 0.516949306146403
## The mean number of clients in the server is: 1.7888596969255
## The mean time spend in the system is: 3.86694776628074
## The mean time spend in the queue is: 0.866947766280745
## The mean time spend in the server is: 3
## The mean time spend in the queue when there is queue is: 2.4770045158141
## The throughput is: 0.596286565641832
summary(output_mmc)
## lambda mu c k m RO P0 Lq Wq
## rate 0.5962866 0.3333333 3 NA NA 0.5962866 0.1481023 0.5169493 0.8669478
## X L W Wqq Lqq
## rate 0.5962866 2.305809 3.866948 2.477005 2.477005
input_mmc_g1 <- NewInput.MMC(lambda = G1, mu = (1/3), c = 3 , n = 0, method = 0)
output_mmc_g1 <- QueueingModel(input_mmc_g1)
Report(output_mmc_g1)
## The inputs of the model M/M/c are:
## lambda: 0.558866906654089, mu: 0.333333333333333, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.1705698
## The traffic intensity is: 1.67660071996227
## The server use is: 0.558866906654089
## The mean number of clients in the system is: 2.06137757791792
## The mean number of clients in the queue is: 0.384776857955654
## The mean number of clients in the server is: 1.67660071996227
## The mean time spend in the system is: 3.68849461897699
## The mean time spend in the queue is: 0.688494618976987
## The mean time spend in the server is: 3
## The mean time spend in the queue when there is queue is: 2.26688955121274
## The throughput is: 0.558866906654089
summary(output_mmc_g1)
## lambda mu c k m RO P0 Lq Wq
## rate 0.5588669 0.3333333 3 NA NA 0.5588669 0.1705698 0.3847769 0.6884946
## X L W Wqq Lqq
## rate 0.5588669 2.061378 3.688495 2.26689 2.26689
input_mmc_g2 <- NewInput.MMC(lambda = G2, mu = (1/3), c = 3 , n = 0, method = 0)
output_mmc_g2 <- QueueingModel(input_mmc_g2)
Report(output_mmc_g2)
## The inputs of the model M/M/c are:
## lambda: 0.662159588052527, mu: 0.333333333333333, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.1132931
## The traffic intensity is: 1.98647876415758
## The server use is: 0.662159588052527
## The mean number of clients in the system is: 2.84518308990857
## The mean number of clients in the queue is: 0.858704325750985
## The mean number of clients in the server is: 1.98647876415758
## The mean time spend in the system is: 4.29682381897771
## The mean time spend in the queue is: 1.29682381897771
## The mean time spend in the server is: 3
## The mean time spend in the queue when there is queue is: 2.95997744685286
## The throughput is: 0.662159588052527
summary(output_mmc_g2)
## lambda mu c k m RO P0 Lq Wq
## rate 0.6621596 0.3333333 3 NA NA 0.6621596 0.1132931 0.8587043 1.296824
## X L W Wqq Lqq
## rate 0.6621596 2.845183 4.296824 2.959977 2.959977
input_mmc_g3 <- NewInput.MMC(lambda = G3, mu = (1/3), c = 3 , n = 0, method = 0)
output_mmc_g3 <- QueueingModel(input_mmc_g3)
Report(output_mmc_g3)
## The inputs of the model M/M/c are:
## lambda: 0.618791599404006, mu: 0.333333333333333, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.1355679
## The traffic intensity is: 1.85637479821202
## The server use is: 0.618791599404006
## The mean number of clients in the system is: 2.47186619045037
## The mean number of clients in the queue is: 0.615491392238356
## The mean number of clients in the server is: 1.85637479821202
## The mean time spend in the system is: 3.99466669041915
## The mean time spend in the queue is: 0.994666690419152
## The mean time spend in the server is: 3
## The mean time spend in the queue when there is queue is: 2.62323704943691
## The throughput is: 0.618791599404006
summary(output_mmc_g3)
## lambda mu c k m RO P0 Lq Wq
## rate 0.6187916 0.3333333 3 NA NA 0.6187916 0.1355679 0.6154914 0.9946667
## X L W Wqq Lqq
## rate 0.6187916 2.471866 3.994667 2.623237 2.623237
input_mmc_g4 <- NewInput.MMC(lambda = G4, mu = (1/3), c = 3 , n = 0, method = 0)
output_mmc_g4 <- QueueingModel(input_mmc_g4)
Report(output_mmc_g4)
## The inputs of the model M/M/c are:
## lambda: 0.753499864575597, mu: 0.333333333333333, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.07339278
## The traffic intensity is: 2.26049959372679
## The server use is: 0.753499864575597
## The mean number of clients in the system is: 4.01262121230463
## The mean number of clients in the queue is: 1.75212161857784
## The mean number of clients in the server is: 2.26049959372679
## The mean time spend in the system is: 5.32531112605403
## The mean time spend in the queue is: 2.32531112605403
## The mean time spend in the server is: 3
## The mean time spend in the queue when there is queue is: 4.05679290308821
## The throughput is: 0.753499864575597
summary(output_mmc_g4)
## lambda mu c k m RO P0 Lq Wq
## rate 0.7534999 0.3333333 3 NA NA 0.7534999 0.07339278 1.752122 2.325311
## X L W Wqq Lqq
## rate 0.7534999 4.012621 5.325311 4.056793 4.056793
Por lo tanto, se obtuvieron los siguientes resultados de condición de estabilidad para cada análisis respectivo, utilizando los λ calculados y un μ =1/3min:
ANÁLISIS ρ valor SIN SEGMENTAR ρ 0,5962866
SEGMENTADO ρ1 0,5588669 ρ2 0,6621596 ρ3 0,6187916 ρ4 0,7534999
Teniendo en cuenta los valores calculados, se puede concluir que como todos los valores son menores a 1, entonces existen las medidas de desempeño pues el sistema se estabiliza (No colapsa). De esta forma se obtuvieron las medidas de desempeño calculadas con R y se analizaron de la siguiente forma:
SIN SEGMENTAR: • L: 2,305898 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • LQ: 0,5168493 clientes promedio esperando en cola. • W:3,866 948 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ:0,8669478 min promedio que un cliente permanece en cola.
SEGMENTADO: - Grupo 1 (tarde entre semana) • L: 2,061378 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • LQ: 0,3847769 clientes promedio esperando en cola. • W: 3,688495 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ:0,6884946 min promedio que un cliente permanece en cola.
Grupo 2 (noche entre semana) • L: 2,845183 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • LQ: 0,8587043 clientes promedio esperando en cola. • W: 4,296824 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 2,959977 min promedio que un cliente permanece en cola.
Grupo 3 (fin de semana-tarde) • L: 2,471866 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • LQ: 0,6154914 clientes promedio esperando en cola. • W: 3,994667 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 2,623237 min promedio que un cliente permanece en cola.
Grupo 4 (fin de semana-noche) • L: 4,012621 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • LQ: 1,752122 clientes promedio esperando en cola. • W: 5,325311 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 4,056793 min promedio que un cliente permanece en cola.
Teniendo en cuenta la información anterior, se puede concluir que la jornada del fin de semana durante la noche, posee el número promedio de clientes más grande que se encuentra en el sistema, sin embargo, obtiene el promedio de clientes esperando en cola más alto frente a los otros grupos y el tiempo promedio (min) que un cliente permanece en el sistema más alto. Así mismo, el grupo 1 (tarde entre semana), obtuvo el tiempo promedio más bajo (min) que un cliente permanece en el sistema.
# μ = B
B
## rate
## 0.5125127
Para identificar la tasa de llegada del segundo sistema de los dispensadores de gaseosa, se basó en el Teorema de Burke, que funciona para los sistemas M/M/S y establece que para las llegadas que se distribuyen Poisson de tasa lambda, y por ende se utiliza la propiedad de reversibilidad en el tiempo, por lo que se ve el proceso de ingreso de igual manera que un proceso de salida, en el diagrama se puede observar que se utiliza la misma tasa lambda.
El tiempo medio de un cliente en el cine es la suma de los tiempos medios en los tres nodos (subsistemas).
De esta forma, se puede definir la siguiente variable para el análisis sin segmentar: X: tiempo actual de atención de los clientes CINEBOGOTA en la sección de comidas (min) X~exp (=0,5962866) min Y: tiempo actual de atención de los clientes CINEBOGOTA en los dispensadores de bebidas(min) Y~exp (=0,5962866) min
Por otro lado, se realizó el mismo análisis para cada grupo, es decir, de forma segmentada. Así se obtuvieron las siguientes variables: X1: tiempo actual de atención de los clientes en la jornada de tarde entre semana en CINEBOGOTA en la sección de comidas (min) X~exp (=0,558866) min Y1: tiempo actual de atención de los clientes en la jornada de tarde entre semana en CINEBOGOTA en los dispensadores de bebidas(min) Y~exp (=0,558866) min X2: tiempo actual de atención de los clientes en la jornada de noche entre semana en CINEBOGOTA en la sección de comidas (min) X~exp (=0,6615958) min Y2: tiempo actual de atención de los clientes en la jornada de noche entre semana en CINEBOGOTA en los dispensadores de bebidas(min) Y~exp (=0,6615958) min X3: tiempo actual de atención de los clientes en la jornada tarde-fin de semana en CINEBOGOTA en la sección de comidas (min) X~exp (=0,6187915) min Y3: tiempo actual de atención de los clientes en la jornada tarde-fin de semana en CINEBOGOTA en los dispensadores de bebidas(min) Y~exp (=0,6187915) min
X4: tiempo actual de atención de los clientes en la jornada noche-fin de semana en CINEBOGOTA en la sección de comidas (min) X~exp (=0,7534998) min Y4: tiempo actual de atención de los clientes en la jornada noche-fin de semana CINEBOGOTA en los dispensadores de bebidas(min) Y~exp (=0,7534998) min
#Primer Nodo
input_mm3 <- NewInput.MMC(lambda = A, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3 <- QueueingModel(input_mm3)
Report(output_mm3)
## The inputs of the model M/M/c are:
## lambda: 0.596286565641832, mu: 0.555555555555556, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.3366778
## The traffic intensity is: 1.0733158181553
## The server use is: 0.357771939385099
## The mean number of clients in the system is: 1.13349877772476
## The mean number of clients in the queue is: 0.0601829595694582
## The mean number of clients in the server is: 1.0733158181553
## The mean time spend in the system is: 1.900929591638
## The mean time spend in the queue is: 0.100929591638004
## The mean time spend in the server is: 1.8
## The mean time spend in the queue when there is queue is: 0.934247562190805
## The throughput is: 0.596286565641832
summary(output_mm3)
## lambda mu c k m RO P0 Lq Wq
## rate 0.5962866 0.5555556 3 NA NA 0.3577719 0.3366778 0.06018296 0.1009296
## X L W Wqq Lqq
## rate 0.5962866 1.133499 1.90093 0.9342476 1.557079
#segundo Nodo
input_mm2 <- NewInput.MMC(lambda = A, mu = B, c = 2 , n = 0, method = 0)
output_mm2 <- QueueingModel(input_mm2)
Report(output_mm2)
## The inputs of the model M/M/c are:
## lambda: 0.596286565641832, mu: 0.512512704422695, c: 2, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.2644394
## The traffic intensity is: 1.16345714066445
## The server use is: 0.581728570332224
## The mean number of clients in the system is: 1.75857230509327
## The mean number of clients in the queue is: 0.595115164428818
## The mean number of clients in the server is: 1.16345714066445
## The mean time spend in the system is: 2.94920665066531
## The mean time spend in the queue is: 0.998035506280854
## The mean time spend in the server is: 1.95117114438445
## The mean time spend in the queue when there is queue is: 2.33242220958556
## The throughput is: 0.596286565641832
summary(output_mm2)
## lambda mu c k m RO P0 Lq Wq
## rate 0.5962866 0.5125127 2 NA NA 0.5817286 0.2644394 0.5951152 0.9980355
## X L W Wqq Lqq
## rate 0.5962866 1.758572 2.949207 2.332422 2.390792
#Medidas de desempeño de la red de colas
L<- L.o_MMC(output_mm3)+L.o_MMC(output_mm2)
W<- W.o_MMC(output_mm3)+W.o_MMC(output_mm2)
Wq<- Wq.o_MMC(output_mm3)+Wq.o_MMC(output_mm2)
L
## rate
## 2.892071
W
## rate
## 4.850136
Wq
## rate
## 1.098965
#Primer Nodo
input_mm3_g1 <- NewInput.MMC(lambda = G1, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g1 <- QueueingModel(input_mm3_g1)
Report(output_mm3_g1)
## The inputs of the model M/M/c are:
## lambda: 0.558866906654089, mu: 0.555555555555556, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.3613766
## The traffic intensity is: 1.00596043197736
## The server use is: 0.335320143992453
## The mean number of clients in the system is: 1.05249611319665
## The mean number of clients in the queue is: 0.0465356812192944
## The mean number of clients in the server is: 1.00596043197736
## The mean time spend in the system is: 1.88326791346065
## The mean time spend in the queue is: 0.083267913460651
## The mean time spend in the server is: 1.8
## The mean time spend in the queue when there is queue is: 0.902690211802037
## The throughput is: 0.558866906654089
summary(output_mm3_g1)
## lambda mu c k m RO P0 Lq Wq
## rate 0.5588669 0.5555556 3 NA NA 0.3353201 0.3613766 0.04653568 0.08326791
## X L W Wqq Lqq
## rate 0.5588669 1.052496 1.883268 0.9026902 1.504484
#segundo Nodo
input_mm2_g1 <- NewInput.MMC(lambda = G1, mu = B, c = 2 , n = 0, method = 0)
output_mm2_g1 <- QueueingModel(input_mm2_g1)
Report(output_mm2_g1)
## The inputs of the model M/M/c are:
## lambda: 0.558866906654089, mu: 0.512512704422695, c: 2, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.294312
## The traffic intensity is: 1.09044498181486
## The server use is: 0.545222490907428
## The mean number of clients in the system is: 1.55172143318057
## The mean number of clients in the queue is: 0.46127645136571
## The mean number of clients in the server is: 1.09044498181486
## The mean time spend in the system is: 2.77654914740015
## The mean time spend in the queue is: 0.825378003015694
## The mean time spend in the server is: 1.95117114438445
## The mean time spend in the queue when there is queue is: 2.14519309483627
## The throughput is: 0.558866906654089
summary(output_mm2_g1)
## lambda mu c k m RO P0 Lq Wq
## rate 0.5588669 0.5125127 2 NA NA 0.5452225 0.294312 0.4612765 0.825378
## X L W Wqq Lqq
## rate 0.5588669 1.551721 2.776549 2.145193 2.198877
#Medidas de desempeño de la red de colas
L_g1<- L.o_MMC(output_mm3_g1)+L.o_MMC(output_mm2_g1)
W_g1<- W.o_MMC(output_mm3_g1)+W.o_MMC(output_mm2_g1)
Wq_g1<- Wq.o_MMC(output_mm3_g1)+Wq.o_MMC(output_mm2_g1)
L_g1
## rate
## 2.604218
W_g1
## rate
## 4.659817
Wq_g1
## rate
## 0.9086459
#Primer Nodo
input_mm3_g2 <- NewInput.MMC(lambda = G2, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g2 <- QueueingModel(input_mm3_g2)
Report(output_mm3_g2)
## The inputs of the model M/M/c are:
## lambda: 0.662159588052527, mu: 0.555555555555556, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.2967003
## The traffic intensity is: 1.19188725849455
## The server use is: 0.397295752831516
## The mean number of clients in the system is: 1.28346240360086
## The mean number of clients in the queue is: 0.0915751451063116
## The mean number of clients in the server is: 1.19188725849455
## The mean time spend in the system is: 1.93829769553839
## The mean time spend in the queue is: 0.138297695538386
## The mean time spend in the server is: 1.8
## The mean time spend in the queue when there is queue is: 0.995513143998589
## The throughput is: 0.662159588052527
summary(output_mm3_g2)
## lambda mu c k m RO P0 Lq Wq
## rate 0.6621596 0.5555556 3 NA NA 0.3972958 0.2967003 0.09157515 0.1382977
## X L W Wqq Lqq
## rate 0.6621596 1.283462 1.938298 0.9955131 1.659189
#segundo Nodo
input_mm2_g2 <- NewInput.MMC(lambda = G2, mu = B, c = 2 , n = 0, method = 0)
output_mm2_g2 <- QueueingModel(input_mm2_g2)
Report(output_mm2_g2)
## The inputs of the model M/M/c are:
## lambda: 0.662159588052527, mu: 0.512512704422695, c: 2, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.2150717
## The traffic intensity is: 1.29198668118559
## The server use is: 0.645993340592793
## The mean number of clients in the system is: 2.21726974483044
## The mean number of clients in the queue is: 0.92528306364485
## The mean number of clients in the server is: 1.29198668118559
## The mean time spend in the system is: 3.34854283595233
## The mean time spend in the queue is: 1.39737169156788
## The mean time spend in the server is: 1.95117114438445
## The mean time spend in the queue when there is queue is: 2.75583960433362
## The throughput is: 0.662159588052527
summary(output_mm2_g2)
## lambda mu c k m RO P0 Lq Wq
## rate 0.6621596 0.5125127 2 NA NA 0.6459933 0.2150717 0.9252831 1.397372
## X L W Wqq Lqq
## rate 0.6621596 2.21727 3.348543 2.75584 2.824806
#Medidas de desempeño de la red de colas
L_g2<- L.o_MMC(output_mm3_g2)+L.o_MMC(output_mm2_g2)
W_g2<- W.o_MMC(output_mm3_g2)+W.o_MMC(output_mm2_g2)
Wq_g2<- Wq.o_MMC(output_mm3_g2)+Wq.o_MMC(output_mm2_g2)
L_g2
## rate
## 3.500732
W_g2
## rate
## 5.286841
Wq_g2
## rate
## 1.535669
#Primer Nodo
input_mm3_g3 <- NewInput.MMC(lambda = G3, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g3 <- QueueingModel(input_mm3_g3)
Report(output_mm3_g3)
## The inputs of the model M/M/c are:
## lambda: 0.618791599404006, mu: 0.555555555555556, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.322536
## The traffic intensity is: 1.11382487892721
## The server use is: 0.371274959642403
## The mean number of clients in the system is: 1.1835921601015
## The mean number of clients in the queue is: 0.0697672811742859
## The mean number of clients in the server is: 1.11382487892721
## The mean time spend in the system is: 1.91274762172189
## The mean time spend in the queue is: 0.11274762172189
## The mean time spend in the server is: 1.8
## The mean time spend in the queue when there is queue is: 0.954312237442843
## The throughput is: 0.618791599404006
summary(output_mm3_g3)
## lambda mu c k m RO P0 Lq Wq
## rate 0.6187916 0.5555556 3 NA NA 0.371275 0.322536 0.06976728 0.1127476
## X L W Wqq Lqq
## rate 0.6187916 1.183592 1.912748 0.9543122 1.59052
#segundo Nodo
input_mm2_g3 <- NewInput.MMC(lambda = G3, mu = B, c = 2 , n = 0, method = 0)
output_mm2_g3 <- QueueingModel(input_mm2_g3)
Report(output_mm2_g3)
## The inputs of the model M/M/c are:
## lambda: 0.618791599404006, mu: 0.512512704422695, c: 2, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.2471284
## The traffic intensity is: 1.2073683131446
## The server use is: 0.603684156572299
## The mean number of clients in the system is: 1.89967584588533
## The mean number of clients in the queue is: 0.692307532740735
## The mean number of clients in the server is: 1.2073683131446
## The mean time spend in the system is: 3.06997678655467
## The mean time spend in the queue is: 1.11880564217022
## The mean time spend in the server is: 1.95117114438445
## The mean time spend in the queue when there is queue is: 2.46163656682123
## The throughput is: 0.618791599404006
summary(output_mm2_g3)
## lambda mu c k m RO P0 Lq Wq
## rate 0.6187916 0.5125127 2 NA NA 0.6036842 0.2471284 0.6923075 1.118806
## X L W Wqq Lqq
## rate 0.6187916 1.899676 3.069977 2.461637 2.52324
#Medidas de desempeño de la red de colas
L_g3<- L.o_MMC(output_mm3_g3)+L.o_MMC(output_mm2_g3)
W_g3<- W.o_MMC(output_mm3_g3)+W.o_MMC(output_mm2_g3)
Wq_g3<- Wq.o_MMC(output_mm3_g3)+Wq.o_MMC(output_mm2_g3)
L_g3
## rate
## 3.083268
W_g3
## rate
## 4.982724
Wq_g3
## rate
## 1.231553
#Primer Nodo
input_mm3_g4 <- NewInput.MMC(lambda = G4, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g4 <- QueueingModel(input_mm3_g4)
Report(output_mm3_g4)
## The inputs of the model M/M/c are:
## lambda: 0.753499864575597, mu: 0.555555555555556, c: 3, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.2478298
## The traffic intensity is: 1.35629975623608
## The server use is: 0.452099918745358
## The mean number of clients in the system is: 1.51150311288231
## The mean number of clients in the queue is: 0.155203356646235
## The mean number of clients in the server is: 1.35629975623608
## The mean time spend in the system is: 2.00597662181884
## The mean time spend in the queue is: 0.20597662181884
## The mean time spend in the server is: 1.8
## The mean time spend in the queue when there is queue is: 1.09509018254944
## The throughput is: 0.753499864575597
summary(output_mm3_g4)
## lambda mu c k m RO P0 Lq Wq
## rate 0.7534999 0.5555556 3 NA NA 0.4520999 0.2478298 0.1552034 0.2059766
## X L W Wqq Lqq
## rate 0.7534999 1.511503 2.005977 1.09509 1.82515
#segundo Nodo
input_mm2_g4 <- NewInput.MMC(lambda = G4, mu = B, c = 2 , n = 0, method = 0)
output_mm2_g4 <- QueueingModel(input_mm2_g4)
Report(output_mm2_g4)
## The inputs of the model M/M/c are:
## lambda: 0.753499864575597, mu: 0.512512704422695, c: 2, n: 0, method: Exact
##
## The outputs of the model M/M/c are:
##
## The probability (p0, p1, ..., pn) of the n = 0 clients in the system are:
## 0.1526689
## The traffic intensity is: 1.4702071930575
## The server use is: 0.735103596528749
## The mean number of clients in the system is: 3.19872622800163
## The mean number of clients in the queue is: 1.72851903494413
## The mean number of clients in the server is: 1.4702071930575
## The mean time spend in the system is: 4.24515833165183
## The mean time spend in the queue is: 2.29398718726738
## The mean time spend in the server is: 1.95117114438445
## The mean time spend in the queue when there is queue is: 3.68289474454154
## The throughput is: 0.753499864575597
summary(output_mm2_g4)
## lambda mu c k m RO P0 Lq Wq
## rate 0.7534999 0.5125127 2 NA NA 0.7351036 0.1526689 1.728519 2.293987
## X L W Wqq Lqq
## rate 0.7534999 3.198726 4.245158 3.682895 3.775061
#Medidas de desempeño de la red de colas
L_g4<- L.o_MMC(output_mm3_g4)+L.o_MMC(output_mm2_g4)
W_g4<- W.o_MMC(output_mm3_g4)+W.o_MMC(output_mm2_g4)
Wq_g4<- Wq.o_MMC(output_mm3_g4)+Wq.o_MMC(output_mm2_g4)
L_g4
## rate
## 4.710229
W_g4
## rate
## 6.251135
Wq_g4
## rate
## 2.499964
Antes de analizar los indicadores de desempeño calculados por la herramienta estadística R, es importante saber si el modelo cumple con la condición de estabilidad:
Ro= Lambda / S* Mu < 1
Por lo tanto, se obtuvieron los siguientes resultados de condición de estabilidad para cada análisis respectivo, utilizando los λ y μ calculados tanto para la sección de comidas cómo para los dispensadores de bebidas.
NODO 1 (Sección de comidas):
Analisis Sin Segmentar Lambda : 0,5962866 S: 3 Mu: 0,55555 Ro: 0,35777554
Segmentado: Grupo 1 Sin Segmentar Lambda : 0,558866 S: 3 Mu: 0,55555 Ro: 0,33532295
Segmentado: Grupo 2 Sin Segmentar Lambda : 0,6615958 S: 3 Mu: 0,55555 Ro: 0,39696145
Segmentado: Grupo 3 Sin Segmentar Lambda : 0,6187915 S: 3 Mu: 0,55555 Ro: 0,37127861
Segmentado: Grupo 4 Sin Segmentar Lambda : 0,7534998 S: 3 Mu: 0,55555 Ro: 0,4521044
Como Ro, Ro1, Ro2, Ro3 y Ro4 son menores a 1, entonces existen las medidas de desempeño pues el sistema se estabiliza (No colapsa)
NODO 2 (Dispensadores de Bebidas): Análisis: Sin Segmentar Lambda : 0,5962866 S: 2 Mu: 0,512512 Ro: 0,5817294
Segmentado: Grupo 1 Lambda : 0,558866 S: 2 Mu: 0,512512 Ro: 0,54522236
Segmentado: Grupo 2 Lambda : 0,6615958 S: 2 Mu: 0,512512 Ro: 0,6454442
Segmentado: Grupo 3 Lambda : 0,6187915 S: 2 Mu: 0,512512 Ro: 0,60368489
Segmentado: Grupo 4 Lambda : 0,7534998 S: 2 Mu: 0,512512 Ro: 0,73510454
Como Ro, Ro1, Ro2, Ro3 y Ro4 son menores a 1, entonces existen las medidas de desempeño pues el sistema se estabiliza (No colapsa)
MEDIDAS DE DESEMPEÑO DEL SISTEMA COMPLETO SIN SEGMENTAR: • L: 2,89 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • W: 4,85 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 1,09 min promedio que un cliente permanece en cola.
Si bien se avaluó previamente, el sistema no colapsa. Esto puede implicar que mientras los clientes que ya pasaron por sus alimentos y se encuentran en el dispensador, existe una capacidad de servicio en la estación anterior, atendiendo efectivamente a los usuarios en general. Por otra parte, El tiempo promedio de servicio y cola no supera los 5 minutos lo que indica que el sistema efectivamente funciona eficientemente para el contexto y es que se logra el objetivo de atender a los clientes que recién están ingresando a la sala de su película, evitando concentración de público en la confitería y manteniendo la calidad del servicio tanto en esta parte del cine como en la sala. Por ultimo cabe resaltar que el tiempo promedio en cola no comprende bastamente la quinta parte del tiempo del cliente en el sistema, lo que indica que si se desea hacer una gestión del proceso de compra, el trabajo a realizar mayormente radica en la capacitación del personal para atender con mayor eficiencia en la estación de comida, o facilitar el uso de los dispensadores.
SEGMENTADO: Grupo 1 (tarde entre semana) • L: 2.60 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • W: 4.65 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 0.90 min promedio que un cliente permanece en cola.
Grupo 2 (noche entre semana) • L: 3.50 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • W: 5.28 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 1.53 min promedio que un cliente permanece en cola.
Grupo 3 (fin de semana-tarde) • L: 3.08 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • W: 4.98 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 1.23 min promedio que un cliente permanece en cola.
Grupo 4 (fin de semana-noche) • L: 4.71 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • W: 6.25 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 2.49 min promedio que un cliente permanece en cola.
Los indicadores de desempeño son coherentes con lo que el contexto representa. Los cines tienden a ser actividades de dispersión que la mayoría de la gente tiende a realizar en tiempos que difieren del horario laboral común. Es por eso que se puede apreciar que efectivamente el tiempo promedio de las personas en el sistema tiende a ser mayor en aquellas horas del día que se alejan de la hora y días destinadas para el trabajador común, siendo asi que existe una demora más notable en los horarios de la tarde y entre semana. Si bien a se ha denotado la influencia de los horarios en la cantidad promedio de personas en el sistema (por ejemplo, entre semana en la tarde cuando las personas laboran, hay menos personas que el fin de semana en la noche, que comúnmente no es un horario laboral). Por otro lado, esta cantidad de asistentes promedio puede entorpecer el flujo del sistema de dispensadores diseñado, ya que al ser alta la demanda de alimentos y bebidas, y al contar con mas estaciones de comida con una media de tiempo de atención menor a la de las bebidas, se pueden generar cuellos de botella entre nodos, lo cual aumenta el tiempo de permanencia en el sistema como se puede apreciar en los indicadores previamente calculados.
Con base al cambio de los indicadores, se puede afirmar que el sistema de dispensadores de bebida no es más eficiente que el sistema inicial. Los indicadores nos demuestran que efectivamente en el sistema de dispensadores a nivel general (sin segmentar) no existe un punto en el cual sea más benéfico el cambio de sistema. Con los dispensadores de bebida, la cantidad de clientes en el sistema es mayor al igual que el tiempo de permanencia total y en fila. A nivel particular solo. A nivel particular se puede apreciar una tendencia, y es que para los horarios que se podrían denominar poco comunes de actividad laboral (fines de semana en la tarde y noche, y entre semana en la noche) la implementación de los dispensadores si tiende a minimizar el tiempo promedio de las personas en fila, en comparación con el sistema inicial. Esto puede deberse a que el sistema de autogestión de bebidas funciona para grupos de visitantes más voluminoso, o por el hecho de que los trabajadores no dedican su tiempo al llenado del vaso y pueden ocuparlo en entregar los alimentos. Si bien es un punto a favor que el nuevo sistema tiene, no cambia el hecho de que la cantidad promedio de personas en el sistema y el tiempo promedio de ellas en este, es significativamente menor cuando se hace uso del sistema convencional.
#Costo fijo de implementación relacionado con la adecuación del lugar y adquisición de 2 dispensadores de gaseosas
CF<- 8000000
#Estimacion del Costo de repeticion de servicio de gaseosa
Mes <- 6
Semanas<- 4*Mes
dias <- Semanas*7 # La muestra es de 6 dias
Horas_dia <- 9 #Abren de 1:00- 10:00 pm
Horas_disponible <- dias*Horas_dia #numero de horas que llegan personas al cine
Min_disponibles <- Horas_disponible*60
CR <- (Min_disponibles*A)*300
# Costo de dispensadores adicionales
CD <- 3000000
Costo_Total <- c((CF+CR+0*CD),(CF+CR+1*CD),(CF+CR+2*CD),(CF+CR+3*CD),(CF+CR+4*CD))
#Primer Nodo
input_mm3 <- NewInput.MMC(lambda = A, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3 <- QueueingModel(input_mm3)
#Primera opcion segundo Nodo: 0 adicionales MM2
input_mm2_0 <- NewInput.MMC(lambda = A, mu = B, c = 2 , n = 0, method = 0)
output_mm2_0 <- QueueingModel(input_mm2_0)
Wq2_0<-Wq.o_MMC(output_mm2_0)
#Segunda opcion segundo Nodo: 1 adicional MM3
input_mm3_1 <- NewInput.MMC(lambda = A, mu = B, c = 3 , n = 0, method = 0)
output_mm3_1 <- QueueingModel(input_mm3_1)
Wq2_1<-Wq.o_MMC(output_mm3_1)
#Tercera opcion segundo Nodo: 2 adicionales MM4
input_mm4_2 <- NewInput.MMC(lambda = A, mu = B, c = 4 , n = 0, method = 0)
output_mm4_2 <- QueueingModel(input_mm4_2)
Wq2_2<-Wq.o_MMC(output_mm4_2)
#Cuarta opcion segundo Nodo: 3 adicionales MM5
input_mm5_3 <- NewInput.MMC(lambda = A, mu = B, c = 5 , n = 0, method = 0)
output_mm5_3 <- QueueingModel(input_mm5_3)
Wq2_3<-Wq.o_MMC(output_mm5_3)
#Quinta opcion segundo Nodo: 4 adicionales MM6
input_mm6_4 <- NewInput.MMC(lambda = A, mu = B, c = 6 , n = 0, method = 0)
output_mm6_4 <- QueueingModel(input_mm6_4)
Wq2_4<-Wq.o_MMC(output_mm6_4)
Wq2 <- c((Wq2_0),(Wq2_1),(Wq2_2),(Wq2_3),(Wq2_4))
Punto5 <- data.frame(Disp_Adicionales=c(0,1,2,3,4), Costo_Total_implementacion = Costo_Total, Tiempo_espera_dispensadores=Wq2)
Punto5
## Disp_Adicionales Costo_Total_implementacion Tiempo_espera_dispensadores
## 1 0 24228535 0.9980355063
## 2 1 27228535 0.1393459264
## 3 2 30228535 0.0230677634
## 4 3 33228535 0.0036770544
## 5 4 36228535 0.0005385693
ggplot(Punto5, aes(x=Tiempo_espera_dispensadores, y=Costo_Total_implementacion )) +
geom_point(size=3)+ggtitle("Tiempo_espera_dispensadores vs Costo_Total_implementacion")
En el gráfico anterior se puede observar que en el caso base sin dispensadores adicionales, tenemos el tiempo de espera más grande con mucha diferencia y el costo de implementación es nulo ya que no se hace efectiva ninguna compra, una vez se implementa una máquina dispensadora adicional, el tiempo de espera reduce significativamente por un costo de implementación total de 27’228.535 COP para el periodo de estudio (6 meses), para la adición de dos máquinas dispensadoras se prevé un costo adicional de 3’000.000 COP que corresponde a la adición de una máquina, en cuestión de tiempo la reducción no es igual de significativo pero se logra observar que el tiempo de espera es mínimo, para las últimas dos opciones (adición de 3 y 4 máquinas dispensadoras) el costo se eleva mucho y la reducción del tiempo de espera es insignificante, siendo con 4 máquinas dispensadoras adicionales el tiempo de espera es prácticamente 0.
#Primer Nodo
input_mm3_g1 <- NewInput.MMC(lambda = G1, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g1 <- QueueingModel(input_mm3_g1)
#Primera opcion segundo Nodo: 0 adicionales MM2
input_mm2_0_g1 <- NewInput.MMC(lambda = G1, mu = B, c = 2 , n = 0, method = 0)
output_mm2_0_g1 <- QueueingModel(input_mm2_0_g1)
Wq2_0_g1<-Wq.o_MMC(output_mm2_0_g1)
#Segunda opcion segundo Nodo: 1 adicional MM3
input_mm3_1_g1 <- NewInput.MMC(lambda = G1, mu = B, c = 3 , n = 0, method = 0)
output_mm3_1_g1 <- QueueingModel(input_mm3_1_g1)
Wq2_1_g1<-Wq.o_MMC(output_mm3_1_g1)
#Tercera opcion segundo Nodo: 2 adicionales MM4
input_mm4_2_g1 <- NewInput.MMC(lambda = G1, mu = B, c = 4 , n = 0, method = 0)
output_mm4_2_g1 <- QueueingModel(input_mm4_2_g1)
Wq2_2_g1<-Wq.o_MMC(output_mm4_2_g1)
#Cuarta opcion segundo Nodo: 3 adicionales MM5
input_mm5_3_g1 <- NewInput.MMC(lambda = G1, mu = B, c = 5 , n = 0, method = 0)
output_mm5_3_g1 <- QueueingModel(input_mm5_3_g1)
Wq2_3_g1<-Wq.o_MMC(output_mm5_3_g1)
#Quinta opcion segundo Nodo: 4 adicionales MM6
input_mm6_4_g1 <- NewInput.MMC(lambda = G1, mu = B, c = 6 , n = 0, method = 0)
output_mm6_4_g1 <- QueueingModel(input_mm6_4_g1)
Wq2_4_g1<-Wq.o_MMC(output_mm6_4_g1)
Wq2_g1 <- c((Wq2_0_g1),(Wq2_1_g1),(Wq2_2_g1),(Wq2_3_g1),(Wq2_4_g1))
Punto5_g1 <- data.frame(Disp_Adicionales=c(0,1,2,3,4), Costo_Total_implementacion = Costo_Total, Tiempo_espera_dispensadores=Wq2_g1)
Punto5_g1
## Disp_Adicionales Costo_Total_implementacion Tiempo_espera_dispensadores
## 1 0 24228535 0.8253780030
## 2 1 27228535 0.1146992326
## 3 2 30228535 0.0182132568
## 4 3 33228535 0.0027551999
## 5 4 36228535 0.0003811218
ggplot(Punto5_g1, aes(x=Tiempo_espera_dispensadores, y=Costo_Total_implementacion )) +
geom_point(size=3)+ggtitle("G1: Tiempo_espera_dispensadores vs Costo_Total_implementacion")
En el gráfico anterior se puede observar que en el caso base sin dispensadores adicionales, bajo las consideraciones del grupo #1 que corresponde a los horarios de atención de la tarde y en los días entre semana (lunes a viernes), tenemos el tiempo de espera más grande con mucha diferencia siendo ligeramente menor que el caso sin segmentación (0.998 > 0.825) y el costo de implementación es nulo ya que nuevamente no se hace efectiva ninguna compra, una vez se implementa una máquina dispensadora adicional, el tiempo de espera reduce significativamente (0.115) por un costo de implementación total 27’228.535 COP para el periodo de estudio (6 meses), para la adición de dos máquinas dispensadoras se prevé un costo adicional de 3’000.000 COP que corresponde a la adición de una máquina, en cuestión de tiempo la reducción no es igual de significativo pero se logra observar que el tiempo de espera es mínimo, para las últimas dos opciones (adición de 3 y 4 máquinas dispensadoras) el costo se eleva mucho y la reducción del tiempo de espera es insignificante, siendo con 4 máquinas dispensadoras adicionales el tiempo de espera es prácticamente 0, se puede observar que los tiempos de espera generales son los menores entre semana y por la tarde, a comparación que el caso sin segmentación.
#Primer Nodo
input_mm3_g2 <- NewInput.MMC(lambda = G2, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g2 <- QueueingModel(input_mm3_g2)
#Primera opcion segundo Nodo: 0 adicionales MM2
input_mm2_0_g2 <- NewInput.MMC(lambda = G2, mu = B, c = 2 , n = 0, method = 0)
output_mm2_0_g2 <- QueueingModel(input_mm2_0_g2)
Wq2_0_g2<-Wq.o_MMC(output_mm2_0_g2)
#Segunda opcion segundo Nodo: 1 adicional MM3
input_mm3_1_g2 <- NewInput.MMC(lambda = G2, mu = B, c = 3 , n = 0, method = 0)
output_mm3_1_g2 <- QueueingModel(input_mm3_1_g2)
Wq2_1_g2<-Wq.o_MMC(output_mm3_1_g2)
#Tercera opcion segundo Nodo: 2 adicionales MM4
input_mm4_2_g2 <- NewInput.MMC(lambda = G2, mu = B, c = 4 , n = 0, method = 0)
output_mm4_2_g2 <- QueueingModel(input_mm4_2_g2)
Wq2_2_g2<-Wq.o_MMC(output_mm4_2_g2)
#Cuarta opcion segundo Nodo: 3 adicionales MM5
input_mm5_3_g2 <- NewInput.MMC(lambda = G2, mu = B, c = 5 , n = 0, method = 0)
output_mm5_3_g2 <- QueueingModel(input_mm5_3_g2)
Wq2_3_g2<-Wq.o_MMC(output_mm5_3_g2)
#Quinta opcion segundo Nodo: 4 adicionales MM6
input_mm6_4_g2 <- NewInput.MMC(lambda = G2, mu = B, c = 6 , n = 0, method = 0)
output_mm6_4_g2 <- QueueingModel(input_mm6_4_g2)
Wq2_4_g2<-Wq.o_MMC(output_mm6_4_g2)
Wq2_g2 <- c((Wq2_0_g2),(Wq2_1_g2),(Wq2_2_g2),(Wq2_3_g2),(Wq2_4_g2))
Punto5_g2 <- data.frame(Disp_Adicionales=c(0,1,2,3,4), Costo_Total_implementacion = Costo_Total, Tiempo_espera_dispensadores=Wq2_g2)
Punto5_g2
## Disp_Adicionales Costo_Total_implementacion Tiempo_espera_dispensadores
## 1 0 24228535 1.3973716916
## 2 1 27228535 0.1919149095
## 3 2 30228535 0.0337821552
## 4 3 33228535 0.0058436173
## 5 4 36228535 0.0009372205
ggplot(Punto5_g2, aes(x=Tiempo_espera_dispensadores, y=Costo_Total_implementacion )) +
geom_point(size=3)+ggtitle("G2: Tiempo_espera_dispensadores vs Costo_Total_implementacion")
En el gráfico anterior se puede observar que en el caso base sin dispensadores adicionales, bajo las consideraciones del grupo #2 que corresponde a los horarios de atención de la noche y en los días entre semana (lunes a viernes), tenemos el tiempo de espera más grande con mucha diferencia siendo considerablemente mayor que el caso segmentado del grupo #1 (1.397 > 0.825) y el costo de implementación nuevamente es nulo ya que nuevamente no se hace efectiva ninguna compra, una vez se implementa una máquina dispensadora adicional, el tiempo de espera reduce significativamente (0.192) por un costo de implementación total 27’228.535 COP para el periodo de estudio (6 meses), para la adición de dos máquinas dispensadoras se prevé un costo adicional de 3’000.000 COP que corresponde a la adición de una máquina, en cuestión de tiempo la reducción no es igual de significativo pero se logra observar que el tiempo de espera es minímo, para las últimas dos opciones (adición de 3 y 4 máquinas dispensadoras) el costo se eleva mucho y la reducción del tiempo de espera es insignificante, siendo con 3 máquinas dispensadoras adicionales el tiempo de espera es prácticamente 0, se puede observar que los tiempos de espera generales en la noche y entre semana son mayores a comparación que el caso segmentado del grupo 1.
#Primer Nodo
input_mm3_g3 <- NewInput.MMC(lambda = G3, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g3 <- QueueingModel(input_mm3_g3)
#Primera opcion segundo Nodo: 0 adicionales MM2
input_mm2_0_g3 <- NewInput.MMC(lambda = G3, mu = B, c = 2 , n = 0, method = 0)
output_mm2_0_g3 <- QueueingModel(input_mm2_0_g3)
Wq2_0_g3<-Wq.o_MMC(output_mm2_0_g3)
#Segunda opcion segundo Nodo: 1 adicional MM3
input_mm3_1_g3 <- NewInput.MMC(lambda = G3, mu = B, c = 3 , n = 0, method = 0)
output_mm3_1_g3 <- QueueingModel(input_mm3_1_g3)
Wq2_1_g3<-Wq.o_MMC(output_mm3_1_g3)
#Tercera opcion segundo Nodo: 2 adicionales MM4
input_mm4_2_g3 <- NewInput.MMC(lambda = G3, mu = B, c = 4 , n = 0, method = 0)
output_mm4_2_g3 <- QueueingModel(input_mm4_2_g3)
Wq2_2_g3<-Wq.o_MMC(output_mm4_2_g3)
#Cuarta opcion segundo Nodo: 3 adicionales MM5
input_mm5_3_g3 <- NewInput.MMC(lambda = G3, mu = B, c = 5 , n = 0, method = 0)
output_mm5_3_g3 <- QueueingModel(input_mm5_3_g3)
Wq2_3_g3<-Wq.o_MMC(output_mm5_3_g3)
#Quinta opcion segundo Nodo: 4 adicionales MM6
input_mm6_4_g3 <- NewInput.MMC(lambda = G3, mu = B, c = 6 , n = 0, method = 0)
output_mm6_4_g3 <- QueueingModel(input_mm6_4_g3)
Wq2_4_g3<-Wq.o_MMC(output_mm6_4_g3)
Wq2_g3 <- c((Wq2_0_g3),(Wq2_1_g3),(Wq2_2_g3),(Wq2_3_g3),(Wq2_4_g3))
Punto5_g3 <- data.frame(Disp_Adicionales=c(0,1,2,3,4), Costo_Total_implementacion = Costo_Total, Tiempo_espera_dispensadores=Wq2_g3)
Punto5_g3
## Disp_Adicionales Costo_Total_implementacion Tiempo_espera_dispensadores
## 1 0 24228535 1.1188056422
## 2 1 27228535 0.1559086760
## 3 2 30228535 0.0263999159
## 4 3 33228535 0.0043334749
## 5 4 36228535 0.0006555769
ggplot(Punto5_g3, aes(x=Tiempo_espera_dispensadores, y=Costo_Total_implementacion )) +
geom_point(size=3)+ggtitle("G3: Tiempo_espera_dispensadores vs Costo_Total_implementacion")
En el gráfico anterior se puede observar que en el caso base sin dispensadores adicionales, bajo las consideraciones del grupo #3 que corresponde a los horarios de atención en la tarde y en los fines de semana (sábado y domingo), tenemos el tiempo de espera más grande con mucha diferencia siendo mayor que el caso no segmentado (1.119 > 0.998) y el costo de implementación nuevamente es nulo ya que nuevamente no se hace efectiva ninguna compra, una vez se implementa una máquina dispensadora adicional, el tiempo de espera reduce significativamente (0.156) por un costo de implementación total 27’228.535 COP para el periodo de estudio (6 meses), para la adición de dos máquinas dispensadoras se prevé un costo adicional de 3’000.000 COP que corresponde a la adición de una máquina, en cuestión de tiempo la reducción no es igual de significativo pero se logra observar que el tiempo de espera es mínimo, para las últimas dos opciones (adición de 3 y 4 máquinas dispensadoras) el costo se eleva mucho y la reducción del tiempo de espera es insignificante, siendo con 3 máquinas dispensadoras adicionales el tiempo de espera es prácticamente 0, se puede observar que los tiempos de espera generales en la tarde y los fines de semana son ligeramente menores a comparación que el caso que mide los tiempos entre semana por la tarde.
#Primer Nodo
input_mm3_g4 <- NewInput.MMC(lambda = G4, mu = (1/(3*0.6)), c = 3 , n = 0, method = 0)
output_mm3_g4 <- QueueingModel(input_mm3_g4)
#Primera opcion segundo Nodo: 0 adicionales MM2
input_mm2_0_g4 <- NewInput.MMC(lambda = G4, mu = B, c = 2 , n = 0, method = 0)
output_mm2_0_g4 <- QueueingModel(input_mm2_0_g4)
Wq2_0_g4<-Wq.o_MMC(output_mm2_0_g4)
#Segunda opcion segundo Nodo: 1 adicional MM3
input_mm3_1_g4 <- NewInput.MMC(lambda = G4, mu = B, c = 3 , n = 0, method = 0)
output_mm3_1_g4 <- QueueingModel(input_mm3_1_g4)
Wq2_1_g4<-Wq.o_MMC(output_mm3_1_g4)
#Tercera opcion segundo Nodo: 2 adicionales MM4
input_mm4_2_g4 <- NewInput.MMC(lambda = G4, mu = B, c = 4 , n = 0, method = 0)
output_mm4_2_g4 <- QueueingModel(input_mm4_2_g4)
Wq2_2_g4<-Wq.o_MMC(output_mm4_2_g4)
#Cuarta opcion segundo Nodo: 3 adicionales MM5
input_mm5_3_g4 <- NewInput.MMC(lambda = G4, mu = B, c = 5 , n = 0, method = 0)
output_mm5_3_g4 <- QueueingModel(input_mm5_3_g4)
Wq2_3_g4<-Wq.o_MMC(output_mm5_3_g4)
#Quinta opcion segundo Nodo: 4 adicionales MM6
input_mm6_4_g4 <- NewInput.MMC(lambda = G4, mu = B, c = 6 , n = 0, method = 0)
output_mm6_4_g4 <- QueueingModel(input_mm6_4_g4)
Wq2_4_g4<-Wq.o_MMC(output_mm6_4_g4)
Wq2_g4 <- c((Wq2_0_g4),(Wq2_1_g4),(Wq2_2_g4),(Wq2_3_g4),(Wq2_4_g4))
Punto5_g4 <- data.frame(Disp_Adicionales=c(0,1,2,3,4), Costo_Total_implementacion = Costo_Total, Tiempo_espera_dispensadores=Wq2_g4)
Punto5_g4
## Disp_Adicionales Costo_Total_implementacion Tiempo_espera_dispensadores
## 1 0 24228535 2.293987187
## 2 1 27228535 0.288641623
## 3 2 30228535 0.054097962
## 4 3 33228535 0.010288558
## 5 4 36228535 0.001839204
ggplot(Punto5_g4, aes(x=Tiempo_espera_dispensadores, y=Costo_Total_implementacion )) +
geom_point(size=3)+ggtitle("G4: Tiempo_espera_dispensadores vs Costo_Total_implementacion")
En el gráfico anterior se puede observar que en el caso base sin dispensadores adicionales, bajo las consideraciones del grupo #4 que corresponde a los horarios de atención en la noche y en los fines de semana (sábado y domingo), tenemos los tiempo de espera más grandes con mucha diferencia siendo mayor que el caso no segmentado (2.294 > 0.998) y el costo de implementación nuevamente es nulo ya que nuevamente no se hace efectiva ninguna compra, una vez se implementa una máquina dispensadora adicional, el tiempo de espera reduce significativamente (0.229) prácticamente el doble que el caso segmentado del grupo #1, por un costo de implementación total 27’228.535 COP para el periodo de estudio (6 meses), para la adición de dos máquinas dispensadoras se prevé un costo adicional de 3’000.000 COP que corresponde a la adición de una máquina, en cuestión de tiempo la reducción no es igual de significativo pero se logra observar que el tiempo de espera es mínimo, para las últimas dos opciones (adición de 3 y 4 máquinas dispensadoras) el costo se eleva mucho y la reducción del tiempo de espera es insignificante, siendo con 4 máquinas dispensadoras adicionales el tiempo de espera es prácticamente 0, se puede observar que los tiempos de espera en la noche y los fines de semana son considerablemente mayores a comparación de cualquier otro grupo segmentado y no segmentado.
Para el diseño de una nueva propuesta de mejora para Cine Bogotá se considerará los únicos valores de costos que fueron proporcionados, los costos de implementación de nuevas máquinas dispensadoras, para esto nos basaremos en el análisis realizado en el punto anterior (Punto 5), en el cual se realizó el análisis de costos totales vs el tiempo de espera, para un caso general y para diferentes escenarios con discriminación de horarios y días de operación.
Teniendo en cuenta el análisis desarrollado en el punto anterior, para todos los escenarios y filtros de tiempo, se puede evidenciar que la mayor reducción de tiempo se obtiene en la implementación de una sola máquina dispensadora, y este cambio en el sistema es el óptimo en cuestión de costos ya que el costo de implementación no es tan alto a comparación de la adición de más máquinas dispensadoras, es donde se obtiene la mayor reducción de tiempo por adición de máquina, el costo total de la propuesta para un periodo de evaluación de 6 meses es $ 24’228.535 COP.
Para el diseño de una nueva alternativa también se propone la realización de cursos a los operarios de la confitería, estos cursos tienen como objetivo reentrenar a los operarios con el fin de que estos realicen sus tareas de manera más rápida y eficiente, para este reentrenamiento se propone el uso de tres técnicas:
El costo de el “reentrenamiento” se basa en 4 horas extra al mes para cada uno de los operarios del cine, este se estima en un costo adicional aproximado de $ 80.000 COP por operario cada mes, la nómina de un Cine se estima en 20 operarios, para los seis meses de planeación el costo total adicional unificando ambas políticas es de $ 33’828.535 COP = (21’228.535 Costo Nueva Máquina/6 meses + (20.000 hora adicional * 4 horas adicionales/mes * 6 meses * 20 operarios)).
Cálculo de Indicadores de desempeño • L: 2,89 clientes promedio en el sistema (incluyendo los que están en cola y en los servidores). • W: 4,85 min promedio que un cliente permanece en el sistema (incluye tiempo medio de servicio y el tiempo medio de cola) • WQ: 1,09 min promedio que un cliente permanece en cola.
El sistema de espera del Cine Bogotá consiste en un flujo de clientes que arriban al cine y se dirigen a la confitería; los clientes son atendidos de acuerdo a una estructura de servicio y luego salen del sistema. En la estructura de servicio se pueden considerar una o más máquinas dispensadoras de gaseosas (servidores), y una capacidad infinita de clientes. Se asume que todos los clientes compran comida y bebida, y que la bebida es siempre gaseosa. Una vez el cliente solicita su gaseosa, el trabajador es el encargado de tomar el vaso, llenarlo y entregarlo al cliente. Este proceso retardar la entrega de los alimentos porque las gaseosas tardan en llenarse. Las llegadas son Poisson de tasa λ (tiempos Inter arribo exponenciales independientes de media 1/ λ). Si al llegar, el servidor está libre, la atención es inmediata; de lo contrario, el cliente se une a la fila y la atención es sucesiva. Los tiempos de atención son exponenciales de media 1/μ. Se supone un sistema de espera de la forma primero en llegar-primero en ser atendido. Cuando un cliente arbitrario llega al sistema y permanece en el hasta completar su servicio y, a su partida, en promedio habrá Lclientes en el sistema.