Sie sind auf Seite 1von 10

1

INDICE
Lenguajes de simulacin
4.1 Lenguaje de simulacin y simuladores
4.2 Aprendizaje y uso del lenguaje de simulacin o un simulador
4.3 Casos prcticos de simulacin
4.3.1 Problemas con lneas de espera
4.3.2 Problemas con sistemas de inventario
4.4 Validacin de un simulador
4.4.1 Pruebas paramtricas (Validacin del modelo, pruebas de hiptesis y
pruebas de estimacin).
4.4.2 Pruebas no paramtricas

LENGUAJE DE SIMULACION Y SIMULADORES


4.1 Lenguaje de simulacin y simuladores
En un principio, los programas de simulacin se elaboraban utilizando algn lenguaje de
propsito general, como ASSEMBLER, FORTRAN, ALGOL o PL/I. A partir de la dcada
de 1960 hacen su aparicin los lenguajes especficos para simulacin como GPSS,
GASP, SIMSCRIPT, SLAM. En la ltima dcada del siglo pasado la aparicin de las
interfaces grficas revolucionaron el campo de las aplicaciones en esta rea, y
ocasionaron el nacimiento de los simuladores.
En lo prctico, es importante utilizar la aplicacin que mejor se adece al tipo de sistema
a simular, ya que de la seleccin del lenguaje o simulador depender el tiempo de
desarrollo del modelo de simulacin. Las opciones van desde las hojas de clculo,
lenguajes de tipo general (como Visual Basic, C++ o Fortan), lenguajes especficos de
simulacin (como GPSS, SLAM, SIMAN, SIMSCRIPT, GAS y SSED), hasta simuladores
especficamente desarrollados para diferentes objetivos (como SIMPROCESS, ProModel,
Witness,
Taylor
II
y
Cristal
Ball).

4.2 Aprendizaje y uso del lenguaje de simulacin o un simulador


Los lenguajes de simulacin facilitan enormemente el desarrollo y ejecucin de
simulaciones de sistemas complejos del mundo real. Los lenguajes de simulacin son
similares a los lenguajes de programacin de alto nivel pero estn especialmente
preparados para determinadas aplicaciones de la simulacin. As suelen venir
acompaados de una metodologa de programacin apoyada por un sistema de smbolos
propios para la descripcin del modelo por ejemplo mediante diagramas de flujo u otras
herramientas que simplifican notablemente la modelizacin y facilitan la posterior
depuracin del modelo.
Caractersticas de los lenguajes de simulacin:

Los lenguajes de simulacin proporcionan automticamente las caractersticas


necesarias para la programacin de un modelo de simulacin, lo que redunda en una
reduccin significativa del esfuerzo requerido para programar el modelo.
Proporcionan un marco de trabajo natural para el uso de modelos de simulacin.
Los bloques bsicos de construccin del lenguaje son mucho ms afines a los propsitos
de la simulacin que los de un lenguaje de tipo general.
Los modelos de simulacin son mucho ms fcilmente modificables.
Proporcionan muchos de ellos una asignacin dinmica de memoria durante la
ejecucin,.
Facilitan una mejor deteccin de los errores.
Los paquetes de software especialmente diseados para simulacin contienen
aplicaciones diversas que facilitan al simulador las tareas de comunicaciones, la
depuracin de errores sintcticos y de otro tipo de errores, la generacin de escenarios, la
manipulacin on-line de los modelos, etc.
3

Son muy conocidos y en uso actualmente


Aprendizaje lleva cierto tiempo
Simuladores de alto nivel
Muy fciles de usar por su interface grfica
Restringidos a las reas de manufactura y comunicaciones
Flexibilidad restringida puede afectar la validez del modelo
Entre estos lenguajes especficos podemos nombrar los siguientes: MIDAS, DYSAC,
DSL , GASP, MIMIC, DYNAMO, GPSS, SIMULA, CSSL( Continuous System Simulation
Language) , CSMP, ACSL ( Advanced Conrinuous Simulation Language), DARE-P and
DARE-Interactive, C-Simscript, SLAM, SIMAN, SIMNON, SIMSCRIPT-II-5, ADA, GASP IV,
SDL.
Muchos de estos lenguajes dependen fuertemente de los lenguajes de propsito general
como es el caso de SLAM o SIMAN que dependen de Fortran para las subrutinas.
Por otro lado, el GPSS es un caso especial de un lenguaje de simulacin de propsito
especial, altamente estructurado que esta orientado a la transaccin, un caso especial de
una orientacin basada en procesos ms general. El GPSS fue diseado para la
simulacin simple de sistemas de colas tales como trabajos de taller. A diferencia de los
otros lenguajes de simulacin, GPSS tiene varias implementaciones incluyendo GPSS/H y
GPSS/PC, ambos de los cuales sern discutidos mas adelante. El SIMAN V, SIMSCRIPT
II.5, y el SLAM son lenguajes de simulacin de alto nivel que tienen constructor
especialmente diseados para facilitar la construccin de modelos. Estos lenguajes
proveen al analista de simulacin con una opcin orientacin basada en procesos o
basada en eventos, o un modelo usando una mezcla de las dos orientaciones. A
diferencia del FORTRAN, estos tres lenguajes proveen la administracin de la lista de
eventos futuros, generador interno de variables aleatorias, y rutinas internas para la
obtencin de estadsticas (estas caractersticas para las implementaciones del GPSS
mencionadas previamente.) Se pueden lograr calculo complejos en ambas
implementaciones del GPSS y estos tres lenguajes. El SIMAN, SIMSCRIPT II.5, y el
SLAMSYSTEM proveen la capacidad de realizar simulacin continua ( esto es, para
modelar sistemas que tengan continuamente cambios en sus variables de estado) pero
este tema no esta dentro del alance de este libro.
El SIMAN esta escrito en C, aunque las primeras versiones del lenguaje fue escrito en
FORTRAN.

4.3 Casos prcticos de simulacin


Un caso practico de una simulacin podemos decir en esta parte, la simulacin del
Mtodo de Monte Carlo.
Algoritmos
El algoritmo de Simulacin Monte Carlo Crudo o Puro est fundamentado en la
generacin de nmeros aleatorios por el mtodo de Transformacin Inversa, el cual se
basa en las distribuciones acumuladas de frecuencias:

Determinar la/s V.A. y sus distribuciones acumuladas(F)


Generar un nmero aleatorio uniforme (0,1).
4

Determinar el valor de la V.A. para el nmero aleatorio generado de acuerdo a las


clases que tengamos.
Calcular media, desviacin estndar error y realizar el histograma.
Analizar resultados para distintos tamaos de muestra.

Otra opcin para trabajar con Monte Carlo, cuando la variable aleatoria no es
directamente el resultado de la simulacin o tenemos relaciones entre variables es la
siguiente:

Disear el modelo lgico de decisin


Especificar distribuciones de probabilidad para las variables aleatorias relevantes Incluir
posibles dependencias entre variables.

Muestrear valores de las variables aleatorias.Calcular el resultado del modelo segn los
valores del muestreo (iteracin) y registrar el resultado
Repetir el proceso hasta tener una muestra estadsticamente representativa
Obtener la distribucin de frecuencias del resultado de las iteraciones
Calcular media, desvo.
Analizar los resultados
Las principales caractersticas a tener en cuenta para la implementacin o utilizacin del
algoritmo son:
El sistema debe ser descripto por 1 o ms funciones de distribucin de probabilidad
(fdp)
Generador de nmeros aleatorios: como se generan los nmeros aleatorios es
importante para evitar que se produzca correlacin entre los valores mustrales.
Establecer lmites y reglas de muestreo para las fdp: conocemos que valores pueden
adoptar las variables.
Definir Scoring: Cuando un valor aleatorio tiene o no sentido para el modelo a simular.
Estimacin Error: Con que error trabajamos, cuanto error podemos aceptar para que
una corrida sea vlida.
Tcnicas de reduccin de varianza.

Paralelizacin y vectorizacin: En aplicaciones con muchas variables se estudia


trabajar con varios procesadores paralelos para realizar la simulacin.

EJEMPLO PRACTICO I
Tenemos la siguiente distribucin de probabilidades para una demanda aleatoria y
queremos ver que sucede con el promedio de la demanda en varias iteraciones:

Fig.1 Grafica de distribucin


Utilizando la distribucin acumulada(F(x) es la probabilidad que la variable aleatoria tome
valores menores o iguales a x) podemos determinar cual es el valor obtenido de unidades
cuando se genera un nmero aleatorio a partir de una distribucin continua uniforme. Este
mtodo de generacin de variable aleatoria se llama Transformacin Inversa.

Fig.2 Tabla de valores aleatorios de la


transformacin inversa

Generando los valores aleatorios vamos a ver como se obtiene el valor de la demanda
para cada da, interesndonos en este caso como es el orden de aparicin de los valores.
Se busca el nmero aleatorio generado en la tabla de probabilidades acumuladas, una
vez encontrado ( si no es el valor exacto, ste debe se menor que el de la fila
seleccionada pero mayor que el de la fila anterior), de esa fila tomada como solucin se
toma el valor de las unidades (Cuando trabajamos en Excel debemos tomar el lmite
inferior del intervalo para busca en las acumuladas, para poder emplear la funcin
6

BUSCARV(), para 42 sera 0, para 43 0,100001 y as sucesivamente). Ejemplo:


Supongamos que el nmero aleatorio generado sea 0,52, a qu valor de unidades

Fig.3 Grafica de valor de la demanda para cada da y tabla de valores


aleatoritos

corresponde? Nos fijamos en la columna de frecuencias acumuladas, ese valor exacto no


aparece, el siguiente mayor es 0,70 y corresponde a 48 unidades. Se puede apreciar
mejor en el grfico, trazando una recta desde el eje de la frecuencia hasta que intersecta
con la lnea de la funcin acumulada, luego se baja a la coordenada de unidades y se
obtiene el valor correspondiente; en este caso 48.
Cuando trabajamos con variables discretas la funcin acumulada tiene un intervalo o salto
para cada variable( para casos prcticos hay que definir los intervalos y luego con una
funcin de bsqueda hallar el valor). Para funciones continuas se puede hallar la inversa
de la funcin acumulada. De esta forma logramos a partir de la distribucin de densidad
calcular los valores de la variable aleatoria dada.

7
Fig.4 En la siguiente tabla, vemos como a medida que aumenta el numero
de simulaciones, el valor simulado se acerca al valor original de la media y
desviacin estndar, adems de la disminucin del error tpico.

4.3.1 Problemas con lneas de espera


Simulacin de una lnea de espera con una fila y un servidor
Un sistema de colas estar definido cuando tengamos la siguiente informacin acerca de
este:
Distribucin de probabilidad de los tiempos de servicio
Distribucin de probabilidad de los tiempos entre llegadas
Numero de servidores
Numero de filas
Conexiones entre servidores y filas
Disciplinas y restricciones de los servidores y filas (en caso de que existan)
Para este primer ejemplo se utilizara el modelo de lneas de espera que se muestra en la
figura siguiente. Como se puede apreciar, es un modelo bastante simple donde la
disciplina de atencin es FIFO (primero en llegar, primero en salir).

Fig.5 Modelo de lneas, como se puede


apreciar, es un modelo bastante simple donde
la disciplina de atencin es FIFO (primero en
llegar, primero en salir).

4.4 Validacin de un simulador


Los programas de simulacin pueden ser aplicados en diversos mbitos, por ejemplo, en
el de la educacin, la forma de ensear est cambiando, y ya sea a travs de casos
prcticos que complementen las clases magistrales o de simuladores de gestin, pocos
son ya los departamentos que no hayan incorporado alguna herramienta de mejora de la
formacin. Ambos mtodos tienen ventajas y desventajas pero un simulador de calidad
permite una mayor visin global de una organizacin compleja que incorpora todas las
8

grandes reas funcionales, mayor interactuacin ya que permite a las empresas


simuladas competir entre ellas creando un verdadero entorno competitivo, y una mejora
notable en la capacidad para tomar decisiones.
Para validar un simulador es establecer el grado de exactitud que tienen los datos
entregados por este al constratarlos con resultados conocidos del sistema real, para
conculuir si el simulador representa bien el sistema real o no, o bien en que grado lo
representa.

4.4.1 Pruebas paramtricas (Validacin del modelo, pruebas de hiptesis y


pruebas de estimacin).
Validacin del modelo
Etapas en el desarrollo de un simulador.
Recordemos que las etapas nombradas para desarrollar un simulador son:
1) Identificacin del problema
2) Delimitacin del sistema
3) Formulacin del modelo
4) Preparacin de datos
5) Construccin del modelo
6) Validacin
7) Diseo de experimentos
8) Ejecucin de experimentos
9) Interpretacin (Inferencia)
10) Documentacin

4.4.2 Pruebas no paramtricas


Al tomar la decisin con respecto a la hiptesis nula, se debe determinar el valor crtico en
la distribucin estadstica que divide la regin del rechazo (en la cual la hiptesis nula no
se puede rechazar) de la regin de rechazo. A hora bien el valor crtico depende del
tamao de la regin de rechazo.
PASOS DE LA PRUEBA DE HIPTESIS
1. Expresar la hiptesis nula
2. Expresar la hiptesis alternativa
3. Especificar el nivel de significancia
4. Determinar el tamao de la muestra
5. Establecer los valores crticos que establecen las regiones de rechazo de las de no
rechazo.
6. Determinar la prueba estadstica.
7. Coleccionar los datos y calcular el valor de la muestra de la prueba estadstica
apropiada.
8. Determinar si la prueba estadstica ha sido en la zona de rechazo a una de no rechazo.
9. Determinar la decisin estadstica.
10 Expresar la decisin estadstica en trminos del problema.
Errores de tipo I y de tipo II.
9

Si rechazamos una hiptesis cuando debiera ser aceptada, diremos que se ha cometido
un error de tipo I. Por otra parte, si aceptamos una hiptesis que debiera ser rechazada,
diremos que se cometi un error de tipo II. En ambos casos, se ha producido un juicio
errneo.
Para que las reglas de decisin (o no contraste de hiptesis) sean buenos, deben
disearse de modo que minimicen los errores de la decisin; y no es una cuestin
sencilla, porque para cualquier tamao de la muestra, un intento de disminuir un tipo de
error suele ir acompaado de un crecimiento del otro tipo. En la prctica, un tipo de error
puede ser ms grave que el otro, y debe alcanzarse un compromiso que disminuya el
error ms grave. La nica forma de disminuir ambos a la vez es aumentar el tamao de la
muestra que no siempre es posible.

10

Das könnte Ihnen auch gefallen