SIMULACIÓN DE PROCESOS DE FABRICACIÓN INDICE BLOQUE I. TEORÍA DE SIMULACIÓN I.1 Concepto de simulación. I.2 Etapas de un proceso de simulación. I.3 La simulación Monte Carlo. I.4 Ventajas e inconvenientes de la simulación. I.3 Programas y lenguajes de simulación. BLOQUE II. HERRAMIENTAS PARA LA SIMULACIÓN II.1 Algoritmos de generación de números aleatorios. II.2 Distribuciones de probabilidades. BLOQUE III. INTRODUCCIÓN A LA SIMULACIÓN CON WITNESS. III.1 Introducción a WITNESS. III.2 Proyectos de simulación con WITNESS. III.3 Modelado con WITNESS. III.4 Conceptos básicos de WITNESS. BLOQUE IV. PRÁCTICAS DE SIMULACIÓN CON WITNESS. IV.1 Creación de un modelo con WITNESS. IV.2 Experimentación con modelos como herramienta de ayuda a la gestión empresarial. BIBLIOGRAFÍA.
RESUMEN El curso de “Simulación de los procesos de fabricación” pretende ser una introducción a cómo se utilizan las herramientas software para la mejora de los procesos de producción. En primer lugar, se estudiarán desde un punto de vista teórico los fundamentos de la simulación, aportando en la documentación algún ejemplo al respecto, para a continuación centrar las sesiones de trabajo en la creación de modelos y su mejora, todo ello mediante el software de simulación WITNESS. El objetivo de este curso es que el alumno conozca la simulación interactiva de los procesos productivos, sus posibilidades, sus limitaciones, y que la considere como una herramienta más de gestión, tan imprescindible como cualquier otra, para los tiempos en los que la toma de decisiones para la dirección de operaciones exige que sea cada vez más ágil para que las empresas, tanto manufactureras como de servicios, puedan ser competitivas en un mercado cada vez más cambiante.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
1
BLOQUE I TEORÍA DE SIMULACIÓN.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
2
BLOQUE I. TEORÍA DE SIMULACIÓN.
I.1 Concepto de simulación. La simulación es una técnica mediante la cual se tratan de imitar los rasgos, aspecto y características de un sistema real a través de una representación matemática, la cual será a continuación estudiada desde el ángulo de sus propiedades y características operativas para extraer de las mismas conclusiones que ayuden a la toma de decisiones sobre la dirección de operaciones. La técnica de la simulación es ampliamente utilizada por muchas empresas de todo el mundo, tanto del sector industrial como del sector servicios. A continuación se citan algunas de las aplicaciones de la simulación:
Evaluación de proyectos de capital.
Ejecución de modelos regularmente para la comprobación de los programas de producción.
Evaluación de las alternativas propuestas.
Mejora de las instalaciones existentes.
La gestión del cambio.
La gestión de personal.
La gestión de inventarios.
Análisis de líneas de espera.
La gestión logística.
Sincronización de dispositivos.
Los campos en los que la simulación puede ser aplicada son muy variados, de entre los cuales destacan los siguientes:
La industria del automóvil.
La industria química.
Electrónica.
La industria aerospacial.
Ingeniería.
La industria de la alimentación.
La industria papelera.
La banca y las finanzas.
La administración estatal.
El transporte y el tráfico.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
3
Así, por ejemplo, Airbus Industries utiliza los modelos de simulación para probar la aerodinámica de los problemas propuestos; la ciudad de Atlanta los utiliza para controlar el tráfico; el ejército de los Estados Unidos simula, mediante PC, juegos de guerra; parte del adiestramiento de los pilotos de algunas escuelas de capacitación se realizan a través de programas de simulación de vuelo; etc.
I.2 Etapas de un proceso de simulación. En esta sección se estudiará la metodología de un proceso de simulación, mostrando primeramente un diagrama de flujo del proceso, y analizando a continuación en que consiste cada una de dichas fases.
INICIAR
DEFINIR EL PROBLEMA
CONSTRUIR EL MODELO DE SIMULACIÓN
ESPECIFICAR LOS VALORES DE LAS VARIABLES Y LOS PARÁMETROS
HACER FUNCIONAR LA SIMULACIÓN
EVALUAR LOS RESULTADOS
VALIDAR
PROPONER UN NUEVO EXPERIMENTO FIN
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
4
Definición del problema. Esta fase consiste fundamentalmente en la especificación de los objetivos del sistema estudiado y en la identificación de las variables que regulan el comportamiento del sistema, tanto las controlables por el decisor, como las no controlables. Construcción del modelo de simulación. Lo primero que se debe mencionar es que a cada problema real le corresponde un modelo de simulación diferente, por lo tanto, se debe de huir de la búsqueda de un modelo universal que resuelva todos los problemas. La naturaleza única de cada modelo de simulación hace que las especificaciones que se realicen más adelante en este punto no se deban considerar como normas rígidas, si no que son más bien una síntesis de las pautas de los diferentes enfoques de la simulación. Las actividades clave en esta fase de la simulación son las siguientes: 1. Especificación de los parámetros y las variables: el primer paso en la construcción de un modelo de simulación consiste en determinar qué propiedades del sistema son fijas (parámetros) y cuales son variables (variables). 2. Especificación de las normas de decisión: las normas de decisión (o normas operativas) son series de condiciones bajo las cuales se observa el comportamiento del sistema, como por ejemplo cual es el orden en que se le suministra el servicio al cliente, el cual puede depender de varias variables y parámetros del sistema. Por ejemplo, una orden de pedido para almacén depende del estado del inventario en ese momento, de la cantidad de pedidos pendientes de recibir, del stock de seguridad, de la demanda y del tiempo de suministro. 3. Especificación de las distribuciones de las probabilidades: para la simulación pueden utilizarse distribuciones de los dos tipos siguientes: las distribuciones de frecuencia empírica, que son las que se obtienen directamente a través de los datos extraídos del modelo real, y las distribuciones matemáticas típicas, las cuales se infieren a través de los datos obtenidos del sistema mediante pruebas de contraste de hipótesis. 4. Especificación del procedimiento de incremento del tiempo: en la simulación se puede trabajar con tiempo expandido o tiempo comprimido, a modo de si se tratase de un reproductor de video en el cual se puede ralentizar la imagen o acelerarla, con el fin de estudiar más detalladamente o más ampliamente el modelo. Especificación de los valores de variables y parámetros. Por definición, una variable cambia de valor a lo largo del proceso de simulación, pero será necesario especificarle un valor inicial, en algunos casos una raíz de número aleatorio para poder seguir generando valores aleatorios en base a un determinado algoritmo. Por otro lado, el valor de un parámetro permanece constante, sin embargo, este puede variarse para así estudiar diferentes alternativas en otras simulaciones.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
5
La determinación de las condiciones iniciales de un experimento es muy importante, ya que, frecuentemente, un sistema necesita de un cierto tiempo para alcanzar sus condiciones estacionarias, que son las que pueden interesar en el estudio de una planta de producción que funcione a tres turnos. En estos casos, se puede recurrir a lo que se denomina un periodo de precalentamiento, el cual consiste en descartar todo lo ocurrido en el modelo durante un periodo inicial de tiempo determinado, que será el necesario para alcanzar el funcionamiento estacionario del sistema. En otros casos puede ocurrir que lo que interese fundamentalmente de la simulación es analizar el periodo transitorio de la misma, como pueda ser el caso de la búsqueda de soluciones para un problema que se pudiera dar al comienzo de una actividad cualquiera un lunes por la mañana después de haber permanecido cerrada la instalación durante el fin de semana. Otro aspecto importante dentro de los procesos de simulación consiste en determinar la duración del experimento, para lo cual se pueden adoptar tres enfoques diferentes dependiendo de cual sea el propósito del mismo: 1. Continuar con la simulación hasta que se haya alcanzado el estacionario del sistema. 2. Hacer funcionar la simulación durante un periodo fijo de tiempo y observar si las condiciones del sistema al final del periodo parecen razonables. 3. Fijar la duración del funcionamiento de manera tal que se reúna una muestra lo suficientemente grande para efectos del contraste de hipótesis estadístico. Evaluación de los resultados. Las conclusiones que se pueden extraer de un experimento de simulación dependen del grado de rigor con que se represente el sistema real en el modelo, tanto por el diseño de los dispositivos como por la información estadística en él contenida. Los resultados obtenidos pueden ser evaluados de varios modos: 1. Mediante pruebas de inferencia estadística. 2. Mediante los datos operativos obtenidos del sistema real. 3. Mediante datos operativos obtenidos de sistemas similares. Validación. La validación consiste en verificar que el código programado es una traducción válida de la gráfica de flujo y en comprobar que la simulación es representativa del sistema real de un modo adecuado. En el programa puede que sea necesario depurar errores en la codificación y/o errores en la lógica. Los primeros son fáciles de detectar, por cuanto el programa puede que no corra, por contra, los segundos son más difíciles de detectar, ya que en estos casos el programa corre pero no reporta los resultados correctos. Para facilitar la tarea de la depuración del código, la mayoría del software de simulación actual ofrece la posibilidad de construir el modelo de una forma interactiva,
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
6
de modo que el programador no tenga que programar todo el código de una sola vez, si no que lo pueda ir comprobando paulatinamente según lo va construyendo. Propuesta de un nuevo experimento. Basándose en los resultados de la simulación, se pueden realizar nuevos experimentos en los que se modifiquen uno o varios factores, como pueden ser los parámetros, como por ejemplo, trabajar con tamaños de lote diferentes; las variables, como pueden ser las distribuciones de la demanda; las reglas de decisión, lo cual sería apropiado si las primeras condujesen a resultados pobres; las condiciones iniciales, para lo cual puede estar bien partir con unas condiciones de inicio que se corresponden con los valores obtenidos en el experimento previo; y la duración del experimento, ya que podría suceder que el sistema tuviese más de un nivel estacionario, y el hecho de alcanzar el segundo fuera únicamente cuestión de tiempo. Lo que es recomendable siempre que se realice un nuevo experimento es trabajar siempre con el mismo flujo de números aleatorios, para lo cual hay que partir siempre de la misma raíz en el algoritmo de generación de números aleatorios.
CASO. “Mejora de la gestión del servicio de urgencias de un hospital”. Desafío. Utilización de una manera efectiva tanto del personal como de las instalaciones de una sala de urgencias de un hospital. Estrategia. Utilizar el software de simulación para modelar el sistema real del modo más fiel posible, y sobre dicho modelo simular las diferentes opciones estratégicas para que, según sean los resultados de cada simulación, se tome la decisión más acorde con los objetivos marcados.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
7
Esta forma de afrontar el problema reduce considerablemente los riesgos que supone el hecho de experimentar con un sistema real, y además, una vez construido el modelo, la evaluación de diferentes alternativas estratégicas se agiliza considerablemente. El reto, en definitiva, consiste en que manteniendo un adecuado servicio de atención a los pacientes, priorizando la atención de estos según sea su gravedad, se elabore un programa de dirección de operaciones adecuado de manera que se utilicen de la manera más eficiente posible los recursos del servicio de urgencias. Este estudio de simulación sigue los pasos que se ha indicado previamente que tiene que seguir un estudio de este tipo:
Definición del problema
Mejora en la atención a los pacientes, tratando de reducir los tiempos de espera de los pacientes, respetando un orden de prioridad según sea su gravedad. Todo ello aprovechando los recursos disponibles lo mejor posible.
Construir el modelo de simulación
Planteamiento gráfico de la lógica del problema, caracterizándolo mediante una serie de variables y parámetros que regirán su comportamiento.
Recopilación de información a partir del modelo real Especificar los valores de las variables para poder averiguar o inferir los valores de las y los parámetros variables y parámetros que forman parte del modelo. Especificación de dichos valores en la lógica del modelo. Hacer funcionar la simulación
Ejecución de la simulación durante un tiempo determinado.
Evaluar los resultados
Comprobación de los resultados mediante comparación con los obtenidos en el sistema real.
Validar
Si ambos resultados son parejos, entonces se considera que el modelo representa fielmente la realidad, en caso contrario debería replantearse el procedimiento a partir del segundo paso.
Proponer un nuevo experimento
Una vez el modelo está validado, se pueden realizar modificaciones sobre el mismo para ver cuales son los resultados que se obtienen, pudiendo extrapolarse dichos resultados al modelo real si se le sometiera a dichos cambios.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
8
I.3 Simulación Monte Carlo. Siempre que un sistema cuente con elementos aleatorios dentro de su comportamiento, se va a poder aplicar la simulación Monte Carlo. Dicho método de simulación consta de los siguientes cinco pasos: 1. Establecer una distribución de probabilidades en relación con las variables importantes. 2. Construir una distribución de probabilidades acumuladas para cada variable. 3. Establecer un intervalo de números aleatorios para cada variable. 4. Generar números al azar. 5. Simular una serie de ensayos. A continuación se pasará a examinar cada uno de esos cinco pasos: Paso 1. Establecer una distribución de probabilidades. Hay una gran cantidad de variables en los sistemas reales, las cuales queremos simular y cuyo comportamiento es probabilístico. La idea fundamental del método Monte Carlo es la de crear valores válidos para tales variables y así poder generar diferentes experimentos. Por citar algunos ejemplos, se tienen los plazos de suministro de mercancías, las tasas de demanda, los tiempos entre llegadas a una cola, los tiempos de suministro de servicio a esa cola, las tasas de avería de una máquina, el tiempo de reparación de una máquina, etc. Una forma habitual de establecer una distribución de probabilidades para una variable dada es mediante el análisis de los datos históricos. La probabilidad o frecuencia relativa de cada resultado posible de una variable, se encuentra dividiendo la frecuencia de la observación por el número total de observaciones. Paso 2. Construir una distribución de probabilidades acumuladas para cada variable. La realización de esta tarea consiste en ir sumando la probabilidad acumulada del intervalo inmediatamente anterior, y partiendo del valor cero, de modo que la probabilidad acumulada del último intervalo sea 1,00. Paso 3. Establecer un intervalo de números aleatorios para cada variable. Una vez que se ha establecido la distribución de probabilidades acumulada, se ha de asignar una serie de valores aleatorios a cada intervalo de la variable en estudio. Estos números aleatorios han de ser seleccionados a través de un proceso aleatorio en el cual cada número tenga las mismas probabilidades de ser elegido. Paso 4. Generar números aleatorios. La generación de números aleatorios para la resolución de un problema de simulación se puede realizar de dos formas diferentes: 1. Mediante la utilización de algoritmos de generación de números aleatorios por computador, que sería lo más apropiado cuando se utilicen los ordenadores para la realización de experimentos de simulación. 2. Mediante la utilización de tablas de números aleatorios, método útil sobre todo para la resolución manual de problemas de simulación. A continuación se
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
9
muestra una tabla de números aleatorios que será utilizada en los ejemplos que se verán a continuación:
TABLA 1. Números aleatorios. 52
06
50
88
53
30
10
47
99
37
66
91
35
32
00
84
57
07
37
63
28
02
74
35
24
03
29
60
74
85
90
73
59
55
17
60
82
57
68
28
05
94
03
11
27
79
90
87
92
41
09
25
36
77
69
02
36
49
71
99
32
10
75
21
95
90
94
38
97
71
72
49
98
94
90
36
06
78
23
67
89
85
29
21
25
73
69
34
85
76
96
52
62
87
49
56
59
23
78
71
72
90
57
01
98
57
31
95
33
69
27
21
11
60
95
89
68
48
17
89
34
09
93
50
44
51
50
33
50
95
13
44
34
62
64
39
55
29
30
64
49
44
30
16
88
32
18
50
62
57
34
56
62
31
15
40
90
34
51
95
26
14
90
30
36
24
69
82
51
74
30
35
36
85
01
55
92
64
09
85
50
48
61
18
85
23
08
54
17
12
80
69
24
84
92
16
49
59
27
88
21
62
69
64
48
31
12
73
02
68
00
16
16
46
13
85
45
14
46
32
13
49
66
62
74
41
86
98
92
98
84
54
33
40
81
02
01
78
82
74
97
37
45
31
94
99
42
49
27
64
89
42
66
83
14
74
27
76
03
33
11
97
59
81
72
00
64
61
13
52
74
05
81
82
93
09
96
33
52
78
13
06
28
30
94
23
37
39
30
34
87
01
74
11
46
82
59
94
25
34
32
23
17
01
58
73
59
55
72
33
62
13
74
68
22
44
42
09
32
46
71
79
45
89
67
09
80
98
99
25
77
50
03
32
36
63
65
75
94
19
95
88
60
77
46
63
71
69
44
22
03
85
14
48
69
13
30
50
33
24
60
08
19
29
36
72
30
27
50
64
85
72
75
29
87
05
75
01
80
45
86
99
02
34
87
08
86
84
49
26
24
08
01
86
29
11
53
84
49
63
26
65
72
84
85
63
26
02
75
26
92
62
40
67
69
84
12
94
51
36
17
02
15
29
16
52
56
43
26
22
08
62
37
77
13
10
02
18
31
19
32
85
31
94
81
43
31
58
33
51
Fuente: Reproducido de “Dirección de la Producción. Decisiones tácticas” 6ª Edición, Jay Heizer. Prentice Hall 2001.
Paso 5. Simular el experimento. Se pueden simular los resultados de un experimento sin más que seleccionar una serie de números aleatorios a partir de la tabla anterior. Habría que matizar que, cuantas más iteraciones se realicen en el experimento, mayor será la fiabilidad de los resultados obtenidos. A continuación se va a estudiar un ejemplo a través del cual se pueden ver reflejados los cinco pasos anteriores:
Ejemplo. “Taller del automóvil Gutiérrez”. El gerente del Taller Gutiérrez quiere hacer un estudio sobre la demanda diaria de baterías y, recopilando los datos históricos de los últimos 200 días, va a obtener la distribución de probabilidades, y a partir de ésta, la distribución de probabilidad acumulada. Esos datos están recogidos en la tabla siguiente.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
10
TABLA 2. Asignación de intervalos de números aleatorios para Talleres Gutiérrez. Demanda de baterías
Frecuencia
Probabilidad del suceso
Probabilidad acumulada
Intervalo de números aleatorios
0
10
10/200=0,05
0,05
De 01 a 05
1
20
20/200=0,10
0,15
De 06 a 15
2
40
40/200=0,20
0,35
De 16 a 35
3
60
60/200=0,30
0,65
De 36 a 65
4
40
40/200=0,20
0,85
De 66 a 85
5
30
30/200=0,15
1,00
De 86 a 00
200 días
200/200=1,00
A continuación se verá con más detalle el concepto de los números aleatorios simulando 10 días de demanda de baterías en el Taller Gutiérrez. Se seleccionarán los números aleatorios expresados en la Tabla 1 empezando por la esquina superior izquierda y continuando hacia abajo por la primera columna.
TABLA 3. Demanda de baterías simulada. Día
Número aleatorio
1 2 3 4 5 6 7 8 9 10
52 37 82 69 98 96 33 50 88 90
Demanda diaria simulada 3 3 4 4 5 5 2 3 5 5 39 Demanda total de 10 días 39/10= 3,9 =Demanda diaria media de baterías
Resulta interesante observar que la demanda diaria media de baterías difiere de la demanda diaria esperada, la cual se puede hallar a partir de los datos de la Tabla 2: Demanda esperada = Σ (probabilidad de i unidades) · (demanda de i unidades) = = (0,05)(0)+(0,01)(1)+(0,20)(2)+(0,30)(3)+(0,20)(4)+(0,15)(5) =0 + 0,1 + 0,4 + 0,9 + 0,8 + 0,75 = 2,95 baterías
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
11
Sin embargo, si se hubiese realizado la simulación para 1000 días, en lugar de sólo para 10 días, la demanda diaria media simulada sería prácticamente la misma que la demanda media esperada.
I.4 Ventajas e inconvenientes de la simulación. La simulación es una técnica de gestión muy útil siempre y cuando se utilice para propósitos que se adecuen bien a sus características, ya que de lo contrario, se podrían presentar grandes inconvenientes, tal y como ocurre con cualquier técnica en cualquier campo. A continuación se citarán algunas de las principales ventajas que reporta el uso de la simulación: 1. La técnica de simulación es relativamente sencilla y flexible. 2. El hecho de desarrollar el modelo de un sistema conduce con frecuencia a una mejor comprensión del sistema real. 3. La simulación no interrumpe las actividades en curso del sistema real. 4. La simulación es mucho más general que los modelos matemáticos y puede utilizarse cuando las condiciones no son apropiadas para un análisis matemático típico. 5. La simulación proporciona una representación del sistema real más realista y con menos restricciones que el correspondiente modelo matemático. 6. La simulación permite trabajar con tiempo expandido, de modo que sucesos que suceden muy rápidamente en la realidad se puedan observar durante un espacio temporal mayor en la simulación. También permite trabajar con tiempo comprimido, de modo que se puede observar en breves minutos lo que en la realidad ocurre en varios meses. 7. Con la simulación se pueden estudiar los efectos interactivos de los componentes individuales o de las variables, para determinar cuales son importantes. 8. La simulación puede emplearse como un juego para el entrenamiento de capacitación. 9. La simulación responde a preguntas del tipo “¿Qué ocurre si...?”. Respecto a las desventajas o inconvenientes en que incurre el uso de la simulación caben destacar los siguientes: 1. Los buenos modelos de simulación pueden resultar caros y requerir de mucho tiempo para su desarrollo.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
12
2. La simulación no es una técnica de optimización, de ahí que sea preferible un análisis matemático de los sistemas siempre y cuando esto no suponga la suposición de hipótesis muy restrictivas. 3. Los resultados de la simulación dependerán en gran medida de la bondad de los datos de entrada. 4. Cada modelo de simulación es único, de ahí que su aplicación y las consecuencias que se extraigan de ella no van a ser transferibles a otros problemas.
I.5 Programas y lenguajes de simulación. Dada la complejidad operativa de los modelos de simulación, se requerirá de un planteamiento informatizado para el tratamiento de la misma y la extracción de conclusiones válidas, ya que de lo contrario, se estaría ante problemas muy complejos y largos para resolver manualmente. Los ordenadores pueden generar series de números aleatorios, simular miles de periodos de simulación en segundos y ofrecer unos informes detallados en tiempo real que serán de gran ayuda para la gestión del sistema. Los modelos de simulación pueden clasificarse dentro de una de las dos categorías siguientes:
Modelos continuos.
Modelos discretos.
Los modelos continuos se basan en ecuaciones matemáticas, lo cual le confiere dicha continuidad, con valores para todo su intervalo temporal. Por el contrario, la simulación discreta se da únicamente en puntos específicos. Por ejemplo, la simulación de la llegada de automóviles a una estación de servicio se corresponden con una simulación discreta, ya que esta salta de un punto a otro; la llegada de un automóvil, el inicio de un servicio, la finalización del servicio, la llegada de otro automóvil, etc. En lo que respecta a los lenguajes de simulación, se pueden distinguir dos tipos diferentes:
Lenguajes de propósito general, tales como BASIC, FORTRAN, C++, etc.
Lenguajes de propósitos especiales, tales como Witness, Arena, Simscript, Simfactory, Extend, Modsim, GPSS, MAP I, SLAM II, Tailor II y Micro Saint.
Las hojas de cálculo, tales como Excel, pueden utilizarse como software de simulación de una forma rápida y cómoda, ya que tales paquetes disponen de algoritmos programados para la generación de números aleatorios.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
13
BLOQUE II HERRAMIENTAS PARA LA SIMULACIÓN.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
14
BLOQUE II. HERRAMIENTAS PARA LA SIMULACIÓN.
II.1 Algoritmos de generación de números aleatorios.
Como se ha visto en el bloque I, la base científica sobre la que se apoya la simulación de procesos de fabricación es la de la simulación Monte Carlo, la cual necesita inexcusablemente utilizar series de números aleatorios. Para la resolución manual de problemas de simulación se han utilizado tablas de números aleatorios del estilo a la mostrada en la TABLA 1, pero para la resolución utilizando medios informáticos, la implementación de tablas de este estilo no va a ser lo más eficiente en cuanto a velocidad de procesamiento de datos, y lo que se utilizará será algoritmos de generación de números pseudoaleatorios. En definitiva, la obtención de números aleatorios se puede realizar de varios modos, siempre y cuando el resultado de los mismos sea la obtención de una serie de números que no sigan ningún patrón definido. Entre ellos, se podrían citar los siguientes: a) Utilización de una ruleta perfectamente equilibrada: mediante este método, se obtendrá un número de una sola cifra en cada tirada, con una probabilidad de 1/10 para cada uno de ellos. Si fuese preciso extraer una serie de números aleatorios de n cifras cada uno, los números extraídos de la ruleta se agruparían en grupos de n. b) Utilización de las tablas de la Rand Corporation: la Rand Corporation es una empresa que tiene editado un libro que contiene una serie de 1.000.000 de números aleatorios, los cuales han sido obtenidos mediante medios físicos. El método empleado para la obtención de la serie consiste en tomar los ruidos emitidos por lámparas electrónicas y analizar el número de veces que la señal sobrepasa un límite prefijado. Así pues, si se ha sobrepasado el límite un número de veces par, se asignará un 0, y si se ha sobrepasado un número de veces impar, entonces se asignará un 1, de tal modo que al final se componga un número binario que se corresponderá al número aleatorio resultante. Pero ninguno de estos métodos es aplicable para integrarlo dentro de un proceso de generación de números aleatorios por ordenador. En su lugar se utilizarán algoritmos de generación de números pseudoaleatorios, los cuales no son considerados al cien por cien como aleatorios porque realmente va a existir un patrón dentro de la serie, pero dicho patrón sólo es conocido por la persona que ha implementado el algoritmo. Las propiedades que ha de cumplir una serie para que esta sea de números pseudoaleatorios son las siguientes: 1. La serie se comportará según una distribución uniforme de probabilidades. 2. Todos y cada uno de los números son estadísticamente independientes.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
15
3. Todos los números de la serie son reproducibles. 4. La generación de números ha de darse según un ciclo no repetitivo tan largo como se desee a la hora de implementar el método. Otras propiedades que aun no siendo necesarias si que son deseables son las siguientes: 5. Se han de generar números a una velocidad alta. 6. Han de ocupar poca memoria de computadora. A continuación se exponen algunos de los métodos más comunes en la generación de series de números pseudoaleatorios: a) El Método de los cuadrados medios: este método consiste en elegir un número de 2n cifras y elevarlo al cuadrado, tomando a continuación sus 2n cifras centrales, el cual constituirá el siguiente número de la serie, y será el que sirva de base para conseguir el siguiente número de la serie. Ejemplo: X0 = 4122 =>
X02 = 16990884
X1 = 9908 =>
X12 = 98168464
X2 = 1684 =>
...
El primer número de la serie se elige al azar, y ese número es al que se le denomina como semilla de la serie. Aunque el método es aplicable para cualquier semilla de 2n cifras, lo más habitual es emplearlo con semillas de 4 cifras. Con este método se conseguirá una serie de números de 2n cifras pseudoaleatoria, la cual puede ser convertida en una serie de números aleatorios de cualquier número de cifras sin más que unir varios números, o tomar sólo un número de cifras determinado de cada número, o combinar ambos procedimientos. Por otro lado, es importante advertir que este método presenta un inconveniente, y este es el hecho de que si se diera el caso de que vuelve a aparecer un mismo número, la serie se repetiría periódicamente. Ejemplo: X0 = 3708 =>
X02 = 13749264
X1 = 7492 =>
X12 = 56130064
X2 = 1300
=>
X3 = 6900 =>
X22 = 1690050 X32 = 47610000
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
16
X4 = 6100 =>
X42 = 37210000
X5 = 2100 =>
X52 = 4410000
X6 = 4100 =>
X62 = 16810000
X7 = 8100 =>
X72 = 65610000
X8 = 6100 =>
X82 = 37210000
... En el ejemplo anterior se puede observar que el bucle que va desde X4 a X7 se repetirá indefinidamente lo cual, invalidará el carácter pseudoaleatorio deseado para la misma. Así pues, de la serie de dicho ejemplo sólo se van a poder considerar como pseudoaleatorios los 8 primeros términos de la serie hallada. Del ejemplo anterior se podría extraer que el periodo máximo de repetición que se puede alcanzar para una serie empleando el método de los cuadrados medios es de 102n números. Finalmente, hay que advertir que este método presenta otro inconveniente muy a tener en cuenta, y es el hecho de que se puede caer en series que presenten una tendencia a cero. Ejemplo: ... Xn = 3606
=>
Xn2 = 13003236
Xn+1 = 32
=>
Xn+12 = 1024
Xn+2 = 10
=>
Xn+22 = 100
Xn+3 = 1
=>
Xn+32 = 1
Xn+4 = 0
=>
Xn+42 = 0
... b) El método de Lehmer : es otro método de generación de números pseudoaleatorios el cual va a consistir en el siguiente algoritmo: 1. Se parte de una semilla X0 de n cifras y de un número base Y de k cifras, siendo k < n.. 2. Se multiplican X0 e Y entre sí, obteniendo un número de n+k cifras. 3. Las k primeras cifras serán asignadas a la variable a, y las n siguientes serán asignadas a la variable b.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
17
4. Se realiza la resta b-a, y el número que se obtiene será el siguiente de la serie pseudoaleatoria. 5. Volver al paso 1 tomando como semilla el número obtenido en el paso 4. Ejemplo: X0 = 4122
Y = 76
X0 · Y = 4122 · 76 = 31 3272 3272 – 31 = 3241 X1 = 3241 X1 · Y = 3241 · 76 = 24 6316 6316 –24 = 6292 X2 = 6292 X2 · Y = 6292 · 76 = 47 8192 8192 – 47 = 8145 X3 = 8145 ... c)
Los métodos congruenciales: se basan en la propiedad de la congruencia entre números con su módulo. Esta propiedad es la siguiente: X ≡ Y ⇔ X − Y es múltiplo de m /m es el modulo de X e Y
Hay varias formas de generar series de números pseudoaleatorios de números congruentes. El método general vendría expresado por la expresión siguiente: Xn+1 = ( a · Xn + b ) módulo ( m ) c.1) Método congruencial multiplicativo: se basa en la expresión general anterior en la cual el término independiente b = 0. El problema que tiene este método es que va a tener un comportamiento cíclico cuyo periodo máximo alcanzable será de m/4 términos. Ese periodo máximo se alcanzará siempre y cuando se den las condiciones siguientes: 9 m = 2e
(e > 2)*
9 a = 8 · t + 3 / t = 1, 2, ... 9 Semilla impar. * e suele ser habitualmente el tamaño máximo de palabra (en bits son 16 o 32).
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
18
Ejemplo: m = 32
a = 11
Xn+1 = 11 · Xn
X0 = 3 mod (32)
X1 = 11 · 3 mod ( 32 ) = 33 mod (32 ) = 1 (33/32 = 1 + 1/32) X2 = 11 · 1 mod ( 32 ) = 11 mod (32 ) = 11 (11/32 = 11/32) X3 = 11 · 11 mod ( 32 ) = 121 mod (32 ) = 25 (121/32 = 3 + 25/32) X4 = 11 · 25 mod ( 32 ) = 275 mod (32 ) = 19 (275/32 = 8 + 19/32) X5 = 11 · 19 mod ( 32 ) = 209 mod (32 ) = 17 (209/32 = 6 + 17/32) X6 = 11 · 17 mod ( 32 ) = 187 mod (32 ) = 27 (187/32 = 5 + 27/32) X7 = 11 · 27 mod ( 32 ) = 297 mod (32 ) = 9 (297/32 = 9 + 9/32) X8 = 11 · 9 mod ( 32 ) = 99 mod (32 ) = 3 (99/32 = 3 + 3/32) ... Se puede comprobar que, como se cumplen las condiciones previamente establecidas, se ha alcanzado el periodo máximo para el ciclo que es de m/4=32/4=8 términos. c.2) Método congruencial mixto: este método, similar al método congruencial multiplicativo, utiliza la expresión general de los métodos congruenciales pero, a diferencia del anterior, el término independiente b toma un valor distinto de 0. Es el método que emplea Witness para generar series de Números pseudoaleatorios. Mediante este método se puede alcanzar un periodo máximo de la serie de m, es decir, una serie de tamaño cuatro veces mayor a la que se puede conseguir utilizando el método congruencial multiplicativo. Las condiciones que han de darse para que se pueda alcanzar dicho periodo máximo son:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
19
9 Las variables a y b representan a números primos entre sí. 9 La resultante de (a-1) es múltiplo de todos los primos que dividen a m. 9 Si m es múltiplo de 4, entonces (a-1) también ha de serlo. Ejemplo: m = 16 a–1=4·3
a = 13
b = 17 Xn+1 = (13 · Xn + 17 ) mod ( 16 ) X0 = 3 X1 = ( 13 · 3 + 17) mod ( 16 ) = 56 mod 16 = 8 (56/16 = 3 + 8/16) X2 = (13 · 8 + 17) mod ( 16 ) = 121 mod 16 = 9 (121/16 = 7 + 9/16) X3 = (13 · 9 + 17) mod ( 16 ) = 134 mod 16 = 6 (134/16 = 8 + 6/16) X4 = ( 13 · 6 + 17) mod ( 16 ) = 95 mod 16 = 15 (95/16 = 5 + 15/16) X5 = (13 · 15 + 17) mod ( 16 ) = 212 mod 16 = 4 (212/16 = 13 + 4/16) X6 = (13 · 4 + 17) mod ( 16 ) = 69 mod 16 = 5 (69/16 = 4 + 5/16) X7 = 2; X8 = 11; X9 = 0; X10 = 1; X11 = 14; X12 = 7 X13 = 12; X14 = 13; X15 = 10; X16 = 3 ... Si no se cumpliese una de las condiciones previamente especificadas, podría darse el caso de obtener una serie de números predecible, de modo que no se podría considerar como una serie de números pseudoaleatorios.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
20
Ejemplo: m = 10 a = 11 b = 13 Xn+1 = ( 11 Xn + 13 ) mod ( 10 ) X0 = 7 X1 = ( 11 · 7 + 13) mod ( 10 ) = 90 mod 10 = 0 (90/10 = 9 + 0/10) X2 = ( 11 · 0 + 13) mod ( 10 ) = 13 mod 10 = 3 (13/10 = 1 + 3/10) X3 = ( 11 · 3 + 13) mod ( 10 ) = 46 mod 10 = 6 (46/10 = 4 + 6/10) X4 = ( 11 · 6 + 13) mod ( 10 ) = 79 mod 10 = 9 (79/10 = 7 + 910) X5= ( 11 · 9+ 13) mod ( 10 ) = 112 mod 10 = 2 (112/10 = 11 + 2/10) X6= ( 11 · 2 + 13) mod ( 10 ) = 35 mod 10 = 5 (35/10 = 3 + 5/10) ... En el ejemplo anterior se puede observar que la serie sigue una regla tal que el número de la serie sigue la regla siguiente: Xn+1= Xn mod 10 De este modo, al ser predecible la serie, no puede ser considerada como una serie de números pseudoaleatorios. Se pueden emplear varios métodos para comprobar el carácter pseudoaleatorio de una serie de números. Entre ellos, dos de los más eficaces pueden ser los dos siguientes: -
Método gráfico: consiste en construir una gráfica con los números de la serie. Dicho gráfico representaría en su eje horizontal la progresión desde X0 hasta Xn, separados a intervalos iguales, y en
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
21
su eje vertical se representaría el valor correspondiente a cada una de las variables representadas en el eje horizontal. Si dicha gráfica representase rectas paralelas, esto denotaría una tendencia en la serie, lo cual sería revelador de que dicha serie no representa a números pseudoaleatorios. -
Método estadístico: este método consiste en realizar pruebas de hipótesis para comprobar si la distribución estadística que siguen los números de la serie se corresponde a una distribución uniforme. Si no fuera así, entonces se considerará que dicha serie no representa a números pseudoaleatorios. Algunos de los test de hipótesis que se pueden realizar son los siguientes:
-
Test de Kolmogorov – Smirnov.
-
Prueba de la χ2.
-
Run test.
Podría ocurrir que se probase una serie de números por alguno de los métodos anteriores y el resultado ofrecido por la prueba fuese el de que la serie efectivamente representa a una serie de números pseudoaleatorios, pero en realidad, dicha serie no se corresponda a una tal. Así pues, el último de los ejemplos, que representaba a una serie de números con una tendencia, pasaría el test de Kolmogorov – Smirnov. Para evitar este tipo de situaciones confusas, lo deseable sería realizar más de una prueba, y en el momento en que alguna de dichas pruebas no se cumpla, entonces se estará en la certeza de que la serie de números no es pseudoaleatoria.
II.2 Distribuciones de probabilidades.
Las distribuciones de probabilidades junto con la generación de números pseudoaleatorios son las herramientas que utiliza la simulación para dotar de variabilidad al modelo, y que dicha variabilidad sigua unas pautas tales como las del sistema real. En esta sección se van a exponer todas las distribuciones de probabilidades que utiliza el software de simulación Witness, las cuales se van a desgloasar en distribuciones enteras o discretas y en distribuciones reales o contínuas.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
22
a) Distribuciones enteras.
BINOMIAL Proporciona una muestra de números que siguen una distribución binomial. Devolverá la cantidad de éxitos esperados, dado un número de pruebas y una probabilidad de éxito. Parámetros que la definen: p:
Probabilidad de éxito: real.
T:
Número de pruebas: entero.
Prn: semilla de números pseudoaleatorios: entero. Forma:
Ejemplos de llamadas a la función:
J = BINOMIAL(0.1, 5, 1) J = BINOMIAL(0.1, 10, 1) J = BINOMIAL(0.5, 5, 1) J = BINOMIAL(0.5, 10, 1)
Ejemplos de aplicación: Número de artículos defectuosos en un lote de un tamaño específico. Número de artículos demandados desde un almacén.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
23
IUNIFORM Proporciona una muestra de números que siguen una distribución uniforme entera. Puede ser utilizada cuando sea equiprobable obtener cualquier valor entero dentro de un rango específico. Parámetros:
n:
Valor mínimo: entero.
x:
Valor máximo: entero.
prn:
semilla de números pseudoaleatorios: entero.
Forma:
Ejemplos de llamadas a la función:
J = IUNIFORM(0, 10, 1)
Ejemplos de aplicación: Esta distribución es frecuentemente utilizada como una primera aproximación a una cantidad entera la cual se sabe que varía entre dos valores.
POISSON Proporciona una muestra de números que siguen una distribución de Poisson. Generalmente se utiliza para estimar el número de llegadas durante un periodo dado. Puede considerarse como el complemento de la distribución exponencial negativa. Parámetros:
m:
media: real.
prn:
semilla de números pseudoaleatorios: entero.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
24
Forma:
Ejemplos de llamadas a la función:
J = POISSON(0.5, 1) J = POISSON(1, 0,2) J = POISSON(2, 0,3) J = POISSON(6, 0,4)
Ejemplos de aplicación: Tamaño de lote para las partes. Cantidad de output de la máquina de producción.
b) Distribuciones reales.
BETA Proporcionará una muestra de números que siga una distribución beta. La distribución beta puede asumir una amplia variedad de formas y, a menudo, es utilizada como una vasta aproximación del modelo cuando los datos reales están limitados. Parámetros:
a;
parámetro de forma 1: real.
b;
parámetro de escala 2: real.
prn;
semilla de números aleatorios.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
25
Forma:
Ejemplos de llamadas a la función:
X = BETA(1.5, 5.0, 1) X = BETA (5.0, 1.5, 2)
Ejemplos de aplicación: Proporción de artículos defectuosos. Tiempo para completar una tarea.
ERLANG Proporciona una muestra de números que siguen una distribución erlang K. La erlang es una familia de distribuciones cuya curva será diferente dependiendo del valor del parámetro K. Cuando K es 1, la erlang es idéntica a la exponencial negativa. Esto es debido a que esta está basada en la suma de K muestras de números que siguen una distribución exponencial negativa con la misma media. Cuando K es 2, la erlang es una distribución con forma de campana sesgada hacia la izquierda. Según va creciendo el parámetro K, la erlang tiende cada vez más hacia la distribución normal. Parámetros:
m;
media: real.
k;
valor de K: entero.
prn;
semilla de números aleatorios.
Forma:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
26
Ejemplos de llamadas a la función:
R = ERLANG(1.0, 1, 1) R = ERLANG(1.0, 2, 2) R = ERLANG(1.0, 3, 3)
Ejemplos de aplicación: Tiempo necesario para completar un servicio, por ejemplo, tiempo para servir a un cliente o para reparar una máquina.
GAMMA Proporciona una muestra de números que siguen una distribución gamma con la forma y escala especificadas. Parámetros:
a;
forma: real
b;
escala: real
prn;
semilla de números pseudoaleatorios.
Forma:
Ejemplos de llamadas a la función:
R = GAMMA(2.0, 1.0, 42)
Ejemplos de aplicación: Tiempos entre averías.
LOGNORML Proporciona una muestra de números que siguen una distribución lognormal. Es una distribución con forma de campana sesgada hacia la izquierda que no admitirá nunca valores menores o iguales a 0 para la media, ya que nunca devolverá valores negativos. Los datos de una muestra se dice que se comportan según una distribución lognormal si los logaritmos decimales de los mismos siguen una distribución normal.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
27
Parámetros:
m;
media: real.
s;
desviación estándar: real.
prn;
semilla de números pseudoaleatorios: entero.
Forma:
Ejemplos de llamadas a la función:
R = LOGNORMAL(1.65, 16, 1)
Ejemplos de aplicación: Tiempo necesario para completar un servicio, por ejemplo, tiempo para servir a un cliente o para reparar una máquina.
NEGEXP Proporciona una muestra de números que siguen una distribución exponencial negativa. Esta distribución puede considerarse como la complementaria de la distribución de Poisson. Parámetros:
m;
media: real.
prn;
semilla de números pseudoaleatorios: entero.
Forma:
Ejemplo de llamada a la función:
R = NEGEXP(1.0, 1)
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
28
Ejemplos de aplicación: Tiempo entre sucesos, por ejemplo, tiempos entre llagadas de partes o tiempos de vida útil. NORMAL Proporciona una muestra de números que siguen una distribución normal. Es una de las distribuciones que se dan más comúnmente en la naturaleza, y su curva tiene forma de campana simétrica. Esta distribución puede devolver valores negativos, así pues, es preciso tener cuidado cuando se use en el modelo para valores de tiempo. Parámetros:
m;
media: real.
s;
desviación típica: real.
prn;
semilla de números pseudoaleatorios: entero
Forma:
Ejemplo de llamada a la función:
R = NORMAL(0, 1.0, 1)
Ejemplo de aplicación: Tiempos de ciclo.
RANDOM Proporciona una muestra de números pertenecientes al intervalo comprendido entre 0.0 y 1.0, y que siguen una distribución uniforme. Así pues, cualquier fracción comprendida en ese intervalo tiene la misma probabilidad de ocurrencia. Parámetros:
prn;
semilla de números pseudoaleatorios: entero.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
29
Forma:
Ejemplo de llamada a la función:
R = RANDOM(1)
Ejemplo de aplicación: Se puede utilizar para calcular un número aleatorio para un algoritmo.
TNORMAL Proporciona una muestra de números que siguen una distribución normal truncada. Es una distribución similar a la normal, con la diferencia de que los valores máximo y mínimo vienen especificados. Parámetros:
m;
media: real.
s;
desviación típica: real.
i;
valor mínimo: real.
a;
valor máximo: real.
prn;
semilla de números pseudoaleatorios: entero.
Forma:
Ejemplo de llamada a la función: 43)
R = TNORMAL(0.0, 6.0, -4.0, 4.0,
Ejemplos de aplicación: Los datos de tiempo pueden ser aproximados por una distribución normal aunque, con la restricción lógica de que no pueden tomar valores negativos.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
30
TRIANGLE Proporciona una muestra de números que siguen una distribución triangular, y cuya “curva” tiene forma triangular. Parámetros:
n;
valor mínimo: real.
m;
moda: real.
x;
valor máximo: real.
prn;
semilla de números pseudoaleatorios: entero.
Forma:
Ejemplo de llamada a la función:
R = TRIANGLE(1.0, 1.8, 4.0, 1)
Ejemplos de aplicación: La distribución triangular es la más empleada cuando los datos estadísticos necesarios son difíciles de obtener, pero se conocen los valores máximo y mínimo posibles, así como su valor más probable.
UNIFORM Proporciona una muestra de números que siguen una distribución uniforme. Se utilizará cuando la probabilidad de que se de cualquier valor dentro del rango especificado sea la misma. Parámetros:
n;
valor mínimo: real.
x;
valor máximo: real.
prn;
semilla de números pseudoaleatorios: entero.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
31
Forma:
Ejemplo de llamada a la función:
R = UNIFORM(3.0, 8.0, 1)
Ejemplos de aplicación: Esta distribución es frecuentemente utilizada como una primera aproximación a una cantidad real la cual se sabe que varía entre dos valores.
WEIBULL Proporciona una muestra de números que siguen una distribución de weibull con la escala y forma especificada. Parámetros:
a;
forma: real.
b;
escala: real.
prn;
semilla de números pseudoaleatorios: entero.
Forma:
Ejemplo de llamada a la función:
R = WEIBULL(2.0, 1.0, 43)
Ejemplos de aplicación: Modelado de la fiabilidad.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
32
BLOQUE III INTRODUCCIÓN A LA SIMULACIÓN CON WITNESS.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
33
BLOQUE III. INTRODUCCIÓN A LA SIMULACIÓN CON WITNESS.
III.1 Introducción a WITNESS. La simulación tiene mucho que ofrecer a las organizaciones, tanto para las industrias de fabricación como a las empresas de servicios. El papel de la simulación es el de evaluar cualquier alternativa práctica posible en apoyo de las iniciativas estratégicas principales, las cuales pueden suponer una gran inversión financiera, o en apoyo de la búsqueda continua para mejorar el comportamiento en los niveles táctico y operacional. Ejemplos de dichas evaluaciones son cambios en el mix de producción, aumento o disminución del volumen de producción, mejoras sobre la marcha, reducción del lead-time y mejora de los tiempos de respuesta al cliente. La simulación proporciona al usuario una información amplia y en profundidad en la cual basar sus decisiones: no es una herramienta de optimización. Es capaz de captar la complejidad de grandes sistemas, incluso de una factoría entera. Además, la aproximación simulada se apoya en un análisis de sensibilidad que permite cambios rápidos en la lógica del modelo y en los datos. ¿Qué es la Simulación Visual Interactiva? “La Simulación Visual Interactiva es algo que tiene capacidad para la creación gráfica de modelos simulados, presentación dinámica del sistema simulado y de interacción del usuario con la ejecución del programa.” R. D. Hurrion, Engineering Journal of Operations Research
Simulación con WITNESS WITNESS es un paquete de software de simulación del Grupo Lanner. Es la culminación de más de una década de experiencia en el desarrollo de simulación por ordenador. Esta experiencia nos ha llevado a desarrollar una aproximación visual, interactiva e interpretativa para la simulación sin necesidad de compilación. Los beneficios de la aproximación WITNESS son: •
La gente puede comprometerse más trabajando juntos como un equipo creando y utilizando modelos WITNESS.
•
Los modelos pueden construirse y comprobarse en pequeñas etapas sucesivas, las cuales simplifican en gran medida la construcción del modelo.
•
El modelo puede ser cambiado en cualquier momento durante su ejecución. Los cambios son incorporados inmediatamente llevando a una construcción del modelo más rápida.
Actualmente hay más de 5.500 sistemas WITNESS usándose en todo el mundo, desde empresas de fabricación hasta bancos y aeropuertos.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
34
Las aplicaciones incluyen: •
La evaluación de proyectos de inversión.
•
Ejecución de modelos regularmente para comprobar los programas de producción.
•
La evaluación de alternativas propuestas.
•
Mejora de las instalaciones existentes.
•
La gestión del cambio.
WITNESS puede ser aplicado en una amplia gama de entornos: •
La industria del automóvil.
•
La industria química.
•
Electrónica.
•
Aeronáutica.
•
Ingeniería.
•
Alimentación.
•
Prensa.
•
Bancos y finanzas.
•
Gobierno.
•
Transportes.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
35
III.2 Proyectos de simulación con WITNESS. Introducción Los proyectos de que trata la simulación tienen muchos aspectos particulares, los cuales deben ser gestionados con especial cuidado para asegurar su objetivo. Los temas de este capítulo resumen una secuencia típica de acontecimientos en un proyecto, utilizando una metodología práctica: •
Establecimiento de los objetivos.
•
Decisión de las posibilidades y nivel de detalle en el modelo.
•
Recogida de datos.
•
Estructuración del modelo.
•
Construcción del modelo.
•
Ejecución del modelo.
•
Creación de informes.
•
Comprobación del modelo.
•
Experimentación con el modelo
•
Documentar el modelo.
•
Presentación de los resultados e implementación de los mismos.
Establecimiento de los objetivos. Esta es la primera, y más importante fase de cualquier proyecto de simulación. La intención de un proyecto de simulación debería ser la de tomar una mejor decisión comercial. Un modelador de simulación, debe comprender que esas decisiones comerciales probablemente tendrán importantes implicaciones en el contenido del modelo simulado. Por ejemplo, considerar dos modelos de la misma célula de producción por dos razones totalmente diferentes. El primer modelo se construye para averiguar la máxima productividad teórica de la célula sujeta a diferentes mix de producción. El modelo, por lo tanto, contiene información detallada de la disponibilidad de las partes (contenida dentro de un fichero de partes), y los programas de producción de las células (contenidos dentro de un fichero de datos). No se considera el trabajo necesario para hacer funcionar a la célula al máximo rendimiento. El segundo modelo se construye para investigar el número de operaciones necesarias para que la célula opere eficientemente. El modelo, a veces contiene información detallada sobre prioridades de tareas, interrupción de actividades y cambios de diseño. En este caso, el programa de producción puede que tenga menos importancia. Así, el contenido de los modelos es guiado por la decisión comercial que se necesite tomar. No hay requisitos para representar cada característica particular de la célula de producción real en otro modelo.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
36
Posibilidades y nivel de detalle del modelo. Las posibilidades de un modelo de simulación se refieren a dónde comienza y donde termina. Por ejemplo, considerar un modelo de un servicio de mecanografía. El objetivo del modelo está en decidir cuántos mecanógrafos son necesarios para entregar un determinado documento a tiempo. El servicio de mecanografía podría ser considerado aisladamente. Las partes llegan a la bandeja de entrada de la oficina (línea de espera). Cada mecanógrafo toma los documentos de la entrada, los procesa y los empuja fuera del modelo (a enviar). De un modo alternativo, el servicio de mecanografía podría considerarse como parte del flujo de papel de la organización completa. Esto incluye cambios en los puntos inicial y final del modelo simulado para abarcar mayor amplitud del sistema real. Es importante limitar el modelo lo menos posible. Observando el nivel de detalle contenido en un modelo, la regla de oro es modelar el mínimo necesario para lograr los objetivos del modelo. Al comienzo de la construcción del modelo, pequeños añadidos al mismo llevan a grandes mejoras de su veracidad o rigor. Según se va haciendo el modelo más complejo, cada adición siguiente aportará menos al rigor del modelo. De hecho, podría decirse que la adición de detalles innecesarios podría llevar a una eventual caída en el rigor del modelo. Esto es particularmente cierto cuando se esté intentando modelar el comportamiento humano, el cual a menudo es inconsistente. El gráfico de abajo muestra la relación entre el nivel de detalle del modelo y el rigor o veracidad del mismo.
Efecto de la adición de detalles al modelo simulado rigor
Nivel de detalle
Es posible emplear elementos de WITNESS para representar combinaciones de procesos reales y, por lo tanto, al modelo a procesar en alto nivel. Por ejemplo, una célula de fabricación o incluso podría representarse una planta de fabricación entera como una máquina WITNESS.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
37
Recogida de datos. La información para un modelo es posible clasificarla en una de las tres categorías siguientes: 1.- Disponible – los datos están realmente disponibles, y lo están en un formato apropiado que el modelo puede usar inmediatamente. 2.- No disponible pero posible de recoger – el dato, o está en formato incorrecto o no ha sido captado antes. Se podría necesitar realizar un pequeño trabajo de estudio para recoger este tipo de datos (por ejemplo, cronometrando ciertos procesos manualmente). 3.- Ni disponible, ni posible de recoger – los datos no están actualmente disponibles, y no son fáciles de recoger (por ejemplo, para el modelo de una nueva factoría en una zona no industrial con maquinaria nueva). Si los datos no están disponibles ni se pueden captar, se deben utilizar estimaciones. Se pueden obtener estimaciones útiles de varias maneras: 1.- Utilizando datos de fabricación – Las máquinas de fabricación a menudo incluyen información ( por ejemplo, fiabilidad de los datos) en su folleto comercial y de especificaciones. 2.- Análisis de sensibilidad – incluye la sustitución de un parámetro desconocido (por ejemplo, el tiempo de ciclo de una máquina), con un valor alto y otro bajo por contra y la comparación de los resultados de la simulación completa. Si los resultados son parecidos, entonces se concluye que el tiempo de ciclo de máquina no es una parte crítica del proceso completo, y que una vasta estimación del tiempo de ciclo de máquina podría ser suficiente. Si los resultados son claramente diferentes, entonces el tiempo de ciclo de máquina es un estadístico crítico y se precisará de un trabajo adicional para asegurar que se ha estimado fielmente. Cuando se utilice una estimación, se debería aclarar sobre que modelo se basa cada suposición. Si se demuestra que el último modelo es inadecuado para representar la situación real, entonces se podrán escudriñar las sobre las cuales está basado. Estructuración del modelo. Un importante paso final antes de construir el modelo es estructurarlo. Esto identificará las áreas más difíciles en la construcción del modelo, y remarcará cualquier necesidad adicional de datos que pueden haber sido obviados hasta ahora, como puede ser el tiempo de transferencia entre procesos. Este proyecto toma la forma de un esbozo de la instalación a modelar. El proyecto debería identificar los elementos WITNESS (o grupo de elementos) para modelar cada proceso de la vida real. Puede contener información considerando las reglas de entrada y salida empleadas en elementos clave y un resumen de las acciones que se necesitan incluir a los elementos para dar el grado necesario de control lógico. También se pueden incorporar otros elementos (como son los tiempos de ciclo de las máquinas y las capacidades de las líneas de espera) dentro del proyecto.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
38
Construcción del modelo. Se recomienda construir el modelo de un modo sucesivo, y que se compruebe cada etapa exhaustivamente antes de construir la siguiente etapa. Si se hace esto, es más fácil localizar posibles problemas para un modelo que si se hace buscando a través del modelo completo. Hay que evitar la tentación de experimentar con un modelo antes de que esté completo. Es mejor tener un modelo completo y contrastado, que actuará como referencia con la cual pueden compararse los resultados experimentales. Los pasos principales en la construcción de un modelo son la creación de elementos (definición, presentación y detallado de los mismos), uniéndolos juntos entonces mediante reglas. Se puede construir también una lógica más compleja dentro del modelo utilizando acciones. Ejecución del modelo. Después de definir, presentar y detallar los elementos del modelo, éste se puede ejecutar inmediatamente, modificarlo añadiendo, cambiando o borrando elementos. Se puede ejecutar de nuevo el modelo para evaluar el impacto de estos cambios. Esta capacidad para construir un modelo de un modo sucesivo, y la comprobación de cada sección sobre la marcha, es una potente ayuda para la productividad, y genera confianza en el modelo. Se puede ejecutar el modelo en diferentes modos, desde el de paso a paso (con la pantalla de presentación completa) al de tiempo comprimido en el futuro (sin pantalla de presentación). Hay muchas características de WITNESS que son de ayuda para el análisis, incluyendo tablas de informes y gráficos estándar (los cuales muestran los comportamientos matemáticos básicos de todos los elementos del modelo automáticamente), métodos rápidos, vistas de procesos y flujo de elementos. Se pueden crear también series temporales, gráficos circulares, histogramas y tablas de informes y expresiones personalizadas en WITNESS. Creación de informes. Cuando se haya construido y ejecutado el modelo, se pueden utilizar los informes WITNESS para ayudar a elegir entre la modelización de distintos escenarios. Por ejemplo: •
Para aumentar la utilización de maquinaria, se puede estar más interesado en la proporción del tiempo que las máquinas gastan en un estado inactivo comparado con el tiempo empleado en un estado ocupado durante una simulación.
•
Para aumentar la productividad de la operación, se puede estar más interesado en el número de partes procesadas durante una simulación de un día.
•
Para racionalizar la fuerza de trabajo, se estará interesado en la proporción de tiempo que los operarios de cada clase permanecen ocupados.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
39
•
Para reducir los desperdicios, se puede estar interesado en la cantidad de partes que eran desechadas durante el periodo simulado.
•
Para evitar pérdidas de clientes debido a que las colas eran demasiado largas, se estará interesado en el número de clientes que rehúsan entrar por esta razón (número de partes rechazadas).
•
Para estimar la vida de los vehículos, se estará interesado en la distancia total que recorren en una semana simulada.
Se pueden escoger diferentes tipos de informes a realizar, y se pueden imprimir los informes, presentarlos por pantalla, o guardarlos en varios tipos de ficheros (incluyendo los formatos CSV o DIF). Se pueden copiar todos los gráficos y ficheros estándar en el portapapeles de Windows y pegarlos en otras aplicaciones. Comprobación del modelo. La comprobación del modelo consiste en la verificación y en la validación. La verificación asegura que el contenido del modelo es consistente con lo que se espera de él. Por ejemplo, establece que las partes están circulando por las rutas correctas entre elementos, y que cualquier tarea utilizada es atendida por los elementos correctos con la prioridad pedida. La validación (que sigue normalmente a la verificación) compara el rigor del modelo comparado con la situación real. Un ejercicio de validación normal podría incluir el suministro de un conjunto de inputs (por ejemplo, partes que llegan y programas de producción), y el estudio de un conjunto de outputs modelo (por ejemplo, el nivel medio de trabajo en curso de una parte, o la relación de productividad de tiempo empleado para cada parte). Las etapas de verificación y validación de un estudio de simulación son normalmente interactivos en los que se incluye la revisión de algunas de las etapas ya descritas. Por ejemplo, el modelo puede requerir de la adición de algunos procesos aún no modelados, aumentando las posibilidades del modelo. Experimentación. Cuando se haya comprobado que el modelo emula el comportamiento de la situación real, se puede investigar sobre un número de escenarios alternativos. Los escenarios deberían haber sido definidos dentro de los objetivos originales del estudio de simulación. Una experimentación de éxito incluye normalmente un periodo de precalentamiento o unas condiciones iniciales, la decisión de una duración adecuada, y la ejecución del modelo con más de un grupo de números aleatorios. Un periodo de precalentamiento permite al modelo alcanzar una estabilidad de forma gradual antes de cotejar cualquier resultado con WITNESS. Por ejemplo, es muy improbable que una línea de producción pudiera estar completamente vacía de partes primeras en un lunes por la mañana, aunque la simulación por ordenador podría comenzar desde esta situación. Un periodo de precalentamiento de, por ejemplo, una semana, podría permitir acumular inventarios hasta un nivel normal. Se podría ordenar al modelo que omita los resultados de la primera semana, y comenzar a recoger
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
40
resultados desde el lunes por la mañana de la segunda semana. Para especificar el periodo de precalentamiento se puede usar, o el comando model/options/statistics, o el comando model/experiment. Una posible alternativa al periodo de precalentamiento es la de incluir algunas condiciones iniciales en el modelo. En el momento inicial, las partes son enviadas a varios elementos. El número de partes y sus destinos corresponden a una situación típica de trabajo en curso. Ahora no se necesita periodo de precalentamiento, ya que el modelo está siendo ejecutado desde una situación normal de la vida real. Se pueden crear condiciones iniciales utilizando llegadas de partes activas, o falsas condiciones iniciales de máquinas que procesan un gran número de partes en el instante cero, pero que se hacen inactivas para el resto de la simulación. Se pueden usar también ficheros de partes para cargar un modelo nuevo con definiciones de elementos. Aunque la mayor parte de las ejecuciones de simulación requieren de algún periodo de precalentamiento, o de condiciones iniciales, algunas situaciones no necesitan ninguna. Por ejemplo, un modelo construido para estudiar los niveles de servicio al cliente en un banco, comenzaría preferentemente desde un estado vacío en que los bancos no tienen clientes cuando abren sus puertas cada mañana. Algunos experimentos incluyen la ejecución de un modelo para una duración especificada bajo circunstancias diferentes. La duración de la ejecución debería determinarse mediante un número de factores. El factor más importante es que se tome una muestra razonable de números aleatorios de cada semilla de números aleatorios utilizado en el modelo. Cada ejecución debería apuntar el uso de al menos entre 10 y 15 números de cada semilla. Si se está utilizando una semilla para calcular un intervalo entre paradas de entre 1 y 2 semanas, entonces se necesitaría una duración de entre 20 y 30 semanas. Otro factor es el periodo de información de la situación real que está siendo modelada. Tiene poco sentido calcular una duración óptima de ejecución de 3 semanas y un día si se necesita comparar los resultados del modelo con una situación real en la que el periodo de información es cada 30 días. Es importante ejecutar cualquier modelo con actividad aleatoria utilizando muchas semillas diferentes de números aleatorios antes de depositar la confianza en los resultados del modelo. De otro modo, es posible que los resultados obtenidos sean únicamente la consecuencia de un conjunto de grupos de números aleatorios escogidos más que de los cambios que se hayan hecho al modelo. Debería compararse cada conjunto de resultados; si se encuentran valores no representativos, se deberían revisar, evaluar, y, si es necesario descartarlos. Se puede utilizar el comando model/random numbers para reiniciar grupos aleatorios, desde inusuales hasta usuales o viceversa. De un modo alternativo, se puede utilizar la opción model/experiment para automatizar la ejecución de un modelo que utilice grupos de números aleatorios. Documentación. Es buena idea documentar como se ha construido el modelo, lo cual lo hace más fácil de comprender si se examina en un momento posterior. Dicha documentación debería incluir el diagrama de la estructura del modelo. WITNESS también proporciona otras SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
41
herramientas para la documentación del modelo, bien dentro del propio modelo, bien externamente a un fichero o una impresora. Se pueden atar notas a muchos elementos, detallando diálogos y presentando las notas en la ventana de simulación. Se pueden utilizar para introducir descripciones de como debería funcionar cada parte del modelo. Se puede usar también una marca de exclamación en las reglas y las acciones para insertar comentarios sobre el propósito de la regla o de la acción. De un modo alternativo, se puede utilizar la opción reports/list para enviar un informe de cada elemento (junto con su tipo de elemento) a un fichero o a una impresora. Entonces, se puede editar el fichero o tomar notas sobre el papel en que se ha copiado el informe. Las fuentes de datos utilizadas, las suposiciones hechas y los resultados obtenidos deberían formar parte también de la documentación del modelo. Si el proyecto es documentado convenientemente, entonces la documentación demostrará ser una tarea menos pesada. Se recomienda que la documentación de cualquier proyecto esté cumplimentada antes de la presentación de los resultados, con lo que se ha enterrado le frecuente menor inclinación a documentar un proyecto. Presentación de resultados e implementación. El método de presentación de los resultados depende del tamaño del proyecto de simulación y de la cultura de la organización. Un modelo animado proporciona una herramienta de comunicación efectiva en la cual apoyar las decisiones comerciales, particularmente si se ha realzado su presentación gráfica. Se debería de tratar de asegurar que los resultados del modelo forman parte del proceso de toma de decisiones, y que el modelo no se utiliza simplemente para justificar una decisión pasada. Las acciones resultantes del estudio del modelo de simulación deberían ser implementadas. De otro modo, se habrían desperdiciado todos los esfuerzos realizados. Si el modelo está documentado adecuadamente, probablemente se utilizará de nuevo, quizá con cambios hechos sobre alguno de los parámetros. Se desarrollará el modelo como apoyo para una mejor toma de decisiones en el futuro.
III.3 Modelado con WITNESS. Esta sección proporciona una introducción a la construcción básica de bloques de WITNESS y como se pueden usar para construir un modelo. La descripción se diseña para ofrecer una apreciación total del producto antes de entrar en los modelos ejemplo donde los procesos de WITNESS y sus propiedades son exploradas en más detalle.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
42
Elementos: la construcción de bloques WITNESS. Una operación de negocios o comercial puede producir un número de partes diferentes empleando una variedad máquinas, cintas transportadoras, vehículos, otros equipos y gente. Un modelo de WITNESS utiliza la misma combinación de partes, gente, máquinas y otros dispositivos de simulación, llamados elementos de modelado, para simular la operación que está siendo estudiada. Hay dos principales versiones de WITNESS que ofrecen terminologías diferentes para fabricación y para el sector servicios. Este libro utiliza terminología de fabricación todo el tiempo – el sector servicios equivalente es listado en el librito de referencia rápida. Hay cuatro clases de elementos de modelado: discretos, continuos, lógicos y gráficos. Como ya se ha familiarizado con las capacidades de cada elemento, se encontrará con que cualquier aspecto de la operación puede ser representada con todo su significado. Elementos discretos. Se presentan como iconos dinámicos y representan entidades tangibles en la situación real que está siendo estudiada. Partes. (Parts) Las partes fluyen a través del modelo. Pueden representar, por ejemplo: • Productos (coches, motores, etc.). • Un proyecto progresando a través de una gran empresa. • Llamadas en una centralita telefónica. • Componentes electrónicos diminutos u ordenadores enteros. • Gente circulando en un supermercado. Las partes pueden ser: • Presentadas de diferentes maneras – como un icono o texto de descripción. • Caracterizadas por un conjunto particular de atributos (por ejemplo, peso, longitud, color), los cuales puede ser fijos (para todas las partes del mismo tipo) o variable (para cada parte individual del mismo tipo). • Manejadas de diferentes modos (empaquetadas, creadas individualmente o en lotes, cambiadas dentro de otras partes, muchas partes pueden ser combinadas dentro de una parte, o una parte puede ser dividida en muchas partes). • Llenadas de fluido y vaciado de fluido. Líneas de espera. (Buffers) Hay lugares donde las partes pueden estar a la espera. Por ejemplo: • Partes esperando una operación en una planta industrial. • Gente en una cola.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
43
• El espacio aéreo con aviones esperando aterrizar. • Una tolva que contiene componentes en una estación de ensamblaje. Las líneas de espera pueden: • Tener partes colocadas dentro de ellas según diferentes métodos de ordenación (por ejemplo, FIFO o por prioridades). • Estar ligadas directamente a máquinas (líneas de espera dedicadas). • Retener partes durante un tiempo mínimo especificado. De este modo, las líneas de espera pueden utilizarse para simular equipos como pueda ser un horno y operaciones como asentamiento o descanso laboral. • Retener partes hasta un tiempo máximo especificado después del cual dejan la línea de espera. De este modo, las líneas de espera pueden utilizarse para simular colas como gente haciendo cola en la caja de un supermercado. Máquinas. (Machines) Hay potentes elementos que se utilizan para representar cualquier cosa que tome partes de algún sitio, las procese y las envíe a su destino. Por ejemplo: • Una máquina herramienta, torno o una prensa. • Una tienda completa o una sola caja de un supermercado. • Una organización que se encarga de un proyecto el cual va evolucionando. • Una planta entera o una célula individual. Cintas transportadoras. (Conveyors) Se utilizan para mover partes desde un punto fijo del modelo a otro después de un tiempo. Las cintas transportadoras pueden ser de dos tipos, de rodillos y de correa, y ambas están representadas. Hay también construcciones para modelar un tipo especial de sistemas de cintas transportadoras llamadas “power and free” (impulsar y liberar). He aquí cuatro construcciones adicionales para este propósito – llamadas estaciones, transportistas, secciones y redes. Vehículos. (Vehicles) Representan vehículos, (por ejemplo, vehículos guiados automáticamente, grúas, carretillas elevadoras) que transportan partes. Se puede especificar: • Una variedad de destinos y prioridades para vehículos. • El tiempo que un vehículo debe permanecer parado al final de un trayecto antes de ir al siguiente. • Una duración en que el trayecto permanece ocupado después de que un vehículo lo ha abandonado (por ejemplo, para evitar colisiones entre vehículos). • Una velocidad máxima para un vehículo en un trayecto. • La velocidad de un vehículo cuando está cargado y cuando está vacío. • Aceleración y deceleración de un vehículo. • El tiempo requerido para cargar y descargar las partes de un vehículo.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
44
Trayectos. (Tracks) Son los caminos que siguen los vehículos cuando transportan las partes. También definen puntos en los cuales los vehículos pueden ser cargados, descargados o aparcados. Se pueden modelar trayectos unidireccionales o bidireccionales. Operario. (Labor) Es un recurso (por ejemplo, herramientas, gente o equipo el cual puede ser requerido por otros elementos para el procesado, primer establecimiento, reparación, limpieza y cosas por el estilo. Se puede tomar trabajo de otro elemento para que dicho elemento pueda completar una tarea más importante (prioridad de trabajos). Módulos. (Modules) Un módulo es un elemento compuesto de una colección de otros elementos WITNESS. Los módulos pueden ser usados para la construcción de modelos de “caja negra” o modelos jerárquicos. Se puede definir, presentar y detallar únicamente como otro elemento WITNESS, y proteger el módulo con un password. Las opciones para utilizar módulos, son muy amplias. Las uniones a ficheros de módulos externos proporcionan conceptos de herencia. Elementos de procesamiento continuo. Se emplean para simular modelos donde el flujo continuo es un factor. Fluidos. (Fluids) Los fluidos representan líquidos y productos de flujo libre como el polvo. Se presentan como flujos de color que fluyen a través de una tubería, tanque y elementos de proceso. Las mezclas de fluidos se muestran con bandas de diferentes colores (en la proporción de la cantidad de cada fluido que hay en la mezcla). Tanques. (Tanks) Los tanques son elementos de proceso continuos en los cuales los fluidos pueden ser retenidos o almacenados (esto es, actúan como líneas de espera de fluidos). Los tanques pueden: • Ser vaciados en varias etapas. • Tener especificados avisos de aumento o caída de niveles, los cuales habilitan que se desarrolle una acción cuando se ha alcanzado. • Cambia el nombre y el color de un fluido en la entrada o salida. • Ser presentado de varias maneras. • Presentar sus contenidos en unidades de volumen. • Presentar las proporciones de mezcla de fluidos como un porcentaje, junto con los nombres de esos fluidos. Procesadores. (Processors) El flujo de fluidos en un procesador sufre algún tipo de operación, y, después, fluyen fuera (esto es, actúan como máquinas para fluidos). Un ejemplo de procesador podría ser una vasija en la cual se mezcla un número de fluidos y se calientan durante un tiempo determinado. Los procesadores pueden:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
45
• Tener niveles calibrados, mostrando los contenidos precisos. • Presentar las proporciones de la mezcla de fluidos en un procesador como un porcentaje, junto con los nombres de los fluidos. • Tener un nivel de proceso mínimo por debajo del cual el procesador no actuará. • Ser vaciado de acuerdo a ciertos criterios. • Paradas de acuerdo a ciertos criterios. • Tener especificados avisos de aumento o caída de niveles, los cuales habilitan que se desarrolle una acción cuando se ha alcanzado. • Cambia el nombre y el color de un fluido en la entrada o salida. Tuberías. (Pipes) Son elementos empleados para conectar procesadores y tanques. Los fluidos fluyen a través de tuberías en una relación dada. Las tuberías pueden: • Ser vaciadas de acuerdo a ciertos criterios. • Paradas de acuerdo a ciertos criterios. • Cambiar el nombre y el color de un fluido en la entrada o salida. • Tener relaciones de flujo negativas. • Fluir producto o estar vacías. Elementos lógicos. Representan los datos y los aspectos informativos del modelo (tales como control e información). Estos le capacitan para obtener datos fácilmente, personalizar informes y construir una lógica más completa dentro de los modelos WITNESS. Atributos. (Attributes) Son características de una parte específica o unidad de trabajo. Por ejemplo, podría estar retenido en un atributo el número de cilindros en un motor, y se podría utilizar este atributo para determinar la duración requerida para sintonización y ajuste. Cada atributo puede guardar un entero, o un número real, o un string, o una referencia a otro elemento de modelado WITNESS. Variables. (Variables) Las variables son valores a los que se pueden acceder desde cualquier parte del modelo. Por ejemplo, una variable podría ser utilizada para grabar el valor de los artículos en un inventario. Además de las variables que define uno mismo, WITNESS proporciona muchas variables de sistema (una de las cuales guarda el tiempo de reloj de la simulación actual, y una que guarda el número de parte actual en un lote). Una variable puede: • Guardar un entero, o un número real, o un string, o una referencia a otro elemento de modelado WITNESS. • Ser un conjunto igual a una expresión que incluye atributos, a un valor constante, a una muestra de una distribución o a otra variable. • Presentar su nombre y valor en la pantalla.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
46
Distribuciones. (Distributions) Las distribuciones permiten construir con variabilidad dentro del modelo incluyendo datos que se han recogido de la situación real. Por ejemplo, si las observaciones muestran que las operaciones de factoría de tipo X requieren de entre 5 y 10 minutos, pero la duración más frecuente es de 8,2 minutos, la información podría ser introducida dentro del modelo utilizando una distribución. Las distribuciones pueden: • Ser definidas por el usuario. • Ser una del amplio rango de distribuciones enteras y reales ya proporcionadas por WITNESS. • Ser cualquiera continua o discreta. Ficheros. (Files) Los ficheros permiten tomar valores que son relevantes para la simulación y cargarlos dentro del modelo WITNESS, o salvar valores desde el modelo WITNESS en un fichero que puede ser usado en otra aplicación (para producir informes personalizados, por ejemplo). Funciones. (Functions) WITNESS proporciona un gran número de funciones internas que se pueden utilizar para dotar de inteligencia al modelo. Por ejemplo, podría emplearse una función para detectar el número de partes que hay actualmente en una cinta transportadora. También se pueden crear funciones propias. Las funciones predefinidas incluyen: • Funciones informativas y de estado, por ejemplo, devolver el número de partes en un elemento específico, devolver la cantidad de espacio libre en un elemento. • Funciones de muestreo aleatorias, por ejemplo, devolver una muestra desde una distribución normal. • Funciones aritméticas, por ejemplo, devolver el mínimo número de una lista de números enteros o reales. • Nombres de funciones. Las funciones pueden: • Presentar sus nombres y los valores devueltos más recientemente en la pantalla como parte del modelo. • Ser creadas empleando las acciones de lenguaje WITNESS predefinidas y después ser utilizadas repetidamente en el modelo con la misma facilidad que las funciones predefinidas. Ficheros de partes. (Part files) Los ficheros de partes contienen una lista de partes; para cada parte en un fichero, se puede especificar el tamaño de lote (como cuantas partes llegan de una vez), atributos de la parte (por ejemplo icono, color, peso) y el tiempo de llegada de la parte al modelo. Es habitual para el modelado de problemas de programación
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
47
sencillos donde los mecanismos entre llegadas normales no le permiten especificar llegadas de partes con suficiente precisión. Se puede también sacar partes del modelo de simulación a ficheros de partes. De este modo, es posible producir un fichero de partes como una salida desde un modelo que se utiliza como entrada a otro modelo. Se pueden sacar partes desde el modelo hasta ficheros de partes. De este modo, es posible producir un fichero de partes como una salida desde un modelo que es utilizada como entrada a otro modelo. Cambios. (Shifts) Los elementos de cambio son usados para simular un patrón de cambio (o una serie de patrones de cambio) que son, en efecto, una secuencia de periodos trabajados y no trabajados. Los patrones de cambio pueden aplicarse a recursos laborales y otros elementos para simular el funcionamiento del cambio. Elementos gráficos. Son representaciones gráficas de qué es lo que le está sucediendo al modelo como son las ganancias en la ejecución. Gráficos circulares. (Pie charts) Los gráficos circulares permiten representar los resultados de la simulación en la pantalla en el formato de gráfico circular estándar. Se puede inclinar la presentación de los gráficos circulares y sacar los segmentos para aumentar el impacto. Los gráficos circulares son habituales en la representación del porcentaje de tiempo que gasta un elemento en un cierto estado (por ejemplo, que cantidad de tiempo se emplea en estado ocupado, y cuanto es estado parado). Series temporales. (Timeseries) Las series temporales permiten presentar los resultados de la simulación en la pantalla en forma de gráfico que dibuja los valores tomados para la simulación respecto al tiempo. Se pueden dibujar siete valores con siete colores diferentes. Las series temporales son habituales para determinar las tendencias o los ciclos, reforzando el modelo, ya que proporciona un historial del valor especificado además una media y una desviación estándar. Histogramas. (Histograms) Los histogramas permiten presentar los resultados de la simulación en la pantalla en forma de gráfico de barras. Es habitual para determinar el rango de valores observado por algún parámetro de la simulación. Elementos de manipulación. Reglas. (Rules) Las partes y los fluidos se transfieren entre elementos de acuerdo a unas reglas de entrada y de salida de los diálogos de detalle de esos elementos. Las reglas pueden: • Permitir modelar decisiones complejas sobre la transferencia de partes y fluidos basadas en, al menos, un criterio. • Ser introducidas de modo semiautomático usando una propiedad rápida en WITNESS.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
48
• Contener comentarios que documenten la lógica. • Dirigir partes y fluidos a una variedad de lugares fuera del modelo (por ejemplo, pueden ser embarcadas o desechadas) • Ser creadas usando sólo los botones de la barra de acción estándar. Expresiones. (Expressions) Una de las propiedades más potentes de WITNESS es la flexibilidad con la cual se manejan valores. En cualquier lugar en que se necesite un valor, se puede especificar una fórmula o expresión (si se utilizan programas de hojas de cálculo, se valorará este concepto). Dependiendo del contexto, WITNESS o elabora el valor inmediatamente o almacena la expresión para un uso futuro. Por ejemplo, el tiempo de ciclo de una máquina puede introducirse como una expresión que será evaluada cada vez que la máquina comience un nuevo ciclo de trabajo. Acciones. (Actions) WITNESS proporciona un lenguaje de programación sencillo conocido como Acciones. Estas similitudes las comparte con el lenguaje de programación BASIC pero se lee más parecido al inglés e incorpora instrumentos de ayuda. Utilizando acciones, se puede dar a WITNESS instrucciones específicas sobre la lógica del modelo, dotándole al modelo de los cálculos y las fórmulas que apoyan las decisiones en la situación real que se está estudiando. Las acciones pueden: • Ser usadas para introducir interacción entre el modelo y el usuario, por ejemplo, solicitándole respuestas específicas en los puntos adecuados donde el modelo está ejecutándose. • Ser utilizadas en etapas clave de una operación de los elementos (por ejemplo, al finalizar un ciclo, cuando una parte deja el modelo, antes de que las observaciones se dibujen en la serie temporal, cuando un procesador termina el vaciado). • Ser utilizadas para agrupar las condiciones iniciales del modelo. • Ser utilizadas en una etapa durante la ejecución del modelo. Construcción y uso del modelo WITNESS. Hay tres etapas principales en la construcción de un modelo WITNESS: Definición de elementos. Se debe especificar los nombres y cantidades de los elementos que se usarán en el modelo. Se puede usar el árbol de elementos, pero es más rápido y fácil utilizar la paleta de diseño de elementos que viene con WITNESS; a esta se le pueden añadir paletas para crear librerías de elementos definidos y módulos que puedan ser utilizados una y otra vez. Con sólo hacer clic en el elemento elegido y colocarlo en la ventana de simulación, no sólo se define el elemento, sino que también se crea algo de la presentación por defecto y datos de detalle para ese elemento, lo cual hará que se ahorre tiempo y esfuerzo. Presentación de elementos. Se debe decidir como se quiere que sean presentados en la pantalla los elementos del modelo. Hay una variedad de opciones que incluyen iconos, texto, cajas, líneas, elipses, expresiones, nombres de tipos de fuentes y color de texto y líneas. Se puede adaptar la presentación para prestar atención a objetivos particulares del modelo (por SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
49
ejemplo, añadiendo etiquetas o texto extra). Se puede mirar en las opciones de presentación de algunos elementos haciendo doble clic en su icono con el botón derecho del ratón. Detallado de los elementos. El diálogo de detalle para cada elemento permite especificar exactamente como opera exactamente ese elemento, cómo se controlan las entradas y salidas de un elemento, las acciones que tienen lugar cuando tiene lugar un evento particular y como cambia, averías, prioridades y como se aplican. Se pueden examinar algunos detalles de los elementos haciendo doble clic en su icono con el botón izquierdo del ratón. Ejecutando el modelo. Después de la definición, presentación y detallado de los elementos del modelo, se puede ejecutar inmediatamente, después se modifica añadiendo, cambiando o borrando elementos, después se ejecuta de nuevo para evaluar el impacto de esos cambios. Esta capacidad para construir un modelo de un modo sucesivo, comprobando cada sección sobre la marcha, es una ayuda potente para la productividad y genera confianza en la validez del modelo. Se puede ejecutar el modelo en una variedad de modos, desde el de paso a paso (con presentación de pantalla total) al de tiempo comprimido en el futuro (sin presentación en pantalla). Informes: medición del rendimiento. WITNESS genera informes automáticamente. Se pueden usar esos informes como ayuda para la elección entre escenarios de modelado alternativos. Los informes estándar comprenden una colección de estadísticos para un elemento o para una presentación gráfica. Están disponibles otros tipos de informes, por ejemplo, una lista de elementos definidos en el modelo, un sumario de los detalles de un elemento específico y una lista de elementos que están actualmente libres, bloqueados, o esperando una labor. También se puede exportar información desde un informe en multitud de formatos (y se pueden pegar datos al portapapeles para utilizar otros paquetes de software tales como las hojas de cálculo). Módulos externos de WITNESS. WITNESS XA es un programa separado de WITNESS que analizará experimentos del modelo y proporcionará información estadística (por ejemplo, intervalos de confianza). En este manual se incluye un ejemplo de análisis. WITNESS Optimizer es un programa que carga otras opciones dentro de los menús de WITNESS. Ofrece un algoritmo único que buscará maximizar (o minimizar) una función objetivo estableciendo cierto conjunto de parámetros de simulación dentro de unos rangos dados. WITNESS VR ofrece gráficos de realidad virtual para modelos WITNESS. El programa permite crear una imagen en 3D a partir de una capa 2D automáticamente utilizando una librería de objetos 2D. La capacidad de volar en torno a un mundo
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
50
virtual, como pueda ser una factoría, tocando un botón es una herramienta de comunicación extremadamente potente. Archivado: reunión de una cartera de modelos. WITNESS permite almacenar modelos y partes de modelos en muchos formatos diferentes. Algunos de los formatos más utilizados son: .MOD
Fichero de modelo (los elementos del modelo y el entorno, pero no su estado).
.SIM
Fichero de modelo y estado (el modelo y el estado en que estaba cuando se salvó). Se puede ejecutar el modelo desde este punto.
.LST
Fichero de librería (texto que contiene la definición completa de un modelo)
.DES
Un conjunto de elementos de diseño.
.MDL
Un fichero de módulo.
Ayuda. Además de los manuales de WITNESS y del apoyo Help Desk, se proporciona ayuda on-line con la versión completa de WITNESS. Esta es la documentación más comprensiva y contiene saltos de hipertexto y herramientas de búsqueda para moverse rápidamente hasta el tema requerido. Hay que pulsar la tecla cuando se necesite ayuda, o hacer clic en el botón de ayuda en un diálogo para presentar ayuda para este diálogo. Realzando la presentación en pantalla. Las siguientes herramientas son ejemplos de los modos en que se puede realzar el modelo y hacerlo más claro. Se puede añadir: •
Una presentación de telón de fondo creada en un paquete de dibujo CAD importado desde un fichero .DXF.
•
Iconos extra. Se pueden diseñar iconos propios que pueden cambiar de color para reflejar el estado del elemento que están representando. Más adelante, en el curso de construcción de un modelo, hay un ejemplo de una librería de iconos. Es posible importar ficheros de mapa de bits (.BMP) y utilizarlos como iconos de WITNESS.
•
Texto y etiquetas explicativas.
•
Líneas, por ejemplo, para indicar el flujo de trabajo en curso.
•
Cajas y elipses, por ejemplo, para dividir el modelo en zonas indicando operaciones o para prestar atención a ciertas áreas.
•
Logotipos de empresa.
•
Teclas mostrando colores de estados para elementos.
•
Realces acústicos (utilizando ficheros .wav).
•
Realces de vídeo (utilizando ficheros .avi).
Se puede elegir:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
51
•
Colores diferentes para presentar texto, líneas y nombres de elementos. Ambos colores, tanto color de fondo como de primer plano pueden ser alterados.
•
Diferentes patrones de relleno para cajas, círculos o elipses.
•
Diferentes fuentes de texto.
•
Diferentes tamaños de iconos.
•
Para redefinir los relojes de simulación digitales y analógicos a las necesidades del problema.
III.4 Conceptos básicos de manejo de WITNESS.
La técnica más adecuada para aprender a manejar un simulador de procesos es la utilización de modelos sencillos que ya están construidos. Un modelo con bastante interés didáctico en Witness es el fichero DEM1.MOD archivado en el subdirectorio DEMO/TUTORIAL de la instalación Witness. El modelo puede abrirse pulsando la opción Open en el menú desplegable File o sino pulsando la tecla de abrir fichero en la barra estándar.
Los comandos de la barra estándar más destacados son los siguientes: Tecla de abrir fichero. Tecla para aplicar a un elemento la regla push. Las piezas o vehículos son enviados al primer elemento que esté disponible según un orden de preferencia dado y que sea capaz de aceptarlas. Tecla para aplicar a un elemento la regla pull. Las piezas se tomarán del primer elemento que esté disponible según un orden de preferencia dado y que sea capaz de suministrarlas.
La descripción de dicho modelo se puede seguir con mayor facilidad si se abre y se ejecuta. En este modelo el proceso de fabricación consiste en unir una pieza inferior y otra superior mediante dos tornillos. El proceso de ensamblado lo realiza un robot de forma automática y después se realiza una inspección antes de que la pieza acabada salga del modelo. La barra de ejecución se muestra en la parte inferior de la pantalla.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
52
Los comandos de la barra de ejecución que se van a emplear son los siguientes: Tecla de inicio. Pone el reloj a cero, borra los informes y lleva a los elementos al estado de parada Tecla de stop o parada. Para la ejecución en cualquier modo. Tecla de ejecución en modo paso a paso. Permite examinar cada paso que se da durante el proceso de ejecución Tecla de ejecución en modo normal. Ejecuta el modelo con la simulación visible Tecla de ejecución en modo acelerado. Ejecuta el modelo pero no es posible visualizar la simulación Tecla de tiempo límite de ejecución. Cuando se activa permite ejecutar un modelo hasta el tiempo (en minutos) que el usuario indica en la ventana de texto adjunta
Las características que definen cada elemento pueden observarse haciendo doble click sobre su propio nombre en la pantalla. El almacén indicado como TOPS guarda las piezas superiores que llegan en lotes de 1 a tiempos variables. El almacén BOTTOMS guarda las piezas inferiores que llegan en lotes de 1 y a tiempos variables. El almacén SCREWS contiene tornillos que llegan en lotes de 6 y a tiempos variables. La máquina de ensamblado ASSEMBLY toma una pieza superior, una inferior y 2 tornillos. Su ciclo de operación es de 2 minutos.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
53
En el dispositivo de inspección las piezas unidas son inspeccionadas en grupos de 4 y el tiempo de ésta operación es de 5 minutos. Después las piezas salen del modelo. En un plot se indican cada 5 minutos las lecturas del coste de la materia en elaboración (en amarillo) y de las piezas que se encuentran en ensamblado e inspección (en rojo). La ventana del tiempo indica semanas, días, horas y minutos. El tiempo también se indica en la barra de ejecución. Ejecución en modo paso a paso hasta el instante de tiempo 20. − Hacer click en el icono de inicio para reiniciar el tiempo a cero. Después utilizar el icono de ejecución en modo paso a paso. − Hasta que no se pulse la tecla o se presione el botón izquierdo del ratón no se procederá a la ejecución del siguiente paso el cual ocurre en la siguiente unidad simulada de tiempo. Un comentario acerca de lo que ocurre en el modelo acompaña a cada paso en la ventana interactiva Interact Box. − Presionar la tecla . Inicialmente una pieza superior y una inferior llegan al robot de ensamblado. Continuar pulsando la tecla mientras el robot de ensamblado está a la espera de los tornillos para comenzar el trabajo. − En el modelo entran una nueva pieza superior y otra inferior que quedarán en sus lugares de almacenamiento correspondientes (buffers) hasta que sean solicitados. − En el instante 5 llega un lote de 6 tornillos, 2 de los cuales van al robot de ensamblado y el resto se queda almacenado en el buffer. El robot de ensamblado comienza un ciclo y cambia su color de amarillo (inactivo) a verde (ocupado). − En el instante 7 una pieza ensamblada llega a la máquina de inspección, la cual permanecerá no comenzará a trabajar hasta que lleguen otras 3 piezas ensambladas. El robot de ensamblado vuelve a tener todas las piezas. − En el instante 10 las series de tiempo dan una segunda lectura. Todos los almacenes de materiales en curso están vacíos, por lo que el gráfico amarillo está a cero. El gráfico rojo sube mientras las máquinas de ensamblado e inspección se llenan. − En el instante 17 la cuarta pieza ensamblada entra en la máquina de inspección y el icono de esta se muestra verde (ocupado). − Cuando se llega al instante 20, el robot de ensamblado se encuentra bloqueado debido a que la máquina de inspección está todavía ocupada y el robot no puede liberarse de la pieza ensamblada. El bloqueo se mantiene hasta que el lote de 4 piezas ensambladas sale del modelo. Después la pieza ensamblada podrá pasar a la máquina de inspección y el robot de ensamblado se volverá a llenar con otras 4 componentes.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
54
− Si se sigue ejecutando el modelo se pueden observar los cambios de estado del mismo y del valor de los materiales en curso. − Para detener la ejecución hacer click en la tecla de stop. Ejecución en modo normal y acelerado hasta el instante 50. − Hacer click en el icono de inicio para reiniciar el tiempo a cero. − Introducir 50 en la ventana contigua a la tecla de tiempo límite de ejecución. Después utilizar el icono de ejecución en modo normal o acelerado. Una vez realizada una simulación se puede obtener los informes correspondientes en el menú desplegable Reports seleccionando la opción Reports. Se debe expandir el árbol correspondiente a la opción Simulation y seleccionar todos aquellos elementos de los que se quiera obtener información haciendo click en la casilla correspondiente. También se pueden seleccionar todos con la opción Select All. Por último para visualizar la información hay que pulsar la opción Statistics que genera los informes.
Cuando el modelo se ha ejecutado hasta el tiempo 50, se puede observar que el robot de ensamblado ha estado inactivo por más de un tercio del tiempo, bloqueado durante el 12% y trabajando durante el resto. Estas mismas características se pueden observar para la máquina de inspección. Una de las mejoras que se pueden hacer en el modelo es reducir la cantidad de tiempo durante la que la máquina de inspección bloquea el robot de ensamblado reduciendo el tamaño de lote y acortando el tiempo de inspección. Para ello se debe hacer doble click en el icono de la máquina de inspección, editar el campo de lote mínimo sustituyendo el 4 por el 2, editar el campo de tiempo de ciclo sustituyendo 5.0 por 2.5 y pulsando la opción aceptar.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
55
Si se ejecuta el modelo hasta el instante 50 se puede observar que el tiempo de bloqueo se ha reducido al 4%. Se pueden realizar otras modificaciones para mejorar el proceso como una simple reducción en el tiempo de inspección. Otro modelo interesante en Witness es el fichero DEM2.MOD archivado en el subdirectorio DEMO/TUTORIAL de la instalación Witness. Este modelo ilustra elementos de procesamiento continuo y el uso de acciones de usuario específicas para cambiar el comportamiento del modelo, de modo que el usuario tiene el control de la planta. En este modelo un fluido verde llega al tanque 1 y otro rojo llega al tanque 2. Ambos fluidos parten de dichos tanques para llenar un mezclador del que pasan a un tercer tanque. En el modelo hay unos flujos entrantes variables que llegan a los tanques 1 y 2 (con valores entre 1 y 10) y un flujo saliente variable que sale del tanque 3 (con valores entre 2 y 20). Los flujos restantes, que van de los tanques 1 y 2 al mezclador y del mezclador al tanque 3, pueden controlarse y las tasas se ven bajo las líneas que conectan los elementos. Las cifras colocadas sobre cada elemento indican el porcentaje del mismo ocupado por el fluido. −
Ejecutar en modo normal.
−
Observar que aproximadamente en el instante 3 el tanque 3 explota.
−
IMPORTANTE: Para comenzar de nuevo se debe pulsar la tecla .
−
Hacer click sobre el icono reiniciar.
Esta vez se debe intentar parar la simulación antes de que ningún tanque que de completamente lleno o vacío haciendo click sobre el icono de stop, pulsando el botón derecho del ratón o la tecla .
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
56
− Para seleccionar las tasas de flujo se debe elegir la opción user actions del menú desplegable run. Introducir las nuevas tasas y pulsar O.K. − Mantener la ejecución del modelo parando la simulación y cambiando las tasas intentar llegar hasta el instante 50. Modelos de este tipo se utilizan para entrenar al personal de instalaciones de control de procesos. Por último el modelo DEM3.MOD archivado en el subdirectorio DEMO/TUTORIAL de la instalación Witness muestra como funciona un proceso en el que las unidades de producto forman una cola que se ve afectada por los tiempos de avería y reparación de un banco de trabajo que vienen dados por leyes de distribución de probabilidad. Esto es muy común en los modelos de simulación. Los tiempos son a menudo aleatorios y resulta necesario evaluar esos comportamientos. Al ejecutar el modelo se puede observar como las piezas hacen cola en el transportador mientras la máquina pasa por diferentes estados. Un contador guarda el número de piezas que sale del modelo. En el gráfico de la derecha se puede ver el número de piezas que salen del modelo cada 60 minutos. Un diagrama de sectores que se actualiza cada 30 minutos indica la actividad del banco de trabajo.
Los informes del modelo se obtienen como en los otros casos. Para agilizar el proceso se puede levar el tiempo entre roturas haciendo doble click sobre el elemento banco de trabajo, seleccionando la pestaña breakdowns e introduciendo la ley NEGEXP(90,3) en el campo Time Between Failures con lo que se aumenta en 30 minutos el tiempo medio entre roturas.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
57
También se puede reducir el tiempo que se tarda en reparar la máquina seleccionando el campo Repair Time e introduciendo la ley UNIFORM(15,25,5). Finalmente se puede cambiar el banco por una máquina que trabaja por lotes. Hacer doble click en el icono banco de trabajo y elegir la opción Batch en el campo Type, después marcar 2 en el campo Batch Minimum. Cabe destacar que si se hacen simulaciones para 500 unidades de tiempo y en adelante el tiempo durante el que esta ocupada la máquina varía, y esa variación comienza a ser mínima a partir de aproximadamente 4000 unidades de tiempo, esto significa que para conocer verdaderamente los resultados se deben simular muchos minutos.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
58
BLOQUE IV PRÁCTICAS DE SIMULACIÓN CON WITNESS.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
59
BLOQUE IV. PRÁCTICAS DE SIMULACIÓN CON WITNESS.
IV.1 Creación de un modelo con Witness. Introducción Esta es una descripción de cómo construir y utilizar un modelo sencillo con WITNESS. El modelo demuestra conceptos, sin representar necesariamente un sistema real. Con WITNESS se pueden desarrollar modelos mucho mayores y más detallados. El modelo se construirá de un modo paso a paso, ya que es el modo en que se puede asegurar que cada etapa del modelo es correcta antes de pasar a la siguiente etapa, y de ver claramente los efectos de cualquier cambio que se le practique al modelo. En las dos primeras etapas se construirá un modelo simple con máquinas y cintas transportadoras y a partir del cual se puede calcular la salida y la capacidad del sistema. En las etapas 3 y 4 se añadirán más características (por ejemplo, averías, operarios, tiempos de preparación) para hacerlo más realista. Incluso con un pequeño incremento en la complejidad del modelo, se puede ver que este se vuelve difícil a la hora de calcular su rendimiento manualmente, y que WITNESS será de gran ayuda para determinarla. En las etapas 5 y 6 se ajusta el modo en el cual opera el modelo para mejorar el rendimiento y utilización de los recursos. Si no se quiere construir el modelo, pero se quiere ver la aproximación paso a paso al modelo construido, ejecutar los modelos desde el STAGE1.MOD hasta el STAGE6.MOD en el subdirectorio demo\tutorial de la versión instalada de WITNESS. Estos ficheros corresponden al modelo construido al final de las etapas desde la 1 hasta la 6.
Resumen del modelo. En el modelo, los widgets son pesados, lavados, producidos e inspeccionados. Después de cada operación, las partes viajan hasta la siguiente operación sobre una cinta transportadora, la cual actúa a la vez como elemento de transporte y como línea de espera. Tras la inspección de las partes, estas dejan el modelo. Se requiere de un operario para realizar varias actividades en la máquina produce. El modelo completo tiene un aspecto como el siguiente:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
60
Etapa 1 Se comenzará abriendo el modelo START.MOD, el cual está en el subdirectorio demo\tutorial de la versión instalada de WITNESS. La ventana de diseño de elementos permite añadir elementos WITNESS de un modo fácil y rápido al modelo. La primera etapa del modelo que se va a construir contiene una parte (Widget), una pesadora (Weigh) y una cinta transportadora (C1). Hacer un click sobre el icono de machine en la ventana de diseño de elementos. El cursor cambiará desde una flecha a un aspa. Posicionar el aspa en la ventana de simulación (window 1) y hacer click con el botón izquierdo del ratón. Aparecerá una máquina (Machine001) en la simulación dentro de un cuadro. Mantener el botón izquierdo del ratón pulsado mientras el cursor está dentro del cuadro y arrastrar el nuevo elemento por la pantalla para posicionarlo. Hacer click fuera del cuadro para hacerlo desaparecer. La máquina es ahora parte del modelo que se está construyendo. Añadir una cinta transportadora haciendo click sobre el icono conveyor en la ventana de diseño de elementos. Cuando el cursor se convierta en un aspa, hay que llevarlo hasta la ventana de simulación y hacer click de nuevo. Arrastrar la cinta transportadora hasta la posición deseada. Añadir una parte del mismo modo.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
61
Ya están añadidos los tres elementos para esta primera etapa, el siguiente paso consiste en añadir los detalles necesarios para ejecutar el modelo.
Detallado de un elemento Los elementos pueden ser detallados de varias maneras: El modo más fácil para acceder y cambiar los detalles de un elemento es haciendo doble click sobre el elemento mostrado en la pantalla (que es el icono de máquina o el de la cinta transportadora). Otras opciones son:
Haciendo click una vez sobre el icono del elemento, después haciendo click sobre el botón detail de la barra estándar.
Seleccionando la opción model/elements y utilizando el element selector.
Detallado de la información de la parte.
Hacer doble click sobre PART001 para acceder a la ventana de diálogo detail para este elemento.
Cambiar el nombre de la parte a widget sencillamente escribiendo sobre el nombre existente
Hacer click en el botón Aceptar para aceptar este cambio.
Detallado de la información de la máquina.
Hacer doble click sobre el icono de la máquina Machine001 e introducir los siguientes datos: Name: weigh Cycle time: 5
Hacer click en el botón Aceptar para aceptar estos cambios.
Detallado de la información de la cinta transportadora.
Hacer doble click sobre el icono de cinta transportadora Conveyor001 e introducir lo siguiente: Name: C1
Hacer click en el botón Aceptar para aceptar este cambio.
Lo mostrado en la ventana Window 1 ahora tendría el aspecto siguiente:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
62
En esta etapa todo lo que se ha hecho es introducir un tiempo de ciclo único y cambiar los nombres de los elementos, pero el resto de los detalles sobre el comportamiento de los elementos se pueden cambiar del mismo modo. El siguiente paso en este modelo es el de definir las reglas lógicas de unión entre los elementos del modelo. Estas reglas pueden introducirse o bien a través de la barra de acción y el ratón, o bien a través de la ventana de diálogo de detalle de los elementos. Hay muchos tipos de reglas de conexión en WITNESS. Las más comunes son las reglas de empujar (push); tirar de (pull); porcentaje (percent); secuencia (sequence). También las hay menos comunes que sirven para introducir atributos o condiciones "if", reglas para introducir complejas decisiones lógicas, etc. Información de detalle de las reglas de la máquina.
Seleccionar la máquina weigh haciendo click sobre su icono. Ahora hacer click sobre el botón de tirar de en la barra de acción estándar.
La regla por defecto sería PULL – dejar esto en este caso, pero notar que en este caso se podrían seleccionar otros a través de la caja de diálogo desplegable.
Hacer click sobre el icono de widget y después pulsar el botón world, y se debería ver lo siguiente:
Hacer click en el botón OK para aceptar esta regla.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
63
Ahora hacer click sobre el botón de empujar en la barra de acción estándar.
Hacer click sobre el icono de la cinta transportadora C1 y en OK para seleccionar esta regla.
Información de detalle de las reglas de la cinta transportadora.
Seleccionar la cinta transportadora C1 haciendo click sobre su icono.
Ahora hacer click sobre el botón de empujar de la barra de acción estándar.
Hacer click sobre el botón Ship de la barra de reglas de acción para crear la regla PUSH SHIP para el elemento C1.
Hacer click sobre el botón OK de la barra de reglas de acción para aceptar la regla.
Ejecutando el modelo. Introducir el tiempo de finalización de la simulación en la caja de texto que esta junto al botón de ejecutar hasta (símbolo de despertador) en la barra de acción de ejecución, haciendo click en la caja y después introduciendo dentro el valor 100. Ahora hacer click sobre el botón de ejecución (una flecha apuntando a la derecha) para arrancar la ejecución del modelo. WITNESS ha sido diseñado con un mecanismo interno de seguridad para avisar desde la ejecución del modelo de la falta información vital. Si no se ha introducido una marca de tiempo para una cinta transportadora, entonces tan pronto como se comience la ejecución del modelo, se demandará dicho índice de tiempo. Introducir: Index Time:0.5 Hacer click en el botón OK. Resultados previstos. Se sabe que la longitud de la cinta transportadora es equivalente a 10 partes sobre la misma, así pues, cada parte dedica 0,5 · 10 = 5 minutos sobre la cinta transportadora. Una parte tarda d10 minutos en pasar el sistema: = 5 minutos en la pesadora (= weigh cycle time) + 5 minutos sobre C1
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
64
y una parte llega cada 5 minutos (controlado por el tiempo de ciclo de weigh). Por lo tanto, si el modelo se ejecutase para 10 minutos, se esperan producir 19 partes widget. Si se examina el informe para la parte widget después de que el modelo haya sido ejecutado para 100 minutos, se pueden comprobar las previsiones. Esto es lo correspondiente al modelo en STAGE1.MOD. Modificación del aspecto del modelo Si se desea, se puede modificar la presentación del modelo para realzar el aspecto del modelo. Si no se desea cambiar el aspecto del modelo se puede pasar por alto esta sección y pasar inmediatamente a la segunda etapa, pero es recomendable trabajar con la fase de presentación para comprender más completamente las posibilidades que WITNESS ofrece en esta área. Los elementos mostrados pueden ser seleccionados y arrastrados a través de la pantalla con el ratón. También pueden moverse varios elementos a la vez dibujando un cuadro alrededor de los elementos con el ratón y después arrastrarla por la pantalla. WITNESS permite guardar imágenes en ventanas o en capas de imágenes, y también ligar varias imágenes en un único elemento. Para guardar imágenes, utilizar la opción view/layers o la de view/windows/control. Para ligar imágenes a un elemento se utiliza la barra de herramientas de presentación mostrada a continuación:
El acceso a la barra de herramientas de presentación para un elemento se puede hacer de las siguientes maneras:
Hacer doble click con el botón derecho del ratón sobre el elemento.
Seleccionar la opción model/elements para mostrar el element selector. Hacer click sobre el elemento en el árbol de elementos con el botón derecho del ratón para mostrar el menú del elemento, entonces, seleccionar la opción display (ver pintura de abajo).
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
65
Información de presentación para las máquinas. Utilizando la barra de presentación, se pueden hacer varios cambios sobre la apariencia del modelo en pantalla. Seleccionar draw, update, delete o stretch de la primera caja desplegable. Seleccionar el tipo de dispositivo que se quiere actualizar, dibujar, borrar o estirar desde la segunda caja desplegable. Usar el botón del lapicero para dibujar o actualizar el artículo seleccionado.
Tratar de añadir varios artículos a la presentación y actualizarlos.
Etapa 2 Una vez que se ha creado una máquina y una cinta transportadora, y se ha comprobado que el modelo funciona, se le pueden ir añadiendo más máquinas y cintas transportadoras. La construcción de un modelo de un modo paso a paso como se está haciendo en este punto hace que sea mucho más fácil aislar los errores y los problemas potenciales y permitir una comprensión de lo que está ocurriendo de una manera más clara. Por otro lado, los añadidos y cambios pueden realizarse en cualquier momento e incorporarlos inmediatamente sin la necesidad de reiniciar el modelo. Añadir otra máquina al modelo haciendo click en machine en la ventana de diseño de elementos, y se va a posicionar al final de C1. Cambiar los detalles de esta máquina haciendo doble click en su icono. Introducir: Name: Cycle Time:
wash 4
Añadir otra cinta transportadora a continuación de la máquina WASH. Cambiar los detalles de esta cinta transportadora haciendo doble click sobre su icono e introducir: Name: Index Time:
C2 0.5
Añadir otra máquina y detallarla como sigue: Name: Cycle Time:
produce 3
Después, añadir otra cinta transportadora y detallarla como sigue: Name: Index Time:
C3 0.5
Finalmente, añadir la última máquina detallándola con: Name: Cycle Time:
inspect 3
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
66
Para crear una variable que grabe y muestre la salida de la máquina inspect, elegir el elemento de diseño Vinteger (variable entera) y posicionarla en la pantalla del mismo modo que se hacía para los demás elementos. Cambiar su nombre a output haciendo doble click en el icono e introduciendo su nombre en el campo apropiado. Hacer Click en el botón OK de la caja de diálogo. Cambio de la apariencia de la variable. Hacer doble click sobre output con el botón derecho del ratón. Seleccionar name – simulation layer desde la caja desplegable y hacer click en el botón del lapicero. Hacer click en el botón de color de fondo. Escoger el color deseado desde la paleta de color de windows y hacer click en el botón OK. La fuente para presentar el nombre puede ser seleccionada utilizando el botón de las fuentes, el cual da acceso a las fuentes de Windows.
Para actualizar con su nuevo color y fuente el aspecto del nombre de la variable hay que hacer click en el botón update. Detallado de la variable. La variable output cuenta el número de widgets de salida desde la máquina inspect y muestra el contador en pantalla. Para lograr esto se necesitan corregir los detalles para la máquina inspect.
Hacer doble click sobre la máquina inspect para seleccionarla.
Hacer click en el botón actions on finish.
Introducir: output=output+1.
Hacer click en el botón OK para aceptar esta situación.
Hacer click en el botón Aceptar para aceptar los detalles de inspect.
(Se puede utilizar el lenguaje de acciones en muchos puntos del modelo para dar instrucciones específicas sobre la lógica del modelo. Por ejemplo, se pueden emplear acciones para almacenar valores o para interactuar con el usuario invitándole a introducir datos en la caja interactiva, la cual será utilizada en el modelo).
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
67
Reglas. Para poder ejecutar el modelo, el último paso es el de introducir las reglas de entrada y de salida que controlan el flujo de partes a través del modelo del mismo modo que en la etapa 1.
Hacer click sobre C1 para seleccionarlo.
(C1 es mostrado en la caja de selección de la barra de acción estándar).
Hacer click en el botón de empujar.
Borrar la palabra ship del cuadro de edición y hacer click en la máquina wash.
Hacer click en el botón OK para aceptar la regla Push Wash.
Ahora se introducirán las reglas de las nuevas máquinas para producir un flujo a través del sistema. Primero para la máquina WASH:
Utilizar el botón de empujar para crear la regla Push C2.
Después, para la máquina PRODUCE:
Utilizar el botón tirar de para crear la regla Pull C2.
Utilizar el botón empujar para crear la regla Push C3.
Para finalizar, para la máquina INSPECT:
Utilizar el botón tirar de para crear la regla Pull C3.
Utilizar el botón empujar para crear la regla Push Ship.
Reubicar los elementos en la pantalla si esto se considera necesario. El modelo debería tener el aspecto como el siguiente:
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
68
Mostrado de las teclas de estado para el modelo. Frecuentemente es útil mostrar un conjunto de teclas junto al modelo para mostrar los diferentes colores para los estados de los elementos.
Seleccionar la opción view/keys.
Elegir la opción máquina. Cambiar el color de fondo para que coincida con el color de la ventana y hacer click en draw. El cursor toma el aspecto de un aspa. Posicionar el cursor en la pantalla donde se quiera que aparezca la esquina superior izquierda.
Hacer click en el botón izquierdo del ratón para plasmar las teclas.
Resultados previstos. Se sabe que la longitud de la cinta transportadora es equivalente a 10 partes, empleando cada parte 0.5 · 10 = 5 mins en pasar la cinta transportadora. Cada parte emplea un total de 30 minutos en recorrer el modelo: = 5 mins en Weigh + 5 mins en C1 + 4 mins en Wash + 5 mins en C2 + 3 mins en Produce + 5 mins en C3 + 3 mins en Inspect y una parte Widget es introducida en el modelo cada 5 minutos (la máquina Weigh es el cuello de botella con un tiempo de ciclo de 5 minutos). Por lo tanto, si el modelo se ejecuta durante 100 minutos, se observará que deben producirse 15 widgets. Asegurarse de que se parte del tiempo cero haciendo click en el botón inicio de la simulación. Ejecutar el modelo durante 100 minutos y examinar posteriormente los informes para la parte widget. Puede verse que en la columna bajo Number Shipped, el 15 indica el número de widgets que han sido procesadas con éxito en el modelo. Esto corresponde con el número 15 de la variable output. El modelo realizado hasta ahora corresponde con el de STAGE2.MOD.
Etapa 3 Se necesitan características adicionales para hacer al modelo más realista. Hay que asumir que la máquina produce a veces es necesario que un operario la prepare o realice tareas de mantenimiento en ella. Añadir un elemento operario desde la ventana de diseño y cambiar su nombre a operator.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
69
Información de detalle del operario.
Hacer doble click en Labor001 para acceder al diálogo de detalle de este elemento.
Cambiar el nombre del operario a operator escribiendo simplemente sobre el nombre existente.
Detalle del mantenimiento y/o preparación de la máquina Produce.
Hacer doble click sobre produce para acceder al diálogo de detalle de esta máquina
Seleccionar la carpeta setup de este diálogo.
Hacer click sobre el botón add/remove para detallar una etapa de mantenimiento o preparación. Hacer click sobre Add para añadir el nombre por defecto de la operación.
Hacer click en OK para volver a la carpeta setup.
Para setup1 dejar el setup mode como no. Of operations e introducir la siguiente información: Setup Time: No. Of operations:
12.0 5
Seleccionar ahora el botón labor rule para introducir una regla. Borrar la regla que aparece por defecto (NONE) en lo alto de la ventana e introducir: operator. Hacer click sobre el botón OK para aceptar esta regla de operario. Hacer click sobre el botón OK para aceptar los detalles de la operación de preparación o mantenimiento. La máquina produce ahora necesita una tarea de mantenimiento cada 5 operaciones, es decir, cada 5 widgets procesados. Cada tarea de mantenimiento consume 12 minutos y es desempeñada por el operario operator. Resultados previstos. Ejecutar el modelo nuevamente para 100 minutos (recordar que es necesario reiniciarlo primero). Acceder a los informes de todos los elementos. Utilizar las teclas >> para pasar de un elemento a otro. Notar en la máquina produce, que es el cuello de botella del modelo, el efecto que produce la operación de mantenimiento, reduciendo la producción de widgets a 12.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
70
Como los tiempos utilizados para la operación de mantenimiento son fijos, podría haber sido posible calcular que la producción de widgets caería a 13, pero ahora el cáculo se torna más complejo. Si los valores variasen, el cálculo se tornaría imposible. Viendo los informes para el operator, se puede ver que está desocupado el 76% del tiempo, y aún hay problemas con las cintas transportadoras, que están o bloqueadas o vacías. El modelo STAGE3.MOD es el que corresponde a esta etapa del modelo.
Etapa 4 Esta vez se va a utilizar al operario para realizar reparaciones, además del mantenimiento para la máquina produce, la cual ahora se avería con un tiempo entre fallos que varía de acuerdo a una distribución, y el tiempo empleado para su reparación también varía según una distribución. Muestreo aleatorio En el mundo real, las operaciones están sujetas a cierto grado de variabilidad. Se puede introducir esta variabilidad en el modelo empleando distribuciones. WITNESS proporciona una gran variedad de distribuciones de entre las cuales escoger (o permite definir nuevas distribuciones si se desea emplear datos particulares). WITNESS necesita utilizar series de números extraídos de distribuciones. Se deben emplear números diferentes cada vez, o se pierde el efecto de la variabilidad. WITNESS supera esto a través del muestreo desde distribuciones empleando generadores de números aleatorios. Cuando se especifique una distribución, se debe especificar también el número raíz del que va a partir el generador de números aleatorios que utilice la distribución.
Detallado de las averías de la máquina produce Hacer doble click sobre la máquina produce y seleccionar la carpeta breakdowns.
Hacer click sobre el botón add/remove y utilizar el botón add para añadir la avería predeterminada breakdown number 1.
Cambiar el breakdown mode a busy time.
Hacer click sobre el botón labor rule para introducir una regla.
Borrar la regla predeterminada e introducir: operator.
Hacer click sobre el botón OK en el diálogo de edición de las reglas de los operarios.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
71
Colocar el cursor en el campo time between failures dentro del marco breakdown interval.
Seleccionar en el menú principal la opción edit/insert distribution.
Elegir la distribución NEGEXP y hacer click en el botón prompt.
Introducir los parámetros como Mean=60 y PRN Stream = 1.
Hacer click sobre el botón OK para aceptar la información introducida.
Hacer click en el campo de repair time, e insertar la distribución Lognorml con los parámetros Mean=10, Standard Deviation=2 y PRN Stream=2 de la misma manera que antes.
Hacer click sobre el botón OK para aceptar la información introducida.
Hacer click sobre el botón OK para aceptar la información de detalle y cerrar el diálogo.
Esto implica que la máquina produce ahora realice los siguientes cálculos:
El tiempo entre averías lo calcula empleando una distribución exponencial negativa de media 60 y utilizando una raíz para la generación de números aleatorios de 1.
El tiempo de reparación lo calcula utilizando la distribución lognormal de media 10, desviación estándar de 2 y raíz de números aleatorios de 2.
Ahora que se han contemplado averías en el modelo, se debería ejecutar el modelo por un tiempo mayor, por ejemplo de 500, para asegurar el echo de que se den varias averías durante ese periodo. De este modo se puede ver la interacción total entre los procesos y la competencia entre los elementos por el operario. Incluso en este modelo tan simple, es por ahora imposible calcular el desempeño del modelo manualmente. Cerrar la barra de selección de acción y ejecutar el modelo como antes (es necesario reiniciarlo primero), pero ahora con un tiempo de 500. Es modo más rápido de hacerlo es: Colocar el cursor sobre el botón del despertador (ejecutar hasta) en la barra de botones de ejecución y hacer click de modo que el botón aparezca pulsado. En el campo adyacente, introducir 500 y hacer click en el botón de inicio (dos flechas hacia la SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
72
izquierda). Ejecutar el modelo en modo rápido como un lote (dos flechas hacia la derecha). Examinar los informes de cada elemento haciendo click sobre el elemento y haciendo click despues sobre el botón del informe.
Se puede observar desde los informes que el problema principal se produce cuando la máquina produce es preparada o se avería, lo cual causa bloqueos aguas arriba del flujo de producción (ver el blocked % para la máquina wash). Esto tiene también efectos aguas abajo, de modo que la máquina inspect y la cinta C3 están funcionando aproximadamente a media capacidad. También se puede ver lo siguiente:
El operario está desocupado aproximadamente la mitad del tiempo.
Se tienen 72 widgets como salida del sistema.
Hasta este punto se corresponde con el modelo STAGE4.MOD.
Etapa 5 Para mejorar el rendimiento, se puede implementar una segunda máquina produce y una segunda cinta C2.También se puede cambiar la regla de salida para la máquina wash de modo que las partes se dirijan hacia la cinta que tiene menor ocupación en ese momento. Un cambio puede realizarse en cualquier momento de la ejecución, no sólo al comienzo de la misma. Sin embargo, debe pararse la ejecución del modelo antes de hacer cualquier cambio. Como ejercicio de cambio dinámico del modelo, se van a incrementar en uno las cantidades de C2 y produce. Antes de hacer esto es recomendable reordenar la pantalla para hacer hueco a los nuevos dispositivos. Por defecto, los nuevos elementos se situarán a la derecha de los originales y, para evitar que haya una congestión de elementos, será necesario crear un espacio para acomodarlos en la pantalla. Como otra alternativa, se pueden arrastrar los items hacia una posición por debajo de los existentes. Hacer doble click sobre el icono de C2 para mostrar su caja de diálogo de detalle. Introducir
Quantity: 2 y hacer click en OK
Hacer doble click sobre el icono de produce para mostrar su caja de diálogo de detalle. Introducir
Quantity: 2 y hacer click en OK
Para ligar cada máquina produce con su corrrespondiente cinta de alimentación, se debe modificar la regla de entrada. Para hacer esto, especificar N, la cual es la variable
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
73
especial que WITNESS utiliza para asociar elementos que tienen el mismo índice. Hacer doble click sobre la máquina produce para mostrar su diálogo de detalle.
Hacer click sobre el botón from del marco input.
Editar la regla y añadir (N). Para hacer esto:
Hacer click después de C2 y escribir (N).
Hacer click sobre el botón OK para aceptar esta regla.
Hacer click sobre el botón OK para aceptar el detalle de produce.
De un modo similar, se deben enviar las partes hacia una de las dos cintas desde wash. Hacer doble click sobre el icono de wash para acceder a su diálogo de detalle.
Hacer click sobre el botón To del marco output.
Borrar la regla existente en lo alto de la ventana e introducir: LEAST PARTS C2(1), C2(2).
Hacer click sobre el botón OK para aceptar esta regla.
Hacer click sobre el botón OK para aceptar el detalle de produce.
Esta regla envía las partes hacia la cinta menos ocupada, repartiéndose así la carga entre las cintas. Ejecutar el modelo de nuevo por 500 unidades de tiempo (recordar reiniciarlo primero mediante el botón de inicio de las dos flechas hacia la izquierda). Observar como esto mejora el rendimiento del modelo. ¿Compensa el gasto extra el incremento de la producción? Apartir de los informes se puede ver lo siguiente:
Se han producido 94 widgets.
Ahora, el operario está desocupado sólo aproximadamente el 38% del tiempo.
Esta etapa del modelo se corresponde con el modelo STAGE5.MOD.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
74
Etapa 6 Es a menudo difícil obtener datos rigurosos sobre los tiempos de reparación y otras informaciones clave a lo largo del modelado. Podría estarse interesado en conocer la sensibilidad del modelo frente a los cambios de un factor de entrada específico. Al fin y al cabo, es el fin de la simulación. Se seguirán los siguientes pasos para examinar la sensibilidad de la salida cuando el tiempo de reparación de la máquina produce se incrementa. Hacer doble click sobre el icono de la máquina produce para mostrar su diálogo de detalle. Seleccionar la carpeta breakdown. Incrementar la media del tiempo de reparación desde 10 hasta 20 cambiando el tiempo de reparación a LOGNORML (20,2,2). Ejecutar el modelo en modo comprimido para 500 unidades de tiempo como antes (recordar reiniciar antes el modelo) y, a continuación, examinar los informes:
Se han producido 93 widgets.
El operario está ocupado durante el 83% del tiempo.
Esto ha tenido poco efecto sobre la salida, pero ha aumentado considerablemente la carga de trabajo del operario. Hacer doble click sobre el icono de la máquina produce para mostrar el diálogo de detalle. Incrementar la media del tiempo de reparación desde 10 hasta 30 cambiando el tiempo de reparación a LOGNORML (30,2,2). Ejecutar el modelo en modo comprimido para 500 unidades de tiempo como antes (recordar reiniciar antes el modelo) y, a continuación, examinar los informes:
Se han producido 83 widgets.
El operario está ocupado durante el 92% del tiempo.
A partir de los resultados se pueden ver las posibilidades de incrementar el tiempo de reparación del modelo, de modo que la conclusión que se extrae es la de que, siempre que sea posible, hay que mantener los tiempos de reparación por debajo de los 20 minutos. A esta fase le corresponde el modelo STAGE6.MOD.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
75
IV.2 Experimentación con modelos como herramienta de ayuda a la gestión empresarial El modelo con el que se va a trabajar está archivado como JETTY.MOD y se encuentra en el subdirectorio DEMO. Este modelo consiste en la representación de un puerto donde llegan los barcos para descargar una serie de productos. Éste modelo tiene una restricción que consiste en que el elemento Jetty (muelle) utiliza un único elemento Crane (grúa), con lo que solo se puede descargar un barco en un momento dado. Los barcos solo pueden pasar a través de la esclusa bajo determinadas condiciones de marea. La marea esta representada por el elemento procesador de marea que tiene niveles de aviso de subida y bajada de marea para señalar el estado de la marea.
Eligiendo la opción Windows del menú desplegable View se puede observar en la pantalla un histograma de los retrasos de atraque, Mooring Delays. También se puede observar este histograma dentro de la ventana Facility Overview. De la misma forma se puede visualizar un diagrama de sectores que indica los usos que ha tenido cada uno de los atracaderos del muelle, es la opción Jetty Utilization. Este modelo puede utilizarse para mostrar la potencia de la simulación a la hora de mejorar las instalaciones. SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
76
Para comprender completamente este escenario es necesario tener más información. Esta es una fase típica de muchos proyectos de simulación y generalmente se debe pasar por ella antes de comenzar a construir un modelo. Es realmente importante entender el proceso o el negocio que se simula lo mejor posible y establecer los objetivos del trabajo de modelado que se va a hacer. Para este modelo particular, a la persona que gestiona el puerto se le ha encomendado establecer la forma de incrementar la cifra de negocio. Los barcos que pasan por el puerto tienen la opción de usar instalaciones alternativas que se encuentran a una distancia no muy lejana. Si el área exterior del puerto está llena los barcos no esperarán y buscarán un puerto alternativo. Por otra parte, si dicho área no está llena los barcos aguardarán para entrar. Una persona iniciada en la simulación se preguntaría si por ejemplo las instalaciones alternativas con ofertas especiales pueden ser más atractivas para los barcos. En este caso se supondrá la regla establecida anteriormente. Los datos para el caso base de este modelo son los siguientes: Tiempo que tarda en pasar un barco por la 20 minutos esclusa Tiempo entre llegadas para los barcos NEGEXP(60,1) Tiempo que tarda una grúa en descargar un 150 minutos barco Capacidad del área exterior de espera del 2 puerto para barcos entrantes Capacidad del área interior de espera del 3 puerto para barcos entrantes Capacidad del área interior de espera del 2 puerto para barcos salientes Número de grúas en el muelle 1 Sistema de marea Cambio de marea alta a baja y viceversa en 5 horas (5 metros de diferencia). Marea alta mantenida durante 1 hora Profundidad por encima de la que opera la esclusa
3 metros
El patrón de llegadas aleatorias de barcos dado por una ley de distribución exponencial negativa significa que como término medio llega un barco cada 60 minutos. Este patrón es un estándar de WITNESS. El 1 representa la serie infinita de números pseudoaleatorios nº1. Estos números se utilizarán para establecer los diferentes intervalos de llegada cuando se ejecuta la simulación. Los experimentos con WITNESS se pueden repetir porque en cada ejecución se generarán las mismas muestras de números aleatorios, en este caso el mismo patrón de llegadas. Las distribuciones y la exactitud de los parámetros son fundamentales de cara a obtener unos buenos resultados de la simulación. Si un parámetro tiene un rango de variación hay que modelar esa variación. SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
77
Pasando a trabajar con el caso base, un tiempo deseable de ejecución es 100 días. Como el modelo contiene una ley de distribución exponencial negativa éste debe ser ejecutado durante un tiempo suficientemente largo como para abarcar toda la variabilidad del proceso. Para establecer la longitud de la ejecución se puede observar la variabilidad de los resultados sobre distintos segmentos de tiempo. Así, si el resultado sobre 1000 minutos es el mismo que sobre 10000 minutos entonces posiblemente la longitud correcta de ejecución del modelo sea 1000 minutos. Pero se debe tener cuidado porque si el modelo contiene un evento que ocurre cada millón de minutos o más entonces puede que se necesite este tiempo de ejecución. Introducir en la ventana de texto de tiempo 100 días escribiendo 100*24*60. Ejecutar en modo acelerado. La simulación parará cuando se alcance el tiempo introducido. Para ver los resultados se puede utilizar la opción windows del menú desplegable view. También se puede utilizar la opción reports del desplegable reports para ver las tablas de resultados estándar. El resultado clave de esta simulación es la cifra de negocio que viene dada por el número de barcos que se han descargado frente al número de barcos que no han podido ser atendidos. Otro resultado importante es el cálculo del tiempo que tardan en ser atendidos los barcos desde que entran al puerto, lo cual representa el nivel de servicio y que puede afectar a la decisión de volver e este puerto. También es importante fijarse donde se producen los cuellos de botella en el proceso y donde hay que apoyar con inversiones. En la simulación realizada se han atendido 955 barcos y la media del tiempo que han tardado en ser atendidos ha sido de 1098 minutos. También se puede observar los porcentajes de tiempo durante los que la grúa y la esclusa han estados ocupadas, el número de barcos rechazados, el tiempo medio de espera en cada cola... Ahora se supondrá que los resultados que produce este modelo son realistas y por tanto se valida dicho modelo. El siguiente paso es examinar las posibles opciones que tiene el gestor del puerto. Lo normal es que existan varias opciones reales favorables dadas por el gestor. Se debe conseguir la opción más útil en base a la experimentación. Se debe explorar el modelo para llegar a entender totalmente la dinámica del proceso. Normalmente para evaluar las opciones se tendrá en cuenta el tiempo.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
78
Algunas de las opciones que pueden realizarse son: Nº de caso
1 Caso base
2
3
4
5
Nº de grúas
1
2
2
2
2
Capacidad de la cola de salida del puerto
2
2
3
2
3
Disponibilidad de la esclusa cada ciclo de 11 horas
5
5
5
7
7
DATOS
RESULTADOS Barcos atendidos
955
1352
Barcos que rechazan el puerto porque esta lleno
1402
1006
Tiempo medio en el puerto
1098
643
Utilización de la grúa
99,73%
70.67%
Utilización de la esclusa
26,61%
37,63%
Espera en muelle para la grúa (media sobre 3 amarraderos)
64,2%
14,5%
Bloqueo en muelle de barcos salientes (media sobre 3)
1,67%
22,5%
Se puede observar que el drenado de los canales de la esclusa permite operar durante 7 de las 11 horas del ciclo de marea en lugar de 5, lo que produce unos resultados mucho mejores que aumentar en una unidad la capacidad de la cola de salida del interior del puerto. Por otra parte, debe hacerse balance de todos estos resultados combinando la solución práctica con el coste. Ingreso neto obtenido en la operación normal de descarga de un barco: 4000 u.m. Coste de una grúa adicional: 10 millones u.m. Se deprecia en 500 días. Coste de un operario adicional para una nueva grúa: 1000 u.m. por día. Coste de drenaje de los canales de la esclusa: 2000 u.m. por día y nivel (2 horas/nivel). Coste de incrementar la capacidad de cualquier cola en una unidad (a través de una nueva organización, instalación de boya de flujo o drenaje extra): 1000 u.m. por día. Coste de construir una segunda esclusa: 10 millones u.m. Se deprecia en 500 días. El reto planteado consiste en averiguar cuál es la mejor opción para el puerto basada en la información dada.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
79
Nº de grupo:
OPCIÓN A Δ Unidades
Elementos Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto (exterior) Esclusas
Δ Coste
1 1 0 0 0
2000000 100000 0 0 0
0
0
Coste total
2100000
Barcos atendidos
1352-955
Δ Ingresos 1588000
Δ Beneficios -512000
Beneficios totales OPCIÓN B
Elemento
Δ Unidades
Δ Coste
Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto Esclusas Coste total Δ Ingresos Barcos atendidos
Δ Beneficios Beneficios totales
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
80
OPCIÓN C Δ Unidades
Elemento
Δ Coste
Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto Esclusas Coste total Δ Ingresos Barcos atendidos
Δ Beneficios Beneficios totales OPCIÓN D
Elemento
Δ Unidades
Δ Coste
Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto Esclusas Coste total Δ Ingresos Barcos atendidos
Δ Beneficios Beneficios totales
La opción elegida es:...................................................
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
81
Nº de caso
1 Caso base
2
3
4
5
Nº de grúas
1
2
2
2
2
Capacidad de la cola de salida del puerto
2
2
3
2
3
Disponibilidad de la esclusa cada ciclo de 11 horas
5
5
5
7
7
Barcos atendidos
955
1352
1383
1698
1715
Barcos que rechazan el puerto porque esta lleno
1402
1006
975
661
644
Tiempo medio en el puerto
1098
643
610
488
478
Utilización de la grúa
99,73%
70.67%
72,28%
88,63%
89,52%
Utilización de la esclusa
26,61%
37,63%
38,49%
47,22%
47,69%
Espera en muelle para la grúa (media sobre 3 amarraderos)
64,2%
14,5%
13,7%
20,7%
21,7%
Bloqueo en muelle de barcos salientes (media sobre 3)
1,67%
22,5%
11,9%
7,2%
2,0%
DATOS
RESULTADOS
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
82
Nº de grupo:
OPCIÓN A Δ Unidades
Elementos Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto (exterior) Esclusas
Δ Coste
1 1 0 0 0
2000000 100000 0 0 0
0
0
Coste total
2100000
Barcos atendidos
1352-955
Δ Ingresos 1588000
Δ Beneficios -512000
Beneficios totales OPCIÓN B
Elemento Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto Esclusas
Δ Unidades 1 1 0 1 0 0
Coste total
Barcos atendidos
Δ Coste 2000000 100000 0 100000 0 0 2200000
1383-955
Beneficios totales
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
Δ Ingresos 1712000
Δ Beneficios -488000
83
OPCIÓN C Δ Unidades
Elemento Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto Esclusas
1 1 2 0 0 0
Coste total
Δ Coste 2000000 100000 200000 0 0 0 2300000
Barcos atendidos
1698-955
Δ Ingresos 2972000
Δ Beneficios 672000
Beneficios totales OPCIÓN D
Elemento
Δ Unidades
Grúas Operarios Horas de disponibilidad de la esclusa Capacidad de la cola de salida del puerto Capacidad de la cola de entrada al puerto Esclusas
1 1 2 1 0 0
Coste total
Barcos atendidos
Δ Coste 2000000 100000 200000 100000 0 0 2400000
1715-955
Beneficios totales
Δ Ingresos 3040000
Δ Beneficios 640000
La opción elegida es: C..................................................
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
84
BIBLIOGRAFÍA. 1. “Dirección de la producción. Decisiones Tácticas”, 6ª Edición. Jay Heizer y Barry Render. Prentice Hall 2001. 2. “Administración de producción y operaciones” 8ª Edición. Richard B Chase, Nicholas J. Aquilano y F. Robert Jacobs. Mc Graw Hill 2000. 3. “Simulation with Arena”. W. David Kelton, Randall P. Sadowski y Deborah A. Sadowski. Mc Graw Hill 1998. 4. “Probabilidad y estadística para ingeniería y administración” William W. Hines y Douglas C. Montgomery. 5. “WITNESS. Tutorial Manual” Lanner Group 1999.
SIMULACIÓN DE PROCESOS DE FABRICACIÓN.
85