SlideShare una empresa de Scribd logo
1 de 6
LENGUAJE DE SIMULACION Y SIMULADORES 
En un principio, los programas de simulación se elaboraban utilizando algún 
lenguaje de propósito general, como ASSEMBLER, FORTRAN, ALGOL o PL/I. 
A partir de la década de 1960 hacen su aparición los lenguajes específicos para 
simulación como GPSS, GASP, SIMSCRIPT, SLAM. En la última década del 
siglo pasado la aparición de las interfaces gráficas revolucionaron el campo de 
las aplicaciones en esta área, y ocasionaron el nacimiento de los simuladores. 
En lo práctico, es importante utilizar la aplicación que mejor se adecúe al tipo de 
sistema a simular, ya que de la selección del lenguaje o simulador dependerá el 
tiempo de desarrollo del modelo de simulación. Las opciones van desde las hojas 
de cálculo, lenguajes de tipo general (como Visual Basic, C++ o Fortan), 
lenguajes específicos de simulación (como GPSS, SLAM, SIMAN, SIMSCRIPT, 
GAS y SSED), hasta simuladores específicamente desarrollados para diferentes 
objetivos (como SIMPROCESS, ProModel, Witness, Taylor II y Cristal Ball). 
APRENDIZAJE Y USO LENGUAJE DE SIMULACIÓNO SIMULADOR 
Los lenguajes de simulación facilitan enormemente el desarrollo y ejecución de 
simulaciones de sistemas complejos del mundo real. Los lenguajes de 
simulación son similares a los lenguajes de programación de alto nivel pero están 
especialmente preparad os para determinadas aplicaciones de la simulación. Así 
suelen venir acompañados de una metodología de programación apoyada por 
un sistema de símbolos propios para la descripción del modelo por ejemplo 
mediante diagramas de flujo u otras herramientas que simplifican notablemente 
la modelización y facilitan la posterior depuración del modelo. 
Características de los lenguajes de simulación: 
 Los lenguajes de simulación proporcionan automáticamente las 
características necesarias para la programación de un modelo de 
simulación, lo que redunda en una reducción significativa del esfuerzo 
requerido para programar el modelo. 
 Proporcionan un marco de trabajo natural para el uso de modelos de 
simulación. Los bloques básicos de construcción del lenguaje son mucho 
más afines a los propósitos de la simulación que los de un lenguaje de 
tipo general. 
 Los modelos de simulación son mucho más fácilmente modificables. 
 Proporcionan muchos de ellos una asignación dinámica de memoria 
durante la ejecución Facilitan una mejor detección de los errores. 
 Los paquetes de software especialmente diseñados para simulación 
contienen aplicaciones diversas que facilitan al simulador las tareas de 
comunicaciones, la depuración de errores sintácticos y de otro tipo de 
errores, la generación de escenarios, la manipulación “on-line” de los 
modelos, etc. 
 Son muy conocidos y en uso actualmente
 Aprendizaje lleva cierto tiempo 
 Simuladores de alto nivel 
 Muy fáciles de usar por su interface gráfica 
 Restringidos a las áreas de manufactura y comunicaciones 
 Flexibilidad restringida puede afectar la validez del modelo 
CASOS PRACTICOS DE SIMULACIÓN 
Un caso práctico de una simulación podemos decir en esta parte, la simulación 
del Método de Monte Carlo. 
ALGORITMOS 
El algoritmo de Simulación Monte Carlo Crudo o Puro está fundamentado en la 
generación de números aleatorios por el método de Transformación Inversa, el 
cual se basa en las distribuciones acumuladas de frecuencias: 
 Determinar la/s V.A. y sus distribuciones acumuladas(F) 
 Generar un número aleatorio uniforme Î (0,1). 
 Determinar el valor de la V.A. para el número aleatorio generado de 
acuerdo a las clases que tengamos. 
 Calcular media, desviación estándar error y realizar el histograma. 
 Analizar resultados para distintos tamaños de muestra. 
EJEMPLO PRACTICO I 
Tenemos la siguiente distribución de probabilidades para una demanda aleatoria 
y queremos ver qué sucede con el promedio de la demanda en varias 
iteraciones: 
Utilizando la distribución acumulada (F(x) es la probabilidad que la variable 
aleatoria tome valores menores o iguales a x) podemos determinar cuál es el 
valor obtenido de unidades cuando se genera un número aleatorio a partir de 
una distribución continua uniforme. Este método de generación de variable 
aleatoria se llama Transformación Inversa. 
Generando los valores aleatorios vamos a ver como se obtiene el valor de la 
demanda para cada día, interesándonos en este caso como es el orden de 
aparición de los valores. Se busca el número aleatorio generado en la tabla de 
probabilidades acumuladas, una vez encontrado (si no es el valor exacto, éste 
debe ser menor que el de la fila seleccionada pero mayor que el de la fila 
anterior), de esa fila tomada como solución se toma el valor de las unidades 
(Cuando trabajamos en Excel debemos tomar el límite inferior del intervalo para 
busca en las acumuladas, para poder emplear la función BUSCARV (), para 42 
sería 0, para 43 0,100001 y así sucesivamente). Ejemplo: Supongamos que el 
número aleatorio generado sea 0,52, ¿a qué valor de unidades 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 gráfico, trazando una recta desde el eje de la frecuencia 
hasta que intersecta con la línea de la función 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 función acumulada tiene un 
intervalo o salto para cada variable (para casos prácticos hay que definir los 
intervalos y luego con una función de búsqueda hallar el valor). Para funciones 
continuas se puede hallar la inversa de la función acumulada. De esta forma 
logramos a partir de la distribución de densidad calcular los valores de 
La variable aleatoria dada. 
En la siguiente tabla, vemos como a medida que aumenta el número de 
simulaciones, el valor simulado se acerca al valor original de la media y 
desviación estándar, además de la disminución del error típico. 
PROBLEMAS CON LINEA DE ESPERA 
Simulación de una línea de espera con una fila y un servidor 
Un sistema de colas estara definido cuando tengamos la siguiente informacion 
acerca de este: 
 Distribucion de probabilidad de los tiempos de servicio 
 Distribucion 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 lineas de espera que se 
muestra en la figura siguiente. Como se puede apreciar, es un modelo bastante 
simple donde la disciplina de atención es FIFO (primero en llegar, primero en 
salir). 
Tanto el tiempo de servicio como el tiempo entre llegadas siguen una 
distribucion exponencial aunque con parametros diferentes, para el caso del 
tiempo entre llegadas tenemos λ=15 y para el tiempo de servicio tenemos 
λ=10. 
Aplicando el metodo de la transformada inversa a la distribucion exponencial 
(consultar Dyner etc. al, 2008), tenemos que: 
Donde corresponde a una observación de una variable exponecial, _ es un 
numero aleatorio entre cero y uno y λ es la media de la distribucion. Para la 
implementacion del sistema descrito en Excel, abra una nueva hoja de calculo 
y configurela como se muestra en la figura.
En la celda B8 escriba la formula =ALEATORIO() y arrastre hasta la celda B23. 
Repita este procedimiento para la columna G. En el paso anterior, se definio los 
numeros aleatorios a partir de los cuales se generaran las observaciones de 
variables aleatorias de la simulacion. 
Ahora, en la celda C8 escribe la formula =-LN(1-B8)/$B$4, y arrastre hasta la 
celda C23. 
Como se puede apreciar, esta es la formula descrita anteriormente para 
obtener observaciones de una variable exponencial. En este caso, se estan 
generando observaciones para la variable aleatoria de tiempos entre llegadas. 
En la celda D8 escribe la formula =C8, lo anterior significa que como es la 
primera llegada al sistema, su tiempo de llegada (en el instante de tiempo en el 
que llego al sistema), sera igual a su tiempo entre llegadas. Sin embargo, para 
la celda D9 la formula correspondiente es =C9+D8, ahora arrastre la fórmula de 
D9 hasta D23; esta fórmula significa que despues de que llega el primer cliente, 
el instante de tiempo en el que cualquier otro cliente llega al sistema sera el 
instante de tiempo en el que entro el penúltimocliente sumado el tiempo entre 
llegadas del último cliente, es decir, si el penultimo cliente entro al sistema en el 
instante t=4, y el tiempo entre llegadas del ultimo cliente es dt=2, entonces este 
último cliente entrara realmente al sistema en t=6. 
La fórmula correspondiente a la celda E8 es =D8, esto significa que, al ser 
primer cliente, el instante en el que llega al sistema sera el mismo instante en el 
que comienza el servicio; más adelante se presenta las formulas 
correspondientes al resto de clientes del sistema en esta columna. Ahora en la 
celda F8 escriba la formula =E8-D8 y arrastrela hasta la celda F23, esto 
corresponde al tiempo de espera del cliente antes de comenzar a ser atendido, 
note que D8 nunca sera mayor que E8 ya que el valor minimo que puede tomar 
el tiempo de comienzo del servicio es el tiempo de llegada, es decir, cuando un 
cliente llega al sistema y no tiene que hacer fila. 
En la celda H8 escribe la formula =-LN (1-G7)/$B$5, y arrastre la hasta la celda 
H23, esta fórmula indica cuanto tiempo tardara el servidor atendiendo al cliente 
actual. Ahora en la celda I8 escriba la formula =E8+H8, esta fórmula indica el 
instante de tiempo en el que servidor termina de atender al cliente actual y 
corresponde a la suma entre el instante que comienza el servicio y la cantidad 
de tiempo que este toma. 
Retomemos ahora la columna E, nótese que esta solo está definida en su 
posición E8, esto porque primero se requería definir otros valores antes de 
poder determinar el instante en el que empieza realmente el servicio. En un 
sistema como el aquí presentado se pueden tener dos casos para el tiempo de 
comienzo del servicio, en primer lugar puede que el servidor se encuentre 
desocupado, en este caso el tiempo de comienzo del servicio será igual al 
tiempo de llegada al sistema y no habrá tiempo de espera. Sin embargo, si el 
servidor se encuentra ocupado, el tiempo de comienzo del servicio será igual al 
máximo entre el instante en que el servidor termine de atender al cliente actual 
y el tiempo de llegada al sistema; por si el tiempo de fin del servicio del cliente 
actual es igual a tfs=12 pero el tiempo de llegada del próximo cliente es tll=14, 
el tiempo de comienzo del servicio del proximo cliente será t=14 y el servidor 
tendra un ocio dt=2; por otro lado, si tfs=13 para el cliente actual y el proximo 
cliente tiene un tll=10, el servidor no tendra ocio y el proximo cliente deberá 
esperar un intervalo de tiempo dt=3. De lo anterior se concluye que la fórmula
para la celda E9 debe ser =MAX (D9;I8), ahora arrastre esta fórmula hasta la 
celda E23. 
Hasta este punto se tiene una simulacion de un sistema de líneas de espera 
con una fila y un servidor, si se desea generar nuevas observaciones presione 
la tecla F9; como tarea al lector se deja el cálculo de: 
• Tiempo promedio en el sistema 
• Tiempo promedio de espera (sin incluir ceros) 
• Tiempo promedio de espera (incluyendo ceros) 
• Tiempo promedio de servicio 
• Tiempo promedio de ocio 
Adicionalmente se plantea al lector elaborar, una simulacion en Excel que 
represente el sistema que se muestra en la figura siguiente, donde p es la 
probabilidad de que un cliente se dirija a S1 o a S2. Tanto el tiempo entre 
llegadas como los tiempos de servicio, se distribuyen exponencial con los 
parámetros que se muestran a continuación. 
Tiempo entre llegadas: λ=8 
Tiempo de servicio S1: λ=13 
Tiempo de servicio S2: λ=18 
Probabilidad p: 0.63
EJEMPLO DE UN CASO DE SIMULACION 
https://www.youtube.com/watch?v=FGgKyKAdIBE

Más contenido relacionado

La actualidad más candente

Programa para calcular valores de resistencias
Programa para calcular valores de resistenciasPrograma para calcular valores de resistencias
Programa para calcular valores de resistencias
Ulises Hernandez
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
marigelcontreras
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
Gabriel Romero
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
Ronal Palomino
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
Eloy Rodriguez
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
Grisell d?z
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionales
laryenso
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
Johanna Marin
 

La actualidad más candente (20)

Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
Programa para calcular valores de resistencias
Programa para calcular valores de resistenciasPrograma para calcular valores de resistencias
Programa para calcular valores de resistencias
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010
 
Escuela
EscuelaEscuela
Escuela
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicas
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Ejercicios MATLAB
Ejercicios MATLABEjercicios MATLAB
Ejercicios MATLAB
 
Elemento3
Elemento3Elemento3
Elemento3
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Solución de Problemas de Ingeniería con MATLAB
Solución de Problemas de Ingeniería con MATLABSolución de Problemas de Ingeniería con MATLAB
Solución de Problemas de Ingeniería con MATLAB
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionales
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Lenguaje c sintaxis
Lenguaje c sintaxisLenguaje c sintaxis
Lenguaje c sintaxis
 
Clase 5
Clase 5Clase 5
Clase 5
 

Similar a Lenguaje de simulacion

Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
Jorgitop15
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
Jorgitop15
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
Ysaac Ruiz
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlab
Nar Dy
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clase
tammyrodriguez2010
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacional
mnllorente
 
Tutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdTutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfd
jvtoro
 
5. Diseño de un algoritmo
5. Diseño de un algoritmo5. Diseño de un algoritmo
5. Diseño de un algoritmo
rcarrerah
 

Similar a Lenguaje de simulacion (20)

Compilador para calcular el área de figuras Triangulo, Cuadrado y Rectángulo.
Compilador para calcular el área de figuras Triangulo, Cuadrado y Rectángulo.Compilador para calcular el área de figuras Triangulo, Cuadrado y Rectángulo.
Compilador para calcular el área de figuras Triangulo, Cuadrado y Rectángulo.
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
Jorge salazar 4 to b xd
Jorge salazar 4 to b xdJorge salazar 4 to b xd
Jorge salazar 4 to b xd
 
cap10.pdf
cap10.pdfcap10.pdf
cap10.pdf
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
MaTLAB - MN-2DA SESION.pptx
MaTLAB - MN-2DA SESION.pptxMaTLAB - MN-2DA SESION.pptx
MaTLAB - MN-2DA SESION.pptx
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlab
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
 
Presentación1
Presentación1Presentación1
Presentación1
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clase
 
Escuela
EscuelaEscuela
Escuela
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacional
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Programación u1
Programación   u1Programación   u1
Programación u1
 
Tutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfdTutorial sencillo manejo_de_pseint_y_dfd
Tutorial sencillo manejo_de_pseint_y_dfd
 
5. Diseño de un algoritmo
5. Diseño de un algoritmo5. Diseño de un algoritmo
5. Diseño de un algoritmo
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 

Último (20)

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 

Lenguaje de simulacion

  • 1. LENGUAJE DE SIMULACION Y SIMULADORES En un principio, los programas de simulación se elaboraban utilizando algún lenguaje de propósito general, como ASSEMBLER, FORTRAN, ALGOL o PL/I. A partir de la década de 1960 hacen su aparición los lenguajes específicos para simulación como GPSS, GASP, SIMSCRIPT, SLAM. En la última década del siglo pasado la aparición de las interfaces gráficas revolucionaron el campo de las aplicaciones en esta área, y ocasionaron el nacimiento de los simuladores. En lo práctico, es importante utilizar la aplicación que mejor se adecúe al tipo de sistema a simular, ya que de la selección del lenguaje o simulador dependerá el tiempo de desarrollo del modelo de simulación. Las opciones van desde las hojas de cálculo, lenguajes de tipo general (como Visual Basic, C++ o Fortan), lenguajes específicos de simulación (como GPSS, SLAM, SIMAN, SIMSCRIPT, GAS y SSED), hasta simuladores específicamente desarrollados para diferentes objetivos (como SIMPROCESS, ProModel, Witness, Taylor II y Cristal Ball). APRENDIZAJE Y USO LENGUAJE DE SIMULACIÓNO SIMULADOR Los lenguajes de simulación facilitan enormemente el desarrollo y ejecución de simulaciones de sistemas complejos del mundo real. Los lenguajes de simulación son similares a los lenguajes de programación de alto nivel pero están especialmente preparad os para determinadas aplicaciones de la simulación. Así suelen venir acompañados de una metodología de programación apoyada por un sistema de símbolos propios para la descripción del modelo por ejemplo mediante diagramas de flujo u otras herramientas que simplifican notablemente la modelización y facilitan la posterior depuración del modelo. Características de los lenguajes de simulación:  Los lenguajes de simulación proporcionan automáticamente las características necesarias para la programación de un modelo de simulación, lo que redunda en una reducción significativa del esfuerzo requerido para programar el modelo.  Proporcionan un marco de trabajo natural para el uso de modelos de simulación. Los bloques básicos de construcción del lenguaje son mucho más afines a los propósitos de la simulación que los de un lenguaje de tipo general.  Los modelos de simulación son mucho más fácilmente modificables.  Proporcionan muchos de ellos una asignación dinámica de memoria durante la ejecución Facilitan una mejor detección de los errores.  Los paquetes de software especialmente diseñados para simulación contienen aplicaciones diversas que facilitan al simulador las tareas de comunicaciones, la depuración de errores sintácticos y de otro tipo de errores, la generación de escenarios, la manipulación “on-line” de los modelos, etc.  Son muy conocidos y en uso actualmente
  • 2.  Aprendizaje lleva cierto tiempo  Simuladores de alto nivel  Muy fáciles de usar por su interface gráfica  Restringidos a las áreas de manufactura y comunicaciones  Flexibilidad restringida puede afectar la validez del modelo CASOS PRACTICOS DE SIMULACIÓN Un caso práctico de una simulación podemos decir en esta parte, la simulación del Método de Monte Carlo. ALGORITMOS El algoritmo de Simulación Monte Carlo Crudo o Puro está fundamentado en la generación de números aleatorios por el método de Transformación Inversa, el cual se basa en las distribuciones acumuladas de frecuencias:  Determinar la/s V.A. y sus distribuciones acumuladas(F)  Generar un número aleatorio uniforme Î (0,1).  Determinar el valor de la V.A. para el número aleatorio generado de acuerdo a las clases que tengamos.  Calcular media, desviación estándar error y realizar el histograma.  Analizar resultados para distintos tamaños de muestra. EJEMPLO PRACTICO I Tenemos la siguiente distribución de probabilidades para una demanda aleatoria y queremos ver qué sucede con el promedio de la demanda en varias iteraciones: Utilizando la distribución acumulada (F(x) es la probabilidad que la variable aleatoria tome valores menores o iguales a x) podemos determinar cuál es el valor obtenido de unidades cuando se genera un número aleatorio a partir de una distribución continua uniforme. Este método de generación de variable aleatoria se llama Transformación Inversa. Generando los valores aleatorios vamos a ver como se obtiene el valor de la demanda para cada día, interesándonos en este caso como es el orden de aparición de los valores. Se busca el número aleatorio generado en la tabla de probabilidades acumuladas, una vez encontrado (si no es el valor exacto, éste debe ser menor que el de la fila seleccionada pero mayor que el de la fila anterior), de esa fila tomada como solución se toma el valor de las unidades (Cuando trabajamos en Excel debemos tomar el límite inferior del intervalo para busca en las acumuladas, para poder emplear la función BUSCARV (), para 42 sería 0, para 43 0,100001 y así sucesivamente). Ejemplo: Supongamos que el número aleatorio generado sea 0,52, ¿a qué valor de unidades corresponde?
  • 3. 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 gráfico, trazando una recta desde el eje de la frecuencia hasta que intersecta con la línea de la función 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 función acumulada tiene un intervalo o salto para cada variable (para casos prácticos hay que definir los intervalos y luego con una función de búsqueda hallar el valor). Para funciones continuas se puede hallar la inversa de la función acumulada. De esta forma logramos a partir de la distribución de densidad calcular los valores de La variable aleatoria dada. En la siguiente tabla, vemos como a medida que aumenta el número de simulaciones, el valor simulado se acerca al valor original de la media y desviación estándar, además de la disminución del error típico. PROBLEMAS CON LINEA DE ESPERA Simulación de una línea de espera con una fila y un servidor Un sistema de colas estara definido cuando tengamos la siguiente informacion acerca de este:  Distribucion de probabilidad de los tiempos de servicio  Distribucion 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 lineas de espera que se muestra en la figura siguiente. Como se puede apreciar, es un modelo bastante simple donde la disciplina de atención es FIFO (primero en llegar, primero en salir). Tanto el tiempo de servicio como el tiempo entre llegadas siguen una distribucion exponencial aunque con parametros diferentes, para el caso del tiempo entre llegadas tenemos λ=15 y para el tiempo de servicio tenemos λ=10. Aplicando el metodo de la transformada inversa a la distribucion exponencial (consultar Dyner etc. al, 2008), tenemos que: Donde corresponde a una observación de una variable exponecial, _ es un numero aleatorio entre cero y uno y λ es la media de la distribucion. Para la implementacion del sistema descrito en Excel, abra una nueva hoja de calculo y configurela como se muestra en la figura.
  • 4. En la celda B8 escriba la formula =ALEATORIO() y arrastre hasta la celda B23. Repita este procedimiento para la columna G. En el paso anterior, se definio los numeros aleatorios a partir de los cuales se generaran las observaciones de variables aleatorias de la simulacion. Ahora, en la celda C8 escribe la formula =-LN(1-B8)/$B$4, y arrastre hasta la celda C23. Como se puede apreciar, esta es la formula descrita anteriormente para obtener observaciones de una variable exponencial. En este caso, se estan generando observaciones para la variable aleatoria de tiempos entre llegadas. En la celda D8 escribe la formula =C8, lo anterior significa que como es la primera llegada al sistema, su tiempo de llegada (en el instante de tiempo en el que llego al sistema), sera igual a su tiempo entre llegadas. Sin embargo, para la celda D9 la formula correspondiente es =C9+D8, ahora arrastre la fórmula de D9 hasta D23; esta fórmula significa que despues de que llega el primer cliente, el instante de tiempo en el que cualquier otro cliente llega al sistema sera el instante de tiempo en el que entro el penúltimocliente sumado el tiempo entre llegadas del último cliente, es decir, si el penultimo cliente entro al sistema en el instante t=4, y el tiempo entre llegadas del ultimo cliente es dt=2, entonces este último cliente entrara realmente al sistema en t=6. La fórmula correspondiente a la celda E8 es =D8, esto significa que, al ser primer cliente, el instante en el que llega al sistema sera el mismo instante en el que comienza el servicio; más adelante se presenta las formulas correspondientes al resto de clientes del sistema en esta columna. Ahora en la celda F8 escriba la formula =E8-D8 y arrastrela hasta la celda F23, esto corresponde al tiempo de espera del cliente antes de comenzar a ser atendido, note que D8 nunca sera mayor que E8 ya que el valor minimo que puede tomar el tiempo de comienzo del servicio es el tiempo de llegada, es decir, cuando un cliente llega al sistema y no tiene que hacer fila. En la celda H8 escribe la formula =-LN (1-G7)/$B$5, y arrastre la hasta la celda H23, esta fórmula indica cuanto tiempo tardara el servidor atendiendo al cliente actual. Ahora en la celda I8 escriba la formula =E8+H8, esta fórmula indica el instante de tiempo en el que servidor termina de atender al cliente actual y corresponde a la suma entre el instante que comienza el servicio y la cantidad de tiempo que este toma. Retomemos ahora la columna E, nótese que esta solo está definida en su posición E8, esto porque primero se requería definir otros valores antes de poder determinar el instante en el que empieza realmente el servicio. En un sistema como el aquí presentado se pueden tener dos casos para el tiempo de comienzo del servicio, en primer lugar puede que el servidor se encuentre desocupado, en este caso el tiempo de comienzo del servicio será igual al tiempo de llegada al sistema y no habrá tiempo de espera. Sin embargo, si el servidor se encuentra ocupado, el tiempo de comienzo del servicio será igual al máximo entre el instante en que el servidor termine de atender al cliente actual y el tiempo de llegada al sistema; por si el tiempo de fin del servicio del cliente actual es igual a tfs=12 pero el tiempo de llegada del próximo cliente es tll=14, el tiempo de comienzo del servicio del proximo cliente será t=14 y el servidor tendra un ocio dt=2; por otro lado, si tfs=13 para el cliente actual y el proximo cliente tiene un tll=10, el servidor no tendra ocio y el proximo cliente deberá esperar un intervalo de tiempo dt=3. De lo anterior se concluye que la fórmula
  • 5. para la celda E9 debe ser =MAX (D9;I8), ahora arrastre esta fórmula hasta la celda E23. Hasta este punto se tiene una simulacion de un sistema de líneas de espera con una fila y un servidor, si se desea generar nuevas observaciones presione la tecla F9; como tarea al lector se deja el cálculo de: • Tiempo promedio en el sistema • Tiempo promedio de espera (sin incluir ceros) • Tiempo promedio de espera (incluyendo ceros) • Tiempo promedio de servicio • Tiempo promedio de ocio Adicionalmente se plantea al lector elaborar, una simulacion en Excel que represente el sistema que se muestra en la figura siguiente, donde p es la probabilidad de que un cliente se dirija a S1 o a S2. Tanto el tiempo entre llegadas como los tiempos de servicio, se distribuyen exponencial con los parámetros que se muestran a continuación. Tiempo entre llegadas: λ=8 Tiempo de servicio S1: λ=13 Tiempo de servicio S2: λ=18 Probabilidad p: 0.63
  • 6. EJEMPLO DE UN CASO DE SIMULACION https://www.youtube.com/watch?v=FGgKyKAdIBE