Modelos de Sistemas con
Ing. Rafael A. Díaz Chacón
U.C.V.
0
RAD/99
Definiciones Generales
RAD/99
Sistema: Colección de elementos que interaccionan entre sí a través del tiempo para cumplir con uno o más objetivos.
Elemento: Cualquier objeto o componente del sistema que requiera una representación explícita.
Estado: Valor que toman los elementos que conforman el sistema.
Dinámica: Estudio a lo largo del tiempo de los cambios de estado de los elementos del sistema.
Evento: Hecho que provoca cambios en el estado del sistema.
Definiciones Generales
RAD/99
Clasificación de los sistemas:
Definiciones Generales
RAD/99
- Continuos- Discretos
- Causales- No Causales
- Estables- Inestables
- Estáticos- Dinámicos
- Físicos- Abstractos
- Lineales- No Lineales
- Deterministas- Estocásticos
- Abiertos- Cerrados
Modelo: Representación de un objeto, sistema o idea de forma tal que permita reproducir lo más fielmente posible la realidad observada.
Modelo Discreto: Representación de un sistema de eventos discretos (SED).
Modelo Continuo: Representación de un sistema cuyos estados varían en forma continua a través del tiempo.
Modelo Combinado: Representación de un sistema en el cual existan cambios tanto discretos como continuos.
Definiciones Generales
RAD/99
Simulación: Proceso de diseñar un modelo de un sistema real para realizar experimentos con la finalidad de entender el comportamiento del sistema o de evaluar distintas estrategias de operación del mismo.
Definiciones Generales
RAD/99
Etapas en la Simulación
Definición del problema y de sus objetivos. Construcción del modelo y codificación en un
lenguaje de computación. Experimentación con el modelo. Análisis de resultados y recomendaciones.
RAD/99
DEFINICIÓN DEL PROBLEMA
ANÁLISIS DEL SISTEMA
RAD/99
LEVANTAMIENTO DE INFORMACIÓN
CONCEPTUALIZACIÓN DEL MODELO
PROGRAMACIÓN DEL MODELO
ANÁLISIS ESTAD. DE INFORMACIÓN
VALIDACIÓN DEL MODELO
INFORMACIÓN SUFICIENTE
SIMULA LA REALIDAD
VERIFICACIÓN LÓGICA
NO
NO
SINO SI
DEFINICIÓN DEL PROBLEMA
ANÁLISIS DEL SISTEMA
RAD/99
LEVANTAMIENTO DE INFORMACIÓN
CONCEPTUALIZACIÓN DEL MODELO
PROGRAMACIÓN DEL MODELO
ANÁLISIS ESTAD. DE INFORMACIÓN
VALIDACIÓN DEL MODELO
PROGRAMA DE EXPERIMENTACIÓN
REALIZACIÓN DE EXPERIMENTOS
ANÁLISIS E INTERPRETACIÓN
REFORMULACIÓN DE EXPERIMENTOS
INFORMACIÓN SUFICIENTE
SIMULA LA REALIDAD
VERIFICACIÓN LÓGICA
FIN DE EXPERIMENTACIÓN
NO
NO
NO
SINO
SI
SI
DEFINICIÓN DEL PROBLEMA
ANÁLISIS DEL SISTEMA
RAD/99
LEVANTAMIENTO DE INFORMACIÓN
CONCEPTUALIZACIÓN DEL MODELO
PROGRAMACIÓN DEL MODELO
ANÁLISIS ESTAD. DE INFORMACIÓN
VALIDACIÓN DEL MODELO
PROGRAMA DE EXPERIMENTACIÓN
REALIZACIÓN DE EXPERIMENTOS
ANÁLISIS E INTERPRETACIÓN
REFORMULACIÓN DE EXPERIMENTOS
ANÁLISIS FINAL DE LOS RESULTADOS
CONCLUSIONES Y RECOMENDACIONES
INFORME FINAL
INFORMACIÓN SUFICIENTE
SIMULA LA REALIDAD
VERIFICACIÓN LÓGICA
FIN DE EXPERIMENTACIÓN
NO
NO
NOSI
SINO
SI
SI
DEFINICIÓN DEL PROBLEMA
ANÁLISIS DEL SISTEMA
RAD/99
LEVANTAMIENTO DE INFORMACIÓN
CONCEPTUALIZACIÓN DEL MODELO
PROGRAMACIÓN DEL MODELO
ANÁLISIS ESTAD. DE INFORMACIÓN
VALIDACIÓN DEL MODELO
PROGRAMA DE EXPERIMENTACIÓN
REALIZACIÓN DE EXPERIMENTOS
ANÁLISIS E INTERPRETACIÓN
REFORMULACIÓN DE EXPERIMENTOS
ANÁLISIS FINAL DE LOS RESULTADOS
CONCLUSIONES Y RECOMENDACIONES
INFORME FINAL
INFORMACIÓN SUFICIENTE
SIMULA LA REALIDAD
VERIFICACIÓN LÓGICA
FIN DE EXPERIMENTACIÓN
NO
NO
NOSI
SINO
SI
SI
DEFINICIÓN DEL PROBLEMA
ANÁLISIS DEL SISTEMA
RAD/99
Etapas en la Simulación
RAD/99
Errores que deben evitarse...
Los debidos al desarrollo del modelo. Los que tienen que ver con la selección y
uso de los lenguajes de simulación. Los que se deben al modelaje de los
procesos aleatorios del sistema. Los debidos al diseño y análisis de
experimentos.
RAD/99
Fallas al definir los objetivos. Nivel de agregación inapropiado. Poca interacción con el usuario a lo largo
del proyecto. Poco conocimiento en estadística y
simulación.
Errores debidos al desarrollo del modelo
RAD/99
Errores debidos a la selección y uso de lenguajes de simulación
Elección inadecuada de lenguajes de simulación.
Abuso de las facilidades de animación.
RAD/99
Errores debidos al modelajede procesos aleatorios
Reemplazo de una distribución probabilística por su media.
Uso incorrecto de las distribuciones probabilísticas.
Modelaje incorrecto de servidores.
RAD/99
Errores debidos al diseño y análisis de experimentos
Mala interpretación de los resultados de la simulación.
Mala definición del periodo transitorio.
RAD/99
RAD/99
Simulación “Manual”
Un Servidor, una Cola
RAD/99
Simulación “Manual”
Un Servidor, una Cola
RAD/99
Simulación “Manual”
CLIENTE LLEGADA SERVICIO1 1,8 1,72 3,1 0,93 4,5 1,14 7 15 8,2 1,36 8,9 1,47 9,7 1,78 11,1 1,89 12,3 1,210 14 0,9
Instantes de llegada y tiempos de servicio de los primeros 10 clientes
Datos
RAD/99
Simulación “Manual”
CLIENTE LLEGADA INICIO SERVICIO FIN T EN COLA T EN SISTEMA
1 1,8 1,72 3,1 0,93 4,5 1,14 7 15 8,2 1,36 8,9 1,47 9,7 1,78 11,1 1,89 12,3 1,210 14 0,9
Interacción
RAD/99
Simulación “Manual”
CLIENTE LLEGADA INICIO SERVICIO FIN T EN COLA T EN SISTEMA
1 1,8 1,8 1,7 3,5 0 1,72 3,1 3,5 0,9 4,4 0,4 1,33 4,5 4,5 1,1 5,6 0 1,14 7 7 1 8 0 15 8,2 8,2 1,3 9,5 0 1,36 8,9 9,5 1,4 10,9 0,6 27 9,7 10,9 1,7 12,6 1,2 2,98 11,1 12,6 1,8 14,4 1,5 3,39 12,3 14,4 1,2 15,6 2,1 3,310 14 15,6 0,9 16,5 1,6 2,5
Tiempo en cola y tiempo en el sistema de los primeros 10 clientes
Interacción
RAD/99
Simulación “Manual”TIEMPO CLIENTE EVENTO COLA N° EN SISTEMA ESTADO T OCIOSO
Eventos
RAD/99
Simulación “Manual”TIEMPO CLIENTE EVENTO COLA N° EN SISTEMA ESTADO T OCIOSO
0 INICIO 0 0 OCIOSO 01,8 1 LLEGADA 0 1 OCUPADO 1,83,1 2 LLEGADA 1 2 OCUPADO 03,5 1 SALIDA 0 1 OCUPADO 04,4 2 SALIDA 0 0 OCIOSO 04,5 3 LLEGADA 0 1 OCUPADO 0,15,6 3 SALIDA 0 0 OCIOSO 07 4 LLEGADA 0 1 OCUPADO 1,48 4 SALIDA 0 0 OCIOSO 08,2 5 LLEGADA 0 1 OCUPADO 0,28,9 6 LLEGADA 1 2 OCUPADO 09,5 5 SALIDA 0 1 OCUPADO 09,7 7 LLEGADA 1 2 OCUPADO 010,9 6 SALIDA 0 1 OCUPADO 011,1 8 LLEGADA 1 2 OCUPADO 012,3 9 LLEGADA 2 3 OCUPADO 012,6 7 SALIDA 1 2 OCUPADO 014 10 LLEGADA 2 3 OCUPADO 014,4 8 SALIDA 1 2 OCUPADO 015,6 9 SALIDA 0 1 OCUPADO 016,5 10 SALIDA 0 0 OCUPADO 0
Clientes en cola, en el sistema y estado del servidor
Eventos
RAD/99
Simulación “Manual”
TIEMPO
N° DE CLIENTES
1
2
3
4 8 12 16
TIEMPO
ESTADO DEL SERVIDOR
1
2
4 8 12 16
Gráficas
RAD/99
Simulación “Manual”
RAD/99
“A continuación se presentan los algoritmos que permiten mecanizar la simulación manual anterior y llevar
el proceso al computador”
Simulación “Manual”Programa principal
MAIN
MOVER EL RELOJ HASTA EL PRÓXIMO EVENTO A OCURRIR
INICIALIZAR LA SIMULACIÓN
RAD/99
LEER DATOS DEL PROBLEMA
EJECUTAR PRÓXIMO EVENTO
TS = TFINALNO SI FINAL DE LA
SIMULACIÓN
Simulación “Manual”Inicialización
RETORNAR EL CONTROL
INICIALIZAR LA SIMULACIÓN
GENERAR PRIMERA LLEGADA
COLOCAR VARIABLES EN CERO
RAD/99
Simulación “Manual” Eventos futuros I
RAD/99
ORDENAR MEF(I,J) EN FUNCIÓN DEL EVENTO MÁS PRÓXIMO
GENERAR PRIMERA LLEGADA
DEFINIR MATRIZ DE EVENTOS FUTUROS (MEF)
MEF(2,1) = INSTANTE DE LA 1A LLEGADA
MEF(2,2) = TIPO DE EVENTO = 2
MEF(1,1) = FINAL DE LA SIMULACIÓN
MEF(1,2) = TIPO DE EVENTO = 1
RETORNAR EL CONTROL
Simulación “Manual”Llegada de un usuario
EVENTO TIPO 2: LLEGADA DE UN USUARIO
NSISTEMA=NSISTEMA+1
GENERAR PROXIMA LLEGADA
RETORNAR EL CONTROL
SERVIDOR=1
GENERAR FIN DE SERVICIO
COLA=COLA+1
SERVIDOR=1NO SI
RAD/99
Simulación “Manual”Eventos futuros II
RAD/99
ORDENAR MEF(I,J) EN FUNCIÓN DEL EVENTO MÁS PRÓXIMO
GENERAR PRÓXIMA LLEGADA
DEFINIR PRIMERA FILA LIBRE (FL) EN LA MATRIZ DE EVENTOS FUTUROS
MEF(FL,1) = INSTANTE DE LA PRÓXIMA LLEGADA
MEF(FL,2) = TIPO DE EVENTO = 2
RETORNAR EL CONTROL
Simulación “Manual”Fin de un Servicio
EVENTO TIPO 3: FIN DE UN SERVICIO
NSISTEMA=NSISTEMA-1
RETORNAR EL CONTROL
COLA=COLA-1
GENERAR FIN DE SERVICIO
SERVIDOR=0
COLA>0SI NO
RAD/99
Simulación “Manual”Eventos futuros III
RAD/99
ORDENAR MEF(I,J) EN FUNCIÓN DEL EVENTO MÁS PRÓXIMO
GENERAR FIN DE SERVICIO
DEFINIR PRIMERA FILA LIBRE (FL) EN LA MATRIZ DE EVENTOS FUTUROS
MEF(FL,1) = INSTANTE DEL FIN DEL SERVICIO
MEF(FL,2) = TIPO DE EVENTO = 3
RETORNAR EL CONTROL
Simulación “Manual”Fin de Simulación
EVENTO TIPO 1: FIN DE LA SIMULACIÓN
REALIZAR CÁLCULOS ESTADÍSTICOS
TERMINAR EL PROGRAMA
RAD/99
IMPRIMIR INFORME ESTADÍSTICO
Simulación “Manual”
Un Servidor, una Cola
RAD/99
El modelo anterior se va a programar en el lenguaje de computación de alto nivel C++, en el ambiente de trabajo
Visual C++, versión 6.0
Simulación “Manual”
Manejo de un Inventario
RAD/99
Simulación “Manual”
Manejo de un Inventario
RAD/99
Simulación “Manual” Datos
•Revisión del Nivel de Inventario cada 10 días.
•Si está por debajo de 5 unidades, reponer hasta 5.
•Si hay 5 o más unidades, no hacer nada.
•Inicialmente hay 5 unidades.
•La transacción de compra tarda 0.1 días.
•Los 10 primeros compradores llegan en los instantes dados en la tabla siguiente.
RAD/99
Simulación “Manual”
CLIENTE LLEGADA1 1,82 3,13 4,44 5,85 7,26 8,67 9,48 11,19 12,310 14
Instantes de llegada de los primeros 10 compradores
Datos
RAD/99
Simulación “Manual”
CLIENTE LLEGADA NIVEL INICIO SALIDA T EN SISTEMA
1 1,82 3,13 4,44 5,85 7,26 8,67 9,48 11,19 12,310 14
Interacción
RAD/99
Simulación “Manual”
CLIENTE LLEGADA NIVEL INICIO SALIDA T EN SISTEMA
1 1,8 5 1,8 1,9 0,12 3,1 4 3,1 3,2 0,13 4,4 3 4,4 4,5 0,14 5,8 2 5,8 5,9 0,15 7,2 1 7,2 7,3 0,16 8,6 0 10 10,1 1,57 9,4 0 10,1 10,2 0,88 11,1 3 11,1 11,2 0,19 12,3 2 12,3 12,4 0,110 14 1 14 14,1 0,1
Tiempo en el sistema de los primeros 10 compradores
Interacción
RAD/99
Simulación “Manual”TIEMPO CLIENTE EVENTO NIVEL DE INVENTARIO N° EN SISTEMA
Eventos
RAD/99
Simulación “Manual”TIEMPO CLIENTE EVENTO NIVEL DE INVENTARIO N° EN SISTEMA
0 INICIO 5 01,8 1 LLEGADA 5 11,9 1 SALIDA 4 03,4 2 LLEGADA 4 13,5 2 SALIDA 3 04,4 3 LLEGADA 3 14,5 3 SALIDA 2 05,8 4 LLEGADA 2 15,9 4 SALIDA 1 07,2 5 LLEGADA 1 17,3 5 SALIDA 0 08,6 6 LLEGADA 0 19,4 7 LLEGADA 0 210 REVISIÓN 5 210,1 6 SALIDA 4 110,2 7 SALIDA 3 011,1 8 LLEGADA 3 111,2 8 SALIDA 2 012,3 9 LLEGADA 2 112,4 9 SALIDA 1 014 10 LLEGADA 1 114,1 10 SALIDA 0 0
Nivel del Inventario y Compradores en el Sistema
Eventos
RAD/99
Simulación “Manual” Inicialización
GENERAR PRIMERA REVISIÓN
RETORNAR EL CONTROL
NIVEL=5
GENERAR PRIMERA LLEGADA
INICIO
COLOCAR OTRAS VARIABLES EN CERO
RAD/99
Simulación “Manual” Lógica
LLEGADA DE UN USUARIO
NSISTEMA=NSISTEMA+1
GENERAR PROXIMA LLEGADA
RETORNAR EL CONTROL
SERVIDOR=1
GENERAR FIN DE SERVICIO
COLA=COLA+1
NIVEL=0NO SI
RAD/99
SERVIDOR=1NO
SI
Simulación “Manual” LógicaFIN DE UN SERVICIO
NSISTEMA=NSISTEMA-1
RETORNAR EL CONTROL
COLA=COLA-1
GENERAR FIN DE SERVICIO
SERVIDOR=0
COLA>0SI NO
NIVEL=NIVEL-1
RAD/99
NIVEL>0
NIVEL=NIVEL-1
SI
NO
Simulación “Manual” LógicaREVISIÓN DEL INVENTARIO
GENERAR PRÓXIMA REVISIÓN
RETORNAR EL CONTROL
SERVIDOR=1
GENERAR FIN DE SERVICIO
NIVEL=5
NIVEL<5NO SI
COLA>0
NO
SI
COLA=COLA-1
RAD/99
NIVEL=NIVEL-1 SERVIDOR=0
NO
SI
Simulación “Manual”
RAD/99