26 May

Ventajas de Usar Simulación

Podemos entender, explicar o mejorar el sistema.

Permite crear modelos de procesos que puedan resultar sumamente costosos de implementar, que consuman mucho tiempo, peligrosos o imposibles de construir.

Se experimenta con un modelo del sistema y no con el sistema mismo.

Se puede alterar fácilmente el paso del tiempo.

Cuando No Se Debe Usar Simulación

Cuando el modelo no está validado (verificado).

Cuando se puede experimentar fácilmente con el sistema.

Cuando se puede obtener la solución analítica.

Ejemplo de Simulador en Pascal

Considere el simulador en Pascal visto en clase…

a) Variables para la Captura de Estadísticas

llegaron, servidos, t_vacio, cola_ini, t_total_esp, util_pond, cola_max, t_even_perv

b) Variables de Estado

Cola y utilizacion

c) Variables de Caracterización del Nodo

t_llegadas, t_servicios, capacidad, num_suc, suc, prob_suc

Algoritmo para Procesar una Salida

Algoritmicamente indique qué hay que hacer cuando se procesa una salida en el simulador en Pascal discutido en clase:

  1. Inicio
  2. Verificar si hay sucesores
    1. Calcular el nodo sucesor
    2. Generar el evento de llegada
    3. Insertar el evento en la lista de eventos pendientes
  3. Verificar cola > 0
    1. Decrementamos la cola en 1
    2. Generamos el evento salida
    3. Insertamos en la lista de eventos pendientes
  4. En caso contrario
    1. Decrementamos la utilización en 1
  5. Fin

Algoritmo Secuencial Clásico en Simuladores de Eventos Discretos

Indique cuál es el algoritmo secuencial clásico que adaptan los simuladores por eventos discretos, qué significan que deben garantizar la causalidad y cómo logran garantizar esta causalidad:

De acuerdo con el tiempo de simulación, entra en un lazo el cual, mediante una serie de eventos característicos del sistema a simular, se traslada o pasa de evento en evento y no por un tiempo continuo, garantizando la causalidad de los mismos, es decir, que esta serie de eventos, los cuales en la mayoría de los casos son dependientes de otros, es decir, todo evento tiene consigo consecuencias y efectos que deben estar contemplados en cada manejo de cualquier evento. Esto se logra manteniendo un orden cronológico de dichos eventos (orden ascendente), así como también generan con cada evento, los eventos que este anterior cause.

Algoritmo para Procesar una Salida con Tiempo de Tránsito Uniforme

Escriba el algoritmo para procesar una salida en el simulador en Pascal para el caso en que los tiempos de tránsito entre dos nodos sigan una distribución uniforme. Asuma que min[i,j] y max[i,j] son respectivamente el límite inferior y superior para la distribución uniforme que da el tiempo de tránsito del nodo i al nodo j.

  1. Si el evento es una salida, entonces
    1. Si el número de sucesores es mayor que cero, entonces
      1. Calculamos a cuál nodo se enviará el mensaje mediante la distribución de probabilidades de ese número de sucesores.
      2. Crear (evento) con
        1. tipo = llegada_interna
        2. sucesor ganador del sorteo
        3. tiempo = tiempo actual de simulacion + generar_uniforme(Nodo_Actual, Nodo_sucesor)
      3. Insertar (evento) en la lista de eventos pendientes.
    2. Fin si
    3. Aumentamos servidor = servidor + 1
    4. Si la cola > 0 entonces
      1. Disminuimos la cola = cola - 1
      2. En el evento_actual cambiamos los parámetros
      3. tiempo = tiempo_actual de simulacion + aleatorio exponencial
      4. Insertamos (evento)
    5. En caso contrario
      1. Disminuimos la utilizacion = utilizacion - 1
      2. Borramos el evento actual
    6. Fin si
  2. Fin si

Función generar_uniforme(Entero N_actual, entero N_sucesor)

  • Se crea la variable a retornar llamada tiempo_uniforme
  • tiempo_uniforme = min(N_actual, N_sucesor) + (max(N_actual, N_sucesor) - min(N_actual, N_sucesor)) * (numero aleatorio entre [0,1])
  • Devolver tiempo_uniforme

Diferencias entre Simulación Discreta y Continua

Simulación de Eventos Continuos

  • Son tratados mediante el uso de ecuaciones diferenciales.
  • El uso de memoria del computador es mayor.
  • Las estadísticas a estudiar son de mayor exigencia y complejidad.

Simulación de Eventos Discretos

  • Cambian de tiempo por medio de saltos a través de variables aleatorias.
  • El uso de memoria del computador es menor.
  • Las estadísticas a estudiar son menos complejas y de menor exigencia.

Errores Comunes en Simulación

Nivel de detalle inapropiado, lenguaje inapropiado, modelos inválidos, tratamientos incorrectos de las condiciones iniciales, simulaciones muy cortas.

Deja un comentario