Sei sulla pagina 1di 177

SIMULACIN

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

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

2.- Nmeros pseudoaleatorios


2.1.- MTODOS DE GENERACIN DE NMEROS PSEUDOALEATORIOS. 2.2.- PRUEBAS ESTADSTICAS. 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). 2.3.- Mtodo de Monte Carlo. 2.3.1.- Caractersticas. 2.3.2.- Aplicaciones. 2.3.3.- Solucin de problemas. 13 16 17 22 25 31 32 33 33

3.3.- Generacin de variables aleatorias


3.1.- CONCEPTOS BSICOS. 3.2.- VARIABLES ALEATORIAS DISCRETAS. 3.3.- VARIABLES ALEATORIAS CONTINUAS. 3.4.- MTODOS PARA GENERAR VARIABLES ALEATORIAS. 3.4.1.- Mtodo de la transformada inversa. 3.4.2.- Mtodo de convolucin. 3.4.3.- Mtodo de composicin. 3.5.- PROCEDIMIENTOS ESPECIALES. 3.6.- PRUEBAS ESTADSTICAS (BONDAD DE AJUSTE). 37 37 45 51 51 52 52 54 54

4.4.- Lenguajes de Simulacin


4.1.- LENGUAJES DE SIMULACIN Y SIMULADORES. 4.2.- APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR. 4.3.- CASOS PRCTICOS DE SIMULACIN. 4.3.1.- Problemas con lneas de espera. 4.3.2.- Problemas con sistemas de inventario. 4.4.- VALIDACIN DE UN SIMULADOR. 4.4.1.- Pruebas paramtricas (validacin del modelo, pruebas de hiptesis y pruebas de estimacin. 4.4.2.- Pruebas no paramtricas. 55 58 67 67 84 102 108 116

5.5.- Proyecto 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. 5.1.1.- Manufactura. 5.1.2.- Control de calidad. 5.1.3.- Supermercado. 117 117 132 142

Apndice A
Distribucin Normal (Z) Distribucin chi-cuadrada ( ) Tabla K-S (, ) 157 158 159

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

1
Introduccin 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:

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.
2

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
3

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
4

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
5

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.

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.
7

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.

Definir el sistema

Formular el modelo D o c u m e n t a r

Recopilar datos

Implementar el modelo en la computadora

Validar el modelo

Experimentar con el modelo

Interpretar los resultados del modelo

Figura 1.1.- Etapas de un proyecto de simulacin

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,

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. 2. 3. 4. La opinin de expertos sobre los resultados de la simulacin. La exactitud con que se predicen datos histricos. La exactitud en la prediccin del futuro. 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.

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.

10

2
Nmeros 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.

11

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.

GENERACIN DE NMEROS UNIFORMES

Provisin externa

Generacin interna basada en un proceso fsico

Generacin interna basada en una relacin de recurrencia

Figura 2.1.- Maneras de generar nmeros pseudo aleatorios uniformes

12

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)

13

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 Numerical recipes Borland C/C++ Glibc (Gcc) Ansi C Borland Delphi Microsoft Visual/Quick C/C++
Java's java.util.Random

m 232 232 231 231


2 2 2
32 32

A
1,664,525 22,695,477 1,103,515,245 1,103,515,245 134,775,813 214013 (343FD16) 25,214,903,917

c
1,013,904,223 1 12,345 12,345 1 2531011 (269EC316) 11

48

Tabla 2.1.- Parmetros de recurrencia usados por compiladores comerciales

14

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 0 1 2 3 4 5 6 7 8 9 Xn 4 3 6 5 0 7 2 1 4 3 (5Xn + 7 )mod 8 (5(4)+7) mod 8 = 27 mod 8 = 3 (5(3)+7) mod 8 = 22 mod 8 = 6 (5(6)+7) mod 8 = 37 mod 8 = 1 (5(5)+7) mod 8 = 32 mod 8 = 0 (5(0)+7) mod 8 = 7 mod 8 = 7 (5(7)+7) mod 8 = 42 mod 8 = 2 (5(2)+7) mod 8 = 17 mod 8 = 1 (5(1)+7) mod 8 = 12 mod 8 = 4 (5(4)+7) mod 8 = 27 mod 8 = 3 (5(3)+7) mod 8 = 22 mod 8 = 6 Xn+1 3 6 5 0 7 2 1 4 3 6 Nmero pseudo aleatorio 3/8 6/8 5/8 0/8 = 0 7/8 2/8 1/8 4/8 3/8 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.

15

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.

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

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

16

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<0.20 1 FE1 = 100/5 FE1 = N/n FO1 0.20<0.40 2 FE2 = 100/5 FO2 0.40<0.60 3 FE3 = 100/5 FO3 0.60<0.80 4 FE4 = 100/5 FO4 0.80<1 5 FE5 = 100/5 FO5

Frecuencia Esperada Frecuencia Observada

Tabla 2.2.- Frecuencia esperada y observada para 5 subintervalos.

La hiptesis de que todas las frecuencias son iguales en cada subintervalo se basa en dividir el intervalo (0;1) en n subintervalos para luego realizar las comparaciones en cada subintervalo entre la frecuencia esperada contra la frecuencia observada. Si son
17

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:

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

Donde: N = Tamao de la muestra, n=cantidad de subintervalos, FOi=frecuencia observada en el subintervalo i, FEi=frecuencia esperada en el subintervalo i.

Donde:

, es el estadstico terico chi-cuadrada que proviene de la tabla Chi-Cuadrada mostrada en el apndice A, con un nivel de significancia y n-1 grados de libertad.

0.64138 0.47681 0.79302 0.64264 0.64388 0.59867 0.08396 0.93661 0.81515 0.07339

0.55837 0.52127 0.08124 0.22409 0.83371 0.10238 0.14600 0.72871 0.91642 0.65144

0.81593 0.69239 0.53401 0.80242 0.04198 0.57576 0.07700 0.96122 0.93912 0.81809

0.04994 0.92006 0.48201 0.58071 0.49796 0.20976 0.76808 0.52904 0.59072 0.01614

0.61265 0.37913 0.03268 0.31629 0.16087 0.25934 0.90808 0.18658 0.38699 0.86034

0.06787 0.32035 0.38087 0.03585 0.68317 0.27937 0.19125 0.81139 0.22783 0.05137

0.30465 0.37248 0.68054 0.46034 0.39974 0.74035 0.71868 0.71166 0.54638 0.50878

0.54264 0.57836 0.69251 0.57039 0.48571 0.26204 0.31794 0.92589 0.59725 0.98290

0.81159 0.19180 0.60284 0.15096 0.93409 0.06659 0.81621 0.23092 0.30204 0.41824

0.61163 0.28920 0.69351 0.15523 0.90760 0.75064 0.47948 0.92253 0.63166 0.97056

Tabla 2.3.- Tabla con 100 nmeros pseudoaleatorios para realizar pruebas de aleatoriedad

Ejemplo

Se desea realizar la prueba de chi-cuadrada a una secuencia de 100 nmeros pseudo aleatorios (Tabla 2.3)
Solucin

Paso 1.- Determinar N, y n. Se cuenta con 100 nmeros por lo que N=100, y se determina arbitrariamente 5 subintervalos (n=5). Paso 2.- Se calcula la frecuencia esperada y observada. FE = 100/5 = 20, por lo que la FE1= FE2= FE3= FE4=FE5=20. Se contabiliza las frecuencias observadas en cada uno de los 5 subintervalos, y se obtiene:
18

i 1 2 3 4 5

Subintervalo [0, 0.20) [0.20, 0.40) [0.40, 0.60) [0.60, 0.80) [0.80, 1.00)

FOi 20 18 21 20 21

FEi 20 20 20 20 20

Paso 3.- Calcular el estadstico muestral:


20 20 + 18 20 + 21 20 + 20 20 + 21 20 6 = = 0.3 20 20

Paso 4.- Buscar el estadstico terico de la tabla de chi-cuadrada en el apndice A, tomando como alfa=5%=0.05 y 5-1 grados de libertad se obtiene:
, = . , = 9.49

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


= 0.3 , = 9.49 , < ,

19

2.2.1.2.- La prueba Kolmogorov-Smirnov. La prueba de Kolmogorov-Smirnov tambin conocida como la prueba K-S, trata de determinar s dos conjuntos de datos difieren significativamente. La prueba K-S tiene la ventaja de no asumir acerca de la distribucin de los datos, aunque esto tiene un costo no documentado. La prueba K-S se realiza basado en la hiptesis de que la distribucin acumulada de una variable aleatoria x es F0(x). Para llevar a cabo esta hiptesis, se requiere de una muestra de tamao n obtenida de una distribucin continua F(x), para luego determinar la distribucin acumulada de la muestra referida como Fn(x), posteriormente se compara con la distribucin acumulada hipottica F0(x). Si Fn(x) difiere de F0(x), entonces es evidencia de que Fn(x) no es igual a Fn(x). La prueba K-S compara la funcin de distribucin (probabilidad acumulada) terica con la observada, y calcula un valor de discrepancia, representado habitualmente como d, que corresponde a la discrepancia mxima en valor absoluto entre la distribucin observada y la distribucin terica, proporcionando asimismo un valor de probabilidad P, que corresponde, si estamos verificando un ajuste a la distribucin normal, a la probabilidad de obtener una distribucin que discrepe tanto como la observada si verdaderamente se hubiera obtenido una muestra aleatoria, de tamao n, de una distribucin normal. Si esa probabilidad es grande no habr por tanto razones estadsticas para suponer que nuestros datos no proceden de una distribucin, mientras que si es muy pequea, no ser aceptable suponer ese modelo probabilstico para los datos. El procedimiento para realizar la prueba K-S es el siguiente: 1. Se seleccionan los nmeros pseudo aleatorios que se desean probar. 2. Se crea un vector X[i] con los nmeros pseudo aleatorios ordenados ascendentemente. 3. Se calcula la funcin acumulada usando el vector F[i] = i/n 4. Se calcula el vector DIF[i] = | F[i] X[i] | 5. Se calcula = Mayor nmero contenido en el vector DIF[i] 6. Si ,

20

Ejemplo:

Se desea realizar la prueba K-S a una secuencia de 30 nmeros pseudo aleatorios tomados de la Tabla 2.3 Paso 1.- Se seleccionan los primeros 30 nmeros pseudoaleatorios
0.64138 0.47681 0.79302 0.55837 0.52127 0.08124 0.81593 0.69239 0.53401 0.04994 0.92006 0.48201 0.61265 0.37913 0.03268 0.06787 0.32035 0.38087 0.30465 0.37248 0.68054 0.54264 0.57836 0.69251 0.81159 0.19180 0.60284 0.61163 0.28920 0.69351

Paso 2.- Se ordenan ascendentemente los 30 nmeros pseudoaleatorios. (Vector X[i])


0.03268 0.38087 0.61265 0.04994 0.47681 0.64138 0.06787 0.48201 0.68054 0.08124 0.52127 0.69239 0.19180 0.53401 0.69251 0.28920 0.54264 0.69351 0.30465 0.55837 0.79302 0.32035 0.57836 0.81159 0.37248 0.60284 0.81593 0.37913 0.61163 0.92006

Paso 3.- Se calcula El Vector F[i] = i /n


0.03333 0.36667 0.70000 0.06667 0.40000 0.73333 0.10000 0.43333 0.76667 0.13333 0.46667 0.80000 0.16667 0.50000 0.83333 0.20000 0.53333 0.86667 0.23333 0.56667 0.90000 0.26667 0.60000 0.93333 0.30000 0.63333 0.96667 0.33333 0.66667 1.00000

Paso 4.- Se calcula el vector DIF[i] =| F[i] X[i] |


0.00065 0.01420 0.08735 0.01673 0.07681 0.09195 0.03213 0.04868 0.08613 0.05209 0.05460 0.10761 0.02513 0.03401 0.14082 0.08920 0.00931 0.17316 0.07132 0.00830 0.10698 0.05368 0.02164 0.12174 0.07248 0.03049 0.15074 0.04580 0.05504 0.07994

Paso 5.- Calcular el estadstico .

Se localiza la posicin de la mayor nmero en el vector DIF (la mayor diferencia), siendo el valor 0.17316 que se ubica en i=26, consiguiendo as el estadstico Dn Por lo que: DIF[26]=0.17316 X[26]=0.69351 F[26]=0.86667 Encontrando que = DIF[26]= 0.17316 = |F[26]-X[26]|

Seleccionado =0.05, entonces ., = 0.242 ver tabla k-s en el apndice A.

Paso 6.- Probar si se rechaza o no la prueba K-S.

Como ., entonces no se tienen elementos para rechazar la hiptesis de que estos 30 nmeros tienen un comportamiento uniforme.
21

2.2.2.- DE ALEATORIEDAD. (CORRIDAS ARRIBA Y DEBAJO DE LA MEDIA Y LONGITUD DE CORRIDAS). La prueba de corridas es una variante de la prueba de distancia la cual determina si una serie de eventos ocurren aleatoriamente. Esta prueba es una variante de la prueba de distancia en la cual el intervalo 0 a1a21 est fijado a 000.51 es decir a1=0, y a2=0.5. Dada una secuencia de N nmeros pseudo aleatorios Xi es necesario transformarla a una secuencia de nmeros binarios (Bi es cero o uno), en donde se utiliza el siguiente criterio de conversin: = 0 < 0.5 1 > 0.5

Una corrida es una sucesin del mismo evento escrita una o ms veces, por ejemplo una secuencia 0001100100 contiene 5 corridas es decir R=5, en donde: la primera corrida es 000, la segunda 11, la tercera 00, la cuarta 1, y la quinta 00. Una vez determinada el nmero de corridas se calcula el estadstico Z0 y se utiliza la distribucin normal para obtener la regin critica. Para calcular el Z0 se utilizan las siguientes frmulas: = 2 +1 +

es el valor promedio de las corridas, n1 es el nmero de veces que el primer Donde evento ha ocurrido, y n2 es el nmero de veces que el segundo evento ha ocurrido. = 2 2 + + 1 +

es la desviacin estndar de las corridas. Donde =

Donde Z0 es el estadstico para la aproximacin normal de los datos, R es el nmero de corridas y h es la correccin para continuidad, 0.5 (5% nivel de significancia), donde: = +0.5 < = 0.5 > 2 + 1 + 2 + 1 +

22

1.96 1.96

Ejemplo:

Se desea realizar la prueba de corridas a una secuencia de 30 nmeros pseudo aleatorios tomados de la Tabla 2.3 Paso 1.- Se seleccionan los primeros 30 nmeros pseudoaleatorios
0.64138 0.47681 0.79302 0.55837 0.52127 0.08124 0.81593 0.69239 0.53401 0.04994 0.92006 0.48201 0.61265 0.37913 0.03268 0.06787 0.32035 0.38087 0.30465 0.37248 0.68054 0.54264 0.57836 0.69251 0.81159 0.19180 0.60284 0.61163 0.28920 0.69351

Paso 2.- Se construye la secuencia B


1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1

Paso 3.- Se Calculan las corridas de la secuencia (leer B de izquierda a derecha y de arriba hacia abajo).
1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1

Esta secuencia contiene 16 corridas, es decir R=16.

Paso 4.- Se Calcula N1, N2, XR, SR, y Z0.

N1 = cantidad de ceros en la secuencia = 13 N2 = cantidad de unos en la secuencia = 17 = 2 +1 +

23

21317 442 +1= + 1 = 15.73 13 + 17 30 2 2 + + 1

442442 30 182104 182104 = = = 6.977 = 2.641 30 29 90029 26100 2 + 1 + 2 + 1 = 0.5 > + = + 21317 442 + 1 = + 1 = 15.73 13 + 17 30

21317 21317 13 17 13 + 17 13 + 17 1

16 0.5 15.73 0.23 = = 0.0870 2.641 2.641

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

1.96 0.0870 1.96

/ = . = 1.96

24

2.2.3.- DE INDEPENDENCIA. (AUTOCORRELACIN, PRUEBA DE HUECOS, PRUEBA DE PQUER, PRUEBA DE YULE). Las pruebas de independencia son utilizadas para demostrar que los nmeros pseudo aleatorios son estadsticamente independientes entre s. Estas pruebas se basan en la siguiente hiptesis: H0 : Xi es independiente H1: Xi es dependiente Para probar la independencia a continuacin se presentan Las siguientes pruebas: Autocorrelacin, huecos, pquer y la prueba de Yule. 2.2.3.1.- Prueba de Autocorrelacin. Para la detectar la autocorrelacin en una secuencia de nmeros pseudo aleatorios, se utilizan distintos instrumentos estadsticos y grficos. En la prctica no se conoce un proceso adecuado que determine la existencia de la autocorrelacin. La prueba de autocorrelacin verifica la correlacin entre los nmeros pseudoaleatorios, y los compara con la deseable autocorrelacin de cero. La correlacin es una relacin recproca entre dos o ms elementos en una secuencia. La secuencia de nmeros pseudo aleatorios aparentemente son aleatorios, pero pudiera existir una relacin entre ciertos nmeros a partir de un nmero especfico. Existen varios mtodos como el propuesto por Durbin y Watson, el de Breusch y Godfrey, como tambin el estadstico de Box y Pierce. 2.2.3.2.- Prueba de huecos. La prueba de huecos, mejor conocida como prueba de distancia o prueba Gap determina la independencia de la secuencia de nmeros pseudo aleatorios. Para iniciar la prueba es necesario determinar un subintervalo tal que 0 a1 a2 1 La secuencia de N nmeros pseudo aleatorios Xi es es necesario transformarla a una secuencia de nmeros binarios (Bi es cero o uno), en donde se utiliza el siguiente criterio de conversin: 0 0 1 2 1 = 1

Una corrida es una sucesin del mismo evento escrita una o ms veces, por ejemplo una secuencia 0001100100 contiene 5 corridas es decir R=5, en donde: la primera corrida es 000, la segunda 11, la tercera 00, la cuarta 1, y la quinta 00. Una vez determinada el nmero de corridas se calcula el estadstico Z0 y se utiliza la
25

distribucin normal para obtener la regin crtica. Para calcular el Z0 se utilizan las siguientes frmulas: = 2 +1 +

es el valor promedio de las corridas, n1 es el nmero de veces que el primer Donde evento ha ocurrido, y n2 es el nmero de veces que el segundo evento ha ocurrido. = 2 2 + + 1 +

es la desviacin estndar de las corridas. Donde =

Donde Z0 es el estadstico para la aproximacin normal de los datos, R es el nmero de corridas y h es la correccin para continuidad, 0.5 (5% nivel de significancia), donde: = +0.5 < = 0.5 > 2 + 1 + 2 + 1 +

1.96 1.96
Ejemplo:

Se desea realizar la prueba de corridas a una secuencia de 30 nmeros pseudo aleatorios tomados de la Tabla 3.1 Paso 1.- Se seleccionan los primeros 30 nmeros pseudoaleatorios
0.64138 0.47681 0.79302 0.55837 0.52127 0.08124 0.81593 0.69239 0.53401 0.04994 0.92006 0.48201 0.61265 0.37913 0.03268 0.06787 0.32035 0.38087 0.30465 0.37248 0.68054 0.54264 0.57836 0.69251 0.81159 0.19180 0.60284 0.61163 0.28920 0.69351

Paso 2.- Se construye la secuencia B utilizando como subintervalo a1=0.0 y a2=0.5


1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1

26

Paso 3.- Se Calculan las corridas de la secuencia (leer B de izquierda a derecha y de arriba hacia abajo).
1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1

Esta secuencia contiene 16 corridas, es decir R=16.

Paso 4.- Se Calcula N1, N2, XR, SR, y Z0.

N1 = cantidad de ceros en la secuencia = 13 N2 = cantidad de unos en la secuencia = 17 = = 2 +1 +

21317 442 +1= + 1 = 15.73 13 + 17 30 2 2 + + 1

442442 30 182104 182104 = = = 6.977 = 2.641 30 29 90029 26100 2 + 1 + 21317 442 + 1 = + 1 = 15.73 13 + 17 30
27

21317 21317 13 17 13 + 17 13 + 17 1

2 = 0.5 > + 1 + = +

16 0.5 15.73 0.23 = = 0.0870 2.641 2.641

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

2.2.3.3.- Prueba de Pquer.

1.96 0.0870 1.96

/ = . = 1.96

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 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9

28

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 1 2 3 4

Mano de Pquer Todos diferentes Un par Dos Pares Tercia Full Pquer Quintilla

Probabilidadi 0.30240 0.50400 0.10800 0.07200+0.00900+0.00450+0.00010 = 0.0856

FEi = N x Probabilidadi FE1 = N x 0.30240 FE2 = N x 0.50400 FE3 = N x 0.10800 FE4 = N x 0.08560

29

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 1 2 3 4 Mano de Pquer Todos diferentes Un par Dos Pares Tercia Full Pquer Quintilla FOi FE1 = Total de nmeros pseudoaleatorios que resultaron en todas diferentes. FE2 = Total de nmeros pseudoaleatorios que resultaron con un par. FE3 = Total de nmeros pseudo aleatorios que resultaron con dos pares. FE4 = Total de nmeros pseudo aleatorios que resultaron con tercia full pquer quintilla.

Paso 3.- Calcular el estadstico

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.
< ,

Donde:

, es el estadstico terico chi-cuadrada que proviene de la tabla Chi-Cuadrada mostrada en el apndice A, con un nivel de significancia y 3 grados de libertad.

2.2.3.4.- Prueba de Yule. El estadstico escocs George Udny Yule propone un estudio de medida de asociacin por medio de cuadros estadsticos que denominan tablas de contigencia. El coeficiente de contingencia Q de Yule es una medida del grado de relacin (asociacin) existente entre dos variables (atributos). El coeficiente de asociacin de Yule debe ser utilizado nicamente en tablas de 2x2. Los datos deben ser agrupados en tablas de contingencia de 2x3. Este coeficiente es aplicable en casos como pruebas de seales en donde se requiere emparejar una muestra independendiente. El clculo de este coeficiente considera a A y B como dos atributos los cuales estn clasificados en N y M grupos respectivamente. El primer paso es organizar los datos dentro de una tabla de M x N.
30

B/A B1 B2 Bm A=

A1 A1B1 A1B2 A1Bm A1

A2 A2B2 A2B2 A2Bm A2

An AnB1 AnB2 AnBm An

Subtotal B1 B2 Bm N

El coeficiente de contingencia se estima con la siguiente expresin: = = Clases B A a c +

El coeficiente de asociacin debe ser aplicado a una tabla de 2x2 usando la expresin: +

En donde a y b son producto de la siguiente tabla:

b d

2.3.- MTODO DE MONTE CARLO. Algunos problemas complejos han sido abordados para su solucin prctica haciendo uso de varias tcnicas de probabilidad y muestreo, Las cuales se han agrupado bajo el nombre de Monte Carlo el cual emplea un procedimiento antiguo que utiliza el muestreo aleatorio que permite simular experimentos. El mtodo Monte Carlo lo define el Dr. Householder como el estudio de modelos estocsticos artificiales de procesos matemticos o fsicos. El mtodo Monte Carlo engloba diversos mtodos de simulacin para conocer el comportamiento de los modelos de simulacin basados en resolver ensayos independientes, donde los resultados de un experimento no afecten lo que ocurre con los resultados de los siguientes experimentos. El mtodo Monte Carlo es una tcnica que est basada en la utilizacin de nmeros aleatorios y probabilidad para la investigacin de problemas. Es empleado en una gran variedad de campos incluyendo economa, finanzas, fsica, qumica, e ingeniera. Cada campo utiliza el mtodo de diferentes maneras, pero en esencia utiliza nmeros aleatorios para examinar algunos problemas y aproximar soluciones. Esta tcnica se
31

emplea en sistemas complejos en las cuales otras tcnicas son difciles o imposibles de aplicar. El mtodo de Monte Carlo es utilizado para aproximar expresiones matemticas complejas y costosas de evaluar con exactitud. Este mtodo tiene su nombre en honor al Casino de Monte Carlo ubicado en Mnaco el cual se le conoce como la capital del juego de azar. El desarrollo de este mtodo inicia en 1944 y se ha ido mejorando con el paso del tiempo y el uso de las computadoras. Como herramienta de investigacin tuvo su debut en el laboratorio de Los lamos en Estados Unidos de Norteamrica en el desarrollo de la bomba atmica durante la segunda guerra mundial. Tambin es una herramienta de investigacin y planteamiento, que utiliza el muestreo artificial para la operacin numrica de sistemas complejos que contienen elementos aleatorios o determinsticos en condiciones de incertidumbre. En la Investigacin de Operaciones se utiliza para fines de experimentacin para la elaboracin de modelos y ajuste de parmetros para el estudio de los resultados posibles. Monte Carlo agrupa una serie de procedimientos que analizan distribuciones de variables aleatorias usando la simulacin de nmeros aleatorios. Este mtodo proporciona la solucin a una gran gama de problemas matemticos haciendo uso de experimentos con muestreos estadsticos computacionales. La aplicacin del mtodo puede realizarse en modelos estocsticos o determinsticos. Los primeros usos del mtodo fue la solucin de integrales que no se podan resolver analticamente. Posteriormente fue implementado este mtodo en aquellos problemas en los cuales intervena nmeros aleatorios y variables aleatorias con distribucin de probabilidad conocidas. Este mtodo puede ser utilizado para describir cualquier tcnica que aproxime soluciones a problemas cuantitativos mediante el uso del muestreo estadstico. 2.3.1.- CARACTERSTICAS. Las principales caractersticas del Mtodo de Monte Carlo son: El sistema debe estar formulado considerando una o ms funciones de distribucin de probabilidad. Debe contar con un generador de nmeros pseudo aleatorios. EL establecimiento de lmites y reglas de muestreo para las funciones de probabilidad. La estimacin del error. Las tcnicas de reduccin de varianza. El uso del multiprocesamiento.
32

2.3.2.- APLICACIONES. Criptografa Densidad y flujo de trfico Diseo de VLSI Econometra Fsica de materiales Programas de computadora Explotacin petrolera Lneas de espera Bolsa de valores Cromo dinmica cuntica Diseo de reactores nucleares Ecologa Evolucin estelar Modelos cuantitativos Pronsticos Radioterapia Inventarios

2.3.3.- SOLUCIN DE PROBLEMAS. 2.3.3.1.- Valor de una integral definida.


Se desea obtener la integral de la funcin Y=X2 al resolverlo analticamente en los lmites de -1 x 1 se obtiene como resultado 2/3.

Considerando que el rea del rectngulo es de 2, se efecta la divisin entre el resultado de la integral (2/3) dando como resultado 1/3 = 0.333. Utilizando el mtodo de Monte Carlo para encontrar la solucin, se utiliza la tabla de nmeros aleatorios formando parejas de dos dgitos (un valor para la abscisa y otra para la ordenada). Al simular 200 puntos, se contabilizan aquellos puntos que se sitan bajo la curva de la funcin. Al terminar el proceso el conteo obtiene 69 que estn ubicados bajo la curva, por lo que se calcula la la proporcin 69/200 la cual da un resultado de 0.345 el cual es muy cercano a 0.333, con un error de 0.012.

33

2.3.3.2.- rea Militar.


El mayor desarrollo del mtodo de Monte Carlo se ha dado en el rea militar, resolviendo los siguientes tipos de problemas:

Nmero de aviones que no cumplen con la misin. Nmero de aviones derribados por el enemigo, en el camino hacia el objetivo. Nmero de aviones extraviados por errores de navegacin. Nmero de aviones derribados por el enemigo que defiende el objetivo. Lugar donde las bombas hacen impacto. Daos esperados.

2.3.3.3.- Anlisis de Riesgo.


El anlisis de riesgo es el proceso de predecir un resultado en condiciones de incertidumbre. La determinacin de la produccin ante una demanda cambiante es un problema que enfrentan los productores. La intencin del productor es obtener las mximas ganancias. Se cuenta con variables determinsticas y estocsticas. En la medida que el modelo de produccin se vuelve ms complejo es difcil encontrar una solucin analtica, siendo el mtodo de Monte Carlo una herramienta que brinda una opcin para encontrar la solucin.

2.3.3.4.- Inventarios.
El inventario son bienes que son almacenados por una organizacin para ser utilizados en el futuro. Casi todas las empresas cuentan con inventarios, los cuales representan gran cantidad de dinero invertido. Minimizar los inventarios es una tarea crtica de cualquier administracin por lo que ha sido objeto de estudio durante muchos aos, para minimizar los costos de mantenimiento de un artculo en el inventario. Los costos de inventarios ms representativos son: conservacin, pedido, faltante, y de adquisicin. Los costos de conservar o mantener un artculo estn asociados a la tenencia fsica, en los cuales se engloban los de almacenaje, seguros, robo, obsolescencia y el costo de capital sin movimiento. El costo de conservacin es uno de los costos ms representativos del inventario. El costo de pedido involucra los gastos asociados en el proceso de administrar las requisiciones y rdenes de compra, envos y transporte. El costo de faltante es aquel que se incurre cuando el artculo requerido no est disponible. Aqu se engloba la ganancia perdida y el costo de paro de la produccin. Este costo es uno de los ms difciles de estimar debido a su complejidad. Los costos de adquisicin son los costos derivados de adquirir el artculo. EL problema de inventario se vuelve complejo debido a que el costo de conservacin y el costo de pedido se mueven en direcciones opuestas. La minimizacin de los costos de inventarios depende de Cunto y cuando pedir?. Esta es un rea de oportunidad para el desarrollo de

34

mtodo de Monte Carlo para la realizacin de una aproximacin numrica al problema del inventario.

35

PROBLEMAS
2.1.- Determine el periodo de los siguientes generadores congruenciales mixtos:
= 9 + 13 4 = 4 = 9 + 13 8 = 4

2.2.- Genere los primeros 50 nmeros pseudoaleatorios utilizando el generador


= 7 + 21 64 = 7

= 9 + 13 16 = 4

2.3.- Aplique la prueba de Chi Cuadrada a la siguiente secuencia de nmeros: 0.234 0.907 0.800 0.456 0.002 0.963 0.678 0.345 0.255 0.789 0.789 0.607 0.982 0.897 0.045 0.123 0.951 0.783 0.345 0.234 0.405 0.456 0.380 0.899 0.479 0.404 0.277 0.895 0.678 0.341

2.4.- Aplique la prueba K-S a la siguiente secuencia de nmeros: 0.456 0.989 0.881 0.234 0.001 0.101 0.214 0.998 0.305 0.897 0.343 0.232 0.234 0.456 0.777 0.567 0.651 0.238 0.787 0.725 0.223 0.342 0.543 0.534 0.455 0.739 0.446 0.657 0.346 0.650

2.5.- Aplique la prueba de pquer a la siguiente secuencia de nmeros: 0.34877 0.37880 0.10145 0.49413 0.23905 0.45067 0.33030 0.50684 0.21098 0.12105 0.13052 0.44968 0.13451 0.57694 0.99101 0.49184 0.99103 0.20473 0.30597 0.49951

2.6.- Simule el tiempo de proceso de 200 piezas considerando que el tiempo de proceso de una pieza sigue la funcin de probabilidad:
0 5 50 = 10 10 30 50

36

3
Generacin de variables aleatorias
3.1.- CONCEPTOS BSICOS. La generacin de variables aleatorias es un proceso que enfrenta la simulacin debido a que cuenta con variables con un comportamiento probabilstico. En donde dicha variabilidad se pudiera clasificar dentro de alguna distribucin de probabilidad conocida. Las distribuciones de probabilidad pueden ser discretas o continuas, en donde las distribuciones discretas, la aleatoriedad de la variable slo puede tomar valores enteros. Las distribuciones ms utilizadas son: Bernoulli, uniforme, binomial, Poisson, y geomtrica. En cambio las distribuciones continuas modelan la aleatoriedad en eventos en los cuales los valores de las variables pueden estar dentro de un rango de valores reales. Las funciones continuas ms utilizadas son: uniforme, exponencial, Weibull, triangular, y la normal. Para la generacin de las variables aleatorias discretas o continuas, es necesario contar con la informacin especfica de la distribucin deseada, la aplicacin de un mtodo para la generacin de la variable aleatoria, y la implementacin computacional para usarse en la simulacin. 3.2.- VARIABLES ALEATORIAS DISCRETAS. Una variable aleatoria es una variable cuyo valor depende del resultado de un experimento aleatorio. Las variables aleatorias discretas toman un conjunto de valores finitos de valores, los cuales son enteros no negativos (usualmente utilizados para conteo). La distribucin de probabilidad es un conjunto de probabilidades para los posibles distintos sucesos o eventos que pueden darse en un experimento aleatorio. Es decir nos proporciona cmo distribuir la probabilidad entre los sucesos que pueden producirse. Existe un gran nmero de distribuciones de probabilidad para variables aleatorias que nicamente tiene valores enteros no negativos. Las distribuciones discretas de probabilidad son tiles cuando se usan procesos de conteo en muestras aleatorias. Las
37

distribuciones discretas generalmente se utilizan en la prctica como resultado de redondear medidas continuas basada en una escala discreta. 3.2.1.- DISTRIBUCIN GEOMTRICA. La distribucin geomtrica est descrita por la siguiente funcin de probabilidad: = 1

Donde p es la probabilidad de xito y q= (1-p) la probabilidad de fracaso. La distribucin acumulada se define por:

= 1 Con media igual a:

= = Y varianza igual a: = =

Al aplicar el mtodo de la transformada inversa para encontrar la variable aleatoria geomtrica se obtiene que: = 1

1 =

Al despejar x tenemos lo siguiente:

Como 1-p es la probabilidad de fracaso, se describe la variable aleatoria en esos trminos: =

En donde el valor de x, se debe redondear enteros, truncando los decimales.

38

/* Genera una variable aleatoria geometrica con parmetro q (probabilidad de fracaso) */ int geometrica(double q) { double r; int x ; r=rand(); x=(int)Math.floor( Math.log( r ) / Math.log(q ) ); return(x); } Tabla 3.1.- Pseudocdigo para variable aleatoria geomtrica.

3.2.2.- DISTRIBUCIN BINOMIAL NEGATIVA. La funcin de probabilidad est dada por: +1 = 1

Donde k es el nmero total de xitos en una sucesin de k + x ensayos, con x el nmero fallas que ocurren antes de obtener k xitos.

La distribucin geomtrica es un caso especial de la distribucin binomial negativa con k = 1. La distribucin binomial negativa tambin se le conoce como la distribucin Pascal, la cual est definida Con media igual a: = = Y varianza igual a: = = 1

1 =

Despejando los prametros p y k se obtiene que:

39

Si k es un entero y q = (1-p) entonces la variable aleatoria binomial negativa est dada por: = La x se redondea al menor entero ms prximo. = ln

= = = 1 1

/* Genera una variable aleatoria binomial negativa con parmetros q (probabilidad de fracaso) y k (total de xitos) */ int binomialnegativa( double q, int k) { double r, tr; int x, i ; tr=1.0; for(i=1;i<=k;i++) { r=rand(); tr = tr * r; } x = (int)round( (Math.log(tr) / Math.log(q))); return(x); } Tabla 3.2.- Pseudocdigo para variable aleatoria binomial negativa.

3.2.3.- DISTRIBUCIN BINOMIAL. La funcin de probabilidad para la distribucin binomial se expresa: = 1 = =


40

Con media igual a:

Y varianza igual a:

Los valores de n y p se obtienen de la media y varianza: =

= = 1

Para generar la variable aleatoria binomial se aplica el mtodo de rechazo en el cual se inicia con los valores conocidos de p y n, y realiza un conteo de los n nmeros pseudoaleatorios, que sean menores o iguales a p. = 1 = = 0 >

/* 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<=n;i++) { r=rand(); if (r <= p) x=x+1; } return(x); }

Tabla 3.3.- Pseudocdigo para variable aleatoria binomial.

41

3.2.4.- DISTRIBUCIN HIPERGEOMTRICA. La funcin de probabilidad hipergeomtrica est descrita por: = Donde:

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: = =

0 1

Y la varianza igual a:

= = 1 1

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.

42

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<=ns;i++) { r = rand(); if (r <= p) { s=1; x=x+1; } else s=0; p=(tn * p s)/(tn 1); tn = tn 1; } return(x); } Tabla 3.4.- Pseudocdigo para variable aleatoria hipergeomtrica.

3.2.5.- DISTRIBUCIN POISSON. La distribucin Poisson est definida por: = !

Donde x=0,1,2, y >0

La distribucin acumulada se define con:

= Donde x 0 Una media igual a:


43

Y la varianza igual a:

= = = =

La variable aleatoria Poisson se obtiene mediante la siguiente desigualdad: <


Y el valor =

Para simplificar los clculos computacionales es posible reformular la desigualdad anterior para obtener la variable aleatoria Poisson con la desigualdad:

>

/* 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.

44

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: 1 = 0 > > 1 = + 2

La distribucin acumulada F(x) est definida como: =


Con media igual a: = = Y varianza igual a: = = =

La variable aleatoria uniforme es obtenida al aplicar el mtodo de la transformada inversa dando como resultado: =

12

Despejando x se obtiene la variable aleatoria uniforme: = + 0 1


45

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); } Tabla 3.6.- Pseudocdigo para variable aleatoria uniforme.

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: Donde: > 0 0. =

La distribucin acumulada F(x) est definida como: = = 1


Con media igual a:

= = = Y varianza igual a:

46

El parmetro lambda () es posible expresarlo de la siguiente manera: = 1

1 1 = = = =

Aplicando la transformada inversa se tiene lo siguiente: 1 = = = 1

Igualando a r se obtiene:

Despejando x es posible obtener la variable aleatoria exponencial:

1 = =

/* 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.

47

3.3.3.- DISTRIBUCIN GAMMA. La funcin gamma est definida con la siguiente funcin de densidad: = 1 !

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: = = Y varianza igual a: = = Se obtienen los valores de k y . =

Donde: > 0, k > 0, y x 0

= , : = = = =

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: 1 1 = = =

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

/* 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<=k; i++) { r = rand(); tr = tr * r; } x = (-1/lambda)* Math.log(tr); return(x); } Tabla 3.8.- Pseudocdigo para variable aleatoria gamma.

3.3.4.- DISTRIBUCIN NORMAL. La distribucin normal es una de las distribuciones conocidas ms utilizadas. Su popularidad se debe a sus propiedades generales, debido a que est basada en el teorema del lmite central que postula que la distribucin de probabilidad de la suma de N valores de variable aleatoria xi independientes, pero idnticamente distribuidos, se aproximan asintticamente a una distribucin normal a medida que N se hace muy grande, y dicha distribucin tiene como media y varianza: = =

Tiene la siguiente funcin de densidad: = Donde: -<x<

49

La funcin de densidad de una distribucin normal estandarizada tiene como valores a = 0, = 1, = 2 1

Donde: -<z<

Para convertir una distribucin normal a una estandarizada se utiliza el valor de z que es igual a: =

La distribucin acumulativa F(x) o F(z) no existe de manera explcita, pero se encuentra tabulada en cualquier libro de estadstica.

Con media igual a:

Y varianza igual a:

= =
= =

La variable aleatoria normal es obtenida utilizando el mtodo de convolucin, expresada de la siguiente manera: = + 6

50

/* 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<=k;i++) { r = rand(); tr = tr * r; } x = media + desviacion*(tr 6.0D); return(x); } Tabla 3.9.- Pseudocdigo para variable aleatoria normal.

3.4.- MTODOS PARA GENERAR VARIABLES ALEATORIAS. Un modelo de simulacin involucra variables aleatorias, las cuales siguen distribuciones de probabilidad tericas o empricas. Estas variables usualmente tienen un comportamiento no uniforme, por lo que es necesario simular estas variables mediante generadores que utilizan variables uniformes y una funcin de transformacin a la distribucin de probabilidad deseada. Existen varios procedimientos para lograrlo, entre ellos estn el mtodo de la transformada inversa, el mtodo de convolucin, mtodo de aceptacin y rechazo, y el mtodo directo. 3.4.1.- MTODO DE LA TRANSFORMADA INVERSA. La transformada inversa en un mtodo que usa la distribucin acumulada F(x) de la distribucin que se desea simular. La funcin F(x) se encuentra en el intervalo de cero a uno, y es posible generar un nmero pseudoaleatorio R y tratar de determinar el valor de la variable aleatoria para la cual su distribucin acumulada es igual a R. Se determina al resolver la siguiente ecuacin: = =

51

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: Donde . = +

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: =

Para seleccionar las que son componentes de la f se debe contemplar principalmente las consideraciones relativas a la geometra de la distribucin y la minimizacin de los tiempos esperados del clculo computacional.

0 = 1

52

Ejemplo. Generar la variable aleatoria para la siguiente distribucin: = Solucin: 1 + , 1 < 0 1 , 0 1

= 1 + =

= 1 + + 1 = 1 Aplicando la transformada inversa: = = Despejando x se obtiene que: 1 + 2

1 + 2

1 2

Para x=-1, se obtiene r = 0 Para x=0, se obtiene r = Sujeta a las siguientes restricciones:

= 2 1

0 12 1 0 1 2

Aplicando la transformada inversa:

= = 1 Despejando x se obtiene que:

Para x=0, se obtiene r= Para x=1, se obtiene r=1

= 1 21

53

Sujeta a las restricciones siguientes:

1 1 2 01 2 1, 0 12 1 1 2

Formulando entonces la variable aleatoria: =

1 21 ,

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: =

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.

54

4
Lenguajes 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.

55

4.1.2.- LENGUAJES DE PROGRAMACIN DE PROPSITO ESPECFICO. A mediados de los aos cincuentas, 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 lenguajes lenguaje de programacin que sean especfico 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 debido a los continuos cambios que surgen en el proceso de experimentacin, 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 es: Proporcionar roporcionar instrucciones para la generacin de variables aleatorias uniformes y no uniformes. Incluir instrucciones para el manejo de reloj 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 SS (General Purpose Simulation System). El lenguaje fue creado por Geoffrey Gordon a finales de la dcada de los cincuentas, y 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 caso de la entrada o salida, la atencin del cajero, o la espera. La empresa presa Minuteman Software (www.minutemansoftware.com) ( por ms de veinte aos proporciona software para simulaci simulacin. Actualmente distribuye el producto GPSS World versin 5.2.2 comercialmente y tambin presenta una versin acadmica. acadmica

56

4.1.3.2.- SIMSCRIPT. SIMSCRIPT 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 transformado este lenguaje para cumplir con las nuevas demandas computacionales y 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 ra construir simuladores simuladores. SIMSCRIPT III 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 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 compatible compa con plataformas Windows, Unix y Linux. 4.1.3.3.- SIMULA. El lenguaje de simulacin SIMULA fue diseado por Ole-Johan Ole Johan Dahl y Kristen Nygaard en el Centro Noruego de C Computacin en Oslo Noruega entre 1962 y 1967. Fue originalmente diseado e implementado implementado como un lenguaje de simulacin de eventos discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos, objetos que tuvo gran influencia para la introduccin de conceptos importantes conocidos como el enfoque orientado a objetos objetos. Desafortunadamente hoy en da no se 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 ermite simular mediante animaciones cualquier tipo de sistemas: s Manufactura, anufactura, logstica, manejo de materiales, bandas de transporte, gras viajeras, ensamble, corte, talleres, logstica, etc. Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a diferencia del procedimiento tradicion tradicional de prueba y error.

57

La empresa comercial ProModel Corporation ( (www.promodel.com.mx) Promueve Prom la utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas de decisin en las empresas, , generando ahorros sustanciales, a travs de la simulacin. 4.1.3.5.- ARENA. Arena es un software para realizar simulacin de eventos discretos. Desarrollado por Systems Modeling y adquirido por Rockwell Automation ( (www.arenasimulation.com 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 tiempo; y presenta los resultados de la simulacin con reportes de los datos estadsti estadsticos. El lenguaje de programacin VisualBasic VisualBasic de Microsoft est integrado en Arena, Arena como parte de un servicio opcional, para el desarrollo de algoritmos especficos. 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 que los 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 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 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 tales tal como: Promodel y Arena que proporcionan ambientes ms robustos y ayu ayudas das visuales 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. Para construir el modelo de simulacin es necesario describir mediante un diagrama de bloques que posteriormente se codifica en el lenguaje GPSS.

58

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 FUNCTION STORAGE MATRIX EQU INITIAL TABLE VARIABLE FVARIABLE Descripcin Definicin de funciones. Definicin de nmero de servidores. Definicin de matrices. Asignacin numrica a variables. Inicializacin de variables. Definicin de histogramas. Definicin de operaciones.

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

59

Instrucciones para la lgica del programa.


Instruccin SEIZE ENTER PREEMPT RELEASE LEAVE RETURN QUEUE ENTER LINK DEPART ENTER UNLINK GENERATE SPLIT TERMINATE ADVANCE ASSEMBLE MATCH GATHER TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY TABULATE Descripcin Simulacin de inicio de proceso y captura del servidor.

Simulacin de fin de proceso y liberacin del servidor.

Simulacin de entrada de transacciones a un almacn.

Simulacin de salida de transacciones de un almacn.

Simulacin de entrada de transacciones al sistema. Simulacin de salida de transacciones del sistema. Simulacin de diversos tipos de proceso.

Simulacin de control de flujo de transacciones

Bloques de operaciones aritmticas.

Bloques de creacin de estadsticas.


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

Instrucciones para el control de la simulacin.


Instruccin END START SIMULATE Descripcin Control de la simulacin

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

60

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.

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.

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

61

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.

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

GENERATE 15,5

ADVANCE 5,2

ADVANCE 6,3

TERMINATE 1

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

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.

62

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 ADVANCE 5,2 ADVANCE 6,3 TERMINATE 1 START 100 ; Genera vehculos con tiempo entre llegadas U(15,5) ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2) ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3) ;Abandona el vehculo del sistema ;Inicia el proceso de simulacin de 100 vehculos atendidos iniciando el contador de finalizacin igual a 100. Tabla 4.4.- Cdigo GPSS para simular lavado y secado.

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.

63

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

GENERATE 15,5

ENTER LAVA,1

ADVANCE 5,2

ENTER SECA,2

LEAVE LAVA,1

ADVANCE 6,3

LEAVE SECA,1

TERMINATE 1 Figura 4.3.- Diagrama de bloques para un lavado de autos. Incluye servidores para realizar el lavado y secado.

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.

64

Cdigo GPSS.
LAVA STORAGE 2 SECA STORAGE 6 GENERATE 15,5 ENTER LAVA,1 ADVANCE 5,2 ENTER SECA,1 LEAVE LAVA,1 ADVANCE 6,3 LEAVE SECA,1 TERMINATE 1 START 100 ;capacidad mxima de lavado=2 ;capacidad mxima de secado = 6 ; Genera vehiculos con tiempo entre llegadas U(15,5) ;Captura un espacio para el lavado ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2) ;Captura un espacio para secado ;Libera un espacio de lavado ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3) ;Libera un espacio de secado ;Abandona el vehiculo del sistema ;Inicia el proceso de simulacin de 100 vehiculos atendidos iniciando el contador de finalizacin igual a 100. Tabla 4.5.- Cdigo GPSS para el diagrama de bloques de la Figura 4.3

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, la primera designada para simular los vehculos, y la segunda para simular el funcionamiento de un reloj para controlar el periodo simulado.

65

Diagrama de bloques de un lavado de autos (jornada de 8 horas) Capacidad: 2 Lava, 6 Seca

GENERATE 15,5

ENTER LAVA,1

ADVANCE 5,2

ENTER SECA,2

LEAVE LAVA,1

ADVANCE 6,3

LEAVE SECA,1

TERMINATE

GENERATE 480

TERMINATE 1

Figura 4.4.- Diagrama de bloques para un lavado de autos. Simula jornada de 8 horas

En la primera secuencia de bloques, es similar al mostrado en el ejercicio anterior, salvo que en el bloque TERMINATE no se establece el operando A, debido a que el contador de finalizacin que controla la simulacin no depender de los vehculos atendidos. La segunda secuencia de bloques, representa un reloj que simula el tiempo de la simulacin solicitado. El primer bloque GENERATE 480 genera una transaccin cada 480 unidades de tiempo (8 horas), para luego esa transaccin sacarla del sistema por el bloque TERMINATE 1, siendo el operando 1, la unidad a decrementar al contador de finalizacin de GPSS. Es necesario utilizar como complemento una instruccin de control de simulacin START 1, la cual inicializa el contador de finalizacin a 1, una vez que la transaccin llega al bloque TERMINATE 1, finalizando en ese preciso momento la simulacin.

66

Cdigo GPSS.
LAVA STORAGE 2 SECA STORAGE 6 GENERATE 15,5 ENTER LAVA,1 ADVANCE 5,2 ENTER SECA,1 LEAVE LAVA,1 ADVANCE 6,3 LEAVE SECA,1 TERMINATE GENERATE 480 TERMINATE 1 START 1 ;capacidad mxima de lavado=2 ;capacidad mxima de secado = 6 ; Genera vehiculos con tiempo entre llegadas U(15,5) ;Captura un espacio para el lavado ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2) ;Captura un espacio para secado ;Libera un espacio de lavado ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3) ;Libera un espacio de secado ;Abandona el vehiculo del sistema ;Genera 1 transaccin (jornada de 8 horas) cada 480 minutos ;Abandona la transaccin del sistema (finaliza la jornada) ;Inicia el proceso de simulacin de 1 jornada de trabajo de 8 horas (480 minutos). Tabla 4.6.- Cdigo GPSS para el diagrama de la figura 4.4

Una vez realizada la simulacin, arroja un reporte de resultados con estadsticas para conocer el comportamiento del modelo.

4.3.- CASOS PRCTICOS DE SIMULACIN.

4.3.1.- PROBLEMAS CON LNEAS DE ESPERA. Una lnea de espera se forma cuando la demanda de un servicio supera la capacidad instalada para proporcionar dicho servicio. Estos servidores como cajeros, mquinas, gras, taxis, etc, estn instalados para proporcionar un servicio a las transacciones que pueden ser clientes, piezas, autos, etc. El tiempo de servicio y el tiempo de entre llegadas estn en funcin de variables aleatorias, y el estudio de estos modelos permite conocer su comportamiento. La simulacin de estos sistemas es una herramienta til para optimizar los recursos. 4.3.1.1.- USO DE QUEUE Y DEPART. Una lnea de espera, tambin conocida usualmente como una cola, es modelada en GPSS por dos instrucciones: QUEUE y DEPART para la delimitacin fsica de la cola. Estas instrucciones nicamente generan una estadstica del comportamiento de la
67

lnea de espera, y no participan en la modificacin de su comportamiento. El reporte de resultados presenta una estadstica de las colas definidas, proporcionado datos tales como: Nmero mximo de transacciones en espera en el periodo de simulacin. Cantidad de transacciones en espera al finalizar el periodo de simulacin. Nmero de transacciones que realizaron una espera. Nmero de transacciones que no tuvieron que esperar. Tiempo promedio de espera de una transaccin. Tiempo promedio de espera de una transaccin (sin contabilizar las transacciones que no tuvieron que esperar.

Estos datos sirven para detectar los tiempos de un proceso, cuellos de botella al proporcionar un servicio, y ayuda en la formulacin de experimentos para la optimizacin de los servicios. Una transaccin al fluir por el sistema tendr que esperar cuando tenga que hacer frente a un servicio limitado. Estos servicios simulados por las instrucciones ENTER y LEAVE, o las instrucciones SEIZE y RELEASE, se ven detenidas formando una lnea de espera, que el diseador del modelo debe de representar para conocer a fondo lo que est sucediendo en este trayecto. Conocer los tiempos de recorrido de las transacciones por una parte del sistema tambin se pueden modelar con el QUEUE y DEPART. 4.3.1.2.- DATOS ESTADSTICOS DE LAS COLAS, EN EL REPORTE DE RESULTADOS. A continuacin se disea un modelo, en el cual se requiere conocer informacin de todo el proceso que involucra el lavado de autos. Este simple ejemplo muestra la ubicacin de los bloques QUEUE Y DEPART para recabar datos estadsticos del comportamiento de una lnea de espera denominada ESTANCIA, que simula una cola desde el principio que llega el vehculo a las instalaciones, hasta que sale el vehculo de las instalaciones.
Diagrama de bloques de un lavado de autos utilizando QUEUE y DEPART (100 AUTOS ATENDIDOS)

GENERATE 15,5

QUEUE ESTANCIA,1

TOTAL DEL PROCESO

DEPART ESTANCIA,1

TERMINATE 1

Figura 4.6.- Diagrama de bloques para un lavado de autos. Incluye Queue y Depart.

68

CDIGO GPSS.
GENERATE 15,5 QUEUE 15,5 (Lgica de todo el proceso) DEPART ESTANCIA,1 TERMINATE 1 START 100 Tabla 4.7.- Cdigo GPSS para el diagrama de la figura 4.6 Pseudocdigo para variable aleatoria normal.

La ubicacin de los bloques QUEUE y DEPART estn en funcin de conocer datos estadsticos de una parte o todo el proceso. En el diagrama arriba mostrado se visualiza que la ubicacin de los bloques para conocer datos estadsticos de todo el proceso que se lleva a cabo en el lavado de autos. La cola identificada como ESTANCIA nos permite conocer datos estadsticos de las transacciones que entran al bloque QUEUE y/o salen por el bloque DEPART. Una informacin relevante en este ejemplo es el tiempo estimado que dura un vehculo en el lavado de autos, la cantidad promedio de vehculos que esperan dentro de las instalaciones, la cantidad de vehculos que no tuvieron que esperar para ser atendidos, al momento de finalizar la simulacin cuantos vehculos se encuentran dentro de las instalaciones.

Al realizar la corrida del programa GPSS, se obtiene un reporte de resultados en el cual se destaca una seccin de datos estadsticos de las colas definidas con las instrucciones QUEUE y DEPART. La seccin QUEUE proporciona los datos estadsticos de todas las colas definidas en el modelo, presentando esta informacin en una matriz, en la cual los renglones son las colas definidas en el programa, y las columnas son los datos estadsticos recopilados en la simulacin efectuada al momento de realizar la corrida. Datos estadsticos.
# 1 2 3 4 5 6 7 8 9 Columna (ingls) QUEUE MAX CONT ENTRY ENTRY(0) AVE. CONT. AVE. TIME AVE (-0) RETRY Significado Nombre o nmero de la cola (definida con las instrucciones QUEUE y DEPART). Contenido mximo de la cola durante el periodo de simulacin. Contenido de la cola al finalizar la simulacin. Contador TOTAL de transacciones que pasaron por la cola. Contador de transacciones que no tuvieron que hacer cola. Transacciones promedio que tuvieron que esperar en la cola. Tiempo promedio que las transacciones tuvieron que esperar en la cola. Tiempo promedio que las transacciones tuvieron que esperar en la cola, no se consideran aquellas transacciones que no tuvieron que esperar. Nmero de transacciones que esperan a que se cumpla una condicin especfica. Tabla 4.8.- Seccin Queue en el reporte de resultados.

69

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. Se desea conocer la cantidad de espacios promedio en espera para entrar a la seccin de lavado, y el tiempo promedio que un vehculo tarda en todo el proceso. Solucin: Se le incorporan dos pares de instrucciones para recopilar la informacin estadstica del comportamiento de dos colas (ESTANCIA y ELAVAR). La cola ESTANCIA proporciona datos estadsticos de toda la estancia del vehculo desde que llega, hasta que se va. La segunda cola ELAVAR proporciona datos estadsticos de la espera que el vehculo realiza desde que llega, hasta que inicia el proceso de lavado. Ntese que el DEPART ELAVAR,1 est ubicado posteriormente que captura al servidor de lavado, y no antes, debido a que se mueve de la cola, hasta que el servidor le indica que mueva el auto para ponerlo en la seccin de lavado.

70

Diagrama de bloques de un lavado de autos (jornada de 8 horas) Capacidad: 2 Lava, 6 Seca

GENERATE 15,5

QUEUE ESTANCIA,1

QUEUE ELAVAR,1

ENTER LAVA,1

Incluye colas: ESTANCIA y ELAVAR

DEPART ELAVAR,1

ADVANCE 5,2

Figura 4.7.- Diagrama de bloques para lavado de autos. Incluye las colas: ESTANCIA y ELAVAR

ENTER SECA,2

LEAVE LAVA,1

ADVANCE 6,3

LEAVE SECA,1

DEPART ESTANCIA,1 GENERATE 480 TERMINATE 1 TERMINATE

Cdigo GPSS.
LAVA STORAGE 2 SECA STORAGE ,6 GENERATE 15,5 ;capacidad mxima de lavado=2 ;capacidad mxima de secado = 6 ; Genera vehiculos con tiempo entre llegadas U(15,5)

QUEUE ESTANCIA,1 ; entra al lavado de autos QUEUE ELAVAR,1 ENTER LAVA,1 DEPART ELAVAR,1 ADVANCE 5,2 ENTER SECA,1 ; espera a entrar al proceso de lavado ;Captura un espacio para el lavado ;sale de la espera para lavar ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2) ;Captura un espacio para secado

71

LEAVE LAVA,1 ADVANCE 6,3 LEAVE SECA,1

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

DEPART ESTANCIA,1 ;Sale de la espera de lavado y secado (finaliza los dos procesos) TERMINATE GENERATE 480 TERMINATE 1 START 1 ;Abandona el vehiculo del sistema ;Genera 1 transaccin (jornada de 8 horas) cada 480 minutos ;Abandona la transaccin del sistema (finaliza la jornada) ;Inicia el proceso de simulacin de 1 jornada de trabajo de 8 horas (480 minutos). Tabla 4.9.- Cdigo GPSS para el diagrama de la figura 4.7

4.3.1.3.- TIEMPO DE SERVICIO DE LAVADO Y SECADO. En el modelo se realizan dos servicios (lavado y secado). Cada servicio tiene su capacidad instalada definida por la instruccin STORAGE. Para conocer los datos estadsticos resultado de la simulacin, el reporte de resultados proporciona una seccin denominada STORAGES, mediante una matriz, en la cual los renglones son los servicios, y las columnas los datos estadsticos. Datos estadsticos.
# 1 2 3 4 5 6 7 8 9 10 11 Columna (ingls) STORAGE CAP REM MIN MAX ENTRIES AVL AVE.C UTIL RETRY DELAY Significado Nombre del servicio. Capacidad mxima del servicio. (definida con la instruccin STORAGE). Nmero de servidores disponibles al finalizar la simulacin. Nmero mnimo de servidores utilizados en toda la simulacin. Nmero mximo de servidores utilizados en toda la simulacin. Total de transacciones atendidas por los servidores durante toda la simulacin. Disponibilidad del servicio al finalizar la simulacin (1-disponible, 0-no disponible). Tiempo promedio de servicio. Porcentaje de utilizacin del servicio durante toda la simulacin. Transacciones en espera de una condicin especfica. Transacciones en espera. Tabla 4.10.- Seccin STORAGE en el reporte de resultados.

Estos datos estadsticos son utilizados para tomar decisiones relativas a la capacidad instalada y sus efectos colaterales en la formacin de lneas de espera. El estudio de diversos escenarios con distintas capacidades, obligan a la experimentacin cuyos resultados permiten al analista la determinacin de la cantidad ptima de servidores, sujeta a las restricciones propias del modelo.

72

Al ejecutar la primera simulacin del modelo, el reporte de resultados muestra al inicio la informacin del tiempo de la simulacin. Iniciando con el reloj en cero, y finalizando el reloj en 480 (480 minutos). Tambin indica la cantidad de instrucciones tipo bloque (no contabiliza las definiciones, ni las instrucciones de control. La cantidad definidas de instalaciones (no se utiliza ninguna) y por ltimo la cantidad de servicios simultneos (storage).

Tabla 4.11.- Seccin inicial en el reporte de resultados.

La seccin QUEUE muestra los datos estadsticos de las dos lneas de espera definidas (ESTANCIA y ELAVAR). La cola ESTANCIA proporciona la informacin de la estancia en las instalaciones. Se muestra que el tiempo promedio de esa estancia es de casi 11 minutos. La cola ELAVAR muestra que ningn vehculo tuvo que esperar para entrar al proceso de lavado. Tambin se muestra que entraron 31 vehculos al sistema.

Tabla 4.12.-Seccin QUEUE en el reporte de resultados.

La seccin STORAGE proporciona los datos estadsticos concernientes a los servicios proporcionados (LAVA y SECA). En el servicio de lavado con una capacidad instalada de 2, se aprecia un porcentaje de utilizacin de 15.6% y con un mximo de servidores utilizados de 1, pudiendo ahorrar costos, disminuyendo en uno al servicio de lavado. Tambin muestra que entraron 31 vehculos al lavado, pero slo entraron 30 vehculos al proceso de secado. Es de suponerse que el vehculo faltante al momento de finalizar la simulacin qued en el proceso de lavado. En el servicio de secado que cuenta con una capacidad de seis de manera simultnea, tambin los datos muestran una capacidad excedente, debido a que nicamente la utilizacin fue de 6.2%, y mximo estuvo ocupado 1 a la vez.

Tabla 4.13.-Seccin STORAGE en el reporte de resultados.

Esta primera corrida del modelo, pone de manifiesto la situacin en la que trabaja este sistema, viendo claramente que se puede optimizar, modificando la cantidad de servidores, ahorrando as costos, o bien abre la posibilidad de nuevos servicios que
73

puede proporcionar con la misma cantidad de trabajadores. Si se modifica la capacidad instalada. (lava=1, seca = 1) en las instrucciones STORAGE, al ejecutar el modelo, se muestran los resultados siguientes: En la seccin QUEUE indica que el tiempo promedio en el servicio completo es de casi 11 minutos, (no afect el disminuir la cantidad de servidores), y tambin muestra que tampoco tuvieron que esperar para entrar al proceso de lavado.

La seccin STORAGE presenta un 31.2% de utilizacin en el servicio de lavado, y un 37.2% en el servicio de secado.

Con dos corridas, la informacin para el tomador de decisiones es de gran ayuda, ya que permite experimentar con diversos escenarios, permitiendo optimizar los servicios cumpliendo con las exigencias de sus clientes. 4.3.1.4.- VARIABLES ALEATORIAS. GPSS World proporciona una librera PLUS que contiene funciones prefinidas de las principales distribuciones tericas, ahorrando al programador la implementacin de estos generadores. El programador tendr que implementar aquellos generadores para distribuciones empricas haciendo uso de la instruccin FUNCTION.

74

Generadores disponibles en la librera PLUS de GPSS.


Distribucin Beta Binomial Binomial Negativa Exponencial Gamma Geomtrica Laplace LogLaplace LogLogistica Logistica LogNormal Normal Normal inversa Pareto Pearson tipo V Pearson tipo VI Poisson Triangular Uniforme Uniforme Discreta Valor extremo A Valor extremo B Weibull Weibull inversa Sintaxis REAL=BETA(STREAM,MIN,MAX,SHAPE1,SHAPE2) ENTERO=BINOMIAL(STREAM,TRIALCOUNT,PROBABILITY). ENTERO=NEGBINOM(STREAM,SUCCESSCOUNT,PROBABILITY). REAL=EXPONENTIAL(STREAM,LOCATE,SCALE). REAL=GAMMA(STREAM,LOCATE,SCALE,SHAPE). ENTERO=GEOMETRIC(STREAM,PROBABILITY). REAL=LAPLACE(STREAM,LOCATE,SCALE). REAL=LOGLAPLACE(STREAM,LOCATE,SCALE,SHAPE). REAL=LOGLOGIS(STREAM,LOCATE,SCALE,SHAPE). REAL=LOGISTIC(STREAM,LOCATE,SCALE). REAL=LOGNORMAL(STREAM,LOCATE,SCALE,SHAPE). REAL=NORMAL(STREAM,MEAN,STDDEV). REAL=INVGAUSS(STREAM,LOCATE,SCALE,SHAPE). REAL=PARETO(STREAM,LOCATE,SCALE). REAL=PEARSON5(STREAM,LOCATE,SCALE,SHAPE). REAL=PEARSON6(STREAM,LOCATE,SCALE,SHAPE1,SHAPE2). ENTERO=POISSON(STREAM,MEAN). REAL=TRIANGULAR(STREAM,MIN,MAX,MODE). REAL=UNIFORM(STREAM,MIN,MAX). ENTERO=DUNIFORM(STREAM,MIN,MAX). REAL=EXTVALA(STREAM,LOCATE,SCALE). REAL=EXTVALB(STREAM,LOCATE,SCALE). REAL=WEIBULL(STREAM,LOCATE,SCALE,SHAPE). REAL=INVWEIBULL(gen,LOCATE,SCALE,SHAPE).

Tabla 4.14.-Librera PLUS de GPSS que contiene generadores de variables aleatorias

Los argumentos sealados en esta lista de distribuciones son tratados a profundidad en el manual de referencia que proporciona GPSS WORLD. 4.3.1.5.- USO DE FUNCIONES PREDEFINIDAS. Uso de la funcin NORMAL (GPSS plus). Para simular el tiempo de servicio que tarda un proceso, el cual tiene un comportamiento normal con una media de 24 minutos, y una desviacin estndar de 4 minutos = 24,4. Se simula haciendo uso de la instruccin ADVANCE.
ADVANCE Normal1,24,4

El tiempo de servicio es calculado utilizando la funcin predefinida NORMAL la cual utiliza 3 argumentos: STREAM (El nmero de generador uniforme a utilizar), MEDIA (la media), y STDDEV (la desviacin estndar). Uso de la funcin EXPONENCIAL (GPSS plus). Para simular el tiempo entre llegadas de componentes a ser manufacturados que tiene un comportamiento exponencial con una media de 30 minutos = 30. Se simula haciendo uso de la instruccin GENERATE.
GENERATE Exponential1,0,30

75

El tiempo entre llegadas es calculado utilizando la funcin predefinida EXPONENTIAL la cual utiliza 3 argumentos: STREAM (El nmero de generador uniforme a utilizar), LOCATE (desplazamiento), y SCALE (expande o contrae la distribucin). Uso de la funcin de usuario para implementar una distribucin emprica. Uso de la instruccin FUNCTION (GPSS). Para simular el tiempo de servicio de un proceso que tiene una distribucin dada por:
Frecuencia Tiempo en minutos 0.05 10 0.13 14 0.16 21 0.22 32 0.29 38 0.15 45

Partiendo de la distribucin de frecuencias dadas, se calcula la distribucin acumulada siguiente:


Frecuencia acumulada Tiempo en minutos 0 0 0.05 10 0.18 14 0.34 21 0.56 32 0.85 38 1.0 45

La funcin a definir tiene la siguiente forma:


PROCESO FUNCTION RN1,D7 0,0/.05,10/.18,14/.34,21/.56,32/.85,38/1.0,45

Donde la funcin se denomina PROCESO en la cual el operando A describe el generador uniforme y el operando B describe una funcin discreta con 7 pares de datos, los cuales son delimitados por una diagonal. Una vez definida la funcin se puede utilizar desde la lgica del programa haciendo uso de la instruccin ADVANCE.
ADVANCE FN$PROCESO

Cada vez que llegue una transaccin a este bloque se calcular un tiempo de servicio basado en la funcin PROCESO, y realizar el retardo correspondiente al tiempo calculado. Para hacer referencia a la funcin se utiliza en el parmetro A de advance el prefijo FN$ seguido del nombre de la funcin definida (PROCESO). 4.3.1.6.- FLUJO DE LAS TRANSACCIONES. Las transacciones siguen un flujo determinado por la lgica del programa. Esta lgica hasta el momento en los ejemplos vistos, ha sido secuencial, pero en ocasiones es necesario disear flujos diferentes dependiendo de ciertas condiciones. Para cambiar el flujo dentro del programa existen instrucciones que transfieren las transacciones a puntos especficos, uno de ellos es la instruccin TRANSFER.

76

La inspeccin como pieza clave en el aseguramiento de la calidad. El aseguramiento de la calidad consiste en tener y seguir un conjunto de acciones planificadas y sistemticas, implementadas dentro del sistema de calidad de la empresa. Estas acciones deben ser demostrables para proporcionar la confianza adecuada de que se cumplen los requisitos del sistema de calidad. La inspeccin es una actividad que consiste en examinar y medir las caractersticas de calidad de un producto o servicio. Es una actividad que detecta productos o servicios no conformes con las especificaciones esperadas. El objetivo bsico de la inspeccin es evitar que los productos defectuosos lleguen al cliente. Este procedimiento establece las especificaciones de calidad del producto, que deben comprobarse de forma sistemtica para verificar la conformidad del producto final y separar los productos defectuosos para su desecho o reproceso. La inspeccin se realiza despus de que un proceso es realizado, y se determina el curso de accin de ese producto. Uso de la instruccin TRANSFER (GPSS). Se utiliza para cambiar el flujo que siguen las transacciones dada una condicin determinada. Esta instruccin de bloque cuenta con nueve modos diferentes de operacin (incondicional, fraccional, both, all, pick, funcin, parmetro, subrutina, simultneo). Modo INCONDICIONAL. Es utilizado cuando todas las transacciones que lleguen a este bloque son transferidas incondicionalmente a otra parte del programa. Para utilizarlo se utiliza nicamente el operando B para especificar la etiqueta hacia donde se deben dirigir todas las transacciones.
. GENERATE 15,5 . ; Genera vehiculos con tiempo entre llegadas U(15,5)

TRANSFER,SALIR

; Transfiere las transacciones a la salida

SALIR TERMINATE

;Abandona el vehiculo del sistema Tabla 4.15.-Cdigo GPSS que muestra el TRANSFER incondicional.

El operando B en la instruccin TRANSFER, declara cual es el punto dentro del programa hacia donde deben dirigirse las transacciones (en este caso todas las que lleguen a la instruccin TRANSFER), y ese punto identificado con la etiqueta SALIR es puesto en la instruccin TERMINATE.

77

Modo FRACCIONAL. Se utiliza en casos de que se conozca que un porcentaje de transacciones sigue un camino y el resto sigue otro camino. Suponer que el sistema de lavado de autos implementa un sistema de calidad, inspeccionando todos los vehculos al final de proceso, y por experiencia se conoce que un 10% de los autos no cumplen con las especificaciones mnimas, y por lo tanto deben ser vueltos a lavar y secar.
. GENERATE 15,5 ; Genera vehiculos con tiempo entre llegadas U(15,5)

REGRESAR QUEUE ESTANCIA,1 ; entra al lavado de autos

TRANSFER 0.10,SALIR,REGRESAR

; Transfiere el 10% de las transacciones al inicio, y el resto a salida

SALIR TERMINATE

;Abandona el vehiculo del sistema Tabla 4.16.-Cdigo GPSS que muestra el TRANSFER fraccional.

Modo BOTH. Considerando dos destinos diferentes la transaccin activa permite evaluar cul de ellos est desocupado y la transfiere. Si los dos estn ocupados, la transaccin esperar a que alguno de ellos se desocupe. Este modo es utilizado cuando el operando A contiene la palabra BOTH, teniendo como operando B y C las etiquetas hacia dnde fluyen las transacciones activas. Primero probar la posibilidad de transferir la transaccin hacia la instruccin etiquetada con el operando A, si es rechazada entonces probar con la instruccin etiquetada con el operando B. si es rechazada. Si la transaccin no puede entrar en ninguno de los bloques se quedar hasta que uno de ellos la acepte. Simular un servicio adicional en el cual se realiza una limpieza interior del vehculo, la cual puede ser realizada por hombres o mujeres. El cliente decide utilizar aquel que est desocupado, no importando el sexo.
. GENERATE 15,5 ; Genera vehiculos con tiempo entre llegadas U(15,5)

REGRESAR QUEUE ESTANCIA,1 ; entra al lavado de autos

TRANSFER BOTH, OPCION1,OPCION2


OPCION1 ENTER LIMPIAH,1

; Transfiere a la opcin desocupada

; Servicio de limpieza interior realizada por hombres.

78

OPCION2 ENTER LIMPIAM,2 ;Servicio de limpieza interior realizada por mujeres.

SALIR TERMINATE

;Abandona el vehiculo del sistema Tabla 4.17.-Cdigo GPSS que muestra el TRANSFER both.

Modo ALL. Este modo es la generalizacin del modo BOTH, en el cual se permiten la especificacin de ms de 2 destinos, con la restriccin que estos destinos estn espaciados de manera idntica en el modelo. El operando A se escribe la palabra ALL, en el operando B se describe el primer destino a probar, si es rechazado, calcula con el operando D, cada D instrucciones a partir del bloque B, hasta llegar al bloque C. Es decir primero prueba el bloque B si es rechazado prueba el bloque B+D, si es rechazado prueba el bloque B+2D y asi sucesivamente hasta llegar al bloque C. Ejemplo: Simule el funcionamiento de 3 operarios que realizan operaciones idnticas las cuales tardan 5 2 minutos, los componentes son enviados aquel operario que est desocupado.
.

TRANSFER ALL,OP1,OP3,4 ; TRANSFIERE A LA OPCION DESOCUPADA INICIANDO EN OP1 FINALIZANDO EN OP3 OP1 SEIZE OPERA1 ;inicia la op1 capturando al operador 1
ADVANCE 5,2 RELEASE OPERA1 TRANSFER,FIN

OP2 SEIZE OPERA2 ;inicia la op2 capturando al operador 2


ADVANCE 5,2 RELEASE OPERA2 TRANSFER,FIN

OP3 SEIZE OPERA3 ;inicia la op3 capturando al operador 3


ADVANCE 5,2 RELEASE OPERA3 TRANSFER,FIN

FIN TERMINATE

Tabla 4.18.-Cdigo GPSS que muestra el TRANSFER all.

79

Modo PICK. Este modo es utilizado cuando se desea enviar la transaccin activa a un bloque seleccionado de manera aleatoria, dado un rango de bloques. En el operando A se escribe la palabra PICK, y el operando B y C son usados para especificar el rango de los bloques a ser candidatos para su seleccin.
.

TRANSFER PICK, PRIMERO,ULTIMO ; TRANSFIERE A UN BLOQUE ENTRE PRIMERO Y ULTIMO PRIMERO ADVANCE 5,2 ADVANCE 3,1 ADVANCE 4,1 ULTIMO ADVANCE 3,1 . Tabla 4.19.-Cdigo GPSS que muestra el TRANSFER pick.

En este ejemplo se describen cuatro bloques ADVANCE que son candidatos a ser seleccionados cuando la transaccin activa llegue al bloque TRANSFER. Si aleatoriamente se selecciona al segundo bloque, se transfiere la transaccin y ejecuta del segundo bloque en adelante. Si aleatoriamente selecciona el primero, pues ejecutar posteriormente las siguientes instrucciones. Modo FUNCIN. El destino de la transaccin activa se calcula por medio de una funcin definida y un incremento dado. Para utilizar este modo, el operando A contiene la palabra FN, el operando B el nombre de la funcin, y el operando C el incremento utilizado en el clculo.
LUGAR FUNCTION .. ; Define funcin UTILIZADA POR EL TRANSFER FN TRANSFER FN,LUGAR,3 ;TRANSFIERE LA TRANSACCION HACIA EL NO. DE BLOQUE DADO POR : LUGAR()+3 Tabla 4.20.-Cdigo GPSS que muestra el TRANSFER funcin.

En este ejemplo el punto hacia donde se transfiere la transaccin, es calculado y por lo tanto es un nmero que le corresponde a una instruccin de bloque. Es recomendable asegurarse que el nmero de la instruccin seleccionada est en el rango de las instrucciones de control del programa.

80

Modo PARMETRO. El destino de la transaccin activa se calcula utilizando un parmetro y un incremento dado. Para usar este modo el operando A debe contener la letra P, el operando B especifica el parmetro a utilizarse, y el operando C describe el incremento utilizado en el clculo (opcional).
ASSIGN PAR1,43 TRANSFER P,PAR1,2 ;TRANSFIERE LA TRANSACCION HACIA EL NO. DE BLOQUE DADO POR : PAR1 +2 Tabla 4.21.-Cdigo GPSS que muestra el TRANSFER parmetro. ;Asigna el valor de 43 al parmetro denominado PAR1

Modo SUBRUTINA. Una subrutina es un conjunto de instrucciones que realizan una tarea especfica. Es formulada para poder ejecutarse desde diferentes partes de un programa, centralizando as la tarea y evitando duplicar cdigo en diferentes partes del programa. Este modo es utilizado para simular el llamado de una subrutina, la cual se ejecuta y una vez finalizado regresa el control desde donde fue llamada. Este modo simula la ejecucin de un fragmento ubicado en otra parte del programa, y nicamente est basada en dos datos: el bloque destino, y un parmetro que es utilizado para almacenar el nmero del bloque hacia donde debe retornar una vez finalizada la subrutina. Para simular el llamado similar a la subrutina es necesario que en el fragmento del programa, inicie con una etiqueta (es el operando B), y al finalizar el fragmento se debe incluir una instruccin TRANSFER con modo parmetro. Para el uso de este modo, es necesario que el operando A contenga la palabra SBR, el operando B describe la etiqueta del bloque destino, y el operando C es un parmetro en el cual se almacenar el nmero del bloque de retorno (este operando es opcional).
TRANSFER SBR,SUBR1,PARAM ; Transfiere las transacciones a la subrutina sbr1 y guarda este bloque en PARAM SBR1 QUEUE PROCN ; INICIA LA SUBRUTINA SBR1 . TRANSFER P,PARAM ; FINALIZA LA SUBRUTINA SBR1, Y regresa la transaccin al sgte bloque de PARAM Tabla 4.22.-Cdigo GPSS que muestra el TRANSFER subrutina.

81

Modo SIMULTNEO. El modo simultneo transfiere la transaccin activa hacia uno de dos destinos especificados en los operandos B y C, seleccionando el destino por medio del contenido de un indicador de retraso especificado en el operando D. En el operando A se escribe la palabra SIM. El indicador de retraso tiene dos valores posibles prendido (set) o apagado (reset). El indicador de retraso de una transaccin es prendido cuando una transaccin es rechazada por un bloque; y se quedar prendido hasta que la transaccin entre al modo simultneo del transfer. Despus del transfer el indicador de retraso se apagar. Si el indicador de retraso est prendido, la transaccin activa se transfiere al bloque destino especificado por el operando C, de lo contrario la transaccin es transferida al bloque destino especificado por el operando B.
TRANSFER SIM,NORET,RET NORET ENTER SERV1,1 . RET ENTER SERV2,1 ; I Tabla 4.23.-Cdigo GPSS que muestra el TRANSFER simultneo. ;Captura al servidor 2 ; Transfiere las transacciones a los bloques destino NORET O RET ;Captura al servidor 1

Uso de la instruccin GATE (GPSS). La instruccin GATE permite controlar el flujo de las transacciones basado en condiciones de las entidades (servidores nicos, servidores simultneos, lgicas). La sintaxis de la instruccin es: GATE 0 A,B En el operando A se especifica la entidad a analizar, y el operando B es utilizado para describir el bloque destino si no se cumple la condicin especifica en el operador O. Operaciones permitidas. Condicionado a servidores nicos (instalaciones). Los servidores nicos declarados con las instrucciones SEIZE y RELEASE, dependiendo de su estado se puede realizar una lgica que cambie el flujo de las transacciones. Tiene dos formas de operacin: U (ocupada), NU (desocupada).
82

Condicionado a servidores simultneos (almacenamientos). Los servidores simultneos declarados con la instruccin STORAGE y en combinacin con las instrucciones ENTER y LEAVE permite analizar su estado: Tiene cuatro formas de operacin: SF (est lleno?). SNF (no est lleno?). SE (est vaco?). SNE (no est vaco?).

Condicionado a un valor lgico. Permite el control del flujo de las transacciones dado ciertas condiciones independientes de las entidades, es decir polticas establecidas para permitir o negar el acceso. Para usarse se debe apoyar en otra instruccin LOGIC que abrir o cerrar el acceso. Tiene dos formas de operacin: LS (est prendido?), LR (est apagado?).

83

4.3.2.- PROBLEMAS CON SISTEMAS DE INVENTARIO. El inventario es el conjunto de artculos o mercancas que una empresa tiene en su poder con un propsito especfico. La materia prima, el producto en proceso y el producto terminado son ejemplos de inventarios que a menudo se presentan y genera una necesidad de administracin. Los sistemas de inventarios implementados en una organizacin determinan las cantidades a ordenar y los puntos de re-orden. Los costos asociados impactan de tal manera que obliga a un estudio exhaustivo para la optimizacin de los mismos. La teora existente que estudia el comportamiento de los inventarios segn la demanda se clasifica en modelos determinsticos y probabilsticos.

Figura 4.8.- Modelos para el control de inventarios.

4.3.2.1.- TIPOS DE MODELOS DE INVENTARIO. Una demanda deterministica es aquella que se conoce con certeza, , y la probabilstica es la que est sujeta a una variabilidad (modelos estocsticos). El estudio terico del comportamiento de los inventarios ha desarrollado modelos clsicos para el control de inventarios destacando los modelos: EOQ deterministico, LEP deterministico y el EOQ probabilstico. La simulacin y el modelo heurstico abordan el estudio de los modelos probabilsticos con ms profundidad, incorporando variables aleatorias y elementos complejos que difcilmente pueden ser incluidos en los modelos bsicos.

84

Modelo I.- EOQ (Economic Order Quantity).Quantity). Determina el tamao ptimo de pedido, considerando costos incurridos. Presenta 2 variantes: Con faltantes y sin faltantes. faltantes El modelo EOQ (Economic order quantity) tambin conocido como el modelo de Harris-Wilson Wilson es el de mayor uso y popularidad por su simplicidad. Este modelo fue desarrollado por el ingeniero Ford Whitman Harris en 1913 y popularizado por el consultor R. H. Wilson en 1934. El principio de este modelo modelo est basado en encontrar el punto en que son iguales el costo de ordenar y el costo de mantener.

Figura 4.9.- Modelo EOQ no permite faltantes.

Figura 4.10.- Modelo EOQ si permite faltantes.

Modelo Ia- EOQ no permite faltantes faltantes. El l modelo EOQ que no permite faltantes parte de los supuestos siguientes: Demanda constante (d), no permite faltantes, costo de mantener el inventario (Cm), costo de pedir (Cp), costo de adquisicin (Cu) tiempo de entrega igual a cero (no existe demoras). La a ecuacin del costo en un periodo (t1) es: = + + 2

El nmero total del perodos odos y el tiempo t estn en funcin de la demanda (D) y la cantidad de inventario (Q). = =

Calculando el costo total por unidad de tiempo se tiene que:

=
85

= + + 2 = + + 2 =0

Para encontrar el Q ptimo ser necesario minimizar el costo total, haciendo uso del clculo diferencial

Despejando Q se obtiene que:

1 + = 0 2 = 2

Modelo Ib. EOQ si permite faltantes. En el modelo EOQ que si permite faltantes, la ecuacin del costo de un periodo est en funcin de Q (cantidad a pedir) y S (Faltante permitido), incorporando el costo por faltantes (Cf). , = + + + 2 2

Donde t es el periodo compuesto por t1 (tiempo con existencias) y t2 (tiempo sin existencias), y Cf es el costo por tener faltantes, siendo Imax el mximo inventario. Por medio de semejanza de tringulos se encuentran los valores de Imax, t1, t2. = = =

86

Sustituyendo en C(Q,S), los valores encontrados la ecuacin del costo de un periodo queda de la siguiente forma: , = + + + 2 2

Calculando el costo total por unidad de tiempo se tiene que:

Una vez obtenida la ecuacin se calcula el mnimo costo, es posible derivar con respecto a Q, y con respecto a S, obteniendo dos ecuaciones: , =0

, = + + + 2 2

+ , = + + 2 2

, = ,

2 + + = 0 , =0

+ + = 0 Por medio de sustitucin se obtienen los valores ptimos de Q y S siguientes: = 2 + 2 +

87

Modelo II.- LEP (Lot Economic Production).Production). Tambin conocido como el modelo EPQ (Economic Production Quantity) fue desarrollado por E. W. Taft en 1918, para conocer la cantidad ptima de produccin, la cual minimiza los costos asociados asociados. . Este modelo es utilizado tilizado cuando la produccin de los productos est a cargo de la misma empresa, produciendo hasta llegar a un nivel mximo de inventarios, suspende la produccin hasta que la demanda agote las existencias, existencias inicia de nuevo la produccin. Este modelo presenta resenta 2 variantes: No permite faltantes, y Si permite faltantes.

Figura 4.12.- Modelo LEP si permite faltantes. Figura 4.11.- Modelo LEP no permite faltantes.

IIa- LEP No permite faltantes. Los supuestos de esta variante es que la demanda es constante y conocida, no permite faltantes, se tienen costos de producir (Cu), costos de mantener el inventario (Cm), costos de operacin (Co), Y la tasa de produccin (R) es mayor que la tasa de la demanda (d). = +

Donde:

= . La ecuacin del costo en un periodo es dado por: + = + + 2 = 1 + =


88

= ,

Encontrando los tiempos y el nivel mximo de inventario tenemos que:

Sustituyendo en C(Q) se tiene:

1 = + + 2

Calculando el costo total por unidad de tiempo :

= = + + 1 2

Para encontrar el valor ptimo de Q se calcula la derivada con respecto a Q. =0

Despejando Q se tiene que:

+ 1 = 0 2 = 2 1

89

IIb- LEP Si permite faltantes. Los supuestos de esta variante es que la demanda es constante y conocida, no permite faltantes, se tienen costos de producir (Cu), costos de mantener el inventario (Cm), costos de operacin (Co), Y la tasa de produccin (R) es mayor que la tasa de la demanda (d). = + + +

Donde:

= , =

= = + + + , = + + 2 2 = 1

La ecuacin del costo en un periodo es dado por:

Encontrando los tiempos y el nivel mximo de inventario tenemos que:

1 1 + = 1 + 1 1 + = +
90

1 1 + = +

El costo de mantener el inventario es:

+ 1 1 = + 2 2 = 1 1 1 + 2 1 1 = + 2

Y el costo de faltante de inventario es:

1 1 + + = 2 2 1 1 = + 2

Sustituyendo en C(Q,S) y simplificando se tiene que: , = + +

1 1 1 + + 2 1 1 + 2

La ecuacin del costo total se expresa:

1 , = + + 1 2 1

, = ,

1 + 2 1

Para encontrar el valor ptimo de Q se calcula la derivada con respecto a Q. , =0


91

1 1 + 1 =0 2 2 2 1 1

Obteniendo el valor ptimo de Q siguiente: = 2 + 1 , =0

Para encontrar el valor ptimo de S se calcula la derivada con respecto a S.

+ =0 1 1

Obteniendo el valor ptimo de S siguiente: = 2 1 +

Modelo III.- Probabilstico (EOQ con demanda variable).- Este modelo est basado en una demanda variable que tiene un comportamiento normal. El modelo es una adaptacin del modelo EOQ, en la cual la Demanda (D) est dada por los parmetros estadsticos media () y desviacin estndar () que siguen una distribucin normal : = ,

La cantidad a pedir Q se calcula en base a la media:

92

El nivel de significancia alfa () se calcula: =

El punto de orden se calcula con la expresin siguiente:

= + /

Modelo IV.- Modelo heurstico. La heurstica es una tcnica o procedimiento prctico o informal para resolver problemas. La heurstica est basada en la experiencia que se usa como ayuda para resolver problemas, mediante el uso de heursticas, es posible resolver ms rpidamente problemas conocidos o similares a otros conocidos. Un modelo heurstico est construido mediante un conjunto de reglas racionales para obtener una buena solucin. Son utilizados cuando no es posible obtener valores ptimos, es decir cuando no es posible aplicar los otros modelos. Existen varios enfoques heursticos entre los cuales se destacan: Silver-Meal (SM), Lote a lote (L4L), Costo mnimo unitario (CUM), Balanceo de periodo fragmentado (BPF). Modelo V.- Simulacin. Los modelos probabilsticos de inventarios usualmente son implementados mediante la simulacin. En el modelado de un sistema con demanda probabilstica intervienen variables aleatorias las cuales permiten cuantificar la demanda, y es posible conocer el comportamiento del inventario, experimentando as con el modelo, hasta encontrar la informacin para la buena toma de decisiones. A continuacin se presenta un ejemplo de un modelo de inventarios basado en un punto de re orden.

93

4.3.2.2.- EJEMPLO DE SIMULACIN DE UN MODELO DE INVENTARIO BASADO EN PUNTO DE RE ORDEN. Se desea simular un sistema de inventario por un periodo de 100 dias. Este sistema tiene una poltica con un punto de reorden igual a 600 unidades y una cantidad a ordenar de 500 unidades. El inventario inicial es de 700 unidades. Se tiene una demanda diaria con un comportamiento uniformemente distribuido entre 40 y 63 unidades. El tiempo de entrega de la orden es de una semana (5 dias). Solucin: La modelacin del sistema debe simular las actividades de: Realizar los pedidos, Recibir los pedidos (entrada al almacn) y actualizar el inventario. Demanda diaria (salida del almacn) y actualizar el inventario.

Las variables que son utilizadas deben definirse previamente, las cuales deben almacenar los siguientes datos: Inventario. (Stock) Demanda diaria. (Demanda) Punto de reorden. (Point) Cantidad a ordenar. (EOQ) Uso de la instruccin INITIAL (GPSS). La instruccin INITIAL se utiliza para inicializar variables que sern utilizadas dentro de la lgica del programa. Es utilizado para definir variables globales, las cuales se utilizan en combinacin con las instrucciones SAVEVALUE (actualiza la variable), y la instruccin TEST (Compara el valor de variables).
INITIAL X$STOCK,700 ; Se inicializa el inventario = 700 unidades. INITIAL X$POINT,600 ; Se inicializa el punto de reorden = 600 unidades. INITIAL X$EOQ,500 ; Se inicializa la cantidad a ordenar = 500 unidades. INITIAL X$DEMANDA,0 ; Se inicializa la demanda diaria = 0 unidades. (se calcular cada dia en el proceso) Tabla 4.24.-Cdigo GPSS que muestra la instruccin INITIAL.

En el operando A se define el nombre de la referencia haciendo uso de un prefijo que define el tipo de dato. Los siguientes prefijos estn disponibles: LS$ para valores lgicos, X$ para enteros positivos, o MX$ para matrices. El operando B es utilizado para establecer el valor inicial.

94

OPERACIONES ARITMTICAS REALIZADAS EN LA LGICA DEL PROGRAMA. Uso de la instruccin SAVEVALUE (GPSS). La instruccin SAVEVALUE proporciona un mtodo simple para realizar clculos cuyo resultado ser almacenado en una variable de usuario. En el operando A se especifica el nombre de la variable en la cual se almacena el resultado del clculo declarado en el operando B. Clculo de la demanda diaria. Para calcular la demanda diaria es posible realizarse utilizando la siguiente instruccin.
SAVEVALUE DEMANDA, (DUNIFORM(1,40,63)) ; Demanda = DUNIFORME(1,40,63)

Tabla 4.25.-Cdigo GPSS que muestra la instruccin SAVEVALUE para el clculo de la demanda .

Al momento que la transaccin llega a esta instruccin, obliga a que se evale la expresin que calcula la demanda diaria basada en un generador y el resultado lo almacena en la variable de usuario DEMANDA, La cual ser utilizada posteriormente para disminuir el inventario existente. Clculo de la disminucin del inventario existente. Una vez que se tiene el valor de la demanda diaria se debe disminuir el inventario existente, utilizando la siguiente instruccin:
SAVEVALUE STOCK-,X$DEMANDA ; STOCK = STOCK - DEMANDA

Tabla 4.26.-Cdigo GPSS que muestra la instruccin SAVEVALUE para disminuir el stock .

En el operando A se declara la referencia a la variable global STOCK sin el prefijo X$ y utiliza un sufijo de disminuir (-). En el operando B refiere a la variable de usuario DEMANDA con el prefijo X$ para declarar que es una variable global. Clculo del aumento del inventario existente. Del mismo modo al momento que el pedido realizado llegue, es necesario actualizar el inventario existente, haciendo de la instruccin siguiente:
SAVEVALUE STOCK+,X$EOQ ;STOCK = STOCK + EOQ

Tabla 4.27.-Cdigo GPSS que muestra la instruccin SAVEVALUE para incrementar el stock .

Describiendo en el operando A la referencia a la variable global STOCK sin el prefijo X$ y utiliza el sufijo de incrementar (+). En el operando B contiene la referencia a la variable EOQ con el prefijo X$ que identifica que fue declarada como global.

95

Condicionante para disminuir el inventario existente. Cuando la demanda diaria excede al inventario existente, se ocasiona un faltante, la cual debe incorporarse una poltica para enfrentarla. Una puede ser, que al momento que llegue el pedido, se cubra ese faltante, o la otra, que espere a que llegue el pedido. SI la poltica es de espera, se puede simular haciendo uso de una instruccin TEST para asegurarse de esa espera. Uso de la instruccin TEST (GPSS). La instruccin TEST funciona de manera similar al IF..THEN..ELSE que se utilizan en los lenguajes de alto nivel. Esta instruccin para realizar comparaciones, cuyo resultado es utilizado para tomar acciones hacia donde ir la transaccin. El operador relacional debe ser E (igual), G (mayor) , GE (mayor o igual), L (menor), LE (menor o igual), o NE (diferente). El operando A es el valor a probar, el operando B es el valor de referencia, y el operando C es el bloque destino (opcional). Cuando no se define el operando C, la transaccin esperar en este bloque hasta que se cumpla la condicin: OPERANDO A OPERADOR OPERANDO B Si se cumple la condicin la transaccin fluir al siguiente bloque. Si se especifica el operando C, la transaccin ir al bloque destino nicamente cuando no se cumpla la condicin.
TEST GE X$STOCK,X$DEMANDA SAVEVALUE STOCK-,X$DEMANDA ; STOCK = STOCK - DEMANDA

Tabla 4.28.-Cdigo GPSS que muestra la instruccin TEST para comparar el stock vs demanda.

El operador GE (Mayor o igual) realiza la comparacin de STOCK >= DEMANDA si es verdadera, entonces la transaccin pasa a la siguiente instruccin, de otra manera quedar detenida la transaccin hasta que se cumpla esta condicionante. (esperar a que se incremente el inventario).

96

MODELADO DEL SISTEMA DE INVENTARIOS. Para realizar el modelado de las actividades para realizar pedidos, recibirlos y actualizar el inventario se simulan hacindose cargo una sola transaccin. De manera paralela se simulan los das transcurridos, hasta completar cien das, simulando la demanda diaria, reduciendo el inventario existente.

Simulacin de un sistema de inventarios

GENERATE ,,,1

GENERATE 1

DEMANDA = DUNIFORM(1,40,63) STOCK < POINT F

v ADVANCE 5

STOCK >= DEMANDA

v STOCK = STOCK - DEMANDA STOCK = STOCK + EOQ TERMINATE 1 TERMINATE

Simula pedidos

Simula demanda diaria

Tabla 4.13.-Diagrama de bloque para un sistema de control de inventarios.

Cdigo GPSS.
INITIAL X$STOCK,700 INITIAL X$POINT,600 INITIAL X$EOQ,500 INITIAL X$DEMANDA,0 GENERATE ,,,1 ; Se inicializa el inventario = 700 unidades. ; Se inicializa el punto de reorden = 600 unidades. ; Se inicializa la cantidad a ordenar = 500 unidades. ; Se inicializa la demanda = 0 unidades. (se calcula diariamente) ; Genera una sola transaccin

OTRA TEST L X$STOCK,X$POINT ; Si el STOCK < POINT Entonces avanza, de lo contrario espera a que se cumpla la condicin ADVANCE 5 SAVEVALUE STOCK+,X$EOQ ;Realiza el pedido y espera 5 das para recibirlo ;Recibe el pedido y actualiza el inventario existente STOCK = STOCK + EOQ

97

TRANSFER ,OTRA TERMINATE GENERATE 1

;Repite el ciclo (se transfiere la transaccin al bloque etiquetado con OTRA

;Inicia el da

SAVEVALUE DEMANDA, (DUNIFORM(1,40,63)) ; DEMANDA = DUNIFORME(1,40,63) TEST GE X$STOCK,X$DEMANDA SAVEVALUE STOCK-,X$DEMANDA TERMINATE 1 START 100 ;Si el STOCK > DEMANDA Entonces avanza, de lo contrario espera a que se cumpla ;Entrega y actualiza el inventario existente STOCK = STOCK - DEMANDA ;Finaliza el da ;Simula 100 das Tabla 4.29.-Cdigo GPSS para el diagrama de bloques descrito en la figura 4.13.

El reporte de resultados de la simulacin contiene los valores finales de la simulacin de las variables globales presentando la siguiente informacin:

Figura 4.14.- Seccin SAVEVALUE en el reporte de resultados.

Al finalizar los 100 dias simulados se tiene un inventario final de 614 unidades, y la ltima demanda diaria (la del da 100) fue de 50 unidades. Para conocer el comportamiento del inventario y de la demanda durante ese periodo de simulacin, GPSS proporciona instrucciones para tabular estos datos (Histograma). Uso de la instruccin TABLE (GPSS). Esta instruccin permite definir e inicializar una tabla para almacenar una distribucin de frecuencias (histograma). Esta instruccin tiene la siguiente sintaxis: NOMBRE TABLE A,B,C,D La tabla a definir requiere de un nombre para hacer referencia a ella, y especificaciones de la tabla a construir.
INVENTARIO TABLE X$STOCK,0,50,20 ; TABLA de niveles de inventario Tabla 4.30.-Cdigo GPSS para definir la tabla INVENTARIO usando la instruccin TABLE.

98

El nombre de la tabla es INVENTARIO, en el operando A se especifica el dato a tabular, el operando B es el lmite superior del primer intervalo, el operando C es el tamao del intervalo, y el operando D es la cantidad de intervalos. De igual manera se define una tabla con el nombre de VENTAS, en el operando A se especifica el dato a tabular (DEMANDA), En el operando B se especifica el lmite superior del primer intervalo (30), el operando C define el tamao del intervalo (2), y el operando D es utilizado para definir la cantidad de intervalos (20).
VENTAS TABLE XP$DEMANDA,38,2,20 ;TABLA DE niveles de ventas Tabla 4.31.-Cdigo GPSS para definir la tabla VENTAS usando la instruccin TABLE.

Uso de la instruccin TABULATE (GPSS). Una vez definida la tabla haciendo uso de la instruccin TABLE, es posible con la instruccin TABULATE registrar los datos. La instruccin TABULATE tiene la siguiente sintaxis: TABULATE A,B En el operando A se especifica el nombre de la tabla en el cual se tabular el valor especificado en la misma tabla. El operando B se utiliza opcionalmente para darle un factor de peso.
TABULATE INVENTARIO ; Tabula en la tabla INVENTARIO el valor almacenado en la variable STOCK Tabla 4.32.-Cdigo GPSS para tabular datos en la tabla INVENTARIO definida previamente.

Haciendo lo mismo para la tabla VENTAS, queda de la siguiente manera:


TABULATE VENTAS ; Tabula en la tabla VENTAS el valor almacenado en la variable DEMANDA Tabla 4.33.-Cdigo GPSS para tabular datos en la tabla VENTAS definida previamente.

Una vez, que se tienen preparadas estas instrucciones se incluyen en el modelo.

99

Cdigo GPSS (incluye histogramas).


INITIAL X$STOCK,700 INITIAL X$POINT,600 INITIAL X$EOQ,500 INITIAL X$DEMANDA,0 ; Se inicializa el inventario = 700 unidades. ; Se inicializa el punto de reorden = 600 unidades. ; Se inicializa la cantidad a ordenar = 500 unidades. ; Se inicializa la demanda = 0 unidades. (se calcula diariamente) ; TABLA de niveles de inventario

INVENTARIO TABLE X$STOCK,0,50,20 VENTAS

TABLE X$DEMANDA,38,2,20 ;TABLA DE niveles de ventas ; Genera una sola transaccin

GENERATE ,,,1

OTRA TEST L X$STOCK,X$POINT ; Si el STOCK < POINT Entonces avanza, de lo contrario espera a que se cumpla la condicin ADVANCE 5 SAVEVALUE STOCK+,X$EOQ TRANSFER ,OTRA TERMINATE GENERATE 1 ;Inicia el da ;Realiza el pedido y espera 5 das para recibirlo ;Recibe el pedido y actualiza el inventario existente STOCK = STOCK + EOQ ;Repite el ciclo (se transfiere la transaccin al bloque etiquetado con OTRA

SAVEVALUE DEMANDA, (DUNIFORM(1,40,63)) ; DEMANDA = DUNIFORME(1,40,63) TABULATE INVENTARIO TEST GE X$STOCK,X$DEMANDA SAVEVALUE STOCK-,X$DEMANDA TABULATE VENTAS TERMINATE 1 START 100 ; Tabula en la tabla INVENTARIO el valor almacenado en la variable STOCK ;Si el STOCK > DEMANDA Entonces avanza, de lo contrario espera a que se cumpla ;Entrega y actualiza el inventario existente STOCK = STOCK DEMANDA ; Tabula en la tabla VENTAS el valor almacenado en la variable DEMANDA ;Finaliza el da ;Simula 100 das Tabla 4.34.-Cdigo GPSS para el diagrama de la figura 4.13 (incluye histogramas).

100

En el reporte de resultados aparece una seccin en la cual presenta las dos tablas definidas: INVENTARIO y VENTAS con su datos respectivos.

Figura 4.15.- Seccin TABLE del reporte de resultados.

La distribucin de frecuencias (histograma) del inventario, muestra que tiene una media de 616 unidades, con una desviacin estndar de 147 unidades. Tambin presenta 12 intervalos en la cual detalla las frecuencias respectivas de las 100 observaciones realizadas. La distribucin de frecuencias (histograma) de la demanda diaria (VENTAS), tiene una media de 51 unidades, con una desviacin estndar de 7 unidades. Proporciona los datos de los 9 intervalos detallando sus frecuencias de las 100 observaciones realizadas.

101

4.4.- VALIDACIN DE UN SIMULADOR. El modelo de simulacin como cualquier otro modelo es una representacin del mundo real. Esta representacin es una simplificacin del sistema real que contiene los elementos significativos reduciendo as la complejidad. Esta simplificacin y la abstraccin de procesos asumida contribuye a incrementar las condiciones de incertidumbre que da origen a la necesidad de validar el modelo. La validacin del modelo fue estudiada por Charles F. Hermann proponiendo el enfoque Hermann que resalta tres perspectivas a considerar: Propsito de la construccin, los criterios utilizados, y el personal que interviene en la construccin. La validacin siempre se realiza en un determinado grado en cada una de las perspectivas sealadas, que no deben ser apartadas de su propsito validando los criterios razonablemente en la medida que se requieran. El personal seleccionado para la construccin y operacin tiene un impacto significativo en los procedimientos requeridos para la validacin.

Enfoque Hermann para validar

Propsito del modelo Crear Escenarios Predecir resultados Entrenar Explicar Sistema no existente

Criterios Utilizados Validacin interna Validacin superficial Validacin var-par Validacin de eventos Validacin de hiptesis

Personal involucrado

Figura 4.16.- Enfoque Hermann para realizar la validacin del modelo.

102

Propsitos Escenarios Predictivos Entrenamiento Hiptesis y teoras Universos inexistentes Figura 4.17.- Propsitos del modelo.

Descripcin Crea alternativas de accin para conocer sus consecuencias. Predice resultados que sern comparados con otros mtodos predictivos. Transmite conocimientos en un ambiente controlado. Generan hiptesis y explicaciones a ideas surgidas en la experimentacin. Estudio de sistemas que no existen en la realidad.

Criterios Validacin interna Validacin superficial Validacin variable-parmetro Validacin de eventos Validacin de hiptesis Figura 4.18.- Criterios de validacin.

Descripcin Establece una estabilidad y consistencia entre las corridas del modelo. Impresiones subjetivas de aspectos relevantes de la realidad. Anlisis de sensibilidad realizando comparaciones con valores de las variables-parmetros. Establece similitudes de eventos. Realiza pruebas de hiptesis .

VERIFICACIN Y VALIDACIN DEL MODELO. Los modelos de simulacin son imitaciones aproximadas de sistemas del mundo real y deben ser validados para asegurar la confiabilidad. La verificacin y la validacin del modelo de simulacin, inicia despus que las especificaciones han sido documentadas y el desarrollo inicial del modelo ha sido finalizado. La verificacin y la validacin es un proceso iterativo que forma parte del desarrollo del modelo. Para tener credibilidad en el simulador construido, es necesario validar el modelo y los resultados del modelo. La validacin proporciona al tomador de decisiones los elementos necesarios para confiar en los resultados. La validacin que se lleva a cabo en modelos computacionales es similar a la de un simulador, aunque existen diferencias especficas por la naturaleza de sus datos. En un modelo de simulacin intervienen tres clases de variables que describen el comportamiento del sistema: entrada, proceso y salida. Las variables de entrada son datos que se alimentan al modelo, son predeterminadas y proporcionadas independientemente del sistema que se modela. Las variables de proceso. son variables utilizadas para realizar el proceso, describen el estado del sistema en cualquier instante. Pueden estar relacionadas con otras variables. Las variables de salida son las variables que intenta predecir el modelo, representan los resultados de la simulacin. Si hay datos del sistema actual, estos se pueden utilizar para compararlos con los resultados del modelo. Es lo que se conoce como validacin de resultados. Los
103

resultados se deben revisar para verificar su coherencia y consistencia de acuerdo con el funcionamiento esperado del sistema. El anlisis de sensibilidad debe realizarse para detectar que factor tiene un efecto mayor sobre los resultados del modelo para mejorar su representacin si fuera necesario. La validacin del modelo requiere sobre todo, la experiencia en el anlisis de resultados y en mtodos estadsticos. La verificacin. La verificacin del modelo es un proceso para confirmar que ha sido implementado correctamente con respecto al modelo conceptual. Durante la verificacin, el modelo es probado para encontrar y corregir los errores dentro de la implementacin del modelo. Varios procesos y tcnicas se utilizan para asegurar que el modelo cumpla con las especificaciones y supuestos con respecto al modelo conceptual. EL objetivo de la verificacin es asegurar una correcta implementacin del modelo. Existen varias tcnicas para verificar el modelo, verificar por un experto, examinar la lgica de los diagramas de flujo, examinar las salidas que estn dentro de rangos razonables, prueba con varios conjuntos de datos de entrada, y todas las tcnicas que propone la ingeniera de software son aplicables en el modelo de simulacin. La verificacin proporciona la evidencia de que el modelo computacional es construido de manera correcta y exacta. El proceso de verificacin comnmente se divide en dos tipos: La verificacin del cdigo, y la verificacin de la solucin. En la verificacin del cdigo se realizan actividades para encontrar y eliminar errores en el cdigo fuente, en los algoritmos y el mejoramiento del software aplicando prcticas de aseguramiento de la calidad. En la verificacin de la solucin involucra actividades tendientes a asegurar la exactitud de los datos de entrada, la estimacin del error en la solucin, y el aseguramiento que los datos de salida sean precisos. La validacin. La validacin es un proceso para la determinacin del grado en que el modelo representa al sistema real. La validacin proporciona la evidencia de que el modelo matemtico est exactamente relacionado con las medidas experimentales. La validacin asegura mediante una serie de pruebas que el modelo construido representa al sistema real. Esta serie de pruebas objetivas y subjetivas determinan la validez del modelo.

104

Las metas que persigue la validacin se visualizan como tcticas y estratgicas. Las metas tcticas realizan una caracterizacin y minimizacin de la incertidumbre y los errores dentro del modelo computacional; y las estratgicas buscan incrementar la confianza en la capacidad cuantitativa predictiva. Dificultades asociadas a los datos. Los datos asociados que utiliza el modelo de simulacin dificultan el proceso de validacin debido a varias razones, en las cuales se pueden enumerar en orden de prioridad las siguientes: 1. Mediciones incompletas en los variables de entrada. Las condiciones iniciales y de acotamiento del espacio de soluciones formulan una geometra imperfecta de espacios no convexos que ocasiona indeterminaciones. 2. Mediciones limitadas en las variables de salida. Usualmente se miden las variables globales que contienen cantidades de alto nivel. 3. Estimadores de incertidumbre limitados. Errores aleatorios, errores de sesgo, variabilidades en las etapas de estados transitorios. Caractersticas de una validacin. La validacin debe ser diseada y conducida por personal experto en las ciencias computacionales y experimentadores del rea de estudio, estableciendo un fuerte lazo desde la concepcin del modelo, hasta la etapa de la documentacin, seguido de un anlisis de fortalezas y debilidades. La validacin debe estar diseada para captar los aspectos fsicos relevantes, las condiciones iniciales, y las condiciones de acotamiento y los datos auxiliares tales como supuestos y la medicin de los datos de entrada, y en lo posible la incorporacin de las caractersticas de las imperfecciones. La validacin debe usar la sinergia entre el experimento y el enfoque computacional para analizar las fortalezas y debilidades desde el punto de vista computacional y experimental, permitiendo la utilizacin de simulaciones con alto nivel de confianza para calibrar y mejorar. La independencia entre los resultados experimentales y computacionales debe ser mantenida hasta donde sea posible. Una comparacin ciega en la alimentacin de datos que no proporcionan datos de salida. La simulacin debe ser predictiva y no calibrativa. Realizar una jerarqua de las medidas experimentales que presentan un alto nivel de dificultad computacional.

105

Procedimientos de anlisis de incertidumbre para estimar la aleatoriedad y errores de sesgo correlacionados. El uso de mtodos modernos estadsticos para estimar la aleatoriedad y errores de sesgo en las variables de entrada y de salida. Y en lo posible conducir experimentos utilizando tcnicas de diagnstico. Mtricas de validacin. Una mtrica de validacin es una medida de acuerdo entre los resultados computacionales y las medidas experimentales para las cantidades de inters de respuesta del sistema. Pasos requeridos para evaluar una mtrica de validacin. 1. Seleccin de una cantidad de respuesta del sistema. 2. Medir experimentalmente todas las cantidades de entrada necesarias para el cdigo. 3. Medir experimentalmente las respuestas del sistema y su estimado de incertidumbre. 4. Utilizar el cdigo y las cantidades de entrada del experimento, y calcular la cantidad de respuesta del sistema. 5. La diferencia entre lo calculado y la medida experimental, usualmente se estima la media estimada de la respuesta del sistema y los resultados computacionales. La formulacin de la mtrica de validacin hace uso de la estadstica destacando: la inferencia Bayesiana, las pruebas de hiptesis, y los intervalos de confianza. La inferencia bayesiana es un tipo de inferencia estadstica en la que las evidencias u observaciones son empleadas para actualizar o inferir la probabilidad de que una hiptesis pueda ser cierta. Caractersticas de una mtrica de validacin. La mtrica de validacin debe contar con las siguientes caractersticas: Se debe incluir un estimado de error numrico. Se debe incluir un estimado de errores aleatorios experimentales, y si es posible errores de sesgo correlacionados. Se debe incluir un asesoramiento preciso del modelo computacional el cual incluya todos los supuestos. Se debe excluir una medida de acuerdo entre los resultados computacionales y los resultados experimentales. Se debe depender de un nmero de rplicas de experimentos dada una cantidad experimental.

106

Se debe depender de la incertidumbre debido a la falta de mediciones experimentales de cantidades computacionales necesarias y la propia incertidumbre de los parmetros experimentales.

Inferencias tpicas. A continuacin se presentan tres casos que muestran las inferencias tpicas relacionadas de los dominios de la aplicacin (el modelo de simulacin) y el dominio de la validacin del modelo. En el eje de las abscisas se muestra el sistema y sus parmetros que definen el entorno, y en el eje de las ordenadas representa la complejidad geomtrica y fsica.
Caso I.- Inferencia tradicional ingenieril- Interpolacin En la inferencia tradicional ingenieril se superpone los dominios de la aplicacin y de validacin. La prediccin se realiza interpolando dentro de los puntos de la validacin. Los errores en el modelo pueden ser ignorados debido al incremento en el factor de seguridad. El modelo es corregido utilizando errores de sesgo determinados en el experimento.

C o m p l e j i d a d

Dominio de aplicacin

Dominio de validacin

Sistema En la inferencia bien fundamentada se superpone parcialmente los dominios de la aplicacin y de validacin. La extrapolacin ocurre en trminos de varios tipos de direcciones de las coordenadas debido a: los datos de entrada, parmetros del sistema y condiciones de acotamiento.

Caso II.- Inferencia bien fundamentada -Extrapolacin

C o m p l e j i d a d

Dominio de aplicacin

Dominio de validacin

Sistema

107

Caso III.- Inferencia dbil Gran extrapolacin

C o m p l e j i d a d

Dominio de aplicacin Extrapolacin

En la inferencia dbil no se superponen los dominios de aplicacin y validacin. Se realiza una gran extrapolacin en trminos de direcciones de las meta-coordenadas debido a: Cambios recientes en la complejidad fsica, introduccin de nuevos acoplamientos fsicos, o la introduccin de acoplamientos entre subsistemas o componentes del sistema.

Dominio de validacin

Sistema

Figura 4.19.- Inferencias tpicas (tradicional, bien fundamentada, dbil).

4.4.1.- PRUEBAS PARAMTRICAS (VALIDACIN DEL MODELO, PRUEBAS DE HIPTESIS Y PRUEBAS DE ESTIMACIN. Un parmetro es una caracterstica de la poblacin de inters, que deseamos estimar ya sea real o desconocido. Para validar un modelo de simulacin existen los criterios de Hermann entre los cuales se destacan variable-parmetro, y de hiptesis. Las pruebas paramtricas son pruebas de hiptesis estadsticas que asumen cierto comportamiento de: Muestras obtenidas aleatoriamente. Distribucin normal de las observaciones. Existe un parmetro de inters que buscamos estimar.

Estas pruebas paramtricas se basan en la suposicin de una forma determinada de la distribucin de valores, generalmente la distribucin normal, en la poblacin de la que se obtiene la muestra experimental. Una hiptesis estadstica es una proposicin o supuesto sobre los parmetros de una o ms poblaciones. Las hiptesis siempre son proposiciones sobre la poblacin o distribucin bajo estudio, no proposiciones sobre la muestra. Por lo general, el valor del parmetro de la poblacin especificado en la hiptesis nula se determina en una de tres maneras diferentes: 1. Puede ser resultado de la experiencia o del conocimiento del proceso, entonces el objetivo de la prueba de hiptesis usualmente es determinar su ha cambiado el valor del parmetro. 2. Puede obtenerse a partir de alguna teora o modelo que se relaciona con el proceso bajo estudio. En este caso, el objetivo de la prueba de hiptesis es verificar la teora o modelo.
108

3. Cuando el valor del parmetro proviene de consideraciones externas, tales como especificaciones de diseo o ingeniera. En esta situacin, el objetivo usual de la prueba de hiptesis es probar el cumplimiento de las especificaciones. PRUEBAS DE HIPTESIS. La hiptesis nula, representada por H0, es la afirmacin sobre una o ms caractersticas de poblaciones que al inicio se supone cierta (es decir, la creencia a priori). La hiptesis alternativa, representada por H1, es la afirmacin contradictoria a H0, y sta es la hiptesis del investigador. La prueba de hiptesis estadstica o tambin llamada contraste de hiptesis se utiliza para estimar un parmetro o proponer hipotticamente un valor o valores para ese parmetro, basado en la experiencia o en el supuesto terico de la investigacin. Esta prueba sirve para decidir si se considera ese supuesto o se rechaza basado en las muestras aleatorias obtenidas. Si se conoce la distribucin de probabilidad se utilizan las pruebas estadsticas especficas, de lo contrario se aplican las pruebas de hiptesis estadsticas paramtricas. Con los resultados de la validacin de la hiptesis se decide si rechazar o no el supuesto. En condiciones de incertidumbre se emplea la probabilidad como una medida para tomar una decisin equivocada. A partir de una muestra aleatoria extrada de una poblacin se realiza un proceso de prueba para decidir si se mantiene el supuesto o se rechaza; con cierta probabilidad de error. Para la poblacin se plantea un supuesto para el parmetro, de sta se extrae una muestra aleatoria, los datos recolectados de ella se usan para generalizarlo en toda la poblacin, mediante el proceso de la prueba de hiptesis.

109

Proceso de la prueba de hiptesis estadstica

Poblacin

Muestreo Muestra aleatoria Hiptesis: Supuesto para el parmetro Inferencia estadstica

(validar)

Figura 4.20.- Proceso de la prueba de hiptesis estadstica.

Una hiptesis estadstica es una conjetura que el investigador plantea para el parmetro, que puede o no ser verdadera, relativa a una o ms poblaciones. Las hiptesis estadsticas pueden ser simples o compuestas, tambin nulas o alternativas. Una hiptesis simple es una hiptesis que especifica completamente la distribucin, especificando la forma funcional y los valores de todos los parmetros. De lo contrario se conoce como una hiptesis compuesta. La hiptesis nula conocida como H0 es el supuesto que indica que el valor del parmetro es constante y que no sufre cambios. Es planteada generalmente con la intencin de rechazarla. La hiptesis alternativa tambin conocida como H1, es el supuesto relacionado con la teora a demostrar. Para tomar la decisin de rechazar o no la hiptesis es necesario recopilar una muestra de la poblacin, para luego realizar un clculo estadstico que sirve de base para la toma de decisin. Este procedimiento divide los posibles valores estadsticos en dos subconjuntos: La regin de no rechazo, y la regin de rechazo. La hiptesis es unilateral si la hiptesis alternativa indica un cambio en una sola direccin (menor que, mayor que) con respecto a la hiptesis nula, de lo contrario se dice que la hiptesis es bilateral.

110

Errores de Tipo I y II. Los errores que se pueden cometer al realizar una prueba de hiptesis son los siguientes:
Decisin Rechazar Ho No rechazar H0 H0 es verdadera Error de tipo I OK Estado real H0 es falsa OK Error de tipo II

Tabla 4.35.-Errores al realizar la prueba de hiptesis.

Estos errores son contabilizados con las siguientes probabilidades condicionales: | = | =

Una buena prueba estadstica es aquella prueba en que permite tomar una decisin con un error mnimo de error. Es decir que los valores y tiene valores mnimos. Mostrando la decisiones en trminos de esos errores tenemos que:
Decisin Rechazar Ho No rechazar H0 H0 es verdadera (1-) Estado real H0 es falsa (1-)

Tabla 4.36.- Valores y para medir los errores.

Al rechazar una hiptesis nula verdadera se incurre en el error de tipo I, mientras que no rechazar la hiptesis nula cuando es falsa se incurre en el error de tipo II. El error de tipo I () est bajo control del investigador y es establecido antes de realizar la prueba, tambin se le conoce como el nivel de significancia, y el (1-) es conocido como el nivel de confianza o la probabilidad de que el parmetro est dentro de este intervalo de confianza. El error de tipo II () vara con respecto a , debido a varias causas entre las cuales se destaca el tamao de la muestra, la prueba estadstica, el diseo elegido y la magnitud del efecto. A (1-) se le conoce tambin como la potencia, es decir la probabilidad de no cometer el error de tipo II. Nivel de significancia (). La probabilidad es el nivel de significancia de la prueba, asumida voluntariamente por el investigador para equivocarse al rechazar H0 cuando es verdadera. Usualmente se utilizan los valores de 0.01 (1%), 0.05 (5%) y 0.10 (10%). Cuando es rechazada una hiptesis nula se dice que tiene una significancia estadstica, pero cuando no se rechaza significa que no se tienen los elementos suficientes para rechazarse.

111

Estadstico de prueba. Para decidir si se rechaza o no la hiptesis nula se toma una muestra de la poblacin, para luego calcular los estadsticos de prueba que indican el grado de discrepancia entre la hiptesis nula y los datos muestrales. Cuando es grande esta diferencia se rechaza la hiptesis nula en caso contrario no se rechaza. Al conjunto de valores de la estadstica de prueba para los que la hiptesis nula se rechaza se llama regin de rechazo o regin crtica. El establecimiento de la regin de rechazo depende de la distribucin de probabilidad de la estadstica de prueba, el punto de corte (punto o valor que divide a la regin crtica de la no crtica) se llama tambin valor crtico o punto crtico, cuyo su valor depende de la distribucin de probabilidad de la estadstica de prueba. Regin de rechazo. La regin de rechazo o regin crtica es aquella en que contiene valores del estadstico de prueba en que la hiptesis nula es rechazada. Esta regin depende de la distribucin de probabilidad del estadstico de prueba utilizado. El punto crtico es el que divide la regin crtica de la no crtica, y depende su valor de la distribucin de probabilidad utilizada.

Figura 4.21.- Regin de rechazo.

112

PROCEDIMIENTO PARA REALIZAR LAPRUEBA DE HIPTESIS. Paso 1.- Plantear adecuadamente la hiptesis nula y la alternativa. Paso 2.- Elegir el nivel de significancia (). Paso 3.- Elegir el estadstico para la prueba. Paso 4.- Definir la regin de rechazo, en base a la hiptesis alternativa. Paso 5.- Calcular el estadstico seleccionado para realizar la prueba de hiptesis. Paso 6.- Comparar el valor del estadstico de prueba y el valor crtico, para decidir si se rechaza o no la hiptesis nula. La prueba de hiptesis es paramtrica debido a que se aplica nicamente a las muestras aleatorias que provienen de poblaciones que tienen una distribucin de probabilidad conocida, la cual generalmente es la distribucin de probabilidad normal. A continuacin se muestran diversas pruebas de hiptesis, las cuales muestran el estadstico a utilizar, y la poltica de rechazo.

Prueba de hiptesis para de una poblacin normal cuando 2 es conocida.


Prueba de hiptesis Ho:0 H1:>0 Ho:0 H1:<0 Ho:=0 H1:0 Estadstico utilizado = Rechazar Ho si Z > Z Z > -Z Z < -Z/2 Z > Z/2

Prueba de hiptesis para de una poblacin normal cuando 2 es desconocida.


Prueba de hiptesis Ho:0 H1:>0 Ho:0 H1:<0 Ho:=0 H1:0 Estadstico utilizado = Rechazar Ho si T > t,n-1 T < -t,n-1 T < -t/2,n-1 T > t/2,n-1

113

Prueba de hiptesis para 2 de una poblacin normal.


Prueba de hiptesis 2 2 Ho: 0 2 2 H 1: > 0 2 Ho: 20 H1: 2< 20 2 2 H o: = 0 2 2 H 1: 0 Estadstico utilizado = 1 Rechazar Ho si > ,
< , > , < ,

Prueba de hiptesis para de una poblacin binomial.


Prueba de hiptesis Ho: 0 H1: > 0 Ho: 0 H1: < 0 Ho: = 0 H1: 0 Estadstico utilizado = 1 n Rechazar Ho si > < -/ > / < -

Prueba de hiptesis para 12 cuando son conocidas.

Prueba de hiptesis Ho: 12 0 H1: 12 > 0 Ho: 12 0 H1: 12 < 0 Ho: 12 = 0 H1: 12 0

Estadstico utilizado =
+

Rechazar Ho si > < -

< -/ > /

Prueba de hiptesis para 12 cuando son desconocidas e iguales.

Prueba de hiptesis Ho: 12 0 H1: 12 > 0 Ho: 12 0 H1: 12 < 0 Ho: 12 = 0 H1: 12 0

Estadstico utilizado = 1 1 +

Rechazar Ho si > , < -,

Donde: =

= + 2

< -/, > /,

114

Prueba de hiptesis para 12 cuando son desconocidas y diferentes.

Prueba de hiptesis Ho: 12 0 H1: 12 > 0 Ho: 12 0 H1: 12 < 0 Ho: 12 = 0 H1: 12 0

Estadstico utilizado =
+

Rechazar Ho si > , < -,

< -/. > /,

Donde: =

+ 1 1

Prueba de hiptesis para 12


Prueba de hiptesis H o : d 0 H 1: d > 0 H o : d 0 H 1 : d < 0 H o : d = 0 H 1 : d 0

= d para muestras relacionadas.


Estadstico utilizado =

Rechazar Ho si > , < -. > ,


< -,

Donde:

1 =

Prueba de hiptesis para cuando son conocidas.

Prueba de hiptesis Ho: H1: > Ho: H1: < Ho: = H1:

Estadstico utilizado =

Donde:

= 1 = 1

< ,, > ,,

< ,,

Rechazar Ho si > ,,

115

Prueba de hiptesis para de poblaciones binomiales.


Prueba de hiptesis Ho: H1: > Ho: H1: < Ho: = H1 Estadstico utilizado = 1 1 p1 p n + n

Rechazar Ho si > < -/ > / < -

Donde: P es la proporcin poblacional estimada de xitos con respecto a la muestra n=n1+n2

4.4.2.- PRUEBAS NO PARAMTRICAS. Las pruebas no paramtricas son aquellas que no presuponen una distribucin de probabilidad para los datos, por ello se conocen tambin como de distribucin libre. En la mayor parte de ellas los resultados estadsticos se derivan nicamente a partir de procedimientos de ordenacin y recuento, por lo que su base lgica es de fcil comprensin. PRUEBA DE MANN-WHITNEY PARA MUESTRAS INDEPENDIENTES. Si tenemos dos series de valores de una variable continua obtenidas en dos muestras independientes: X1, X2,..Xn, Y1, Y2, ., Ym, procedemos a ordenar conjuntamente todos los valores en sentido creciente, asignndoles su rango, corrigiendo con el rango medio los empates. Calculamos luego la suma de rangos para las observaciones de la primera muestra SX, y la suma de rangos de la segunda muestra SY. Si los valores de la poblacin de la que se extrajo la muestra aleatoria de X se localizan por debajo de loa valores de Y, entonces la muestra de X tendr probablemente rangos ms bajos, lo que se reflejar en un valor menor de Sx del tericamente probable. PRUEBA DE WILCOXON DE LOS RANGOS CON SIGNO. Esta prueba nos permite comparar nuestros datos con una mediana terica (por ejemplo un valor publicado en un artculo). Para efectuar esta prueba se calculan las diferencias en valor absoluto |Xi-M0| y se ordenan de menor a mayor, asignndoles su rango (nmero de orden). Si hubiera dos o ms diferencias con igual valor (empates), se les asigna el rango medio (es decir que si tenemos un empate en las posiciones 2 y 3 se les asigna el valor 2.5 a ambas).

116

5
Proyecto integrador
5.1.- ANLISIS, MODELADO Y SIMULACIN DE UN SISTEMA O SUBSISTEMA SE SERVICIOS O PRODUCTIVOS DE UNA EMPRESA PARA DETECTAR LAS MEJORAS POSIBLES A REALIZAR. Al llevar a cabo un estudio de simulacin es necesario contar con una gua que define las actividades a desarrollar. En el captulo 1 se sealaron las 8 etapas que el ingeniero debe seguir para conseguir este propsito. Si se compara con las etapas del desarrollo de un sistema computacional, es notorio que existen actividades que en el estudio de simulacin se deben realizar una vez concluido el modelo computacional, es decir que son actividades que un usuario realiza al momento de utilizarlo, tal como la experimentacin y la interpretacin de los resultados. Estudio de Simulacin 1.- Definir el sistema 2.- Formular el modelo 3.- Recopilar datos 4.- Implementar el modelo en la computadora Desarrollo de un Sistema computacional Anlisis

Diseo Codificacin Pruebas Implementacin Mantenimiento

5.- Validar 6.- Experimentar 7.- Interpretar 8.- Documentar

Documentacin

Figura 4.22.- Comparativo entre estudio de simulacin y desarrollo tradicional de un sistema computacional.

A continuacin se presentan varios proyectos que fueron desarrollados en todas sus etapas con el fin de mostrar al lector, las actividades desarrolladas en cada etapa, y las estrategias utilizadas para la bsqueda de soluciones para realizar mejoras en el sistema de estudio, por medio de la simulacin.

117

5.1.1.- SIMULACIN DE MANUFACTURA DE RELOJES ELECTRNICOS. Una empresa manufacturera se encarga de manufacturar relojes electrnicos, sus clientes realizan pedidos los cuales tiene que atender de acuerdo a su capacidad instalada. Desea realizar un estudio de simulacin que le permite mejorar sus procesos con el fin de poder atender la demanda. 5.1.1.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.

La primera etapa consiste en definir el sistema que se desea simular, para realizarlo es necesario realizar un anlisis preliminar. Este anlisis exploratorio tradicionalmente se lleva a cabo realizando un recorrido por toda la empresa. Este recorrido nos muestra todos los procesos que se realizan, y las problemticas que se enfrentan diariamente para realizar sus actividades operativas. La estructura organizacional es un buen inicio para identificar al personal clave que cuenta con informacin valiosa para incluir en el modelo de simulacin.

Organigrama de empresa manufacturera

Gerente

Mantenimiento

Produccin

Administracin

Figura 5.1.- Organigrama de empresa manufacturera.

Las entrevistas a este personal, es pieza fundamental para definir el sistema y sus interacciones con otros sistemas, y los resultados que se esperan obtener del estudio de simulacin. Para la definicin del sistema, se puede seguir con una tcnica enfocada a identificar lo siguiente:

118

Entradas

Proceso

Salidas

2 3

Figura 5.2.- Anlisis del sistema.

Identificar las salidas del sistema. AL realizar un anlisis preliminar en la empresa manufacturera primero nos enfocaremos a descubrir los resultados que se esperan obtener del estudio, es decir determinar las salidas del sistema. Entrevistando a los gerentes de la planta cada uno expone la problemtica desde su perspectiva, entre las cuales se destacan los problemas siguientes: Cantidad de rdenes pendientes de empacar. Cantidad de relojes despachados. Existen otras salidas que en este momento el gerente no considera significativas, pero son dejadas como pendientes, para no elevar el grado de complejidad del simulador.

Identificar las entradas del sistema. Las entradas del sistema, estn en funcin de las salidas identificadas del sistema. Es decir los datos requeridos que sern procesados para proporcionar las salidas del sistema. Las entrevistas y los recorridos muestran que todo inicia cuando el cliente realiza una orden. Las rdenes llegan durante el transcurso del da, las cuales pasan directamente a manufactura, y luego se empacan y son enviadas al cliente. Identificando como variables de entrada: las los tiempos entre llegadas de las rdenes, tamao de la orden, los tiempos de manufactura, y los tiempos de empacado. Identificar el proceso del sistema. Al entrevistar al encargado de la produccin muestra el proceso que siguen las rdenes de los clientes, las cuales son recibidas, manufacturadas, empacadas y enviadas a los clientes.

119

almacn

Recibe orden

Manufactura

Empaque

Entrega orden

Figura 5.3.- Proceso del sistema .

5.1.1.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, sus relaciones lgicas y los diagramas de flujo que describan en forma completa al modelo.

Tiempo entre llegadas de las rdenes Almacn Cantidad de relojes por orden

Ordenes pendientes de empacar

Ordenes entregadas Manufactura Tiempo de manufactura Empacado

Proceso de simulacin Tiempo de empacado

Figura 5.4.- Formulacin del modelo.

120

5.1.1.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.

Tiempo entre llegadas de las rdenes. Una estadstica realizada con datos histricos de 6 meses, muestra que tiene un promedio entre llegadas de 15 minutos con un comportamiento exponencial. Cantidad de relojes por orden.- El tamao de la orden tiene la siguiente distribucin de frecuencias:
Frecuencia Tamao de la orden 0.10 6 0.25 12 0.30 18 0.15 24 0.12 30 0.05 36 0.03 48

Tiempo de manufactura.- El proceso de manufactura se realiza por lotes de 60 relojes tardando un promedio de 45 5 minutos por lote. Tiempo de empacado.- El proceso de empacado de una orden est en funcin de la cantidad de relojes a empacar, teniendo un tiempo por cada orden de 15 minutos ms 10 segundos por cada reloj empacado. Capacidad del almacn. Se cuenta con un almacn para almacenar los relojes producidos en manufactura, el cual tiene una capacidad de 4000 relojes, y deber con contar con un inventario mnimo de 1000 relojes al iniciar el funcionamiento de la empresa.

121

5.1.1.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.

Se utiliza el lenguaje GPSS para construir el modelo de simulacin. Para simplificar la implementacin del modelo, primero nos concentraremos en la manufactura de relojes, y luego posteriormente se implementar el proceso de atencin de las rdenes de los clientes. IMPLEMENTACIN DE MANUFACTURA, CARGA INICIAL DE INVENTARIO Y DAS TRANSCURRIDOS. Los relojes que son manufacturados son enviados al almacn que tiene una capacidad de 4000 relojes, y el proceso inicia con un inventario inicial en el almacn de 1000 relojes. El modelo est compuesto por tres segmentos, el primero se encarga de simular la produccin del departamento de manufactura que enva todo el producto a un almacn con capacidad de 4000 relojes, el segundo se encarga de simular los das transcurridos, y el tercero simula la carga de inventario inicial de 1000 relojes al almacn.

122

Modelo.
GENERATE ,,,1,10 GENERATE 0.75,0.08334,1

ENTER ALMACEN,60

ENTER ALMACEN,1000

TERMINATE

TERMINATE

Simula manufactura y almacenaje

Simula carga de inv. inicial

GENERATE 8

TERMINATE 1

Figura 5.5.- Diagrama de bloques. (1 de 2)

Simula das transcurridos

Cdigo GPSS.
ALMACEN STORAGE 4000 GENERATE 0.75,0.08334,1 ENTER ALMACEN,60 TERMINATE ;-------------------------------------------------------------------------------------------------------------------------------------------GENERATE ,,,1,10 ENTER ALMACEN,1000 TERMINATE ;-------------------------------------------------------------------------------------------------------------------------------------------------GENERATE 8 TERMINATE 1 START 5 ;Genera un da de 8 horas de trabajo ; Finaliza el da ;Simula 5 dias de trabajo Tabla 5.1.- Cdigo GPSS para el diagrama de bloques de la figura 5.5. ;Genera una transaccin que realiza la carga de inventario inicial ;Almacena un lote inicial de 1000 relojes ;Capacidad mxima del almacen = 4000 relojes. ;Genera un lote cada 40 5 minutos ;Almacena el lote de 60 relojes

Reporte de resultados.
123

Figura 5.6.- Reporte de resultados.

El tiempo de la simulacin fue de 40 horas (8 horas x 5 dias). La capacidad del almacn es de 4000 relojes, y al finalizar la simulacin est a su mxima capacidad. Se almacenaron 50 lotes (50 lotes x 60 relojes = 3000 relojes), y quedaron 3 pendientes debido a que el almacn ya estaba lleno. Se gener la carga inicial de 1000 relojes al almacn.

IMPLEMENTACIN DE RDENES ATENDIDAS. Una vez que se ha verificado el buen funcionamiento de estos tres segmentos, ahora nos concentraremos en la simulacin de las rdenes atendidas. Las rdenes tienen un tiempo entre llegadas que sigue una distribucin exponencial con media de 15 minutos, y el tamao de la orden viene dada por una distribucin de frecuencias:
Frecuencia RELATIVA Tamao de la orden 0.10 6 0.25 12 0.30 18 0.15 24 0.12 30 0.05 36 0.03 48

124

Para crear una variable aleatoria TAMANO es necesario primero calcular la distribucin de frecuencias acumulada obteniendo la siguiente tabla:
Frecuencia ACUMULADA Tamao de la orden 0.10 6 0.35 12 0.65 18 0.80 24 0.92 30 0.97 36 1.0 48

Para realizar el empacado, los relojes se tienen que retirar del almacn, si no se encuentran en existencia entonces la orden no es atendida. El tiempo de empacado es calculado por la variable TIEMPO que est en funcin de la cantidad de relojes a empacar. TIEMPO = 0.0034 + (P1*0.0028).

125

Modelo.
GENERATE (EXPONENTIAL(1,0,0.25))

ASSIGN 1,1,TAMANO

S$ALMACEN P1 F

V LEAVE ALMACEN,P1

Simula rdenes atendidas

SEIZE EMPACADORA

ADVANCE V$TIEMPO

Figura 5.7.- Diagrama de bloques. (2 de 2)

RELEASE EMPACADORA

TERMINATE

Cdigo GPSS (incluye todo el modelo).


TAMANO FUNCTION RN1,D7 ;

.10,6/.35,12/.65,18/.80,24/.92,30/.97,36/1.0,48 TIEMPO VARIABLE 0.0028#P1+0.0334 ALMACEN STORAGE 4000 ;Tiempo de empacado= 0.0334 + P1*0.0028 ;Capacidad mxima del almacen = 4000 relojes.

GENERATE (EXPONENTIAL(1,0, 0.25)) ; Genera un pedido cada 15 minutos disribuidos exponencialmente ASSIGN 1,1,TAMANO TEST GE S$ALMACEN,P1,NOHAY LEAVE ALMACEN,P1 QUEUE ESPERA SEIZE EMPACADORA DEPART ESPERA ADVANCE V$TIEMPO RELEASE EMPACADORA TERMINATE ; Calcula el tamao de la orden y lo almacena en P1 ; Si hay en el almacen lo surte, de lo contrario lo pierde ;Retira los P1 relojes del almacen ;Entra la cola de espera ;Captura a la maquina empacadora ;Sale de la cola de espera ;Realiza el empacado con tiempo= V$TIEMPO ;Libera la maquina empacadora ;Entrega la orden

126

NOHAY

TERMINATE GENERATE 0.75,0.08334,1 ENTER ALMACEN,60 TERMINATE GENERATE 8 TERMINATE 1 GENERATE ,,,1,10 ENTER ALMACEN,1000 TERMINATE START 5

;La orden no es posible atenderse debido a que hay faltantes ;Genera un lote cada 40 5 minutos ;Almacena el lote de 60 relojes

;Genera un da de 8 horas de trabajo ; Finaliza el da ;Carga inicial del inventario ;Inicia el inventario con 1000 relojes

;Simula 5 dias de trabajo

Tabla 5.2.- Cdigo GPSS para el diagrama de bloques de la figura 5.5 y 5.7

Reporte de resultados.

127

Figura 5.8.- Reporte de resultados .

Interpretacin de los resultados para verificacin. A.- El tiempo de la simulacin fue de 40 horas (8 horas x 5 dias). B.- Llegaron 169 rdenes, de las cuales 168 fueron procesadas y enviadas a los clientes, y 1 orden qued en el proceso de empacado. C.- La mquina de empacado tuvo un 36.4% de utilizacin, con un tiempo promedio de empacado de 0.086 horas (0.086 horas x 60 minutos=5.16 minutos), y al finalizar la simulacin la mquina empacadora se encontraba ocupada (avail=1). D.- La lnea de espera para el proceso de empacado, durante toda la simulacin tuvo mximo 3 ordenes en espera, de las 169 ordenes que llegaron al proceso de empaque 103 ordenes no tuvieron que esperar, y las ordenes que esperaron tuvieron un tiempo de espera promedio de 0.070 horas (0.070 horas x 60 minutos=4.2 minutos). E.- La capacidad del almacn es de 4000 relojes, y al finalizar la simulacin tiene en inventario de 898 relojes (CAP-REM =4000-3102=898). El inventario mximo alcanzado en toda la simulacin fue de 1300 relojes, teniendo un porcentaje de utilizacin en el inventario de 27.4% F.- El proceso de manufactura en toda la simulacin produjo 52 lotes de 60 relojes cada uno, y todos ellos fueron enviados al almacn.

128

5.1.1.5.- VALIDAR EL MODELO.


En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los datos alimentados al modelo, siendo las formas ms comunes de validar el modelo las siguientes: 1. 2. 3. 4. La opinin de expertos sobre los resultados de la simulacin. La exactitud con que se predicen datos histricos. La exactitud en la prediccin del futuro. 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.

Los modelos de simulacin son imitaciones aproximadas de sistemas del mundo real y deben ser validados para asegurar la confiabilidad. El gerente de produccin al revisar el modelo computacional detecta que la poltica que sigue el departamento de empacado cuando no tiene existencia en el inventario, est en base a criterios que no han sido especificados claramente, en ocasiones, se suspende el empacado hasta que exista la cantidad de la orden, en otras ocasiones esa orden la deja pendiente y se procede a empacar otras rdenes que tienen menor cantidad, en raras ocasiones las ordenes no se surten, debido a faltantes. La especificacin de esta poltica debe ser clara y precisa para lograr un modelado que se asemeje a la realidad, y se pone en manifiesto al estudiar los casos especficos. La simulacin efectuada no presenta esta caracterstica, debido a que ninguna orden es enviada al bloque 11 (TERMINATE), pero independientemente del resultado debe ser aclarada, esta falta de informacin. Otras observaciones del ingeniero de manufactura, es la oportunidad de contar con un simulador que le permita optimizar los niveles de inventario. En lo relativo a la exactitud con que se predicen las variables aleatorias, como los tiempos entre llegadas de las ordenes, los tiempos de produccin, y los tiempos de empaque, las variables aleatorias utilizadas deben ser revisadas debido a ajustes en las maquinarias y mejoras en los instructivos de trabajo que impactan significativamente con respecto a los datos histricos con los cuales se contaba en ese momento. Los problemas existentes en la prctica estn encaminados al proceso de manufactura, que en ltimas fechas se enfrentan a una gran rotacin de personal, y se han incrementado los mantenimientos en las maquinarias debido a falta de entrenamiento.

129

El gerente general propone incluir en el modelo, variables aleatorias relacionadas a los procesos de mantenimiento de maquinaria, actualizar las variables aleatorias utilizadas, con los comportamientos actuales, y una poltica de control de inventarios. Una vez incluidas estas mejoras en el modelo, se proceder a experimentar con el mismo. Esto nos obliga a realizar otra iteracin regresando de nuevo a la definicin del sistema, para incluir las necesidades que surgen en esta revisin. Es clsico que un modelo no se realice a la primera, debido a que es un proceso iterativo que ir afinando poco a poco el modelo, en la medida que vayan surgiendo variables significativas. 5.1.1.6.- EXPERIMENTAR CON EL MODELO.
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.

La experimentacin es un proceso en el cual, se realizan corridas de simulacin que reporta los resultados deseados. Una vez obtenidos se realiza un anlisis de sensibilidad para ver la relacin entre las variables, y su impacto dentro del mismo.

5.1.1.7.- INTERPRETAR LOS RESULTADOS.


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.

El objetivo de la simulacin es contar con informacin para la buena toma de decisiones. El reporte de resultados que arroja el modelo debe ser interpretado y puesto en trminos que el tomador de decisiones pueda comprender, y en base a ellos fundamentar sus decisiones. Las mejoras a cualquier sistema parten de un proceso iterativo en que se incluyen nuevas variables con el fin de obtener informacin desconocida que logre comprender el comportamiento del sistema y sus repercusiones al momento de incluir o actualizar algn proceso.

5.1.1.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.

La documentacin es vital para asegurar que se pueda llevar a cabo el mantenimiento y la operacin del sistema construido. La documentacin del usuario es aquella que le permite al usuario conocer el simulador, y poder hacer uso de l. Por otro lado la documentacin tcnica est relacionada con todos los aspectos tcnicos desde su

130

concepcin hasta su implementacin, que permiten asegurar un mantenimiento para que el sistema computacional para incluir y modificaciones que surgen a travs del tiempo.

131

5.1.2.- SIMULACIN DE UN SISTEMA DE CONTROL DE CALIDAD. Una maquiladora manufactura un componente automotriz, la manufactura de estos componentes es realiza por una secuencia de tres procesos principales. Al final de cada proceso est instalada una estacin de inspeccin que asegura la calidad de los componentes, rechazando aquellos que no cumplan con las normas mnimas establecidas. Para algunos componentes rechazados tienen la oportunidad de ser retrabajados, algunos otros son considerados como desperdicio. La intencin del estudio de simulacin es conocer el comportamiento del sistema de control de calidad, para realizar mejoras en el sistema. 5.1.2.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.

La primera etapa consiste en definir el sistema que se desea simular, para realizarlo es necesario realizar un anlisis preliminar. Este anlisis exploratorio tradicionalmente se lleva a cabo realizando un recorrido por toda la empresa. Este recorrido nos muestra todos los procesos que se realizan, y las problemticas que se enfrentan diariamente para realizar sus actividades operativas. La estructura organizacional es un buen inicio para identificar al personal clave que cuenta con informacin valiosa para incluir en el modelo de simulacin.
Organigrama de la empresa

Gerente

Administracin

Produccin

Calidad

Figura 5.9.- Organigrama de la empresa.

Las entrevistas a este personal, es pieza fundamental para definir el sistema y sus interacciones con otros sistemas, y los resultados que se esperan obtener del estudio de simulacin. Para la definicin del sistema, se puede seguir con una tcnica enfocada a identificar lo siguiente:

132

Identificar las salidas del sistema. AL realizar un anlisis preliminar primero nos enfocaremos a descubrir los resultados que se esperan obtener del estudio, es decir determinar las salidas del sistema. Entrevistando a los gerentes de la planta cada uno expone la problemtica desde su perspectiva, entre las cuales se destacan los problemas siguientes: Maximizar la produccin. Minimizar productos defectuosos. Minimizar el desperdicio.

Identificar las entradas del sistema. Las entradas del sistema, estn en funcin de las salidas identificadas del sistema. Es decir los datos requeridos que sern procesados para proporcionar las salidas del sistema. Las entrevistas y los recorridos muestran el proceso de fabricacin, el cual est sujeta a la llegada de las rdenes durante el transcurso del da, las cuales pasan directamente a manufactura basada en tres procesos principales, al final de cada proceso se realiza una inspeccin que asegura el retiro de la lnea los componentes no conformes. Una proporcin de componentes no conforme tiene la oportunidad de ser re trabajados en el mismo proceso que lo rechaz, pero la otra proporcin es enviada directamente al desperdicio. Identificando como variables de entrada: los tiempos entre llegadas de las rdenes, los tiempos de manufactura, y las estadsticas de las inspecciones. Identificar el proceso del sistema. Al entrevistar al encargado de la produccin muestra el proceso que siguen las rdenes de los clientes, las cuales son recibidas, manufacturadas, inspeccionadas y enviadas a los clientes.

133

Recibe orden

Proceso 1 V F Inspeccin ok V Proceso 2 V F F Inspeccin ok V Proceso 3 V F F Inspeccin ok Retrabajo Retrabajo Scrap Retrabajo

Envia orden

Figura 5.10.- Proceso del sistema.

134

5.1.2.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, sus relaciones lgicas y los diagramas de flujo que describan en forma completa al modelo.

Tiempo entre llegadas de las rdenes Proceso 1 Tiempo de manufactura Inspeccin

Produccin

Productos defectuosos Tiempo de inspeccin Proceso 2 Inspeccin s c r a p

Desperdicios

Parmetros de inspeccin Proceso 3 Inspeccin

Producto terminado

Proceso de simulacin

Figura 5.11.- Formulacin del modelo.

5.1.2.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.

Un componente es manufacturado realizando una secuencia de tres procesos. Al terminar cada proceso se realiza una inspeccin rpida que tarda dos minutos. Los resultados de estas inspecciones permiten detectar aquellos componentes que no cumplen con la calidad deseada, y es necesario repetir el proceso. Proceso Uno Dos Tres Componentes a retrabajar 20% 15% 5%

135

El 60% de los componentes enviados a retrabajar no es posible retrabajarlos dado sus caractersticas, por lo tanto son reenviados directamente al desperdicio (scrap) y nicamente el 40% restante es posible aplicarle el re-trabajo. Las rdenes tienen un tiempo entre llegadas de 30 minutos y tiene un comportamiento exponencial. EL tiempo del primer proceso tiene la siguiente distribucin de frecuencias: Frecuencia Tiempo Proceso 0.05 10 0.13 14 0.16 21 0.22 32 0.29 38 0.15 45

El tiempo del segundo proceso tarda 15 6 minutos. El tiempo del tercer proceso sigue una distribucin normal con media de 24 minutos y una desviacin estndar de 4 minutos.

136

5.1.2.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.

Se utiliza el lenguaje GPSS para construir el modelo de simulacin.

GENERATE (EXPONENTIAL(1,0,30))

Simula manufactura e inspeccin

SEIZE PROCESO1

SEIZE PROCESO2

SEIZE PROCESO3

ADVANCE FN$TIEMPO1 RELEASE PROCESO1

ADVANCE 15,6

ADVANCE (NORMAL(1,24,4)) RELEASE PROCESO3

RELEASE PROCESO2

ADVANCE 2

ADVANCE 2

ADVANCE 2

80% conforme? 0.2,,RET1 20% 40% Scrap? 0.2,,RET1 60% TERMINATE TERMINATE conforme? 0.2,,RET1

85%

95%

%
conforme? 0.2,,RET1 TERMINATE 1

15% 40% Scrap? 0.2,,RET1 60%

5% 40% Scrap? 0.2,,RET1 60% TERMINATE

Figura 5.12.- Diagrama de bloques.

137

Cdigo GPSS.
TIEMPO1 FUNCTION RN1,D7 0,0/.05,10/.18,14/.34,21/.56,32/.85,38/1.0,45 GENERATE (EXPONENTIAL(1,0,30)) ETAPA1 SEIZE PROCESO1 ADVANCE FN$TIEMPO1 RELEASE PROCESO1 ADVANCE 2 TRANSFER 0.20,ETAPA2,RETRB1 ETAPA2 SEIZE PROCESO2 ADVANCE 15,6 RELEASE PROCESO2 ADVANCE 2 TRANSFER 0.15,ETAPA3,RETRB2 ETAPA3 SEIZE PROCESO3 ADVANCE (NORMAL(1,24,4)) RELEASE PROCESO3 ADVANCE 2 TRANSFER 0.05,FINAL,RETRB3 RETRB1 TRANSFER 0.40,,ETAPA1 TERMINATE RETRB2 TRANSFER 0.40,,ETAPA2 TERMINATE RETRB3 TRANSFER 0.50,,ETAPA3 TERMINATE FINAL TERMINATE 1 START 100 ;TIEMPO ENTRE LLEGADAS EXPONENCIAL 30 MINUTOS ;CAPTURA LA MAQUINA ;REALIZA EL PROCESO NO. 1 ;LIBERA LA MAQUINA ;INPECCION RAPIDA (2MIN) ;EL 20% VA A RETRABAJO (RETRB1), EL RESTO PASA A LA ETAPA2 ;CAPTURA LA MAQUINA ;REALIZA EL PROCESO NO. 2 ;LIBERA LA MAQUINA ;INSPECCION RAPIDA (2MIN) ;EL 15% VA A RETRABAJO (RETRB2), EL RESTO PASA A LA ETAPA3 ;CAPTURA LA MAQUINA ;REALIZA EL PROCESO NO. 2 ;LIBERA LA MAQUINA ;INSPECCION RAPIDA (2MIN) ;EL 5% VA A RETRABAJO (RETRB3), EL RESTO FINALIZA ;EL 40% ES ENVIADO A LA ETAPA1 ;TERMINA COMO SCRAP ;EL 40% ES ENVIADO A LA ETAPA2 ;TERMINA COMO SCRAP ;EL 40% ES ENVIADO A LA ETAPA3 ;TERMINA COMO SCRAP ;TERMINA COMO PRODUCTO CONFORME ;SIMULA 100 PRODUCTOS CONFORMES (TERMINADOS)

Tabla 5.3.- Cdigo GPSS para el diagrama de bloques de la figura 5.12.

138

Reporte de resultados

Figura 5.13.- Reporte de resultados .

139

Interpretacin de los resultados para verificacin. La simulacin de la produccin de un lote de 100 productos terminados, tard 4763.5 minutos (79.39 horas). Descripcin Producto terminado Scrap En espera para realizar el proceso 1 Realizando el proceso 1 En espera para realizar el retrabajo en el proceso 1 Realizando el proceso 2 Total generados Cantidad 100 38 26 1 2 1 168

Scrap generado Descripcin Scrap del proceso 1 Scrap del proceso 2 Scrap del proceso 3 Total generado Cantidad 23 15 0 38

Estadstica de los procesos realizados. Descripcin % utilizacin Tiempo prom (min) Componentes Proceso 1 96.7% 30.904 149 Proceso 2 36.9% 14.423 122 Proceso 3 52.1% 24.349 102

5.1.2.5.- VALIDAR EL MODELO.


En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los datos alimentados al modelo, siendo las formas ms comunes de validar el modelo las siguientes: 1. 2. 3. 4. La opinin de expertos sobre los resultados de la simulacin. La exactitud con que se predicen datos histricos. La exactitud en la prediccin del futuro. 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.

El gerente al revisar el modelo computacional se percata que los parmetros de inspeccin seleccionados, son una medida inicial para cuantificar los productos conformes y no conformes, y sugiere realizar experimentaciones con diferentes parmetros para presentar escenarios que le permiten prepararse para una eventualidad.
140

Una vez incluidas estos ajustes en el modelo, se proceder a experimentar con el mismo, agregando el grado de complejidad del sistema incorporando un sistema de inspeccin que le permita detectar variables significativas que repercuten en la calidad de los productos. Esto nos obliga a realizar otra iteracin regresando de nuevo a la definicin del sistema, para incluir las necesidades que surgen en esta revisin. Es clsico que un modelo no se realice a la primera, debido a que es un proceso iterativo que ir afinando poco a poco el modelo, en la medida que vayan surgiendo variables significativas. 5.1.2.6.- EXPERIMENTAR CON EL MODELO.
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.

La experimentacin es un proceso en el cual, se realizan corridas de simulacin que reporta los resultados deseados. Una vez obtenidos se realiza un anlisis de sensibilidad para ver la relacin entre las variables, y su impacto dentro del mismo. 5.1.2.7.- INTERPRETAR LOS RESULTADOS.
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.

El objetivo de la simulacin es contar con informacin para la buena toma de decisiones. El reporte de resultados que arroja el modelo debe ser interpretado y puesto en trminos que el tomador de decisiones pueda comprender, y en base a ellos fundamentar sus decisiones. Las mejoras a cualquier sistema parten de un proceso iterativo en que se incluyen nuevas variables con el fin de obtener informacin desconocida que logre comprender el comportamiento del sistema y sus repercusiones al momento de incluir o actualizar algn proceso. 5.1.2.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.

La documentacin es vital para asegurar que se pueda llevar a cabo el mantenimiento y la operacin del sistema construido. La documentacin del usuario es aquella que le permite al usuario conocer el simulador, y poder hacer uso de l. Por otro lado la documentacin tcnica est relacionada con todos los aspectos tcnicos desde su concepcin hasta su implementacin, que permiten asegurar un mantenimiento para que el sistema computacional para incluir y modificaciones que surgen a travs del tiempo.

141

5.1.3.- SIMULACIN DE UN SUPERMERCADO. Un supermercado con el fin de mejorar su servicio a sus clientes, se ha propuesto mejorar en todos sus mbitos. En el ltimo semestre no han cumplido con sus metas propuestas, y desean a travs de un estudio de simulacin conocer el comportamiento de su sistema, para establecer polticas que brinden un servicio de calidad a sus clientes. 5.1.3.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.

La primera etapa consiste en definir el sistema que se desea simular, para realizarlo es necesario realizar un anlisis preliminar. Este anlisis exploratorio tradicionalmente se lleva a cabo realizando un recorrido por toda la empresa. Este recorrido nos muestra todos los procesos que se realizan, y las problemticas que se enfrentan diariamente para realizar sus actividades operativas. La estructura organizacional es un buen inicio para identificar al personal clave que cuenta con informacin valiosa para incluir en el modelo de simulacin.

Organigrama de Supermercado

Gerente

Ventas

Operaciones

Administracin

Figura 5.14.- Organigrama de supermercado.

Las entrevistas a este personal, es pieza fundamental para definir el sistema y sus interacciones con otros sistemas, y los resultados que se esperan obtener del estudio de simulacin. Para la definicin del sistema, se puede seguir con una tcnica enfocada a identificar lo siguiente:

142

Identificar las salidas del sistema. AL realizar un anlisis preliminar en el supermercado primero nos enfocaremos a descubrir los resultados que se esperan obtener del estudio , es decir determinar las salidas del sistema. Entrevistando a los gerentes de la planta cada uno expone la problemtica desde su perspectiva, entre las cuales se destacan los problemas siguientes: Utilizacin de servicios: estacionamiento, carritos, cestas, cajas. Tiempo promedio de compras. Flujo de clientes en el supermercado.

Identificar las entradas del sistema. Las entradas del sistema, estn en funcin de las salidas identificadas del sistema. Es decir los datos requeridos que sern procesados para proporcionar las salidas del sistema. Las entrevistas y los recorridos muestran el proceso que siguen los clientes desde que llegan, compran y se retiran. Identificando como variables de entrada: los tiempos entre llegadas de las clientes, los tiempos para entrar y salir del supermercado, los tiempos de seleccin de artculos, la cantidad de artculos seleccionados, los tiempos requeridos para el pago de los artculos, el tamao del estacionamiento, la cantidad de carritos y cestas, y la cantidad de cajas disponibles para realizar el pago respectivo.

143

Identificar el proceso del sistema. Al entrevistar al gerente de operaciones muestra el proceso normal del supermercado.

Llega cliente

No Hay donde estacionarse Si Se estaciona Figura 5.15.- Proceso del sistema. Se retira el cliente

Camina al super No Artculos>10 Selecciona cesta Selecciona artculos Paga en caja rpida Deja cesta

Si Camina al auto Selecciona carrito Selecciona artculos

Paga en caja normal

Camina al auto

Deja carrito

Se retira el cliente

El supermercado cuenta con un estacionamiento. Si llega un cliente y no encuentra estacionamiento se retira del supermercado sin comprar. Los clientes que logran estacionarse caminan desde el estacionamiento hasta la tienda. Dependiendo de la cantidad de artculos los clientes, utilizan una cesta o un carrito. El tiempo de la compra depende de la cantidad de artculos comprados. Los clientes seleccionan los artculos y se forman en una de las lneas de espera para pagar en la caja elegida (usualmente la que tiene menor fila). Los clientes que compran menos de 10 artculos pueden seleccionar una caja rpida. El tiempo de pago est en funcin de los artculos y de la forma de pago. El cliente despus de pagar camina hacia su auto estacionado,

144

carga sus artculos al auto y abandona el estacionamiento. Se cuenta con la poltica de no permitir que salgan las cestas del supermercado. 5.1.3.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, sus relaciones lgicas y los diagramas de flujo que describan en forma completa al modelo.

Tiempo entre llegadas de los clientes

Capacidad en estacionamiento

Se estaciona Utilizacin de servicios

Entra al super Tiempo de entrar y salir del super

Sel carrito o cesta Sel artculos

Tiempo prom de compra

Capacidad de cestas y carritos

Paga en caja Sel de art y tiempo transcurrido Sale del super Capacidad de cajas y tiempo Proceso de simulacin

Flujo de clientes

Figura 5.16.- Formulacin del modelo.

5.1.3.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.

El supermercado cuenta con estadsticas resultado de estudios realizados previamente, los cuales se muestran a continuacin: Tiempo entre llegadas de los clientes. El tiempo entre llegadas de los clientes tiene un comportamiento exponencialmente distribuido. La primera media hora (0-30 min) tiene una tasa de 600 clientes x hora, la siguiente hora (30-90 min) arriban 900 clientes

145

, la siguiente hora (90-150) arriban 450 y despus (150-adelante) se mantiene una tasa de 300 clientes x hora. Definiendo la variable aleatoria utilizando los datos mencionados anteriormente, y calculando con unidades de tiempo en dcimas de segundo (36000 decimas de segundo= 1 hora).
Tiempo Clculo Variable aleatoria

0 -30 minutos 30-90 minutos 90-150 minutos 150 minutos-en adelante

36000 /600=60 36000/900=40 36000/450=80 36000/300=120

Exponencial(0,60) Exponencial(0,40) Exponencial(0,80) Exponencial(0,120)

Estacionamiento. El estacionamiento tiene una capacidad de 650 lugares para estacionarse. Aquellos clientes que no consiguen estacionarse, se retiran sin realizar compra alguna. Tiempos para entrar y salir del supermercado. El cliente una vez que se estaciona tarda un promedio de 60 segundos para entrar al supermercado, y cuando sale del supermercado tarda un tiempo de 60 segundos para llegar al auto. Aquellos clientes que salen con carrito, lo dejan abandonado el carrito en el estacionamiento. Cantidad de artculos a comprar. El cliente que entra al supermercado usualmente compra entre 5 y 100 artculos distribuidos uniformemente. Seleccin del carrito o cesta. El cliente al entrar al supermercado dependiendo de la cantidad a comprar selecciona una cesta o un carrito. Si compran ms de 10 artculos seleccionan un carrito, de lo contrario seleccionan una cesta. Se cuenta con una capacidad de 650 carritos y 70 cestas. Tiempo de seleccin de los artculos a comprar. El cliente tarda aproximadamente 10 segundos en la seleccin de un artculo. Tiempo para el pago de los artculos (cajas). El cliente una vez que finaliza la seleccin de los artculos a comprar se forma en la fila que contiene el menor nmero de personas para realiza el pago en las cajas destinadas a ello. Se cuenta con una caja rpida para aquellos que traen 10 o menos artculos, pero tambin existen 17 cajas normales. El tiempo para realizar el pago est en funcin de la cantidad de artculos y la forma de pago correspondiente. Se tarda dos segundos por cada artculo y dependiendo de la forma de pago se tarda 25 segundos (efectivo), 30 (cheque), o 35 segundos para pago con tarjeta de crdito.

146

5.1.3.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.

Se utiliza el lenguaje GPSS para construir el modelo de simulacin.

GENERATE (EXPONENTIAL(1,0,60)),,,300 GENERATE (EXPONENTIAL(1,0,40)),,18000,900 GENERATE (EXPONENTIAL(1,0,80)),,54000,450

TRANSFER BOTH,,BYE

TERMINATE

GENERATE (EXPONENTIAL(1,0,120)),,90000

ENTER PARK ARTS <= 10 ADVANCE 600 F SAVEVALUE CLTES+,1 QUEUE QCARRITO ASSIGN ARTS,V$QTY ENTER CARRITO ASSIGN FPAGO,V$FORMA DEPART QCARRITO ASSIGN CARGA,CARRITO

V QUEUE QCESTA ENTER CESTA DEPART QCESTA

ASSIGN CARGA, CESTA

Figura 5.17.- Diagrama de bloques 1/2.

147

A
ASSIGN ARTS,V$QTY ADVANCE V$TSELE QUEUE QRAPIDA SEIZE CRAPIDA DEPART QRAPIDA ASSIGN FPAGO,V$FORMA ADVANCE V$TPAGO RELEASE CRAPIDA LEAVE P$CARGA TABULATE HARTS TABULATE HTIME SAVEVALUE CLTES-,1 ADVANCE 600 LEAVE PARK TERMINATE

B
ASSIGN ARTS,V$QTY ADVANCE V$TSELE SELECT MIN NORMAL,CINICIAL,CFINAL,,Q QUEUE P$CNORMAL SEIZE P$CNORMAL DEPART P$CNORMAL ASSIGN FPAGO,V$FORMA ADVANCE V$TPAGO RELEASE P$CNORMAL TABULATE HARTS TABULATE HTIME SAVEVALUE CLTES-,1 ADVANCE 600 LEAVE P$CARGA LEAVE PARK TERMINATE GENERATE 600

TABULATE HCLTES

TERMINATE 1

Figura 5.18.- Diagrama de bloques 2/2.

148

Cdigo GPSS.
PARK CESTA STORAGE 650 STORAGE 70 ;Estacionamiento con capacidad de 650 lugares ;Capacidad de cestas=70 ;Capacidad de carritos=650 ;Genera cantidad de artculos a comprar por el cliente ;Genera tiempo de seleccin = ARTS * 100 ;Genera forma de pago ;Genera tiempo de pago ;Histograma de clientes ;Histograma de artculos comprados ;Histograma de tiempo transcurrido x clte

CARRITO STORAGE 650 QTY TSELE FORMA TPAGO HCLTES HARTS HTIME INITIAL VARIABLE (RN1@96+5) VARIABLE P$ARTS #100 VARIABLE (RN1@3+1) # 50+200 VARIABLE (P$ARTS)#20+P$FPAGO TABLE X$CLTES,100,50,12 TABLE P$ARTS,10,10,10 TABLE M1,10000,10000,7 X$CLTES,0

CINICIAL EQU 1 CFINAL EQU 17 GENERATE (EXPONENTIAL(1,0,60)),,,300 TRANSFER,INICIO GENERATE (EXPONENTIAL(1,0,40)),,18000,900 TRANSFER,INICIO GENERATE (EXPONENTIAL(1,0,80)),,54000,450 TRANSFER,INICIO GENERATE (EXPONENTIAL(1,0,120)),,90000 TRANSFER,INICIO INICIO TRANSFER BOTH,,BYEF ENTER PARK SAVEVALUE CLTES+,1 ASSIGN ARTS,V$QTY TEST LE P$ARTS,10,MASD10 QUEUE QCESTA ENTER CESTA DEPART QCESTA ASSIGN CARGA,CESTA ADVANCE V$TSELE ;CARGA=CESTA ;Selecciona los artculos ;Utiliza cesta ;CLTES=CLTES + 1 ;ARTS=QTY()

149

QUEUE QRAPIDA SEIZE CRAPIDA DEPART QRAPIDA ASSIGN FPAGO,V$FORMA ADVANCE V$TPAGO RELEASE CRAPIDA LEAVE P$CARGA TABULATE HARTS TABULATE HTIME SAVEVALUE CLTES-,1 ADVANCE 600 LEAVE PARK TRANSFER,BYER MASD10 QUEUE QCARRITO ENTER CARRITO DEPART QCARRITO ASSIGN CARGA,CARRITO ASSIGN ARTS,V$QTY ADVANCE V$TSELE PNORMAL SELECT MIN CNORMAL,CINICIAL,CFINAL,,Q QUEUE P$CNORMAL SEIZE P$CNORMAL DEPART P$CNORMAL ASSIGN FPAGO,V$FORMA ADVANCE V$TPAGO RELEASE P$CNORMAL TABULATE HARTS TABULATE HTIME SAVEVALUE CLTES-,1 ADVANCE 600 LEAVE P$CARGA LEAVE PARK BYEN TERMINATE ;FPAGO=FORMA() ;CARGA=CARRITO ;ARTS=QTY() ;Selecciona los articulos ;Utiliza carrito ;FPAGO=FORMA()

150

BYER BYEF

TERMINATE TERMINATE GENERATE 600 TABULATE HCLTES TERMINATE 1 START 180 Tabla 5.4.- Cdigo GPSS para el diagrama de bloques de la figura 5.17 y 5.18

Reporte de resultados.

151

152

Figura 5.19.- Reporte de resultados.

153

Interpretacin de los resultados para verificacin. La simulacin del funcionamiento del supermercado se realiz para las primeras tres horas de operacin. (108000 dcimas de segundo). Llegaron 1812 clientes (300+900+450+162) de los cuales todos encontraron lugar para estacionar su vehculo. En esas tres horas, compraron 1400 clientes (1280 clientes 10 artculos, y 120 clientes < 10 artculos). En promedio se tuvo 356.8 clientes en el supermercado, seleccionando un promedio de 46.72 artculos y tardando un promedio de compra de 35 minutos (21158.8 dcimas de segundo). Al momento de finalizar la simulacin se encontraban 42 clientes (41+1) seleccionando artculos y 346 clientes se encontraban haciendo filas en las cajas normales, y 18 clientes pagando (17 clientes 10 artculos, y 1 clientes < 10 artculos). 7 clientes saliendo de la tienda (6 clientes 10 artculos, y 1 cliente < 10 artculos). El comportamiento de las cajas normales (de la 1 a la 17) muestran un promedio de 15 personas en cada fila, esperando para pagar, con un pico mximo de 25 personas, y slo el 1% han logrado pagar sin hacer fila. La caja que tiene el mayor promedio de espera es de 30 minutos (18321 dcimas de segundo), y las dems tienen un comportamiento parecido. El comportamiento en la caja rpida muestra un promedio de 0.5 personas esperando para pagar, con un pico mximo de 5 personas, y ms del 39% han logrado pagar sin hacer fila. La caja tiene un promedio de espera de menos de un minuto (475.55 dcimas de segundo). Para utilizar las cestas y los carritos no tuvieron que hacer fila los clientes, el mximo nmero de cestas utilizadas fue de 8 de las 70 disponibles. El mximo nmero de carritos utilizados fue de 516 de los 650 disponibles. El porcentaje de utilizacin de las cestas fue de 2.7% y el porcentaje de utilizacin de los carritos fue de 55.5%. El estacionamiento que tiene capacidad para 650 vehculos, el mximo nmero de lugares utilizados fue de 522, teniendo un porcentaje de utilizacin de 55.9%. Es notorio que la problemtica se centra en el servicio de las cajas normales. Para analizar su comportamiento, se realizaron corridas modificando la cantidad de cajas normales disponibles, presentando los resultados siguientes:
# Cajas disponibles Max clientes en la fila Clientes Prom en fila En espera al final de la simulacin Tiempo aproximado en la caja

17 18 19 20 21 22 23 24 25

25 16 18 17 14 11 9 8 7

15 13.1 10 9.2 7.1 5.2 3.9 3 2.4

346 271 150 108 49 11 11 10 5

30 min (18321 dcimas de segundo) 26.67 min (16004 dcimas de segundo) 23.14 min (13885 dcimas de segundo) 20.75 min (12452 dcimas de segundo) 15.99 min (9599 dcimas de segundo) 13.08 min (7850 dcimas de segundo) 9.96 min (5981 dcimas de segundo) 8.49 min (5094 dcimas de segundo) 7.13 min (4282 dcimas de segundo)

154

5.1.3.5.- VALIDAR EL MODELO.


En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los datos alimentados al modelo, siendo las formas ms comunes de validar el modelo las siguientes: 1. 2. 3. 4. La opinin de expertos sobre los resultados de la simulacin. La exactitud con que se predicen datos histricos. La exactitud en la prediccin del futuro. 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.

El gerente al validar el modelo computacional basado en su experiencia hace notar que en la realidad se presentan problemas con la disponibilidad de los carritos, y el modelo carece de una poltica de retorno para aquellos carritos que dejan en el estacionamiento. Tambin hace hincapi en la poltica que siguen los clientes al llegar a la tienda, en donde muchos de ellos abandonan al ver grandes filas en las cajas. Propone actualizar el modelo incorporando estas polticas para que el modelo se acerque ms a la realidad que se vive en el supermercado. Mejorar el servicio de cajas, es una tarea que presenta conflictos debido a los costos asumidos, propone realizar un estudio para minimizar estos costos y logrando la satisfaccin del cliente. Una vez incluidas estos ajustes en el modelo, se proceder a experimentar con el mismo, agregando el grado de complejidad del sistema incorporando una poltica de retorno de carritos, una poltica de abandono por parte del cliente cuando existen grandes filas en las cajas, y sobre todo buscar minimizar los costos en el rea de cajas. El estudio de simulacin es un proceso iterativo que ir afinando poco a poco el modelo, en la medida que vayan surgiendo variables significativas. 5.1.3.6.- EXPERIMENTAR CON EL MODELO.
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.

La experimentacin es un proceso en el cual, se realizan corridas de simulacin que reporta los resultados deseados. Una vez obtenidos se realiza un anlisis de sensibilidad para ver la relacin entre las variables, y su impacto dentro del mismo. 5.1.3.7.- INTERPRETAR LOS RESULTADOS.
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.

El objetivo de la simulacin es contar con informacin para la buena toma de decisiones. El reporte de resultados que arroja el modelo debe ser interpretado y
155

puesto en trminos que el tomador de decisiones pueda comprender, y en base a ellos fundamentar sus decisiones. Las mejoras a cualquier sistema parten de un proceso iterativo en que se incluyen nuevas variables con el fin de obtener informacin desconocida que logre comprender el comportamiento del sistema y sus repercusiones al momento de incluir o actualizar algn proceso. 5.1.3.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.

La documentacin es vital para asegurar que se pueda llevar a cabo el mantenimiento y la operacin del sistema construido. La documentacin del usuario es aquella que le permite al usuario conocer el simulador, y poder hacer uso de l. Por otro lado la documentacin tcnica est relacionada con todos los aspectos tcnicos desde su concepcin hasta su implementacin, que permiten asegurar un mantenimiento para que el sistema computacional para incluir y modificaciones que surgen a travs del tiempo.

156

A
Apndice
Distribucin Normal (Z)
Z 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 .00 .0000 .0398 .0793 .1179 .1554 .1915 .2257 .2580 .2881 .3159 .3413 .3643 .3849 .4032 .4192 .4332 .4452 .4554 .4641 .4713 .4772 .4821 .4861 .4893 .4918 .4938 .4953 .4965 .4974 .4981 .4987 .01 .0040 .0438 .0832 .1217 .1591 .1950 .2291 .2611 .2910 .3186 .3438 .3665 .3869 .4049 .4207 .4345 .4463 .4564 .4649 .4719 .4778 .4826 .4864 .4896 .4920 .4940 .4955 .4966 .4975 .4982 .4987 .02 .0080 .0478 .0871 .1255 .1628 .1985 .2324 .2642 .2939 .3212 .3461 .3686 .3888 .4066 .4222 .4357 .4474 .4573 .4656 .4726 .4783 .4830 .4868 .4898 .4922 .4941 .4956 .4967 .4976 .4982 .4987 .03 .0120 .0517 .0910 .1293 .1664 .2019 .2357 .2673 .2967 .3238 .3485 .3708 .3907 .4082 .4236 .4370 .4484 .4582 .4664 .4732 .4788 .4834 .4871 .4901 .4925 .4943 .5957 .4968 .4977 .4983 .4988 .04 .0160 .0557 .0948 .1331 .1700 .2054 .2389 .2703 .2995 .3264 .3508 .3729 .3925 .4099 .4251 .4382 .4495 .4591 .4671 .4738 .4793 .4838 .4875 .4904 .4927 .4945 .4959 .4969 .4977 .4984 .4988 .05 .0199 .0596 .0987 .1368 .1736 .2088 .2422 .2734 .3023 .3289 .3531 .3749 .3944 .4115 .4265 .4394 .4505 .4599 .4678 .4744 .4798 .4842 .4878 .4906 .4929 .4946 .4960 .4970 .4978 .4984 .4989 .06 .0239 .0636 .1026 .1406 .1772 .2123 .2454 .2764 .3051 .3315 .3554 .3770 .3962 .4131 .4279 .4406 .4515 .4608 .4686 .4750 .4803 .4846 .4881 .4909 .4931 .4948 .4961 .4971 .4979 .4985 .4989 .07 .0279 .0675 .1064 .1443 .1808 .2157 .2486 .2794 .3078 .3340 .3577 .3790 .3980 .4147 .4292 .4418 .4525 .4616 .4693 .4756 .4808 .4850 .4884 .4911 .4932 .4949 .4962 .4972 .4979 .4985 .4989 .08 .0319 .0714 .1103 .1480 .1844 .2190 .2517 .2833 .3106 .3365 .3599 .3810 .3997 .4162 .4306 .4429 .4535 .4625 .4699 .4751 .4812 .4854 .4887 .4913 .4934 .4951 .4963 .4973 .4980 .4986 .4989 .09 .0359 .0753 .1141 .1517 .1879 .2224 .2549 .2852 .3133 .3389 .3621 .3830 .4015 .4177 .4319 .4441 .4545 .4633 .4706 .4767 .4817 .4857 .4890 .4916 .4936 .4952 .4964 .4974 .4981 .4986 .4990

157

Distribucin chi-cuadrada ( )
\ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 30 40 50 60 70 80 90 100 0.995 0.00 0.01 0.07 0.21 0.41 0.68 0.99 1.34 1.73 2.16 2.60 3.07 3.57 4.07 4.60 5.14 5.70 6.26 6.84 7.43 10.52 13.79 20.71 27.99 35.53 43.28 51.17 59.20 67.33 0.990 0.00 0.02 0.11 0.30 0.55 0.87 1.24 1.65 2.09 2.56 3.05 3.57 4.11 4.66 5.23 5.81 6.41 7.01 7.63 8.26 11.52 14.95 22.16 29.71 37.48 45.44 53.54 61.75 70.06

0.975 0.00 0.05 0.22 0.48 0.83 1.24 1.69 2.18 2.70 3.25 3.82 4.40 5.01 5.63 6.27 6.91 7.56 8.23 8.91 9.59 13.12 16.79 24.43 32.36 40.48 48.76 57.15 65.65 74.22

0.950 0.00 0.10 0.35 0.71 1.15 1.64 2.17 2.73 3.33 3.94 4.57 5.23 5.89 6.57 7.26 7.96 8.67 9.39 10.12 10.85 14.61 18.49 26.51 34.76 43.19 51.74 60.39 69.13 77.93

0.500 0.45 1.39 2.37 3.36 4.35 5.35 6.35 7.34 8.34 9.34 10.34 11.34 12.34 13.34 14.34 15.34 16.34 17.34 18.34 19.34 24.34 20.34 39.34 49.33 59.33 69.33 79.33 89.33 99.33

0.050 3.84 5.99 7.81 9.49 11.07 12.59 14.07 15.51 16.92 18.31 19.68 21.03 22.36 23.68 25.00 26.30 27.59 28.87 30.14 31.41 37.65 43.77 55.76 67.50 79.08 90.53 101.88 113.14 124.34

0.25 5.02 7.38 9.35 11.14 12.83 14.45 16.01 17.53 19.02 20.48 21.92 23.34 24.74 26.12 27.49 28.85 30.19 31.53 32.85 34.17 40.65 46.98 59.34 71.42 83.30 95.02 106.63 118.14 129.56

0.010 6.63 9.21 11.34 13.28 15.09 16.81 18.48 20.09 21.67 23.21 24.72 26.22 27.69 29.14 30.58 32.00 33.41 34.81 36.19 37.57 44.31 50.89 63.69 76.15 88.38 100.42 112.33 124.12 135.81

0.005 7.88 10.60 12.84 14.86 16.75 18.55 20.28 21.96 23.59 25.19 26.76 28.30 29.82 31.32 32.80 34.27 35.72 37.16 38.58 40.00 46.93 53.67 66.67 79.49 91.95 104.22 116.32 128.30 140.17

158

Tabla K-S (,
n\ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 25 30 35 40 50 60 70 80 90 100 n > 100

10% 0.950 0.776 0.642 0.564 0.510 0.470 0.438 0.411 0.388 0.368 0.352 0.338 0.352 0.314 0.304 0.295 0.286 0.278 0.272 0.264 0.240 0.220 0.210

5% 0.975 0.842 0.708 0.624 0.563 0.521 0.486 0.457 0.432 0.409 0.391 0.375 0.361 0.349 0.338 0.328 0.318 0.309 0.301 0.294 0.264 0.242 0.230 0.210 0.118 0.172 0.160 0.150 0.141 0.134

1% 0.995 0.929 0.829 0.734 0.669 0.618 0.577 0.543 0.514 0.486 0.468 0.450 0.433 0.418 0.404 0.392 0.381 0.371 0.363 0.352 0.317 0.290 0.270 0.252 0.226 0.207 0.192 0.180
1.22/

1.22/

1.36/

159

B
Apndice
El lenguaje GPSS, consiste de un conjunto de instrucciones que se describen a detalle en este apndice. Las instrucciones estn clasificadas como instrucciones de definicin de variables, instrucciones para la lgica del programa, y las instrucciones para el control de la simulacin. Por ltimo se muestra una descripcin de la estructura del reporte de resultados de la simulacin, para su fcil comprensin. B.1.- INSTRUCCIONES PARA LA DEFINICIN DE VARIABLES.
Instruccin EQU FUNCTION FVARIABLE INITIAL MATRIX STORAGE TABLE VARIABLE Descripcin Asignacin numrica de variables. Definicin de funciones. Definicin de operaciones. Inicializacin de variables. Definicin de matrices. Definicin de nmero de servidores. Definicin de histogramas. Definicin de operaciones.

Instruccin EQU. Evalua una expresin y asigna el resultado a una variable.


Sintaxis.

NOMBRE EQU A
Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A

Descripcin Nombre de la variable. Se declara el nombre de la variable que almacena el valor de la expresin declarada en el operando A. Es una etiqueta requerida. Es una expresin. Es un operando requerido, que debe ser una expresin.

160

Instruccin FUNCTION. Define las reglas de bsqueda de datos en una tabla. Existen varios tipos de funciones. La tipo C es un caso especial que busca el valor en la tabla, seguida de una interpolacin lineal. El uso de esta instruccin para definir distribuciones de probabilidad ha sido reemplazada por una librera predefinida distribuciones de probabilidad.
Sintaxis.

NOMBRE FUNCTION A,B


Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A B

Descripcin Es un nombre de la entidad a representar. Es una etiqueta que declara el nombre de la funcin. Es una etiqueta requerida. Es un argumento de la funcin. Este operando requerido y debe ser un nombre, un nmero entero, string, expresin, o SN. Funcin. Es un operando requerido el cual es declarada mediante el tipo de la funcin (una letra) , seguida inmediatamente de pares de datos.

Tipos de funciones. Letra C D E L M Descripcin Describe una funcin continua. Describe una funcin discreta. Describe una funcin discreta basada en atributos. Describe una funcin basada en una lista. Describe una funcin basada en una lista de atributos.

Instruccin FVARIABLE. Utilizada para definir variables que almacenan nmeros reales (punto flotante), resultado de una operacin aritmtica.
Sintaxis.

NOMBRE FVARIABLE A
Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A

Descripcin Es un nombre de la entidad a representar. Es requerido. Es una expresin aritmtica. Es requerida.

Instruccin INITIAL. Inicializa entidades especiales (Matrix, Logicswith, Savevalue, un elemento de Matrix).
Sintaxis.

INITIAL A,B
Etiqueta/Operandos:

Etiqueta/Operando A

Descripcin Es un Logicswitch, Savevalue o un elemento de Matrix expresado como SNA, o el nombre de la entidad Matrix. El operando A debe tener la forma de una clase LS, X, o MZ. o el nombre de una matriz. Es requerido, y el operando debe ser un nombre, un LSPosInteger, LS$Name, XPosInteger, X$Name, MXPosInteger(m,n) or MX$Name(m,n). Coordinates (m,n) debe ser un nombre o un numero entero positivo.. Es el valor a ser asignado o puede ser omitido. Es un operando opcional con valor predeterminado de 1. El operando debe ser nulo, nmero, string, nombre o no especificado.

161

Instruccin MATRIX. Define una entidad de tipo Matrix.


Sintaxis.

NOMBRE MATRIX A,B,C,D,E,F,G


Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A B C D E F G

Descripcin Nombre de la entidad. Es requerido. El operando debe ser un nombre. Operando no utilizado. Asegura la compatibilidad con versiones anteriores. Nmero elementos en la primera dimensin de la matriz (renglones). Es un operando requerido, y debe ser un nmero entero positivo. Nmero de elementos de la segunda dimensin de la matriz (columnas). Es un operando requerido, y debe ser un nmero entero positivo. Nmero de elementos en la tercera dimensin de la matriz. Es un operando opcional, y debe ser un nmero entero positivo. Nmero de elementos en la cuarta dimensin de la matriz. Es un operando opcional, y debe ser un nmero entero positivo. Nmero de elementos en la quinta dimensin de la matriz. Es un operando opcional, y debe ser un nmero entero positivo. Nmero de elementos en la sexta dimensin de la matriz. Es un operando opcional, y debe ser un nmero entero positivo.

Instruccin STORAGE. Define la cantidad mxima de servidores.


Sintaxis.

NOMBRE STORAGE A
Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A

Descripcin Es el nombre de la entidad servidor. Es un operando requerido, y debe ser el nombre de la entidad de servicio. Capacidad mxima de servidores. Es un operando requerido, y debe ser un nmero entero positivo.

Instruccin TABLE. Inicializa una tabla de distribucin de frecuencias (histograma).


Sintaxis.

NOMBRE TABLE A,B,C,D


Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A

B C D

Descripcin Es el nombre de la entidad histograma. Es una etiqueta requerida, y debe ser el nombre. Este nombre est limitado a 32 caracteres. Es el argumento de la tabla. Es un operando opcional. Es el dato a ser tabulado en el histograma. Este operando debe ser un nombre, nmero, string, expresin, o SNA. Es ignorado por ANOVA (anlisis de varianza), pero debe ser especificado cuando se utiliza el bloque TABULATE. Lmite superior del primer intervalo. Es el argumento mximo que causa que el primer intervalo sea actualizado. Este operando es requerido, y debe ser un nmero o un string. Tamao del intervalo. Es la diferencia entre el lmite superior y el lmite inferior del intervalo. Es un operando requerido. Este operando debe ser un nmero o un string. Nmero de intervalos. Es un operando requerido, y debe ser un nmero entero positivo.

162

Instruccin VARIABLE. Utilizada para definir variables, resultado de una operacin aritmtica.
Sintaxis.

NOMBRE VARIABLE A
Etiqueta/Operandos:

Etiqueta/Operando NOMBRE A

Descripcin Es el nombre de la variable. Es una etiqueta requerida, y debe ser el nombre Es una expresin. Es un operando requerido. Debe ser una expresin.

B.2.- Instrucciones para la lgica del programa.


Instruccin ADVANCE ASSEMBLE ASSIGN BUFFER DEPART ENTER GATE GATHER GENERATE INDEX LEAVE LINK LOGIC LOOP MATCH MSAVEVALUE PREEMPT PRIORITY QUEUE RELEASE RETURN SAVEVALUE SEIZE SELECT SPLIT TABULATE TERMINATE TEST TRANSFER UNLINK Descripcin Simula un tiempo de retardo en la transaccin. Espera y destruye las transacciones relacionadas. Asigna o actualiza un parmetro de la transaccin. Coloca a la transaccin activa en una cadena de eventos actuales. Simula la salida de un almacn. Simula la captura de un servidor o servidores. Altera el flujo de la transaccin en base un estado de la entidad. Una transaccin espera a una transaccin relacionada. Simulacin de entrada de transacciones al sistema. Actualiza un parmetro de la transaccin activa. Simula la desocupacin de un servidor o servidores. Coloca la transaccin activa en un lugar dentro una cadena de usuario usando PEPS (primera entrada, primeras salida) , o UEPS (ltima entrada, primera salida). Actualiza el estado de una entidad tipo Logicswitch. Modifica un parmetro y controla el destino de una transaccin activa, basado en el resultado. Simula la espera de una transaccin la llegada de otra transaccin. Actualiza un elemento de una matriz. Desplaza una transaccin a diferentes servidores. Asigna una prioridad a la transaccin activa. Simula la entrada de un almacn. Libera un facilitador (servidor unitario). Libera el facilitador que es propiedad de una transaccin. Actualiza el valor de la entidad Savevalue. Captura un facilitador (servidor unitario). Selecciona una entidad y coloca un nmero de entidad dentro del parmetro de la transaccin activa. Reproduce transacciones, con las mismas caractersticas de la transaccin padre. Tabula datos en un histograma. Simula la salida de transacciones del sistema. Compara valores y controla el destino de la transaccin activa. Transfiere la transaccin activa a otra parte del programa. Retira la transacciones de una cadena del usuario.

163

Instruccin ADVANCE. Simula un tiempo de retardo en la transaccin. instruccin GENERATE crea transacciones que entran al proceso de simulacin. Se puede considerar a este bloque como una puerta a travs de la cual entran las transacciones al sistema. No existe restriccin de la cantidad de bloques GENERATE que pueda contener un modelo de simulacin.
Sintaxis.

ADVANCE A,B
Operandos.

Operando A B

Descripcin Tiempo promedio (media) de retardo.. Es un operando requerido. Este operando debe ser un nombre, string, expresin, o nmero. Desviacin con respecto a la media. Es un operando opcional. Este operando debe ser nombre, string, expresin, nmero, SNA o nulo. El valor predeterminado es igual a 0.

Instruccin ASSEMBLE. Simula la espera y la destruccin de transacciones relacionadas.


Sintaxis.

ASSEMBLE A
Operandos.

Operando A

Descripcin Contador de transacciones. Es un operando requerido. Este operando debe ser un nombre, entero positivo, expresin, o SNA.

Instruccin ASSIGN. Asigna o actualiza un parmetro de la transaccin.


Sintaxis.

ASSIGN A,B,C
Operandos.

Operando A B C

Descripcin Nmero de parmetro de la transaccin activa. Es un operando requerido. Este operando debe ser nombre, entero positivo, expresin, SNA, o nulo. Valor. Es un operando requerido. Este operando debe ser nombre, nmero, string, expresin o SNA. Nmero de funcin. Es un operando opcional. Este operando debe ser nulo, nombre, entero positive, expresin o SNA.

Instruccin BUFFER. Coloca a la transaccin activa en una cadena de eventos actuales.


Sintaxis.

BUFFER
Operandos.

Sin operandos.

164

Instruccin DEPART. Simula la salida de un almacn. Este bloque registra estadsticas que indican la salida del almacn (cola). Este es el punto de finalizacin para la toma de estadsticas de las colas que se formaron. El bloque DEPART se utiliza como complemento del bloque QUEUE (entrada al almacn).
Sintaxis.

DEPART A,B
Operandos.

Operando A B

Descripcin El nombre del cola (almacn). Es un operando requerido. Este operando debe ser un nombre, un entero positivo, expresin o SNA. Nmero de unidades a salir de la cola (almacn). Es un operando opcional. De forma predeterminada tiene asignado el valor de 1. Este operando debe ser nulo, nombre, entero positivo, string, expression, o SNA.

Instruccin ENTER. Simula la captura de un servidor o servidores. La transaccin deber esperar en este bloque hasta que un servidor est disponible para que la transaccin sea atendida capturando la atencin del servidor. La instruccin LEAVE se utiliza complemento para liberar el servidor ocupado. Estos servidores deben ser definidos utilizando la instruccin STORAGE.
Sintaxis.

ENTER A,B
Operandos.

Operando A B

Descripcin Nombre del servidor. Es un operando requerido. Este operando debe ser un nombre, nmero entero positivo, expresin, o un SNA. Nmero de servidores a ocupar. El operando es opcional, con un valor predeterminado de 1. Este operando debe ser nulo, nombre, numero entero positivo, expresin o un SNA.

Instruccin GATE. Altera el flujo de la transaccin en base un estado de la entidad.


Sintaxis.

GATE O A,B
Operandos.

Operando O

A B

Descripcin Es un operador condicional. Es la condicin requerida de la entidad para ser probada como una prueba exitosa. Es un operador requerido, y debe ser FNV, FV, I, LS, LR, M, NI, NM, NU, SE, SF, SNE, SNF, SNV, SV, o U. El nombre o nmero de la entidad a ser probada. El tipo de entidad es implicada por el operador condicional. Este operando debe ser nombre, nmero entero positivo, expresin, o SNA. Nmero de bloque destino cuando la prueba no es exitosa. El operando es opcional, y este operando debe ser nulo, nombre, entero positivo, expresin o SNA.

Operadores condicionales. Operador FNV FV I LS LR M NI NM NU SE Descripcin Servidor descrito en el operando A no se encuentra disponible. (Facility not available). Servidor descrito en el operando A se encuentra disponible (Facility available). El servidor descrito en el operando A debe ser interrumpido. (Interrupt). El logicswitch descrito en el operando A es puesto en estado set. (Logic set). El logicswitch descrito en el operando A es puesto en estado reset. (Logic reset). El bloque match descrito en el operando A, tiene una transaccin en espera condicional. (Match). Servidor descrito en el operando A no debe ser interrumpido. (Not interrupt). EL bloque match descrito en el operando A, no tiene una transaccin en espera condicional. (Not match). El servidor descrito en el operando A no debe ser utilizado para la prueba. El almacenamiento descrito en el operando A debe estar vacio. (Storage empty).

165

SF SNE SNF SNV SV U

El almacenamiento descrito en el operando A debe estar lleno. (Storage full). El almacenamiento descrito en el operando A no debe estar vacio. (Storage not empty). El almacenamiento descrito en el operando A no debe estar lleno. (Storage not full). El almacenamiento descrito en el operando A no est disponible (Storage not available). El almacenamiento descrito en el operando A est disponible (Storage available). El servidor descrito en el operando A est en uso (Use).

Instruccin GATHER. Una transaccin espera a una transaccin relacionada. Se encarga de sincronizar las transacciones pertenecientes al mismo conjunto de ensamble.
Sintaxis.

GATHER A
Operandos.

Operando A

Descripcin Contador de transacciones.- Operando requerido que debe ser nombre, nmero entero positivo, expresin o SNA.

Instruccin GENERATE. La instruccin GENERATE crea transacciones que entran al proceso de simulacin. Se puede considerar a este bloque como una puerta a travs de la cual entran las transacciones al sistema. No existe restriccin de la cantidad de bloques GENERATE que pueda contener un modelo de simulacin. La instruccin GENERATE se utiliza con su complemento TERMINATE.
Sintaxis.

GENERATE A,B,C,D,E
Operandos.

Operando A B C D E

Descripcin Tiempo promedio (media) entre llegadas. Es un operando opcional. Este operando debe ser un nombre, string, expresin, nmero, SNA o nulo. El valor predeterminado es igual a 0. Desviacin con respecto a la media. Es un operando opcional. Este operando debe ser nombre, string, expresin, nmero, SNA o nulo. El valor predeterminado es igual a 0. Tiempo en que se generar la primera transaccin. Es un operando opcional. Este operando debe ser nombre, string, expresin, nmero, SNA o nulo. El valor predeterminado es igual al operando A. Lmite de generacin de transacciones. Es un operando opcional. Este operando debe ser nombre, string, expresin, nmero entero positivo, SNA o nulo. El valor predeterminado es igual a infinito. Nivel de prioridad. Es un operando opcional. Este operando debe ser nombre, string, expresin, nmero entero, SNA o nulo. El valor predeterminado es igual a 0.

Instruccin INDEX. Actualiza un parmetro de la transaccin activa.


Sintaxis.

INDEX A,B
Operandos.

Operando A B

Descripcin Nmero del parmetro. Es un parmetro con un valor. Este operando es requerido, y debe ser nombre, nmero entero positivo, expresin o SNA. Valor numrico. Es un nmero que ser agregado al contenido del parmetro. Este operando debe ser nombre, nmero, expresin o SNA.

166

Instruccin LEAVE. Simula la desocupacin de un servidor o servidores.


Sintaxis.

LEAVE A,B
Operandos.

Operando A B

Descripcin Nombre del servidor. Es un operand requerido, y debe ser nombre, nmero entero positivo, expresin o SNA. Nmero de servidores a desocupar. Es un operando opcional, con un valor predeterminado de 1. Este operando debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin LINK. Coloca la transaccin activa en un lugar dentro la cadena usando FIFO (primera entrada, primeras salida) , o LIFO (ltima entrada, primera salida).
Sintaxis.

LINK A,B,C
Operandos.

Operando A B C

Descripcin Nmero de la cadena de usuario. Es la entidad cadena la cual recibe la transaccin entrante. Es un operando requerido, y debe ser un nombre, nmero entero positivo, expresin, o SNA. Orden de la cadena. Es la poltica para agregar transacciones a la cadena. Este operando es requerido y debe ser LIFO (ltima entrada, primera salida), FIFO (Primera entrada, primera salida). Localizacin del prximo bloque. Es la instruccin bloque destino para que las transacciones que sean encontradas con el indicador Link de la cadena dentro del estado apagado (reset). Este operando es opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin LOGIC. Actualiza el estado de una entidad tipo Logicswitch.


Sintaxis.

LOGIC O A
Operandos.

Operando O A

Descripcin Operador lgico. Es un operador requerido, y debe ser S (Set), R (Reset), o I (Inverted). Entidad logicswitch. Es un operando requerido que debe ser nombre, nmero entero positivo, expresin, o SNA.

167

Instruccin LOOP. Modifica un parmetro y controla el destino de una transaccin activa, basado en el resultado.
Sintaxis.

LOOP A,B
Operandos.

Operando A B

Descripcin Prametro que contiene el contador. Es un operando requerido, y debe ser nombre, nmero entero positivo, expresin o SNA. Etiqueta del bloque a transferir la transaccin. Decrementa en 1 al contador, si es diferente de cero ir al bloque especificado en este operando; de lo contrario procede la transaccin al siguiente bloque. Este operando es opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin MATCH. Simula la espera de una transaccin la llegada de otra transaccin. Un par de bloques MATCH provoca que las transacciones del mismo conjunto de ensamble se esperen una a la otra.
Sintaxis.

MATCH A,B,C,D
Operandos.

Operando A

Descripcin Etiqueta de bloque a transferir la transaccin. Conjuga comparando con el conjunto de ensamble. Es un operando requerido y debe ser nombre, nmero entero positive, expresin o SNA.

Instruccin MSAVEVALUE. Actualiza un elemento de una matriz.


Sintaxis.

MSAVEVALUE A,B,C,D
Operandos.

Operando A B C D

Descripcin Nombre de la matriz seguido opcionalmente por un + (Incrementa), o (decrementa). Es un operando rquerido que debe ser nombre, nmero entero positivo, expresin o SNA. Nmero de rengln de la matriz. Es un operando requerido que debe ser nombre, nmero entero positivo, expresin o SNA. Nmero de columna de la matriz. Es un operando requerido que debe ser nombre, nmero entero positivo, expresin o SNA. Valor a actualizar. Es un operando requerido que debe ser nombre, nmero entero positivo, expresin o SNA.

168

Instruccin PREEMPT. Desplaza una transaccin a diferentes servidores.


Sintaxis.

PREEMPT A,B,C,D,E
Operandos.

Operando A B C D

Descripcin Nombre o nmero del servidor. Es un operando requerido que debe ser nombre, nmero entero positive, expresin o SNA. Modo de prioridad. Es un operando opcional. PR es utilizado para la modalidad de prioridad. Si no se declara funciona com el modo de interrupcin. Nombre o nmero de bloque. Es el nuevo destino de la transaccin que actualmente es duea del servidor. Es un operando opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA. Nmero de parmetro. Es el parmetro de la transaccin removida para recibir el tiempo residual si la transaccin es removida de FEC. Es un operando opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA. Modo de remover. Remueve la transaccin del contenedor del servidor. Es un operand opcional, y debe ser RE o nulo. Si se especifica RE se debe especificar el destino en el operando C.

Instruccin PRIORITY. Asigna una prioridad a la transaccin activa.


Sintaxis.

PRIORITY A,B
Operandos.

Operando A B

Descripcin Valor de la prioridad. Es un operando requerido, y debe ser nombre, entero, string, expresin o SNA. Opcin de buffer. Es un operando opcional. Este operando debe ser BU.

Instruccin QUEUE. Simula la entrada de un almacn. Para cada bloque QUEUE, se requiere un bloque DEPART (simula la salida del almacn). Este bloque se utiliza para obtener estadsticas en el reporte de resultados que permiten ilustrar el tiempo de espera que realizan las transacciones para capturar la atencin de un servidor. Este bloque QUEUE se debe complementar con el bloque DEPART. Se puede visualizar al bloque QUEUE como el punto de inicio de la lnea de espera (Cola) para la toma de datos estadsticos.
Sintaxis.

QUEUE A,B
Operandos.

Operando A B

Descripcin Nombre o nmero de la cola (almacn). Es un operando requerido, que debe ser nombre, nmero entero positivo, expresin o SNA. Nmero de unidades que entran a la cola (almacn). El valor predeterminado es 1. Es un operand opcional que debe ser nulo, nombre, nmero entero positive, expresin, o SNA.

169

Instruccin RELEASE. Libera un facilitador (servidor unitario). Permite simular la liberacin del servidor, proceso o instalacin que haba sido capturado anteriormente con el bloque SEIZE.
Sintaxis.

RELEASE A
Operandos.

Operando A

Descripcin Nombre o nmero del facilitador (Servidor unitario). Es un operando requerido. Este operando debe ser nombre, nmero entero positivo, expresin o SNA.

Instruccin RETURN. Libera el facilitador que es propiedad de una transaccin.


Sintaxis.

RETURN A
Operandos.

Operando A

Descripcin Nombre o nmero del facilitador (Servidor unitario). Es un operando requerido. Este operando debe ser nombre, nmero entero positivo, expresin o SNA.

Instruccin SAVEVALUE. Actualiza el valor de la entidad Savevalue.


Sintaxis.

SAVEVALUE A,B
Operandos.

Operando A B

Descripcin Nombre del Savevalue opcionalmente Seguido de + (incrementar) o (decrementar). Es un operando requerido, y debe ser nombre, nmero entero positivo, expresin o SNA. Es el valor a almacenar, incrementar o decrementar. Es un operando requerido, y debe ser nombre, nmero, string, expression o SNA.

Instruccin SEIZE. Captura un facilitador (servidor unitario). Simula la captura de un servidor, proceso o instalacin. Internamente funciona con una variable interna lgica que determina si est ocupado o desocupado. Si una transaccin llega a este bloque y el facilitador est desocupado, lo pone en estado ocupado, y hasta que la transaccin pase por el bloque RELEASE, pondr de nuevo al facilitador como desocupado. El bloque SEIZE trabaja en conjunto con el bloque RELEASE.
Sintaxis.

SEIZE A
Operandos.

Operando A

Descripcin Nombre o nmero de la facilidad (servidor unitario). Es un operando requerido, que debe ser nombre, nmero entero positivo, expresin o SNA.

170

Instruccin SELECT. Selecciona una alternativa (entidad) que satisface una condicin determinada, colocando esta alternativa como parmetro de la transaccin activa.
Sintaxis.

SELECT O A,B,C,D,E,F
Operandos.

Operando O A B C D E

Descripcin Operador condicional o lgico. Es un operador requerido, siendo permitidos los siguientes: FNV, FV, I, LS, LR, NI, NU, SE, SF, SNE, SNF, SNV, SV, U, E, G, GE, L, LE, MIN, MAX, or NE. Nombre o nmero de parmetro. Que recibe el nmero de la entidad seleccionada. Es un operando requerido y debe ser nombre, nmero entero positive, expresin o SNA. El lmite inferior de la alternativa (entidad). Es un operando requerido, y debe ser nombre, nmero entero positivo, o SNA. El lmite superior de la alternativa (entidad). Es un operando requerido y debe ser nombre, nmero entero positivo, o SNA. El valor de referencia para el operando E cuando se encuentra en modo condicional. Es un operand opcional que debe ser nmero, entero positive o SNA. No debe ser utilizado con MAX o MIN. Nombre de SNA por investigar. Especifica el atributo de la entidad en el modo condicional. El tipo de SNA implica el tipo e entidad. No se debe especificar el operando E, ya que se realiza automticamente la bsqueda en el rango . Es un operando opcional que debe ser nulo o SNA. Ubicacin a la cual entrar la transaccin si se cumple la condicin. Es un operando opcional que debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin SPLIT. Reproduce transacciones, con las mismas caractersticas de la transaccin padre.
Sintaxis.

SPLIT A,B,C
Operandos.

Operando A B C

Descripcin Nmero de transacciones adicionales a crear. Nmero de transacciones relacionadas a ser creadas. Es un operando requerido y debe ser nombre, nmero entero positivo, expresin o SNA. Bloque destino. Es el bloque destino de las transacciones a crear. Este operando es opcional y debe ser nulo, nombre, nmero entero positivo, expresin o SNA. Parmetro que recibe el nmero de serie. Es un parmetro que recibir el nmero de serie. Es un operando opcional que debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin TABULATE. Tabula datos en un histograma . Este bloque se coloca para obtener una distribucin de frecuencia de los datos interesados. Este bloque hace referencia a una tabla que est definida con la instruccin TABLE la cual contiene los datos, rangos y la amplitud de la distribucin a generar. Todas las transacciones que pasan por este bloque son utilizadas para crear el histograma cuyos datos estn definidos con una tabla.
Sintaxis.

TABULATE A,B
Operandos.

Operando A B

Descripcin Nombe o nmero de una tabla. Es un operando requerido, y debe ser nombre, nmero entero positivo, expresin o SNA. Factor de peso. Es un operando opcional, y debe ser nulo, nombre, nmero, expresin o SNA.

171

Instruccin para el bloque TERMINATE. Se utiliza para remover las transacciones activas del proceso de simulacin. Se puede considerar a este bloque como una puerta a travs de la cual salen las transacciones del sistema. Esta instruccin hace lo contrario al bloque GENERATE. Opcionalmente tambin puede reducir el contador de finalizacin de la simulacin. No existe restriccin de la cantidad de bloques TERMINATE que pueda contener un modelo de simulacin (El sistema puede tener varias puertas de salida).
Sintaxis.

TERMINATE A
Operandos.

Operando A

Descripcin Cantidad decremental del contador de finalizacin. Es un operando opcional. Este operando debe ser un nombre, expresin, nmero entero positivo, SNA o nulo. El valor predeterminado es igual a 0.

Instruccin TEST. Compara valores y controla el destino de la transaccin activa. El bloque TEST es utilizado para realizar comparaciones con valores SNA, y controlar el destino de la transaccin basado en el resultado de la comparacin realizada. El bloque TEST proporciona dos modos de operacin (condicional e incondicional). En el condicional la transaccin realiza una espera hasta que una condicin se cumpla. Cumpliendo esta condicin la transaccin fluye al siguiente bloque. En el modo incondicional enva la transaccin al bloque nombrado en el operando C si la condicin no se cumple, o de lo contrario enva la transaccin al siguiente bloque.
Sintaxis.

TEST O A,B,C
Operandos.

Operando O A B C

Descripcin Operador relacional. Es un operador requerido, siendo uno de la siguiente lista: E (igual), G (mayor), GE (mayor o igual), L (menor), LE (menor o igual) , o NE (diferente). Valor de prueba. Es un operando requerido, y debe ser un nombre, nmero, string, expresin o SNA. Valor de referencia. Es un operando requerido, y debe ser nombre, nmero, string, expresin o SNA. Bloque destino. Es operando opcional y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin TRANSFER. Transfiere la transaccin activa a otra parte del programa. La instruccin TRANSFER cambia el flujo de la transaccin activa a una ubicacin determinada dentro de la lgica del programa.
Sintaxis.

TRANSFER A,B,C,D
Operandos.

Operando A B C D

Descripcin Modo de transferencia. Es un operand opcional y debe ser uno de la siguiente lista: BOTH, ALL, PICK, FN, P, SBR, SIM, fraccin, nombre, nulo o SNA. Nmero o ubicacin del bloque. Es un operando opcional, que cuando el modo es P debe ser nombre o nmero. Este operando en los dems casos debe ser nombre, nulo o SNA. Nmero o ubicacin del bloque. Debe ser el valor de increment cuando est en modo P o FN. Este operando debe ser nulo, nombre o SNA. Nmero del incremento del bloque cuando el modo es ALL. El valor predeterminado es 1. Este operando debe ser nulo, nombre o nmero entero positivo, expresin, o SNA.

172

Instruccin UNLINK. Retira las transacciones de una cadena del usuario. Este bloque es utilizado en combinacin con bloque LINK.
Sintaxis.

UNLINK O A,B,C,D,E,F
Operandos.

Operando O

A B C D

E F

Descripcin Operador relacional. Es un operador opcional que relaciona al operando D y E para que ocurra el retiro. Este operando debe ser nulo, E (igual), G (mayor), GE (mayor o igual), L (menor), LE (menor o igual) or NE (diferente). Nombre de la cadena de usuario de donde se retirarn las transacciones. Es un operando requerido y debe ser un nombre, nmero entero positivo, expresin o SNA. Bloque destino. Es un operando requerido en el cual se declara el bloque destino hacia donde se dirigirn las transacciones retiradas. Este operando debe ser nombre, nmero entero positivo, expresin, o SNA. Nmero mximo de transacciones a retirar. Es un operando opcional, que tiene como valor predeterminado ALL (todas). Este operando debe ser ALL, nulo, nombre, nmero entero positivo, o SNA. Valor de prueba. Este valor es un operando opcional utilizado para llevar a cabo la prueba, o si se utiliza BACK retira iniciando desde el final de la cadena. Este operando debe ser nulo, nombre, nmero entero positivo, expresin o SNA. Valor de referencia. Es un valor que utiliza el operando D para la comparacin. Este operando es opcional y debe ser nulo, nombre, nmero, string, expresin o SNA. Bloque destino. Es el destino para la transaccin entrante si no existe ninguna transaccin que retirar de la cadena de usuario. Este operando es opcional y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

173

Referencias bibliogrficas
Azarang Mohamad A,Garca Dunna Eduardo, Simulacin y anlisis de modelos estocsticos, 1 Edicin, McGraw-Hill, Inc., Mxico, 1996. Badri Masood A., A simulation model for multi-product inventory control management, SAGE Publications, 1999. Banks, J. & Carson, J.S., Discrete event system simulation, Prentice-Hall, Englewood Cliffs, N.J., 1984. Box George E., Hunter J. Stuart, Hunter William G., Estadstica para investigadores: diseo, innovacin y descubrimiento, 2 Edicin, Revert, Barcelona,2008. Chitale R. H., Random process, 1 Edition, Technical Publications Pune, India ,2008. Corder Gregory W., Foreman Dale I., Nonparametric statistics for Non-statisticians,Wiley & Sons,USA, 2009. Corte Gonzlez A., Inferencia estadstica bayesiana,tesis de grado en matemticas, Espaa,2013. Coss Bu,Ral, Simulacin un enfoque prctico,Limusa,Mxico,2003. Miller Irwin, Freund John E., Probabilidad y estadstica para ingenieros, 1 Edicin, Revert, Mxico, 2004. Hermann Charles F., Validation problems in games and simulations with special reference to models of international politics,Behavioral Science volume 12,1967 Hillier F., Lieberman G., Introduccin a la investigacin de operaciones, 5 Edicin, McGraw-Hill, Inc.,Mxico, 1991. Hillier F., Lieberman G., Introduccin a la investigacin de operaciones, 9 Edicin, McGraw-Hill Inc., Mxico, 2010. Johnson L., Montgomery D., Operations research in production planning, scheduling and inventory control, Wiley, New York,1974. Kleijnen Jack P.C., Verification and validation of simulation models, European Journal of Operational Research, 1995. Knuth Donald E., The art of computer programming Vol II, 2a Edition,Addison-Wesley, USA,1981. Lujan Villarreal Gonzalo, Un entorno de aprendizaje y una propuesta de enseanza de simulacin de eventos discretos con gpss, tesis de grado, Universidad Nacional de la Plata, Argentina,2013. Mesa Pez L. F.,Rivera Lozano, Romero Dvila, Descripcin general de la inferencia bayesiana y sus aplicaciones en los procesos de gestin,2 Edicin, Universidad del Rosario,Colombia,2011. Minuteman Software, GPSS Reference Manual, Minuteman Software, 2010. Minuteman Software, GPSS Tutorial Manual, Minuteman Software, 2010. Montgomery Douglas C., Runger George C., Applied statistics and probability for engineers, 5 Edition, Wiley, USA, 2011. Montgomery Douglas C., Kowalsky Scott M., Design and Analysis of experiments, 7 Edition, Wiley, USA, 2011. Montgomery Douglas C., Statistical quality control, 7 Edition, Wiley, USA, 2012. Naylor,Balintfy,Burdick y Kong Shu, Tcnicas de simulacin en computadoras, Limusa, Mxico, 1971. Nolberto Sifuentes V. A., Ponce Aruneri M. E.,Estadstica inferencial aplicada, 1 Edicin, Universidad Nacional Mayor de San Marcos, Per,2008. Oberkampf William L., Verification and validation in computational simulation, 2004 Transport task force Meeting,Utah, 2004. Posada Hernndez G. J., Buitrago Cardona M. V., Estadstica,1 Edicin, Fundacin Universitaria Luis Amig, Colombia,2008. Raczynski,Stanislaw., Simulacin por computadora, 1 Edicin, Megabyte, Mxico, 1993. Rice Stephen V,Markowitz,Marjanski,Bayley., The Simscript III programming languages for modular objected-orient simulation, Proceedings of the 2005 winter simulation conference,2005. Robinson Stewart, Simulation: The practice of model development and use,1 Edition, Willey, USA, 2004. Ross, Sheldon M., Simulacin, 2 Edicin, Prentice Hall, Mxico, 1997. Ross, Sheldon M., Simulation, 5 Edition, Academic-Press,USA, 2013. Schriber Thomas G., Simulation using GPSS, Wiley,USA,1974. Shannon,Robert, E., Simulacin de sistemas. Diseo, desarrollo e implantacin, Trillas,Mxico, 1988. Shannon,Robert, E., Simulacin de sistemas, Diseo, desarrollo e implantacin, Trillas, Mxico, 1992. Singh V.P.,System modeling and simulation, 1 edition, New-Age Intl,New Delhi, 2009. Starr M., Miller D., Inventory control: theory and practice,Prentice-Hall,New Jersey,1962. Taha Hamdy, A., Investigacin de operaciones, 2 Edicin, Alfaomega, Mxico,1991. Walpole Ronald E., Myers, Myers, Probabilidad y estadstica para ingenieros, 6 Edicin, Prentice-Hall,1999.

174

Potrebbero piacerti anche