MODELOS Y SIMULACIÓN TAREA 1 ANNI ALEJANDRA PIRAGAUTA URREA ANDRÉS FELIPE CAJAMARCA ROJAS
Views 73 Downloads 3 File size 1017KB
MODELOS Y SIMULACIÓN TAREA 1 ANNI ALEJANDRA PIRAGAUTA URREA ANDRÉS FELIPE CAJAMARCA ROJAS JUAN FELIPE ARANGO MANRIQUE PROFESOR: LUIS GERARDO ASTAIZA UNIVERSIDAD NACIONAL DE COLOMBIA BOGOTÁ D.C. 2016
A. Problemas Comunes para cada equipo de trabajo 1. Nombre entidades, atributos, actividades, eventos, y variables de estado para los siguientes sistemas: (a) Biblioteca Universitaria: la biblioteca ofrece el servicio de préstamo de libros, se presta si el estudiante está a paz y salvo, y si la unidad está disponible; cuando se presta un libro se toma el tiempo de préstamo y se asigna un plazo de devolución. Entidades: Alumno : número de préstamos, fecha de préstamo, fecha de devolución, estado de paz y salvo. Bibliotecario : disponibilidad. Actividades: Atender usuario y brindarle un buen servicio en su paso por la biblioteca. Eventos: inicio del servicio, préstamo de libro, devolución de libro, terminación del servicio. Variables de estado: horario, frecuencia de llegada de alumno, cantidad de libros disponibles. (b) Banco: un usuario ingresa a realizar diferentes tipos de transacción, su atención depende de su estado de afiliación, la consulta que el usuario vaya a realizar y/o por su edad como una prioridad. Entidades: Cajero : disponibilidad. Asesor Comercial : disponibilidad. Usuario : tipo de transacción, edad, estado de afiliación. Actividades: Atender usuario. Eventos: llegada de cliente, salida del cliente, inicio del servicio, espera del servicio, terminación del servicio. Variables de estado: horario, frecuencia de llegada, dinero disponible. (c) Call center: el operador recibe llamadas frecuentes de usuarios, puede atender varias llamadas simultáneamente, y el usuario puede depender de su tiempo límite como terminación de la llamada, y podrá ser atendido más prioritariamente según su estado de afiliación. Entidades: Solicitud: tipo de solicitud, disponibilidad. Operador : disponibilidad, capacidad simultánea. Usuario : tiempo límite, tiempo de espera, estado de afiliación.
Actividades: Atender llamada. Eventos: recibir llamada, terminar llamada, transferir llamada, iniciar solicitud, esperar solicitud, terminar solicitud.. Variables de estado: horario, frecuencia de llamada, solicitudes recibidas, solicitudes atendidas.. (d) Banco de sangre de Hospital: el donante podrá donar sangre si el enfermero está disponible para atenderlo, si pasa los controles mínimos que se exigen y puede que exista limitantes del tipo de sangre. Entidades: Donante: tipo de sangre. Enfermero : disponibilidad. Actividades: atender donante, estudio del donante, extracción de sangre. Eventos : llegada donante, transferir donante, salida del donante. Variables de estado: horario, frecuencia de llegada, cantidad de reservas de cada tipo de sangre. (e) Taller: los automóviles son llevados al taller a realizar reparaciones y mantenimiento puede depender de la capacidad del taller y capacidad del personal para poder ser atendido. Entidades: Mecánico : disponibilidad. Automovil : tipo de reparación, tipo de repuestos. Taller: disponibilidad. Actividades: diagnóstico, reparación, preparación. Eventos: recepción del automóvil, entrega del automóvil, inicio del servicio, terminación del servicio. Variables de estado: horario, disponibilidad de repuestos, capacidad. (f) Estación de bomberos: los bomberos reciben llamadas de emergencia, y según su gravedad se atenderán primero, se demora según la emergencia, ubicación y disponibilidad de los vehículos. Entidades: Bombero: disponibilidad. Emergencia: tipo de emergencia, prioridad, ubicación. Vehículo: disponibilidad
Actividades: Atender emergencia, resolver la situación, ayudar a la comunidad. Eventos: recibir llamada de emergencia, terminar llamada de emergencia, inicio del servicio, terminación del servicio. . Variables de estado: frecuencia de llamadas de emergencia. (g) Aeropuerto: los pasajeros pueden realizar su chequeo, y según su equipaje demora más y tendrá prioridad según la clase de reserva. Entidades: Pasajero: clase de reserva, cantidad de equipaje. Atendedor: disponibilidad. Actividades: hacer chequeo, recibir equipaje. Eventos: llegada pasajero, salida del pasajero, inicio del servicio, fin del servicio. Variables de estado: horario de vuelo. (e) Organización de Software: la organización recibe contratos de proyectos de software, toma requerimientos, proyecta plazos de entrega y según el tipo de desarrollo y prioridad la demora puede variar. Entidades: Grupo de desarrollo: disponibilidad, habilidad. Cliente: prioridad, requerimientos, tiempo límite. Actividades: Desarrollo de software, contratación, estudiar requerimientos. Eventos: Iniciar el desarrollo, terminar desarrollo, entrega de software. Variables de estado: frecuencia de contrato, capacidad de proyectos simultáneos. 2. Examinar la Cooperación de los tres equipos A, B y C que se muestra a continuación. Los tiempos de llegada y de procesos son los que se indican a continuación (tiempo en minutos).
Entidades: Máquina: Tipo de pieza, tiempo de proceso, tiempo de fallo, ocupado. Piezas: Prioridad, tiempo de llegada, tiempo de salida. Actividades: Procesar pieza, inactividad de máquina Eventos: Llegada de la pieza a la primera máquina, salida de la pieza de la primera máquina, llegada de la pieza a la segunda máquina, salida de la pieza de la segunda máquina, daño de la máquina, reparación de la máquina. Variables de estado: Disponibilidad máquina A, disponibilidad máquina B. Diagramas de Flujo
Resultados en C En la simulación hecha con lenguaje de alto nivel se lograron los siguientes resultados:
En estos resultados se aprecia que la utilización de la máquina A y B tienen una utilización baja, posiblemente a causa de los daños que surgen y de su tiempo de reparación tan elevado. Así mismo, el número promedio de piezas en la cola de la máquina A es muy bajo, debido a su taza de llegada tan grande, mientras que en la cola de la máquina B sí alcanza a haber al menos una pieza en espera durante la gran parte de la simulación.
Run 1
Run 2
Average of 2 runs
Utilization A
71%
59%
65%
Utilization B
60%
66%
63%
Utilization C
67%
61%
64%
B. Problemas asignados individualmente. 1.6 Un sistema de colas con cuatro canales en serie funciona con las características siguientes: • Llegadas de Poisson, ʎ = 0.04 • Tasas de servicio µ1= 0.05, µ2 = 0.06, µ3 = 0.05 y µ4= 0.07 todas con distribución exponencial • Longitud de las colas NQ1 = 100, NQ2= 10, NQ3 = 20 y NQ4 = 30 • Solo el 60% entran en la instalación 2. Las otras van con igual probabilidad a las instalaciones 3 ó 4
Analice este sistema durante un periodo de 30 días de tiempo simulado, Qué ocurriría si sólo el 20% de las unidades entrarán al canal 2 y las otras fueran con las mismas probabilidades a los canales 3 y 4? Solución Entidades: Instalación: tiempo de proceso. Pieza: tiempo de llegada, tiempo de salida. Actividades: Procesar pieza.. Eventos: llegada de la pieza al sistema, salida de la pieza del sistema.
Variables de estado: Probabilidad de entrada a la instalación dos. Diagramas de flujo. Programa principal.
Llegada
Salida de una cola
Resultados Resultados del primer análisis, en el caso en el que solo el 60% entra a la instalación 2 a partir de la instalación 1. Anylogic
Lenguaje C
Resultados del primer análisis, en el caso en el que solo el 20% entra a la instalación 2 a partir de la instación 1.
Anylogic
Lenguaje C
Como se puede ver en el primer análisis al igual que en el segundo, los resultados obtenidos mediante el uso de AnyLogic y la programación en alto nivel (Lenguaje C) son muy similares. En el primer análisis donde en la instalación 2 solo entraba el 60%, se obtuvo una mayor utilización del servicio 3 (instalación 3) en comparación al análisis 2. Mientras que en la instalación 4 no se evidencia mayor diferencia. En cambio en la instalación 2 en el primer análisis el uso del servicio 2 es mucho más alto que en en el primer análisis.
1.8 Una facilidad de servicio consiste de dos servidores en serie, cada uno con su propia fila. Un cliente terminando servicio en el servidor 1 procede al servidor dos, mientras que un cliente terminando el servicio en el servidor 2 deja la instalación. Suponga que los clientes llegan al servicio 1 con distribución uniforme entre 1 y 2 minutos y con probabilidad 0.3 es un cliente tipo A. Este tipo de cliente tiene prioridad sobre el cliente tipo B en la cola del servidor 1. El tiempo de servicio en el servidor 1 es exponencial con una media de 1 min. y en el servidor 2 es de 0.8 minutos. El tiempo de desplazamiento entre la salida del servidor 1 y la llegada a la cola del servidor 2 es uniforme entre 0.5 y 2 minutos. Simule este sistema por 15 horas y estime la demora esperada y el número promedio de clientes en cada cola y la utilización de cada servidor Solución Entidades: Servidor: tiempo de proceso, tiempo de fallo, disponibilidad. Cliente: Prioridad, tiempo de llegada, tiempo de salida. Actividades: Prestar servicio a cliente, cambiar de servidor. Eventos: llegada de cliente al primer servidor, salida del cliente del primer servidor, llegada del cliente al segundo servidor, salida del cliente del segundo servidor. Variables de estado: número de clientes en cada cola. Diagrama de Flujo
Resultados de simulación en código de alto nivel: Después de realizar la simulación implementada en lenguaje C, midiendo la demora promedio en cada cola, el número de clientes promedio en cada cola, la utilización de cada servidor y la cantidad de clientes procesados en el tiempo de la simulación. Se obtuvieron los siguientes resultados:
Es posible ver que durante el tiempo de ejecución, el cual fue de 900 minutos (15 horas), 598 clientes pasaron por el sistema. En el servidor 1, se presentó la mayor demora, y se refleja en que tuvo un tiempo de utilización equivalente al 65% del total de la ejecución, incrementando los valores de clientes promedio en su cola y sus respectivas demoras, pero siendo ágil de todas formas, pues en promedio hubo 2 clientes en la cola. El servidor 2, tuvo una utilización de del 52% y se explica por el cuello de botella que representa el servidor 1. Resultados de la simulación utilizando AnyLogic Utilizando el software de simulación AnyLogic se obtuvieron unos resultados similares, durante los 900 minutos de la simulación, 599 clientes entraron y salieron del sistema,utilizando el servidor 1 por 647.078 minutos, correspondientes a un 71% del total de la simulación, mientras que el servidor 2 tuvo una utilización de 453.727 minutos equivalentes al 50% del tiempo total de ejecución. También se puede evidenciar que la cola 1 era la que en promedio tenía más usuarios, pues en sus picos más altos, alcanzó a tener más de 4 usuarios, mientras que la segunda cola se mantenía con un usuario en promedio alcanzando ocasionalmente 2 clientes.
a) b)
c)
d)
1.9. Cada día, un hombre sale de su casa, A y se va a trabajar a G. Como se indica en el diagrama que sigue, los caminos que puede tomar son 137. 148, 258. 269. El valor de, p, para cada camino es la probabilidad de que lo tome. La distribución del tiempo de cada recorrido es uniforme, con parámetros dados a continuación: Camino 1 1822 min Camino 2 1416 min. Camino 3 56 min Camino 4 68 min. Camino 5 57 min Camino 6 812 min. Camino 7 46 min Camino 8 56 min. Camino 9 69 min. Simular 500 recorridos y evalué el tiempo promedio de desplazamiento. ¿Cómo se compara este promedio con el tiempo promedio esperado del recorrido? Estado del Sistema Entidades y sus atributos o Entidades: Persona o Atributos: comienzo, salida. Eventos, Actividades y Procesos o Eventos: Llegada del cliente al sistema, Salida del cliente del sistema. o Actividades: Salir hacia el trabajo. o Procesos: Escoger un camino. Contadores estadísticos.
o tiempoPromedio137, tiempoPromedio148, tiempoPromedio258, tiempoPromedio269. e) Diagrama de flujo del programa principal y de cada rutina que conforma el modelo.
f) Desarrollar el simulador en lenguaje de alto nivel (c, java) public class Person{ double comienzo ; double salida ; public Person() { } public Person( double comienzo , double salida ) { this . comienzo = comienzo ; this . salida = salida ; } @Override public String toString() { return "Tiempo de inicio = " + comienzo + "\nTiempo Finalización = " + salida + "\nTiempo Total = " +( salida comienzo ); } } import java.io.*; import java.util.*; public class Main { public static Person p ; public static int numRecorridos , camino137 , camino148 , camino258 , camino269 ; public static double simTime , tiempoRecorrido , tiempoPromedio137 , tiempoPromedio148 , tiempoPromedio258 , tiempoPromedio269 , tiempototal137 , tiempototal148 , tiempototal258 , tiempototal269 ; public static boolean c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 ; public static double uniform( double min , double max ) { Random r = new Random();
return min + ( max min ) * r .nextDouble(); } public static void initialize(){ p = new Person(); simTime = 0.0; camino137 = 0; camino148 = 0; camino258 = 0; camino269 = 0; c1 = false ; c2 = false ; c3 = false ; c4 = false ; c5 = false ; c6 = false ; c7 = false ; c8 = false ; c9 = false ; } public static void arrive(){ p . comienzo = simTime ; if (Math. random () * 100