martes, julio 18, 2006

1 TÉCNICAS DE SIMULACIÓN - INTRODUCCIÓN

1.1.- ¿QUÉ ES SIMULACIÓN?


Se entiende por simulación una extensa colección de métodos y aplicaciones para imitar el comportamiento de sistemas reales, normalmente en una computadora y a través de un software apropiado. De hecho el término simulación puede ser muy general ya que la idea se refiere a muchos campos, industrias y aplicaciones. Hoy en día, la simulación es más popular que nunca debido a que los ordenadores y el software son mejores y más asequibles.

1.1.1.- MODELADO


La simulación como la mayoría de los métodos analíticos, envuelve a los sistemas y a los modelos de los mismos.

1.1.1.1.- ¿QUÉ SE MODELA?


La simulación trata con modelos de sistemas .Un sistema es un proceso real o planificado, como por ejemplo:

- Una planta de fabricación con máquinas, personal, transportes, cintas transportadoras almacenes, etc.
- Un banco u otras entidades de servicio, con diferentes tipos de clientes, servidores, expendedores automáticos, cajeros automáticos, etc.

- Una red de distribución o transporte.

- Una red de servicio al cliente, con posibles clientes en un área geográfica, técnicos con diferentes cualificaciones, camiones con diferentes recambios y herramientas, un depósito central y un centro de carga.

- Una red de ordenadores con servidores, clientes, disco, unidades de cinta, impresoras y operadores.

- Una red de autopistas con cruces control y tráfico.

- Una central de seguros donde se recibe mucho formulario, se repasa, se copia se rellena y se envía por personas y máquinas.

- Un sistema de justicia, con juzgados, jueces, staff, fiscales, defensores, etc.

- Una planta de productos químicos con tanques de almacenaje, pipelines, reactores, y tanques móviles a los que enviar el producto final.

- Un restaurante de comida rápida con trabajadores de distintos tipos, clientes, equipamiento y materias primas.

- Un supermercado con un control de inventario, caja y un servicio al cliente.

- Un parque temático, con atracciones, tiendas, restaurantes, trabajadores, invitados y parkings.

- El personal de actuación inmediata en caso de una catástrofe.

La gente normalmente estudia un sistema para medir su rendimiento, mejorar su funcionamiento, o diseñarlo si no existe. Los gerentes y controllers de un sistema también quieren tener información disponible para la operación diaria, como ayudas a decidir en caso de que una máquina importante se estropee, etc.

Se conocen casos de directores que han ordenado simulaciones pero que realmente no estaban interesados en los resultados. Su meta principal era centrar la atención en como su sistema funcionaba. A menudo los análisis de simulación encuentran el problema de definir como funciona el sistema, que debe ser realizado antes de poder desarrollar la simulación y que proporciona una visión de los cambios que deben ser hechos. Esto es posiblemente debido a que nadie en la organización en responsable de entender como funciona el sistema completo. Hay expertos en diseño de máquinas, materiales, procesos, etc., pero no en la operativa del día a día del sistema. Por tanto, la simulación es mucho más que construir un modelo y realizar un experimento estadístico. Hay mucho que aprender en cada paso del proyecto de simulación, y las decisiones que se toman a lo largo del proyecto pueden afectar profundamente en los resultados y su validez.



1.1.1.2.- ¿PORQUÉ NO EXPERIMENTAR CON EL SISTEMA?


Puede ser posible experimentar con el sistema actual. Por ejemplo:

- Algunas ciudades han instalado semáforos en sus autopistas, para experimentar con diferentes secuencias de entrada y encontrar aquella que permita aumentar la seguridad y descongestionar mejor el tráfico.

- Un gerente de un supermercado puede experimentar con diferentes políticas de inventarios y con asignaciones de personal a fin de encontrar las mejores combinaciones y dar el mejor servicio a los clientes.

- Una empresa de networking puede experimentar con diferentes configuraciones para ver cual ofrece un mejor rendimiento.

Este método ciertamente tiene unas ventajas. Sí se puede experimentar con el sistema y se sabe que nada variará significativamente, entonces estamos incuestionablemente haciendo lo adecuado y no necesitamos preocuparnos de sí el modelo se comporta lo suficientemente bien para simular el sistema.



1.1.1.3.- INCONVENIENTES DE EXPERIMENTAR CON EL SISTEMA


En muchos casos, es muy difícil, costoso, o simplemente imposible, hacer estudios físicos en el sistema.
- No se puede experimentar con diferentes distribuciones en planta de una fábrica si no esta construida. Incluso en una fábrica existente puede ser muy costoso cambiar a una distribución en planta experimental que puede ser que no funcione.

- Sería muy difícil de explicar a los clientes que se cierra la segunda ventanilla de un banco para ver que pasa con el tiempo medio de espera.

- Experimentar un nuevo sistema de facturación en el aeropuerto podría causar que muchos pasajeros perdieran su vuelo, si hubiera problemas no detectados con el nuevo procedimiento.

- Es imposible experimentar con el personal de urgencias de un hospital, por ejemplo.

En estas situaciones, sería útil construir un modelo para estudiar el sistema y responder a las preguntas de qué pasaría en el sistema si se hiciera tal o cual cosa, o si hubiera que desarrollar una situación bajo control. No habrá ningún daño, y la libertad para probar cualquier idea en el modelo puede descubrir alternativas atractivas que no habríamos sido capaces de poner en marcha con el sistema real.

De todas maneras, se han de construir los modelos cuidadosamente y con suficiente detalle para que la información que se extraiga del modelo sea la misma que se extraería del sistema si hubiéramos experimentado con él.



1.1.1.4.- MODELOS FÍSICOS


Hay una gran variedad de modelos. Quizás la primera que no viene a la cabeza es la réplica a escala del modelo como por ejemplo:

- Se construyen modelos de sistemas de almacenamiento que son miniaturas del real, para considerar el efecto en el rendimiento de diversas distribuciones en planta, rutas de vehículos y equipos de transporte.

- Una réplica a escala natural de un restaurante de comida rápida fue descrita por Swart y Donno (1981). De hecho muchas de las grandes cadenas de comida rápida, tienen restaurantes en sus edificios corporativos para experimentar nuevos productos y servicios.

- Se han desarrollado habitaciones de control simuladas para entrenar a los operadores de plantas nucleares.

- Los simuladores de vuelo son extensamente utilizados para entrenar a los pilotos. Existen también programas de simuladores de vuelo, que representan modelos lógicos ejecutados en un ordenador. Además, los simuladores de vuelo físicos pueden tener pantallas, con lo que tienen elementos de simulación física y asistida por ordenador.



1.1.1.5.- MODELOS MATEMÁTICOS


Nosotros consideraremos los modelos matemáticos de los sistemas. Este tipo de modelos es un conjunto de aproximaciones y supuestos, estructurales y cuantitativos, sobre la manera en que el sistema se comporta o se comportará.

Un modelo lógico se representa como un programa que se construye para responder a las preguntas sobre el comportamiento del modelo. Si el modelo es una representación válida del sistema, la información que se extraiga será extrapolable al sistema. Y como se está manipulando un programa es rápido, fácil, y barato conseguir respuestas a una serie de cuestiones del sistema simplemente manipulando las entradas del programa y su forma. Por supuesto se pueden cometer errores en el programa pero no importan de la manera que lo harían en la experimentación real sobre el sistema. Como en otros campos el incremento de la capacidad de cálculo de los ordenadores ha aumentado la posibilidad de llevar a cabo ciertas simulaciones realmente complicadas.



1.1.1.6.- ¿QUÉ HACER CON LOS MODELOS MATEMÁTICOS?


Después de haber hecho las aproximaciones y suposiciones para el modelo del sistema objetivo, necesitamos encontrar una manera de tratar el sistema y analizar su comportamiento.

Si el modelo es lo suficientemente simple, se pueden utilizar métodos matemáticos tradicionales como la teoría de colas, ecuaciones diferenciales o la programación lineal. Esto sería una situación óptima, ya que podemos encontrar fórmulas fácilmente evaluables que nos responderán a nuestras preguntas.

Incluso si no tenemos una fórmula cerrada pero si un algoritmo, podemos obtener respuestas numéricas que siempre serán mejores que las estimaciones. De todas maneras la mayoría de los sistemas que la gente estudia son muy complicados, de manera que los modelos válidos para estos sistemas son realmente complicados también. Para estos modelos es casi seguro que no habrá soluciones matemáticas y es en este momento cuando la simulación entra en juego.



1.1.2.- SIMULACIÓN POR ORDENADOR


La simulación por ordenador se refiere a unos métodos para estudiar los modelos de los sistemas reales mediante una evaluación numérica usando un software designado para imitar las características y operaciones del sistema. Desde un punto de vista práctico la simulación es el proceso de diseñar y crear un modelo computerizado de un sistema real propuesto para llevar a cabo experimentos numéricos, que nos proporcionarán un mejor entendimiento del comportamiento del sistema para unas condiciones dadas. Aunque se puede utilizar para estudiar sistemas simples, el verdadero poder de esta técnica se aplica en el estudio de los sistemas complejos.

Aunque la simulación puede no ser la única herramienta para estudiar el sistema, suele ser la elegida. La razón es que la simulación permite que el modelo sea muy complicado, si se necesitase para representar fielmente el sistema, y, aún así, se podría seguir haciendo el análisis de simulación. Otros métodos suelen necesitar simplificaciones mayores para permitir su análisis, que pueden cuestionar su validez.



1.1.2.1.- POPULARIDAD Y VENTAJAS


En las últimas décadas la simulación ha sido destacada como la más importante herramienta de investigación de operaciones:

- Rasmussen y George (1978) preguntaron a los graduados del Departamento de Investigación de operaciones de la Case Western Reserve University sobre el valor de los métodos después de la graduación. Los primeros cuatro métodos fueron análisis estadísticos, series temporales, análisis de sistemas y sistemas de información. La simulación fue el siguiente, por delante de otros métodos tradicionales en investigación de operaciones como programación lineal y teoría de colas.

- Thomas y DaCosta (1979) dieron a los analistas de 137 grandes firmas una lista de herramientas y les preguntaron cuales de ellas usaban. El análisis estadístico resultó clasificado en primer lugar, el 93% de las firmas dijeron utilizarlo, seguido por la simulación con el 84%. De nuevo la simulación se situó delante de herramientas como la programación lineal, PERT/CPM, teoría de inventarios, y programación no lineal.

- Shannon, Long, y Buckles (1980) miembros de la división de investigación de operaciones del Instituto Americano de Ingenieros Industriales encontraron que entre todas las herramientas la simulación era la primera en utilidad e interés. Era la segunda en familiaridad, detrás de la programación lineal.

- Forgionne (1983); Harpell, Lane, y Mansour (1989) y Lane, Mansour y Harpell (1993) constataron que en las grandes corporaciones el análisis estadístico era el más utilizado, mientras que la simulación era el segundo.

La principal razón para la popularidad de la simulación es la habilidad para tratar con modelos muy complicados correspondientes a sistemas muy complicados. Otra razón para la creciente popularidad de la simulación es la mejora de los ratios de rendimiento-precio de los ordenadores, haciendo accesible lo que era excesivamente costoso unos años atrás. Por último los avances en la potencia del software de simulación, flexibilidad y facilidad de uso han llevado a los programadores de los lenguajes de bajo nivel a los nuevos paquetes de simulación.

De esta manera la popularidad y efectividad de la simulación en mayor que la de los años precedentes debido a los avances en hardware y software.



1.1.2.2.- INCONVENIENTES DE LA SIMULACIÓN


De todas maneras la simulación no es tampoco el paraíso porque muchos sistemas están afectados por entradas aleatorias, causando la respuesta aleatoria. Por ejemplo, un modelo de un centro de distribución tendrá llegadas, salidas y tamaños de lotes con una distribución de probabilidad particular, que se propagará por el modelo para causar medidas de rendimiento como los tiempos de proceso y ciclo, aleatorios también. Por lo tanto, hacer una simulación estocástica es como hacer un experimento físico, cada vez que hagas uno verás algo diferente, incluso si no se cambia ninguna de las condiciones del entorno. En muchas simulaciones, a medida que el tiempo de simulación es mayor, la mayoría de los resultados se tienden a estabilizar y a hacerse menos variables, pero es difícil determinar cuanto tiempo de simulación será necesario para que esto ocurra. De manera que un estudio puede decir que la simulación debe parar en un momento adecuado, por ejemplo el horario de un banco, y, por tanto, simular más tiempo para conseguir menos variabilidad sería inadecuado.

Por tanto, se ha de pensar concienzudamente el diseño y el análisis de los experimentos de simulación, para tomar en cuenta la incertidumbre en los resultados, especialmente si el tiempo de simulación es relativamente corto.

Aunque las respuestas de la simulación pueden ser inciertas, podemos manejarlas, cuantificarlas, y reducir su incertidumbre. Seríamos capaces de reducir esta aleatoriedad mediante un conjunto de simplificaciones sobre el sistema; esto nos llevaría a un modelo bonito y sencillo, que produciría resultados apetecibles no aleatorios. Desafortunadamente este modelo simplificado no sería una representación válida del sistema, y el error debido a la invalidez de este modelo sería imposible de medir o reducir. Siempre será mejor una respuesta aproximada para el problema real, que una respuesta exacta para un problema ficticio o incorrectamente planteado.



1.1.2.3.- TIPOS DE SIMULACIÓN


Hay muchas maneras de clasificar los modelos de simulación, pero una de las más usadas es la siguiente:

- Estática vs Dinámica: El tiempo no juega ningún papel en los modelos estáticos. Los modelos donde el tiempo si es importante son mayoría, como pueden ser los modelos operacionales.

- Continua vs Discreta: En un modelo continuo, el estado del sistema, puede cambiar continuamente a través del tiempo; un ejemplo podría ser el nivel de un depósito de agua, mientras se vacía. En un modelo discreto los cambios ocurren en puntos separados del tiempo, como sistemas de fabricación con piezas llegando y saliendo en tiempos específicos, paradas y puestas en marcha de máquinas, y pausas de los operarios. Se pueden tener elementos continuos y discretos mezclados, como por ejemplo en una refinería, con los cambios continuos de presión y las paradas por avería discretas.

- Determinísticos vs Estocásticos: Los modelos que no tienen entradas aleatorias son determinísticos. Un trabajo estricto como el de una maquina automática con tiempos fijos sería un modelo determinístico. Los modelos estocásticos operan con entradas aleatorias, como un banco con llegadas aleatorias de personas que requieren tiempos variados de servicio. Un modelo puede tener entradas determinísticas y aleatorias a la vez.




1.1.3.- METODOLOGÍAS DE SIMULACIÓN


Si se ha determinado que una simulación sería adecuada, hay que decidir como se llevará a cabo.


1.1.3.1.- A MANO


Al principio, la gente realizaba las simulaciones a mano. En 1733 George Louis Leclerc describió un experimento para estimar el número pi. Aunque el experimento era sencillo, tenía ciertos aspectos que eran comunes a otras simulaciones. La finalidad era estimar algo (el número pi) cuyo valor sería difícil de calcular exactamente.

La estimación que hallaremos no será exacta y sería buena idea tener una aproximación de la variabilidad de la respuesta. Parece intuitivo que cuanto mayor número de experimentos se hacen menor es la variabilidad de los resultados. De hecho se puede hacer un experimento secuencial y alargarlo hasta que el error sea lo suficientemente pequeño, en vez de decidir el número de experimentos de antemano.

En los años veinte y treinta, los estadísticos empezaron a usar máquinas de números aleatorios y tablas para desarrollar una teoría estadística. Walter A. Shewhart realizó experimentos para estudiar sus primeros gráficos de control.

W.S.Gossett un empleado de la Guineess Brewery, publicó sus estudios con el seudónimo de “student” y desarrollo la distribución T. Ingenieros, físicos, y matemáticos han utilizado varios tipos de simulaciones realizadas a mano durante años.

1.1.3.2.- PROGRAMANDO EN LENGUAJES DE USO GENERAL


A medida que los ordenadores aparecieron en los 50 y los 60, la gente empezó a escribir programas en lenguajes como Fortran para hacer simulaciones de sistemas más complicados. Paquetes de rutinas fueron escritos para ayudar a los desarrolladores. Este método era muy flexible, pero también muy tedioso y difícil de depurar, ya que los modelos debían estar muy bien codificados.



1.1.3.3.- LENGUAJES DE SIMULACIÓN


Los lenguajes de simulación como GPSS, SIMSCRIPT, SLAM, y SIMAN aparecieron en escena un tiempo después y proporcionaron un soporte mucho mejor para las simulaciones que la gente hacía. De todas maneras, se ha de invertir bastante tiempo para aprender sus características y como utilizarlas efectivamente y dependiendo de la interfaz proporcionada, puede haber ciertas situaciones verdaderamente difíciles de resolver.



1.1.3.4.- SIMULADORES DE ALTO NIVEL


Surgieron pues, los simuladores de alto nivel, intuitivos, con menús, diálogos. Se selecciona un modelo, se conecta y se hace la simulación con gráficos dinámicos etc.
La única pega es que el dominio de muchos de estos simuladores está restringido, y no son demasiado flexibles de manera que ciertos sistemas pueden ser difíciles de simular. Mucha gente cree que estos paquetes han escalado demasiado en la jerarquía del software y han perdido demasiada flexibilidad a favor de la facilidad de uso.




1.1.4.- ¿DÓNDE SON UTILIZADAS LAS SIMULACIONES?


Debido a que las capacidades y sofisticación de los lenguajes de simulación se ha incrementado enormemente en los últimos 40 años, el concepto de cuando utilizar la simulación también ha cambiado.



1.1.4.1.- LOS PRIMEROS AÑOS


En los años 50 y 60, la simulación era una herramienta muy especializada utilizada solamente por grandes multinacionales, como las de la industria del acero y de la industria aerospacial, y que requerían grandes inversiones de capital. Los equipos estaban formados entre 6 y 12 personas que utilizaban lenguajes de programación tales como el Fortran. Estos modelos eran ejecutados en grandes ordenadores con costes de alrededor de 90000 a 150000 pesetas la hora de simulación.

1.1.4.2.- LOS AÑOS DE EVOLUCIÓN


El uso de la simulación tal como la conocemos hoy empezó a finales de los 70 y principio de los 80. Los ordenadores eran cada vez más baratos y potentes así que otros tipos de industrias empezaron a utilizar también la simulación, aunque de todas maneras no se utilizaba hasta que había un desastre. Empezó a ser una herramienta de decisión para muchas compañías, sobre todo las del automóvil y las industrias pesadas, pero se utilizaba para determinar las causas de los fallos y a quién imputarlos.

Durante este tiempo, la simulación ha entrado dentro de los planes de estudio de muchas universidades, su creciente uso en la industria llevó a muchas universidades a su enseñanza. De la misma manera, los programas de simulación empezaron a ser más comunes, ampliando el número de estudiantes e investigadores que podían llegar a ellos.



1.1.4.3.- EL PASADO RECIENTE


Durante el final de los 80, la simulación empezó a establecer sus raíces en los negocios. La principal razón fue la introducción de los ordenadores personales y la animación. Mucha gente empezó a realizar simulaciones antes de que la fase de producción se iniciara , aunque a veces era demasiado tarde para afectar al diseño del sistema. Hacia el final de los 80 el valor de la simulación era ya un hecho indiscutible para la mayoría de las grandes firmas, muchas de las cuales ya realizaban simulaciones antes de aprobar ciertas inversiones. De todas maneras la simulación no estaba demasiado extendida ni era usada por las pequeñas empresas.


1.1.4.4.- EL PRESENTE.


La simulación empezó a madurar durante los 90 ya que muchas empresas empezaron a utilizarla en los primeros estadios de los proyectos. La manera en que se está utilizando la simulación está cambiando también, es utilizada en las primeras fases del diseño y se actualiza a medida que surgen cambios en el modelo. Esto produce un modelo de simulación vivo que permite analizar el sistema en un breve espacio de tiempo. Los mayores impedimentos para que la simulación llegue a ser universalmente aceptada son el tiempo de desarrollo del modelo y los conocimientos necesarios para desarrollar una simulación con éxito.



1.1.4.5.- EL FUTURO


La tasa de cambio en la simulación se ha acelerado en los últimos años. Los últimos sistemas operativos han permitido una mayor integración del software con otros paquetes estándar como hojas de cálculo, procesadores de texto, bases de datos, etc. En el futuro veremos más aplicaciones verticales dirigidas a mercados más concretos. Esto permitirá a los analistas construir modelos más fácilmente utilizando elementos prediseñados para su sector en concreto. Las primeras aplicaciones de estos tipos ya están en el mercado con aplicación en áreas como comunicaciones, semiconductores, centros de atención al cliente etc.

Hoy en día se utiliza la simulación para diseñar o rediseñar sistemas complejos, pero el siguiente paso será controlar el sistema real con la misma simulación. Este avance obligará a mantener el modelo actualizado y no se utilizará una sola vez , sino que se convertirá en una parte crítica de la operación del sistema.

Con los rápidos avances que se están haciendo en hardware y software es difícil predecir mucho sobre el futuro, pero se pueden imaginar avances como el análisis automático de datos, software con capacidad de decisión, simulaciones totalmente integradas en paquetes de control de producción e incluso con realidad virtual.