Modelos de Sistemas con AweSim ! Ing. Rafael A. Díaz Chacón U.C.V. RAD/99
Definiciones Generales Modelos Sistemas Simulación RAD/99
Definiciones Generales 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. RAD/99
Definiciones Generales Clasificación de los sistemas: - Continuos - Discretos - Físicos - Abstractos - Causales - No Causales - Lineales - No Lineales - Estables - Inestables - Deterministas - Estocásticos - Estáticos - Dinámicos - Abiertos - Cerrados RAD/99
Definiciones Generales 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. RAD/99
Definiciones Generales 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. 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
DEFINICIÓN DEL PROBLEMA ANÁLISIS DEL SISTEMA LEVANTAMIENTO DE INFORMACIÓN CONCEPTUALIZACIÓN DEL MODELO ANÁLISIS ESTAD. DE INFORMACIÓN PROGRAMACIÓN DEL MODELO NO INFORMACIÓN SUFICIENTE SI VALIDACIÓN DEL MODELO SI NO VERIFICACIÓN LÓGICA SIMULA LA REALIDAD NO RAD/99
DEFINICIÓN DEL PROBLEMA ANÁLISIS DEL SISTEMA LEVANTAMIENTO DE INFORMACIÓN CONCEPTUALIZACIÓN DEL MODELO ANÁLISIS ESTAD. DE INFORMACIÓN PROGRAMACIÓN DEL MODELO NO INFORMACIÓN SUFICIENTE SI VALIDACIÓN DEL MODELO SI NO VERIFICACIÓN LÓGICA SIMULA LA REALIDAD NO SI PROGRAMA DE EXPERIMENTACIÓN REALIZACIÓN DE EXPERIMENTOS ANÁLISIS E INTERPRETACIÓN REFORMULACIÓN DE EXPERIMENTOS FIN DE EXPERIMENTACIÓN NO RAD/99
DEFINICIÓN DEL PROBLEMA ANÁLISIS DEL SISTEMA LEVANTAMIENTO DE INFORMACIÓN CONCEPTUALIZACIÓN DEL MODELO ANÁLISIS ESTAD. DE INFORMACIÓN PROGRAMACIÓN DEL MODELO NO INFORMACIÓN SUFICIENTE SI VALIDACIÓN DEL MODELO SI NO VERIFICACIÓN LÓGICA SIMULA LA REALIDAD NO SI ANÁLISIS FINAL DE LOS RESULTADOS PROGRAMA DE EXPERIMENTACIÓN CONCLUSIONES Y RECOMENDACIONES REALIZACIÓN DE EXPERIMENTOS ANÁLISIS E INTERPRETACIÓN REFORMULACIÓN DE EXPERIMENTOS INFORME FINAL FIN DE EXPERIMENTACIÓN SI NO RAD/99
DEFINICIÓN DEL PROBLEMA ANÁLISIS DEL SISTEMA LEVANTAMIENTO DE INFORMACIÓN CONCEPTUALIZACIÓN DEL MODELO ANÁLISIS ESTAD. DE INFORMACIÓN PROGRAMACIÓN DEL MODELO NO INFORMACIÓN SUFICIENTE SI VALIDACIÓN DEL MODELO SI NO VERIFICACIÓN LÓGICA SIMULA LA REALIDAD NO SI ANÁLISIS FINAL DE LOS RESULTADOS PROGRAMA DE EXPERIMENTACIÓN CONCLUSIONES Y RECOMENDACIONES REALIZACIÓN DE EXPERIMENTOS ANÁLISIS E INTERPRETACIÓN REFORMULACIÓN DE EXPERIMENTOS INFORME FINAL FIN DE EXPERIMENTACIÓN SI NO 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
Errores debidos al desarrollo del modelo 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. 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 modelaje de 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
Simulación de Sistemas de Eventos Discretos RAD/99
Simulación “Manual” Un Servidor, una Cola RAD/99
Simulación “Manual” Un Servidor, una Cola RAD/99
Instantes de llegada y tiempos de servicio de los primeros 10 clientes Simulación “Manual” Datos Instantes de llegada y tiempos de servicio de los primeros 10 clientes RAD/99
Simulación “Manual” Interacción RAD/99
Tiempo en cola y tiempo en el sistema de los primeros 10 clientes Simulación “Manual” Interacción Tiempo en cola y tiempo en el sistema de los primeros 10 clientes RAD/99
Simulación “Manual” Eventos RAD/99
Clientes en cola, en el sistema y estado del servidor Simulación “Manual” Eventos Clientes en cola, en el sistema y estado del servidor RAD/99
Simulación “Manual” Gráficas TIEMPO N° DE CLIENTES 1 2 3 4 8 12 16 ESTADO DEL SERVIDOR 2 1 4 8 12 16 TIEMPO RAD/99
Simulación “Manual” “A continuación se presentan los algoritmos que permiten mecanizar la simulación manual anterior y llevar el proceso al computador” RAD/99
Simulación “Manual” Programa principal NO SI MAIN LEER DATOS DEL PROBLEMA INICIALIZAR LA SIMULACIÓN MOVER EL RELOJ HASTA EL PRÓXIMO EVENTO A OCURRIR EJECUTAR PRÓXIMO EVENTO NO SI FINAL DE LA SIMULACIÓN TS = TFINAL RAD/99
Simulación “Manual” Inicialización INICIALIZAR LA SIMULACIÓN COLOCAR VARIABLES EN CERO GENERAR PRIMERA LLEGADA RETORNAR EL CONTROL RAD/99
Simulación “Manual” Eventos futuros I GENERAR PRIMERA LLEGADA DEFINIR MATRIZ DE EVENTOS FUTUROS (MEF) MEF(1,1) = FINAL DE LA SIMULACIÓN MEF(1,2) = TIPO DE EVENTO = 1 MEF(2,1) = INSTANTE DE LA 1A LLEGADA MEF(2,2) = TIPO DE EVENTO = 2 ORDENAR MEF(I,J) EN FUNCIÓN DEL EVENTO MÁS PRÓXIMO RETORNAR EL CONTROL RAD/99
Simulación “Manual” Llegada de un usuario NO SI EVENTO TIPO 2: LLEGADA DE UN USUARIO NSISTEMA=NSISTEMA+1 NO SI SERVIDOR=1 SERVIDOR=1 COLA=COLA+1 GENERAR FIN DE SERVICIO GENERAR PROXIMA LLEGADA RETORNAR EL CONTROL RAD/99
Simulación “Manual” Eventos futuros II 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 ORDENAR MEF(I,J) EN FUNCIÓN DEL EVENTO MÁS PRÓXIMO RETORNAR EL CONTROL RAD/99
Simulación “Manual” Fin de un Servicio SI NO EVENTO TIPO 3: FIN DE UN SERVICIO NSISTEMA=NSISTEMA-1 SI NO COLA>0 COLA=COLA-1 SERVIDOR=0 GENERAR FIN DE SERVICIO RETORNAR EL CONTROL RAD/99
Simulación “Manual” Eventos futuros III 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 ORDENAR MEF(I,J) EN FUNCIÓN DEL EVENTO MÁS PRÓXIMO RETORNAR EL CONTROL RAD/99
Simulación “Manual” Fin de Simulación EVENTO TIPO 1: FIN DE LA SIMULACIÓN REALIZAR CÁLCULOS ESTADÍSTICOS IMPRIMIR INFORME ESTADÍSTICO TERMINAR EL PROGRAMA RAD/99
Simulación “Manual” Un Servidor, una Cola 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 RAD/99
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
Instantes de llegada de los primeros 10 compradores Simulación “Manual” Datos Instantes de llegada de los primeros 10 compradores RAD/99
Simulación “Manual” Interacción RAD/99
Tiempo en el sistema de los primeros 10 compradores Simulación “Manual” Interacción Tiempo en el sistema de los primeros 10 compradores RAD/99
Simulación “Manual” Eventos RAD/99
Simulación “Manual” Eventos Nivel del Inventario y Compradores en el Sistema RAD/99
Simulación “Manual” Inicialización INICIO NIVEL=5 COLOCAR OTRAS VARIABLES EN CERO GENERAR PRIMERA LLEGADA GENERAR PRIMERA REVISIÓN RETORNAR EL CONTROL RAD/99
Simulación “Manual” Lógica NO NO SI SI LLEGADA DE UN USUARIO NSISTEMA=NSISTEMA+1 NO NO SI SERVIDOR=1 NIVEL=0 SI SERVIDOR=1 COLA=COLA+1 GENERAR FIN DE SERVICIO GENERAR PROXIMA LLEGADA RETORNAR EL CONTROL RAD/99
GENERAR FIN DE SERVICIO Simulación “Manual” Lógica FIN DE UN SERVICIO NIVEL=NIVEL-1 NSISTEMA=NSISTEMA-1 NO SI NO NIVEL>0 COLA>0 SI COLA=COLA-1 SERVIDOR=0 NIVEL=NIVEL-1 GENERAR FIN DE SERVICIO RETORNAR EL CONTROL RAD/99
Simulación “Manual” Lógica NO SI SI SI NO NO REVISIÓN DEL INVENTARIO NIVEL<5 COLA=COLA-1 NIVEL=5 SERVIDOR=1 SI SI SERVIDOR=0 COLA>0 NIVEL=NIVEL-1 NO GENERAR FIN DE SERVICIO NO GENERAR PRÓXIMA REVISIÓN RETORNAR EL CONTROL RAD/99
Simulación “Manual” ASIGNACIÓN N° 1 RAD/99