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:
- Inicio
- Verificar si hay sucesores
- Calcular el nodo sucesor
- Generar el evento de llegada
- Insertar el evento en la lista de eventos pendientes
- Verificar cola > 0
- Decrementamos la cola en 1
- Generamos el evento salida
- Insertamos en la lista de eventos pendientes
- En caso contrario
- Decrementamos la utilización en 1
- 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
.
- Si el evento es una salida, entonces
- Si el número de sucesores es mayor que cero, entonces
- Calculamos a cuál nodo se enviará el mensaje mediante la distribución de probabilidades de ese número de sucesores.
- Crear (evento) con
tipo = llegada_interna
sucesor
ganador del sorteotiempo = tiempo actual de simulacion + generar_uniforme(Nodo_Actual, Nodo_sucesor)
- Insertar (evento) en la lista de eventos pendientes.
- Fin si
- Aumentamos
servidor = servidor + 1
- Si la cola > 0 entonces
- Disminuimos la
cola = cola - 1
- En el
evento_actual
cambiamos los parámetros tiempo = tiempo_actual de simulacion + aleatorio exponencial
- Insertamos (evento)
- Disminuimos la
- En caso contrario
- Disminuimos la
utilizacion = utilizacion - 1
- Borramos el evento actual
- Disminuimos la
- Fin si
- Si el número de sucesores es mayor que cero, entonces
- 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