Modelos y simulacion

MODELOS Y SIMULACIÓN    TAREA 1                          ANNI ALEJANDRA PIRAGAUTA URREA    ANDRÉS FELIPE CAJAMARCA ROJAS

Views 73 Downloads 3 File size 1017KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 1­3­7. 1­4­8, 2­5­8. 2­6­9. 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  18­22  min  Camino 2  14­16  min.  Camino 3  5­6   min  Camino 4  6­8   min.  Camino 5  5­7   min  Camino 6  8­12 min.  Camino 7  4­6   min  Camino 8  5­6   min.  Camino 9  6­9  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