libro desi mu laci on

177
SIMULACIÓN SIMULACIÓN SIMULACIÓN SIMULACIÓN Ing. David Sergio Castillón Domínguez Docente del departamento de Sistemas y Computación Instituto Tecnológico de Piedras Negras Elaboración de un libro de texto: Simulación Reporte Final de año sabático Dictamen No. AS-1-166/2013 (14-ENE-2013 / 13-ENE-2014) Enero - 2014

Upload: martin-mireles

Post on 20-Oct-2015

181 views

Category:

Documents


0 download

TRANSCRIPT

  • SIMULACINSIMULACINSIMULACINSIMULACIN

    Ing. David Sergio Castilln Domnguez

    Docente del departamento de Sistemas y Computacin

    Instituto Tecnolgico de Piedras Negras

    Elaboracin de un libro de texto: Simulacin

    Reporte Final de ao sabtico

    Dictamen No. AS-1-166/2013 (14-ENE-2013 / 13-ENE-2014)

    Enero - 2014

  • CONTENIDOCONTENIDOCONTENIDOCONTENIDO

    1111....---- Introduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacin

    1.1.- DEFINICIONES E IMPORTANCIA DE LA SIMULACIN EN LA INGENIERA. 1 1.2.- CONCEPTOS BSICOS DE SIMULACIN. 2 1.3.- METODOLOGA DE LA SIMULACIN. 4 1.4.- MODELOS Y CONTROL. 5 1.5.- ESTRUCTURA Y ETAPAS DE ESTUDIO DE SIMULACIN. 7 1.6.- ETAPAS DE UN PROYECTO DE SIMULACIN. 8 1.7.- ELEMENTOS BSICOS DE UN SIMULADOR DE EVENTOS DISCRETOS. 10

    2222....---- Nmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatorios

    2.1.- MTODOS DE GENERACIN DE NMEROS PSEUDOALEATORIOS. 13 2.2.- PRUEBAS ESTADSTICAS. 16 2.2.1.- De Uniformidad. (Chi-cuadrada, Kolmogorov-Smirnov).

    2.2.2.- De Aleatoriedad. (corridas arriba y debajo de la media y longitud de

    corridas).

    2.2.3.- De Independencia. (Autocorrelacin, prueba de huecos, prueba de

    pquer, prueba de Yule).

    17

    22

    25

    2.3.- Mtodo de Monte Carlo. 31 2.3.1.- Caractersticas.

    2.3.2.- Aplicaciones.

    2.3.3.- Solucin de problemas.

    32

    33

    33

    3.3.3.3.---- Generacin de variables aleatoriasGeneracin de variables aleatoriasGeneracin de variables aleatoriasGeneracin de variables aleatorias

    3.1.- CONCEPTOS BSICOS. 37 3.2.- VARIABLES ALEATORIAS DISCRETAS. 37 3.3.- VARIABLES ALEATORIAS CONTINUAS. 45 3.4.- MTODOS PARA GENERAR VARIABLES ALEATORIAS. 51 3.4.1.- Mtodo de la transformada inversa. 51

    3.4.2.- Mtodo de convolucin. 52

    3.4.3.- Mtodo de composicin. 52

    3.5.- PROCEDIMIENTOS ESPECIALES. 54 3.6.- PRUEBAS ESTADSTICAS (BONDAD DE AJUSTE). 54

  • 4.4.4.4.---- Lenguajes de SimulacinLenguajes de SimulacinLenguajes de SimulacinLenguajes de Simulacin

    4.1.- LENGUAJES DE SIMULACIN Y SIMULADORES. 55 4.2.- APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR. 58 4.3.- CASOS PRCTICOS DE SIMULACIN. 67 4.3.1.- Problemas con lneas de espera. 67

    4.3.2.- Problemas con sistemas de inventario. 84

    4.4.- VALIDACIN DE UN SIMULADOR. 102 4.4.1.- Pruebas paramtricas (validacin del modelo, pruebas de hiptesis y

    pruebas de estimacin.

    108

    4.4.2.- Pruebas no paramtricas. 116

    5.5.5.5.---- Proyecto integradorProyecto integradorProyecto integradorProyecto integrador

    5.1.- ANLISIS, MODELADO Y SIMULACIN DE UN SISTEMA O SUBSISTEMA DE SERVICIOS O PRODUCTIVO DE UNA EMPRESA PARA DETECTAR LAS MEJORAS POSIBLES A REALIZAR.

    117

    5.1.1.- Manufactura. 117

    5.1.2.- Control de calidad. 132

    5.1.3.- Supermercado. 142

    Apndice Apndice Apndice Apndice AAAA

    Distribucin Normal (Z) 157

    Distribucin chi-cuadrada ( ) 158

    Tabla K-S (,) 159

    Apndice Apndice Apndice Apndice BBBB

    Instrucciones GPSS para la definicin de variables. 160 Instrucciones GPSS para la lgica del programa. 163 REFERENCIAS BIBLIOGRFICAS. 174

  • 1

    1111 Introduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacin

    1.1.- DEFINICIONES E IMPORTANCIA DE LA SIMULACIN EN LA INGENIERA.

    La simulacin es una de las herramientas ms importantes para analizar el diseo y

    operacin de sistemas o procesos complejos. Desde el renacimiento se han construido

    modelos, pero la palabra simulacin se usa a partir de 1940 cuando los cientficos Von

    Neuman y Ulam trabajaron en el proyecto Monte Carlo, durante la segunda guerra

    mundial, resolviendo problemas de reacciones nucleares cuya solucin experimental

    hubiera sido muy cara y el anlisis matemtico demasiado complicado.

    Con el uso de la computadora en experimentos de simulacin, surgen mltiples

    aplicaciones resultando en una gran cantidad de problemas tericos y prcticos,

    presentando la posibilidad de investigar aplicaciones importantes de simulacin en

    diversas reas tales como: fsica, matemticas, economa, administracin,

    investigacin de operaciones. Tambin sugiere algunos mtodos alternativos para

    resolver problemas tericos y prcticos que surgen al efectuar simulaciones reales.

    La palabra simulacin tiene varias definiciones aceptadas. Thomas H. Naylor la define

    como:

    Simulacin es una tcnica numrica para conducir experimentos en una computadora digital. Estos

    experimentos comprenden ciertos tipos de relaciones matemticas y lgicas, las cuales son necesarias

    para describir el comportamiento y la estructura de sistemas complejos del mundo real a travs de

    largos perodos de tiempo.

    Esta definicin muestra un sentido amplio en el cual incluye desde una maqueta, hasta

    un sofisticado programa computacional. En un sentido ms estricto, H. Maisel y G.

    Gnugnoli define a la simulacin de la siguiente manera:

    Es una tcnica numrica para realizar experimentos en una computadora digital. Estos experimentos

    involucran ciertos tipos de modelos matemticos y lgicos que describen el comportamiento de

    sistemas de negocios, econmicos, sociales, biolgicos, fsicos o qumicos a trves de largos perodos

    de tiempo.

    Otra definicin de simulacin la realiza Robert E. Shannon como:

  • 2

    Es el proceso de disear y desarrollar un modelo computarizado de un sistema o proceso y conducir

    experimentos con este modelo con el propsito de entender el comportamiento del sistema o evaluar

    varias estrategias con las cuales se puede operar el sistema.

    Todas estas definiciones no especifican si los sistemas modelados son continuos o

    discretos. Pero es necesario subrayar que nos enfocaremos exclusivamente al diseo,

    anlisis y validacin de sistemas dinmicos discretos. Geofrey Gordon aborda a detalle

    el anlisis y estudio de sistemas dinmicos continuos en su libro titulado System

    Simulation.

    1.2.- CONCEPTOS BSICOS DE SIMULACIN.

    La simulacin est basada en la teora de la probabilidad y la estadstica, en

    matemticas, en ciencias computacionales, etc. Por lo que es conveniente mencionar

    algunos conceptos que intervienen en el desarrollo y la formulacin del modelo de

    simulacin.

    1.2.1.- GENERACIN DE VARIABLES ALEATORIAS NO-UNIFORMES.

    Si el modelo es estocstico (probabilstico) debe ser capaz de generar variables

    aleatorias no uniformes de distribuciones de probabilidad tericas o empricas. Las

    cuales son obtenidas por un generador de nmeros uniformes y una funcin que

    transforme estos nmeros en valores de la distribucin de probabilidad deseada. Se

    han generado una gran cantidad de generadores para las distribuciones de

    probabilidad ms comunes como las distribuciones normal, exponencial, poisson,

    erlang, binomial, gamma, beta, F, t, etc.

    1.2.2.- LENGUAJES DE PROGRAMACIN.

    En un momento determinado ser necesario construir el modelo computacional. En

    esta etapa se tienen dos cursos de accin: 1) Desarrollar el software requerido para

    estudios de simulacin (Lenguaje de propsito general) o 2) Conseguir un software

    (Lenguaje de propsito especfico). Este ltimo obliga a la determinacin del ms

    adecuado para el problema a resolver.

    Para desarrollar el software requerido es necesario contar con la descripcin del

    sistema en trminos de relaciones lgicas de sus variables y los diagramas de flujo

    correspondiente, como fuente de datos para el modelado en trminos de un lenguaje

    de programacin de propsito general o un paquete de propsito especfico.

    1.2.3.- CONDICIONES INICIALES.

    La mayora de los modelos de simulacin estocsticos se ejecutan con la idea de

    estudiar al sistema en una situacin de estado estable. Pero todos estos modelos

    presentan en su etapa inicial estados transitorios que no son tpicos del estado estable.

  • 3

    Obligando a establecer claramente las acciones o alternativas para resolver este

    problema. Algunos expertos recomiendan resolver este problema:

    1. Usar un tiempo de corrida lo suficientemente grande de modo los perodos

    transitorios sean relativamente insignificantes con respecto a la condicin de

    estado estable.

    2. Excluir una parte apropiada de la parte inicial de la corrida.

    3. Utilizar simulacin regenerativa.

    De las tres alternativas, la ltima es la que presenta menos desventajas. Las otras

    tienen la desventaja de ser excesivamente caras.

    1.2.4.- TAMAO DE LA MUESTRA.

    El tamao de la muestra (nmero de corridas en la computadora) es un factor principal

    a considerar en un estudio de simulacin. La seleccin de un tamao de muestra

    apropiado que asegure un nivel de precisin y que minimice el costo de operacin del

    modelo, es difcil pero importante. La informacin proporcionada por el experimento

    de simulacin sera la base para decidir con respecto a la operacin del sistema real,

    esta informacin debe ser exacta y precisa cuanto sea posible, y conocer el grado de

    imprecisin de la informacin proporcionada. Por consecuencia, es necesario que un

    anlisis estadstico se realice para la determinacin del tamao de muestra requerido.

    El tamao de la muestra se puede obtener de dos maneras:

    Previa o independientemente de la operacin del modelo.

    Durante la operacin del modelo y basado en los resultados arrojados por el

    modelo.

    Para esta ltima alternativa se utiliza la tcnica estadstica de intervalos de confianza.

    1.2.5.- DISEO DE EXPERIMENTOS.

    El diseo de experimentos es un tema relevante en los experimentos de simulacin, la

    cual ha sido reconocida, pero rara vez se aplica. Estos diseos pueden ser de varios

    tipos dependiendo de los propsitos especficos planteados. Existen varios tipos de

    anlisis que pueden ser requeridos, los ms comunes son:

    1. Comparacin de las medias y varianzas de las alternativas analizadas.

    2. Determinacin de la importancia y el efecto de diferentes variables en los

    resultados de la simulacin.

    3. Bsqueda de los valores ptimos de un conjunto de variables.

    Para la realizacin del primer anlisis, el cual comnmente se le conoce como diseo

    de experimentos de un factor simple, es necesario tomar en cuenta el tamao de la

  • 4

    muestra, condiciones iniciales y la presencia o ausencia de auto correlacin. Para el

    segundo tipo de anlisis, existe literatura suficiente que explica el tema de anlisis de

    varianza y tcnicas de regresin como medios para evaluar la importancia y el efecto

    de varias variables en los resultados de operacin de un sistema. Para el tercer tipo de

    anlisis, generalmente se requiere utilizar algoritmos heursticos de bsqueda como

    los algoritmos de Hooke y Jeeves.

    1.3.- METODOLOGA DE LA SIMULACIN.

    La tcnica de simulacin generalmente es vista como un mtodo de ltimo recurso, los

    avances recientes en las metodologas de la simulacin y la disponibilidad de software

    en el mercado, han generado que las tcnicas de simulacin sea una herramienta

    utilizada en el anlisis de sistemas. Thomas H. Naylor sugiere que un estudio de

    simulacin es recomendable por las siguientes ventajas que proporciona.

    1.3.1.- VENTAJAS.

    Se puede estudiar el efecto de cambios internos y externos del sistema, al

    hacer alteraciones en el modelo del sistema y observar los efectos de las

    alteraciones en el comportamiento del sistema.

    Una observacin detallada del sistema que se est simulando conduce a

    comprender mejor el sistema y sugerir estrategias para mejorar la operacin y

    la eficiencia del sistema.

    La tcnica de simulacin es utilizada como un instrumento pedaggico para

    proporcionar al estudiante las habilidades bsicas en anlisis estadstico,

    anlisis terico, etc.

    La simulacin de sistemas complejos ayuda a comprender la operacin del

    sistema, detectar las variables significativas que interactan en el sistema y

    comprender las interrelaciones entre las variables.

    Se utiliza la tcnica de simulacin para experimentar nuevas situaciones, en las

    cuales se tiene poca o ninguna informacin, anticipndose a resultados no

    previstos.

    Tambin es usada para entrenamiento del personal. En ocasiones es posible

    tener una representacin de un sistema, y es posible entrenar y generar

    experiencia a cierto tipo de personal.

    La simulacin es utilizada tambin cuando nuevos elementos son introducidos

    al sistema, para anticipar cuellos de botella o algunos problemas que pueden

    surgir en el comportamiento del sistema.

    1.3.2.- DESVENTAJAS.

    La tcnica de simulacin requiere de equipo computacional y recursos humanos

    costosos, adems generalmente se requiere de tiempo para que el modelo se

  • 5

    desarrolle y perfeccione, debido a la gran cantidad de datos significativos que no se

    encuentran disponibles, requiriendo un anlisis profundo para su identificacin.

    Tambin requiere de expertos para realizar el modelado y un grupo interdisciplinario

    para soportar todas las etapas del estudio. Desafortunadamente los directivos no

    comprenden la tcnica y dificulta la autorizacin de estos proyectos.

    1.4.- MODELOS Y CONTROL.

    1.4.1.- DEFINICIN DE SISTEMA.

    La palabra sistema es utilizada usualmente para definir un conjunto de cosas que estn

    interrelacionadas para cumplir con un objetivo. Esta forma de contemplar un todo y no

    las partes aisladamente es lo que es conocido como el enfoque sistmico. Un sistema

    est constituido por varios objetos los cuales poseen propiedades.

    Un sistema puede ser definido matemticamente como un complejo de elementos

    interactuantes. Donde la interaccin significa que elementos, p, estn en relaciones, R,

    de suerte que el comportamiento de un elemento p en R es diferente de su

    comportamiento con R. Si los comportamientos R y R no difieren, no hay interaccin,

    y los elementos se comportan independientemente con respecto a las relaciones R y

    R.

    El sistema es un modelo de naturaleza general, esto es, un anlogo conceptual de

    algunos rasgos muy universales de entidades observadas. El uso de modelos o

    construcciones analgicas es prctica general de la ciencia, y es, asimismo fundamento

    de la simulacin por computadora. La diferencia con respecto a las disciplinas

    tradicionales no es esencial sino que reside ms bien en el grado de generalidad (o

    abstraccin); el sistema alude a caractersticas muy generales compartidas por gran

    nmero de entidades que acostumbraban ser tratadas por diferentes disciplinas.

    Un sistema puede ser definido como un conjunto de elementos interrelacionados

    entre s y con el medio circundante. Existen dos modos de describir un sistema: la

    interna y la externa. La interna define a un sistema con un conjunto de n medidas,

    llamadas variables de estado. La descripcin interna del sistema es esencialmente

    estructural procura describir el comportamiento del sistema en trminos de variables

    de estado y de su interdependencia.

    La descripcin externa del sistema es en trminos de entradas y salidas; su forma

    general son funciones de transferencia que vinculan entrada y salida. Lo tpico es que

    se consideren lineales y representados por conjuntos discretos de valores (las

    decisiones de si o no). Este es el lenguaje de la tecnologa del control; es caracterstico

  • 6

    de la descripcin externa el uso de trminos de comunicacin (intercambio de

    informacin entre sistema, medio y dentro del sistema) y de control de la funcin del

    sistema con respecto al medio (retroalimentacin). La descripcin externa es

    funcional, describe el comportamiento del sistema por su interaccin con el medio.

    Las descripciones tanto internas como externas del sistema coinciden en gran medida

    con descripciones mediante funciones continuas o discretas.

    1.4.2.- DEFINICIN DE MODELO.

    Un modelo es definido como una representacin de la realidad por medio de

    abstracciones, los modelos enfocan ciertas partes importantes del sistema (las que

    interesan al modelo) restando importancia a otras partes. Los modelos son creados

    usando herramientas de modelado.

    Un modelo es un sistema de elementos que reproduce determinados aspectos,

    relaciones y funciones del objeto que se investiga; desarrollado en un nivel avanzado

    del conocimiento, en el que recopila las caractersticas generales del objeto

    investigado y las unifica en un concepto global, del cual se puede visualizar el objeto en

    un momento dado El modelo es una construccin imaginaria y arbitraria de un

    conjunto de objetos y fenmenos con el propsito de estudiar el comportamiento de

    de dichos objetos o fenmenos. Son incompletos. Los modelos se pueden dividir en

    abstractos y materiales. Donde los materiales se pueden subdividir en icnicos y

    analgicos o simblicos.

    Los modelos son simplificaciones o representaciones idealizadas de los sistemas que se

    suponen existen en la naturaleza. Los modelos pueden ser de dos tipos: matemticos o

    fsicos.

    Los modelos de simulacin se pueden clasificar en: determinsticos, estocsticos,

    estticos, dinmicos y a escala. En los modelos determinsticos las variables no pueden

    ser tomadas al azar y las relaciones entre estas variables deben ser exactas o no deben

    estar en funcin de una probabilidad. En cambio los modelos estocsticos al menos

    una variable debe estar en funcin de una probabilidad; por lo general son utilizados

    para la generacin de grandes series de muestreos, y son aplicadas en investigaciones

    cientficas. Los modelos estticos no toman en consideracin el tiempo invertido en el

    proceso, y estn encaminadas a maximizar o minimizar. En cambio los modelos

    dinmicos si consideran la variacin del tiempo. Los modelos a escala sirven para

    realizar demostraciones del proceso, como tambin para realizar nuevos

    experimentos.

  • 7

    1.4.3.- DEFINICIN DE CONTROL.

    Existen varias definiciones de control a continuacin se presentan algunas de ellas:

    Verificar s todo ocurre de conformidad con el plan adoptado, con las

    instrucciones emitidas y con los principios establecidos. Tiene como fin sealar

    las debilidades y errores a fin de rectificarlos e impedir que se produzcan

    nuevamente.

    El proceso de medir los actuales resultados en relacin con los planes,

    diagnosticando la razn de las desviaciones y tomando las medidas correctivas

    necesarias.

    El proceso para determinar lo que se est llevando a cabo, valorizacin y, si es

    necesario, aplicando medidas correctivas, de manera que la ejecucin se

    desarrolle de acuerdo con lo planeado.

    Tiene como objetivo cerciorarse de que los hechos vayan de acuerdo con los

    planes establecidos.

    La medicin de lo logrado en relacin con lo estndar y la correccin de las

    desviaciones, para asegurar la obtencin de los objetivos de acuerdo con el

    plan.

    Es un proceso regulador cuya funcin es medir y evaluar el desempeo y si es

    necesario se tomar acciones correctivas.

    El control se emplea para mejorar la calidad, enfrentar los cambios que

    constantemente se producen, mejorar la eficiencia, minimizar costos y facilitar el

    trabajo en equipo. Un control se basa en la realizacin de las siguientes actividades:

    planear, organizar, hacer, evaluar, mejorar. Para alcanzar una meta es necesario contar

    con una planeacin y una adecuada organizacin para conocer lo que debe hacerse y

    cmo hacerlo. El hacer es poner en prctica lo planeado. La evaluacin es la

    interpretacin y la comparacin de la informacin obtenida para la toma de

    decisiones. La mejora es la puesta en prctica de medidas que resuelven desviaciones

    que hacen perder el equilibrio al sistema.

    1.5.- ESTRUCTURA Y ETAPAS DE ESTUDIO DE SIMULACIN.

    Segn los expertos la manera de estructurar el estudio de simulacin es el principio

    bsico de una organizacin de las actividades que se requieren desarrollar en este

    proyecto. Las actividades a desarrollar en este estudio pueden estructurarse en etapas

    o fases que deben realizar para culminar el estudio de simulacin. Las etapas en las

    cuales est organizado el desarrollo de un modelo computacional (ciclo de vida del

    desarrollo de sistemas) los expertos coinciden en: Anlisis, diseo, construccin,

    implementacin y mantenimiento.

  • 8

    Este enfoque para la construccin de un software, nicamente est enfocado al

    sistema mismo, desde su formulacin hasta su mantenimiento, pero no interviene la

    parte operativa del mismo. En eso difiere de un modelo de simulacin, el cual es

    visualizado como un paquete que engloba desde su concepcin hasta su operacin.

    Los pasos necesarios para realizar un estudio de simulacin se requiere: 1) Definir el

    sistema, 2) Formular el modelo, 3) Recopilar los datos, 4) Implementar el modelo en la

    computadora, 5) Validar, 6)Experimentar, 7) Interpretar, y 8) Documentar.

    1.6.- ETAPAS DE UN PROYECTO DE SIMULACIN.

    1.6.1.- DEFINIR EL SISTEMA.

    Para definir exactamente el sistema que se requiere simular, se requiere de llevar a

    cabo un anlisis preliminar con el fin de determinar la interaccin del sistema con

    otros sistemas, las restricciones del sistema, las variables que interactan dentro del

    sistema y sus interrelaciones, las medidas de efectividad que se van a utilizar para

    definir y estudiar el sistema y los resultados que se esperan obtener del estudio.

    1.6.2.- FORMULAR EL MODELO.

    Una vez definido los resultados que se esperan obtener del estudio, el siguiente paso

    es definir y construir el modelo con el cual se obtendrn los resultados deseados. En la

    formulacin del modelo es necesario definir todas las variables que forman parte de l,

    Definir el sistema

    Formular el modelo

    Recopilar datos

    Implementar el modelo en la computadora

    Validar el modelo

    Experimentar con el modelo

    Interpretar los resultados del modelo

    D

    o

    c

    u

    m

    e

    n

    t

    a

    r

    Figura 1.1.- Etapas de un proyecto de simulacin

  • 9

    sus relaciones lgicas y los diagramas de flujo que describan en forma completa al

    modelo.

    1.6.3.- RECOPILAR LOS DATOS.

    La facilidad o dificultad para obtener los datos, puede influir el desarrollo y la

    formulacin del modelo. Es importante definir con claridad y exactitud los datos que el

    modelo requiere para la produccin de los resultados deseados. Usualmente, los datos

    requeridos se pueden obtener de registros histricos, de opiniones de expertos, o de la

    experimentacin.

    1.6.4.- IMPLEMENTAR EL MODELO EN LA COMPUTADORA.

    Con el modelo definido, el siguiente paso es decidir el lenguaje de programacin a

    utilizar ya sea uno de propsito general o un paquete de propsito especfico, para

    procesarlo en la computadora y obtener los resultados deseados.

    1.6.5.- VALIDAR.

    En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los

    datos alimentados al modelo, siendo las formas mas comunes de validar el modelo las

    siguientes:

    1. La opinin de expertos sobre los resultados de la simulacin.

    2. La exactitud con que se predicen datos histricos.

    3. La exactitud en la prediccin del futuro.

    4. La comprobacin de falla del modelo de simulacin al utilizar datos que hacen

    fallar al sistema real.

    5. La aceptacin y confianza en el modelo de la persona que har uso de los

    resultados que arroje el experimento de simulacin.

    1.6.6.- EXPERIMENTAR.

    La experimentacin con el modelo se realiza despus de que ste ha sido validado. La

    experimentacin consiste en generar los datos deseados y en realizar anlisis de

    sensibilidad de los ndices requeridos.

    1.6.7.- INTERPRETAR.

    En esta etapa se interpretan los resultados que arroja la simulacin, y en base a estos

    se toma una decisin. Obviamente estos resultados obtenidos de la simulacin ayudan

    a soportar decisiones del tipo semi-estructurado, es decir, la computadora en s no

    toma la decisin, sino que la informacin que aporta ayuda a tomar mejores

    decisiones, y sistemticamente obtener mejores resultados.

  • 10

    1.6.8.- DOCUMENTAR.

    Son requeridos dos tipos de documentacin para hacer un mejor uso del modelo de

    simulacin. La primera es la documentacin tcnica y la segunda documentacin es el

    manual del usuario para facilitar la interaccin y el uso del modelo desarrollado.

    1.7.- ELEMENTOS BSICOS DE UN SIMULADOR DE EVENTOS DISCRETOS.

    Los eventos discretos son las acciones o resultados de experimentos que tienen como

    resultado un nmero entero. Los productos defectuosos en un embarque, las

    personas que entran a un banco, o los estudiantes que aprueban una determinada

    asignatura, son algunos ejemplos de los mismos. Estos eventos discretos son simulados

    haciendo uso de distribuciones de probabilidad con parmetros dados previamente.

    Estos parmetros son recopilados en el proceso de experimentacin, y la distribucin

    de probabilidad es seleccionada dependiendo del tipo de comportamiento de las

    muestras analizadas.

    Los eventos continuos son nmeros reales (parte entera y parte fraccionaria) que son

    usualmente son caractersticas fsicas tales como: peso, altura, tiempo, temperatura,

    presin.

    La simulacin de eventos discretos es parte del modelo computacional que representa

    la transformacin de la entrada en salidas mediante una funcin de probabilidad

    (proceso).

    La simulacin de un evento discreto describe en forma directa o indirecta la llegada de

    un cliente, la espera para su atencin, y el servicio proporcionado por el servidor para

    despus salir del sistema.

    Este modelo computacional cuenta con tres elementos primordiales que son: entrada,

    proceso y salida. En este anlisis del modelo computacional, la entrada se representa

    por una variable de tipo discreto (valores enteros). La salida est formada por un grupo

    de valores que representan la informacin resultante del proceso de simulacin, la

    cual es utilizada para la toma de decisiones en el problema real. El proceso es el

    elemento en el cual est representada la manera de transformar las entradas en

    salidas. En este proceso est especificado el diseo de lgica del proceso, en el cual

    interviene una o varias funciones de probabilidad.

  • 11

    2222 Nmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatorios

    El mundo real es muy raro que sea determinstico, al estudiar un sistema y sus

    influencias externas como la llegada de clientes a un banco y el comportamiento del

    sistema como el tiempo de servicio bancario tienen un comportamiento aleatorio o

    probabilstico. En la construccin de un modelo de simulacin bancario es necesario

    reproducir los efectos aleatorios del sistema, por lo cual es necesario incursionar en la

    generacin de nmeros aleatorios o pseudo aleatorios, como tambin la manera de

    poderlos generar y probar que dichos nmeros tengan la aleatoriedad deseada.

    El tiempo de servicio bancario vara dependiendo del tipo de transacciones que el

    cliente realice. Los datos histricos obtenidos en un banco tan slo se puede recopilar

    una muestra de una poblacin desconocida, siendo estos datos limitados debido al

    tiempo y los costos que se requieren, En ocasiones no existe realmente el sistema (un

    banco que desea abrir una nueva sucursal) o la imposibilidad de obtener datos reales,

    o la obtencin de grandes volmenes de datos que originan un procesamiento lento o

    vuelve complejo el modelo a construir.

    La obtencin artificial de los datos del tiempo de servicio viene a simplificar el modelo,

    partiendo de una muestra significativa. A continuacin se incursiona en el estudio de la

    aleatoriedad y las pruebas estadsticas para garantizar que se cuenta con un generador

    confiable.

    Un nmero aleatorio es el resultado de una variable al azar especificada por una

    funcin de probabilidad. Cuando no se especifica una funcin de probabilidad, se

    supone que sigue una distribucin uniforme en el intervalo entre cero y uno.

    Existen nmeros aleatorios no uniformes los cuales pueden ser generados a partir de

    nmeros aleatorios uniformes. Por lo cual es importante enfocarse primero a la

    generacin de nmeros aleatorios uniformes, para luego profundizar en la generacin

    de nmeros aleatorios no uniformes.

    Los nmeros aleatorios uniformes son utilizados ampliamente en el proceso de

    simulacin para representar eventos tales como llegadas de clientes o servicio

    proporcionado.

  • 12

    Existen tres maneras ampliamente conocidas: 1) Provisin externa, 2) la generacin

    interna basada en un proceso fsico, y 3) la generacin interna basada en una relacin

    de recurrencia.

    1. Provisin Externa. Se usan tablas de nmeros previamente calculados, se

    requiere el almacenamiento de dichos nmeros, un ejemplo son las Tablas

    RAND. El Proyecto RAND inici despus de la II Guerra Mundial por la Iniciativa

    de la Compaa de Aviacin Douglas ubicada en Santa Mnica California, con el

    propsito de continuar las investigaciones de los cientficos reclutados durante

    la guerra. Las investigaciones fueron para la Fuerza Area de Estados Unidos de

    Norteamrica y enfocadas exclusivamente a la seguridad nacional. A partir de

    1948 el proyecto RAND se separ de La Compaa de aviacin Douglas y se

    convirti en Rand Corporation, siendo por ms de seis dcadas una

    organizacin sin fines de lucro dedicada a promover la ciencia y la educacin

    realizando anlisis cientfico para hacer un mundo ms seguro, saludable y ms

    prspero.

    2. Generacin interna basada en un proceso fsico. En esta generacin se requiere

    conectar un dispositivo especializado a una computadora, ya que por medio de

    este dispositivo pueda proporcionar los nmeros aleatorios. Esta tcnica de

    generacin es utilizada en simulaciones que requieren observar el ambiente

    fsico y usualmente se utilizan interfaz analgica - digital las cual requieren de

    inversiones ms costosas y tardan ms tiempo en implementarse.

    3. Generacin interna basada en una relacin de recurrencia. Es la generacin

    ms utilizada en los procesos de simulacin. Una relacin de recurrencia es una

    ecuacin que define una secuencia recursiva donde cada trmino de la

    secuencia es definida como una funcin de los trminos anteriores. Las

    relaciones de recurrencia son ampliamente utilizadas en la teora de la

    probabilidad.

    Provisin externa Generacin interna basada en

    un proceso fsico

    Generacin interna basada en

    una relacin de recurrencia

    GENERACIN DE NMEROS UNIFORMES

    Figura 2.1.- Maneras de generar nmeros pseudo aleatorios uniformes

  • 13

    Para la generacin de nmeros aleatorios es necesario que tenga las siguientes

    caractersticas:

    Que sean uniformemente distribuidos.

    Estadsticamente independientes.

    Reproducibles.

    Periodo Largo.

    Generados de manera rpida.

    Que no requiera gran capacidad de almacenamiento.

    Por lo que es comn utilizar la relacin de recurrencia la cual cumple con estos

    requisitos, aunque algunos autores han observado que dichos nmeros son pseudo

    aleatorios (no son puramente aleatorios) por haber sido generados por relaciones de

    recurrencia apoyadas en reglas deterministas. A continuacin se muestran varios

    mtodos de generacin de nmeros pseudo aleatorios uniformes.

    2.1.- MTODOS DE GENERACIN DE NMEROS PSEUDOALEATORIOS.

    Para generar nmeros pseudo aleatorios basado en una relacin de recurrencia

    existen varios esquemas, siendo el de Derrick Henry Lehmer uno de los ms utilizados

    en las computadoras. En el ao de 1940 Lehmer desarroll el primer generador de

    nmeros pseudo aleatorios denominado congruencial lineal. Este matemtico de la

    Universidad de Berkeley en California dedic gran parte de su vida al desarrollo

    computacional del anlisis numrico.

    El generador congruencial lineal genera una secuencia de nmeros pseudo aleatorios

    en la cual el prximo nmero pseudo aleatorio es calculado a partir del ltimo nmero

    pseudo aleatorio generado. Es decir Xn+1 se deriva del nmero Xn.

    Los generadores congruenciales lineales ms populares son el congruencial mixto y el

    congruencial multiplicativo.

    2.1.1.- GENERADOR CONGRUENCIAL MIXTO.

    El generador congruencial mixto utiliza la siguiente relacin de recurrencia:

    = + Donde:

    X0 = La semilla (X0 es mayor que cero)

    a = el multiplicador (a es mayor que cero)

    c = constante aditiva (c es mayor que cero)

  • 14

    m= mdulo (m mayor que X0, m mayor que a, y m mayor que c)

    Dado un valor inicial de X0, se calcula el valor X1, el cual es resultado de obtener el

    residuo de dividir aX0 + c entre m. Siendo X1 un valor entre cero y m-1. Generalizado

    entonces tenemos que m representa el nmero de valores posibles diferentes a ser

    generados. Y as sucesivamente se generan X2 a partir de X1, y X3 a partir de X2, y as

    hasta realizar la generacin de los nmeros requeridos. Pero no necesariamente una m

    grande garantiza un periodo largo.

    La secuencia de nmeros generados tiene la particularidad de que son generados

    considerando los valores dados de a, c, y m. Dependiendo de stos valores el periodo

    de la secuencia pudiera ser largo o corto.

    El periodo de la secuencia de nmeros generados, es crucial para considerarlos tiles

    en una simulacin. Si el periodo es muy corto, por ejemplo 4, la secuencia se repetir

    cada 4 nmeros por ejemplo: 7,6,9,0,7,6,9,0,7,6,9,0,,6,9,0,7 es la secuencia

    generada con X0=7, a=7, c=7 y m=10.

    Eleccin de los parmetros a,c,m y X0.

    El Dr. Donald Knuth en los 60s propuso la regla para la seleccin de a, c, y m y X0, lo

    cual arroja una buena secuencia de nmeros. Hoy en da los generadores ms

    eficientes tienen m = 232 para computadoras de 32 bits y m= 264 para computadoras de

    64 bits, debido a que es el valor mximo para calcular la operacin de mdulo debido a

    truncamiento. La siguiente tabla muestra los parmetros utilizados por las funciones

    rand() predefinidas en los principales compiladores comerciales.

    Fuente m A c

    Numerical recipes 232 1,664,525 1,013,904,223

    Borland C/C++ 232 22,695,477 1

    Glibc (Gcc) 231 1,103,515,245 12,345

    Ansi C 231 1,103,515,245 12,345

    Borland Delphi 232 134,775,813 1

    Microsoft Visual/Quick C/C++

    232 214013 (343FD16) 2531011

    (269EC316)

    Java's java.util.Random 248 25,214,903,917 11

    Tabla 2.1.- Parmetros de recurrencia usados por compiladores comerciales

  • 15

    Regla de Knuth para la seleccin de m, a, c, y X0.

    Seleccin de m.

    Seleccionar m de modo que sea el nmero primo ms grande posible y que a su vez

    sea menor que p, donde: p es la base del sistema binario y d es el nmero de bits de la

    palabra de la computadora. Por ejemplo 231.

    Seleccin de a.

    Seleccionar a de tal manera que: (a-1) mod 4 = 0, si 4 es un factor de m y (a-1) mod b =

    0, si b es un factor primo de m. Usualmente, el valor de a se toma como a = 2k +1

    donde k>=2.

    Seleccin de c.

    Es recomendable elegir el valor de c tal que c mod 8 = 5

    Seleccin de X0.

    La seleccin de X0 es irrelevante.

    Ejemplo.

    Dado los valores de a=5, c=7, m=8 y X0=4 construir una secuencia de nmeros pseudo

    aleatorios, y determinar el periodo que tiene esta secuencia.

    n Xn (5Xn + 7 )mod 8 Xn+1 Nmero pseudo aleatorio

    0 4 (5(4)+7) mod 8 = 27 mod 8 = 3 3 3/8

    1 3 (5(3)+7) mod 8 = 22 mod 8 = 6 6 6/8

    2 6 (5(6)+7) mod 8 = 37 mod 8 = 1 5 5/8

    3 5 (5(5)+7) mod 8 = 32 mod 8 = 0 0 0/8 = 0

    4 0 (5(0)+7) mod 8 = 7 mod 8 = 7 7 7/8

    5 7 (5(7)+7) mod 8 = 42 mod 8 = 2 2 2/8

    6 2 (5(2)+7) mod 8 = 17 mod 8 = 1 1 1/8

    7 1 (5(1)+7) mod 8 = 12 mod 8 = 4 4 4/8

    8 4 (5(4)+7) mod 8 = 27 mod 8 = 3 3 3/8

    9 3 (5(3)+7) mod 8 = 22 mod 8 = 6 6 6/8

    En este ejemplo se muestra que el generador cuenta con un periodo muy corto, ya que

    X0 = 4, y vuelve a aparecer en X8 = 4, por lo que la secuencia tiene un periodo= 8.

  • 16

    2.1.2.- GENERADOR CONGRUENCIAL MULTIPLICATIVO.

    Este generador determina el siguiente nmero pseudo aleatorio a partir de la siguiente

    recurrencia:

    = Donde:

    X0 = La semilla (X0 es mayor que cero)

    a = el multiplicador (a es mayor que cero)

    m= mdulo (m mayor que X0, m mayor que a, y m mayor que c)

    2.2.- PRUEBAS ESTADSTICAS.

    Las pruebas estadsticas son utilizadas para asegurar la aleatoriedad de los nmeros

    pseudo aleatorios generados. La hiptesis de rechazar o no un generador es el objetivo

    de estas pruebas estadsticas. Garantizar que se cuenta con un generador confiable, es

    un requisito inicial que se debe examinar. Existen una gran cantidad de pruebas

    estadsticas las cuales parten de la idea de analizar estadsticamente los nmeros

    pseudo aleatorios los cuales se presume tienen un comportamiento uniforme. Existe

    una gran gamma de pruebas de aleatoriedad, algunas simples de implementar

    computacionalmente, otras ms complejas.

    Al contar con un paquete de pruebas ya implementadas computacionalmente, es til

    formar un paquete de pruebas que tenga que pasar un generador determinado. Knuth

    PRUEBAS DE ALEATORIEDAD

    De uniformidad

    Chi-Cuadrada.

    Kolmogorov-Smirnov.

    De aleatoriedad

    Corridas arriba y debajo de

    la media.

    Longitud de corridas.

    De independencia

    Autocorrelacin

    Prueba de huecos

    Prueba de pquer

    Prueba de Yule

    Figura 2.2.- Pruebas estadsticas de aleatoriedad

  • 17

    expres que si una sucesin se comporta como aleatoria para las pruebas P1, P2, .., P3,

    no se asegura en general que para Pn+1 no se encuentre una falla.

    2.2.1.- DE UNIFORMIDAD. (CHI-CUADRADA, KOLMOGOROV-SMIRNOV).

    2.2.1.1.- La prueba Chi-Cuadrada.

    La prueba chi-cuadrada tambin conocida como la prueba de Pearson o la prueba de

    frecuencias es una prueba de bondad de ajuste que establece si difiere o no la

    frecuencia observada de una distribucin terica. El ingls Karl Pearson desarroll a

    principios del siglo XX esta prueba , y hasta la fecha tiene muchas aplicaciones en el

    campo estadstico.

    La prueba chi-cuadrada es una de las pruebas ms tiles y ampliamente utilizadas en la

    estadstica. La distribucin Chi-Cuadrada es en teora una distribucin matemtica que

    se aplica ampliamente en el trabajo estadstico. El trmino Chi-cuadrada proviene del

    uso de la letra griega el cual se pronuncia ji o chi y es el que define a esta

    distribucin. La hiptesis nula y alternativa son las siguientes:

    : = : Esta prueba es utilizada para determinar que tan significativa es la diferencia entre las

    frecuencias observadas y esperadas de uno o ms categoras (subintervalos). La

    diferencia entre las frecuencias esperadas y observadas son consideradas como el

    error muestral. Las frecuencias observadas son calculadas a partir de un conteo de los

    nmeros que coinciden en un subintervalo determinado, y las frecuencias esperadas

    estn en funcin a una distribucin de probabilidad terica.

    Para una secuencia de 100 nmeros, y 5 subintervalos tenemos que: N=100, n=5, la FEi

    = N/n = 100/5 = 20 para cualquier i. y la frecuencia observada es la cantidad de

    nmeros que coinciden en cada subintervalo.

    0

  • 18

    parecidas entonces se dice que la muestra proviene de una distribucin uniforme. El

    estadstico que se utiliza es el cual hace uso de la letra griega ji (CHI), el cual es obtenido de la siguiente expresin:

    =

    Donde: N = Tamao de la muestra, n=cantidad de subintervalos, FOi=frecuencia

    observada en el subintervalo i, FEi=frecuencia esperada en el subintervalo i.

    Una vez obtenido el estadstico de la muestra se compara con el estadstico terico de la poblacin , para rechazar o no la hiptesis que la secuencia de nmeros proviene de una distribucin uniforme.

    2,,, + , + 1

    K = L + FGG K =16 0.5 15.732.641 = 0.232.641 = 0.0870

    Paso 5.- Comparar los estadsticos para decidir si se rechaza o no la hiptesis.

    Buscar el estadstico Z en la tabla Z en el apndice A, tomando como alfa=5%, entonces Se

    calcula 100% - 5% = 95% dividido entre dos es igual a 47.5%, por lo tanto se busca el nmero

    0.475 dentro de la tabla, en donde coincide con el 1.96

    K/ = K./ = 1.96 8 1.96 0.0870 1.96$,+,$#,#$%$'()%-$? 2.2.3.3.- Prueba de Pquer.

    La prueba de pquer est inspirada en el popular juego de cartas en la que los

    jugadores apuestan, y el total de la apuesta es ganada por aquellos jugadores que

    tengan la mejor combinacin de cartas. La baraja es un conjunto de naipes o cartas.

    La prueba estadstica de pquer plantea La hiptesis nula que los nmeros pseudo

    aleatorios son independientes entre s, siendo:

    : = ,$)$, $,+$ : ,$)$, $,+$

    La baraja diseada para esta prueba, est formada por 50 naipes

    0 1 2 3 4 5 6 7 8 9

    0 1 2 3 4 5 6 7 8 9

    0 1 2 3 4 5 6 7 8 9

    0 1 2 3 4 5 6 7 8 9

    0 1 2 3 4 5 6 7 8 9

  • 29

    Un nmero pseudoaleatorio (con mximo 5 digitos significativos) se representa como

    una jugada:

    X1 = 0.23123 se representa:

    2 3 1 2 3

    En donde un nmero pseudo aleatorio por ejemplo el 0.2312340, se toman los 5

    dgitos ms significativos (0.23123), donde cada digito se representa por una carta. Se

    analiza y se encuentra la combinacin de carta en este caso son dos pares, de una lista

    de siete posibles. Se anota la combinacin, y se selecciona el siguiente nmero pseudo

    aleatorio.

    La lista de combinaciones existentes son: todas diferentes, un par, dos pares, tercia,

    full, pquer, quintilla.

    La idea principal de la prueba es contabilizar la frecuencia observada de cada mano, y a

    frecuencia esperada de cada mano se obtiene de la probabilidad esperada en cada una

    de las manos posibles. Se utiliza el estadstico chi-cuadrado para rechazar o no la

    hiptesis de independencia.

    El procedimiento a seguir en esta prueba, es el siguiente:

    Paso 1.- Calcular la frecuencia esperada.

    Las manos de pquer posibles a considerar son todas diferentes, un par, dos pares,

    tercia, full, pquer y quintilla, las cuales servirn de criterio al momento de analizar

    cada uno de los N nmeros pseudo aleatorios. A continuacin se muestra una tabla en

    la cual se indica la probabilidad esperada de que cada una de las i manos, la cual se

    utiliza para el clculo de la frecuencia esperada (FEi).

    i Mano de Pquer Probabilidadi FEi = N x Probabilidadi

    1 Todos diferentes 0.30240 FE1 = N x 0.30240 2 Un par 0.50400 FE2 = N x 0.50400 3 Dos Pares 0.10800 FE3 = N x 0.10800 4 Tercia

    Full Pquer

    Quintilla

    0.07200+0.00900+0.00450+0.00010 = 0.0856

    FE4 = N x 0.08560

  • 30

    Paso 2.- Calcular la frecuencia observada.

    Se selecciona cada uno de los nmeros pseudo aleatorios, y se examina en forma

    individual eligiendo los 5 dgitos ms significativos, para ser utilizados cada uno como

    una carta de la baraja. La mano que se forme con las 5 barajas se contabilizar en las i

    manos observadas, y se acumular a la FOi correspondiente.

    i Mano de Pquer FOi

    1 Todos diferentes FE1 = Total de nmeros pseudoaleatorios que resultaron en todas diferentes.

    2 Un par FE2 = Total de nmeros pseudoaleatorios que resultaron con un par.

    3 Dos Pares FE3 = Total de nmeros pseudo aleatorios que resultaron con dos pares.

    4 Tercia Full Pquer Quintilla

    FE4 = Total de nmeros pseudo aleatorios que resultaron con tercia full pquer quintilla.

    Paso3.-Calcularelestadsticodef =

    7

    Una vez obtenido el estadstico de la muestra se compara con el estadstico terico de la poblacin ,@ para rechazar o no la hiptesis que la secuencia de nmeros proviene de una distribucin uniforme.

    )EE

    /* Genera una variable aleatoria binomial con parmetro p (probabilidad de xito ) y n */

    int binomial( double p, int n) {

    double r ;

    int x, i ;

    x=0;

    for(i=1;i

  • 42

    3.2.4.- DISTRIBUCIN HIPERGEOMTRICA.

    La funcin de probabilidad hipergeomtrica est descrita por:

    .i = |}~k |}~k |} Donde:

    0 i ") 0 , i "1 )

    Siendo x, n, y N nmeros enteros, N es el nmero de elementos de la poblacin, Np es

    el nmero de elementos que pertenecen a la clase I, y N(1-p) es el nmero de

    elementos pertenecientes a la clase II.

    Si se considera a n como una muestra de la poblacin N, utilizando la poltica de no

    reemplazo, entonces el nmero de elementos que pertenecen a la clase I (Np) siguen

    una distribucin hipergeomtrica.

    La distribucin hipergeomtrica tiene

    Una media igual a:

    = = ,) Y la varianza igual a:

    m = n = ,)1 ) r" ," 1t

    A medida que se extrae un elemento de una muestra de n elementos, se reduce el

    valor de N=N0, de acuerdo a la siguiente expresin: " = " 1 Y el valor de p=p0 tambin es transformado por la siguiente frmula:

    ) = ") " 1 El valor de S tiene el valor de 1 cuando el elemento extrado pertenece a la clase I, y el

    valor de cero en caso que pertenezca a la clase II.

  • 43

    Se aplica el mtodo de rechazo en la generacin de la variable aleatoria

    hipergeomtrica, que involucra un proceso de n iteraciones, realizando un conteo de

    los elementos pertenecientes a la clase I. En cada iteracin determina a que clase

    pertenece el elemento, para luego calcular la probabilidad que se utilizar en la

    siguiente iteracin. A continuacin se presenta la lgica utilizada para el clculo de la

    variable aleatoria hipergeomtrica.

    /* Genera una variable aleatoria hipergeometrica con parmetros tn, ns, y p (probabilidad de xito ) */

    int hipergeometrica(int tn, int ns, double p) {

    double r;

    int x, s;

    x=0;

    for(i=1;i

  • 44

    = = Y la varianza igual a:

    m = n =

    La variable aleatoria Poisson se obtiene mediante la siguiente desigualdad:

    +k %k

    /* Genera una variable aleatoria poisson con parmetro lambda */

    int poisson( double lambda) {

    double r, a,b;

    int x, i ;

    a=Math.exp(-lambda);

    b=1.0D;

    x=0;

    do {

    b = b * rand();

    if (b < a) { return x; }

    x = x + 1;

    }

    while (true);

    }

    Tabla 3.5.- Pseudocdigo para variable aleatoria Poisson.

  • 45

    3.3.- Variables aleatorias continuas.

    3.3.1.- DISTRIBUCIN UNIFORME.

    La distribucin uniforme o tambin conocida como la distribucin rectangular es el

    modelo continuo ms simple. Corresponde al caso de una variable aleatoria que slo

    puede tomar valores comprendidos entre dos extremos a y b, de manera que todos los

    intervalos de una misma longitud (dentro de (a, b)) tienen la misma probabilidad.

    Tambin puede expresarse como el modelo probabilstico correspondiente a tomar un

    nmero al azar dentro de un intervalo (a, b).

    La funcin de densidad f(x) se define como:

    .i = T 1? # i ?0# > i > ?E

    La distribucin acumulada F(x) est definida como:

    i = 1? +k = i ? # i ?

    Con media igual a:

    = = + ?2 Y varianza igual a:

    m = n = ? 12 La variable aleatoria uniforme es obtenida al aplicar el mtodo de la transformada

    inversa dando como resultado:

    i = i ? = % Despejando x se obtiene la variable aleatoria uniforme:

    O% ?($($+% -, .%$i = + ? %,$0 % 1

  • 46

    Esta variable aleatoria uniforme es una funcin que es dependiente de los valores a,b,

    y r, donde a corresponde al lmite inferior, b el lmite superior, y r es un nmero

    pseudoaleatorio entre 0 y 1, y la variable x corresponde a un nmero real que tiene un

    comportamiento uniforme, que puede ser implementado computacionalmente para la

    simulacin de nmeros uniformes.

    A continuacin se presenta el pseudocdigo del generador de nmeros uniformes.

    /* Genera una variable aleatoria uniforme con parmetros a (limite inferior), y b (lmite superior) */

    double uniforme(double a, double b) {

    double r,x;

    r = rand();

    x = a + (b a)*r;

    return(x);

    }

    3.3.2.- DISTRIBUCIN EXPONENCIAL.

    Si es muy pequea la probabilidad de que ocurra un evento en un intervalo corto, y si

    la ocurrencia de tal evento es, estadsticamente independiente respecto a la

    ocurrencia de otros eventos, entonces el intervalo de tiempo entre ocurrencia de

    eventos de este tipo estar distribuido en forma exponencial.

    La funcin de densidad de una distribucin exponencial tiene la forma:

    .i = $k Donde: > 09i 0. La distribucin acumulada F(x) est definida como:

    i = $k+ = 1 k $k Con media igual a:

    = = i$ki = 1 Y varianza igual a:

    Tabla 3.6.- Pseudocdigo para variable aleatoria uniforme.

  • 47

    m = n = i 1$ki = 1 = El parmetro lambda () es posible expresarlo de la siguiente manera:

    = 1 Aplicando la transformada inversa se tiene lo siguiente:

    # i = 1 $k $,+,$# 1 i = $k

    Igualando a r se obtiene:

    % = $k Despejando x es posible obtener la variable aleatoria exponencial:

    O% ?($($+% $i),$, (i = r1t o,% = o,%

    /* Genera una variable aleatoria exponencial con parmetro ex (media) */

    double exponencial(double ex) {

    double r,x;

    r = rand();

    x = -ex * Math.log(r) ;

    return(x);

    }

    Tabla 3.7.- Pseudocdigo para variable aleatoria exponencial.

  • 48

    3.3.3.- DISTRIBUCIN GAMMA.

    La funcin gamma est definida con la siguiente funcin de densidad:

    .i = uiu$ks 1! Donde: > 0, k > 0, y x 0 Debido a que la distribucin acumulada F(x) no existe de manera explcita, Pearson

    encontr una forma tabular de la funcin gamma incompleta.

    Con media igual a:

    = = s Y varianza igual a:

    m = n = s

    Se obtienen los valores de k y . = s = I sm , $#)$,s#$?+ $,$:

    s = m = s =

    m = m

    Para generar la variable aleatoria gamma es necesario aplicar el mtodo de

    convolucin, basado en la suma de k valores de variable aleatoria exponencial con

    media igual a 1/, expresando la variable aleatoria x de la siguiente manera: O% ?($($+% pi = i = 1u o,% = 1

    u o,%

    u

    Con la restriccin de generar variables aleatorias con valores de k que no sean enteros.

  • 49

    /* Genera una variable aleatoria gamma con parmetros lambda y k */

    double gamma(double lambda, int k) {

    double r,x, tr;

    int i;

    tr=1.0D;

    for(i=1;i

  • 50

    La funcin de densidad de una distribucin normal estandarizada tiene como valores a k = 0, 9nk = 1, .' = 12 $

    Donde: -

  • 51

    /* Genera una variable aleatoria normal con parmetros media y desviacion) */

    double normal(double media, double desviacion) {

    double r,x, tr;

    int i;

    int k=12;

    tr = 1.0D;

    for (i=1;i

  • 52

    La dificultad en este mtodo radica en que en algunas ocasiones es muy difcil

    encontrar la transformada inversa debido a que no es posible integrarse

    analticamente (ej. distribucin normal o gama). Cuando se presenta este caso se

    puede intentar el uso de propiedades estadsticas como el lmite central o la propiedad

    de convolucin, como alternativas matemticas exploratorias.

    3.4.2.- MTODO DE CONVOLUCIN.

    Este mtodo permite la generacin de variables aleatorias en funcin de una

    combinacin lineal ponderada de otras variables aleatorias. Es decir requiere que la

    variable a generar se pueda expresar como una suma lineal ponderada de otras

    variables aleatorias. Las variables aleatorias normal, binomial, Poisson, gamma y Erlang

    son un ejemplo de la aplicacin de ste mtodo.

    Este mtodo es posible aplicarse siempre y cuando la variable aleatoria x se pueda

    expresar como una combinacin lineal de k variables aleatorias:

    i = ?i +?uiu Donde i$#-,O% ?($($+% R-$#$+ $,$$. , )%$O $,+$. 3.4.3.- MTODO DE COMPOSICIN.

    Cuando la funcin de distribucin puede ser expresada como una combinacin

    convexa de otras funciones de distribucin, el mtodo de composicin es una

    alternativa que simplifica la generacin de variables aleatorias. En ste mtodo se

    expresa a f(x) como una mezcla probabilstica de las funciones de densidad fi(x). La

    funcin de distribucin tiene la siguiente forma:

    .i = ).i ,$) 09) = 1

    Para seleccionar las .i que son componentes de la fi se debe contemplar principalmente las consideraciones relativas a la geometra de la distribucin y la

    minimizacin de los tiempos esperados del clculo computacional.

  • 53

    Ejemplo.

    Generar la variable aleatoria para la siguiente distribucin:

    .i = 1 + i, 1 i < 01 i, 0 i 1E

    Solucin:

    i = 1 + ii = 1 + i2k

    i = 1 + ii + 1 ii = 1 1 i2k

    Aplicando la transformada inversa:

    % = i = 1 + i2 Despejando x se obtiene que:

    i = 2% 1 Para x=-1, se obtiene r = 0

    Para x=0, se obtiene r =

    Sujeta a las siguientes restricciones:

    0 % 1 2 1 i 0 Aplicando la transformada inversa:

    % = i = 1 1 i2 Despejando x se obtiene que:

    i = 1 21 % Para x=0, se obtiene r=

    Para x=1, se obtiene r=1

  • 54

    Sujeta a las restricciones siguientes: 1 2 % 1 0 i 1 Formulando entonces la variable aleatoria:

    i = T 2% 1, 0 % 1 21 21 %, 1 2 % 1E

    3.5.- PROCEDIMIENTOS ESPECIALES.

    Existen casos en que se requiere la aplicacin de algunas propiedades estadsticas

    como el teorema del lmite central que permiten generar una distribucin deseada.

    El teorema del lmite central indica que, en condiciones generales, si es la suma de n variables aleatorias independientes , entonces la funcin de distribucin de se aproxima a una distribucin normal. Este teorema asegura que ocurre cuando n es lo suficientemente grande.

    3.6.- PRUEBAS ESTADSTICAS (PRUEBAS DE BONDAD DE AJUSTE).

    Al construir el modelo de simulacin un punto importante es decidir si el conjunto de

    datos se ajusta apropiadamente a una distribucin especfica de probabilidad. El

    proceso de anlisis para conocer el comportamiento de los datos, se requiere

    formularlos mediante tablas de frecuencias, para as aplicar la prueba de bondad de

    ajuste (chi-cuadrada) y la prueba de Kolmogorov-Smirnov, descritas anteriormente en

    la seccin 2.21, con la variante de que el clculo de las frecuencias esperadas ser de

    acuerdo a la funcin propuesta f(x), para luego obtener mediante integracin la F(x)

    obteniendo la frecuencia esperada en el intervalo i con la siguientes expresiones:

    i = .ii~ = i " Donde f(x) es la funcin de probabilidad propuesta, los lmites superior e inferior ser

    de acuerdo al intervalo calculado y la N es la cantidad total de datos analizados.

  • 55

    4444 Lenguajes de SimulacinLenguajes de SimulacinLenguajes de SimulacinLenguajes de Simulacin

    4.1.- LENGUAJES DE SIMULACIN Y SIMULADORES.

    Una vez realizada el anlisis del sistema a simular, es necesario describir las

    especificaciones del modelo en trminos de relaciones lgicas. Para el diseo de la

    arquitectura del modelo se debe tomar la decisin de desarrollar el sistema mediante

    un lenguaje de programacin, o bien utilizar un simulador ya existente.

    4.1.1.- LENGUAJES DE PROGRAMACIN DE PROPSITO GENERAL.

    Los lenguajes de programacin tienen sus inicios en los aos cincuentas, los primeros

    lenguajes de programacin fueron desarrollados para propsito general, pero

    enfocados a diferentes nichos de oportunidad. El lenguaje Fortran fue utilizado

    ampliamente por cientficos y matemticos por su facilidad de implementar

    expresiones matemticas, en cambio, el lenguaje Cobol, tuvo su aceptacin en la

    administracin, debido a su facilidad para el manejo de grandes volmenes de datos.

    Al paso del tiempo fueron emergiendo otros lenguajes de programacin de propsito

    general, en los aos setentas surge el lenguaje Basic en las primeras

    microcomputadoras, y con el advenimiento de la programacin estructurada, el

    lenguaje Pascal, y el lenguaje C presentan nuevas estructuras de control que permiten

    al programador escribir un cdigo ms legible, limitando el uso de los saltos

    incondicionales utilizados en Fortran y Cobol.

    En los ochentas y noventas con el enfoque orientado a objetos, y los nuevos

    requerimientos en la presentacin grfica surgen nuevos lenguajes, y se adaptan los

    conocidos, con una nueva cara, los lenguajes visuales que han sido populares hasta

    la fecha, los cuales cuentan con poderosos entornos grficos, libreras que permiten

    fcilmente el desarrollo. La compaa Microsoft lder en los lenguajes de

    programacin para computadoras personales presenta el kit de desarrollo VisualStudio

    que en la ltima dcada lo ha ido transformado para incluir las nuevas tecnologas NET,

    soportando las redes, programacin web, y programacin mvil.

  • 4.1.2.- LENGUAJES DE PROGRAMACIN DE PROPSITO ESPECFICO.

    A mediados de los aos cincuentas, se construyen los primeros simuladores utilizando

    lenguajes de programacin de propsito general. Las dificultades presentadas en su

    construccin, dan luz a proyectos encaminados a desarrollar

    programacin que sean especfico

    Estos lenguajes de simulacin tienen como finalidad reducir la tarea de programacin,

    definiendo claramente el sistema a simular, que sea fcil mantener el cdigo

    los continuos cambios que surgen en el proceso de expe

    de las entidades a utilizar que permita relacionar las entidades dentro del sistema.

    Las caractersticas con las cuales debe contar un lenguaje de simulacin es

    Proporcionar instrucciones para la generacin de variables

    y no uniformes.

    Incluir instrucciones para el manejo de reloj

    La elaboracin de un informe de resultados de la simulacin.

    Reportar los errores de lgica e inconsistencias encontradas.

    4.1.3.- LENGUAJES DE SIMULACIN.

    4.1.3.1.- GPSS (General Purpose Simulation System).

    El lenguaje fue creado por Geoffrey Gordon

    tiene como objetivo principal la modelacin de sistemas discretos.

    se debe describir utilizando una secuencia de bloques que representan las actividades,

    Un grupo de transacciones fluye por esa secuencia descrita por los bloques. Es decir

    transacciones y bloques son dos elementos bsicos. Por ejemplo

    bancario a simular, las transacciones son las personas que acuden al banco, y van

    fluyendo por todas las instalaciones, y los bloques representan una operacin, tal es el

    caso de la entrada o salida, la atencin del cajero, o la espera.

    La empresa Minuteman Software (

    aos proporciona software para simulaci

    World versin 5.2.2 comercialmente y tambin

    56

    LENGUAJES DE PROGRAMACIN DE PROPSITO ESPECFICO.

    ncuentas, se construyen los primeros simuladores utilizando

    lenguajes de programacin de propsito general. Las dificultades presentadas en su

    construccin, dan luz a proyectos encaminados a desarrollar nuevos lenguaje

    especficos para construir simuladores.

    Estos lenguajes de simulacin tienen como finalidad reducir la tarea de programacin,

    definiendo claramente el sistema a simular, que sea fcil mantener el cdigo

    continuos cambios que surgen en el proceso de experimentacin, y una definicin

    de las entidades a utilizar que permita relacionar las entidades dentro del sistema.

    Las caractersticas con las cuales debe contar un lenguaje de simulacin es:

    roporcionar instrucciones para la generacin de variables aleatorias uniformes

    Incluir instrucciones para el manejo de reloj.

    La elaboracin de un informe de resultados de la simulacin.

    Reportar los errores de lgica e inconsistencias encontradas.

    LENGUAJES DE SIMULACIN.

    SS (General Purpose Simulation System).

    creado por Geoffrey Gordon a finales de la dcada de los cincuentas,

    tiene como objetivo principal la modelacin de sistemas discretos. El sistema a simular

    se debe describir utilizando una secuencia de bloques que representan las actividades,

    Un grupo de transacciones fluye por esa secuencia descrita por los bloques. Es decir

    transacciones y bloques son dos elementos bsicos. Por ejemplo en un sistema

    bancario a simular, las transacciones son las personas que acuden al banco, y van

    fluyendo por todas las instalaciones, y los bloques representan una operacin, tal es el

    la entrada o salida, la atencin del cajero, o la espera.

    presa Minuteman Software (www.minutemansoftware.com) por ms de veinte

    proporciona software para simulacin. Actualmente distribuye el producto

    comercialmente y tambin presenta una versin acadmica

    ncuentas, se construyen los primeros simuladores utilizando

    lenguajes de programacin de propsito general. Las dificultades presentadas en su

    lenguajes de

    Estos lenguajes de simulacin tienen como finalidad reducir la tarea de programacin,

    definiendo claramente el sistema a simular, que sea fcil mantener el cdigo debido a

    rimentacin, y una definicin

    de las entidades a utilizar que permita relacionar las entidades dentro del sistema.

    aleatorias uniformes

    cincuentas, y

    El sistema a simular

    se debe describir utilizando una secuencia de bloques que representan las actividades,

    Un grupo de transacciones fluye por esa secuencia descrita por los bloques. Es decir

    en un sistema

    bancario a simular, las transacciones son las personas que acuden al banco, y van

    fluyendo por todas las instalaciones, y los bloques representan una operacin, tal es el

    por ms de veinte

    producto GPSS

    una versin acadmica.

  • 4.1.3.2.- SIMSCRIPT.

    SIMSCRIPT es un lenguaje que

    equipo para soportar el proyecto Air Force Rand.

    transformado este lenguaje para cumplir con las

    del mercado.

    CACI (www.simscript.com) es una empresa ubicada en San Diego California, que es

    propietaria de SIMSCRIPT, y cuenta con casi cincuenta aos de experiencia en

    productos para construir simuladores

    SIMSCRIPT III es la nueva versin liberada

    tecnologa orientada a objetos y los nuevos procesadores de 32 y 64 bits. Contiene un

    entorno de desarrollo e interfases para

    basados en Java. Es utilizado en reas tales como: telecomunicaciones, simulacin de

    procesos de fabricacin, logstica en aeropuertos, entrenamientos militares, unidades

    militares animadas, formacin de vuelos, embarques, etc. Es compa

    plataformas Windows, Unix y Linux.

    4.1.3.3.- SIMULA.

    El lenguaje de simulacin SIMULA fue diseado por Ole

    en el Centro Noruego de C

    originalmente diseado e implemen

    discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos

    que tuvo gran influencia para la

    como el enfoque orientado a objetos

    encuentra un compilador soportado, dejando un gran trabajo como herencia a las

    futuras generaciones.

    4.1.3.4.- PROMODEL.

    ProModel es un paquete de simulacin que no requiere de programacin, pero s lo

    permite. Se ejecuta en plataforma Windows, es fcil de utilizar y tiene gran flexibilidad

    al construir complejas aplicaciones.

    Permite simular mediante animaciones cualquier tipo de s

    logstica, manejo de materiales,

    talleres, logstica, etc.

    Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a

    diferencia del procedimiento tradicion

    57

    es un lenguaje que fue desarrollado en 1962 por Harry Markowitz y su

    equipo para soportar el proyecto Air Force Rand. Al paso de los aos se ha

    para cumplir con las nuevas demandas computacionales y

    es una empresa ubicada en San Diego California, que es

    propietaria de SIMSCRIPT, y cuenta con casi cincuenta aos de experiencia en

    ra construir simuladores.

    es la nueva versin liberada por CACI en 2007 incorporando la

    tecnologa orientada a objetos y los nuevos procesadores de 32 y 64 bits. Contiene un

    entorno de desarrollo e interfases para construir grficos en dos y tres dimensiones

    en Java. Es utilizado en reas tales como: telecomunicaciones, simulacin de

    procesos de fabricacin, logstica en aeropuertos, entrenamientos militares, unidades

    militares animadas, formacin de vuelos, embarques, etc. Es compa

    plataformas Windows, Unix y Linux.

    El lenguaje de simulacin SIMULA fue diseado por Ole-Johan Dahl y Kristen Nygaard

    de Computacin en Oslo Noruega entre 1962 y 1967. Fue

    originalmente diseado e implementado como un lenguaje de simulacin de eventos

    discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos

    para la introduccin de conceptos importantes

    el enfoque orientado a objetos. Desafortunadamente hoy en da no se

    encuentra un compilador soportado, dejando un gran trabajo como herencia a las

    es un paquete de simulacin que no requiere de programacin, pero s lo

    permite. Se ejecuta en plataforma Windows, es fcil de utilizar y tiene gran flexibilidad

    al construir complejas aplicaciones.

    ermite simular mediante animaciones cualquier tipo de sistemas: Manufactura,

    logstica, manejo de materiales, bandas de transporte, gras viajeras, ensamble, corte,

    Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a

    diferencia del procedimiento tradicional de prueba y error.

    fue desarrollado en 1962 por Harry Markowitz y su

    paso de los aos se ha

    nuevas demandas computacionales y

    es una empresa ubicada en San Diego California, que es

    propietaria de SIMSCRIPT, y cuenta con casi cincuenta aos de experiencia en

    en 2007 incorporando la

    tecnologa orientada a objetos y los nuevos procesadores de 32 y 64 bits. Contiene un

    dimensiones

    en Java. Es utilizado en reas tales como: telecomunicaciones, simulacin de

    procesos de fabricacin, logstica en aeropuertos, entrenamientos militares, unidades

    militares animadas, formacin de vuelos, embarques, etc. Es compatible con

    Johan Dahl y Kristen Nygaard

    en Oslo Noruega entre 1962 y 1967. Fue

    tado como un lenguaje de simulacin de eventos

    discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos,

    introduccin de conceptos importantes conocidos

    Desafortunadamente hoy en da no se

    encuentra un compilador soportado, dejando un gran trabajo como herencia a las

    es un paquete de simulacin que no requiere de programacin, pero s lo

    permite. Se ejecuta en plataforma Windows, es fcil de utilizar y tiene gran flexibilidad

    anufactura,

    bandas de transporte, gras viajeras, ensamble, corte,

    Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a

  • La empresa comercial ProModel Corporation (

    utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas

    de decisin en las empresas, generando

    4.1.3.5.- ARENA.

    Arena es un software para realizar simulacin de eventos discretos. Desarrollado por

    Systems Modeling y adquirido por Rockwell Automation (

    libera la versin 14 en junio del 2012. Arena proporciona una interfase visual para la

    construccin del modelo basado en mdulos que representan la lgica del proceso

    relativas a las entidades, flujo y tiempo

    reportes de los datos estadsti

    El lenguaje de programacin VisualBasic

    como parte de un servicio opcional, para el desarrollo de

    Cuenta con ediciones comerciales: Professional, Enterprise, Estndar, Basic, y

    ediciones acadmicas: Academic Lab, Research , y Student.

    4.2.- APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.

    Al incursionar en la construccin del modelo de simulacin, es innegable

    conocimientos computacionales, matemticos y de la teora de la probabilidad juegan

    un papel importante en el xito de esta tarea.

    simulacin o el uso de un simulador es parte esencial para iniciar con la construcc

    del modelo. El tipo y la complejidad del modelo forman parte del criterio de seleccin

    del lenguaje de simulacin o simulador, siendo la experiencia en el desarrollo de

    sistemas computacionales una gran ayuda para incursionar en la construccin de

    simuladores.

    El lenguaje de simulacin GPSS es de gran ayuda para iniciar con esta actividad, un

    lenguaje que a pesar de surgir en los aos cincuentas est todava vigente con muy

    pocas modificaciones, y ha sido fuente de inspiracin para otros simuladores tal

    como: Promodel y Arena que proporcionan ambientes ms robustos y ayu

    que sustituyen la programacin.

    4.2.1.- LENGUAJE GPSS.

    GPSS World es un software de la empresa Minuteman Software que se ejecuta en un

    computadoras con sistemas operativos Windows.

    simulacin es necesario describir mediante un diagrama de bloques que

    posteriormente se codifica en el lenguaje

    58

    La empresa comercial ProModel Corporation (www.promodel.com.mx) Prom

    utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas

    , generando ahorros sustanciales, a travs de la simulacin.

    un software para realizar simulacin de eventos discretos. Desarrollado por

    Systems Modeling y adquirido por Rockwell Automation (www.arenasimulation.com

    libera la versin 14 en junio del 2012. Arena proporciona una interfase visual para la

    construccin del modelo basado en mdulos que representan la lgica del proceso

    relativas a las entidades, flujo y tiempo; y presenta los resultados de la simulacin con

    reportes de los datos estadsticos.

    El lenguaje de programacin VisualBasic de Microsoft est integrado en Arena

    como parte de un servicio opcional, para el desarrollo de algoritmos especficos.

    comerciales: Professional, Enterprise, Estndar, Basic, y

    ediciones acadmicas: Academic Lab, Research , y Student.

    APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.

    Al incursionar en la construccin del modelo de simulacin, es innegable

    conocimientos computacionales, matemticos y de la teora de la probabilidad juegan

    un papel importante en el xito de esta tarea. El conocimiento de un lenguaje de

    simulacin o el uso de un simulador es parte esencial para iniciar con la construcc

    del modelo. El tipo y la complejidad del modelo forman parte del criterio de seleccin

    del lenguaje de simulacin o simulador, siendo la experiencia en el desarrollo de

    sistemas computacionales una gran ayuda para incursionar en la construccin de

    El lenguaje de simulacin GPSS es de gran ayuda para iniciar con esta actividad, un

    lenguaje que a pesar de surgir en los aos cincuentas est todava vigente con muy

    pocas modificaciones, y ha sido fuente de inspiracin para otros simuladores tal

    como: Promodel y Arena que proporcionan ambientes ms robustos y ayudas visuales

    que sustituyen la programacin.

    es un software de la empresa Minuteman Software que se ejecuta en un

    computadoras con sistemas operativos Windows. Para construir el modelo de

    simulacin es necesario describir mediante un diagrama de bloques que

    posteriormente se codifica en el lenguaje GPSS.

    Promueve la

    utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas

    ahorros sustanciales, a travs de la simulacin.

    un software para realizar simulacin de eventos discretos. Desarrollado por

    www.arenasimulation.com)

    libera la versin 14 en junio del 2012. Arena proporciona una interfase visual para la

    construccin del modelo basado en mdulos que representan la lgica del proceso

    los resultados de la simulacin con

    de Microsoft est integrado en Arena,

    algoritmos especficos.

    comerciales: Professional, Enterprise, Estndar, Basic, y

    APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.

    Al incursionar en la construccin del modelo de simulacin, es innegable que los

    conocimientos computacionales, matemticos y de la teora de la probabilidad juegan

    El conocimiento de un lenguaje de

    simulacin o el uso de un simulador es parte esencial para iniciar con la construccin

    del modelo. El tipo y la complejidad del modelo forman parte del criterio de seleccin

    del lenguaje de simulacin o simulador, siendo la experiencia en el desarrollo de

    sistemas computacionales una gran ayuda para incursionar en la construccin de

    El lenguaje de simulacin GPSS es de gran ayuda para iniciar con esta actividad, un

    lenguaje que a pesar de surgir en los aos cincuentas est todava vigente con muy

    pocas modificaciones, y ha sido fuente de inspiracin para otros simuladores tales

    das visuales

    es un software de la empresa Minuteman Software que se ejecuta en un

    Para construir el modelo de

    simulacin es necesario describir mediante un diagrama de bloques que

  • 59

    Este software est basado en el lenguaje GPSS que fue desarrollado por Geoffrey

    Gordon en los aos sesentas, y ha contribuido con importantes conceptos que hoy en

    da estn presentes en los principales software de simulacin comerciales.

    GPSS World est diseado para entregar respuestas rpidas y confiables con el

    menor esfuerzo. La mayora de los sistemas pueden ser modelados de varias maneras

    utilizando GPSS World. A menudo se utiliza un subconjunto de instrucciones.

    4.2.1.1.- ESTRUCTURA DEL LENGUAJE GPSS.

    Las instrucciones dentro del lenguaje GPSS se pueden clasificar como:

    Instrucciones para definir variables.

    Instrucciones para la lgica del programa.

    Instrucciones para el control de la simulacin.

    Cada una de estas instrucciones de GPSS estn descritas en el apndice B.

    Instrucciones para definir variables.

    Instruccin Descripcin

    FUNCTION Definicin de funciones.

    STORAGE Definicin de nmero de servidores.

    MATRIX Definicin de matrices.

    EQU Asignacin numrica a variables.

    INITIAL Inicializacin de variables.

    TABLE Definicin de histogramas.

    VARIABLE FVARIABLE

    Definicin de operaciones.

    Tabla 4.1..- Instrucciones de GPSS para definicin de variables.

  • 60

    Instrucciones para la lgica del programa.

    Instruccin Descripcin

    SEIZE ENTER PREEMPT

    Simulacin de inicio de proceso y captura del servidor.

    RELEASE LEAVE RETURN

    Simulacin de fin de proceso y liberacin del servidor.

    QUEUE ENTER LINK

    Simulacin de entrada de transacciones a un almacn.

    DEPART ENTER UNLINK

    Simulacin de salida de transacciones de un almacn.

    GENERATE SPLIT

    Simulacin de entrada de transacciones al sistema.

    TERMINATE Simulacin de salida de transacciones del sistema.

    ADVANCE ASSEMBLE MATCH GATHER

    Simulacin de diversos tipos de proceso.

    TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER

    Simulacin de control de flujo de transacciones

    SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY

    Bloques de operaciones aritmticas.

    TABULATE Bloques de creacin de estadsticas.

    Instrucciones para el control de la simulacin.

    Instruccin Descripcin

    END START SIMULATE

    Control de la simulacin

    Tabla 4.2.- Instrucciones de GPSS para la lgica del programa.

    Tabla 4.3.- Instrucciones de GPSS para el control de la simulacin.

  • 61

    4.2.1.2.- DISEO Y CODIFICACIN DEL MODELO.

    El modelo puede ser conceptualizado grficamente como un sistema cerrado en el cual

    las transacciones entran al sistema por una puerta representada por el bloque

    GENERATE, y salen las transacciones del sistema por una o varias puertas de salida, las

    cuales son representadas por el bloque TERMINATE. El bloque ADVANCE simula el

    tiempo de servicio, siendo necesario describir secuencialmente dos bloques ADVANCE,

    el primero para simular el servicio realizado por el proceso 1, y el segundo para

    simular el proceso 2. El diagrama de bloques utilizado por GPSS utiliza una simbologa,

    que est definida en cada una de las instrucciones de bloques, la cual su interpretacin

    requiere de tiempo, por lo que en esta seccin no se aplicar para facilitar la

    comprensin.

    Las variables aleatorias utilizadas en este sistema son tres: el tiempo de entre llegadas

    (TE), el tiempo de servicio del proceso 1 (TS1), y el tiempo de servicio del proceso 2

    (TS2). La variables aleatorias uniformes y no uniformes pueden ser generadas en GPSS,

    siendo las variables aleatorias no uniformes las que requieren una particular

    especificacin adicional. Para simplificar primero utilizaremos variables aleatorias

    uniformes. La variable aleatoria del tiempo entre llegadas, es descrita dentro del

    bloque GENERATE, y el tiempo de servicio de cada proceso es descrita en el bloque

    ADVANCE.

    Simulacin de n transacciones.

    Para simular un sistema que lleve a cabo n transacciones atendidas, se utiliza como

    medida de control de la simulacin a las instrucciones TERMINATE y START. En la

    instruccin TERMINATE se utiliza el operando A, para representar la cantidad que se

    tiene que decrementar del contador de finalizacin inicializado con la instruccin

    START. EL siguiente ejemplo muestra la aplicacin de este concepto, tomando como

    Tiempo entre llegadas TE

    Tiempo de

    servicio TS1

    Tiempo de

    servicio TS2

    Proceso 1 Proceso 2

    Figura 4.1.- Sistema con dos procesos en serie.

  • 62

    base un modelo con caractersticas similares al visto en el anterior diagrama de

    bloques.

    Simulacin de n automviles atendidos en un lavado de autos.

    Al iniciar el modelado en GPSS, las instrucciones GENERATE, TERMINATE y ADVANCE

    tienen una importancia fundamental en la simulacin. A continuacin se presenta un

    ejemplo en donde se detalla su funcionamiento.

    Ejemplo: Se desea disear un modelo para simular el funcionamiento de un lavado de

    automviles en el cual se realizan dos procesos en serie: lavado exterior, y secado

    exterior. El tiempo entre llegadas de los vehculos tiene un comportamiento uniforme

    con una media de 15 5 minutos. El tiempo de servicio de lavado exterior tiene un

    comportamiento uniforme con una media de 5 2 minutos, y el tiempo de secado

    exterior es de 6 3 minutos. Se desea simular 100 vehculos atendidos.

    Solucin: El modelo debe representar un lavado de automviles, por lo cual las

    transacciones sern los vehculos. Los tiempos ya estn definidos como TE=u(15,5),

    TS1=u(5,2), y TS2=u(6,3). Primeramente es necesario estandarizar la unidad de tiempo

    que se va a utilizar en el modelo, siendo los minutos la unidad de tiempo seleccionada,

    convirtiendo todos los parmetros a minutos.

    Se describe el modelo haciendo uso de un diagrama de bloques, donde estos bloques

    representan una instruccin en lenguaje GPSS (apndice B). Inicia el diagrama con el

    bloque GENERATE 15,5 el cual genera vehculos cada 15 5 minutos, las cuales entran

    al sistema. Las flechas determinan el flujo de las transacciones. Los vehculos pasan al

    bloque ADVANCE 5,2 que simula un proceso de retardo de 5 2 minutos (lavado

    exterior del vehculo). Posteriormente se procede al siguiente bloque que est

    representado por ADVANCE 6,3 el cual simula el secado exterior con un tiempo de

    retardo de 6 3 minutos. Una vez terminado el secado, procede al ltimo bloque

    representado por el TERMINATE 1, simulando la salida del vehculo del sistema.

    En este modelo considera que la capacidad de lavado y secado es infinita debido a que no se tiene definida la capacidad en el

    servicio de lavado y secado, siendo atendidos los vehculos sin tener que hacer cola, debido a que existe un nmero infinito de

    espacio y servidores para lavar y secar. El reporte de resultados de la simulacin arroja informacin de una atencin ideal como

    una medida exploratoria inicial.

    GENERATE 15,5 ADVANCE 5,2 ADVANCE 6,3 TERMINATE 1

    Diagrama de bloques para un lavado de autos (100 vehiculos atendidos)

    Figura 4.2.- Diagrama de bloques para un lavado de autos.

  • 63

    Para llevar a cabo la simulacin de 100 vehculos atendidos es necesario el uso de la

    instruccin de control START 100. El operando 100 inicializa el contador de finalizacin

    en 100, el cual se ir decrementando en 1 cada vez que una transaccin pase por el

    bloque TERMINATE 1.

    Cdigo GPSS.

    GENERATE 15,5 ; Genera vehculos con tiempo entre llegadas U(15,5)

    ADVANCE 5,2 ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2)

    ADVANCE 6,3 ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3)

    TERMINATE 1 ;Abandona el vehculo del sistema

    START 100 ;Inicia el proceso de simulacin de 100 vehculos atendidos iniciando el contador de finalizacin igual a 100.

    Al ejecutar el cdigo (corrida) mostrar un reporte de resultados con las estadsticas

    producto de la simulacin efectuada. Este reporte de resultados de la simulacin tiene

    una informacin estructurada descrita ms adelante.

    Simulacin de n automviles atendidos en un lavado de autos (mltiples servidores).

    Ejemplo: Disear un modelo para simular el funcionamiento de un lavado de

    automviles en el cual se realizan dos procesos en serie: lavado exterior, y secado

    exterior. El tiempo entre llegadas de los vehculos tiene un comportamiento uniforme

    con una media de 15 5 minutos. El tiempo de servicio de lavado exterior tiene un

    comportamiento uniforme con una media de 5 2 minutos, y se tienen 2 espacios

    para lavar de manera simultnea. El tiempo de secado exterior es de 6 3 minutos, y

    se cuentan con 6 espacios para secado de forma simultnea. Se desea simular 100

    vehculos atendidos. No se cuenta con espacio entre el rea de lavado y el rea de

    secado.

    Solucin: Para especificar en el modelo la capacidad instalada en el centro de lavado,

    es necesario definir dos variables: LAVA Y SECA. Las cuales por medio de la instruccin

    STORAGE, es posible determinar la capacidad mxima de servicio simultneo.

    Tabla 4.4.- Cdigo GPSS para simular lavado y secado.

  • 64

    En el diagrama de bloques se representa la captura del servidor por medio del bloque

    ENTER, y la liberacin del servidor con el bloque LEAVE. Es evidente que para liberar

    un servidor (espacio) es necesario que exista previamente su captura del mismo por

    medio del ENTER. Pero es conveniente subrayar, que cuando se termina de lavar un

    vehculo, si existe un espacio disponible para ser secado se podr mover, de lo

    contrario seguir esperando el tiempo necesario, hasta que exista un espacio

    disponible para el secado (como se muestra en la lgica), y mientras tanto el servidor

    que lav el vehculo estar de ocioso.

    GENERATE 15,5

    ADVANCE 5,2

    ADVANCE 6,3

    TERMINATE 1

    Diagrama de bloques para un lavado de autos (100 vehiculos atendidos) Capacidad: 2 Lava, 6 Seca

    ENTER

    LAVA,1

    ENTER

    SECA,2

    LEAVE

    LAVA,1

    LEAVE

    SECA,1

    Figura 4.3.- Diagrama de bloques para un lavado de autos. Incluye

    servidores para realizar el lavado y secado.

  • 65

    Cdigo GPSS.

    LAVA STORAGE 2 ;capacidad mxima de lavado=2

    SECA STORAGE 6 ;capacidad mxima de secado = 6

    GENERATE 15,5 ; Genera vehiculos con tiempo entre llegadas U(15,5)

    ENTER LAVA,1 ;Captura un espacio para el lavado

    ADVANCE 5,2 ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2)

    ENTER SECA,1 ;Captura un espacio para secado

    LEAVE LAVA,1 ;Libera un espacio de lavado

    ADVANCE 6,3 ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3)

    LEAVE SECA,1 ;Libera un espacio de secado

    TERMINATE 1 ;Abandona el vehiculo del sistema

    START 100 ;Inicia el proceso de simulacin de 100 vehiculos atendidos iniciando el contador de finalizacin igual a 100.

    Simulacin por un periodo de tiempo en un lavado de autos.

    En algunos modelos es necesario llevar a cabo la simulacin por un perodo dado de

    tiempo. Para disear un modelo con estas caractersticas es necesario incluir un reloj

    que contabilice el tiempo de la simulacin. Para simular este reloj se requiere incluir

    una secuencia de instrucciones que controlan el tiempo de la simulacin.

    Ejemplo: Disear un modelo para simular el funcionamiento de un lavado de

    automviles en el cual se realizan dos procesos en serie: lavado exterior, y secado

    exterior. El tiempo entre llegadas de los vehculos tiene un comportamiento uniforme

    con una media de 15 5 minutos. El tiempo de servicio de lavado exterior tiene un

    comportamiento uniforme con una media de 5 2 minutos, y se tienen 2 espacios

    para lavar de manera simultnea. El tiempo de secado exterior es de 6 3 minutos, y

    se cuentan con 6 espacios para secado de forma simultnea. Se desea simular una

    jornada de 8 horas de trabajo continuo. No se cuenta con espacio entre el rea de

    lavado y el rea de secado.

    Solucin: Para modelar este sistema es preciso determinar dos secuencias de bloques,