You are on page 1of 22

Simulacin es un trmino que ha sido utilizado, para describir diferentes clases de actividades.

Por ejemplo los ejercicios militares y sus planes de batalla; o como en los programas de
entrenamiento para los pilotos, que utilizan simuladores o laboratorios bajo condiciones
simuladas.

La palabra simulacin, viene del latn simulare, equivalente a analoga, imitacin o


metfora. Lo que ofrece una importante caracterstica de la simulacin, es la imitacin. En
nuestra vida diaria, los nios con sus micro mundos, que son roles de juegos de casa, simulan la
vida de la familia; o las nias con sus muecas, que simulan las relaciones humanas.

Obtencin de la esencia, sin contar la realidad, segn el Websters Dictionary.

1. Introduccin a la simulacin
La simulacin es una de las ms poderosas herramientas de anlisis disponibles, para los
responsables del diseo y operacin de sistemas o procesos complejos.

Desgraciadamente, no existe acuerdo respecto a una definicin precisa de la palabra


simulacin, la propuesta por C. West Churchman es estrictamente formal: X simula a Y" s y
solo s:

X e Y son sistemas formales.


Y se considera como sistema real.
X se toma como una aproximacin del sistema real.
Las reglas de validez en X no estn exentas de error.

La definicin de Shubik es la definicin tpica entre las ms populares: Simulacin de


un sistema (o un organismo) es la operacin de un modelo (simulador), el cual es una
representacin del sistema. Este modelo puede sujetarse a manipulaciones que seran imposibles
de realizar, demasiado costosas o imprcticas.

La operacin de un modelo puede estudiarse y con ello, inferirse las propiedades


concernientes al comportamiento del sistema o subsistema real.

Segn Schriber, Envuelve la modelacin de procesos o sistemas, en el camino que el


modelo imita la respuesta de un sistema actual, a los eventos que ocurren en el tiempo.

Simulacin, es el proceso de disear un modelo de un sistema real y conducir


experimentos con este modelo, con el propsito de comprender la conducta del sistema y/o la
evaluacin de estrategias para la operacin del sistema, Shannon, 1975.

Roger Schroeder planteaba: La simulacin es una tcnica que puede utilizarse para
resolver una amplia gama de modelos. Su aplicacin es tan amplia que se ha dicho: cuando
todo falle, utilice simulacin.

La simulacin es, esencialmente, una tcnica que ensea a construir el modelo de una
situacin real aunada a la realizacin de experimentos con el modelo. Definicin bastante
amplia, que puede comprender situaciones aparentemente no relacionadas entre s, como los
simuladores de vuelo, juegos militares, juegos de gerencia, modelos fsicos de ros, modelos
economtricos, etc., desde la perspectiva de la ingeniera, nos interesa una definicin ms
restringida, solamente a experimentos con modelos lgicos o matemticos, pero adems no nos
interesan aquellos experimentos con elementos de microeconoma, que ocurren bajo
condiciones dadas de equilibrio esttico y producen soluciones completamente determinsticas.

En consecuencia, bajo estas restricciones, la definicin que plantea Thomas Naylor es


bastante adecuada: Simulacin, es una tcnica numrica para conducir experimentos en una
computadora digital, las cuales requieren ciertos tipos de modelos lgicos y matemticos, que
describen el comportamiento de un negocio o un sistema econmico (o algn componente de
ellos) en perodos extensos de tiempo real.

La idea central de la simulacin, es la interpretacin o por lo menos la nocin de un


modelo matemtico. Donde resulta importante la presencia de una computadora. Idea que
prevalece desde que Naylor, Balintfy, Burdick y Kong Chu, escribieran Computer Simulation
Techniques, all por los aos de 1966.

2. Modelos y sistemas

La simulacin, tiene su origen en la Fsica por su combinacin de leyes, y la Investigacin de


Operaciones, por la concepcin de eventos y actividades, como la tcnica de Monte Carlo.

Los tipos de problemas, que mejor son resueltos por la simulacin, son aquellos que
envuelven sistemas. La simulacin, es una tcnica que hace posible la comprensin de los
efectos de todas las interacciones, entre los elementos de un sistema.
Figura 1.1: Orgenes de la simulacin

Un sistema es un conjunto de partes, organizadas funcionalmente, para formar un todo.


Un subsistema, es una componente de un sistema total, el que puede ser tratado como una parte
del sistema total o un sistema independiente.

Los sistemas, muchas veces cambian dinmicamente en el tiempo; y la conducta de


ellos, depende de sus relaciones internas o interrelaciones dentro de sus subsistemas; como
tambin de las relaciones externas que conectan al sistema y el entorno.

La simulacin es una forma de estudiar un sistema, mediante la utilizacin de un


modelo. Un modelo es una representacin de un sistema.

Un modelo es una simplificacin de la vida real. Los parmetros o atributos, que los
caracterizan, las entradas y salidas del sistema real, forman parte del estudio de un sistema, a
travs del modelo.

Figura 1.2: caminos para estudiar un sistema

Los modelos, pueden clasificarse en una variedad de modalidades: modelos fsicos,


como los simuladores de vuelo y abstractos o matemticos, como los diagramas y las frmulas
matemticas.
Al ser los modelos abstractos, representados mediante variables y parmetros, hace
necesario que su manipulacin y almacenamiento, sea gestionada por una computadora; esto es
la creacin de un programa o software, lo que deja de lado la simulacin manual, por la
simulacin por computadoras.

Una distincin entre modelos matemticos por solucin analtica y por simulacin, es
que los primeros definen exactamente las relaciones entre las componentes del sistema. En la
simulacin, no es posible expresar las interrelaciones en una forma simblica o matemtica.
Comnmente, porque estas relaciones son muy complejas de expresar y manipular. Ver figura
1.2.

3. Tipos de modelos de simulacin

Los modelos de simulacin se pueden clasificar en esttico o dinmico, determinstico o


estocstico (probabilstico); y discreto o continuo. Ver figura 1.3.

Figura 1.3: Clasificacin de los modelos de simulacin

Un modelo de simulacin es esttico, cuando se representa el modelo en un punto del


tiempo; tambin son llamados Monte Carlo. Los modelos dinmicos, representan los cambios
de sistema, sobre el tiempo. Ver la figura 1.4, donde se presentan ejemplos de tales modelos.
Figura 1.4: Modelos estticos y dinmicos

Un modelo es determinstico, cuando no contiene variables aleatorias: sus entradas


originan un resultado nico. Un modelo de simulacin es estocstico, cuando una o ms de las
variables de entrada, son aleatorias. Un modelo de colas o de espera es estocstico, porque
comnmente la variable que representa el tiempo de nter arribos de los clientes al sistema,
como el tiempo de atencin, son variables, que estn representadas por una distribucin de
probabilidades. Esto es comn en los sistemas de atencin que ocurre en los supermercados. Ver
figura 1.5.
Figura 1.5: Clasificacin por la presencia de la aleatoriedad

Los sistemas de simulacin, en atencin al tiempo, se clasifican en discretos o


continuos; ver la figura 1.6. En un sistema discreto, se contabilizan por ejemplo, las llegadas de
los clientes al sistema de espera, la longitud de la cola; y el nmero de clientes que son
atendidos en el sistema. Ver figura 1.7(a).
Figura 1.6: Clasificacin en atencin al cambio del estado

Un sistema de simulacin continuo, es utilizado para modelar conductas continuas, tal


como las que son obtenidas por la solucin de tcnicas numricas, de las ecuaciones
diferenciales ordinarias. Conductas poblacionales, sistemas ecolgicos, son algunas muestras de
esta clase de simulacin. Existen modelos combinados o hbridos de discretos y continuos. Tal
como ocurre en las operaciones en un grifo que expende combustible, donde el tanque del
establecimiento, disminuye su stock, y es llenado por la llegada de un camin cisterna que lo
abastece. Ver la figura 1.7 (b).
Figura 1.7: Discretos y continuos

4. Metodologa de la simulacin
Los procesos de modelar y simular involucran la formulacin y solucin de un problema. El
proceso de modelacin es iterativo, porque el acto de modelar revela la informacin importante
fragmentaria.

Esta informacin apoya las acciones que hacen al modelo y sus medidas de salida ms
relevantes y exactas.

El proceso de modelacin contina, hasta que el detalle o la informacin adicional ya no


son necesarios para la resolucin del problema.

Durante el proceso iterativo, las relaciones entre el sistema en estudio y el modelo son
continuamente definidas y redefinidas.

En la figura 1.8, se presentan los pasos sugeridos en la ejecucin los proyectos que
utilizan la modelacin y la simulacin.
Figura 1.8: Metodologa de la simulacin
Autores diversos, como Shanon, Law y Kelton, Bank y Carson y Geoffrey Gordon,
coinciden en que la metodologa para un estudio de simulacin, consiste de los siguientes pasos:
formulacin del problema, recogida de informacin y modelacin, construccin del programa,
ejecucin de pruebas. Una vez que el modelo pasa las pruebas al ser contrastado con la realidad,
vienen las etapas de diseo de experimentos y anlisis de las corridas.

Segn Bank y Carson, La etapa del modelado, es arte antes como ciencia. El arte de la
modelacin, est llevado por la habilidad de abstraccin del modelador, para capturar la esencia
del problema y plasmar los supuestos que caracterizan al sistema. El resultado de los problemas
encontrados y su respectiva solucin, compensarn el esfuerzo en la calidad de los resultados.

La etapa de la construccin del programa, requiere de la traslacin del mundo real, al


almacenamiento de informacin y el procesamiento en una computadora. El trmino de
construir un programa de computadoras o software, se encuentra ligado al uso de un lenguaje de
simulacin. Aqu el modelador debe optar por un lenguaje de simulacin. Nombres como GPSS,
SIMAN, SLAM SYSTEM, AWESIM, ProModel, ARENA, SIMIO y otros de una larga lista,
son algunos de estos lenguajes de simulacin.

5. Lenguajes de simulacin
La evolucin de la simulacin significa el trnsito de fases como: manual, programacin en
lenguajes con propsitos generales, lenguajes de simulacin y simuladores de alto nivel. Ver
figura 1.9.

Muchas propiedades en programacin de modelos de simulacin discreta, tales como:


Generadores de nmeros aleatorios, Generadores de variables aleatorias, rutinas del siguiente
evento, avances de tiempo, recopilacin de estadsticas, reportes, etc., han sido desarrolladas en
lenguajes especiales, orientados a simulacin, dejando la ardua labor de programacin en
FORTRAN, C, o PASCAL a lenguajes de simulacin, los que incluyen facilidades de
animacin. Actualmente, existen cerca de un centenar software de simulacin, disponibles
en una variedad de computadoras.

Por otra parte, los lenguajes de simulacin ofrecen mayores ventajas: Automticamente
proveen muchas de las facilidades necesarias en la simulacin del modelo, proveen un natural
ambiente para modelacin de la simulacin, fciles de usar, proveen una gran interaccin entre
edicin, depuracin y ejecucin. Esto ltimo, es el arte de la ingeniera de software.

Existen en el mercado dos grandes clases de software para simulacin: los lenguajes y
los simuladores. Un lenguaje de simulacin, es un software de simulacin de naturaleza general;
y posee algunas caractersticas especiales para ciertas aplicaciones; tal como ocurre con SLAM
y SIMAN con sus mdulos 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 propsitos especiales), es un paquete de computadoras que permite


realizar la simulacin para un ambiente especifico, no requiriendo esfuerzo en programacin.
Hoy en da existen simuladores para ambientes de manufactura y sistemas de comunicacin
permitiendo un menor tiempo en el desarrollo del modelo, as como tambin contar con el
personal sin experiencia en simulacin.
Figura 1.9: Evolucin de la simulacin
Los simuladores son actualmente muy utilizados para el anlisis en alto nivel,
requirindose nicamente agregar detalles en un cierto nivel, puesto que lo dems es estndar.

CACI Products Company autor de SIMSCRIPT II.5 es tambin autor de los simuladores
SIMFACTORY II.5, NETWORK II.5 y COMNET II.5, muy utilizados en estos ltimos tiempos
para simulaciones de sistemas de manufactura, redes de computadoras y redes de
telecomunicaciones.

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


debe de proporcionar un medio automtico de almacenamiento y recuperacin de estas
entidades. Atendiendo a la orientacin del modelado de una simulacin discreta, existen tres
formas:

Programacin de eventos.
Procesos.
Examen de actividades.

Una programacin al evento es modelada, identificando las caractersticas 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
SIMCRIPT II.5 y SLAM II estn orientados al evento.

Una interaccin al proceso, es una secuencia de tiempos interrelacionados, describiendo


la experiencia de una entidad a travs 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.

En el examen de actividades, el modelador define las condiciones necesarias al empezar


y finalizar cada actividad en el sistema. El tiempo es avanzado en iguales incrementos de
tiempo y en cada incremento de tiempo, las condiciones son evaluadas para determinar si
alguna actividad puede estar empezando o terminando. El ESCL, es un lenguaje de simulacin
muy popular en Europa y fue desarrollado en FORTRAN.
SOFTWARE
DE
SIMULACIN

CONTINUOS DISCRETOS
NIVEL DEL SISTEMA

PROPSITOS PROPSITOS
ESPECIALES GENERALES
NIVEL DE APLICACIN

PROGRAMACIN INTERACCIN EXAMINACIN


EVENTOS AL PROCESO DE ACTIVIDADES

BASADO EN INSTRUCCIONES
BLOQUES
REDES DEL USUARIO

Figura 1.10: Clasificacin del software de simulacin

GASP IV, es un lenguaje de simulacin desarrollado por Alan B. Pristker y N. Hurst en


1973. es un lenguaje hbrido porque puede ser usado para programas de simulacin discretos,
continuos y combinados; siendo el primero en integrar completamente estos dos ambientes de
funcin del tiempo, GASP IV es un derivado de GASP II, y se diferencia por la definicin del
evento espacio-tiempo (state space event).

SIMSCRIPT II.5, fue desarrollado en la RAND Corporation por H. Markowitz en los


inicios de la dcada de los aos 60. SIMSCRIPT II.5, es un lenguaje de simulacin con
orientacin al evento y al proceso; es hbrido porque posee facilidades para simulacin de
sistemas discretos y continuos.

SIMSCRIPT II.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
versin PC; destacando su ambiente de SIMGRAPHICS.

La versin original del SIMAN (Simulation and Anlisis) fue desarrollada por Dennis
Pegden, en la Universidad de Alabama, cuando era lder del grupo de desarrollo de la versin
original de SLAM (basada en los software de GASP y QGERT de Pristker and Associates). Ms
tarde, Pegden inicia su trabajo en Pennsylvania State University, donde lo disea como un
lenguaje de modelamiento para propsitos generales, incluyendo facilidades de manufactura,
muy tiles en el modelamiento de sistemas complejos de manufactura.

Desde su implementacin inicial en 1984, ha sido continuamente refinado por System


Modeling Corporation; en 1988 y 1989, el lenguaje fue completamente rediseado dando origen
a SIMAN/Cinema.

El ambiente de modelacin de 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 de inicio).

SIMAN, modela un sistema discreto usando la orientacin al proceso; es decir es un


modelo de sistema particular, donde se estudian las entidades que se mueven a travs del
sistema. Una entidad para SIMAN es un cliente, un objeto que se mueve en la simulacin y que
posee caractersticas nicas, conocidas como atributos. Los procesos denotan la secuencia de
operaciones o actividades a travs del que se mueven las entidades; siendo modeladas por el
diagrama de bloques.

6. Aplicaciones de la simulacin
La simulacin se est utilizando para hacer estudios en diversos campos del saber humano, tales
como: sistemas urbanos, sistemas econmicos, sistemas de negocios, sistemas de produccin,
sistemas biolgicos, sistemas sociales, sistemas de transporte, sistemas de salud y muchos ms.
A continuacin se ofrece una lista (no exhaustiva) de las aplicaciones en campos diversos.

Sistemas de manufactura:

Diseo y disposicin de planta.


Mejora continua.
Administracin de la capacidad.
Evaluacin gil de la fabricacin.
Programacin y control.
Manejo de materiales

Sistemas de Transporte:

Funcionamiento de sistemas de ferrocarriles.


Programacin y ruteo de vehculos.
Control de trfico areo.
Operaciones del Terminal y depsito.

Sistemas de computadoras y comunicaciones:

Evaluacin del funcionamiento.


Generacin y anlisis del flujo de trabajo.

Planificacin y control de proyectos:

Planificacin del producto.


Anlisis de la comercializacin.
Planeamiento de la construccin de actividades.

Planificacin financiera:

Toma de decisiones en la inversin de capitales.


Anlisis del flujo de liquidez.
Proyecciones del balance.

Estudios ambientales y ecolgicos:

Control de inundaciones.
Control de la contaminacin.
Flujo y utilizacin de la energa.
Administracin de granjas.
Control de pestes.
Mantenimiento de reactores.

Sistemas de cuidado de salud:

Programacin de sala de operaciones.


Planeamiento del uso de los recursos.
Evaluacin de polticas de trasplante de rganos.

La automatizacin y la calidad reducen costos. Los sistemas son complejos y


nicamente pueden ser analizados con la poderosa herramienta de la simulacin. En los aos
recientes dos factores han hecho viable la simulacin:

Reduccin de costos en computacin.


Uso de lenguajes de simulacin.

La disponibilidad de la simulacin grafica ha resultado grandemente comprendida y


usada por los ingenieros de la administracin.

Actualmente la industria producto de la competencia, ha empezado a implementar


factoras automatizadas y hacer reingeniera de sus polticas operacionales y procedimientos. La
simulacin predice la conducta de complejos sistemas de manufactura en:

Decisiones de configuracin del sistema duro: equipos, layout y partes en


procesos.
Decisiones de configuracin del sistema blando: planeamiento, secuenciacin.
Control en tiempo real del flujo de trabajo, fallas en herramientas, paradas en
equipos, etc.

7. Simulacin discreta
En el modelacin de sistemas, existen tres conceptos fundamentales: eventos, estados y tiempo.

La simulacin discreta, es la modelacin de un sistema en el tiempo, representando el


cambio instantneo de las variables de estado en puntos separados del tiempo.
Simulacin discreta o simulacin de eventos discretos, es el conjunto de relaciones
lgicas y matemticas, que integran el comportamiento de un sistema simulado, cuando ocurre
un evento El objetivo de la simulacin es: reconocer, analizar y disear condiciones mejorables
de operacin al sistema en estudio.

El nombre de simulacin discreta, viene desde la manera en que los procesos


observados, que afectan la conducta dinmica del sistema, son observados en un punto discreto
del tiempo simulado.

La tarea de un sistema de simulacin discreta, requiere de un programa que pueda


construir la secuencia de eventos. Los registros deben contener el progreso de todas las
actividades, y de las entidades que participan en la simulacin, Geoffrey Gordon.

La llegada externa de una entidad se define como un evento, y la hora de llegada de la


siguiente entidad se registra como uno de los tiempos del evento, se ejecuta el evento de entrar
la entidad al sistema y de inmediato se calcula el tiempo de llegada de la siguiente entidad. A
este proceso se le conoce boot-strapping (cordn de bota); para describir este proceso que hace
que una entidad cree su sucesora.

En el algoritmo del siguiente evento, la simulacin es inicializada en cero y los tiempos


de los futuros eventos son determinados. El reloj avanza al tiempo de la ocurrencia ms
eminente (primera) de esos eventos futuros; el estado del sistema se actualiza. Entonces la
simulacin es avanzada en su reloj.

El mecanismo para avance del tiempo en la simulacin y la garanta de la ocurrencia de


todos los eventos en el orden cronolgico, est basado en la lista de futuros eventos ( FEL). Esta
lista es un conjunto especial que contiene todos los eventos que sern secuenciados para ocurrir
en un tiempo futuro. Tambin se le conoce como calendario de Eventos (archivo).

En el algoritmo de proceso, el usuario cambia la terminologa de eventos por


"transacciones" (o entidades); flujo desde un nodo a otro.

Un proceso es una secuencia ordenada en el tiempo de eventos interrelacionados y


separados por el paso del tiempo, el cul describe la experiencia completa de una entidad a
travs del sistema.

Entre las componentes de un sistema de simulacin se encuentran:



Estados del Sistema.
Reloj de la Simulacin.
Lista de Eventos.
Contador Estadstico.
Rutinas de Almacenamiento.
Rutinas de Tiempo.
Rutinas de Evento.
Librera.
Reporte Generador.

8. Computacin de variables aleatorias


Entre las componentes de un sistema de simulacin, tal como las rutinas de eventos, hacen uso
de elementos aleatorios. Un programa de simulacin debe proveer procedimientos para generar
muestras aleatorias desde alguna distribucin de probabilidades.

En la modelacin y simulacin, la comparacin con la realidad y su refino


progresivo, hace que intervenga l a resolucin de problemas estadsticos. Un ejemplo
notable de modelizacin estadstica a partir de un problema prctico son las distribuciones de
probabilidad, que permiten describir en forma sinttica el comportamiento de las
distribuciones empricas de datos estadsticos y hacer predicciones sobre su comportamiento.
Ver figura 1.11.

Figura 1.11: Rol de las probabilidades

Entre los mtodos ms comunes para generacin de variables o procesos aleatorios,


destacan:

Mtodo de la transformacin inversa.


Mtodo del rechazo.
Mtodo de la convolucin.

Distribucin discreta

Para generar un entero entre 0 y k-1, multiplicar el nmero aleatorio r por k y hacer x = el
kr
entero del producto. Este mtodo arroja un entero el que es obtenido desde igual probabilidad.

Suponga que se poseen diferentes enteros; es decir X = x1 con la probabilidad p1, X =


x2 con la probabilidad p2,...,y X = x n , con la probabilidad pn; equivalente a la distribucin:
Con p1 + p2 +. . .+ pn = 1

El proceso de generacin de esta distribucin discreta (conocida como emprica) viene


dado por:

1.- Generar r U (0,1)


2.- Determinar X.

x1 si 0 r p1
x si p r p p
2 1 1 2
X
...
xn p1 p2 ... pn 1 r 1

Equivalente a
I 1 I

pj r pj
J 1 J 1

Sea la distribucin de probabilidades:

x 3 4 5 6
P(x) 0.10 0.30 0.35 0.25

Definiendo la distribucin acumulada:

F ( x) ( X x) p( x )
xi x
i

i 1 2 3 4
x 3 4 5 6
F(x) 0.10 0.40 0.75 1.00

Si r es 0.50, se tiene F (3 1) r F (3) . Luego X = x3=5.

8.2.2 Distribuciones continuas

Un algoritmo para generar una variable aleatoria X, que tiene una funcin F es:

1. Generar r U (0,1)
2. Retornar X = X =F 1 (r ) (Ver figura 1.12)
Figura 1.12: Mtodo de la transformacin inversa

Figura 1.13: La funcin exponencial

La distribucin exponencial, es muy usada para explicar los tiempos de arribo y servicio
en los fenmenos de espera. La funcin densidad es:
f ( x) e x , x 0, y
la distribuci n acumulada
x
F ( x ) f ( x)dx
0
x
1 e ,x 0

Figura 1.14: La funcin exponencial acumulada

Como 1-r est distribuida uniformemente como r; entonces se simplifica a la expresin


siguiente:

1
x Ln( r )

La distribucin uniforme, o tambin conocida como rectangular, se encuentra definida


como:

1
f ( x) ,a x b
ba
Figura 1.15: La funcin uniforme

Es utilizada, para modelar situaciones en donde, para un intervalo existe igual


probabilidad de seleccionar un evento.

x
xa
f ( x)dx b a ,
a
x a r (b a)

Figura 1.16: La funcin uniforme acumulada