Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ÍNDICE
1.-Introducción
2.-Sistemas y modelos
3.-Simulación de modelos de sucesos discretos
4.-Componentes y organización de un estudio de simulación
5.-Ejemplo de simulación de una cola con un servidor
6.-Etapas más frecuentes en un estudio de simulación
7.-Ventajas, inconvenientes y errores más frecuentes en los estudios de simulación
8.-Generación de números aleatorios (pizarra)
9.-Análisis estadístico de los resultados de la simulación (pizarra)
10.-Técnicas de reducción de varianza (pizarra)
1. INTRODUCCIÓN
SIMULACIÓN: Técnicas para imitar el funcionamiento de sistemas o procesos reales mediante
programas de ordenador.
TIPOS DE SISTEMAS:
* Discretos: las variables de estado cambian en
puntos separados del tiempo.
* Continuos: las variables de estado cambian de
forma continua a lo largo del tiempo.
EXPERIMENTAR
EXPERIMENTAR
CONEL
CON ELSISTEMA
SISTEMA
REAL
REAL
FORMAS
FORMAS
DE
DE
ESTUDIAR
ESTUDIAR Modelo
UN
UN físico
SISTEMA:
SISTEMA
SISTEMA:
SISTEMA
EXPERIMENTARCON
EXPERIMENTAR CONUN
UN
MODELODEL
MODELO DELSISTEMA
SISTEMA
(VALIDACIÓN) Solución
Solución
(VALIDACIÓN)
analítica
analítica
Modelo
matemático
Simulación
Simulación
TIPOS DE MODELOS DE
SIMULACIÓN
Modelos estáticos frente a modelos
dinámicos.
Modelos determinísticos frente a modelos
estocásticos
Modelos discretos frente a modelos
continuos
Pone
Pone el
el reloj
reloj aa cero
cero Llama
Llama aa la
la rutina
rutina de
de Determina
Determina elel
Inicializa siguiente
siguiente tipo
tipo de
de
Inicializa el
el estado
estado inicialización
inicialización
del suceso
suceso
del sistema
sistema yy los los Llama
Llama repetidas
repetidas veces
veces aa
contadores
contadores :: Avanza
Avanza el
el reloj
reloj de
de
Inicializa ••rutina simulación
simulación
Inicializa la
la lista
lista de
de rutina de
de tiempo
tiempo
sucesos
sucesos ••rutina
rutina de
de sucesos
sucesos
Rutina de sucesos
Rutina de sucesos
Actualiza Librería
Librería de
de
Actualiza el
el estado
estado del del
sistema rutinas
rutinas
sistema
Actualiza
Actualiza los
los Genera
Genera
contadores
contadores números
números
Genera
Genera futuros
futuros sucesos
sucesos aleatorios
aleatorios
yy los
los añade
añade aa la
la lista
lista de
de
sucesos
sucesos
¿TERMINÓLA
¿TERMINÓ LASIMULACIÓN?
SIMULACIÓN?
NO
NO
Generador
Generador de
de informes
informes SI
SI
Calcula
Calcula estimaciones
estimaciones
de
de interés
interés
Escribe
Escribe el
el informe
informe
DIAGRAMA DE FLUJO DE LA RUTINA DE LLEGADA DE
UN CLIENTE
SUCESODE
SUCESO DELLEGADA
LLEGADA
Programar
Programar siguiente
siguiente
llegada
llegada
SI
SI NO
NO
¿SERVIDOR OCUPADO?
¿SERVIDOR OCUPADO?
SI
SI
¿COLALLENA?
¿COLA LLENA? Añadir
Añadir 1 1 aa
clientes Poner
Poner espera
espera =
=
clientes
NO perdidos 00
NO perdidos oo
error
error si
si cap.
cap.
Añadir
Añadir 1
1 aa la
la Añadir
Añadir 11 al
al número
número de
de
finita
finita
cola
cola clientes
clientes servidos
servidos
Guardar
Guardar instante
instante
de
de llegada
llegada de
de Poner
Poner el
el servidor
servidor ocupado
ocupado
este
este cliente
cliente
Programar
Programar suceso
suceso de
de salida
salida para
para este
este
cliente
cliente
DIAGRAMA DE FLUJO DE LA RUTINA DE SALIDA
DE UN CLIENTE
SUCESODE
SUCESO DESALIDA
SALIDA
SI NO
NO
SI
¿COLA VACÍA?
¿COLA VACÍA?
Restar
Restar 11 al
al número
número en en la
la cola
cola yy
PONER
PONER LIBRE
LIBRE subir
subir un
un puesto
puesto aa cada
cada cliente
cliente
EL
EL SERVIDOR
SERVIDOR en
en la
la cola
cola
DEJAR Calcular
Calcular espera
espera del
del cliente
cliente
DEJAR DE
DE
CONSIDERAR
CONSIDERAR
EL
EL SUCESO
SUCESO DE
DE Añadir
Añadir 1
1 al
al número
número de
de clientes
clientes
SALIDA
SALIDA servidos
servidos
Programar
Programar el el suceso
suceso de
de salida
salida para
para
el
el cliente
cliente que
que entra
entra al
al servidor
servidor
5. EJEMPLO DE SIMULACION DE UNA COLA CON
UN SERVIDOR
1 n
Wq = ∑ Di , n = n º total de clientes simulados
n 1
En cada instante, se almacena la suma de los tiempos en cola
de todos los clientes (Tiempo total en cola)
•Para estimar φ , se observa el estado del servidor en cada
instante (0 si está libre, 1 si está ocupado) y se almacena el
tiempo en que el servidor está ocupado. La estimación para φ
Tiempo en que el servidor está ocupado
φˆ =
T (n)
El criterio de parada: instante en que entra al servidor el
sexto cliente
Variables de estado 0.4 Llegadas
0
inf Salidas
0 0 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
0
0 T0
0
Clientes servidos
0 T1
0
Tiempo 0 T2
suceso Tiempo total cola
anterior T3
0
Tiempos de 0
llegadas
Tiempo servidor ocupado
Variables de estado 1.6 Llegadas
0.4
2.4 Salidas
1 0 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
1
0.4 T0
0
Clientes servidos
0 T1
Tiempo 0
0 T2
suceso
anterior Tiempo total cola
0 T3
Tiempos de 0
llegadas
Tiempo servidor ocupado
Variables de estado 2.1 Llegadas
1.6
2.4 Salidas
1 1 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
1
1.6 T0
1.6 0.4
Clientes servidos
0 T1
Tiempo 0
0 T2
suceso
anterior Tiempo total cola
0 T3
Tiempos de 1.2
llegadas
Tiempo servidor ocupado
Variables de estado 3.8 Llegadas
2.1
2.4 Salidas
1 2 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
1
1.6 T0
1.6 1.6
Clientes servidos
2.1 0.5 T1
Tiempo 0
0 T2
suceso
Tiempo total cola
anterior T3
0
Tiempos de 1.7
llegadas
Tiempo servidor ocupado
Variables de estado 3.8 Llegadas
2.4
3.1 Salidas
1 1 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
2
1.6 T0
2.1 2.1
Clientes servidos
0.5 T1
Tiempo 0.8
0.3 T2
suceso
anterior Tiempo total cola
0 T3
Tiempos de 2.0
llegadas
Tiempo servidor ocupado
Variables de estado 3.8 Llegadas
3.1
3.3 Salidas
1 0 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
3
1.6 T0
2.4
Clientes servidos
1.2 T1
Tiempo 1.8
0.3 T2
suceso
anterior Tiempo total cola
0 T3
Tiempos de 2.9
llegadas
Tiempo servidor ocupado
Variables de estado 3.8 Llegadas
3.3
inf Salidas
0 0 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
3
1.8 T0
3.1
Clientes servidos 1.2 T1
Tiempo 1.8 T2
0.3
suceso
anterior Tiempo total cola
0 T3
Tiempos de 2.9
llegadas
Tiempo servidor ocupado
Variables de estado 4.0 Llegadas
3.8
4.9 Salidas
1 0 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
4
2.3 T0
3.3
Clientes servidos
1.2 T1
1.8
Tiempo 0.3 T2
suceso Tiempo total cola
anterior T3
0
Tiempos de 2.9
llegadas
Tiempo servidor ocupado
Variables de estado 5.6 Llegadas
4.0
4.9 Salidas
1 1 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
4 2.5
3.8 T0
4.0
Clientes servidos 1.2 T1
Tiempo 1.8
0.3 T2
suceso
Tiempo total cola
anterior 0 T3
Tiempos de 3.1
llegadas
Tiempo servidor ocupado
Variables de estado 5.6 Llegadas
4.9
8.6 Salidas
1 0 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
5
2.5 T0
4.0
Clientes servidos
2.1 T1
2.7
Tiempo 0.3 T2
suceso
Tiempo total cola
anterior 0 T3
Tiempos de 4.0
llegadas
Tiempo servidor ocupado
Variables de estado 5.8 Llegadas
5.6
8.6 Salidas
1 1 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
5 3.2
4.9 T0
5.6
Clientes servidos 2.1 T1
Tiempo 2.7
0.3 T2
suceso
anterior Tiempo total cola
0 T3
Tiempos de 4.7
llegadas
Tiempo servidor ocupado
Variables de estado 7.2 Llegadas
5.8
8.6 Salidas
1 2 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
5
3.2 T0
5.6 5.6
Clientes servidos
5.8 2.3 T1
Tiempo 2.7
0.3 T2
suceso
anterior Tiempo total cola
0 T3
Tiempos de 6.3
llegadas
Tiempo servidor ocupado
Variables de estado 9.1 Llegadas
7.2
8.6 Salidas
1 3 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
5
3.2 T0
5.6 5.8
Clientes servidos 2.3
5.8 T1
7.2 Tiempo 2.7 1.7 T2
suceso
anterior Tiempo total cola T3
0
Tiempos de 6.3
llegadas
Tiempo servidor ocupado
Variables de estado 9.1 Llegadas
8.6
9.2 Salidas
1 2 Reloj Lista sucesos
Contadores estadísticos
Estado servidor Nº en cola
6 3.2
7.2 T0
5.8
7.2 Clientes servidos 2.3 T1
Tiempo 5.7 T2
1.7
suceso
anterior Tiempo total cola
1.4 T3
Tiempos de 7.7
llegadas
Tiempo servidor ocupado
5. EJEMPLO DE SIMULACION DE UNA COLA
CON UN SERVIDOR
Como estimadores se obtienen:
T0 = 3.3, T1 = 2.3, T2 = 1.7, T3 = 1.4; T(n) = 8.6
2.
2. Recogida
Recogida de
de datos
datos yy definición
definición del
del modelo
modelo
3. NO
3. ¿VÁLIDO?
¿VÁLIDO?
SI
4.
4. Construcción
Construcción del
del programa
programa dede ordenador
ordenador yy
verificación
verificación
5.
5. Realización
Realización de
de ejecuciones
ejecuciones piloto
piloto
6.
6. ¿VÁLIDO?
¿VÁLIDO? NO
SI
7.
7. Diseño
Diseño de
de experimentos
experimentos
8.
8. Realización
Realización de
de ejecuciones
ejecuciones
9.
9. Analizar
Analizar los
los resultados
resultados
10.
10. Documentar
Documentar yy presentar
presentar resultados
resultados
6.1.DESCRIPCION GENERAL DE LAS ETAPAS
EN UN ESTUDIO DE SIMULACION
Modos de operar:
Ventajas:
•Sirven para comunicar la esencia del modelo de
simulación a los directivos.
• Puede ayuda a corregir errores del programa de
simulación o a mostrar que el modelo no es válido.
•Puede ayudar a entender el comportamiento dinámico
del sistema.
Inconvenientes:
•Aumenta el tiempo para desarrollar el programa de
simulación.
•Sólo una parte de la lógica del modelo de simulación
puede verse en la animación, y no se puede concluir a
partir de ese corto periodo de tiempo que el modelo
está bien definido.
•No puede sustituir a un cuidadoso análisis estadístico
de los resultados.
6.3. VERIFICACION DEL PROGRAMA
Técnicas a utilizar:
•Escribir y depurar los programas en módulos y
subprogramas
•Correr la simulación con distintos conjuntos de
parámetros de entrada, y comprobar que la salida
es razonable
•Depurar con la técnica de traza
•Correr el modelo con hipótesis simplificadas para
las que el modelo tenga solución analítica
•La animación puede ayudar a detectar errores
6.4. VALIDACION DEL MODELO