00075320

58
Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Apuntes de Simulación Índice Unidad I. Introducción a la simulación Introducción 4 Proceso de la simulación 5 Actividades de presimulación 5 Actividades de desarrollo 7 Actividades de operación 8 Consideraciones relativas a la simulación 9 Variables exógenas 11 Variables de estado 12 Variables endógenas 12 Parámetros 12 Características de operación 12 Identidades 12 Métodos analíticos, numéricos y de simulación 14 Simulación de un sistema de inventarios 17 Unidad II. Generación de Números Pseudoaleatorios Método de congruencias 25 Método multiplicativo 26 Computadoras binarias 27 Computadoras decimales 28 1

Upload: nemebu

Post on 09-Nov-2015

221 views

Category:

Documents


0 download

DESCRIPTION

estadistica

TRANSCRIPT

  • Instituto Tecnolgico de Acapulco

    Ingeniera en Sistemas Computacionales

    Apuntes de

    Simulacin

    ndice

    Unidad I. Introduccin a la simulacin

    Introduccin 4

    Proceso de la simulacin 5

    Actividades de presimulacin 5

    Actividades de desarrollo 7

    Actividades de operacin 8

    Consideraciones relativas a la simulacin 9

    Variables exgenas 11

    Variables de estado 12

    Variables endgenas 12

    Parmetros 12

    Caractersticas de operacin 12

    Identidades 12

    Mtodos analticos, numricos y de simulacin 14

    Simulacin de un sistema de inventarios 17

    Unidad II. Generacin de Nmeros Pseudoaleatorios

    Mtodo de congruencias 25

    Mtodo multiplicativo 26

    Computadoras binarias 27

    Computadoras decimales 28

    1

  • Pruebas estadsticas 29

    Prueba de medias 31

    Prueba de varianzas 34

    Prueba de poker 35

    Prueba de series 37

    Apndice 40

    Definiciones 40

    Teoremas 42

    Unidad III. Generacin de valores de variables aleatorias

    Mtodo de transformacin inversa 44

    Mtodo de rechazo 47

    Mtodo de composicin 50

    Distribucin de POISSON 51

    Distribucin ERLANG 53

    Distribucin binomial 53

    Mtodo de transformacin inversa para distribuciones discretas 54

    Unidad IV. Lenguaje de Simulacin

    Estructura del lenguaje 58

    Lenguajes especficos de simulacin 60

    Caractersticas de los lenguajes de simulacin 60

    Clasificacin de los lenguajes de simulacin 61

    Introduccin a los bloques GPSS 62

    Lenguaje GPSS 64

    Tipos de bloques de GPSS 70

    Smbolos de los diagramas de bloques de GPSS 71

    Simulacin de los sistemas discretos 83

    2

  • Unidad V. Validacin

    Clculo del nmero ptimo de simulacin 90

    Clculo de nmero de rplicas 92

    Reduccin de varianza 93

    Validacin de resultados 95

    Optimizacin 97

    Sensibilidad y experimentacin 98

    Monitoreo 98

    Bibliografa 99

    UNIDAD I

    Introduccin A La Simulacin

    La simulacin consiste bsicamente en construir modelos informticos que describen la parte esencial delcomportamiento de un sistema de inters, as como en disear y realizar experimentos con el modelo y extraerconclusiones de sus resultados para apoyar la toma de decisiones. Tpicamente, se utiliza en el anlisis desistemas tan complejos que no es posible su tratamiento analtico o mediante mtodos de anlisis numricos.Sus orgenes estn en los trabajos de Student para aproximar la distribucin que lleva su nombre, y losmtodos que Von Neumann y Ulam introdujeron para resolver ecuaciones integrales. Desde entonces, laSimulacin ha crecido como una metodologa de experimentacin fundamental en campos tan diversos comola Economa, la estadstica, la Informtica o la Fsica, y con enormes aplicaciones industriales y comerciales,como los simuladores de vuelo, los juegos de simulacin, o la prediccin burstil o meteorolgica.

    Existen diversas maneras para definir el trmino simulacin. Sin embargo debido a que se considera a lasimulacin como una extensin lgica y natural de los modelos analticos y matemticos, inherentes a laInvestigacin de Operaciones, la siguiente definicin es considerada como una de las ms completas.

    Simulacin: Es una tcnica numrica para conducir experimentos en un computador digital, la cual incluyeciertos tipos de relaciones lgicas y matemticas necesarias para describir la estructura y comportamiento deun sistema complejo del mundo real sobre un periodo de tiempo.

    Tambin se considera a la simulacin como un proceso para describir la esencia de la realidad, el cualincluye la construccin, experimentacin y manipulacin de un modelo complejo en un computador.

    El uso de la metodologa de simulacin ofrece ventajas y desventajas, entre las cuales podemos mencionar lassiguientes:

    Ventajas:

    La simulacin hace posible estudiar y experimentar con las interacciones complejas de un sistema dado (sinimportar cul).

    A travs de la simulacin podemos estudiar el efecto de cambios ambientales, organizacionales de ciertainformacin, en la operacin del sistema.

    3

  • La observacin detallada del sistema simulado nos permite tener una mejor comprensin del mismo. La experiencia al disear un modelo de simulacin para computadora es ms valiosa que la simulacin ens.

    La simulacin nos permite experimentar con situaciones nuevas, para los cuales no se tiene o hay pocainformacin.

    Desventajas:

    Los modelos de simulacin para computadora son costosos y requiere tiempo para desarrollarse y validarse. Se requiere gran cantidad de corridas para encontrar soluciones ptimas. Es difcil aceptar los modelos de simulacin. Los modelos de simulacin no son de optimizacin directa (son modelos de anlisis). Se pueden tener restricciones o limitaciones en la disponibilidad del software requerido.

    Filosofa, Desarrollo E Implementacin De Un Modelo De Simulacin

    La simulacin es una de las herramientas ms fciles de usar en la ciencia administrativa, pero posiblementeuna de las ms difciles de aplicar apropiadamente.

    El Proceso De La Simulacin.

    Es apropiado examinar el proceso completo para el cul el anlisis de simulacin es planeado y ejecutado. Eldiseo del modelo de simulacin es en s mismo una parte crtica de cualquier estudio.

    El proceso comprende tres tipos de actividades:

    Actividades de presimulacin. Actividades de desarrollo. Actividades de operacin.

    Actividades De Presimulacin

    La primera actividad es el reconocimiento del problema, este nos lleva al estudio y anlisis del sistema yculmina en el establecimiento de un objetivo dirigido a la solucin del problema.

    Estos objetivos se pueden categorizar en:

    Caracterizacin del sistema a ejecutar esto nos lleva a:

    Seleccin de los parmetros de operacin del sistema ya existente. Seleccin de los parmetros de operacin de un sistema propuesto. Exploracin del comportamiento del sistema.

    Modificacin De Un Sistema Existente

    Diseo de un nuevo sistema.

    En esta etapa del proceso el usuario debe evaluar las diferentes herramientas disponibles relacionadas con suobjetivo.

    Ejemplos:

    4

  • EOQ: Modelo Tamao de lote (control de inventarios) mtodo de solucin deductivo.

    SIMPLEX: Es una solucin algortmica.

    La simulacin es una tcnica apropiada donde no es factible experimentar con el sistema mismo o donde lastcnicas analticas directas no son disponibles.

    Actividades De Desarrollo

    Las primeras actividades de desarrollo son el diseo y la implementacin del modelo de simulacin. Despusque estas tareas son completadas la siguiente actividad es la verificacin del modelo.

    En el estudio del diseo de sistemas, el propsito es producir un sistema que satisfaga algunasespecificaciones. El diseador puede elegir o planear determinados sistemas de componentes yconceptualmente elige una combinacin determinada de componentes para construir un sistema.

    El sistema propuesto se modela y se predice su comportamiento. Un modelo validado es aquel que ha probadocomportarse tal como el diseador lo intento. Fishman y Kiviat sugieren tcnicas para verificacin incluyendomtodos estadsticos que nos llevan ms all de las prcticas usuales de simples anlisis comparativos.

    La validacin y verificacin de un modelo parecieran ser lo mismo, pero difieren conceptualmente de manerasutil.

    Un modelo validado, es aquel que ha probado ser una abstraccin razonable del sistema del mundo real queintenta representar.

    La aproximacin usual de validacin es la corrida del modelo con datos histricos y comparar los resultadosdel modelo con los resultados del sistema para los mismos datos. Tal comparacin usualmente no es vlidadebido a que el modelo puede ser de naturaleza experimental o predictivo.

    El diseo estratgico se refiere a la actividad de planeacin y diseo de la experimentacin, incluye laespecificacin de la informacin que va a ser determinada y la exactitud de esta informacin. Existen tcnicasapropiadas de diseo experimental, tales como factorial completo, fraccin factorial, etc.

    La experimentacin al establecer un objetivo sirve para:

    Exploracin del comportamiento del sistema Optimizacin de los parmetros del sistema

    La exploracin del comportamiento del sistema intenta explicar la relacin entre los resultados de laSimulacin y los parmetros controlables.

    La optimizacin es ejecutada para encontrar la combinacin de los niveles de los parmetros los cualesminimizan o maximizan los resultados de la simulacin.

    Actividades De Operacin

    En esta etapa el proceso de simulacin, el modelo ha sido diseado, implementado y ha sido planeado.

    Las actividades posteriores son las de llevar a cabo la experimentacin. Esta debe iniciar con el diseo tcticode los experimentos que van a ser ejecutados. Estas actividades son: la determinacin de nmero de corrida, yla cantidad de datos a utilizar en cada corrida.

    5

  • Tambin incluye el establecimiento de las condiciones iniciales de las variables del modelo, la estimacin delos parmetros que alcanzan el estado de equilibrio del sistema. El usuario debe determinar como debereconocer el equilibrio.

    Otras consideraciones son: el tamao de la muestra requerido para los datos, las tcnicas a utilizar en lacomparacin del sistema alternativo, s ste es el objeto de estudio.

    Si el objetivo ha sido alcanzado, el estudio de simulacin ha sido completado. No obstante, debido a que lasimulacin es un proceso de pruebaerror, con frecuencia el objetivo no se puede alcanzar, entonces optamospor las dos alternativas generales disponibles.

    La primera es la de modificar el modelo.

    La segunda es la de utilizar el mismo modelo alternando el diseo del experimento, usando nuevastcnicas.

    Consideraciones Relativas A La Simulacin

    Los siguientes tpicos generalmente son cubiertos en textos de simulacin:

    Control de tiempo Generacin de nmeros aleatorios Generacin de V.V.A.A. Tcnicas de reduccin de varianzas Lenguajes de simulacin

    El objeto del modelo cientfico es permitir al analista la determinacin de uno o ms cambios en los aspectosdel sistema modelado que afectan otros aspectos del sistema e incluso la totalidad del mismo. Un modelo tildebe necesariamente incorporar elementos de dos atributos en discrepancia: realismo y simplicidad.

    Por un lado el modelo ha de ser una aproximacin razonable del sistema real y por tanto incorporar la mayorparte de los aspectos importantes de este; por otro lado, no es conveniente que un modelo resulte tan complejoque se vuelva imposible entenderlo.

    Los modelos matemticos de sistemas econmicos constan de 4 elementos bien definidos: los componentes,las variables, los parmetros y las relaciones funcionales.

    Las variables se usan para relacionar un componente con otro y se clasifican en:

    Variables Exgenas (Independientes o de entrada del modelo) Variables de Estado (Controlables o no controlables) Variables Endgenas (Dependientes o de salida del sistema)

    Las variables que aparecen en los modelos econmicos se emplean para relacionar un componente con otro yse clasifican, convenientemente, como variables exgenas, variables de estado y variables endgenas.

    Las variables exgenas son las independientes o de entrada del modelo y se supone que han sidopredeterminadas y proporcionadas independientemente del sistema que se modela.

    Es posible clasificar las variables exgenas en controlables y no controlables. Las controlables son aquellasvariables o parmetros susceptibles de manipulacin o control por quienes toman decisiones. Las nocontrolables las genera el medio ambiente en el cual el sistema modelado existe y no el sistema en si o los

    6

  • encargados de tomar decisiones.

    Las variables de estado describen el estado de un sistema o uno de sus componentes, ya sea al comienzo, alfinal o durante un perodo de tiempo.

    El valor de una variable de estado, durante un perodo particular de tiempo, puede depender no solamente delos valores de una o ms variables exgenas en algn perodo precedente, sino tambin del valor de ciertasvariables de salida en perodos anteriores.

    Las variables de estado de una empresa podran incluir el efectivo, el inventario y el pasivo de un perodoparticular (de tiempo), as como tambin las ventas en algn perodo precedente y los gastos de propagandaspara algn perodo futuro.

    Las variables endgenas son las dependientes o de salida del sistema y son generadas por la interaccin de lasvariables exgenas con las de estado, de acuerdo con las caractersticas de operacin del ltimo.

    El hecho que una variable en particular este clasificado como exgena, de estado o endgena, depende delpropsito de la investigacin.

    Las variables exgenas se emplean en dos formas diferentes en experimentos de simulacin: es posibletratarlas como los parmetros dados, las cuales tienen, por supuesto, que estimarse con anterioridad yalmacenarse dentro de la computadora como datos de entrada; si son variables estocsticas, existe laposibilidad de generarlas internamente en la computadora.

    Hay dos relaciones funcionales que describen la interaccin de las variables y los componentes de un modeloeconmico: las identidades y las caractersticas de operacin.

    Las identidades tomaran la forma de definiciones o declaraciones tautolgicas, relativas a los componentesdel modelo. Una caracterstica de operacin es una hiptesis, generalmente una ecuacin matemtica, querelacionan las variables endgenas y de estado del sistema, con sus variables exgenas.

    Para ilustrar el sistema de clasificacin de elementos de los modelos matemticos considrese el siguienteejemplo:

    Se considera un modelo simple de un fenmeno de espera, de un solo canal y con estaciones mltiples parauna empresa. Los componentes de este modelo se ilustran en la figura 1. Y consiste de ordenes que llegan a laempresa y procesos, a travs de los cuales, una orden pasara antes de completarse.

    El propsito del modelo es relacionar el tiempo total que requiere una orden para pasar a travs de n procesos,con la forma en que llegan las rdenes y el tiempo que consume cada uno de tales procesos.

    El modelo contiene las siguientes variables, parmetros, caractersticas de operacin e identidades.

    Variables Exgenas.

    ATi = El intervalo de tiempo entre la llegada de la isima orden y la (i1)sima orden, en dondei=1,2,...,m.

    STij = El tiempo de procesamiento para la isima orden en el jsimo proceso en donde i=1,...,m yj=1,2,...,n.

    Variables De Estado.

    7

  • WTij = el tiempo que la isima orden espera para entrar al jsimo proceso, en donde i=1,...,m y j=1,...,n.

    IDTij = el tiempo que el proceso jsimo permanece ocioso mientras que espera la llegada de la isimaorden, en donde i=1,...,m y j=1,...n.

    Tij = el tiempo total que la isima orden esta en el jsimo proceso, donde i=1,...,m y j=1,...,n.

    Variables Endgenas.

    Ti = el tiempo total que la isima orden esta en el sistema, es decir, el tiempo requerido para pasar a travsde los n procesos.

    Parmetros

    E (AT) = El intervalo de tiempo esperado entre las rdenes.

    Var (AT) = La varianza del intervalo del tiempo entre las rdenes.

    E (STij) = El tiempo esperado para el jsimo proceso donde j=1,2,...n.

    Var (STij) = La varianza del tiempo para el jsimo proceso donde j=1,2,...n.

    Caractersticas De Operacin

    f (ATi) = La funcin de densidad de probabilidad para el intervalo de tiempo entre las rdenes.

    f (STij) = La funcin de densidad de probabilidad para el tiempo de procesamiento del jsimo proceso dondej=1,...,n.

    Identidades

    Cuando la primera orden llega a la empresa, es decir, cuando i=1, se supone que las siguientes ecuacionesdescriben el sistema de procesos mltiples:

    Para rdenes subsiguientes, esto es, cuando i = 2,3,...,m, estas ecuaciones se modifican adecuadamente; lasecuaciones de tiempo se convierten en:

    Que el tiempo de espera o el tiempo de ocio, ocurra en un momento particular, depende del signo de lasdiferencias siguientes, donde i = 2,. . .,m :

    Si DIFj es positiva para el jsimo proceso, entonces el tiempo de ocio ser nulo y el tiempo de espera puedecalcularse con:

    Si DIFj es negativo para un proceso en particular, entonces el tiempo de espera ser nulo y el tiempo de ocioser igual a:

    Si DIFj es igual a cero para un proceso en particular, entonces el tiempo de espera y el tiempo de ocio, sernnulos para ese proceso.

    Este modelo de una empresa con procesos mltiples, tiene varias aplicaciones posibles, por ejemplo,supngase que al comprar un equipo nuevo, la empresa reducir, un 50% el tiempo esperado deprocesamiento, para un proceso en particular. El modelo servir entonces para estimar el aumento esperado en

    8

  • el nmero total de rdenes, que es posible procesar completamente durante un perodo particular deplaneacin, para determinar s la empresa esta justificada en la compra del nuevo equipo.

    Mtodos Analticos, Numricos Y De Simulacin

    Consideremos un ejemplo simplificado de un ordenador, compuesto por un sistema de entrada/salida (E/S) yuna unidad de proceso (CPU). El ordenador falla cuando lo hace alguno de los componentes. Expresadomatemticamente, si X1 designa el fallo de E/S, X2 el tiempo hasta el fallo de la CPU, y T el tiempo hasta elfallo del ordenador, tenemos T= min(X1, X2). Habitualmente, habr incertidumbre sobre los tiemposanteriores, por lo que consideramos que X1, X2 y T son variables aleatorias. Supongamos que estamosinteresados en calcular el tiempo esperado E(T) hasta el fallo, tal vez como parte de un estudio destinado amejorar la fiabilidad del ordenador. Para simplificar la exposicin, supongamos que Xi es exponencial deparmetro , y ambas variables aleatorias son independientes. En este caso, tenemos que

    Aproximacin Analtica

    Apelamos a resultados del Clculo de Probabilidades, teniendo en cuenta la independencia y el tipo dedistribuciones. Resulta

    Por lo tanto, T tiene distribucin exponencial de parmetro , con lo cual

    . Por ejemplo, si ,

    ,

    .

    Observemos que para esta aproximacin resulta esencial emplear hiptesis de independencia yexponencialidad, de manera que el razonamiento empleado es poco robusto; si cambiamos alguna de esas doshiptesis, el clculo exacto puede resultar mucho ms complicado e, incluso, imposible de obtener medianteun mtodo analtico.

    Aproximacin Numrica.

    Una posibilidad, en tal caso, es apelar a algn procedimiento de integracin numrica. Tpicamente, un pasoinicial ser reparametrizar el problema, de manera que la regin de integracin sea acotada. Por ejemplo,tenemos que, haciendo el cambio de variable

    9

  • y podemos aplicar, por ejemplo, la regla del trapecio. En nuestro caso, con 15 nodos y, como antes, ,

    , obtenemos el valor .317 como aproximacin del tiempo esperado hasta el fallo.

    Obsrvese que la estrategia numrica adoptada es ms robusta, en el sentido de que si sustituimos alguna delas dos hiptesis, somos an capaces de utilizarla. El inconveniente estar en que al aumentar la dimensin dela regin de integracin, la aproximacin resultar cada vez ms ineficaz.

    Aproximacin Basada en Simulacin.

    La aproximacin basada en simulacin consistir en construir un programa que describa el comportamientodel sistema y realizar experimentos con l. En este caso, podramos utilizar

    tiempofallo=0

    desde i=1 hasta n

    desde j=1 hasta 2

    generar Uj uniforme en (0,1)

    hacer

    tiempofallo=tiempofallo + min(X1, X2)

    esp(tiempofallo)=tiempofallo/n

    Esencialmente, el programa simula tiempos de fallo X1, X2 y calcula el mnimo de ellos, repitindose elproceso n veces, esto es, simulando n cadas del sistema.

    El proceso de generar U1 y luego transformarla mediante , nos permite simular tiempos hasta rotura del componente isimo. Para la aplicacin particular, supongamosque tenemos acceso a la tabla 1.1 de nmeros aleatorios. Por ejemplo, si decidimos que n=20, podemosescoger los 20 primeros nmeros para generar los U1

    16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92

    Y los ltimos para generar U2.

    38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34

    Para ello, asociamos al nmero correspondiente el cociente resultante son 16 y 38, con lo cual U1=.16,U2=.38, X1=.17, X2=.24 y min(X1, X2)=.17. Repitiendo el proceso, resulta la estimacin .308.

    16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92

    99 77 85 43 72 34 52 99 30 86 81 40 18 61 20 16 92 39 34 44

    01 48 69 32 37 05 99 27 23 55 88 47 38 48 53 79 41 08 73 95

    08 34 04 83 42 92 64 49 51 23 44 62 75 43 09 22 55 51 38 18

    10

  • 09 22 76 47 23 99 48 66 26 73 95 53 37 47 00 43 66 80 44 18

    64 18 83 13 90 95 64 21 97 09 86 59 99 70 20 73 35 11 81 57

    77 67 94 40 00 12 26 45 77 54 21 51 91 91 28 74 47 00 53 95

    73 01 20 47 86 40 71 03 13 36 98 50 48 45 30 23 40 85 76 63

    72 67 37 77 52 79 93 67 57 78 77 07 58 19 48 32 72 94 66 11

    58 96 79 92 08 88 46 62 58 96 75 18 57 89 21 17 26 92 26 63

    41 69 24 18 81 29 14 06 67 15 23 70 27 89 40 77 31 98 71 15

    16 45 84 78 49 17 84 92 51 12 08 78 30 35 63 84 34 68 97 10

    92 09 48 47 40 81 30 44 03 98 19 38 33 07 00 55 70 65 24 19

    26 92 58 75 64 61 49 58 68 45 09 32 76 03 29 08 73 11 33 79

    17 33 86 83 91 26 51 12 57 73 21 12 09 58 24 64 91 53 24 92

    91 41 97 06 57 45 39 16 64 92 66 18 78 71 55 99 29 18 02 56

    52 00 40 81 14 06 94 03 71 39 09 33 74 08 42 15 85 08 35 30

    10 07 82 40 99 00 91 31 44 73 51 42 08 28 31 35 20 07 85 96

    70 70 14 24 43 71 60 86 17 85 61 05 65 10 68 73 03 31 45 23

    96 50 32 72 89 62 28 76 60 00 52 94 67 16 32 08 88 27 01 94

    20 89 41 95 46 28 45 92 21 97 51 15 02 82 11 95 65 27 50 08

    30 99 84 95 47 72 38 22 55 44 50 61 71 58 86 49 25 60 69 17

    94 53 29 42 38 74 90 06 18 71 99 27 84 88 03 43 07 53 96 02

    50 61 25 57 55 50 92 14 39 77 29 17 73 75 83 38 40 02 06 47

    38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34

    Tabla 1.1 Nmeros Aleatorios

    Por supuesto, si escogemos otra muestra de la tabla, lo que correspondera a una nueva replicacin delexperimento, obtendremos una estimacin diferente.

    Simulacin De Un Sistema De Inventarios

    La simulacin es usada para comparar alternativas ordenando polticas para un sistema de inventarios.Muchos de los elementos de modelos representativos son encontrados en sistemas de inventarios actuales.

    11

  • Planteamiento del problema

    Una compaa vende un producto en particular. Desea saber cuantos de estos productos se tendra en elinventario para cada uno de los prximos n meses.

    Los tiempos entre las demandas son variables aleatorias IID, con una media de 0.1 mes. Los tamaos de lasdemandas D, son variables aleatorias IID, con

    Al inicio de cada mes la compaa revisa el nivel del inventario y decide cuantos artculos ordenar de suproveedor. Si la compaa ordena Z artculos, incurre en un costo de K+iZ, donde K = $32 que es el costo depreparacin e i = $3 que es el costo incremental por artculo ordenado. (si Z = 0, este costo no ocurre).Cuando una orden es colocada, el tiempo requerido para que esta llegue (llamado periodo de entrega oLeadtime) es una variable aleatoria que esta distribuida uniformemente entre 0.5 y 1 mes.

    La compaa usa una poltica (s,S) para decidir cuanto ordenar, i.e.

    S I si I < s

    Z =

    0 si I " s

    donde I es el nivel del inventario al inicio del mes.

    Cuando una demanda ocurre, esta es satisfecha inmediatamente si el nivel del inventario es al menos tangrande como la demanda. Si la demanda excede el nivel del inventario, el exceso sobre el suministro esacumulado y satisfecho por futuras entregas. (En este caso, el nuevo nivel del inventario es igual al nivel delinventario anterior menos el tamao de la demanda, resultando en un nivel del inventario negativo). Cuandouna orden llega, primero es usada para eliminar cuando mucho tanto como sea posible las demandaspendientes; el resto de la orden es agregada al inventario.

    Hasta ahora, hemos discutido solamente un tipo de costo incurrido por el sistema de inventario, el costo deordenar. Sin embargo, en la mayora de los sistemas reales tambin hay dos tipos de costos adicionales, costode mantenimiento y de escasez o dficit, los cuales discutiremos despus de introducir algunas anotacionesadicionales. Sea I(t) el nivel del inventario en el tiempo t[ note que I(t) podra ser positivo, negativo o cero];sea I+(t)= max [I(t),0] el nmero de artculos fsicamente disponibles en el inventario en el tiempo t[note queI+(t)"0]; y I(t)= max [I(t),0] los pendientes en el tiempo t[I(t)"0 tambin]. Una posible realizacin de I(t),I+(t), I(t) se muestra en la figura 1.41. Los puntos en el tiempo que I(t) decrece son los nicos en los cualesla demanda ocurre.

    I(t): Nivel del inventario en el tiempo t, siendo el valor de t positivo, negativo o cero.

    I^+(t)=max {I(t),0}: Es el nmero de artculos fsicamente disponibles en el tiempo t del inventario.

    El tiempo de los puntos al cual I(t) decrece son los nicos puntos donde ocurre la demanda.

    Para nuestro modelo, debemos asumir que la compaa incurre en un costo de mantenimiento de h=1 porartculo por mes mantenido en el inventario. El costo de mantenimiento incluye tales costos como la renta delalmacn, seguros, impuestos, y mantenimiento tambin como el costo de oportunidad de tener el capital en elinventario que invertir en otra parte.

    Hemos ignorado en nuestra formulacin el hecho de que algunos costos de mantenimiento ya incurrieron

    12

  • cuando I+(t)=0. Sin embargo, dado que nuestro objetivo es comparar polticas de ordenar, ignorando estefactor, que despus de todo es independiente de la poltica usada, no afectar en nuestra evaluacin de qupoltica es la mejor. Ahora dado que I+(t) es el nmero de artculos mantenidos en el inventario en el tiempot, el tiempo promedio (por mes) nmero de artculos mantenidos en el inventario por un periodo de n meses es

    Que es semejante a la definicin del nmero de tiempo promedio de clientes en la cola. As el tiempopromedio del costo de mantenimiento por mes es hI+

    Similarmente, suponga que la compaa incurre un costo de dficit de "=$5 por artculo por mes en dficit;esto cuenta para el registro de los costos extraguardado cuando existe un dficit, tambin la perdida de buenosclientes. El nmero de promedio de veces de artculos en dficit esta dado por es

    As que el costo promedio de atrasos por mes es "I.

    Asuma que el nivel de inventario inicial es I(0)=60 y que no ordenar no es importante. Simulemos el sistemade inventario para n = 120 meses y use el costo total promedio por mes (que es la suma del costo de ordenarpromedio por mes, el costo de mantenimiento promedio por mes y el costo de dficit promedio por mes) paracomparar las siguientes nueve polticas de inventario.

    s 20 20 20 20 40 40 40 60 60S 40 60 80 100 60 80 100 80 100

    No discutiremos aqu el resultado de cmo estas polticas particulares fueron elegidas para su consideracin,tcnicas estadsticas para hacer tal consideracin sern discutidas ms adelante.

    Note que las variables de estado para un modelo de simulacin de este sistema de inventario son el nivel deinventario I(t), la cantidad de una orden prominente de la compaa al proveedor, y el tiempo del ultimoevento.[el cual es necesaria para calcular las reas bajo las funciones I+(t) e I(t)]

    ORGANIZACIN Y LGICA DEL PROGRAMA

    El modelo de sistema de inventario usa los siguientes tipos de eventos.

    Descripcin del evento Tipo del eventoLlegada de una orden a la compaa del proveedor 1Demanda para el producto de un cliente 2Termino de la simulacin despus de nmeses 3Evaluacin del inventario (al inicio de mes) 4

    Hemos tenido que hacer el fin de la simulacin, como un evento de tipo 3 en lugar del tipo 4, ambos eventosfinsimulacin y evaluacininventario desde el tiempo 120 que sern eventualmente programar y quererejecutar el primer evento anterior en este tiempo. (Puesto que la simulacin se hace despus del tiempo 120,no hay sentido en la evaluacin del inventario y un posible ordenamiento, incurriendo en un costo de ordenarpor una orden que nunca llegar). La ejecucin del evento tipo 3 antes del evento tipo 4 es garantizado porque la rutina del tiempo da preferencia al mas bajo evento numerado, si dos o mas eventos son programadospara ocurrir al mismo tiempo. En general un modelo de simulacin sera designado a procesar eventos en unorden apropiado cuando un ciclo de tiempo ocurra.

    13

  • La grafica de un evento aparece en la figura 1.42

    Hay tres tipos de variables aleatorias que se necesitan para simular este sistema. Los tiempos indeterminadosson distribuidos exponencialmente, as que el mismo algoritmo (y cdigo) como se desarrollo en la seccin1.4 pueden ser usados aqu.

    El tamao de demanda de la variable aleatoria D deber ser discreta, como se describi anteriormente, ypuede ser generada como sigue. Primero se divide el intervalo unitario en subintervalos contiguos C1 [0, 1/6),C2=[1/6, 1/2), C3=[1/2, 5/6), y C4=[5/6,1], y se obtiene una variable aleatoria uniformemente distribuida en elintervalo U(0,1), si U cae en C1, regresa D=1; si U cae en C2, regresa D=2 ; y as sucesivamente.

    Por tanto el ancho de C1 es 1/60=1/6 , y por tanto U (generador de N aleatorios) es uniformementedistribuido sobre [0,1] , la probabilidad que U caiga en C1, (y as que regresamos D=1) es 1/6; esto concuerdacon la probabilidad deseada que D=1, similarmente regresamos a D=2, si U cae en C2 teniendo unaprobabilidad igual al ancho de C2, 1/6= 1/3, como se dese y as para los siguientes intervalos.

    Los subprogramas para generar los tamaos de demandas todos usan estos principios y toman como entrada elinterruptor de puntos definiendo los subintervalos de llegada anterior los cuales son las probabilidadesacumuladas de la distribucin de D.

    Los atrasos en las entregas son uniformemente distribuidos pero no sobre el intervalo unitario [0,1]. Engeneral podemos generar una variable aleatoria uniformemente distribuida sobre cualquier intervalo [a,b]generando un numero aleatorio U(0,1) y despus regresar aa+U(b a).

    De los cuatro eventos solamente 3 involucran verdaderamente el cambio de estado (el termino de eventos desimulacin es la excepcin) por lo tanto su lgica, es un lenguaje independiente.

    En el evento llegada orden, se muestra en la figura 1.43 y debemos hacer los cambios necesarios cuando unaorden llegue del proveedor. El nivel del inventario es incrementado y desde su consideracin del eventollegada de una orden debe ser eliminada.

    Evento de Orden de Llegada

    El evento de la demanda est dado en la figura 1.44 y procesa los cambios necesarios para representar un casode demanda. Primero, el tamao de la demanda es generada, y el inventario es decrementado por estacantidad. Finalmente el tiempo de la prxima demanda es programada en la lista de eventos. Note que estoocurre donde el nivel del inventario pueda ser negativo.

    El evento evaluacin del inventario tiene lugar en el comienzo de cada mes, su diagrama de flujo es elsiguiente. Fig. 1.45

    Si el nivel del inventario I(t) en el tiempo de evaluacin es al menos s, entonces ninguna orden se coloca, y nose hace nada excepto la programacin de la siguiente evaluacin en la lista de eventos. En cambio, si I(t)

  • El principal punto es si necesitamos actualizar el rea debajo de I(t) o I+(t) (o ninguno). Si el nivel deinventario ha sido negativo desde el ultimo evento, entonces tenemos un atraso, en el rea debajo de I(t) soloestaramos actualizando. En cambio si el nivel del inventario ha sido positivo necesitamos actualizar en el reaI+(t). Si el nivel de inventario ha sido cero no se necesita actualizar. El cdigo en ambos lenguajes para estarutina tambin trae la variable de tiempo del ltimo evento al tiempo presente. Esta rutina ser invocada desdeel programa principal justo despus de regresar de la rutina coordinada. Ignorando el tipo de evento o si lenivel del inventario esta actualizado en los cambios en estos puntos. Esto proporciona una simple manera deactualizar integrales para estadsticas de tiempos continuos.

    UNIDAD II

    Generacin De Nmeros Pseudoaleatorios

    En principio definiremos la funcin de distribucin acumulada para la distribucin uniforme estandarizadacomo:

    En la prctica, se requieren sucesiones de nmeros aleatorios para la generacin de los datos de entrada parael proceso de simulacin.

    Se tienen cuatro mtodos alternativos para generar o proveer sucesiones de nmeros aleatorios:

    Mtodos manuales {lanzamiento de monedas, dados, cartas, ruleta, etc.} Tablas {corporacin rand} Mtodos analgicos de computacin Mtodos de computacin digitales

    Los mtodos analgicos comprenden el uso de procesos fsicos aleatorios (comportamiento de corrienteelctrica), se considera que producen verdaderos nmeros aleatorios.

    En el caso de los mtodos digitales hay 3 formas para proveerse de nmeros aleatorios: provisin externa,generacin interna por medio de un proceso fsico al azar, generacin interna por medio de una relacin derecurrencia.

    En el caso de provisin externa, lo que se hace es, grabar las tablas de nmeros aleatorios en una cinta delsistema de la computadora digital.

    La segunda alternativa utiliza un aditamento de la computadora que puede registrar los resultados de algnproceso aleatorio y que los traduzca a sucesiones de dgitos, tales procesos pueden ser el decaimientoradiactivo, el ruido trmico, entre otros.

    El defecto de estos procedimientos analgicos es el de que las sucesiones as generadas no puedenreproducirse.

    La generacin interna por medio de una relacin de recurrencia, comprende la generacin por medio de unatransformacin indefinidamente continuada aplicada a un grupo de nmeros elegidos en forma arbitraria.

    El primer mtodo conocido para generar nmeros aleatorios de manera recurrente se considera que es de loscuadrados centrales, en el que cada nmero de la sucesin se obtiene tomando los dgitos centrales delcuadrado del nmero precedente.

    En la actualidad se prefiere el uso del mtodo de congruencias para generar nmeros aleatorios satisfactorios.

    15

  • Cualquiera que sea el mtodo para generar nmeros aleatorios debe satisfacer las siguientes condiciones:

    Deben ser:

    Uniformemente distribuidos Estadsticamente independientes Reproducibles Sin repeticin dentro de una longitud determinada de la sucesin Generacin a grandes velocidades Requerir el mnimo de capacidad de almacenamiento

    Mtodo De Congruencias:

    Estos mtodos se basan en una relacin fundamental de congruencias que se expresa como:

    Los trminos de la sucesin {ni} forman una sucesin de residuos modulo m, es decir, ni < m " ni; a partir delos nmeros enteros de la sucesin {ni} se pueden obtener nmeros racionales en el intervalo (0,1) con soloformar la sucesin:

    {ri} = {ni / m}

    Respecto a la pregunta de que si existe un mnimo valor positivo para i, i=h tal que nh = n0 donde h es elperodo de la sucesin {ni}; si h existe, cabe preguntarse que condiciones se pueden imponer sobre n0, a, c ym de manera que el periodo de {ni} sea lo ms largo posible.

    Se tienen 3 versiones del mtodo de congruencias para generar nmeros pseudoaleatorios:

    Mtodo Aditivo

    Ni+1 = ni + nik (mod m)

    Si k = 1 se tiene la sucesin de Fibonacci

    Mtodo Multiplicativo

    Produce una sucesin {ni} donde cada nmero es menor que m.

    Ni+1 " ani (mod m)

    Este mtodo tiene buenos resultados estadsticos en relacin con las pruebas de aleatoriedad e independencia.

    Mtodo Mixto

    Ni+1 " ani + c (mod m)

    Mtodo Multiplicativo

    El modulo que emplea este mtodo es m = pe donde p representa el nmero de guarismos del sistemanumrico que usa la computadora y e denota el nmero de dgitos en una palabra. En computadoras binariasp=2; en computadoras decimales p=10.

    La ecuacin recursiva para generar residuos potenciales es:

    16

  • ni+1 " ani (mod pe)

    Computadoras Binarias

    m = 2b

    b = nmero de bits de palabra b >2

    h = 2b2 mximo perodo que se puede obtener

    El problema se reduce a encontrar multiplicadores que tengan orden h=2b2; a tiene que ser primo relativo dem=2b y por lo tanto tiene que ser impar.

    Los valores de a se encuentran en una clase residual que se representa por:

    a " 3 (mod 8) a = 8t 3

    t = 0, 1, 2, 3,..... entero positivo

    Los valores de a prximos a 2b/2 minimizan la correlacin en serie de primer orden. Con respecto al valorinicial no, este debe ser primo relativo de m = 2b, entonces n0 puede ser cualquier nmero entero impar.

    Procedimiento:

    Se escoge cualquier nmero impar como valor inicial n0 Se elige un entero a = 8t 3 Se calcula an0 usando aritmtica entera de punto fijo. Este producto consta de 2b bits, de los cuales sedescartan los bits de orden superior, dejando para n1 los bits restantes.

    Se calcula r1 = n1 / 2b = n1 / 2b Cada nmero aleatorio sucesivo ni+1 se obtiene a partir de los bits de menor orden en el producto ani

    Ejemplo:

    Sea b = 4, m = 24 = 16 y h = 242 = 4

    1. n0 = 7 n0 = 0111

    2. a cerca de 2b/2 = 4 si t = 1, a puede ser 5 3

    si a = 5 a = 0101

    3. ano = (0101)(0111) = 00100011

    n1 = 0011 r1 = 3/16 = 0.1875

    4. an1 = (0101)(0011) = 00001111

    n2 = 1111 r2 = 15/16 = 0.9375

    5. an2 = (0101)(1111) = 01001011

    n3 = 1011 r3 = 11/16 = 0.6875

    17

  • 6. an3 = (0101)(1011) = 00110111

    n4 = 0111 r4 = 7/16 = 0.4375

    y as sucesivamente...

    Computadoras Decimales

    m = 10d = 2d 5d

    d = nmero de dgitos decimales de la palabra. d>3

    a = debe ser nmero primo relativo de 10d

    El orden h de a (mod 10d) es: h = m.c.m. [2d2,4 * 5d1] = 5 * 10d2

    Los multiplicadores constantes con perodo 5 * 10d2 se pueden ubicar en 32 clases residuales distintas mod200, dado por:

    a = (3, 11, 13, 19, 21, 27, 29, 37, 53, 59, 61, 67,69, 77, 83, 91) (mod 200)

    tambin se puede expresar como:

    a = 200t p t = 0, 1, 2, 3, ...

    p = uno de los 32 nmeros dados anteriormente.

    De igual modo n0 debe ser primo relativo de m = 10d, lo cual implica que tiene que ser impar, no divisibleentre 5 para seleccionarse como valor inicial.

    a " 10d/2

    El procedimiento es semejante al caso binario:

    Seleccinese n0, un nmero impar no divisible entre 5. Seleccinese a = 200t p

    a " 10d/2

    Calcular an0 utilizando aritmtica entera de punto fijo. Calcular r1 = n1/10d Cada nmero aleatorio subsecuente ni+1 se obtiene a partir de los dgitos de menor orden del productoani.

    Ejemplo:

    Sea d = 4, m = 104 = 10,000, h = 5*1042 = 500

    1. n0 = 5379

    2. a " 102 = 100

    18

  • a = 200(0)+91 a = 200(1)91

    a = 91 a =109

    3. an0 = (0091)(5379) =00489489

    n1 = 9489 r1 = 9489 = 0.9484

    10000

    y as sucesivamente...

    Pruebas Estadsticas

    Las propiedades estadsticas que deben poseer los nmeros pseudoaleatorios generados por los mtodoscongruenciales tiene que ver con independencia y aleatoriedad estadsticas.

    La prueba de la frecuencia se usa para comprobar la uniformidad de una sucesin de N nmerospseudoaleatorios. Para cada conjunto de N nmeros pseudoaleatorios r1, r2,...rn, se divide el intervalo unitario(0,1) en x subintervalos iguales; el nmero esperado de nmeros pseudoaleatorios que se encontrarn en cadasubintervalo es N/x. Si fj (j=1, 2...x) denota el nmero que realmente se tiene de nmeros pseudoaleatorios ri(i=1,2,...N) en el subintervalo (j1)/ x " ri < j/x entonces el estadstico:

    tiene aproximadamente una distribucin x2 con x1 g.l

    La hiptesis de que los nmeros pseudoaleatorios en el de conjunto de N nmeros pseudoaleatorios, sonverdaderos nmeros pseudoaleatorios, debe rechazarse si x12 con x1 g.l. excede su valor critico fijado por elnivel de significancia deseado.

    Ejercicio:

    Verificar que el conjunto de 100 nmeros aleatorios se distribuye uniformemente, con = 5%.

    0.001213 0.898980 0.578800 0.676216 0.050106

    0.499629 0.282693 0.730594 0.701195 0.182840

    0.108501 0.386183 0.769105 0.683348 0.551702

    0.557434 0.799824 0.456790 0.216310 0.876167

    0.092645 0.589628 0.332164 0.031858 0.611683

    0.762627 0.696237 0.170288 0.054759 0.915126

    0.032722 0.299315 0.308614 0.833586 0.517813

    19

  • 0.352862 0.574100 0.265936 0.859031 0.433081

    0.941875 0.240002 0.655595 0.385079 0.908297

    0.199044 0.936553 0.888098 0.817720 0.369820

    0.339548 0.543258 0.624006 0.091330 0.416789

    0.155062 0.582447 0.858532 0.887525 0.337294

    0.751033 0.239493 0.535597 0.333813 0.493837

    0.634536 0.199621 0.650020 0.745759 0.791130

    0.227241 0.191479 0.406443 0.081288 0.734352

    0.721023 0.222878 0.072814 0.641837 0.442675

    0.789616 0.052303 0.106994 0.558774 0.141519

    0.760869 0.120791 0.277380 0.657266 0.792691

    0.805180 0.826543 0.294530 0.208524 0.429894

    0.585186 0.986111 0.344882 0.343580 0.115375

    0 0.1 0.1 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6 0.6 0.7 0.7 0.8 0.8 0.9 0.9 1.00.001213 0.108501 0.227241 0.352862 0.499629 0.557434 0.634536 0.762627 0.805480 0.9418750.092645 0.199044 0.282693 0.339548 0.456790 0.585186 0.696237 0.751033 0.898980 0.9365530.032722 0.155062 0.299315 0.386183 0.406443 0.589628 0.655595 0.721023 0.826543 0.9861110.052303 0.199621 0.210002 0.332164 0.433081 0.574100 0.624006 0.789616 0.888098 0.9151260.072814 0.191479 0.239493 0.308614 0.416789 0.543258 0.650020 0.760869 0.858532 0.9082970.031858 0.120791 0.222878 0.344882 0.493837 0.582447 0.676216 0.799824 0.8335860.054759 0.170288 0.265936 0.385079 0.442675 0.578800 0.683348 0.730594 0.8590310.091330 0.106944 0.277380 0.333813 0.429894 0.535597 0.641837 0.779105 0.8177200.081128 0.182840 0.294530 0.343580 0.558774 0.657266 0.701195 0.8875250.050106 0.141519 0.216310 0.369820 0.551502 0.611683 0.745795 0.876167

    0.115375 0.208524 0.337294 0.517813 0.7911300.7343520.792691

    Fo 10 11 11 11 8 11 10 13 10 5

    Para resolverlo se utiliza la siguiente ecuacin:

    Donde:

    20

  • F.E. = Total de nmeros aleatorios = 100 = 10

    Nmeros de subintervalos 10

    F.O. = Total de nmeros observados en cada subintervalo.

    Nosotros especificamos arbitrariamente un valor de = 0.05 (esto significa un error del tipo I del 5%) el valorobtenido de = 4.2 as pues podemos compararlo con el valor crtico de:

    X20.05(9) = 16.919

    Puesto que X20.05(9) = 16.919 > = 4.2, entonces podemos decir que la tabla de nmeros aleatorios sedistribuye uniformemente.

    Prueba De Medias

    Consiste en verificar que los nmeros generados tengan una media estadsticamente igual a 1/2, de este modola hiptesis planteada es:

    Ho = hiptesis nula: =

    H1 = hiptesis alternativa: "

    Paso 1 Calcular la media de los n nmeros generados

    Paso 2 Calcular los lmites superior e inferior de aceptacin

    Paso 3 Si el valor X se encuentra entre li y ls, aceptamos que los nmeros tienen una media estadsticamenteigual a con un nivel de aceptacin 1.

    Ejemplo:

    Realice la prueba de medias a los primeros 30 nmeros aleatorios producidos con un generador congruencialmixto, con un nivel de confianza del 95%.

    Los nmeros generados son:

    21

  • 0.03991 0.10461 0.93716 0.16894 0.98953 0.73231

    0.25543 0.34565 0.02345 0.67347 0.10987 0.25678

    0.71890 0.61234 0.86322 0.94134 0.99872 0.27657

    0.82345 0.12387 0.05389 0.82474 0.59289 0.36782

    0.72484 0.48999 0.50502 0.39528 0.36782 0.90234

    2.56253 1.67646 2.38274 3.00377 3.05883 2.53582

    = 15.22015

    X = 15.22015/30 = 0.507338

    X " 0.5000

    Para buscar el valor de Z0.025 se resta 1 0.025 = 0.975 y se busca en la tabla

    |Z0.025| = 1.96lsx = 0.5298 lix " X " lsx

    lix = 0.4701 !

    Ho se acepta

    Ejemplo: Generar nmeros aleatorios dados por la siguiente funcin

    n Xn rn1 29 0.292 87 0.873 61 0.614 83 0.835 49 0.496 47 0.477 41 0.418 23 0.239 69 0.69

    22

  • 10 7 0.07n Xn rn11 21 0.2112 63 0.6313 89 0.8914 67 0.6715 1 0.0116 3 0.0317 9 0.0918 27 0.2719 81 0.8120 43 0.4321 29 0.29

    Pruebas de frecuencias

    Sub int Fj0 0.2 40.2 0.4 40.4 0.6 40.6 0.8 40.8 1 4

    23

  • Pruebas de medias

    Prueba De Varianza

    Consiste en verificar si los nmeros aleatorios generados tienen una variancia de 0.083, de tal forma que lahiptesis queda expresada como:

    Ho: V(x) = 1/12

    Hi: V(x) " 1/12

    Paso 1. Calcular la variancia de los n nmeros generados V(x).

    Paso 2. Calcular los lmites superior e inferior de aceptacin.

    Paso 3. Si V(x) se encuentra entre los valores de liv(x) y lsv(x), aceptamos la hiptesis nula y los nmerosaleatorios tiene una variancia estadsticamente igual a 1/12.

    Ejemplo:

    Realice la prueba de variancia a los siguientes 30 nmeros con un nivel de confianza del 95%.

    .72484 .48999 .50502 .39528 .36728 .90234

    .71890 .61234 .86322 .94134 .99872 .27657

    .34565 .02345 .67347 .10987 .25678 .25593

    24

  • .82345 .12387 .05389 .82474 .59289 .36782

    .03991 .10461 .93716 .16894 .98953 .73231

    x = 0.507337

    Aplicando la ecuacin del paso 1 se tiene V(x)= 0.104. Al calcular los lmites de aceptacin para muestras detamao 30,

    El valor se encuentra dentro de lmites de aceptacin por lo que se acepta que la variancia de la muestra esestadsticamente igual a 1/12.

    Prueba De Poker

    Las pruebas de independencia consisten en demostrar que los nmeros generados son estadsticamenteindependientes entre s, esto es, que no depende uno de otro.

    Hay varios mtodos, entre los cuales estn:

    La prueba de Poker La prueba de corridas arriba y abajo La prueba de corridas arriba debajo de la media La prueba de la longitud de las corridas La prueba de series

    La prueba de poker plantea la siguiente hiptesis:

    Ho : ri " independiente

    H1 : ri " dependiente

    Paso 1. Calcular las probabilidades esperadas para un juego de poker con 5 cartas numeradas del 0 al 9 conreemplazos. Se tienen 7 eventos con las siguientes probabilidades:

    P (Pachuca) = 0.3024

    P (par) = 0.5040

    P (2 pares) = 0.1080

    P (1 tercia) = 0.0720

    P (Full) = 0.0090

    P (Poker) = 0.0045

    25

  • P (Quintilla) = 0.0001

    Paso 2. Calcular la frecuencia esperada de cada uno de los eventos multiplicando la probabilidad de cadaevento por la cantidad de nmeros aleatorios generados.

    Paso 3. Para cada nmero aleatorio generado verificar si es Pachuca, 1 par, 2 pares, etc., tomando losprimeros 5 dgitos a la derecha del punto decimal. Con estos resultados se genera una tabla de frecuenciasobservadas de cada uno de los eventos.

    Paso 4. Calcular la estadstica:

    Paso 5. Si el valor de C2 no excede al estadstico de tablas i2 con 6 g.l. y una probabilidad de rechazo alfa=, entonces se acepta que los datos son estadsticamente independientes entre s.

    Ejemplo:

    Realice la prueba de Poker a los siguientes 30 nmeros con un nivel de confianza del 95%. (" = 5%)

    0.72484 0.48999 0.50502 0.39528 0.36782 0.902340.71890 0.61234 0.86322 0.94134 0.99872 0.276570.34565 0.02345 0.67347 0.10987 0.25678 0.255930.82345 0.12387 0.05389 0.82474 0.59289 0.367820.03991 0.10461 0.93716 0.16894 0.98953 0.73231

    FO PE FEPachuca 14 0.3024 9.072Un Par 14 0.5040 15.12Tercia 1 0.0720 2.16Dos Pares 1 0.1080 3.24Full 0 0.0090 0.27Poker 0 0.0045 0.135Quintilla 0 0.0001 0.003

    .05, 6 = 12.6

    " H0 se acepta

    Prueba De Series

    26

  • Ho : ri " independiente

    H1 : ri " dependiente

    Paso 1 Crear un histograma de dos dimensiones con m intervalos, clasificando cada pareja de nmerosconsecutivos (ri, ri + 1) dentro de las casillas de dicho histograma de frecuencias. El nmero total de paresordenados en cada casilla formar la frecuencia observada: Foi.

    Paso 2 Calcular la frecuencia esperada en cada casilla FE de acuerdo con FE=nm/m donde nm. es elnmero total de parejas ordenadas.

    Paso 3 Calcular el error , con la ecuacin:

    Paso 4 Si el valor de es menor o igual al estadstico de tablas con m1 grados de libertad y unaprobabilidad de rechazo , entonces aceptamos que estadsticamente los nmeros son independientes.

    Ejemplo:

    Realice la prueba de series a los siguientes 30 nmeros con un nivel de confianza del 95%

    0.72484 0.48999 0.50502 0.39528 0.36782 0.902340.71890 0.61234 0.86322 0.94134 0.99872 0.276570.34565 0.02345 0.67347 0.10987 0.25678 0.255930.82345 0.12387 0.05389 0.82474 0.59289 0.367820.03991 0.10461 0.93716 0.16894 0.98953 0.73231

    Al formar parejas ordenadas se obtiene:

    (.72484, .48999) (.48999, .50502) (.50502, .39528) ... (.98953, .73231)

    La clasificacin en una tabla de frecuencias de dos dimensiones de 4 x 4, (m=16), queda

    ri+1 1 3 2 1 20.75 1 1 1 30.50 1 3 3 10.25 2 2 1 20 0.25 0.50 0.75 1 ri

    Tomando en cuenta que se tienen 29 parejas ordenadas clasificadas uniformemente en 16 casillas, lafrecuencia esperada FE en cada una es 1.8125 y al calcular el error con la ecuacin del paso 3, para cada unade las 16 celdas o intervalos de la tabla anterior se tiene:

    27

  • El valor de la tabla con un nivel de confianza del 95% y con 15 grados de libertad es igual a 25. Si secompara =5.75 con este valor, se acepta la independencia de la secuencia de nmeros.

    Por consiguiente Ho se acepta.

    Ejemplo:

    Realice la prueba de Poker y la prueba de series a los siguientes 30 nmeros con un nivel de confianza de 95%

    0.03991 0.24122 0.10461 0.66591 0.93716 0.276990.38555 0.61196 0.95554 0.30231 0.32886 0.929620.17546 0.30532 0.73704 0.21704 0.92052 0.102740.32643 0.03788 0.52861 0.97599 0.95189 0.758670.69572 0.48228 0.68777 0.63379 0.39510 0.85783

    Prueba de poker

    Evento PE FO FEPachuca 0.3024 7 9.072Par 0.5040 15 15.12Tercia 0.0720 5 2.162 Pares 0.1080 3 3.24Full 0.0090 0 0.27Poker 0.0045 0 0.135Quintilla 0.0001 0 0.003

    Prueba de series

    IIIIII

    6

    II

    2

    III

    3III IIII

    28

  • 3 0 4III

    3

    IIIII

    5

    III

    3

    Apndice A

    Elementos de la teora de nmeros

    A fin de comprender totalmente y apreciar los mtodos para generar nmeros pseudoaleatorios que seconsideran, es requisito previo tener un conocimiento bsico de los elementos de la teora de los nmeros. Elapndice A contiene un conjunto bsico de definiciones, ejemplos y teoremas de la teora de nmeros queresultan pertinentes para la comprensin de los fundamentos racionales sobre los que se basan los mtodos.

    Definiciones

    Definicin 1. Para dos enteros a y b, con b " 0, existe un nico par de enteros t y n, tal que a = bt + n 0 " n f(x)/M entonces r1 y r2 se descartan y se seleccionan otros valores de r1 y r2

    Ejemplo: Se desea generar nmeros aleatorios con la distribucin.

    2x 0 " x " 1

    f(x)

    0 en otra parte

    En este caso:

    a = 0 b = 1 M = 2

    Generar R1 y R2 Calcular x = r1 f(x) = 2r1 r2 " 2r1 = 2r1 r2 " r1 ! x = r1

    M 2

    Ejemplo: Se desea generar variables aleatorias X para la siguiente densidad de probabilidad.

    si a " x " b

    si b " x " c

    M=

    35

  • Como la funcin se compone de 2 partes:

    f(x)

    M

    a b c X

    Los pasos para simular esta distribucin son:

    Generar r1 y r2 Calcular x = a + (c a)r1 Es x < b si la respuesta es afirmativa

    si la respuesta es negativa, entonces f(x) es :

    Es

    Si la respuesta es afirmativa, entonces se considera como valor x = a + (c a)r1 Simulada, en caso contrarioregresemos al paso 1.

    Ejemplo.

    Calculando la segunda parte de la funcin 1 parte

    2 parte

    Resolviendo la ecuacin de segundo grado

    mediante la frmula general

    36

  • Mtodo De Composicin

    En esta tcnica f(x), la funcin de densidad probabilidad de la distribucin que se va simular, esta expresadacomo una mezcla de probabilidad de funciones de densidad propiamente seleccionadas.

    Este procedimiento est basado en la definicin de probabilidad condicional o la ley de probabilidadescompuestas.

    Matemticamente sea g(x|y) una familia de funciones de densidad de un parmetro donde y es el parmetroque identifica de manera nica a g(x). Si un valor de y es ahora descrito de una funcin de distribucinacumulada H(y) y entonces si x es una muestra de g(x), para seleccionar y, la funcin de densidad para x ser:

    Usando este principio, distribuciones ms complicadas pueden ser generadas de distribuciones ms simpleslas cuales son en s mismas fcilmente generadas, por la tcnica de la transformacin inversa o la tcnica derechazo.

    Ejemplo: Generar una varianza aleatoria de

    cuando (sea)

    y

    Una varianza es ahora obtenida desde una funcin de densidad cuya su funcin de distribucin acumulativa esH(y). Una vez que y es seleccionada, esta determina una particular g(x) = yeyx. La varianza deseada de f(x)es entonces una varianza simplemente generada de g(x) = yeyx. Para continuar con las siguientesinstrucciones, genera dos varianzas uniformes R1 y R2, y cuando:

    Entonces x es la varianza deseada de:

    Esta tcnica es apropiada cuando se desea generar distribuciones de tipo mas alto usando distribuciones Ladificultad recae en identificar la H(y) y g(xy) la cul se necesita para producir una f(x) dada dentro de larelacin.

    Afortunadamente, las estadsticas matemticas nos han provisto de varias relaciones funcionales llamadasconvoluciones que pueden ser usadas en la generacin de ciertas desviaciones aleatorias. Los siguientesejemplos sirven para ilustrar el procedimiento.

    La Distribucin De Poisson

    37

  • Si los intervalos de eventos similares estn distribuidos exponencialmente, el nmero de eventos ocurridos enun intervalo unitario de tiempo, tiene la distribucin de Poisson.

    Las aplicaciones de las variables aleatorias de Poisson incluyen tantas reas tales como control de losinventario, teora de colas, control de calidad, flujo de trfico y muchas otras reas ciencias administrativas.

    La funcin de densidad de probabilidad para la distribucin de Poisson esta dada por:

    donde es el nmero esperado de sucesos por unidad de tiempo. Esto implica que el tiempo entre eventosesta distribuido exponencialmente con media de

    Podemos utilizar esta relacin entre la distribucin Poisson y la exponencial para generar desviaciones de ladistribucin de Poisson.

    Una desviacin x de Poisson puede ser definida de la siguiente manera:

    donde y1, y2,....,yx+1 son desviaciones aleatorias de una distribucin exponencial teniendo como media 1/ yson generadas por (la tcnica de transformada inversa)

    donde Ri est dada por la distribucin uniforme. En conclusin, las sumas acumulativas son generadas hastaque se obtiene la desigualdad. Cuando esto ocurre, x es la desviacin aleatoria de Poisson deseada.

    Otra forma de este mismo procedimiento es definir la desviacin x de Poisson cuando:

    donde yi es otra vez las desviaciones de la distribucin exponencial pero con media 1/, esto es:

    Las 2 tcnicas son esencialmente las mismas, pero la primera parece ser ms apropiada con la definicin de ladistribucin exponencial donde las yi's tiene una media de .

    Ejemplo.

    Sabemos que por la teora de la probabilidad que si el nmero de eventos se puede describir a travs del flujode Poisson, el tiempo entre la ocurrencia de eventos debe ser exponencial. En la distribucin de Poisson el

    38

  • resultado se expresa como el nmero de eventos n que ocurren en un determinado tiempo t. Por lo tanto paramuestrear la distribucin exponencial con media tantas veces como sea necesario hasta que la suma de las variables aleatorias generadas exceda a t por vezprimera. En este caso, el valor de Poisson muestreado n se toma igual al nmero de veces que se muestreo ladistribucin exponencial 1.

    Supngase que se desea muestrear una distribucin de Poisson durante un periodo de 1.4 hrs.

    n 1 2 3 4 5rn 0.058962 0.673284 0.479909 0.948578 0.61396tn 0.9436 0.1318 0.2447 0.1075 0.1624

    0.9436 1.0754 1.3201 1.3376 1.5002

    t = 1.4

    Distribucin Erlang

    La distribucin Erlang es una forma de la distribucin gamma con K igual a un entero positivo. EstadsticosMatemticos han probado que esta distribucin es solo la suma de las variables exponenciales de K, cada unacon un valor esperado 1/k.

    Para generar una desviacin Erlang, nosotros solo necesitamos la suma de las desviaciones exponenciales K,cada una con el valor esperado 1/k. De esta manera la varianza x de Erlang es esperada como:

    donde yi es una desviacin exponencial generada por la tcnica de la transformada inversa Ri es un nmeroaleatorio de la distribucin uniforme.

    Distribucin Binomial

    Una variable aleatoria x definida como el nmero de eventos exitosos en una secuencia de n tiradas o intentosindependientes de Bernoulli, cada una con probabilidad de xito p, es conocida como una variable aleatoriabinomial. La distribucin binomial es una de las ms importantes en las distribuciones estadsticas usadas enun rea de ejemplificacin y control de calidad. La funcin de densidad de probabilidad binomial est dadapor:

    39

  • donde

    p = probabilidad de xito por tirada

    q = 1p

    n = nmero de tiradas

    x = nmero de xitos, en entero

    Para generar una desviacin binomial con parmetros p y n el procedimiento es el siguiente:

    Generar n desviaciones aleatorias uniformes Contar el nmero de varianzas uniformes menor o igual a p El nmero encontrado en el paso 2 es igual al valor de la varianza binomial

    Este procedimiento puede entonces ser repetido tantas veces como sea necesario para generar otrasdesviaciones binomiales.

    Otro procedimiento involucrado que usa la distribucin normal como una aproximacin a la binomial paracasos donde n " 20 y np " 10. Desde que la varianza binomial es un entero, la varianza normal usada como unaaproximacin debe ser redondeada al valor entero ms cercano. Este mtodo es ms rpido pero es solo unaaproximacin.

    Mtodo De Transformacin Inversa Para Distribuciones Discretas

    Se utiliza cuando se desea simular variables aleatorias de tipo discreto, como la distribucin de Bernoulli,binomial, Poisson, discreta general, etc., El procedimiento es similar al continuo pero el valor de F(x) seencuentra acumulando las probabilidades de los eventos individuales p(x). Tambin en este caso, F(x) estdefinida en el intervalo 0 a 1; se genera un nmero aleatorio ri y se determina el valor de la variable aleatoriacuya distribucin acumulada es igual a ri.

    La figura nos muestra en forma grfica el procedimiento anterior para una funcin cualquiera p(x) discreta.

    La dificultad de este mtodo radica en que no existe una expresin final sencilla, como en el caso de lacontinua.

    Metodologa

    Paso 1 Calcular todos los valores de p(x) para la distribucin propuesta.

    Paso 2 Calcular la probabilidad acumulada F(x) para cada valor de x.

    Paso 3 Generar un valor ri. Verificar en F(x) a qu intervalo de x pertenece y ese ser el nmero aleatoriogenerado por la distribucin propuesta.

    Ejemplo.

    40

  • Nmeros aleatorios

    UNIDAD IV

    Lenguajes De Simulacin

    41

  • Introduccin

    El GPSS/TM! y el GPSS/H ! son aplicaciones nuevas e interactivas dentro del ambiente IBM del GPSS,General Purpose Simulating System (en espaol, Simulacin de Sistemas de propsito General) desarrollado aprincipios de la dcada de los 60 por Geoffrey Gordon. El objetivo principal del GPSS es la modelacin desistemas discretos.

    Cualquier sistema por simular en este lenguaje se debe describir mediante un diagrama de bloques querepresentan las actividades, unidos mediante lneas que representan la secuencia que seguirn un grupo detransacciones, que a su vez se mueven a travs de los bloques. Las transacciones dependen de la naturaleza delsistema, por ejemplo un sistema de comunicaciones se refiere al movimiento de mensajes; un sistema detransporte se refiere al vehculos motorizados; un sistema de produccin, al movimiento de piezas.

    La simulacin mediante GPSS se realiza con dos elementos bsicos conocidos como transacciones y bloques.Una transaccin es aquello que fluye a travs del sistema de manufactura, y que puede ser: informacin,piezas, rdenes de produccin, fallas, operarios, mecnicos, etctera, mientras que un bloque se define comocualquier operacin que realiza una transaccin dentro de un sistema; algunas operaciones pueden ser lassiguientes: procesamiento, entrada a un almacn, salida de un almacn, inicio de proceso, fin de proceso,salida del sistema, ensamble, desensamble, etctera.

    En un principio los lenguajes de simulacin se elaboran utilizando algn lenguaje de propsito general comoFORTRAN, ALGOL, PL/1, etc. Esto requera un gran trabajo de programacin; con el paso del tiempo sefueron identificando diferentes situaciones, hasta llegar a estandarizarse ciertas instrucciones de programacinen rutinas bien definidas.

    De este concepto naci el diseo de lenguaje especfico para programas de simulacin con los cuales se ha idofacilitando al usuario la programacin de sus modelos.

    Estructura Del Lenguaje:

    Para usar el GPSS se requiere tener conocimientos de los comandos ms comunes del sistema DOS. Dentro deun programa de GPSS se pueden distinguir cuatro tipos de instrucciones, cada una de las cuales se detalla acontinuacin:

    Instrucciones de acceso al sistema GPSS. Estas instrucciones permiten al usuario el acceso al compiladordel GPSS y dependen de cada tipo de versin utilizada; en este punto se recomienda hacer referencia almanual respectivo.

    Instrucciones de definicin de variables. Son un tipo de instrucciones especiales de carcter opcional; suinclusin depende del sistema a modelar. Estas instrucciones siempre se encuentran relacionadas con lasinstrucciones de lgica del programa. Dentro de las instrucciones se encuentran las siguientes: definicin delas funciones a utilizar, definicin de capacidad de los almacenes, definicin del nmero de operarios omaquinas por estacin, inicializacin de variables, definicin de las operaciones matemticas por utilizar,etctera. A continuacin se muestra una lista de las definiciones ms comunes utilizadas en GPSS:

    Instrucciones de Lgica del programa. Este tipo de instrucciones son las conocidas como bloques; sonlas que se ejecutarn durante la simulacin; la lgica depender de cada sistema que se desee simular.Teniendo en cuenta la funcin que realizan, una clasificacin de los bloques o instrucciones de lgica es lasiguiente:

    Simulacin de inicio de proceso y captura de mquina SEIZE

    ENTER

    42

  • PREEMPT

    Simulacin de fin de proceso y liberacin de mquina RELEASE

    LEAVE

    RETURN

    Simulacin de entrada de transacciones a un almacn QUEUE

    ENTER

    LINK

    Simulacin de salida de transacciones de un almacn DEPART

    ENTER

    UNLINK

    Simulacin de entrada transacciones al sistema GENERATE

    SPLIT

    Simulacin de la salida de transacciones del sistema TERMINATE

    Simulacin de diversos tipos de proceso ADVANCE

    ASSEMBLE

    MATCH

    GATHER

    Simulacin del control de flujo de transacciones TRANSFER

    TEST

    GATE

    LOGIC

    SELECT

    LOOP

    BUFFER

    Bloques de operaciones aritmticas SAVEVALUE

    MSAVEVALUE

    43

  • ASSIGN

    INDEX

    PRIORITY

    Bloque de creacin de estadsticas TABULATE

    Las instrucciones de tipo b) y c) se codifican siguiendo un formato general, dentro del cual se puedendistinguir los siguientes elementos:

    2 8 19 31Loc Bloque Operandos Comentarios

    Donde:

    Loc: Representa el nombre de una etiqueta o una direccin. La etiqueta es un campo opcional y suexistencia depende de la lgica del programa. Est localizado en la columna 2. Su funcin es similar alas etiquetas en Fortran.

    Bloque: Es la instruccin especfica por ejecutar. Representa la accin que va a llevar a cabo cada unade las transacciones que cruza por all. Se coloca en la columna 8.

    Operandos: Cada bloque representa la accin por ejecutar, sin embargo, es necesario incluir uncomplemento, como puede ser la duracin o el lugar de dicha accin. Los operandos son lascaractersticas individuales de cada bloque, y dependern de la lgica del sistema. Se colocan en lacolumna 19.

    Comentarios: Es el espacio donde el usuario puede colocar cualquier indicacin o identificacin de lainstruccin.

    En algunas versiones del GPSS, como en la de GPSS/PC!, cada instruccin debe ir precedida de un nmero deinstruccin en forma ascendente de acuerdo con la lgica, pero se utiliza slo como referencia para la edicindel programa.

    Instrucciones de control de la simulacin. Estas instrucciones son las que controlan la ejecucin, ediciny manejo de archivos en GPSS/PC!. Las principales son: END, START, SIMULATE.

    As, una vez dados los lineamientos generales, elementos y estructura del GPSS, a continuacin se explican demanera ms detallada los principales bloques del GPSS, incluyendo algunos ejemplos ilustrativos.

    Lenguajes Especficos De Simulacin

    Ventajas:

    El tiempo de desarrollo de la programacin es muy corto porque se trata de lenguajes sintticos basados enprogramacin por bloques o subrutinas, e incluso algunos de ellos estn encaminados al usuario de talforma que ya no es indispensable programar.

    Permite realizar anlisis de sensibilidad fcilmente y en un corto tiempo. Tiene alta flexibilidad para hacercambios.

    Integra funciones como generacin de nmeros aleatorios, anlisis estadstico y grficas. Tiene una alta fiabilidad que conduce a una validacin de resultados sencilla y rpida.

    44

  • Permite definir y entender el sistema a simular gracias a que se tiene una visibilidad superior de laestructura general del modelo y se aprecian ms fcilmente las interrelaciones.

    Desventajas

    Es necesario invertir en adquisicin del software. Se requiere invertir tiempo y costo en la capacitacin de los programadores del nuevo lenguaje. La computadora de la compaa y el software a adquirir deben ser compatibles.

    Caractersticas De Los Lenguajes De Simulacin

    En la actualidad los lenguajes que existen en el mercado tienen una serie de caractersticas propias que losdistinguen de otros, entre esas caractersticas estn las siguientes:

    El procedimiento utilizado para generar los nmeros aleatorios uniformes y las variables no uniformesconocidas.

    La forma de adelantar el reloj de simulacin, que puede hacerse con incrementos de tiempo fijo comoDYNAMO o con incrementos al prximo evento como GPSS.

    Las estadsticas que se obtienen y el formato en que se representan los resultados. El lenguaje en que esta escrito, lo cual influye en la forma de detectar y reportar los errores de lgica. Su compatibilidad de comunicacin con determinado tipo de computadoras, con otro lenguaje osimplemente con el usuario.

    Clasificacin De Los Lenguajes De Simulacin

    Los lenguajes de simulacin se pueden clasificar de la siguiente forma:

    Lenguajes de propsito general FORTRAN, ALGOL, ASEMBLER, PL/1, C, PASCAL, BASIC.

    Lenguajes de simulacin discreta Enfoque de flujo de transacciones: GPSS, BOSS Enfoque de eventos: GASPII, SIMSCRIPT, SIMCOM, SIMPAC Enfoque de procesos: SIMULA, OPL, SOL, SIMULATE Enfoque de actividades: CSL, ESP, FORSIMIV, MILITRAN

    Lenguajes de simulacin discreta y continua GASPIV, CSIMSCRIPT, SLAM

    Lenguajes de simulacin continua Ecuaciones discretas: DSL190, MIMIC, GHSI, DYHYSYS Enfoque de bloques: MIDAS, DYNAMO, SCADS, MADBLOC, COBLOC

    Simuladores de aplicacin especifica COMNET, NETWORK, PROMODEL. SIMFACTORY, WITNESS, XCELL

    A continuacin se presentan las caractersticas principales de los lenguajes de simulacin ms usados:

    GPSS (General Purpose Simulation System)

    Persona que lo desarrollo: Geoffrey Gordon.

    45

  • Versiones ms conocidas: GPSS I, GPSS II, GPSS III, GPSS/360, GPSS V.

    Lenguaje del paquete: Asembler.

    Reloj de la simulacin: Incremento al prximo evento.

    Computadoras compatibles: Generalmente se adapta a cualquier tipo de computadora.

    SIMSCRIPT (No tiene ningn significado)

    Personas que lo desarrollaron: H. M. Markowitz, H. W. Karr y B. Hausner.

    Versiones ms conocidas: Simscript I, Simscript I.5, Simscript II, Simscript II.5, CSimscript.

    Lenguajes del paquete: Fortran (las primeras versiones), Asembler (las ltimas).

    Reloj de la simulacin: Incrementos al prximo evento para el caso discreto, e incrementos a tiempo fijo parael caso continuo (CSimscript).

    Computadoras Compatibles: CDC 6000/7000, UNIVAC 1100, IBM 360/370, HONEYWELL.

    GASP (General Activity Simulation Program)

    Personas que lo desarrollaron: P.J. Kiviat y A. Colher.

    Versiones ms conocidas: GASP II, GASP IV, GASPPLUS.

    Lenguaje del paquete: Fortran, PL/1.

    Reloj de la simulacin: Incrementos al prximo evento para el caso discreto, e incrementos a tiempo fijo parael caso continuo (GASP IV y PLUS).

    Computadoras compatibles: Cualquier computadora con compilador de Fortran o PL/1.

    SLAM (Simulation Languaje for Alternative Modeling)

    Personas que los desarrollaron: A. Alam, B. Pritsker y Asociados.

    Versiones ms conocidas: SLAM fue el resultado de la fusin de varios lenguajes como GASP IV y QGERT.

    Lenguaje del paquete: Fortran IV.

    Reloj de la simulacin: Incrementos al prximo evento para el caso discreto, e incrementos a tiempo fijo parael caso continuo.

    Computadoras compatibles: Cualquier computadora con compilador de Fortran.

    Introduccin A Los Bloques GPPS

    Aqu se analizarn los bloques bsicos del GPSS. Estos bloques forman lo que se podra llamar un elementobsico de produccin, el cual puede ser representado como una serie de actividades a travs del tiempo. Por logeneral, este elemento bsico de produccin se repite varias veces dentro de los sistemas complejos de

    46

  • manufactura o servicios. El elemento bsico puede representarse de acuerdo con la figura 4.1 en la cual seobservan seis eventos y una actividad.

    Llegada al elemento. Este evento ocurre en el momento en que una transaccin hace su entrada al sistema.Esta entrada puede realizarse en dos formas: la primera tiene lugar cuando las transacciones provienen de unsistema que no se desea incluir dentro del modelo a simular; por tanto, la entrada de dichas transacciones deberealizarse mediante el bloque GENERATE. La segunda ocurre cuando la transaccin proviene de otroelemento bsico de produccin; en este caso, el ltimo bloque del elemento bsico i ser el bloque que simulela llegada al elemento bsico i+1.

    Inicio de un retraso. Esta actividad no planeada se lleva a cabo, al llegar al elemento bsico, una transaccinno puede iniciar con la actividad por la cual ha entrado a este elemento bsico. Para empezar a medir esteretraso, se utiliza el bloque QUEUE.

    Inicio de la actividad. Es el evento en el cual una transaccin pasa de un estado de espera a uno de actividad.Esta accin se llevar a cabo slo si el recurso con el que se lleva a cabo la actividad est desocupado odisponible. Los bloques elementales para representar este evento son el SEIZE y el ENTER.

    Fin del retraso. Ocurre en el mismo tiempo que el evento anterior, y representa el punto en el que unatransaccin termina su espera al haberse iniciado una actividad. Para dar por terminado el retraso, se hace usodel bloque DEPART.

    Actividad. Representa la accin primordial por la que una transaccin entr al elemento bsico de produccin.Esta actividad se mide en unidades de tiempo, y es el bloque que sirve para modelar tiempos de proceso otransporte. El bloque ADVANCE se utiliza para este fin.

    Fin de la actividad. El evento ocurre despus de haber transcurrido el tiempo de proceso o transporte y sufuncin principal es dejar libre el recurso que se utiliz para realizar la actividad; este recurso puede ser unamquina, un operario o una herramienta. Los bloques ms simples para modelar este evento son el RELEASEy el LEAVE.

    Salida del elemento. As como existen dos formas para entrar al elemento bsico de produccin, para salirtambin es posible hacerlo de dos maneras: la primera representa un abandono total del sistema por parte de latransaccin y se realiza mediante el bloque TERMINATE; la segunda ocurre cuando existen dos elementosbsicos interconectados. En este ltimo caso no hay bloque de salida sino una conexin lgica como lamencionada en el prrafo correspondiente a llegada al elemento.

    Objetivo. Es la descripcin de la funcin general de la instruccin. Dentro de cada descripcin se incluye undiagrama que representa la forma de la instruccin en un diagrama de flujo.

    Codificacin y diagrama. Es el formato bajo el cual se debe teclear la instruccin. Las reglas que se dan encada instruccin son generales para cualquiera de las versiones del GPSS, sin embargo, algunas versiones danla facilidad de romper esas reglas sin que ocurra un error.

    Operandos y su significado. Es la informacin que debe llevar cada instruccin, cada operando(identificandocon letras A, B, C, D, X) se acompaa de una breve informacin sobre su significado y los valores que tomanpor default al no definir los operandos.

    Atributos numricos estndares (SNA). Durante una corrida de simulacin el procesador de GPSSautomticamente guarda y actualiza cierta informacin acerca de varias entidades utilizadas en el modelo.Esta informacin puede imprimirse al final de la corrida de simulacin. Muchas de estas propiedades tambinpueden estar disponibles durante una corrida para verificar un valor deseado o para realizar algn clculo en

    47

  • particular. La informacin disponible durante la corrida acerca de instalaciones, colas almacenamientos,etctera, se llama atributos estndares (SNA).

    Lenguaje GPSS

    Generate Se puede pensar en un bloque GENERATE como una puerta a travs de la cual entran lastransacciones. No existe ningn lmite en cuanto a la cantidad de bloques GENERATE que puede contener unmodelo.

    A: Tiempo medio entre llegadas. El operando tiene que ser nombre, nmero, SNA o nulo. No se puedenutilizar parmetros. Default = 0 (opcional).

    B: Desviacin con respecto a la media (en caso de la distribucin uniforme). El operando tiene que sernombre, nmero, SNA o nulo. No se pueden utilizar parmetros. Default = 0 (opcional).

    C: Tiempo en que se generar la primera transaccin. El operando tiene que ser Nombre, nmero, SNA onulo. No se pueden utilizar parmetros.

    D: Lmite total de transacciones

    E: Nivel de prioridad. El operando tiene que ser nombre, nmero, SNA o nulo. No se pueden utilizarparmetros. Default = 0 (opcional).

    En GPSS, las distribuciones de tiempos entre llegadas estn divididas en dos categoras:

    Distribucin Uniforme. Todas las otras distribuciones.

    En esta seccin slo se considera la generacin de acuerdo con la distribucin uniforme.

    Para la distribucin uniforme, el operando A del bloque GENERATE representa el tiempo medio entrellegadas, es decir, el tiempo promedio entre llegadas consecutivas de transacciones. El operando B representala mitad del ancho del tiempo entre llegadas. El valor del operando B deber ser menor que el valor deloperando A en todos los casos, de lo contrario ocurrira un error al intentar generar una transaccin en eltiempo negativo.

    Por ejemplo, GENERATE 6, 4 significa que el tiempo entre llegadas se distribuye uniformemente en el rangode 6 4; GENERATE 8 significa que el tiempo entre llegadas se distribuye uniformemente en el rango de 8 0. Es decir, las llegadas ocurrirn exactamente cada 8 unidades de tiempo. En este caso, los tiempos entrellegadas son determinsticos, no aleatorios.

    El operando C se utiliza cuando slo se requiere fijar el tiempo de generacin de la primera transaccin. Lastransacciones subsecuentes se generarn de acuerdo con los operandos A y B. GENERATE 6, 4, 10 significaque la primera transaccin ser generada al tiempo 10 y las transacciones subsecuentes cada 6 4 a partir deltiempo 10.

    El operando D pone un lmite al total de las transacciones que pueden entrar al modelo a travs del bloqueGENERATE. Al generar el nmero de transacciones indicadas en el operando D, el bloque GENERATE sevuelve inactivo.

    GENERATE 6,4,,100 significa que se generara un mximo de 100 transacciones que se distribuyenuniformemente con el tiempo entre llegadas de 6 4; GENERATE , , , 100 significa que se generaran las 100

    48

  • transacciones juntas (sin ningn tiempo entre ellas) al inicio de la simulacin (tiempo 0).

    El operando E del bloque GENERATE permite dar prioridad a las transacciones generadas. Entre mayor seael valor del operando E, mayor es la prioridad. GENERATE 20,5,,,10 significara que se generarantransacciones cada 20 5, uniformemente distribuidas y todas con una prioridad de 10.

    Es importante considerar los siguientes puntos:

    Se requiere por lo menos un bloque GENERATE en un modelo de simulacin. El tiempo mnimo para la creacin de las transacciones es 1, a excepcin de usar el operando D en ausenciade los operandos A y B en cuyo caso las transacciones sern generadas en el tiempo 0.

    SNA

    No tiene SNA relacionados con l.

    SEIZE

    El objetivo del bloque SEIZE es simular la captura de un servidor, proceso o instalacin. Este bloque actacomo controlador del flujo de las transacciones y trabaja en conjunto con el bloque RELEASE. Sufuncionamiento general consiste en el manejo de una variable interna llamada F, la que puede tomar losvalores de 0 y 1; cuando una transaccin llega a este bloque y trata de entrar, lo podr hacer si el atributonumrico estndar (SNA) F tiene un valor de 0 (ocioso) e inmediatamente cambiar al estado del atributo F a1 (ocupado). As una transaccin ser enviada a la cadena de eventos actuales en espera de que el valor de Fcambie de 1 a 0.

    A: Identificador del servidor. Puede ser nombre, nmero, o SNA (requerido)

    Una instalacin puede ser capturada por una sola transaccin en un momento dado. Las transaccionesrestantes esperaran de acuerdo con la disciplina de primeras entradas primeras salidas para capturar lainstalacin que con otras instrucciones o bloques cambie la disciplina de captura. Por ejemplo, SEIZE CAJAsignifica que la transaccin entrante capturar la instalacin con el nombre de CAJA.

    SNA

    F: Estatus de la instalacin (1=ocupado, 0=ocioso).

    FC: Nmero de veces que la instalacin fue capturada.

    FL: Regresa el valor de 1 si la instalacin ha sido prevaciada o en estado disponible, de otra manera regresa a0.

    FT: Tiempo promedio de utilizacin de la instalacin.

    FR: Utilizacin fraccional de la instalacin.

    RELEASE

    El bloque RELEASE es la contraparte del bloque SEIZE, y permite simular la liberacin del servidor, procesoo instalacin que haba sido capturada. La funcin de este bloque es cambiar el valor del atributo numricoestndar F de 1 (ocupado) a 0 (ocioso).

    49

  • A: Identificacin del servidor. Puede ser nombre, nmero, o SNA (requerido).

    Cada SEIZE requiere acompaarse por un RELEASE, donde el operando A en ambos casos es idntico. Unatransaccin por medio de SEIZE captura una instalacin y por medio de RELEASE suelta la mismainstalacin al terminar el servicio deseado.

    Al utilizar los bloques de SEIZE y RELEASE, saldr un reporte con informacin relevante acerca de lainstalacin. Este reporte incluye informacin tal como la utilizacin promedio del servidor, el tiempopromedio de servicio por transaccin y el nmero total de entradas al bloque SEIZE.

    SNA

    Son los mismos que para el bloque SEIZE.

    QUEUE

    El bloque QUEUE permite obtener estadsticas de colas que se forman al momento que las transaccionesesperan usar un servidor. El bloque QUEUE debe complementarse con el bloque DEPART. El bloqueQUEUE se puede visualizar como punto de inicio para la toma de datos estadsticos de las colas que sepueden formar.

    A: Identificador del servidor. Puede ser nombre, nmero, o SNA (requerido).

    B: Nmero de unidades en que se incrementa el contenido de la entidad de cola.

    Default = 1. El operando debe ser nombre, entero positivo o SNA (opcional).

    En algunos problemas, una transaccin puede representar una caja o pallet, en cuyo caso se puede usar eloperando B para representar nmero de partes que realmente existe en la cola. Por ejemplo, QUEUE COLA,10 indica que cada transaccin (caja) contiene 10 piezas esperando en COLA.

    SNA

    Q: Tamao de la cola (contenido actual).

    QA: Contenido promedio de la cola.

    QC: Nmero total de entradas a la cola.

    QT: Tiempo promedio por transaccin en la cola (a base de QC).

    QM: Contenido mximo de la cola.

    QX: Tiempo promedio por transaccin en la cola (a base de QZ).

    QZ: Total de entradas con cero tiempo de espera en la cola.

    DEPART

    El bloque DEPART registra estadsticas que indican una reduccin en el contenido de la entidad de cola. Elbloque DEPART puede visualizarse como punto de terminacin para la toma de datos estadsticos de las colasque se formaron.

    50

  • A: Nombre o nmero de cola. El operando debe ser nombre, entero positivo SNA (requerido).

    B: Nmero de unidades en que se decrementa el contenido de la entidad de cola.

    Default = 1 (opcional). El operando debe ser nombre, entero positivo o SNA.

    Al utilizar los bloques QUEUE y DEPART en el reporte aparece una serie de datos estadsticos en el reporteque contienen la siguiente informacin:

    Nmero de entradas en la lnea de espera (potencial). Contenido actual de la cola (nmero de transacciones esperando. Nmero de transacciones que no tuvieron que esperar en cola (con tiempo cero en fila). Contenido promedio de transacciones en cola. Tiempo promedio de espera por transaccin.

    SNA

    Son los mismos que para el bloque QUEUE.

    ADVANCE

    El objetivo es simular retrasos en el flujo de las transacciones, de manera que puede visualizarse como eltiempo de proceso, transporte o servicio. Desde un punto de vista de anlisis de bloques, el ADVANCEpermite la entrada a toda transaccin que llegue. En este bloque pueden existir en un mismo tiempo una o mstransacciones.

    El funcionamiento de este bloque se lleva a cabo de la siguiente forma: cuando una transaccin cruza por elADVANCE en el tiempo t1, se genera en un tiempo de proceso (TP) dado por las condiciones presentadas enlos operandos A,B, y se enva la transaccin a la cadena de eventos futuros en espera de que el reloj desimulacin avance hasta el tiempo t2 = t1 + TP, tiempo en el cual la transaccin abandona la cadena deeventos futuros y continua su camino al siguiente bloque secuencial.

    A: Es el tiempo medio de retardo de la actividad (servicio). El operando debe de ser nombre, entero positivo oSNA (requerido).

    B: Desviacin con respecto a la media para la distribucin uniforme. El operando debe ser nombre, enteropositivo o SNA (opcional).

    Para la distribucin uniforme, el operando A del bloque ADVANCE representa el tiempo medio de servicio.El operando B representa la mitad del ancho del tiempo de servicio. En todos los casos, el valor del operandoB deber ser menor que el valor del operando A, de lo contrario ocurrira un error al intentar generar unatransaccin en un tiempo negativo.

    TERMINATE

    Solo remueve las transacciones activas que pasen por l, pero no controla el tiempo de corrida de simulacin.

    TERMINATE 1

    START 100

    En el momento en que una transaccin cruza por el TERMINATE, es destruida y sale del sistema, pero

    51

  • decrementa el valor START en una unidad; de esta manera, cuando 100 transacciones crucen por elTERMINATE, el valor del START llegar a 0 y el proceso de simulacin se detendr.

    TERMINATE 2

    START 100

    Cuando una transaccin cruza por el TERMINATE, es destruida y sale del sistema, pero decrementa el valorSTART en 2 unidades; de tal manera que cuando 50 transacciones crucen por el TERMINATE, el valor delSTART llegar a 0 y el proceso de simulacin se detendr.

    SNA

    TG1: Contador de terminacin

    Tomando en cuenta los bloques vistos hasta el momento, es interesante manejarlos de una forma integral. Paraesto se presentan a continuacin algunos ejemplos de sistemas que se desean modelar mediante GPSS.

    TIPOS DE BLOQUES DE GPSS

    Operacin A B C D E F

    ADVANCE Media Modificador

    ASSIGN Param Nm. () Fuente

    DEPART Cola Nm. (Unidades)

    ENTER Almacenaje Nm. (Unidades)

    GATE Artculo Nm. (Sigue bloque B)

    GENERATE Media Modificador (Desplazamiento)

    (Cuenta) (Prioridad) (Params)

    LEAVE Almacenaje Nm. (Unidades)

    LINK Cadena Nm. Orden (Siguiente bloque B)

    R

    LOGIC S Switch

    I

    MARK (Param. Nf.)

    PRIORITY Prioridad

    QUEUE Cola Nm. (Unidades)

    52

  • RELEASE Facilidad Nm.

    SAVEVALUE Reservar valor Nm. () SNA

    SEIZE Nm. Facilidad

    TABULATE Nm. Tabla (Unidades)

    TERMINATE (Unidades)

    TEST Arg. 1 Arg. 2 (Siguiente bloque B)

    TRANSFER Factor selec. Siguiente bloque A Siguiente bloque B

    UNLINK Nm. cadena Siguiente bloque A Cuenta

    (Nm. Param.) (Arg.) (Siguiente bloque B

    SMBOLOS DE LOS DIAGRAMAS DE BLOQUES DEL GPSS

    Ejemplo:

    Considere un torno manual que procesa piezas en 5 2 minutos con distribucin uniforme. El tiempo entrellegadas de las piezas al torno sigue una distribucin uniforme con parmetro 7 3 minutos. Realice unmodelo en GPSS que simule el torneado de 500 piezas.

    GENERATE 7,3

    QUEUE ALMACEN

    SEIZE TORNO

    DEPART ALMACEN

    ADVANCE 5,2

    RELEASE TORNO

    TERMINATE 1

    *

    START 500

    53

  • END

    En este ejemplo se tiene la unidad elemental de produccin en la que entran las piezas al modelo por el bloqueGENERATE, cruzando el sistema y abandonndolo en el bloque TERMINATE. Cada vez que una piezaabandona el modelo resta 1 del valor del START que detendr la simulacin cuando llegue a 0

    Ejemplo:

    Modifique el modelo anterior si desea simular adems un rectificado de las piezas despus del torneado enotro torno en el que el tiempo de operacin es de 6 1 minuto con distribucin uniforme.

    SIMULATE

    *

    GENERATE 7.3

    QUEUE ALMACEN

    SEIZE TORNO

    DEPART ALMACEN

    ADVANCE 5,2

    RELEASE TORNO

    QUEUE WIP

    SEIZE TORNO2

    DEPART WIP

    ADVANCE 6,1

    RELEASE TORNO2

    TERMINATE 1

    *

    START 500

    END

    El nico cambio es la introduccin de un nuevo elemento bsico de produccin que simula el rectificado entreel torneado y la salida del sistema. En este caso, cada elemento bsico tiene su propia mquina (TORNO yTORNO2) y estadsticas de espera separadas o dos almacenes separados (ALMACEN y WIP). Elfuncionamiento del TERMINATE y el START es similar al ejemplo anterior.

    Ejemplo:

    54

  • En un puerto se cuenta con una gra destinada a la descarga de barcos. Existe dos tipos de barcos que entranal puerto a descargar; los tiempos de descarga siguen una distribucin uniforme con parmetros de 10 2 y 17 5 horas para los barcos de tipo 1 y tipo 2, respectivamente. El tiempo entre llegadas entre los barcos sigueuna distribucin uniforme con parmetros de 15 2 y 24 5 horas para los de tipo 1 y tipo 2,respectivamente.

    Simule el sistema portuario hasta que se hayan descargado 90 barcos.

    GENERATE 15,2

    QUEUE MUELLE

    SEIZE GRUA

    DEPART MUELLE

    ADVANCE 10,2

    RELEASE GRUA

    TERMINATE 1

    *

    GENERATE 24,5

    QUEUE MUELLE

    SEIZE GRUA

    DEPART MUELLE

    ADVANCE 17,5

    RELEASE GRUA

    TERMINATE 1

    *

    START 90

    END

    Al existir dos tipos de barcos o dos tipos de transacciones con diferentes condiciones de proceso, es necesariocrear dos elementos bsicos para cada uno de ellos. Los barcos tipo 1 se introducen al modelo en elGENERATE 15,2 y son destruidos en TERMINATE 1 de su propio elemento, con lo que se evita que entrenal segundo elemento. El otro tipo de barco entra al sistema en el GENERATE 24,5 y despus de cruzar por elsegundo elemento es destruido en su respectivo TERMINATE. Los barcos nunca se cruzan dentro de lossegmentos sin embargo, comparten el recurso GRUA y las estadsticas de la espera tambin se encuentrancompartidas en el mismo MUELLE. Gracias a las cadenas de eventos, el GPSS logra unir internamente losdos elementos y manejarlos en forma simultnea o paralela, de