Upload
alvaro-gil
View
1.053
Download
8
Embed Size (px)
Citation preview
Tutorial 1: Taller de mecánica
Enunciado
Unos mecánicos llegan a una media de 10 por hora a recoger piezas de repuesto. Estas piezas se las da un dependiente pagado a $5/hora y que tarda como media 5 min en servir, Cada hora que tiene que esperar un mecánico (en el sistema) le cuesta al taller $10. Queremos saber si merece la pena contratar a un ayudante del dependiente, pagado con $4/hora, de forma que el tiempo medio de servicio se reduzca a 4 min
Solución AnalíticaTenemos dos opciones: Sin ayudante: 1/1 = 5 min = 1/12 h Con ayudante: 1/2 = 4 min = 1/15 hEn ambos casos, = 10 clientes/h
Opción 1 (sin ayudante):
Por tanto, perdemos 5·($10/h) = $50/h
Opción 2 (con ayudante):
Por tanto, perdemos 2·($10/h) = $20/h debido a la espera de los mecánicos, Pero también perdemos $4/h debido al sueldo del ayudante, Por tanto, las pérdidas totales son $24/h
Análisis final: En la opción 1 perdemos $50/h y en la opción 2 perdemos $24/h, con lo cual la más ventajosa es la opción 2.
Solución en AnyLogicIniciamos creando un nuevo proyecto y lo nombramos PLE Colas1 cambiando la unidad de tiempo por defecto a minutos (ver imagen).
ρ1=1012; L1=
ρ11− ρ1
=
1012
1−1012
=5 mecánicos
ρ2=1015; L1=
ρ11− ρ1
=
1015
1−1015
=2 mecánicos
A continuación agregamos los elementos Source, Queue, Delay y Sink de la librería de procesos y los conectamos en secuencia. Adicionalmente agregamos una variable de tipo doble y la llamamos averageL, un parámetro de tipo doble llamado tDelay, y una estadística que llamaremos L como se muestra en la imagen inferior.
Cambiamos las propiedades de Source para actualizar la estadística cada que un nuevo agente llegue al sistema haciendo que la estadística capture la cantidad total de unidades tanto en cola como en servicio.
Por otra parte cambiamos las propiedades del objeto Delay para ajustar el tiempo de servicio, lo que nos permite comparar entre la opción 1 y la opción 2 (sin y con ayudante). Este parámetro será transferido desde la pantalla de inicio.
En la pantalla de simulación principal incluimos un texto donde transcribimos el enunciado, un deslizador (slider) que controla el tiempo de atención y una variable tipo doble que conectaremos al slider. La imagen inferior muestra todos los elementos de esta pantalla.
Así mismo la imagen siguiente muestra las propiedades del slider donde se vincula con la variable tDelay y se le asignan límite inferior y superior.
En cuanto a las propiedades de la simulación, se debe vincular la variable local tDelay con el parámetro principal del mismo nombre. El tiempo de simulación será 50,000 minutos (poco menos de 35 días) a la máxima velocidad posible y se indica que el experimento es aleatorio no repetible (ver imagen inferior)
Cuando ejecutamos la simulación debemos observar una pantalla como la presentada en la parte inferior.
Al finalizar la simulación obtendremos el valor promedio de unidades en el taller en el promedio del estadístico L. Esto sin embargo es el resultado de una única simulación.
Para obtener resultados más confiables el usuario tiene dos posibilidades, o bien ejecuta muchas veces la misma simulación y toma nota de los resultados para luego promediarlos, o puede crear un experimento adicional donde se realicen múltiples repeticiones del mismo experimento con diferentes semillas aleatorias. Esto se hace mediante la variación de parámetros (File – New – Experiment, seleccionando Parameters Variation como se muestra en la imagen inferior)
En él crearemos un experimento de tipo libre (free form) en donde controlaremos la variable tDelay mediante un combo (ver imagen siguiente)
El combo actualiza el valor de la variable tAtencion con valores de 4 o 5 (ver propiedades en la imagen siguiente)
Las propiedades del experimento incluyen 1,000 repeticiones, aleatoriedad y no repeticiones (ver siguientes imágenes)
Finalmente, actualizamos las acciones personalizadas en Java para resetear la estadística antes de cada corrida de simulación y transferir la variable antes de iniciar. Al finalizar el experimento leemos el valor del estadístico L y lo agregamos al estadístico local, lo que nos permite evaluar el valor medio de la cantidad de agentes en el sistema de todos los 1,000 experimentos.
Luego de ejecutar la simulación podemos conocer el valor del estadístico como se muestra en las dos imágenes inferiores.
En esta ocasión encontramos que los resultados por simulación son similares a los resultados obtenidos de manera analítica, con 5 y 2 mecánicos para las opciones sin y con ayudante respectivamente.