miércoles, 22 de febrero de 2017

UNIDAD II: NÚMEROS PSEUDO ALEATORIOS

2.1 LOS NÚMEROS PSEUDO ALEATORIOS 

Para poder realizar una simulación que incluya variabilidad dentro de sus eventos, es preciso generar una serie de números que sean aleatorios por sí mismos, y que su aleatoriedad se extrapole al modelo de simulación que se esta construyendo.
Unas de las primeras tareas que es necesario llevar a cabo consiste en determinar si los números que utilizaremos para "correr" o ejecutar la simulación son realmente aleatorios o no; por desgracia, precisar lo anterior con absoluta certidumbre resulta muy complicado, ya que para ello tendríamos que generar un número infinito de valores que nos permitiera comprobar la inexistencia de correlaciones entre ellos.

A pesar de lo anterior, podemos asegurar con altos niveles de confiabilidad que el conjunto de números que utilizaremos en una simulación se comportan de manera muy similar a un conjunto de números totalmente aleatorios; por ello es que se les denomina números pseudo aleatorios. Casi todas las aplicaciones comerciales tienen varios generadores de números pseudo aleatorios que pueden generar un conjunto muy de números sin mostrar correlación entre ellos.


2.2 GENERACIÓN DE NÚMEROS PSEUDO ALEATORIOS

Para realizar una simulación se requieren números aleatorios en el intervalo (0,1), a los cuales se hará referencia como ri, es decir, una secuencia ri=(r1, r2, r3,…,rn) que contiene n números, todos ellos diferentes; n recibe el nombre de periodo o ciclo de vida del generador que creó la secuencia ri.
Los ri constituyen la parte medular de la simulación de procesos estocásticos y generalmente se usan para generar el comportamiento de variables aleatorias, tanto continúas como discretas. Debido a que no es posible generar números realmente aleatorios, consideramos los ri como números pseudo aleatorios, generados por medio de algoritmos determinísticos que requieren parámetros de arranque.
De acuerdo con L´Ecuyer una secuencia ri con periodo de vida n=2*31=2,147,483,648 es relativamente pequeña; de hecho, incluso una secuencia de ri que contenga un ciclo de vida n=2*64 se considera pequeña.
A continuación se mostrara la razón de por qué se requiere una secuencia de números ri suficientemente grande.
Suponga que queremos simular el tiempo de atención a clientes en un banco que tiene 5 cajeros en paralelo, cada uno de los cuales atiende aproximadamente 50 clientes diarios. Para simular el tiempo de atención se requiere un generador de variable aleatoria en función de ri, por ejemplo Ti=5+2ri, expresado minutos para toda i=1, 2,3,…,n. simulamos el tiempo de atención de manera aislada, es decir, sin considerar el tiempo transcurrido desde la llegada de éstos, serán necesarios 5x50=250 números ri para simular un día; si deseáramos simular 5 días se necesitarían 2150x5=1250ri para simular el tiempo transcurrido desde la llegada al banco de los 250 clientes por día y 250x5=1250ri para simular el correspondiente al total de clientes atendidos durante 5 días. Por lo tanto se requerirían 2,500 números pseudo aleatorios ri para simular la operación del banco durante 5 días.
Los resultados no pueden basarse en una sola simulación del sistema; por el contrario, es necesario realizar varias réplicas de la misma, corriendo cada una de ellas con números pseudo aleatorios diferentes. Retomando el ejemplo del banco, simular 5 días otra vez significa que necesitamos otros 2,500 números pseudo aleatorios den el intervalo (0,1). Se requerirían 5,000 ri para realizar la simulación del sistema con dos réplicas.
Una vez generado el conjunto ri mediante un algoritmo determinístico, es necesario someterlo a pruebas para verificar su los números son realmente independientes y uniformes; si las supera, podrá utilizarse en el simulación; de lo contrario, simplemente deberemos desecharlo.
Un conjunto de ri debe seguir una distribución uniforme continua, la cual está definida por:


Lo difícil es diseñar un algoritmo que genere un conjunto de ri con periodo de vida suficientemente grande (N) y que supere las pruebas de uniformidad e independencia; lo cual implica evitar:
·         Que los números de conjunto ri no estén uniformemente distribuidos, es decir, que haya demasiados ri en un subintervalo y en otro muy pocos o ninguno.
·         Que los números ri generados sean discretos en lugar de continuos.
·         Que la media del conjunto sea muy alta o muy baja, es decir, que esté por arriba o por debajo del ½.
·         Que la varianza del conjunto sea muy alta o muy baja, es decir, que se localice por arriba o por debajo del 1/12.


2.2.1 Algoritmos de Cuadrados medios

Este algoritmo requiere un número entero detonador (llamado semilla) con D dígitos, el cual es elevado al cuadrado para seleccionar del resultado los D dígitos del centro; el primer número ri se determina simplemente anteponiendo el "0." a esos dígitos. Este método se repite hasta obtener n números ri

  • 1.    Seleccionar una semilla (X0) con D dígitos (D>3).
  • 2.    Sea X0 = resultado de elevar X0 al cuadrado; sea X1 = los D dígitos del centro, y sea ri = 0.D dígitos del centro.
  • 3.    Sea Yi = resultado de elevar Xi al cuadrado; sea Xi+1 = los D dígitos del centro, y sea ri = 0.D dígitos del centro para toda i = 1, 2, 3, ... , n.
  • 4.    Repetir el paso 3 hasta obtener los n números ri deseados.
  • 5.    Nota: Si no es posible obtener los D dígitos del centro del número Yi, agregue ceros a la izquierda del número Yi.  



Ejemplo:
Generar los primeros 5 números ri a partir de las semillas X0 = 5015 y X1 = 5 734; observe que ambas semillas tienen D = 4 dígitos.
Solución:

Y0=(5735)2=32890225
Y1=(8902)2=79245604
Y2=(2456)2=06031936
Y3=(0319)2=101 761
Y4=(0176)2= 030976
X1 = 8 902
X2 = 2 456
X3 = 0319
X4 = 0176
X5 = 3 097
r1 = 0.8902
r2 = 0.2456
r3 = 0.0319
r4 = 0.0176
r5 = 0.3097


El algoritmo de cuadrados medios generalmente es incapaz de generar una secuencia de ri con periodo de vida n grande. Además, en ocasiones sólo es capaz de generar un número, por ejemplo, si X0 = 1000, entonces X1 = 0000; ri = 0.000 y se dice que el algoritmo se degenera  con la semilla de X0 = 1 000.


2.2.2 Algoritmos de Productos Medios


La mecánica de generar números pseudo aleatorios de este algoritmo no congruencial se define de la siguiente manera:
  • Se requiere de dos números semillas, ambas con D dígitos
  • Las semillas se multiplican y del producto se seleccionan los D dígitos del centro aquí se forma el primer número pseudo aleatorio ri=0
  • Se elimina una semilla y la otra se multiplica por el primer número de D dígitos, para luego seleccionar del producto los D dígitos que conformaran el segundo número ri.
  • Se elimina la segunda semilla y se multiplican el primer número de D dígitos por el segundo número de D dígitos; de este producto se obtiene el tercer número ri.

Siempre se ira eliminando el número más antiguo, y el procedimiento se repetirá hasta generar los n números pseudo aleatorios.

Nota: si no es posible obtener los D dígitos del centro agregue números a la izquierda del mismo.



Ejemplo
Generar los primeros 5 números ri a partir de las semillas X0 = 5015 y X1= 5734; observe que ambas semillas son de D= 4 dígitos.
Solución:
Y0= (5015) (5734) = 28 756 010   X2=7560   r1= 0.7560
Y1= (5734) (7560) = 43 349 040   X3= 3490  r2=0.3490
Y2= (7560) (3490) = 26 384 400   X4= 3844   r3=0.3844
Y3= (3490) (3844) = 13 415 560   X5= 4155   r4= 0.4155
Y4= (3844) (4155) = 15 971 820   X6= 9718   r5=0.9718


2.2.3 Algoritmo del multiplicador constante

Este algoritmo no congruencia es similar al algoritmo de productos medios. Los pasos necesarios para generar un número pseudoaleaotoria con este algoritmo son:
1.       Seleccionar una semilla (X₀) con D dígitos (D>3)
2.       Seleccionar una constante (a ) con D dígitos (D>3)
3.       Sea y₀=a*X₀; sea X₁= los D dígitos del centro y sea ri=0. D dígitos del centro
4.       Sea yi=a*Xi; sea Xi+1= los D dígitos del centro, y sea ri+1=0. D dígitos del centro para toda i= 1, 2, 3, …, n

5.       Repetir el paso 4 hasta obtener  los n números ri deseados.

2.2.4 Algoritmo lineal


Este algoritmo congruencial fue propuesto por D. H. Lehmer en 1951. Según Law y Kelton, este algoritmo ha sido el más usado. El algoritmo congruencial lineal genera una secuencia de números enteros por medio de la siguiente ecuación recursiva:
Xᵢ₊₁=(aXᵢ+c)mod(m)           i=0,1,2,3,…,n
Donde X0= Semilla
A= Constante multiplicativa
C= Constante aditiva
M= Modulo



2.2.5 Algoritmo congruencial 

multiplicativo


El algoritmo congruencial multiplicativo surge del algoritmo congruencial lineal cuando C=0. Entonces la ecuación recursiva es:
Xᵢ₊₁=(aXᵢ)mod(m)        i=0,1,2, 3,…,n
De acuerdo con Banks, Carson, Nelson y Nicol las condiciones que deben cumplir los parámetros para que el algoritmo congruencial multiplicativo alcance su máximo periodo son:
M=2ᵍ
A=3+8k   o a=5+8k
K=0,1,2,3…
X0 debe ser un número impar
G debe sr entero

2.2.6 Algoritmo congruencial aditivo


En este algoritmo requiere una secuencia previa de n números enteros X1, X2, X3, X4,…, Xn para generar una nueva secuencia de números enteros que empiezan en Xn+1, Xn+2, Xn+3, Xn+4,…, Xn+n.
Su ecuación recursiva es:
Xᵢ= (Xᵢ₋₁+Xᵢn)mod(m)      i=n+1, n+2, n+3,…,N



2.2.7 Algoritmos congruenciales no 

lineales


Se analizan dos algoritmos congruenciales no lineales:
·         Algoritmo congruencial dramático: Este algoritmo tiene la siguiente ecuación recursiva
Xi+1=(aX²ᵢ+bXᵢ+c)mod(m)        i=0,1,2,3,…,N
En este caso os números rᵢ, pueden ser generados por: rᵢ=Xᵢ/(m-1)
M=2ᵍ
A debe ser un numero par
C debe ser número impar
G debe ser numero entero
(b-1) mod=4

·         Algoritmo de Blum, Blum y Shub
Si en el algoritmo congruencial cuadrático a=1, b=0 y c=0, entonces se construye una nueva ecuación recursiva:
X²ᵢ)mod(m)   i=0,1,2,3,…,n




Link de ejercios: https://drive.google.com/open?id=0B9XIpzwZmrNRWjNrLU1WZUxNa28



BIBLIOGRAFIA:
García. E., García. H., Cárdenas. L. (2006), Simulacoón y análisis de sistemas con Promodel, México, PEARSON Educación.

jueves, 9 de febrero de 2017

Artículo: “Análisis de la línea a través de teoría de colas y simulación”

Artículo: “Análisis de la línea a través de teoría de colas y simulación”

El propósito del artículo “Análisis de la línea a través de teoría de colas y simulación” es analizar un servicio de líneas de espera ya que estas traen consigo diferentes tipos de inconveniente que se reflejan a corto y mediano plazo, esto debido a que algunas veces la capacidad de servicio es menor que la capacidad demandada. Por lo que se buscan modelos en el área de teoría de colas para encontrar un equilibrio entre las unidades en la línea de espera y la cantidad de servidores para satisfacer la demanda.
En ocasiones se puede utilizar el apoyo de programas de simulación para un análisis más flexible; por lo tanto en este artículo se muestran las ventajas de incorporar modelos de simulación en la teoría de colas.
TEORÍA DE COLAS

La teoría de colas es un conjunto de modelos matemáticos que describen sistemas de líneas de espera particulares. El objetivo principal es encontrar el estado estable del sistema y determinar una capacidad de servicio apropiada que garantice un equilibrio entre el factor cuantitativo (referente a costos del sistema) y el factor cualitativo 


Con base a lo anterior en necesario tener en cuenta algunos componentes claves para ser analizados, los cuales son: 1. Las llegadas de los clientes. 2. La capacidad de la cola. 3. La disciplina de la cola. 4. Los tiempos de servicio. 5. La cantidad de servidores. 6. Las etapas del sistema.
En esta fase es importante conocer o identificar cuántos servidores están disponibles para atender los clientes que llegan al sistema. De esta manera se pueden presentar diferentes estructuras de sistemas de colas.


SIMULACIÓN.
La modelación de escenarios a través de la simulación es una técnica que nos permite ejecutar estudios piloto, con resultados rápidos y a un costo relativamente bajo. El proceso de elaboración del modelo involucra un grado de abstracción y no necesariamente es una réplica de la realidad.
Debido a que el modelo es dinámico, su respuesta a diferentes entradas puede ser usada para estudiar el comportamiento del sistema del cual fue desarrollado.
Es importante tener claro las partes básicas que debe poseer un modelo, estas son:
  • Los componentes
  • Las variables
  • Los parámetros
  • Las relaciones funcionales
  • Las restricciones
  • Funciones de desempeño

Componentes de la Simulación. Todo modelo de simulación debe contener unos componentes básicos tal como se ilustra en la figura.



DE LA TEORÍA A LA PRÁCTICA.

 En pro de presentar las utilidades de aplicar los conceptos de la Teoría de Colas a través de la Simulación, se tomó como caso de estudio la cola preferencial de una sucursal bancaria y se analizó las medidas de desempeño de dicho sistema por medio del modelo matemático respectivo, para luego ser comparado con el modelo de Simulación.
Aplicación del Modelo de Simulación. En este numeral se procede a mostrar las características y resultados del modelo simulado a través del Software Promodel Student (Versión 7) en donde se aprecia el comportamiento del sistema objeto de estudio.

La figura ilustra el diagrama del sistema, el cual se compone de dos locaciones. La primera hace referencia a la fila preferencial donde llegan los clientes denominados especiales o importantes del banco y la segunda estación se refiere al cajero encargado de atender a dichos clientes. En la primera estación se asumió capacidad infinita (es decir que no hay un tope máximo de clientes que pueden llegar a hacer fila) y en la segunda estación se estableció capacidad de uno, es decir que el cajero solo puede atender un cliente a la vez.

CONCLUSION
Tenemos que con la implementación del modelo de Teoría de Colas y el modelo de Simulación se puede ver como el sistema conformado por la fila de clientes preferenciales y el cajero asignado, está teniendo un tiempo de ocio, esto debido a que el porcentaje de utilización es apenas del 65%, quedando un 35% libre, el cual se puede utilizar para otras actividades. Además a través de la aplicación de ambos modelos también se puede analizar otros datos que el modelo de simulación entrega. Por lo tanto podemos decir que es muy importante  la implementación de modelos de simulación, ya que estos permiten profundizar mucho más en el comportamiento del sistema analizado. Igualmente se resalta la importancia de apoyar la simulación con modelos teóricos, esto debido a que es una excelente forma de validar la representación del modelo simulado con respecto al modelo real. De esta manera, el investigador podrá realizar cambios y ajustes al modelo con la tranquilidad de que los resultados obtenidos serán muy acordes con la realidad.

Artículo completo:
http://www.redalyc.org/pdf/849/84920977012.pdf

lunes, 6 de febrero de 2017

PROGRAMAS DE CÓMPUTO PARA SIMULAR PROCESOS PRODUCTIVOS

ARENA
Arena es un software de simulación y automatización de eventos discretos desarrollado por Systems Modeling y adquirida por Rockwell Automation en 2000. Utiliza el procesador y el lenguaje de simulación SIMAN.
En Arena, el usuario construye un modelo experimental mediante la colocación de módulos (cajas de diferentes formas) que representan procesos o lógicas. Las líneas de conexión se utilizan para unir estos módulos entre sí y especifica el flujo de entidades. Mientras que los módulos tienen acciones específicas relativas a las entidades, flujo y temporización, la representación exacta de cada módulo y de la entidad en relación con los objetos de la vida real está sujeta a la del modelador. Los datos estadísticos, como el tiempo de ciclo y los niveles de WIP (Work in Process), se pueden grabar y  ser emitida como informes.
Características del Software de Simulación Arena para Eventos Discretos:
  • Metodología de modelado de diagrama de flujo que incluye una amplia biblioteca de bloques de construcción predefinidos para modelar el proceso sin la necesidad de programación personalizada
  • Completa gama de opciones de distribución estadística para modelar con precisión la variabilidad del proceso
  • Capacidad para definir trayectorias de objetos y rutas para la simulación
  • Análisis estadístico y generación de informes
  • Las mediciones de rendimiento y cuadros de mando
  • Capacidad de animaciones realistas en 2D y 3D para visualizar resultados más allá de los números.


ProModel
ProModel es un simulador con animación para computadoras personales. Permite simular cualquier tipo de sistemas de manufactura, logística, manejo de materiales, etc. Puedes simular bandas de transporte, grúas viajeras, ensamble, corte, talleres, logística, etc.
ProModel es un paquete de simulación que no requiere programación, aunque sí lo permite. Corre en equipos 486 en adelante y utiliza la plataforma Windows®. Tiene la combinación perfecta entre facilidad de uso y flexibilidad para aplicaciones complejas.
Puedes simular Justo a Tiempo, Teoría de Restricciones, Sistemas de Empujar, Jalar, Logística, etc. Prácticamente, cualquier sistema puede ser modelado.
Una vez hecho el modelo, éste puede ser optimizado para encontrar los valores óptimos de los parámetros claves del modelo. Algunos ejemplos incluyen determinar la mejor combinación de factores para maximizar producción minimizando costo, minimizar el número de camiones sin penalizar el servicio, etc.
El módulo de optimización nos ayuda a encontrar rápidamente la solución óptima, en lugar de solamente hacer prueba y error. ProModel cuenta con 2 optimizadores disponibles y permite de esta manera explotar los modelos de forma rápida y confiable.


@RISK
Realiza análisis de riesgo utilizando la simulación para mostrar múltiples resultados posibles en un modelo de hoja de cálculo, y le indica qué probabilidad hay de que se produzcan. Computa y controla matemática y objetivamente gran número de escenarios futuros posibles, y luego le indica las probabilidades y riesgos asociados con cada uno. Esto quiere decir que usted podrá decidir qué riesgos desea tomar y cuáles prefiere evitar, tomando la mejor decisión en situaciones de incertidumbre.
@RISK también le ayuda a planificar las mejores estrategias de administración de riesgo mediante la integración de RISKOptimizer, que combina la simulación Monte Carlo con lo último en tecnología de resolución de problemas para optimizar cualquier hoja de cálculo que contenga valores inciertos. Usando algoritmos genéticos u OptQuest, junto con las funciones de @RISK, RISKOptimizer puede determinar la mejor asignación de recursos, la distribución óptima de activos, el calendario más eficiente y mucho más.


TopRank
TopRank, incluido en Decisión Tools Suite, realiza análisis de sensibilidad automatizados de suposiciones Y si... en hojas de cálculo de Microsoft Excel para responder a estas preguntas. Defina cualquier celda de salida o “resultado final” y Top Rank encontrará y variará automáticamente todas las celdas de entrada que afectan a ese resultado. Usted también puede controlar exactamente qué celdas le gustaría analizar. El resultado es una serie de gráficos de tornado, gráficos de araña y otros informes fáciles de entender que identifican y clasifican claramente cuáles son las variables que tienen un mayor efecto sobre el resultado final.


FlexSim
Es un poderoso programa de simulación que permite visualizar y probar cambios en las operaciones y los procesos de producción, logística, manejo de materiales y servicios de la manera más rápida y sencilla evitando los altos costos, riesgos y extensos tiempos que conllevan el experimentar con cambios en el mundo real y su análisis por prueba y error.
Permite analizar diferentes escenarios y condiciones, encontrando la solución más conveniente, todo esto en un ambiente gráfico en tres dimensiones (3D), con los últimos avances en tecnología que facilita la comunicación y comprensión de las ideas para una acertada toma de decisiones. Gráficas, reportes y estadísticas presentan los resultados del modelo de simulación de una manera clara y precisa.
Identifica cuellos de botella, analiza costo beneficio de un proyecto conociendo si una inversión es conveniente, prueba rápidamente diferentes escenarios para encontrar la forma más eficiente de trabajar. Puedes medir el nivel de servicio, hacer un costeo de la operación, definir capacidades, balanceo de líneas, tamaño de Kanban, evaluar si la automatización se justifica, probar los conceptos de Lean Manufacturing, encontrar el nivel óptimo de inventario y diseñar el mejor layout y probar cualquier otra idea que puedas imaginar.



ASPENTECH
AspenONE de la compañía AspenTech es la aplicación líder en el mercado que permite optimizar los procesos de ingeniería. Contiene herramientas para la simulación, diseño, monitoreo, optimización y planificación financiera de plantas químicas, petroquímicas, metalúrgicas y otras industrias, accesibles desde una interfaz gráfica fácil de usar.
Las capacidades de simulación permiten predecir el comportamiento de un proceso utilizando relaciones de ingeniería básicas tales como balances de materia y energía, equilibrio de fases y cinética de reacciones. Algunas de las herramientas disponibles son Aspen Plus e HYSYS.


Plant Simulation
Es una aplicación de computadora desarrollada para modelar, simular, analizar, visualizar y optimizar sistemas productivos y de procesos, el flujo de materiales y operaciones logísticas. Utilizando Plant Simulation, los usuarios pueden optimizar el flujo de materiales, utilización de recursos y logística para todos los niveles de planeación de plantas desde manufactureras globales, fábricas locales, a líneas específicas.
Dentro del portafolio de Diseño y Optimización de Plantas al que pertenece Plant Simulation es junto con los productos de Fábrica y Manufactura Digital parte del Software de Product Lifecycle Management (PLM). Esta aplicación permite comparar alternativas complejas de producción, incluyendo la inmanente lógica del proceso, a través de simulaciones de computadora. Plant Simulation es utilizado por planeadores de producción individuales así como empresas multinacionales, primariamente para planear estratégicamente layout, lógicas de control y dimensiones de complejas y grandes inversiones de producción. Es uno de los principales productos que dominan ese mercado. 
  • Industria automotriz 
  • Plantas manufactureras 
  • Ingeniería mecánica 
  • Industria de procesos 
  • Industria de electrónicos 
  • Industria de productos de consumo 
  • Compañías logísticas (logísticas de transportación, logísticas de transporte y logísticas de producción)



WITNESS
Es un programa dirigido esencialmente a la simulación dinámica de procesos industriales de producción, más restringidos que los otros paquetes descritos bajo el punto de vista de la dinámica de sistemas, pero dotado de múltiples herramientas para su función principal. Puede modelizar sobre la base de dichas herramientas todo tipo de actividades relacionadas con los fluidos y cuenta con elementos de monetización específicos para la industria del petróleo, como pueden ser tanques, tuberías, etc.
Dispone de gran capacidad de visualización gráfica de los modelos y de los resultados de la simulación alcanzando características de “visualización dinámica”, con animación integrada, importación con CAD e incluso realidad virtual. Se puede representar, por ejemplo el layout de la planta simulada y los movimientos de personal y mercancías en la misma.





Comentario:
Respecto a nuestra opinión Promodel es el programa de computo mayormente viable ya que permite una fácil comprensión para su uso y es grafico-interactivo; presenta una visión más cercana a la realidad y va encaminado a procesos industriales por lo que se considera óptimo al poder modelar prácticamente cualquier sistema como justo a tiempo y teoría de restricciones, facilita la simulación y ayuda con la búsqueda de aspectos clave para mejorar y maximizar los procesos productivos que se están comparando en determinadas circunstancias.
De igual forma Flexsim es otro de los software que también consideramos práctico y completo ya que ayuda a encontrar la solución de distintos problemas, como generar el producto correcto en el menor tiempo posible, comparar escenarios para la forma más sencilla de trabajar o bien para simular  contratiempos logísticos. Facilita la comprensión e interpretación en un ambiente grafico totalmente animado y permite la construcción de una forma más sencilla para modelos simples y complejos.