Sei sulla pagina 1di 55

Unidad 1 Introduccion Simulacion Eventos Discretos

1.1 Introducción

1.2 Definiciones Aplicaciones Simulacion Eventos Discretos

1.3.Estructura Característica Simulacion Eventos Discretos

1.4 Sistemas Modelos y Control

1.5. Mecanismos de Tiempo Fijo y tiempo variable

1.6 Etapas Proyecto Simulacion

1.6.1. Formulacion del problema

1.6.2. Analisis y recoleccion de datos

1.6.3. Desarrollo del modelo

1.6.4. Verificacion y validacion

1.6.5. Experimentacion y optimizacion

1.6.6. Experimentacion de resultados

Unidad 2 Numeros Aleatorios y Pseudoaleatorios

2.1 Numeros Aleatorios Definicion Propiedades generadores y tablas

2.2. Numeros Pseudoaleatorios propiedades

2.2.1 Tecnicas para generar numeros Pseudoaleatorios

2.2.1.1 Metodos de centros al cuadrado

2.2.1.2 Metodos de congruencia multiplicativo y mixto

2.3 Pruebas de Aleatoriedad

2.4 Metodo de MonteCarlo

2.4.1 Simulacion Procesos Aleatorios (usando números ) manuales y usando


Lenguajes de propósito general como C, C++, Delphi, Visual,etc. de problemas
aplicados a servicios, sistemas productivos, de calidad, de inventarios, económicos,
etc.

Unidad 3 Generacion De Variables Aleatorias Introduccion

3.2. Metodos para generar Variables Aleatorias


3.2.1 Transformada Inversa, aceptación - rechazo, convolución, directos.

3.2.1.1 Generacion Variables Aleatorias Discretas : distribuciones poisson, binomial,


y geométrica

3.2.1.2 Generacion Variables Aleatorias Continuas : distribuciones uniforme,


exponencial, normal, Erlang, Gamma, Beta, y Triangular

3.2.2. Distribuciones Empiricas de probabilidad

3.2.3 Simulacion de procesos Aleatorios manuales y usando Variables Aleatorias


usando lenguajes de propósito general: C, C++, Delphi, Visual´s, de problemas
aplicados a servicios, sistemas productivos, de calidad, de inventarios, económicos,
etc.

Unidad 4 Lenguajes de Simulación y Simuladores de Eventos Discretos

4.1 Lenguajesde Simulacion y Simuladores

4.1.1 Caracteristicas aplicacion y uso lenguajes Slam Ecsl Siman Gpss

4.1.2 Simuladores Promodel Taylor Ed Arena WITNESS , etc

4.2 Aprendizaje y Uso de un Simulador

4.2.1 Caracteristicas del software

4.2.2 Elementos del modelo

4.2.3 Menus principales

4.2.4 Construccion del modelo

4.2.5 Practicas usando el simulador de problemas aplicados a servicios, sistemas


productivos, de calidad, de inventarios, económicos, etc.

Unidad 5 Proyecto de Aplicacion

UNIDAD 1. INTRODUCCIÓN SIMULACIÓN EVENTOS


DISCRETOS

1.1 INTRODUCCIÓN
Las primeras referencias sobre simulación se encuentran hacia el año 1940, cuando
Von Neumann y Ullman trabajaron sobre la simulación del flujo de neutrones para la
construcción de la bomba atómica en el proyecto “Montecarlo”. Desde entonces se
conocían las técnicas de simulación como procesos Montecarlo, aunque en la
actualidad se diferencian ambas cosas, siendo los segundos un tipo particular de
simulación. También se realizó un proceso de simulación para el proyecto APOLLO
dentro del plan espacial de la N.A.S.A, acerca del movimiento dentro de la atmósfera
de la luna.
Actualmente, la simulación es una poderosa técnica para la resolución de
problemas. Sus orígenes están en la teoría de muestreo estadístico y análisis de
sistemas físicos probabilísticas complejos. El aspecto común de ambos es el uso de
números y muestras aleatorias para aproximar soluciones.
Una de las más famosas aplicaciones de muestras aleatorias, ocurre durante la
segunda guerra mundial, cuando la simulación se utilizó para estudiar el flujo de
neutrones dentro del desarrollo de la bomba atómica. Esta investigación era secreta
y le dieron un nombre en código: MonteCarlo. Este nombre se mantiene, y durante
mucho tiempo se usaba para hacer referencia a algunos esfuerzos en simulación.
Pero el término métodos MonteCarlo, se refiere actualmente a una rama de las
matemáticas experimentales que trata con experimentos de números aleatorios,
mientras que el término simulación, o simulación de sistemas, cubre una técnica de
análisis más práctico.
Vamos a ver técnicas que utilizan los computadores para imitar, o simular, el
comportamiento de sistemas del mundo real. Para estudiar científicamente estos
sistemas, a menudo se han de hacer una serie de suposiciones acerca de cómo
trabaja éste. Estas suposiciones que usualmente toman la forma de relaciones
matemáticas o lógicas, constituyen un modelo que va a ser usado para intentar
comprender el comportamiento del sistema correspondiente.

Si las relaciones que componen el modelo son suficientemente simples, es posible


usar métodos matemáticos (tales como álgebra, cálculo o teoría de la probabilidad)
para obtener una información exacta de las cuestiones de interés; a esto se le llama
solución analítica. Sin embargo, la mayoría de los sistemas del mundo real son
demasiado complejos y normalmente los modelos realistas de los mismos, no
pueden evaluarse analíticamente. Lo que se puede hacer es estudiar dichos
modelos mediante simulación.

1.2 DEFINICIONES APLICACIONES SIMULACION EVENTOS


DISCRETOS

Enfoque de sistemas.
El enfoque de sistemas establece que "el mundo y cualquiera de sus partes puede
visualizarse como un conjunto de sistemas en interacción dinámica". Es un punto de
vista, una forma de pensar, que en la confrontación de una situación problemática,
busca no ser reduccionista. Es decir visualizar la situación desde un punto en donde
se consideren todos los elementos que intervienen en un problema.
Sistema.
Por sistema; se entiende una colección de entidades relacionadas, cada una de las
cuales se caracteriza por atributos o características que pueden estar relacionados
entre sí. Los objetivos que se persiguen al estudiar uno o varios fenómenos en
función de un sistema son aprender cómo cambian los estados, predecir el cambio y
controlarlo. Todo sistema consta de tres características. Tienen fronteras, existe
dentro de un medio ambiente y tiene subsistemas. El medio ambiente es el conjunto
de circunstancias dentro de las cuales está una situación problemática, mientras que
las fronteras distinguen las entidades dentro de un sistema de las entidades que
constituyen su medio ambiente. Por lo tanto podemos definir a un sistema como:
“una estructura dinámica de personas, objetos y procedimientos organizados para el
propósito de lograr ciertas funciones".
El conjunto de elementos que forman un sistema tiene las siguientes tres
propiedades:

 Las propiedades o el comportamiento de cada elemento del conjunto tienen


un efecto en las propiedades o el comportamiento del conjunto como un todo.
 Las propiedades y comportamiento de cada elemento y la forma en que se
afectan al todo, dependen de las propiedades y comportamiento al menos de
otro elemento en el conjunto. En consecuencia, no hay parte alguna que
tenga un efecto independiente en el todo y cada una está afectada al menos
por alguna otra.
 Cada subgrupo posible de elementos del conjunto tienen las dos primeras
propiedades: cada uno tiene efecto no interdependiente en el total. En
consecuencia no se puede descomponer el total en subconjuntos
independientes. No se puede subdividir un sistema en subsistemas
independientes.

Entidad.
Una entidad es algo que tiene realidad física u objetiva y distinción de ser o de
carácter. Las entidades tienen ciertas propiedades que las distinguen a unas de
otras.
Relación.
Relación es la manera en la cual dos o más entidades dependen entre sí. Relación
es la unión que hay entre las propiedades de una o más entidades; por consiguiente,
el cambio en alguna propiedad de una entidad ocasiona un cambio en una propiedad
de otra entidad.
Estructura.
Una estructura es un conjunto de relaciones entre las entidades en la que cada
entidad tiene una posición, en relación a las otras, dentro del sistema como un todo

Estado.
El estado de un sistema en un momento del tiempo, es el conjunto de propiedades
relevantes que el sistema tiene en este momento. Cuando se habla del estado de un
sistema, se entiendes los valores de los atributos de sus entidades. Analizar un
sistema supone estudiar sus cambios de estado conforme transcurre el tiempo.
Jerarquía De Sistemas.

 Subsistemas. Un subsistema es "Un elemento o componente funcional de un


sistema mayor que tiene las condiciones de un sistema en sí mismo, pero que
también tiene un papel en la operación de un sistema mayor”
 Suprasistema. El suprasistema es un sistema mayor a cuya función global el
sistema está contribuyendo y del cual forma parte.

Definición de sistema en Simulación

Colección de entradas que pasan a través de las fases de cierto proceso,


produciendo respuestas. Por ejemplo:

SISTEMA DE MANUFACTURA
ENTRADA PROCESO SALIDA EVALUACIÓN

1. EFICIENCIA
FACILIDADES 2. COSTOS DE TRANSFORMACIÓN
MATERIA PRIMA SISTEMA DE PRODUCTO 3.INVENTARIO EN PROCESO
PRESUPUESTO TRANSFORMACIÓN TERMINADO 4.TIEMPO DE PROCESO
INFORMACIÓN (distribución y asignación) 5.PRODUCCIÓN/HORA
6.AREA OCUPADA

SISTEMA DE SERVICIO
ENTRADA PROCESO SALIDA EVALUACIÓN

SISTEMA DE SERVICIO: 1. COSTO DEL SISTEMA


SERVIDORES 2. TIEMPO EN LA COLA
CLIENTE
CLIENTES DISCIPLINA DEL SERVICIO 3.TIEMPO EN EL SISTEMA
SATISFECHO
ESPACIO DISPONIBLE 4.LONGITUD DE COLA
5. OCUPACIÓN DE LOS SERVIDORES
Definiciones de simulación.
Simulación es una técnica numérica para conducir experimentos en una
computadora digital. Estos experimentos comprenden ciertos tipos de relaciones
matemáticas y lógicas, las cuales son necesarias para describir el comportamiento y
la estructura de sistemas complejos del mundo real a través de largos periodos de
tiempo. (THOMAS H. NAYLOR)
Modelo

Un modelo es una representación de un objeto, sistema o idea, de forma diferente al de la


entidad misma. el propósito de los modelos es ayudarnos a explicar, entender o mejorar un sistema.
un modelo de un objeto puede ser una réplica exacta de éste o una abstracción de las propiedades
dominantes del objeto.

1.3.ESTRUCTURA CARACTERÍSTICA SIMULACION


EVENTOS DISCRETOS

Modelo de simulación de eventos discretos (MSED)

MSED y técnicas de simulación


Los MSED se utilizan para estudiar sistemas y procesos cuyo estado va cambiando
con el tiempo de forma discreta, por lo que permiten conceptualizar el curso de una
enfermedad y su manejo en términos de los eventos que pueden suceder durante el
modelado, y cuyo impacto afecta tanto a los pacientes como a otros componentes
del sistema (p. ej., el uso de recursos).
Estos modelos representan procesos y situaciones complejas, en función de los
eventos que puedan ocurrir, por lo que pueden representar tanto situaciones clínicas
(agudización de un proceso, descompensación patológica, aparición de una nueva
situación clínica), como una determinada utilización de recursos sanitarios
relacionados con dichas situaciones. Asimismo, las probabilidades de que ocurran
cada uno de los eventos según se asocian con las características personales de los
pacientes. Todos estos elementos, en conjunto, simulan la evolución natural de la
enfermedad o proceso analizado, así como la historia de los pacientes cuya
simulación se realiza en el modelo.
Por todo ello, y dado que en el mundo real es frecuente encontrarse con procesos y
sistemas cuyo análisis, mediante métodos matemáticos, resulta extraordinariamente
complejo o incluso imposible de llevar a cabo, el uso de MSED permite resolver
problemas de esta índole. En tales circunstancias, la alternativa más eficaz para
afrontar este tipo de estudios consiste en construir unos modelos lógico-matemáticos
de forma que permitan imitar o simular el comportamiento del mundo real. Como
resultado de repetir dicha simulación un número suficiente de veces, se obtendrá un
histórico artificial de observaciones sobre el comportamiento del sistema o proceso.
A partir de dichas observaciones, y utilizando técnicas de análisis estadístico, será
posible extraer conclusiones sobre el funcionamiento de dicho sistema.

Etapas de los MSED


El diseño, el desarrollo y el análisis de resultados de una
simulación es un proceso sofisticado, que requiere del
analista unos mínimos conocimientos sobre programación,
matemáticas, estadística, gestión de proyectos y también
sobre el propio sistema estudiado.
La principal característica de un sistema de eventos
discretos es que el sistema está determinado por una
secuencia de eventos que ocurren en momentos aleatorios
de tiempo t1, t2... y el cambio de estado del sistema tiene
lugar en esos instantes. Los pacientes son las entidades
del sistema y los diferentes eventos serán las visitas y
cambios de estado de salud (respuesta) desde un nivel
basal al final, tras la toma de un tratamiento farmacológico
que modificará la fisiología del paciente o la aplicación de
una tecnología sanitaria.
Cuando se escribe un programa de simulación para MSED
se puede realizar una aproximación del esquema temporal
de funcionamiento de las entidades en el sistema. Así,
deberá describirse la secuencia de eventos y actividades
que realizarán las entidades durante su estancia en el
sistema y cómo se modificarán. Algunos de los sistemas
más estudiados son los problemas de colas que se aplican
en determinadas situaciones, como la espera que deben
tener los pacientes entre visita y visita, si los centros donde
son tratados no pueden absorber toda su demanda (p. ej.,
en un centro e instante de tiempo sólo puede ser tratado un
paciente a la vez).
A modo de resumen, para llevar a cabo la simulación del
sistema se deben seguir una serie de etapas, ampliamente
identificadas y discutidas en la literatura científica (Figura):

1. Formulación de la problemática y determinación de los objetivos: consiste en


establecer de forma clara, cuál es el problema que se pretende abordar, qué
objetivos globales se desean alcanzar y con qué recursos será necesario contar para
lograrlos en el tiempo previsto.

2. Modelado del sistema: se trata de crear el diseño del sistema que permita su
simulación por ordenador. El modelo deberá reflejar convenientemente la estructura
interna del sistema y sus características, de modo que los resultados que se deriven
sean extrapolables al sistema real. Por ejemplo, resultará fundamental modelar los
fenómenos aleatorios del sistema mediante distribuciones estadísticas, como la
interrupción del tratamiento, la hospitalización por urgencias u otro evento. Para
llevar esto a cabo, sería interesante disponer de una serie histórica de
observaciones sobre el comportamiento de dichos fenómenos aleatorios, como los
resultados de un ensayo clínico, un metaanálisis o un registro de pacientes.
3. Implementación del modelo en el ordenador. El modelo desarrollado desde el
punto de vista teórico ha de ser implementado en el ordenador a través de
algún software específico. Más adelante, se describen las principales características
de cada una de las herramientas informáticas disponibles.
4. Verificación del programa: comprobación de la correcta implementación del
modelo en el ordenador. Para ello, debemos comprobar que el programa resultante
se comporta según lo deseado, es decir, que los resultados deben ser coherentes
para las diversas combinaciones de variables de entrada(inputs) del modelo, y no ha
habido ningún error sintáctico a la hora de programar las diferentes instrucciones.
5. Validación del modelo. Consiste en comprobar que el modelo refleja
convenientemente el mundo real. Para ello, se procede a comparar, para distintas
combinaciones de variables de entrada, los resultados que produce el modelo con
los observables en el sistema real. En dicho proceso de validación es frecuente el
uso de técnicas estadísticas que permitan comparar dos conjuntos de datos.
6. Diseño de la simulación y pruebas piloto. Una vez aceptado el modelo como
válido, el siguiente paso es diseñar las características del experimento o
experimentos de simulación que se van a llevar a cabo, es decir, responder a
preguntas como cuál será el número de iteraciones, las variables de entrada
empleadas, la conveniencia de usar técnicas de reducción de la varianza. Suele ser
de gran utilidad la realización de pruebas piloto (simulaciones cortas) que
proporcionen orientaciones sobre cómo conviene afrontar el estudio y calcular el
número de réplicas necesarias.
7. Ejecución de la simulación. Se procede a llevar a cabo la simulación establecida
en el paso anterior.
8. Análisis de resultados. Los resultados procedentes de un experimento de
simulación suelen requerir un análisis estadístico no trivial que permita obtener
información útil sobre el comportamiento analizado.
9. Documentación del experimento. Una vez finalizado el experimento, éste debe ser
convenientemente documentado, de modo que se fomente su credibilidad y la
validez de las conclusiones obtenidas.
1.4 SISTEMAS MODELOS Y CONTROL

Un Sistema se define como una colección de entidades (por ejemplo, personas,


máquinas, etc.) que actúan e interactúan juntas para lograr un fin común. En la
práctica, ¿qué se entiende por sistema?, depende de los objetivos del estudio
particular que se pretenda hacer. El conjunto de entidades que componen el sistema
para un estudio puede ser sólo un conjunto de todas las entidades utilizadas para
otro estudio.

Se puede definir el estado de un sistema con un conjunto de variables necesarias


para describir el sistema en un punto particular de tiempo, relativo a los objetivos del
estudio. Los sistemas se pueden clasificar en dos tipos, discretos y continuos. Un
sistema discreto es aquel en el que las variables de estado cambian
instantáneamente en puntos separados en el tiempo. Un sistema continuo es aquel
en el que las variables de estado cambian continuamente con respecto al tiempo. En
la práctica muchos sistemas no son completamente discretos o continuos,
usualmente es posible clasificarlos en base al tipo de cambios que predominen en el
mismo.

Los modelos deben contener sólo los aspectos esenciales del sistema real que
representan. Aquellos aspectos del sistema que no contribuyen significativamente en
su comportamiento no se deben incluir, ya que lo que harían sería obscurecer las
relaciones entre las entradas y las salidas. ¿En qué punto se debe parar de incluir
realismo en el modelo? Esto depende del propósito para el cual el modelo se haya
desarrollado.

Características que deben presentar los modelos:

 Deben ser fáciles de entender y manejar.


 Deben ser simples y de costo no excesivo.
 Deben ser una buena aproximación del sistema real, que controle el mayor
número posible de aspectos del mismo y que éstos contribuyan de forma
significativa al sistema (hay relaciones en el sistema que no son significativas
y pueden obviarse en el modelo).

El diseño y control de modelos de modelos obliga a tener conocimientos de cuatro


áreas de conocimiento distintas:

 Modelización: necesarios para diseñar el modelo que permita dar respuestas


válidas del sistema real que represente. El diseño es una fase muy
importante, ya que los errores proporcionarán modelos falsos.
 Programación: ya que el modelo se ha de implantar con un lenguaje de
programación.
 Probabilidad y Estadística: la probabilidad es necesaria para definir y estudiar
las variables aleatorias de las entradas, y la estadística para permitir el diseño
y análisis de los experimentos.
 Métodos Heurísticos: para permitir llegar a una solución buena del problema
planteado.

Clasificación de los modelos

Nos vamos a centrar en los modelos matemáticos y su estudio por medio de


simulación. Los modelos se pueden clasificar en:

 Estáticos frente a Dinámicos: Un modelo estático es una representación de un


sistema en un punto particular del tiempo, o uno que representa un sistema en el
cual el tiempo no juega ningún papel; ejemplos de simulaciones estáticas son los
modelos MonteCarlo. De otro lado, los modelos dinámicos representan sistemas
que evolucionan con el tiempo.

 Determinísticos frente a Probabilísticos: Si un modelo no contiene ningún


componente probabilístico se conoce como determinístico (ej. un complicado
sistema de ecuaciones diferenciales que describen una sustancia química). En un
modelo determinístico la salida es determinada una vez que se especifican las
relaciones, cantidades y entradas. Sin embargo muchos sistemas tienen ciertos
componentes aleatorios de entrada y éstos se representan mediante modelos
probabilísticos (por ejemplo la mayoría de los sistemas de colas e inventarios).
Los modelos de simulación probabilísticos producen salidas que son aleatorias y
deben ser tratadas como tales, es decir como una estimación de las verdaderas
características del modelo; esta es una de las desventajas de la simulación.

 Continuos frente a Discretos: Los modelos de simulación continuos y los discretos


se definen de forma análoga a la de los sistemas. Sólo decir que no siempre es
usado para modelar un sistema discreto y viceversa. La decisión de utilizar un
modelo discreto o continuo para un sistema particular depende de los objetivos
del estudio. Por ejemplo un modelo del flujo de tráfico en una autovía podría ser
discreto si son importantes las características y movimientos de los coches
individuales. Alternativamente, si los coches se tratan en conjunto el flujo de
tráfico se puede describir mediante ecuaciones diferenciales en un modelo
continuo.

 Prescriptivos frente a Descriptivos: Los primeros pretenden tomar decisiones


sobre el sistema; se utilizan cuando se desea responder y optimizar una cuestión
acerca del sistema, tratan de dar la mejor solución. Los segundos se limitan a
describir el comportamiento del sistema y dejan la totalidad del proceso de
optimización en manos del analista.

 De Ciclo Abierto frente a de Ciclo Cerrado: En los primeros no hay realimentación,


es decir, las salidas no afectan a las entradas. En los segundos las salidas sí
afectan a las entradas (ej. un sistema de calefacción).

1.5. MECANISMOS DE TIEMPO FIJO Y TIEMPO VARIABLE

Parte de la construcción de modelos es el mecanismo de avance de tiempo. Este


dependerá de la aproximación elegida para describir el comportamiento del sistema.
Si se eligió la aproximación de flujo físico, este diagrama de flujo podría refinarse
para convertirse en el diagrama de flujo del programa. Si se siguió la aproximación
de cambio de estado, el diagrama de flujo desarrollado debería describir el
procedimiento que efectúa los cambios de estado en el tiempo.

Otros dos factores inciden en la construcción del diagrama de flujo del programa:
elegir un mecanismo de avance del tiempo y el lenguaje de programación que se
seleccione.
Hay fundamentalmente dos formas de considerar el avance del tiempo en un modelo
de simulación:

 Incrementos fijos de tiempo: se considera un intervalo fijo de tiempo y el estado


del modelo se comprueba después de transcurrido cada uno de estos
incrementos constantes.

 Incrementos por los eventos (N.E.T.A., Next Event Time Advance): las
comprobaciones y modificaciones de las variables afectadas se realizan sólo
después de la ocurrencia de un evento. Aquí el incremento de tiempo es variable,
va desde la ocurrencia de un evento a otro.

El avance del tiempo de simulación depende de cuál de las aproximaciones se elija.


Si se elige el incremento por eventos, el reloj se inicializa a 0, y se incrementa al
siguiente tiempo en que vaya a ocurrir un suceso, en ese momento, en este
momento de actualización del reloj se modifican las variables que se vean afectadas
por la ocurrencia del suceso. Si por el contrario se elige un incremento de tiempo fijo,
el reloj se inicia a 0 y se va actualizando cada vez que pase el incremento de tiempo
fijado. En esos instantes se observará el sistema para realizar los cambios.

En ese momento puede ocurrir que no haya sucedido ningún cambio o que por el
contrario que hayan ocurrido más de un suceso con lo cual se tendrá que decidir
cuál atender antes (por ejemplo dando prioridad a los sucesos).

En esta aproximación pueden ocurrir “errores de redondeo”, que hacen referencia a


la diferencia de tiempo que pasa desde que sucede un suceso hasta que éste se
computa (cuando el reloj se incrementa).

Hay que tener cuidado en la elección del incremento de tiempo. Si éste es


demasiado pequeño se realizará trabajo inútil, ya que se comprobarán cambios
cuando en realidad no ha ocurrido ningún suceso. Por el contrario si es demasiado
grande se producirán muchos errores de redondeo y la dinámica del modelo será
ineficiente.

Avance del reloj de simulación según los sucesos.

Avance del reloj de simulación en incrementos fijos.


1.6 ETAPAS PROYECTO SIMULACION:
1.6.1. FORMULACION DEL PROBLEMA

Aunque se van a presentar una serie de pasos de forma


secuencial, realmente es un proceso iterativo, tal y como
se muestra en la figura

En la formulación del problema se definen las cuestiones


para las que se buscan las respuestas, las variables
implicadas y las medidas de ejecución que se van a usar.
Esta fase es muy importante para poder alcanzar un
modelo válido, se puede dividir a su vez en 5 fases:

Identificación del Problema

Se hace una abstracción del tipo de problema que se va


a tratar. Se identifican los recursos a utilizar, los
requisitos que se van a exigir (relaciones a establecer).

Reconocer las variables del sistema


Se han de identificar las variables que interviene en el sistema y que son de interés
para nuestro modelo, éstas se pueden clasificar en:

 Variables exógenas: son variables externas al modelo y existen con


independencia de él. Se consideran variables de entrada. Éstas a su vez se
pueden dividir en dos grupos:

o Variables controlables o de decisión (factores): son aquellas sobre las que el


analista puede decidir su valor dentro de ciertos límites.

o Variables incontrolables o parámetros: sus valores no se pueden decidir sino que


vienen fijados. Las variables serán controlables o incontrolables dependiendo de
quién las defina.

 Variables endógenas: son variables internas y las variables de salida del modelo.
Son función de las variables exógenas y de la estructura del modelo.

Especificación de las restricciones de las variables de decisión

Incluso en el caso de que las variables sean controlables, están limitadas o


restringidas a ciertos límites dentro de los cuales se pueden modificar. Es importante
considerar cuidadosamente las restricciones sobre las variables de decisión, ya que
definen el posible espacio de soluciones dentro del cual se buscará una buena
solución o la óptima usando el modelo de simulación.

Desarrollar una estructura preliminar del modelo que interrelacione las variables del
sistema y las medidas de ejecución.

Para evaluar la efectividad de un sistema, se debe identificar una medida o medidas


de comportamiento (o ejecución) para juzgarlo. Estas medidas se seleccionan del
conjunto de variables endógenas. La medida o medidas que se pretenden optimizar
se conocen como función objetivo.

Desarrollo de un modelo apropiado

Los modelos son abstracciones de las partes esenciales del sistema. Se ha de


intentar ver si con las variables que se han especificado se tiene suficiente para
describir estos aspectos importantes del sistema (si no se tienen suficientes
entonces el modelo no será una buena representación del sistema), o por el
contrario se han definido más de las necesarias (esto puede oscurecer las relaciones
entre las variables realmente importantes). En resumen, lo que se tiene que fijar en
este paso es el nivel de detalle al que se debe llegar en el modelo. El nivel de detalle
depende de:

 Propósito del modelo.


 Contribución de las variables al modelo.
No es igual si lo que se desea hacer es un modelo para una previsión a largo plazo,
en cuyo caso la precisión puede ser menor, debido a que al transcurrir el tiempo las
variables van a cambiar e incluso podrán aparecer otras nuevas, que si se desea
una previsión a corto plazo, entonces se deberá profundizar más en el nivel de
detalle.

1.6.2. ANALISIS Y RECOLECCION DE DATOS

Aunque la recogida de datos se va a ver como el segundo paso, es bastante posible


que se hayan tenido que recoger datos para la formulación del problema. Sin
embargo, durante este paso se recoge el mayor volumen de datos, se reduce y se
analiza.

Los métodos de recogida de datos son tan variados como los problemas a los que
éstos se pueden aplicar. Si se clasifican por su sencillez, se puede ir desde las
aproximaciones manuales hasta las técnicas más sofisticadas de alta tecnología. En
la selección de un método se pueden tener en cuenta los siguientes factores:

 Capacidad de quien recoja los datos.

 El impacto que pueda producir el proceso de recolección sobre el comportamiento


del sistema real. Puede producir perturbaciones reales o físicas en el sistema o
psicológicas.

 La facilidad de conversión de los datos a una representación procesable por el


ordenador.

 El coste del método.

En muchas situaciones es suficiente con la observación directa y la recogida manual


de los atributos de interés. Pero si la medida que se quiere observar depende de una
persona, su comportamiento se puede ver afectado por estar siendo observada.
Otras veces puede ocurrir que la acción que se quiere observar sea muy rápida y
que no sea posible realizar una observación humana.

Para decidir el número de muestras necesarias, se ha de establecer una relación


costo-exactitud y hacer una optimización de dicha relación.

Una vez realizado el muestreo, los datos se han de analizar e introducir en el


modelo. Los datos usados para definir el modelo pueden ser de dos tipos:
 Deteminísticos: son datos conocidos con certeza. Éstos se pueden introducir
fácilmente en el modelo.
 Probabilísticos: hay dos formas de incluirlos en el modelo:
o Usar la muestra de datos recogida para representar la distribución de
probabilidades.

o Determinar una distribución probabilística teórica que se comporte como la


muestra y usar ésta en el modelo. Esto permite tener una mejor
comprensión (generalización) del modelo.

1.6.3. DESARROLLO DEL MODELO

Incluye la construcción y depuración del modelo del sistema real, incluyendo la


selección de un lenguaje de programación, codificación del modelo. Esta etapa se va
a dividir en dos partes:

Comprensión del sistema y Construcción del modelo.

Una de las tareas más difíciles en el análisis de simulación es adquirir el suficiente


conocimiento del sistema para poder desarrollar un modelo apropiado, es decir,
conocer el comportamiento del sistema. Dos técnicas comúnmente usadas son la
aproximación de flujo físico y la aproximación de cambio de estado.

 Aproximación de Flujo Físico. Se ha de identificar las entidades cuyo


procesamiento o transformación constituye el propósito principal del sistema.
Estas entidades pueden tomar diferentes caminos en el sistema, las rutas que
siguen se determinan mediante reglas de decisión. La representación del sistema
vendrá dada mediante un diagrama de flujo de entidad y los elementos de
procesamiento del sistema.

 Aproximación de Cambio de Estado. Para describir esta aproximación, se debe


definir unas variables endógenas adicionales que son las variables de estado e
introducir un nuevo concepto, el de suceso o evento. Las variables de estado
describen el estado del sistema en cada momento. Dados los valores actuales de
las variables de estado, las variables exógenas y la estructura del modelo, se
puede determinar el estado futuro del sistema. Un evento es un instante particular
en el tiempo en el que el sistema cambia de estado. La evolución del sistema se
puede representar mediante un grafo de sucesos.

Construcción del modelo. Las tareas principales en la construcción de un


modelo son:

1. Elección del Mecanismo de avance de tiempo (visto anteriormente)


2. Elección de un lenguaje de programación
Hay un creciente número de lenguajes de programación disponibles para la
implementación de modelos de simulación. Entre los lenguajes de simulación
destacan: GPSS (General Purpose Simulation System), SLAM (Simulation Language
for Alternative Modeling), SIMAN (Simulation Analysis), y SIMSCRIPT. Muchos
lenguajes de propósito general son completamente adecuados para la simulación,
por ejemplo, FORTRAM, PASCAL,…, pero los lenguajes de simulación proporcionan
una serie de características que hacen la programación, depuración y
experimentación más eficientes en tiempo y esfuerzo, aunque consuman más
tiempo en la ejecución. Quizás la más importante ventaja de los lenguajes de
simulación es la correspondencia entre los elementos del sistema y los elementos
del lenguaje.
Por ejemplo, en GPSS hay bloques de diagramas de flujo y conjuntos de sentencias
de programa llamados QUEUE que procesan entidades a través de una cola de
espera y acumulan datos de variables de salida tales como tiempo de espera en la
cola.

El lenguaje seleccionado puede influir en la forma exacta del diagrama de flujo del
programa de computador.

3. Generación de números y variables aleatorias


Se van a necesitar muestras aleatorias para representar valores de variables
de entrada probabilísticas. Utilizando estos números aleatorios podemos obtener
valores de variables aleatorias que sigan ciertas distribuciones de probabilidad.

4. Implementación y depuración del modelo.


La facilidad o dificultad en esta etapa dependen en gran medida del lenguaje de
programación que se haya elegido.
1.6.4. VERIFICACION Y VALIDACION

La Verificación del modelo consiste en ver cuál es la consistencia interna del modelo.

La Validación consiste en asegurar que existe la una correspondencia entre el


sistema real y el modelo. Un buen método para la validación es hacer un test para
ver cómo el modelo predice el comportamiento del sistema ante determinadas
entradas.

La verificación y validación del modelo se realiza en todas los niveles de


modelización: modelo conceptual, modelo lógico y un modelo de ordenador. La
verificación se centra en la consistencia interna del modelo, mientras que la
validación se interesa por la correspondencia entre el modelo y la realidad.

Se dice que un modelo es válido si sus medidas de salida tienen una


correspondencia apropiada con las mismas medidas en el sistema real. La
comprobación última para la validez de un modelo es ver cómo el modelo puede
predecir un comportamiento futuro del sistema ante unas determinadas entradas.

1.6.5. EXPERIMENTACION Y OPTIMIZACION


Se han de diseñar los experimentos que se van a llevar a cabo sobre el modelo y
luego analizar las salidas obtenidas, de forma que podamos responder a las
cuestiones que se plantearon.

Experimentación con el modelo

El propósito último de la experimentación con el modelo es obtener información


acerca del comportamiento del sistema para que esto nos ayude en la toma de
decisiones. Cuando consideramos la ejecución de un sistema se puede desear
conocer cómo se comporta dicho sistema en sentido absoluto, o comparativamente,
para poder contrastar varias configuraciones alternativas del sistema. O se podrían
considerar dos medidas simultáneamente.

Es evidente que el número de exploraciones que se tendrían que realizar es


extremadamente largo. Hasta para los diseños de experimentos más modestos, la
exploración de todas las posibles soluciones en la búsqueda de la mejor solución, no
es algo factible. Se necesita una aproximación estructurada más directa para
encontrar una solución que merezca la pena. Podemos considerar dos
aproximaciones diferentes para abordar este problema: conjunto predeterminado de
experimentos y técnicas de búsqueda de óptimos.

Conjunto de experimentos predeterminado

Esta aproximación impone identificar factores que podrían afectar a la medida de


salida y ejecutar los experimentos con los factores puestos a determinados valores.
Una vez realizados los experimentos se aplicarían unas técnicas estadísticas
denominadas análisis de la varianza (ANOVA), para decidir cuál o cuáles de los
factores seleccionados tiene realmente algún impacto en la medida de salida. Las
medidas de salida se pueden adaptar de forma que las suposiciones estadísticas de
esta técnica se satisfagan de forma razonable y puedan ser aplicadas en la
experimentación del modelo.

Un diseño experimental particularmente general es el diseño factorial. Se consideran


dos o más factores pudiendo estar cada uno a dos o más niveles. El uso de un
conjunto predeterminado de experimentos es efectivo para encontrar buenas
soluciones si se puede aproximar una región de optimalidad con experimentos
previos o con la experiencia que se tenga sobre el problema. Sin embargo esta
técnica no puede conducir a la mejor solución global, ni siquiera puede garantizar un
óptimo local.

Técnicas de búsqueda de óptimos

Un conjunto de estas técnicas se conoce como Metodología de Superficie de


Respuesta (RSM). La superficie de respuesta es la función que describe las
relaciones de las medidas de ejecución con los factores o variables de decisión. Dos
factores definen una superficie de 3 dimensiones, la cual puede ser vista como un
terreno en donde se puede escalar. De hecho, la representación en 2 dimensiones
de la respuesta de superficie es como las líneas de contorno de un mapa topográfico
(Figura).
Usando varias estrategias se pueden alcanzar puntos altos en el terreno, y quizás
llegar a la cumbre. Una estrategia es el método de escalado ascendente. Esta
requiere que el modelo se ejecute suficientemente para hacer que se pueda
determinar qué dirección (qué cambios en los valores de los factores) parece
conducir a un incremento en la altitud (incremento en la medida de salida).

Análisis de la salida

En la interpretación de las salidas del modelo, hay algunos aspectos que son únicos
de la simulación. Mientras que los modelos analíticos proporcionan soluciones con
medidas de ejecución completamente definidas, los modelos de simulación producen
estimaciones de las medidas que están sujetas a error.

Las salidas del modelo de simulación se consideran muestras. Los principales


cuestiones en la obtención de estimaciones útiles a partir de muestras son: que la
muestra sea representativa del comportamiento del sistema, y que el tamaño de la
muestra sea lo suficientemente grande para que las estimaciones de las medidas de
ejecución alcancen un buen nivel de precisión. El tamaño de la muestra es algo que
está bien definido, pero la representatividad del comportamiento del sistema
depende de la naturaleza de las cuestiones que tienen que ser contestadas por el
modelo.

1.6.6. EXPERIMENTACION DE RESULTADOS

Se ha de asegurar que los resultados son aceptados por el usuario.

Este paso final es uno de los más importantes y el que más se descuida de todo el
proceso. Parece obvio que los beneficios de un largo y costoso análisis no se
realizarán sin una implementación apropiada y una aceptación por parte de los
usuarios.

Entre las razones por las que los esfuerzos de implantación son a menudo inútiles,
se incluyen las siguientes:
 Existe un vacío de comunicación entre el analista de la simulación y los
encargados y usuarios del sistema.
 Falta de entendimientos por parte de los encargados del sistema debido a los
tecnicismos utilizados.
 El compromiso de implementación es tardío.
 Resistencia al cambio.
 Falta de coincidencia entre el personal disponible y los objetivos marcados
por el modelo.

Hay aproximaciones que tratan estos obstáculos potenciales. Estas aproximaciones


requieren que los usuarios y los analistas estén implicados desde el comienzo en el
proyecto simulación.

UNIDAD 2 NÚMEROS ALEATORIOS Y


PSEUDOALEATORIOS

2.1 NÚMEROS ALEATORIOS DEFINICIÓN PROPIEDADES


GENERADORES Y TABLAS
Los números aleatorios son números que deben de cumplir los requisitos de espacio
equiprobable, es decir, que todo elemento tenga la misma probabilidad de ser
elegido y que la elección de uno no dependa de la elección del otro. Son generados
por medio de una función determinista (no aleatoria) y que aparentan ser aleatorios.

Generadores de números aleatorios


Los métodos para generar números aleatorios involucran algún proceso físico cuasi
aleatorio, que genera sucesiones de números aleatorios de determinada longitud. El
requisito general para las sucesiones es la independencia estadística. Para esto,
existen varios métodos:

 Métodos manuales: Dispositivos mecánicos o electrónicos, lanzamientos de


monedas o dados, empleo de barajas, ruletas. Son menos prácticos pero simples,
lentos, atractivos, pedagógico. Pero no pueden reproducirse.
 Tablas de bibliotecas: Generados por los métodos anteriores. Están en tablas.
Siempre pueden reproducirse, pero es un sistema lento. Determinados problemas
requieren más números aleatorios que los publicados.
 Métodos de computación analógica: Dependen de procesos físicos aleatorios, por
ejemplo: el ruido térmico de un circuito con semiconductores, que convertido en
un número binario, representa un valor numérico aleatorio. Se considera que
conducen a verdaderos números aleatorios.
 Métodos de computación digital: Se han sugerido tres métodos para producir
números aleatorios cuando se usan computadoras digitales; provisión externa,
generación interna, relación de recurrencia.

Existen en la actualidad técnicas para generar con una computadora, variables


aleatorias uniformemente distribuidas, r (en donde r ≥ 0 y 1 ≥ r). Los números
generados por estas subrutinas de computadora se denominan números
pseudoaleatorios, porque se generan a partir de una fórmula totalmente
determinística mediante la computación. Sus propiedades estadísticas, coinciden
con las de los números generados a través de un dispositivo fortuito idealizado que
selecciona números de un intervalo unitario (0,1) de un modo independiente en
donde son igualmente probables todos los números.

A condición de que estos números pseudo aleatorios puedan pasar el conjunto de


pruebas estadísticas (las de frecuencia, auto correlación, producto rezagado,
corridas, de distancia y así sucesivamente) implicadas por un dispositivo fortuito
idealizado, tales números pseudo aleatorios se pueden tratar corno si "en realidad lo
fueran" a pesar de que no lo son.

Comparativa de métodos de generación

MÉTODOS VENTAJAS DESVENTAJAS

Lentos, simples y
Manuales Facil generación
poco prácticos
Lentos y no
Tablas Fácil implementación
reproducibles
Comp Analógica Rápidos “ verdaderos” No reproducibles
Comp Digital Rápidos No son verdaderos

Requisitos para un buen generador de números pseudo aleatorios con distribución


uniforme:

 La distribución de los números debe ser uniforme en todo el intervalo [0,1].


 Los números deben ser independientes dentro de toda la serie generada.
 El ciclo del generador debe ser lo suficientemente grande.
 La serie debe volverse a repetir.
 Capaz de generar números pseudo aleatorios a altas velocidades.
 Requerir una mínima cantidad de la capacidad de memoria de Computadora.

Ejemplos de aplicación

 Simulación: La reproducción de fenómenos naturales necesita números


aleatorios. En Física los ejemplos clásicos: Física Estadística, Física de
Partículas
 Muestreo: Muchas veces es poco práctico examinar todos los casos posibles.
Un muestreo aleatorio puede revelar un comportamiento típico.
 Análisis Numérico: Técnicas numéricas necesitan números aleatorios
 Programación de ordenadores: Tests de efectividad de algoritmos
 Toma de decisiones: Se rumorea que algunos ejecutivos tiran monedas al aire
para tomar decisiones.
 Estética: Un toque de aleatoriedad puede resultar agradable
 Juegos: De aquí proviene el propio método para generación de números
aleatorios

2.2 NÚMEROS PSEUDOALEATORIOS PROPIEDADES


1) Distribución Uniforme.
Cualquier número que pertenezca al rango de interés debe tener la misma
probabilidad de resultar sorteado.

2) NO Correlación Serial.
La aparición de un número en la secuencia, no afecta la probabilidad de sortear otro
(o el mismo) número.

2.2.1 TÉCNICAS PARA GENERAR NÚMEROS


PSEUDOALEATORIOS

1. Utilización de tablas.
2. Dispositivos especiales.
3. Procedimientos, funciones que generan números pseudoaleatorios.

2.2.1.1 MÉTODOS DE CENTROS AL CUADRADO


Se llama números pseudoaleatorios a una sucesión determinística de números en el
intervalo [0,1] que tiene las mismas propiedades estadísticas que una sucesión de
números aleatorios. Una forma general de obtener números pseudoaleatorios es
partir de una semilla de p números y aplicar una función d de
modo que

Por ejemplo, el fallido método del cuadrado medio es como sigue: se parte de un
número de cuatro cifras y se eleva al cuadrado. De este número de ocho cifras que
se obtiene, nos quedamos con las cuatro centrales y repetimos el proceso las veces
que necesitemos. El problema de este método es que puede dar ciclos muy cortos
(en cualquier caso, aspiramos a lo sumo a una longitud de diez mil):

A partir de aquí siempre se obtiene el valor cero. A la vista de este ejemplo, nos
planteamos unas propiedades mínimas que deberán satisfacer los números
pseudoaleatorios:

 Ajustarse a una distribución U(0,1).


 Ser estadísticamente independientes (no debe deducirse un número
conociendo otros ya generados).
 Ser reproducibles (la misma semilla debe dar la misma sucesión).
 Ciclo repetitivo muy largo.
 Facilidad de obtención.
 Ocupar poca memoria.

2.2.1.2 MÉTODOS DE CONGRUENCIA MULTIPLICATIVO Y


MIXTO
Hacia 1949, Lehmer introduce un método de generación de números aleatorios
mediante el cual un término de la serie se obtiene como función del término
inmediatamente anterior (xn=f(xn-1)).

La función aplicada es la siguiente:

En el generador distinguimos cuatro elementos:


· x0, es el valor inicial o semilla.
· a, multiplicador, siendo 0 <= a < m.
· c, incremento, siendo 0 <= a < m.
· m, módulo.
Se llama periodo a la subcadena, dentro de la serie generada, en la que no hay
repeticiones de números y longitud de periodo al número de elementos de dicha
subcadena.

La repetición de números en la serie puede ser aleatoria, pero dado el método


utilizado para la generación de las mismas, en el momento en el que se repite un
valor ya empieza a repetirse todo el periodo, por lo que interesan métodos que
garanticen longitudes de periodo grandes.

Tipos de generadores congruenciales lineales

Podemos distinguir dos tipos de estos generadores que se diferencian en el valor del
incremento.

G.C. Multiplicativos. En ellos el incremento, c, es 0. Este tipo de generadores fueron


los introducidos por Lehmer, aunque mencionó como posibilidad la idea de tomar
c≠0.

G.C. Mixtos. En ellos el incremento es distinto de 0. Fueron introducidos por


Thomson hacia 1958.

Los primeros presentan la ventaja de ser más rápidos, al tener que realizar menos
operaciones en el cálculo de los elementos. Sin embargo, la longitud de periodo que
se alcanza en las series generadas por ellos son menores que la alcanzadas en las
series generadas por los segundos.

Los valores de a=0 y a=1, producen series no aleatorias.

Supongamos a=0, nos quedaría el generador de la forma xn+1 = c mod n, es decir,


que siempre saldría la constante c.

Si a=1, el generador es . Desarrollando algunos de los


elementos que se van obteniendo, tenemos:

y así para todos los términos. Vamos obteniendo que un término es siempre la
semilla más un múltiplo de c y todo módulo m, y esta serie no es aleatoria.
2.3 PRUEBAS DE ALEATORIEDAD
Para comprobar si los números aleatorios obtenidos cumplen las propiedades
deseadas de uniformidad e independencia se deben realizar una serie de pruebas.

 Prueba de frecuencia.
 Pruebas de series.
 Prueba de autocorrelación.
 Prueba de saltos.
 Prueba de poker.

Cuando se prueba la uniformidad las hipótesis son:

 H0: Ri ~ U[0,1]
 H1: Ri ≠ U[0,1]

La hipótesis nula supone que la secuencia de números obtenidos está distribuida


uniformemente en el intervalo [0,1].

Prueba de frecuencia (Kolmogorov)

La prueba básica a la que se debiera someter cualquier nuevo generador de


números aleatorios es la de uniformidad. Existen dos métodos para realizar esta
prueba:

 Prueba de Kolmogorv-Smirnov.
 Prueba de chi-cuadrado.

Kolmogorov-Smirnov compara la función de distribución acumulada F(x) de la


distribución uniforme con la empírica, SN(x), de la muestra de N observaciones. Por
definición: F(x) = x para 0 ≤ x ≤ 1

Para una muestra de R1, R2, ...,RN la función de distribución acumulada, SN(x),
está definida por: SN(x) = (número de R1, R2, ...,RN que son ≤ 1)/N

D = max |F(x) - SN(x)|

La forma de obtenerlo es de la siguiente manera:

 Se ordenan los datos de menor a mayor R(1) ≤ R(2) ≤ ... ≤ R(N)


 Se calcula: D+ = max 1 ≤ i ≤ N {i/N - R(N)}
 D- = max 1 ≤ i ≤ N {R(N) - (i-1)/N }
 Se obtiene D = max(D+,D-)
 Se compara con el valor de la tabla para un α dado.

Ejemplo de prueba Kolmogorov-Smirnov

Sean 5 números 0,44, 0,81, 0,14, 0,05, 0,93 generados por algún método.

D+ = max 1 ≤ i ≤ N {i/N - R(N)} = 0,26

D- = max 1 ≤ i ≤ N {R(N) - (i-1)/N}= 0,21


Por tanto D = 0,26. Para α = 0,05 y N = 5 el valor de la tabla es 0,565 por tanto no se
puede rechazar la hipótesis nula.

Prueba de frecuencia (Chi Cuadrada)

Se necesita un conjunto mínimo de 50 datos generados que se organizarán en un


histograma que cumpla lo siguiente:

 La cantidad de aleatorios esperados en cada una de las clases del histograma


será de cinco datos como mínimo.

 Para aplicar esta prueba se necesita un conjunto de (N) aleatorios que sean
calculados con el generador que se desea probar, y ejecutar los siguientes
pasos: (N >= 50)

1.- Organizar los datos en un histograma (con n clases).

2.- Calcular el número de datos esperados en cada clase del histograma suponiendo
aleatorios idealmente uniformes.

3.- Calcular el estadístico Chi-cero cuadrado con las diferencias entre las cantidades
de aleatorios esperados (Ei) y los observados realmente (Oi) en cada una de las (n)
clases del histograma, según la muestra que se inspecciona.

4.- Se establece el nivel máximo de variación del estadístico que se calcula (ji-cero)
cuando los grados de libertad son iguales al número de clases menos uno; y la
significación de la prueba es alfa. Estos valores se encuentran tabulados para la
prueba de la Chi-cuadrada.

5.- Se compara el estadístico calculado con el máximo permitido que leyó de tablas;
si es menor entonces se concluye que no hay evidencia estadística para afirmar que
los aleatorios de la muestra no tienen una distribución uniforme. Si es mayor no se
acepta la hipótesis de uniformidad en los aleatorios generados.
2.4 MÉTODO DE MONTECARLO
El método de Monte Carlo es un método no determinístico o estadístico numérico
usado para aproximar expresiones matemáticas complejas y costosas de evaluar
con exactitud. El método se llamó así en referencia al Casino de Montecarlo
(Principado de Mónaco) por ser “la capital del juego de azar”, al ser la ruleta un
generador simple de números aleatorios. El nombre y el desarrollo sistemático de los
métodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron
enormemente con el desarrollo de la computadora.

El uso de los métodos de Monte Carlo como herramienta de investigación, proviene


del trabajo realizado en el desarrollo de la bomba atómica durante la segunda guerra
mundial en el Laboratorio Nacional de Los Álamos en EE.UU. Este trabajo
conllevaba la simulación de problemas probabilísticos de hidrodinámica
concernientes a la difusión de neutrones en el material de fusión, la cual posee un
comportamiento eminentemente aleatorio. En la actualidad es parte fundamental de
los algoritmos de trazado de rayos para la generación de imágenes sintéticas.

El método de Monte Carlo proporciona soluciones aproximadas a una gran variedad


de problemas matemáticos posibilitando la realización de experimentos con
muestreos de números pseudoaleatorios en una computadora. El método es
aplicable a cualquier tipo de problema, ya sea estocástico o determinista. A
diferencia de los métodos numéricos que se basan en evaluaciones en N puntos en
un espacio M-dimensional para producir una solución aproximada, el método de
Monte Carlo tiene un error absoluto de la estimación que decrece como en virtud del
teorema del límite central.

Aplicaciones del método

Bajo el nombre de Método Monte Carlo o Simulación Monte Carlo se agrupan una
serie de procedimientos que analizan distribuciones de variables aleatorias usando
simulación de números aleatorios.

El Método de Monte Carlo da solución a una gran variedad de problemas


matemáticos haciendo experimentos con muestreos estadísticos en una
computadora. El método es aplicable a cualquier tipo de problema, ya sea
estocástico o determinístico. Generalmente en estadística los modelos aleatorios se
usan para simular fenómenos que poseen algún componente aleatorio. Pero en el
método Monte Carlo, por otro lado, el objeto de la investigación es el objeto en sí
mismo, un suceso aleatorio o pseudo-aleatorio se usa para estudiar el modelo.

A veces la aplicación del método Monte Carlo se usa para analizar problemas que
no tienen un componente aleatorio explícito; en estos casos un parámetro
determinista del problema se expresa como una distribución aleatoria y se simula
dicha distribución. Un ejemplo sería el famoso problema de las Agujas de Bufón.

La simulación de Monte Carlo también fue creada para resolver integrales que no se
pueden resolver por métodos analíticos, para solucionar estas integrales se usaron
números aleatorios. Posteriormente se utilizó para cualquier esquema que emplee
números aleatorios, usando variables aleatorias con distribuciones de probabilidad
conocidas, el cual es usado para resolver ciertos problemas estocásticos y
determinísticos, donde el tiempo no juega un papel importante.

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:

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

Las principales características a tener en cuenta para la implementación o utilización


del algoritmo son:

 El sistema debe ser descripto por 1 o más funciones de distribución de


probabilidad (fdp)

 Generador de números aleatorios: como se generan los números aleatorios es


importante para evitar que se produzca correlación entre los valores muestrales.
 Establecer límites 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.

 Estimación Error: Con que error trabajamos, cuanto error podemos aceptar para
que una corrida sea válida?

 Técnicas de reducción de varianza.

 Paralelización y vectorización: En aplicaciones con muchas variables se estudia


trabajar con varios procesadores paralelos para realizar la simulación.

2.4.1 SIMULACIÓN PROCESOS ALEATORIOS (USANDO NÚMEROS )


MANUALES Y USANDO LENGUAJES DE PROPÓSITO GENERAL COMO C, C++,
DELPHI, VISUAL,ETC. DE PROBLEMAS APLICADOS A SERVICIOS, SISTEMAS
PRODUCTIVOS, DE CALIDAD, DE INVENTARIOS, ECONÓMICOS, ETC.

Existe una gran cantidad de áreas donde la técnica de simulación puede ser
aplicada. Algunos ejemplos podrían ser los siguientes:

Simulación de un sistemas de colas. Con la técnica de simulación es posible estudiar


y analizar sistemas de colas cuya representación matemática sería demasiado
complicada de analizar. Ejemplos de estos sistemas serían aquellos donde es
posible la llegada al sistema en grupo, la salida de la cola del sistema, el rehusar
entrar al sistema cuando la cola es excesivamente grande, etc.
Simulación de sistemas de inventarios. A través de simulación se puede analizar
más fácilmente sistemas de inventarios donde todos sus parámetros(tiempo de
entrega, demanda, costo de llevar inventario, etc.), son estocásticos.

Simulación de un proyecto de inversión. Existen en la práctica una gran cantidad de


proyectos de inversión donde la incertidumbre con respecto a los flujos de efectivo
que el proyecto genera a las tasas de interés, a las tasas e inflación, etc., hacen
difícil y a veces imposible manejar analíticamente este tipo de problemas. Para este
tipo de situaciones el uso de simulación es ampliamente recomendado.

Simulación de sistemas económicos. La técnica de simulación puede ser utilizada


para evaluar el efecto de cierto tipo de decisiones (devaluación de la moneda, el
impuesto al valor agregado, etc.), en las demás variables macroeconómicas como:
producto nacional bruto, balanza comercial, inflación, oferta monetaria, circulante,
etc.

Simulación de estados financieros. La expansión y diversificación de una


organización a través de la adquisición y establecimiento de nuevas empresas,
repercuten significativamente en su posición y estructura financiera. Por
consiguiente, el uso de simulación permite analizar cuál de las estrategias de
crecimiento son las que llevaran a la organización al logro de sus objetivos y metas
de corto, mediano y largo plazo.

Simulación de juegos de azar. Se pueden hacer predicciones sobre los resultados de


un juego en particular, por ejemplo mélate, tris, etc. donde las variables involucradas
son estocásticas.

UNIDAD 4 LENGUAJES DE SIMULACIÓN Y SIMULADORES


DE EVENTOS DISCRETOS

4.1 LENGUAJES DE SIMULACIÓN Y SIMULADORES


CLASIFICACIÓN DE LOS SOTWARE PARA SIMULACIÓN

Existen en el mercado dos grandes clases de software para simulación: los


lenguajes y los simuladores. Un lenguaje de simulación es un software de simulación
de naturaleza general y posee algunas características especiales para ciertas
aplicaciones, tal como ocurre con SLAM 11 y SIMAN con sus módulos de
manufactura. El modelo es desarrollado usando las instrucciones adecuadas del
lenguaje y permitiendo al analista un gran control para cualquier clase de sistema.

Un simulador (o de propósitos especiales) es un paquete de computadoras que


permite realizar la simulación para un ambiente específico, no requiriendo esfuerzo
en programación. Hoy en día existen simuladores para ambientes de manufactura y
sistemas de comunicación permitiendo un menor tiempo en el desarrollo del modelo,
así como también contar con el personal sin experiencia en simulación.

Los simuladores son actualmente muy utilizados para análisis en alto nivel,
requiriéndose únicamente agregar detalles en un cierto nivel, puesto que lo demás
es estándar.

CACI Products Company autor de SIMSCRIPT 11.5 es también autor de los


simuladores SIMFACTORY 11.5, NETWORK 11.5 y COMNET 11.5, muy utilizados
en estos últimos tiempos para simulaciones de sistemas de manufacturas, redes de
computadoras y redes de telecomunicaciones.

Para procesar transacciones en espera de un ordenamiento, un lenguaje de


simulación debe proporcionar un medio automático de almacenamiento y
recuperación de estas entidades. Atendiendo a la orientación del modelamiento de
una simulación discreta, existen tres formas: 1. Programación de eventos. 2.
Procesos. 3. Examinación de actividades. Una programación al evento es modelada,
identificando las características del evento y luego se escriben un juego de rutinas
para los eventos con la finalidad de describir detalladamente los cambios que
ocurren en el tiempo en cada evento. Lenguajes como SIMSCRIPT 11.5 y SLAM 11
están orientados al evento.

Una interacción al proceso es una secuencia de tiempos interrelacionados,


describiendo la experiencia de una entidad a través del sistema. Por ejemplo, en un
modelo de colas esta “historia” se traduce en el paso del tiempo del ingreso a la cola,
ingreso al servidor, paso del tiempo en el servicio y fin del servicio. GPSS, SIMAN y
SIMNET son orientados al proceso.

GASP IV

Es una colección de subrutinas FORTRAN, diseñadas para facilitar la simulación de


secuencia de eventos. Cerca de 30 subrutinas y funciones que proveen numerosas
facilidades, incluyendo: • Rutinas de avance del tiempo, • Gestión de listas de
eventos futuros, • Adición y remoción de entidades. • Colección de estadísticas.

• Generadores de variables aleatorias.


• Reporte estándar.

El programador únicamente provee un programa main, una rutina de actualización,


rutinas de eventos, generadores de reportes personalizados y una subrutina
denominada EVNTS. El programa main debe incluir la sentencia CALL GASP;
siendo GASP una subrutina que determina el eminente evento, invocando a EVNTS
escrita por el usuario y obtiene el índice NEXT.

GASP IV es un lenguaje de simulación desarrollado por Alan B. Pristker y N. Hurst


en 1973. Es un lenguaje híbrido porque puede ser usado para programadores de
simulación discretos, continuos y combinados; siendo el primero en integrar
completamente estos dos ambientes de función del tiempo. GASP IV es un derivado
del GASP II, y se diferencia por la definición del evento espacio-estado (state space
event). SIMSCRIPT II.5 Desarrollado en la RAND Corporation por H. Markowtz en
los inicios de los sesenta. SIMSCRIPT 11.5. Es un lenguaje de simulación con
orientación al evento y al proceso, es híbrido porque posee facilidades para
simulación de sistemas discretos y continuos. Un programador SIMSCRIPT 11.5
consiste de las siguientes partes: • Preamble • Main program • Rutinas de eventos. •
Rutinas ordinarias.

SIMSCRIPT 11.5, producido por CACI Products Company (La Jolla, California), fue
utilizado en el pasado en grandes y complejas simulaciones, como es el caso de los
modelos no orientados a colas; por ejemplo modelos de combates militares. Se
encuentra disponible en versión PC destacando su ambiente de S 11 VIGRAPHICS.

SIMSCRIPT 11.5 está basado en entidades, atributos y conjuntos. Visualiza el


mundo a ser simulado como un conjunto de entidades que pueden ser descritas a
través de sus atributos y los eventos que aparecen en el tiempo. SIMAN/Cinema

La versión original del SIMAN (Simulation and Analysis) fue desarrollada por Dennis
Pegden, en la Universidad de Alabama, cuando era líder del grupo de desarrollo de
la versión original de SLAM (basada en los software de GASP y Q~GER-r de Pristker
and Associates). Más tarde, Pegden inicia su trabajo en el Pennisylvania State
University donde lo diseña como un lenguaje de modelamiento para propósitos
generales, incluyendo facilidades de manufactura muy útiles en modelamiento de
sistemas complejos de manufactura.

Desde su implementación inicial en 1984, ha sido continuamente refinado por


System Modeling Corporation, y en 1998 y 1989 el lenguaje fue completamente
rediseñado dando origen a SIMAN/Cinema.

El ambiente de modelamiento en SIMAN se desarrolla entre el Modeling y el


Experiment; en el primero se describe las componentes del sistema y sus
interacciones y en el segundo se definen las condiciones del experimento (longitud
de la corrida, condiciones iniciales).

SIMAN modela un sistema discreto usando la orientación al proceso; es decir, en un


modelo de sistema particular, se estudian las entidades que se mueven a través del
sistema. Una entidad para SIMAN es un cliente, un objeto que se mueve en la
simulación y que posee características únicas conocidas como atributos. Los
procesos denotan la secuencia de operaciones o actividades a través del que se
mueven las entidades, siendo modeladas por el diagrama de bloques.
4.1.1 CARACTERÍSTICAS APLICACIÓN Y USO LENGUAJES
SLAM ECSL SIMAN GPSS
Lenguajes de propósito especial

• GPSS ( General Purpose Somulation Sistem): Ensamblador.


• SIMSCRIPT ( No tiene significado): Fortran y ensamblador.
• GASP ( General Activity Simulation Program): Fortran.
• SLAM (Simulation Language for Alternative Modeling): Fortran.
• SIMNETT II: Fortran, insertos de C (archivos).

Selección del lenguaje de simulación.

• Manuales disponibles. Entender e interpretarlos.


• Compilador compatible.
• Eficiencia: tiempo de organizar, programar , compilar y ejecutar.
• Costos : Adquisición del paquete, instalación, mantenimiento y actualización.
• Conocimiento del lenguaje.
• Justificación económica: Inversión.

GPSS/H
(GENERAL PURPOSE SIMULATION SYSTEM)
• Lenguaje de simulación discreta
• Fue diseñado con un lenguajes emsamblador
• Diseñado por geofrey gordon en la decada de los 80’as
• Existen diferentes presentaciones
• Considera los procesos como entidades que se mueven dentro del sistema estos
procesos se conocen como transacciones

DESCRIPCION GENERAL
• Un bloque representa una accion o evento que puede afectar a una o mas
transacciones y cambiar el estado del sistema

• La colección de bloques representa al sistema total llamado diagrama de bloques

• Cada bloque en el diagrama de bloque representa una linea en el programa fuente


• No es un lenguaje estructurado

FUNCIONES y VARIABLES, PARAMETROS y SAVEVALUES. Utilizando el lenguaje


GPSS

VARIABLES
Cuando es necesario realizar un cálculo se define una variable (expresión aritmética que
devuelve un valor). Es decir, en GPSS, una variable devuelve un valor cada vez que se la
invoca. A diferencia de otros lenguajes, no es posible asignar valor a una variable, ya que
esta define una expresión aritmética, la cual se evalúa cada vez que una transacción hace
referencia a la variable así definida.
SINTAXIS DEL BLOQUE VARIABLE
La sintaxis de este bloque es la siguiente:
nombr VARIABLE operandos y operadores
numer VARIABLE operandos y operadores
nombr : es el nombre de la variable
numer : es el número de la variable (Sólo en main frames)
operadores: # para multiplicar (* en main frames)
/ para dividir
@ para obtener el resto de la división
+ para sumar
- para restar
^ para colocar el exponente (sólo para PC)
operandos: cualquier atributo numérico estandar (SNA).

SIMNET
El diseño de simnet se basa en la idea general de los modelos de simulación discreta
pueden crearse de una u otra manera como sistemas de líneas de espera.

Los nodos en sinnet II estan conectados por ramas. Conforme las transacciones recorren las
ramas estas ejecutan importantes funciones en las entre las que se encuentran.

• Controlar el flujo de transacciones en cualquier parte de la red


• Recolectar estadísticas pertinentes
• Efectuar cálculos aritméticos

OTRAS CAPACIDADES DE SIMNET II

• Ambiente interactivo de depuración y ejecución

• Estimación del periodo fe transmisión usando graficas interactivas

• Implementación interactiva de los métodos del subintervalo y de replica para


recolectar estadísticas globales

• Lectura y escritura de desde archivos externos durante la ejecución

• Uso de indexación para presentar segmentos de modelación repetitiva

• Simnet se basa en el uso de cuatro nodos solamente lo que hace muy fácil de
aprender y usar a pesar de la simplicidad el lenguaje es simplemente poderoso para
abordar las situaciones mas complejas

• Simnet es total mente interactivo tanto como para depurar así como parar también
obtener resultados estadísticos globales, permite la estimación del periodo de
transmisión y luego la implementación del método estadístico global del subintervalo
o de replica siempre sin salir del método interactivo de ejecución.

4.1.2 SIMULADORES PROMODEL TAYLOR ED ARENA


WITNESS, ETC.

ProModel es un simulador con animación para computadoras personales. Permite


simular cualquier tipo de sistemas de manufactura, logística, manejo de
materiales,etc. Puedes simular bandas de transporte, grúas viajeras, ensamble,
corte, talleres, logística, etc.

ProModel es un paquete de simulación que no requiere programación, aunque sí lo


permite. Corre en equipos 486 en adelante y utiliza la plataforma Windows®. Tiene
la combinación perfecta entre facilidad de uso y flexibilidad para aplicaciones
complejas.

Puedes simular Justo a Tiempo, Teoría de Restricciones, Sistemas de Empujar,


Jalar, Logística, etc. Prácticamente, cualquier sistema pueder ser modelado.

Una vez hecho el modelo, éste puede ser optimizado para encontrar los valores
óptimos de los parámetros claves del modelo. Algunos ejemplos incluyen determinar
la mejor combinación de factores para maximizar producción minimizando costo,
minimizar el número de camiones sin penzliar el servicio, etc.

El módulo de optimización nos ayuda a encontrar rápidamente la solución óptima, en


lugar de solamente hacer prueba y error. ProModel cuenta con 2 optimizadores
disponibles y permite de esta manera explotar los modelos de forma rápida y
confiable.

Beneficios Clave

 Único software de simulación con Optimización plenamente intregrada


 Creación de modelos rápida, sencilla y flexible.
 Modelos optimizables.
 Elementos de Logística, Manejo de Materiales, y Operaciones incluídas.
(Bandas de transporte, Grúas Viajeras, Operadores).
 Entrenamiento en Español.
 Resultados probados.
 Importación del Layout de Autocad, y cualquier herramienta de CAD / CAE /
Diseño, así como de fotografías digitales.
 Soporte Técnico 24 horas al día, 365 días del Año.
 Integración a Excel, Lotus, Visual Basic y herramientas de Microsoft.
 Genera en automático las gráficas en 3 dimensiones para visualización en el
espacio tridimensional.
Software Inc., WITNESS de ATT & Istel , o FACTOR/AIM de Pritsker Corporation ,
FIX DEMACS de Intellution (Fisher-Rosemount). Todos ellos son productos
orientados primordialmente a la utilización de la simulación para la resolución
de problemas en el ámbito de la producción. Utilizables desde entorno Windows,
y ejecutables sobre computadoras personales o sobre plataformas mas potentes
como Estaciones de trabajo (Workstations).

Estos permiten construir modelos complejos de manera incremental, a partir de la


selección de componentes del sistema de entre un repertorio limitado a la
extensión de las librerías que contienen unas entidades predefinidas, si bien las
ultimas tendencias añaden a estos paquetes editores para crear nuevas plantillas
con características a gusto del consumidor, introduciendo además utilidades de todo
tipo incluidas las gestiones de configuración y control de las comunicaciones con un
sistema de control real al que se puede conectar el equipo.

Ventajas:

 Sirven para comunicar la esencia del modelo de simulación a los directivos.

 Puede ayudar a corregir errores del programa de simulación, o a mostrar que


el modelo no es válido.

 Puede ayudar a entender el comportamiento dinámico del sistema.


Inconvenientes:

 No puede sustituir a un cuidadoso análisis estadístico de los resultados.


 Sólo una parte de la lógica del modelo de simulación puede verse en la
animación, y no se puede concluir a partir de ese corto periodo de tiempo que
el modelo está bien definido. Aumenta el tiempo para desarrollar el programa
de simulación.
 Muy lenta la animación en directo.

Otro enfoque se puede derivar de los lenguajes de simulación y de los simuladores


es el de los Sistemas Híbridos que combinan la flexibilidad de un lenguaje de
simulación con la facilidad de uso de un simulador como lo son el ARENA y el
QUEST.

4.2 APRENDIZAJE Y USO DE UN SIMULADOR


Simulador Taylor Ed.
El Taylor Ed es un paquete de software desarrollado por la compañía fabricante de
software FLEXIM. El precursor del Taylor Ed fue el Taylor II, pero los
desarrolladores hicieron la nueva versión partiendo de desperdicio. A pesar de
esto, existen similitudes entre los dos paquetes, tales como la visión del usuario y
la arquitectura del software. El precio del Taylor ED es la mitad del precio del
WITNESS y cinco veces mas que el SIMUL8 y el EXTEND.

La integración del Taylor Ed con otro software es manejado por un


encadenamiento DDE, el cual distribuye la información hacia y desde el EXCEL,
por ejemplo, u otro software para el manejo de datos estructurados. Este DDE usa
diferentes formatos de ases de datos, tales como SQL o XML. Esto es continuo
las conexiones pueden tomar lugar antes o después que la simulación es
realizada.

El concepto de modelación en el Taylor ED es el mismo que el desarrollador uso


en el Taylor II. Este concepto es diferente de otros softwares. En el Taylor ED,
todo es un átomo (producto, máquina, el modelo mismo, la aplicación del
software), comparado con el SIMUL8, el cual consiste de cinco bloques de
construcción, y el EXTEND el cual consiste de más de 100 bloques de
construcción. El flujo de conexiones entre los átomos en Taylor ED esta
determinado a través de canales, que es lo mismo que los encadenamientos en
otros softwares.
Los objetos desarrollados para un modelo pueden rápidamente ser almacenados
en librerías para ser usadas en otros modelos, reduciendo el consumo de tiempo, y
la duplicidad de esfuerzo.

El FLEXSIM viene con una extensa librería de objetos robustos listos para usarse.
Los usuarios pueden rápidamente modificarlos usando el editor de objetos
integrado, o puede crear el propio partiendo de la nada usando el C++ o el
poderoso Flexscript una librería precompilada del código C++ que puede controlar
virtualmente cada aspecto del programa.

La característica de la arquitectura del FLEXSIM son su apertura e


interconectividad. El FLEXSIM esta totalmente integrado con el C++, tal que
los usuarios puedan rápidamente modificar el FLEXSIM para reunir las
necesidades específicas sin tener que aprender el código apropiado.

Toda la animación es OpenGL y todas las gráficas son del estándar industrial
de objetos 3DS, DXF, WRL, o STL. Los resultados pueden ser exportados vía
DDE, ODBC, y conectores Windows. Otras aplicaciones complementarias como
Expert Fit, OptQuesy, y VISIO™ están también compiladas para agregar
flexibilidad y facilidad de uso.
4.2.1 CARACTERÍSTICAS DEL SOFTWARE
1. El software se desarrolla o construye; no se manufactura en el sentido clásico.

A pesar de que existen similitudes entre el desarrollo del software y la manufactura


del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la
alta calidad se alcanza por medio del buen diseño, la fase de manufactura del
hardware puede incluir problemas de calidad existentes en el software.

2. El software no se desgasta.
El software es inmune a los males ambientales que desgasten el hardware. Por lo
tanto la curva de tasas de fallas para el software debería tener la forma de la “curva
idealizada”. Los defectos sin descubrir causan tasas de fallas altas en las primeras
etapas de vida de un programa. Sin embargo, los errores se corrigen y la curva se
aplana: el software no se desgasta, pero si se deteriora.

3. A pesar de que la industria tiene una tendencia hacia la construcción por


componentes, la mayoría del software aun se construye a la medida.

Un componente de software se debe diseñar e implementar de forma que puede


utilizarse en muchos programas diferentes.

Los componentes reutilizables modernos encapsulan tanto los datos como el


proceso se aplican a estos, lo que permite al ingeniero de software crear nuevas
aplicaciones nuevas a partir de partes reutilizables.

Animación de Entidades en Arena

Definición: Consiste en asignarle una figura o dibujo a la entidad que se mueve


dentro del modelo

Para cualquier modelo en general, la figura inicial que adoptan las entidades que
ingresan al sistema se define en la hoja de de trabajo de la entidad (Entity). Si se
requiere un posterior cambio de figura, éste se puede realizar mediante el módulo
Assign.

Las diferentes figuras que se van emplear en el modelo se pueden definir y editar en
la ventana de remplazo de figuras (Entity picture placement). Se accede a esta
ventana desde la barra de menús mediante las instrucciones Edit/Entity pictures.

Animación de un recurso

Consiste en asignar una figura específica a cada estado que el recurso pueda
adoptar, por ejemplo, ocupado, ocioso, en reparación, etc. Para esto se cuenta con
la barra Animate, la cual contiene el icono que permite acceder a la ventana de
animación de recursos.

Animación del valor de una variable en el modelo

Consiste en mostrar de manera numérica o gráfica el valor actual en tiempo


simulado de una variable, con el fin de verificar el funcionamiento de la lógica
empleada, estudiar su comportamiento en el tiempo o, simplemente, por razones
estéticas.

Gráficas
Es un recurso de animación de variables en forma de gráfico en un plano
coordenado cuyo eje X es el tiempo y el eje Y, el valor de una variable. En otras
palabras, se trata de un recurso que grafica el valor de la variable de interés en el
tiempo.

4.2.2 ELEMENTOS DEL MODELO


El modelo en promodel debe contener al menos los siguientes elementos:
Locaciones, Entidades, Arribos y proceso.

•Promodel utiliza un enfoque gráfico


•Cada elemento tiene una ventana de gráficas
•Al dar click en la gráfica, y después click en el layout, se crea un elemento.
•Cada elemento que se crea tiene asociado un registro en la tabla.

1.- LOCACIONES.- Estos representan las máquinas o personas que atienden,


procesan, transforman, etc. a las entidades. Consiguientemente, son estáticas
dentro del sistema, ya que no es de esperarse que una máquina se mueva de un
lugar a otro.

CONSTRUCCIÓN DE LOCACIONES

Para construir locaciones:


•Clickizquierdo en el icono de locación deseado en la ventana de herramientas
gráficas, después clickizquierdo en la ventana del layout donde se desea que
aparezca la locación.

•Se crea automáticamente un registro para la locación en la tabla de edición de


locaciones.

•El nombre, unidades, capacidad, et. Pueden entonces ser modificados al dar click
en el cuadro apropiado y tecleando los cambios.

Recomendación: evite acentos, Ñs, puntos, comas y demás caracteres.

2.- EDTIDADES.- Que son aquellas cosas que son procesadas dentro del
sistema, es decir, son aquellas personas, partes, insumos, documentos, productos,
etc. que ingresan al sistema para ser transformados en productos finales o clientes
atendidos. Como es de esperarse, estas entidades son altamente dinámicas, ya que
pasan de una estación de servicio o máquina, a otra.

PARA CONSTRUIR ENTIDADES:

• Clickizquierdo en la gráfica deseada en la ventana de herramientas de gráficas de


entidades.

• Se crea automáticamente un registro en la tabla de edición de entidades

• Puede entonces modificarse el nombre, y el tamaño de la entidad y puede


ajustarse al moverse la barra deslizable.

Recomendación: evite acentos, Ñs, puntos, comas y demás caracteres

3.- ARRIBOS.- Este componente define cómo será alimentado el sistema con
entidades; es decir define parámetros tales como la cantidad, tipo, frecuencia y lugar
de arribo de las entidades.

PARA CREAR LLEGADAS:

o Clickizquierdo en el nombre de la entidad en la ventana de herramientas, y


clickizquierdo en la locación a donde se quieren que llegue las entidades.

o Entity: La entidad que llega.

o Location: La locación a donde llega la entidad

o QtyEach: Cantidad por ocasión. El número de entidades en un grupo que


llegarán en un tiempo especificado.

o FirstTime: La primera vez (en el tiempo reloj de la simulación) que comenzará


el patrón de llegadas.
o Occurrences: Ocurrencias. El número de veces que llegarán los grupos de
entidades.

o Frequency: Frecuencia. El tiempo entre ocurrencias.

4.- PROCESO.- Define la forma cómo se moverán las entidades entre las
locaciones, más aún, se encarga de proveer las reglas que determinan cómo
procesará cada máquina una entidad y el tiempo de ese procesamiento.

El menú de proceso define las rutas y las operaciones que se llevan a cabo en las
locaciones para las entidades en su viaje por el sistema. También puede decirse que
generalmente se conocen o hacen parte de la información recolectada del sistema,
los diagramas de proceso u operación, estos se transcribirán al computador para
formar el proceso. Antes de crear el proceso es necesario definir entidades,
locaciones, recursos y path networks.

Además de los componentes básicos, ProModel permite asignar recursos como


personal de mantenimiento, electricidad, agua, gas, etc. a cada operación realizada
en una locación. Es posible asignar costos para todos los componentes, de forma
que no sólo se pueda determinar el tiempo de producción, sino también el costo de
cada producto terminado o cliente atendido.

PARA CREAR LLEGADAS Ó ARRIBOS:

 Clickizquierdo en el nombre de la entidad en la barra de herramientas, y


después clickizquierdo en la locación de inicio.

 Clickizquierdo en la locación destino.

 Se crea un registro de proceso automáticamente.

 Para añadir más líneas de rutas al mismo registro, clickizquierdo en el botón


AddRouting(añadir rutas) en la ventana de herramientas.

 Para enviar la entidad a Exit(que salga del sistema), simplemente dar


clickizquierdo en el botón RoutetoExit(enviar a salida) en la ventana de
herramientas.

5.- RECURSOS: Además de los componentes básicos, ProModel permite asignar


recursos como personal de mantenimiento, electricidad, agua, gas, etc. a cada
operación realizada en una locación.

Es posible asignar costos para todos los componentes, de forma que no sólo se
pueda determinar el tiempo de producción, sino también el costo de cada producto
terminado o cliente atendido.

PARA CREAR RECURSOS:


o Ir a Build/Resources y dar click en la gráfica deseada en la caja de herramientas
de los recursos. Automáticamente se crea un registro en la tabla de edición de
recursos.

En el registro se puede modificar el nombre del recurso, el número de unidades y


las especificaciones.

o Las especificaciones permiten definir la red física por la que viaja el recurso, los
nodos sobre los cuales se estaciona y el movimiento del recurso.

4.2.4 CONSTRUCCIÓN DEL MODELO


Generación y análisis de reportes

Luego de la construcción de simulación se deben fijar los parámetros necesarios


para la corrida de éste. En ARENA se pueden incluir, como parámetros del proyecto,
y según el modelo, la información del modelo, el nombre del analista y el tipo de
estadísticas que se va a recolectar. Por otra parte, el número de réplicas, el período
de estabilización, la longitud de la corrida y las unidades básicas de tiempo, entre
otros aspectos, se incluyen como parámetros de la corrida.

El control de corridas se hace desde la barra de menús y mediante las instrucciones


Run/Setup.
Manejo de reportes

El reporte que aparece es el que se señala como predeterminado. Si se escoje el


resumen general (Category overview), la siguiente será la primera hoja que se verá.

Interpretación de resultados

A continuación se explica el contenido de cada reporte; además se dan las pautas


que permiten su correcta interpretación para las funciones del panel de procesos
básicos.
4.2.5 PRACTICAS USANDO EL SIMULADOR DE
PROBLEMAS APLICADOS A SERVICIOS, SISTEMAS
PRODUCTIVOS, DE CALIDAD, DE INVENTARIOS,
ECONÓMICOS, ETC.
Ejemplos

Para simular una ruleta (números al azar entre 0 y 36):

RULA FUNCTION RN2,C2 (RN2 nunca alcanza el valor 1, por 0,0/1,37 lo que nunca
puede salir el 37)

Para simular un dado (números al azar entre 1 y 6):

DADO FUNCTION RN2,C2 Mínimo valor es 1; Máximo valor es 6.999... 0,1/1,7


Recordar que trunca los decimales

Ambas funciones son continuas. El sistema interpola linealmente entre los dos
puntos definidos, entregando un valor entero (trunca los decimales). Un hecho
común es tener arribos de transacciones en forma totalmente al azar ("random"). El
arribo puede ocurrir en cualquier momento; la probabilidad de arribo aumenta con el
tiempo. Es decir la probabilidad p de un arribo se define:

p = valor medio x t

Se demuestra que la distribución es exponencial:

f(t)=valor medio . e -valor medio.t

La probabilidad acumulada y=F(t) se obtiene integrando la función f(t) entre 0 y t.

y=1-e-valor medio.t

-valor medio . t = ln(1-y)

Para valor medio igual a uno:

t = -ln(1-y)
Se puede definir la función POISS basándose en lo anterior:

POISS FUNCTION RN4,C24

0.0,0.0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509/0.5,0.69
0.6,0.915/0.7,1.2/0.75,1.38/0.8,1.6/0.84,1.83/0.88,2.12
0.9,2.3/0.92,2.52/0.94,2.81/0.95,2.99/0.96,3.2/0.97,3.5
0.98,3.9/0.99,4.6/0.995,5.3/0.998,6.2/0.999,7.0/0.9997,8.0

Si se quiere generar arribos de personas con un valor medio igual a 60 y distribución


exponencial, basta con representar este arribo con el bloque:

GENERATE 60,FN$POISS

Si se quiere bifurcar en un 20% al rótulo CAJA

en un 30% al rótulo BAR


en un 40% al rótulo INF
en un 10% al rótulo CHAU

se define la función UNO, con la probabilidad acumulada:

UNO FUNCTION RN2,D4, 2,CAJA/.5,BAR/.9,INF/1,CHAU

y se representa la bifurcación a las cuatro opciones propuestas:

TRANSFER ,FN$UNO

En un sistema en dónde se comienza a simular partir de las 8 de la mañana, si se


quiere simular que:

hasta las 10 de la mañana bifurca el 50% al rótulo BAR


entre las 10 y las 12 hrs bifurca el 70% al rótulo BAR
a partir de las 12 horas bifurca el 100% al rótulo BAR

BIF FUNCTION AC1,D3 se supone que la unidad de tiempo es


7200,500/14400,700/28800,1000 el segundo; AC1 es el reloj (cero al comenzar la
simulación; vuelve a cero con CLEAR).

Para representar la bifurcación propuesta, se debe colocar:

TRANSFER FN$BIF,,BAR (en PC)


TRANSFER .FN$BIF,,BAR (en "main frame")

Parámetros y Savevalues
Los atributos de las entidades de un sistema pueden variar a lo largo de una
simulación. Por ejemplo, la cantidad de cajas habilitadas en un lugar de atención al
público ó la cola que elige cada persona a la salida de un supermercado.

En GPSS existen casilleros de memoria donde se pueden almacenar estos valores.


Existen dos tipos bien diferenciados:

- Pertenecientes a las transacciones (parámetros): cada transacción tiene sus


casilleros de memoria que le son propios (Al nacer la transacción se inicializan en
cero; al morir son destruidos, liberándose la memoria utilizada). Son como "bolsillos"
de la transacción; cada transacción tiene acceso a sus propios parámetros. En "main
frame" la cantidad de parámetros que tiene una transacción es fija y es igual a 12
(aunque se puede modificar utilizando el sexto operando del

GENERATE). En PC arma una lista con el nombre/número de cada parámetro


utilizado.

- Comunes al sistema (Savevalues): Es como un vector con casilleros de carácter


público a los que todas las transacciones tienen acceso. Son como carteles con
valores numéricos que todas las transacciones tienen a su alcance. Se inicializan en
cero antes de comenzar la simulación (salvo indicación en contrario en el bloque
INITIAL).

Parámetros, asignación de valores:

Mediante el bloque ASSIGN se modifica el valor de los parámetros.

SINTAXIS DEL BLOQUE ASSIGN

La sintaxis de este bloque es la siguiente:

ASSIGN A,B
ASSIGN A+,B
ASSIGN A-,B

· A: es el número del parámetro a asignar; sumar; restar

· B: valor a asignar; sumar; restar del parámetro A.

NOTA: En PC, el operando A puede ser un nombre.


UNIDAD 5 PROYECTO DE APLICACIÓN

Aviones de Carga
Considere el servicio terminal de una compañía de carga aérea que tiene muchos aviones de
carga. Los aviones de carga son programados llegar a la terminal uno al principio del día, para una
posible operación de mantenimiento. Cada avión es inspeccionado conforme arriba. Asuma que la
duración de la inspección es mínima. Una vez que es inspeccionado, la probabilidad de encontrar
un avión con necesidad de servicio de mantenimiento es de 0.5; que es, un promedio del 50% de
los aviones tienen necesidad del servicio de mantenimiento. Sí un avión necesita servicio, la
operación de mantenimiento puede tomar ya sea 0.5, 1, 1.5, 2, 2.5, o 3 días. La posibilidad de que
un avión requiera cualquiera de estos servicios es de 1/6.

La compañía de carga generalmente utiliza una instalación de mantenimiento en la terminal. Cada


avión en tierra le cuesta a la compañía $5000 por día. El administrador de la compañía esta
interesado en investigar el atractivo económico de utilizar una instalación adicional de servicio en la
terminal. Cada instalación le cuesta a la compañía $2500 por día rentarla y operarla.

Se elabora la tabla de donde se generará la información relativa a la duración del servicio

ProbabilidadAcumuladaDuración

1/6 0 0.5

1/6 0.166670 1

1/6 0.333340 1.5

1/6 0.500010 2

1/6 0.666680 2.5

1/6 0.833350 3
Para determinar si un avión al aterrizar requiere o no servicio, se considera por existir dos
posibilidades; que existe un 50% de probabilidad de que requiera servicio y un 50% de que no
requiera. Se analiza en la tabla siguiente el comportamiento de este sistema para una y dos
instalaciones de servicio para 100 días de operación.

Una Instalación
de Servicio Dos Instalaciones

Numero Requiere Numero


Día Aleatorio Manto. Aleatorio DDS DIS DTS NDO DIS DTS1 DTS2 NDO IN

1 0.2928 Si 0.5678 2.00 1.00 3 2.00 1.00 3 0 2.00 1

2 0.0314 Si 0.8073 2.50 3.00 5.5 3.50 2.00 3 4.50 1.00 2

3 0.0043 Si 0.9722 3.00 5.50 8.5 5.50 3.00 6 4.50 3.00 1

4 0.2567 Si 0.4721 1.50 8.50 10 6.00 4.50 6 4.50 2.00 2

5 0.5709 No 0.0000 0.00 0.00 10 0.00 0.00 6 4.50 0.00

6 0.3235 Si 0.1473 0.50 10.00 11 4.50 6.00 6.5 4.50 0.50 1

7 0.8838 No 0.0000 0.00 0.00 11 0.00 0.00 6.5 4.50 0.00

8 0.3805 Si 0.1980 1.00 10.50 12 3.50 8.00 9 4.50 1.00 1

9 0.7669 No 0.0000 0.00 0.00 12 0.00 0.00 9 4.50 0.00

10 0.5615 No 0.0000 0.00 0.00 12 0.00 0.00 9 4.50 0.00

91 0.4309 Si 0.1180 0.50 94.50 95 4.00 91.50 92 93.00 1.00 1

92 0.3604 Si 0.2066 1.00 95.00 96 4.00 92.00 93 93.00 1.00 1

93 0.0181 Si 0.2703 1.00 96.00 97 4.00 93.00 94 93.00 1.00 1

94 0.9460 No 0.0000 0.00 0.00 97 0.00 0.00 94 93.00 0.00

95 0.2206 Si 0.6068 2.00 97.00 99 4.00 95.00 97 93.00 2.00 1


96 0.8654 No 0.0000 0.00 0.00 99 0.00 0.00 97 93.00 0.00

97 0.2081 Si 0.2103 1.00 99.00 100 3.00 97.00 98 93.00 1.00 1

98 0.1012 Si 0.2152 1.00 100.00 101 3.00 98.00 99 93.00 1.00 1

99 0.8101 No 0.0000 0.00 0.00 101 0.00 0.00 99 93.00 0.00

100 0.6454 No 0.0000 0.00 0.00 101 0.00 0.00 99 93.00 0.00

Tiempo Total
Ocioso 251.00 78.00

Tiempo
Promedio
Ocioso 2.510 0.780

Costo Promedio
Total $15,050.00 $8,900.00

DDS=Duración de los días de servicio, DIS=Día que inicio del servicio, DTS=Día que termina
el servicio, NDO= Numero de días ociosos, DTS1,DTS2=DTS para la instalación 1 o 2.

A continuación se muestran 10 corridas del sistema y el promedio del análisis del costo con
una y dos instalaciones, resultando más conveniente tener dos instalaciones

Una Instalación Dos Instalaciones

No. de Corridas$11,025.00 No. de Corridas $8,750.00

1 14625 1 9175

2 10150 2 9050

4 29950 4 9600

5 16350 5 8325

6 7550 6 8375

7 18075 7 9225

8 8450 8 9025

9 14175 9 9725

10 19375 10 8925

Promedio $14,972.50Promedio $9,017.50


CONCLUSIONES

REFERENCIAS

 Http://fis.unab.edu.co/docentes/gbarrera/introduccion_simulacion.pdf
 www.itson.mx/dii/atorres/Introd.doc
 http://es.wikipedia.org/wiki/Simulaci%C3%B3n_por_eventos_discretos
 http://fis.unab.edu.co/docentes/gbarrera/Introduccion_Simulacion.pdf
 http://scielo.isciii.es/scielo.php?pid=S0213-91112008000200012&script=sci_arttext
 http://fis.unab.edu.co/docentes/gbarrera/Introduccion_Simulacion.pdf
 http://www.material_simulacion.ucv.cl/en%20PDF/aleator11.pdf
 http://teorica.fis.ucm.es/programas/MonteCarlo.pdf
 http://docencia.udea.edu.co/ingenieria/isi-494/contenido/exposicion.html
 http://www.um.es/or/ampliacion/node16.html
 http://www.exa.unicen.edu.ar/catedras/inv_op/apuntes/Apunte_Teorico_MC_2005.pdf
 http://www.investigacion-operaciones.com/conceptos_modelos.htm
 http://www.promodel.com.mx/promodel.php
 http://www.foroswebgratis.com/mensaje-elementos_basicos_de_un_modelo_en_promodel-143351-1656199-1-
5660941.htm
 http://unitecnicasjenny01.files.wordpress.com/2011/04/promodel.pdf
 http://es.scribd.com/doc/72312861/2/COMO-CREAR-ELEMENTOS-DEL-MODELO-EN-PROMODEL?
 http://www.promodel.com.mx/promodel.php

Simulación y análisis de sistemas con ProModel


Eduardo García Dunna, Heriberto García Reyes.
Pearson Educación, 2006 - 270 páginas

Simulation Using ProModel


Charles Harrell, Biman K. Ghosh
McGraw-Hill Companies,Inc., - 704 páginas

ProModel: manufacturing simulation software : user's guide


PROMODEL Corporation
PROMODEL Corp., 2002 - 696 páginas
http://www.itescam.edu.mx/principal/webalumnos/sylab
us/asignatura.php?clave_asig=INE-
0405&carrera=IIND0405001&id_d=68
we

Potrebbero piacerti anche