Es un problema de colas en un banco, se necesita determinar cambiando el número de servidores de 1 a 7 el tamaño promedio de la cola. El banco trabaja de 10 a 18 horas.

Se definen las variables con su distribución de probabilidad para cada día y también se definen las variables de tiempo entre llegadas

set.seed(1500)
tentre.llegadas <- c(0, 1, 2, 3, 4, 5, 6)
plunes <- c(0.1, 0.15, 0.1, 00.35, 0.25, 0.05, 0)
pmartes <- c(0.1, 0.1, 0.15, 0.2, 0.35, 0.1,0)
pmier <- c(0, 0.1, 0.1, 0.2, 0.1, 0.25, 0.25)
pjueves <- c(0, 0.15, 0.2, 0.2, 0.15, 0.15, 0.15)
pviernes <- c(0.15, 0.15, 0.2, 0.2, 0.1, 0.1, 0.1)
psaba <- c(0.2, 0.15, 0.1, 0.5, 0.05, 0, 0)
pdom <- c(0.35, 0.25, 0.2, 0.1, 0.1, 0, 0)
datos <- NULL

reloj.llegada <- numeric(980)
reloj.salida <- numeric(980)
reloj.inicio.servicio <- numeric(980)
tcola <- numeric(980)
tsistema <- numeric(980)
tdesocupado <- numeric(980)
tservicio.llegada<-numeric(980)
tservicio <- rnorm(1000,8,5)
servidores <- numeric(7)

Se comienza a realizar la simulación

##Se hace un ciclo for por cada uno de los servidores
for(s in 1:7){
  ##se hace otro ciclo for por cada día de la semana
  for(d in c("lunes", "martes", "mierc", "jueves", "viernes", "sabado", "domingo" )){
    tllegadas <- sample(tentre.llegadas, 1, replace = TRUE, prob = switch (d, 
                                                                           lunes={plunes},
                                                                           martes={pmartes},
                                                                           mierc={pmier},
                                                                           jueves={pjueves},
                                                                           viernes={pviernes},
                                                                           sabado={psaba},
                                                                           domingo={pdom}))
    
    
    reloj.llegada[1]<- 0
    reloj.inicio.servicio[1]<- 0
    reloj.salida[1]<-reloj.inicio.servicio[1]+tservicio[1]
    tcola[1] <- reloj.inicio.servicio[1]-reloj.llegada[1]
    tsistema[1] <- tcola[1]+tservicio[1]
    tdesocupado[1] <- 0
    row <- data.frame (cliente=1,Tiempo_desde_ultima_llegada=0,Tiempo_servicio=tservicio [1],Minuto_llegada=reloj.llegada[1],Minuto_inicio_servicio=reloj.inicio.servicio[1], Minuto_salida=reloj.salida[1]) 
  rbind(datos, row) ->df
    
  
}
}