06A. SimulaciónDeSistemasDinamicos

Anuncio
1. SIMULACIÓN DE SISTEMAS DINÁMICOS
Jorge Eduardo Ortiz Triviño
Profesor Asociado
Departamento de Ingeniería de Sistemas e Industrial
Universidad Nacional de Colombia
jeortizt@unal.edu.co
1.1 SIMULACIÓN DE EVENTOS DISCRETOS
Un esquema general para abordar cualquier problema de simulación se puede esquematizar
implementando el siguiente conjunto de algoritmos que parten de la idea de eventos
discretos. Un evento es un acontecimiento que ocurre en algún instante en el tiempo (de
simulación) y que cambia el estado del sistema. La Figura 1—1 representa esa visión.
e1
e0
e2
e 3 e4
Tiempo
Figura 1—1: Relación entre tiempo y eventos.
El primer algoritmo importante es el de inicialización, cuya estructura se muestra en el
Algoritmo 1—1. Su propósito es colocar los niveles iniciales de todo el conjunto de
variables que participan en la simulación.
PROCEDIMIENTO INICIALIZACIÓN   Argumentos 
INICIO
T  ValoresInicialesTiempoEspacio;
X  ValoresInicialesEstudioSistema;
  ValoresInicialesCaracteristicasSistema;
  ValoresInicialesParametrosSistema;
L  ValoresInicialesListaEventos; // Se emplea función percentil
FIN _ PROCEDIMIENTO _ INICIALIZACIÓN
Algoritmo 1—1: Procedimiento de inicialización.
1
Otra función importante dentro del esquema general del simulador lo constituye el manejo
del tiempo espacio. En un sentido general es un procedimiento cuya finalidad es manejar el
reloj de la simulación. Su estructura lógica se muestra en el Algoritmo 1—2.
FUNCION ManejoTiempoEspacio   Argumentos 
INICIO


k *  k L  k   min L  

// Próximo evento
T  L  k * ; // Actualizar el Tiempo Espacio : " Reloj "
RETORNAR(k *);
FIN _ FUNCION _ ManejoTiempoEspacio
Algoritmo 1—2: Función para manejar el tiempo y el espacio del simulador.
De forma similar, por cada tipo de evento que presente el sistema a simular, debe incluirse
una función que se encargue de actualizar adecuadamente el conjunto de variables de
estado y de características del sistema. Esa labor la desarrolla el Algoritmo 1—3.
FUNCIÓN EVENTO _ i   Argumentos 
INICIO
X   ActualizarEstudioSistema;
   ActualizarCalculoCaracteristicas;
L   ActualizarListaEventos; // Usar Funciones Percentiles
FIN _ FUNCIÓN _ EVENTO _ i
Algoritmo 1—3: Estructura general del evento i.
La aplicación práctica del teorema fundamental de la simulación, presentado en la sección
anterior se lleva a cabo en el Algoritmo 1—4.
FUNCIÓN PercentilContinuaGeneral   ParámetrosPoblacionales 
INICIO
u  Aleatorio(•);
x  Fx1  u  ;
RETORNAR( x);
FIN _ FUNCIÓN _ PercentilContinuaGeneral
Algoritmo 1—4: Implementación de una función percentil.
2
Finalmente se debe ejecutar un procedimiento que muestre los reportes de las estadísticas
finales que muestre los resultados de la simulación. Esta tarea la realiza el Algoritmo 1—5.
PROCEDIMIENTO GeneradorReporte   Argumentos 
INICIO
  CalculoFinalDeCaracteristicas;
ESCRIBIR   ;
FIN _ PROCEDIMIENTO _ GeneradorReporte
Algoritmo 1—5: Procedimiento de reporte de la simulación.
El
Algoritmo 1—6 tiene la misión de dirigir el llamado de todas las funciones y
procedimientos descritas anteriormente. Esa ejecución debe hacerse de manera ordenada y
sistemática y a su debido momento. Esa es la labor de este procedimiento principal, que se
describe en el Algoritmo 1—6.
FUNCION SimuladorPrincipal   Argumentos  
INICIO
CodError  0;
Inicializacion   Argumentos  
MIENTRAS   NohayaCondicionTerminacion, , CodError  0  HACER
INICIO
i  ManejoTiempoEspacio   Argumentos  ;
SELECCIONAR  i  DE
INICIO
CASO 1: Evento _1  Argumentos   ;
CASO 2 : Evento _ 2   Argumentos   ;
CASO i : Evento _ i   Argumentos   ;
CASO m : Evento _ m   Argumentos   ;
FIN _ SELECCIONAR
FIN _ MIENTRAS
GeneradorReporte   Argumentos  ;
FIN _ SimuladorPrincipal
Algoritmo 1—6: Estructura general de un simulador para sistemas dinámicos.
3
Descargar