0% encontró este documento útil (0 votos)
638 vistas165 páginas

Simulación Discreta

Simulación discreta promodel

Cargado por

faruht
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
638 vistas165 páginas

Simulación Discreta

Simulación discreta promodel

Cargado por

faruht
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

LABORATORIOS DE

SIMULACIÓN DISCRETA
PRIMERA EDICIÓN

Jose Adalberto Soto Mejia


Juan Fernando López Rendón
Universidad Tecnológica de Pereira
Pereira, Risaralda, Colombia

Copyright © 2010

FACULTAD DE INGENIERIA INDUSTRIAL


MAESTRIA EN INVESTIGACION OPERATIVA Y ESTADISTICA
UNIVERSIDAD TECNOLÓGICA DE PEREIRA
A mis padres Jose y Ligia,
que me enseñaron un buen camino,
a mi hijo Felipe que también lo ha seguido.
JASM

A mi familia grande y pequeña, fuente de inspiración.


JFLR
TABLA DE CONTENIDO

PREFACIO .............................................................................................................. 5
1 INTRODUCCIÓN ............................................................................................... 7
1.1 El paradigma de ProModel- Conceptos básicos ..................................... 7
1.2 Construyendo los elementos básicos de un modelo de simulación .... 8
1.2.1 Para construir estaciones: ...................................................................... 8
1.2.2 Para construir entidades: ........................................................................ 9
1.2.3 Para crear el Procesamiento: ................................................................. 9
1.2.4 Para crear llegadas: ................................................................................ 9
1.3 Ejecutando la simulación ......................................................................... 10
1.4 Enunciado resumen de las prácticas de simulación ............................. 10
2 PRÁCTICAS .................................................................................................... 13
2.1 PRÁCTICA # 1 ....................................................................................... 13
2.2 PRÁCTICA # 2 ....................................................................................... 22
2.3 PRÁCTICA # 3 ....................................................................................... 29
2.5 PRÁCTICA # 5 ....................................................................................... 54
2.6 PRÁCTICA # 6 ....................................................................................... 63
2.7 PRÁCTICA # 7 ....................................................................................... 72
2.8 PRÁCTICA # 8 ....................................................................................... 78
2.9 PRÁCTICAS # 9 y # 10 ................................................................... 90
2.9.1 PRIMERA ETAPA: ............................................................................... 90
2.9.2 SEGUNDA ETAPA: ............................................................................. 93
2.9.3 TERCERA ETAPA: .............................................................................. 98
2.9.4 CUARTA ETAPA: .............................................................................. 100
2.9.5 QUINTA ETAPA:................................................................................ 106
2.11 PRÁCTICA # 11 ................................................................................ 107
2.12 PRÁCTICA # 12 ................................................................................ 111
2.13 PRÁCTICA # 13 ................................................................................ 114
2.14 PRÁCTICA # 14 ................................................................................ 117
2.15 PRÁCTICA # 15 ................................................................................ 135
2.16 PRÁCTICA # 16 ................................................................................ 149
PREFACIO
_______________________________________________________________________________________

La investigación de operaciones está conformada por un conjunto de técnicas ma-


temáticas que ayudan a argumentar la toma de decisiones en cualquier esfera de
la actividad humana. Actualmente, la simulación es una de las técnicas de la in-
vestigación de operaciones más usadas para evaluar el desempeño de todo tipo
de sistemas dinámicos.
En forma breve, la simulación es la imitación de un sistema dinámico mediante un
modelo computacional. Mediante la experimentación sobre el modelo computa-
cional, se busca evaluar las características operacionales del sistema (o subsis-
tema) que está siendo representado por el modelo. La experimentación sobre el
modelo debe ayudar a la comprensión del comportamiento del sistema y de esta
manera coadyuvar a la toma de decisiones, las cuales podrían conducir a mejorar
el desempeño del sistema bajo estudio.
Este libro de laboratorios de simulación discreta está diseñado para ser usado con
el software de simulación ProModel TM, Se ha seleccionado como herramienta de
simulación ese software por considerársele actualmente como uno de los software
de simulación discreta más potentes y de mayor aceptación, dada su facilidad de
uso y flexibilidad.
Este libro de prácticas de simulación incluye 16 prácticas de laboratorio. Para ca-
da una de ellas se presentan de manera detallada y comentada los modelos pro-
puestos, acompañados con figuras que ilustran la distribución de cada uno de los
elementos del modelo. La inclusión de las instrucciones de programación, comen-
tadas paso a paso para cada uno de los modelos presentados, al igual que sus
respectivas salidas estadísticas permite al estudiante, en una primera lectura,
comprender el uso y potencialidades de la simulación sin necesariamente tener
que programar y ejecutar cada uno de los modelos propuestos. Obviamente, el
modelado adicional de cada modelo propuesto le permitirá al estudiante no solo
TM
adquirir la experticia en el proceso de modelado con ProModel , sino también
una más profunda comprensión del sistema simulado y de las bondades y poten-
cialidades de esta herramienta de la investigación de operaciones.
El número de prácticas de laboratorio incluidas en el libro contiene material sufi-
ciente para un curso de un semestre académico. La diversidad de los modelos
presentados en el texto da la flexibilidad necesaria para que el orientador del cur-
so pueda adaptarlas al perfil y necesidades de cursos específicos. De tal manera
que una selección apropiada de las diferentes situaciones modeladas en el texto
de este libro ha sido utilizada como el eje central que ha guiado las practicas de
simulación discreta en el curso del mismo nombre que ofrece el programa de pre-
grado de Ingeniería Industrial de la Universidad Tecnológica de Pereira, entre
1996 y la fecha. Al mismo tiempo el texto ha sido soporte central para ilustrar los
aspectos relacionados con la simulación discreta que hacen parte del curso de
Sistemas Dinámicos que ofrece la misma facultad a través de su programa de
Maestría de Investigación de Operaciones y Estadística donde son complementa-
dos con los aspectos de simulación continua contemplados en el enfoque de la
Dinámica de Sistemas.
Este libro de laboratorios de simulación discreta al tocar sólo los aspectos prácti-
cos de la simulación y sólo pretender guiar al estudiante en la construcción y aná-
lisis de modelos de simulación discreta debe necesariamente complementarse
con el estudio de los aspectos teóricos y matemáticos que soportan y fundamen-
tan el uso de la simulación. En particular, en un curso completo de simulación dis-
creta debe aclararse la diferencia de enfoque que tiene la simulación comparada
con las otras técnicas de la investigación de operaciones. Además, incluir el análi-
sis y discusión de los importantes conceptos subyacentes a la técnica de la simu-
lación, tales como: números pseudo-aleatorios, muestreo Monte Carlo, generado-
res de procesos aleatorios, pruebas de bondad de ajuste para verificar el ajuste
de datos reales a alguna de las distribuciones estadísticas conocidas y otros as-
pectos relacionados con el desarrollo del experimento de simulación, tales como:
número apropiado de experimentos de simulación (número de corridas), longitud
de corrida, período de calentamiento y los aspectos inferenciales asociados con la
estimación de las característica operacionales de un sistema bajo consideración.
Todos los aspectos teóricos arriba mencionados, de una forma u otra, están con-
templados implícitamente y de manera práctica en los laboratorios que hacen par-
te de este libro. Sin embargo, su presentación teórica hace parte de otro volumen,
de los mismos autores, que actualmente está en prensa y que coordina los fun-
damentos teóricos mencionados con las prácticas de laboratorio incluidas en este
libro.
Este libro está dividido en dos partes. La primera parte es una sección general
que presenta una síntesis con los elementos básicos del paradigma de modelado
utilizado por ProModel TM acompañado de instrucciones generales sobre el uso
del software. La segunda parte incluye 16 prácticas de modelado con sus instruc-
ciones de programación, gráficos de ayuda y salidas estadísticas. Al final se inclu-
ye un CD ROM que contiene el código de todos los laboratorios incluidos en el
libro.

LOS AUTORES
Introducción- Conceptos básicos del paradigma de modelado de PROMODEL

1 INTRODUCCIÓN

Los ejercicios prácticos del curso de simulación se modelaran usando un software


específico de simulación denominado ProModel 4.22 ™. En la sub-sección 1.1 se
presentara el panorama general asociado con el paradigma de modelaje de Pro-
Model 4.22 ™, sus conceptos básicos y las instrucciones esenciales y necesarias
para la construcción de un modelo de simulación usando el mencionado paquete.
Seguidamente se presentara en la sub-sección 1.2 la lista de prácticas a ser ade-
lantadas. Finalmente en la sección 2-Prácticas, se describen cada una de las
prácticas y los pasos a seguir en cada una de ellas para modelar las situaciones
planteadas.

1.1 El paradigma de ProModel- Conceptos básicos

En Promodel, todo se ajusta al paradigma de <<Estaciones, “Locations”>>, <<En-


tidades, “Entities”>>, <<Procesamiento, “Processing”>>, y <<Llegadas, “Arri-
vals”>>. Cualquier sistema de manufactura, logística y servicio puede ser modela-
do utilizando como mínimo los cuatro elementos de este paradigma que se des-
criben en detalle mas adelante.
TM
Cuando se abre el programa de ProModel el usuario encontrará una pantalla
como la siguiente, donde despues de hacer click en “Build” podrá tener acceso a
los todos los elementos necesarios para contruir un modelo de simulación discre-
ta.

Como ya se mencionó cualquier modelo de simulación usando ProModel requiere


al menos la construccion de Estaciones (Locations), Entidades (Entities), Proce-
Introducción- Conceptos básicos del paradigma de modelado de PROMODEL
samiento (Processing) y Llegadas (Arrivals). A continuación se definen cada uno
de estos elementos.

Locations (Estaciones). Las estaciones representan lugares fijos en el sistema.


Hacen el papel de una estación de servicio a donde las entidades son enrutadas
para procesamiento, almacenamiento, cualquier otra actividad de servicio o toma
de decisiones.

Entities (Entidades). Cualquier cosa que el modelo “procesa” es llamada entidad.


Algunos ejemplos incluyen piezas, productos, gente y aún papeles de trabajo. El
concepto de entidad responde a la pregunta “Quien o Que” llega a ser servido o
procesado, ó quien ó que cosa surge despues de ser procesado o transformado.

Processing (Procesamiento). El Procesamiento describe las operaciones que


tienen lugar en una estación tales como la cantidad de tiempo que una entidad
pasa en dicha estación sufriendo un proceso de transformación ó el tiempo que
transcurre mientras la entidad está siendo servida por el servidor (Location). Como
parte del procesamiento tambien hace parte el llamado a los recursos necesarios
para realizar el trabajo, y cualquier otra cosa que ocurra o suceda en la estación,
incluyendo la elección del siguiente destino para la entidad.

Arrivals (Llegadas). Ya se mencionó que cualquier cosa que el modelo proces se


denomina entidad, pero la entidad específica que alimente al sistema o que se
introduce al sistema por primera, vez antes de ser procesada, se conoce como
llegada (Arrival). Para cada entidad que llega al sistema debe definirse el cómo y
el cuando se llega, es decir, cuantas de ellas llegan (una a la vez o varias), cada
cuando se esta llegando al sistema (el tiempo entre llegadas podría ser cada mi-
nuto, o cada diez minutos, o en general un valor de una variable aleatoria particu-
lar).

Además de los elementos arriba descritos el modelado de sistemas mas comple-


jos podrá requerir de otros elementos suplementarios tales como: Redes (Path
Networks), Recursos (Resources), horarios (Shifts), atributos (Attributes), variables
(Variables), Arrays, Macros y Otros elementos. Todos los anteriores elementos
serán descritos en detalle más adelantedentro del contexto de la práctica de labo-
ratorio donde aparezcan por primera vez.

1.2 Construyendo los elementos básicos de un modelo de simulación

1.2.1 Para construir estaciones:


Entrar por el menú Build-Locations
Hacer click izquierdo en el icono deseado para representar la estación el cual
puede ser encontrado en la <<Caja de Gráficos>>, posteriormente hacer nueva-
mente click izquierdo en la ventana de Layout en donde desees que aparezca la
estación.
Se creará un registro automáticamente para la estación recién creada en la tabla
de <<Edición de Estaciones>>.
Introducción- Conceptos básicos del paradigma de modelado de PROMODEL
El nombre, unidades, capacidad, etc. pueden ahora ser cambiados con sólo dar
click en el cuadro apropiado y teclear los cambios deseados.

1.2.2 Para construir entidades:


Entrar por el menú Build-Entities
Hacer click izquierdo en el gráfico deseado para representar la entidad(es) el cual
puede ser encontrado en la caja de <<Gráficos de Entidad>>.
Se creará un registro automáticamente en la tabla de <<Edición de Entidades>>.
El nombre de la entidad puede ser cambiado y el tamaño del grafico de la entidad
puede ser ajustado con sólo mover la barra de edición en la caja de herramientas.

1.2.3 Para crear el Procesamiento:


Entrar por el menú Build-Processing.
Hacer click izquierdo sobre el nombre de la entidad (que va a ser procesada) y
que aparece en la barra de herramientas, posteriormente hacer click izquierdo en
la estación de inicio del procesamiento (que ya debe haber sido creada y encon-
trarse creada en el layout).
Hacer click izquierdo en la estación de destino a donde va a dirigirse la entidad
una vez haya sido procesada en la estación de inicio.
Se creará un registro automáticamente en la tabla de <<Edición de Procesos y
Ruteamiento>>.
Para añadir más lineas de enrutamiento al mismo registro, hacer click iz-
quierdo en el botón de Añadir Rutas (AddRoutings) en el cuadro de herramientas.
Para enrutar la entidad a la salida del sistema, simplemente hacer click izquierdo
en el botón Route to Exit en el cuadro de herramientas.

1.2.4 Para crear llegadas:


Entrar por el menú Build-Arrivals
Hacer click izquierdo en la entidad cuya llegada va a procesarse y que debe apa-
recer en el <<Cuadro de herramientas>> y hacer click izquierdo en la estación a
donde “llegará” la entidad.

En el <<Cuadro de edición de llegadas>> (Arrivals) aparece:

Entity (Entidad): La entidad que llega.


Location (Estación): La estación a la que se llega.
Qty Each (Cantidad por llegada): El número de entidades (en un grupo) que lle-
garán en el momento específico.
First Time (Primera Ocasión): La primera vez (en tiempo de reloj de simulación)
que ocurrirá la llegada.
Occurrences (Ocurrencias): El número de repeticiones de esta llegada que habrá
durante la simulación.
Frequency (Frecuencia): El tiempo entre las ocurrencias.
Introducción- Conceptos básicos del paradigma de modelado de PROMODEL
1.3 Ejecutando la simulación

Una vez modelado el proceso el siguiente paso consiste en ejecutar la simulación.


Hay que grabar el modelo (Hay que alimentar un nombre de 8 letras) y luego eje-
cutarlo. Del menú de Simulation podemos escoger Run (Correr) o Save and Run
(Grabar y Correr). Dentro del menu de Simulation en Options (Opciones) apare-
cerá un cuadro de que debe ser llenado. El número de horas de ejecución puede
ser especificado en el campo Run Hours (Horas de Ejecución), asi como la preci-
sión del reloj. Revisaremos las otras opciones posteriormente en el curso.

1.4 Enunciado resumen de las prácticas de simulación

Práctica 1. Presenta el modelado de estaciones de procesamiento, entidades a


ser procesadas, definición de llegadas, tiempos de procesamiento en cada esta-
ción (comando WAIT), la operación de cortar o particionar una entidad en dos o
mas partes, traslado de una entidad de una estación a otra y el tiempo que la en-
tidad invierte en viajar entre estaciones (comando MOVE FOR). Introduce la defi-
nición de atributos para las estaciones como: calibrador, contador, luces de status
y texto.
Resumen: Definición de estaciones, definición de entidades, definición de llega-
das, definición de procesos, ejecución, definición de atributos de las estaciones
(calibrador, luces de status, contador, texto).

Práctica 2. Agrega a los conceptos modelados en la Práctica 1, (donde se


modelaron entre otros conceptos el de particionar una entidad en mas piezas o
partes) el modelado de juntar piezas o partes en grupos o lotes (comando COM-
BINE).
Resumen: Corte y destarimado, loteo, capacidad de las estaciones, combinación
de entidades.

Práctica 3. Esta práctica introduce la representación de variables y la manipula-


ción de ellas (operadores de incremento y decremento INC, DEC) como forma de
modelar parámetros claves para las decisiones como rastrear defectos, calcular
inventario en proceso, contar partes terminadas, etc. Además del enrutamiento
simple presentado en las dos prácticas anteriores ésta práctica introduce el enru-
tamiento probabilístico para modelar la probabilidad de que una pieza sea enruta-
da a una estación en vez de otra. Resumen: añadir estaciones, bloques de ruta,
enrutamiento probabilístico, gráficas de fondo, variables, cambio de gráficas de
las entidades.

Práctica 4. Esta práctica introduce el modelado de bandas de transporte y filas de


espera. Modela el concepto de ensamblar dos entidades después del ensamble
las entidades quedan permanentemente unidas (comando JOIN y IF JOIN RE-
QUESTED). Modela el concepto de ensamblar dos entidades (o colocar una enti-
dad sobre otra) que más tarde pueden ser desensambladas o descargadas,
usando los comandos LOAD Y IF LOAD REQUESTED.
Introducción- Conceptos básicos del paradigma de modelado de PROMODEL
Resumen: Bandas transportadoras, características de una banda de transporte,
colas (filas), Comando JOIN(ensamblar), comando LOAD/UNLOAD (car-
ga/descarga)

Práctica 5. Esta práctica introduce el modelado de recursos a ser usados o utili-


zados para realizar actividades como transportar entidades, operar en una esta-
ción de trabajo, apoyar en el mantenimiento de las estaciones de trabajo, etc.
Igualmente se presenta la forma de modelar las rutas sobre las cuales se mueven
los recursos. La forma como los recursos son capturados y liberados (comandos
GET, USE, FREE, MOVE WITH).
Resumen: Definición de redes de ruta, definición de recursos, comando MOVE
WITH, GET, FREE, USE.

Práctica 6.
En ésta práctica se introduce el concepto de atributos que caracterizan o contie-
nen información sobre una entidad o estación. A diferencia de los modelos pre-
sentados en las prácticas anteriores con llegadas de entidades al sistema de for-
ma determinística en ésta práctica se introduce la forma de modelar las llegadas
de acuerdo con una distribución probabilística experimental dada por el usuario y
se amplían las estructuras de comandos para presentar la lógica de proceso.
Resumen: Atributos, variables, creación de una distribución probabilística dada
por el usuario, lógica de proceso (IF/ ELSE / BEGIN / END / ROUTE ).

Práctica 7.
Esta práctica introduce el uso de distribuciones probabilísticas teóricas y la forma
de hacerle seguimiento a los tiempos de ciclo de cada una de las entidades que
se están procesando en un sistema mediante el uso de las funciones CLOCK() y
LOG.
Resumen: Función de probabilidad normal, Funciones CLOCK() y LOG, atributos.

Práctica 8.
Esta práctica introduce la forma de simular tiempos en los cuales la operación de
una máquina (estación) debe ser detenida, por ejemplo, para el mantenimiento
preventivo de ella. También es presentada la forma de modelar los turnos de tra-
bajo de una empresa y el despliegue de textos y expresiones numéricas en puntos
específicos durante la ejecución de un modelo (comando DISPLAY)
Resumen: Tiempos de parada (Down Times), definición de turnos (Shifts), asig-
nación de turnos, comando DISPLAY.

Práctica 9 y Práctica 10
Esta práctica modela las oficinas de una institución de educación superior informal
en la época de matrículas. La práctica permite utilizar conjuntamente todos los
conceptos de modelado introducidos en las prácticas anteriores, además de intro-
ducir conceptos nuevos como: importar gráficos (importar los planos del edificio
elaborados con Autocad), tiempos de parada por reloj (downtimes/Clock); ciclos
de llegada (arrival cycle) y los comandos BACKUP y USE.
Introducción- Conceptos básicos del paradigma de modelado de PROMODEL
Práctica 11
Esta práctica introduce aspectos estadísticos relacionados con el experimento de
simulación. En particular se ilustra la forma de estimar la cantidad de tiempo ne-
cesaria para el calentamiento de un sistema (tiempo para llegar al estado estable).
Se utiliza adicionalmente al ProModel el software SimRunner, que implementa la
técnica de promedios móviles y los gráficos de Welch.

Práctica 12
Esta práctica continúa tratando con otros importantes aspectos estadísticos rela-
cionados con el experimento de simulación. En particular compara dos técnicas
para estimar un parámetro: a) correr varias replicaciones del modelo vs. b) usar
intervalos de loteo. Además discute los problemas de auto correlación relaciona-
dos con el tamaño del intervalo de lote (batch interval length). Se hace uso de Ex-
cel y del software Stat::Fit de ProModel™ para probar la normalidad e indepen-
dencia de las observaciones obtenidas de cada intervalo de loteo.

Práctica 13
En esta práctica se pretende familiarizar al estudiante con el uso del software
“Stat::Fit” para facilitar el análisis de los datos de entrada, ajuste de un conjunto
de datos a una distribución de probabilidad estándar conocida y en general proce-
samiento de los datos de salidas de los modelos de simulación.

Práctica 14
Esta práctica corresponde a un Modelo de manufactura tipo “push”. Permite que el
estudiante se sintonice en la práctica con los conceptos de inventarios críticos,
cuellos de botella y “throughput”.

Práctica 15
Esta práctica modela un sistema de manufactura tipo “push” que servirá de refe-
rencia para obtener sus características de operación. Esas mismas características
de operación (con fines de comparación) serán luego obtenidas en un sistema de
manufactura similar pero con manejo de inventario tipo “pull”, el cual será introdu-
cido en la siguiente práctica #16.

Práctica 16
Este es básicamente el mismo sistema anterior pero manejando el inventario con
un modelo tipo “pull”. Lo anterior permite comparar las características de opera-
ción entre un sistema “push” (como el de la práctica #15) y un sistema “pull”.
Laboratorio de Simulación Nº 1

2 PRÁCTICAS
MODULO 1: Prácticas #1, #2 y #3.
Las prácticas #1, #2 y #3 forman parte de un mismo módulo que introduce los elementos
básicos del paradigma de modelaje con Promodel: Estaciones, Entidades, Llegadas y Pro-
cesamiento. Además, en ellas se ilustra la forma de particionar entidades para luego com-
binarlas. Se introducen también ayudas gráficas y variables para monitorear el estado del
sistema. Los conceptos de Inspección y enrutamiento probabilístico. Creación de estacio-
nes (multiestaciones) lo que permite estudiar el efecto que sobre las características de un
sistema de manufactura tiene la creación de estaciones paralelas (clones).

2.1 PRÁCTICA # 1

Considere la siguiente situación para una telera de madera en una pequeña fábri-
ca de muebles de madera:

En este modelo, unas teleras de madera en bruto (materia prima) entran al siste-
ma en la estación Entrada y luego van a la cortadora, donde se recortan en las
dimensiones apropiadas saliendo como piezas, de ahí las piezas pasan al taladro,
donde se realizan algunas perforaciones particulares, después al torno, donde se
realiza una operación de torneado, y luego a la pulidora, donde se realiza una
operación de pulimento a la pieza. De la pulidora va a la estación Salida, lugar
desde el cual abandona al sistema ya como producto_terminado.
Laboratorio de Simulación Nº 1

Para este modelo se necesita crear los siguientes registros:

MÓDULO DE INFORMACIÓN GENERAL.


Después de abrir el software de ProModel entrando por el menú File-New se en-
cuentra la caja de dialogo que aparece a continuación y que debe ser llenada con
la información general del modelo .

Esta caja de diálogo permite darle un nombre al modelo a ser creado y especificar
información necesaria para el modelo como son las unidades de tiempo y distan-
cia. Debe especificarse también la librería de gráficos a ser utilizada para crear las
estaciones y las entidades. En este caso utilice la biblioteca gráfica [Link]
(buscar por Graphic Library File, por ejemplo: c: /ProMod4/glib/[Link]
Coloque un título apropiado para el modelo por ejemplo Modelo de Manu-
factura simple.

MÓDULO DE ESTACIONES:
Entrar por el menú Build-Locations (ver seccion 1.1 El paradigma de ProModel
Para construir estaciones). Cree los siguientes registros de estaciones:

ESTACIONES CAPACIDAD ESTACIONES CAPACIDAD


Entrada 1 Torno 1
Cortadora 1 Pulidora 1
Taladro 1 Salida 1

Finalmente deberá tener en el modulo de registro de estaciones (Locations) una


ventana como la que aparece en la siguiente figura
Laboratorio de Simulación Nº 1

MÓDULO DE ENTIDADES:

Entrar por el menú Build-Entities (ver sección 1.1 El paradigma de ProModel


Para construir entidades). Cree los siguientes registros de entidades:

ENTIDADES
Telera
pieza
producto_terminado

Finalmente deberá tener en el modulo de registro de entidades (Entities) una ven-


tana como la que aparece en la siguiente figura.

MÓDULO DE PROCESAMIENTO (Tiempos en minutos)

Tiempos de Proceso
ProModel utiliza el comando WAIT para los tiempos de procesamiento. Esto hace
que la entidad tenga que “esperar” en la estación mientras es procesada. Tam-
bién, que ocupe la capacidad disponible en la estación durante una cantidad es-
pecificada de tiempo.
En las primeras prácticas veremos casos simples en los cuales los tiempos
de procesamiento son constantes. En las últimas prácticas se introducirá la alea-
toriedad en el tiempo de procesamiento en las estaciones (o sea, se tendrán en
cuenta las distribuciones estadísticas para los tiempos de procesamiento).
Laboratorio de Simulación Nº 1

Tiempos de Movimiento entre estaciones


ProModel utiliza el comando MOVE FOR para especificar la cantidad de tiempo
que una entidad invierte en viajar entre dos estaciones.

Ahora, entre por el menú Build-Processing ( ver sección 1.1 El paradigma de


ProModel - Para crear el procesamiento ) y cree los siguientes registros de pro-
cesamiento: (no olvidar incluir los comandos WAIT y MOVE FOR)

LÓGICA
ENTIDAD ESTACIÓN OPERA- SALIDA DESTINO DE
CIÓN MOVI-
MIENTO
Telera Entrada 0 Telera Cortadora .1
Telera Cortadora 5 pieza Taladro .1
pieza Taladro 4 pieza Torno .1
pieza Torno 3 pieza Pulidora .1
pieza Pulidora 8 pieza Salida .1
pieza Salida 0 Produc- EXIT 0
to_terminad
o

El procesamiento y los tiempos de movimiento se incluyen arriba pero falta incluir


los comandos WAIT y MOVE FOR en los lugares apropiados, WAIT en el campo
de Operación (Operation) y MOVE FOR en Lógica de Movimiento (Move Logic);
ver la figura de abajo. Por ejemplo en el campo de operación de la cortadora: wait
5, y en la lógica de movimiento Move for 0.1.

Nota: La estación “EXIT”, como tal no se crea en el “layout” (área de trabajo),


simplemente se hace click en la estación de origen “Salida” y luego “clic” en el
botón ROUTE TO EXIT, que se encuentra en la ventana “Tools” del modulo de
procesamiento (Build/Processing). EXIT es una estación virtual que permite que
las entidades abandonen el sistema y se les calculen estadísticas.
Finalmente deberá tener en el modulo de procesamiento (Entities) dos ven-
tanas como las que aparecen en la siguiente figura.
Laboratorio de Simulación Nº 1

En la ventana de la izquierda se registran las entradas a la estación de procesa-


miento (por ejemplo una telera (entidad) está llegando a la estación de Entrada
para su procesamiento).
En la ventana de la derecha se muestra hacia donde son dirigidas las sali-
das del procesamiento anterior (por ejemplo de la estación Entrada después del
procesamiento salió la misma telera (entidad) hacia la estación Cortadora).

Nota: Solo se está mostrando el primer registro de cada una de las ventanas. Si
se dá click en el segundo registro de la ventana de la izquierda (telera en la corta-
dora), aparecerá en el primer registro de la ventana de la derecha el destino de
esa telera después de haber sido procesada en la estación Cortadora.

MÓDULO DE LLEGADAS

Entrar por el menú Build-Arrivals ( ver seccion 1.1 El paradigma de ProModel


Para crear las llegadas. Cree los siguientes registros

ENTIDAD ESTA- QTY FIRST OC- FREQ


CIÓN EACH TIME CUR
Telera Entrada 1 0 inf 15

Finalmente deberá tener en el modulo de registro de llegadas (Arrivals) una ven-


tana como la que aparece en la siguiente figura.

Gráficas de Estaciones e información asociada con ellas

Cuando se está en el módulo de “estaciones” (Build-Locations) se observa la ven-


tana “Graphics”.
Laboratorio de Simulación Nº 1

Los gráficos de la parte derecha de esta ventana corresponden a los íconos de la


biblioteca gráfica seleccionada. Los gráficos de la parte izquierda de esta ventana
son una columna de íconos fijos, muy útiles para mejorar la óptica de la simula-
ción e incrementar la información disponible asociada a las estaciones en el mo-
delo. Hay que tener cuidado en activar la estación (haciendo click en ella)
para la cual se desea añadir alguno de los elementos de ayuda (elementos
que estan en la columna izquierda). Luego antes de añadir un elemento de
ayuda desmarcar el botón NEW y hacer click en el elemento que se va a uti-
lizar, el cual queda asociado con la estación inicialmente seleccionada.

Los iconos para incrementar información son los siguientes:

Botón Contador: Presenta los contenidos numéricos de la estación (es el botón


con 00 en la figura anterior).

Botón Calibrador (el segundo botón en la columna de la izquierda): Presenta gráfi-


camente los contenidos de la estación.

Botón Texto: Asocia texto a la estación ( es el botón con la letra Aa)

Botón para la Luz de Status (es el botón con el círculo): Cambia el color de acuer-
do al status (o estado) de la estación (los status de una estación son: ocupada,
ociosa, bloqueada).

Botón para el Lugar de la Entidad (es el botón que tiene una X dentro del círculo):
Define el lugar físico en el que aparecerá la entidad en la estación en la corrida de
simulación.
Laboratorio de Simulación Nº 1

Botón Región ( es el botón con un cuadrado): Área (invisible durante la simula-


ción) útil en definir estaciones de área. Se recomienda cuando en la ventana de
diseño se tiene un plano del lugar que se está simulando.

Para terminar la práctica debe en la ventana de diseño (layout) utilizando el botón


de ayuda marcado con Aa, colocar a cada estación el nombre correspondiente.
Además, en el modelo (en la ventana de diseño-layout-.) al lado de la pulidora
colocar un calibrador y hacer doble click en él para editarlo a gusto. También aña-
dir un contador en la salida 1. Haciendo doble clic en el contador permitirá definirlo
a gusto.

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.

1
Este contador en la Salida siempre estará en cero durante la simulación ya que la estación Salida siempre
estará vacía, dado que su tiempo de procesamiento es cero (WAIT O).
Laboratorio de Simulación Nº 1

El modelo debe grabarse como “PRAC_01.MOD”.

ANÁLISIS DE LA SIMULACIÓN
Una vez tenga el modelo corriendo realice las siguientes actividades:
1. Correr una simulación por 10 horas.
2. Revisar las estadísticas de salida.
3. Responder a las siguientes preguntas:
¿Que cambia cuando se corre la simulación no 10 sino 20 hr, 30 hrs ?
¿Qué sucede cuando en el modulo de llegadas se cambia el 1 de “Qty
each” por 5,?. Explique el significado de éste cambio.
¿Que sucede si la capacidad de la entrada pasa de 1 a 5 y la cantidad de
entrada (Qty Each) se deja en 5 y se corre nuevamente 10 hr la simulación?
4. Graficar el comportamiento durante el tiempo de las estaciones (usar
la opción de gráficos “History Plot”-
5. Familiarizarse con la opción “View Text” del menú “File”.

Resultado de la Práctica No. 1

--------------------------------------------------------------------------------
General Report
Output from C:\Jose Soto\CursoSimulacion_pregrado_Enero_2007\[Práctica #1]
Date: Jan/25/2007 Time: [Link] AM
--------------------------------------------------------------------------------
Scenario : Normal Run
Replication : 1 of 1
Simulation Time : 10 hr
--------------------------------------------------------------------------------

LOCATIONS

Average
Location Scheduled Total Minutes Average Maximum Current
Name Hours Capacity Entries Per Entry Contents Contents Contents % Util
--------- --------- -------- ------- --------- -------- -------- -------- ------
Entrada 10 1 41 0.0 0 1 0 0.0
Cortadora 10 1 40 5.00 0.33 1 0 33.33
Taladro 10 1 40 4.00 0.26 1 0 26.67
Torno 10 1 40 3.00 0.2 1 0 20.00
Pulidora 10 1 40 7.86 0.52 1 1 52.43
Salida 10 1 39 0.0 0 1 0 0.0

LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks)


Laboratorio de Simulación Nº 1
Location Scheduled % % % % % %
Name Hours Operation Setup Idle Waiting Blocked Down
--------- --------- --------- ----- ------ ------- ------- ----
Entrada 10 0.0 0.0 100.00 0.0 0.0 0.0
Cortadora 10 33.33 0.0 66.67 0.0 0.0 0.0
Taladro 10 26.67 0.0 73.33 0.0 0.0 0.0
Torno 10 20.00 0.0 80.00 0.0 0.0 0.0
Pulidora 10 52.43 0.0 47.57 0.0 0.0 0.0
Salida 10 0.0 0.0 100.00 0.0 0.0 0.0

FAILED ARRIVALS

Entity Location Total


Name Name Failed
------ -------- ------
Telera Entrada 0

ENTITY ACTIVITY

Average Average Average Average Average


Current Minutes Minutes Minutes Minutes Minutes
Entity Total Quantity In In Move Wait For In
Name Exits In System System Logic Res, etc. Operation Blocked
------------------ ----- --------- ------- ------- --------- --------- -------
Telera 0 1 - - - - -
Pieza 0 1 - - - - -
Producto terminado 39 0 20.50 0.50 0.0 20.00 0.0

ENTITY STATES BY PERCENTAGE

% %
Entity In Move Wait For % %
Name Logic Res, etc. In Operation Blocked
------------------ ------- --------- ------------ -------
Telera - - - -
Pieza - - - -
Producto terminado 2.44 0.0 97.56 0.0


Laboratorio de Simulación Nº 2

2.2 PRÁCTICA # 2

Vamos a considerar el mismo modelo anterior, con las siguientes adiciones:

Una Telera llega a la estación de Entrada de donde es enrutada a la estación Cor-


tadora. En la Cortadora (nueva estación de origen) cada Telera se corta en 5 Pie-
zas que van al Taladro (estación de destino), una por una. De ahí, las Piezas van
al Torno. Después pasan a la Pulidora, donde son combinadas en Lotes de 10
Piezas antes de la correspondiente operación de pulimento (el pulimento se reali-
za al lote de 10 piezas). El Lote va después a la Salida en donde 5 Lotes se com-
binan de nuevo como un Producto_Terminado. De ahí el Producto_Terminado es
enrutado a EXIT (Fuera del sistema).
(Nota: No trabaje en el modelo hasta que comprenda bien los pasos que hay que
dar ver la conceptualización en los parágrafos siguientes)

Corte y Destarimado
Se define así a cualquier tipo de operación en donde una parte se convierte en
dos o más partes. Esto puede ser por operaciones de corte, destarimado (despa-
letizado), desempacado, etc. ProModel se ocupa de esta situación cambiando la
cantidad de salida en el cuadro de diálogo de las reglas de enrutamiento (campo
«Rule» cuando se está en el módulo de procesamiento). Si por ejemplo, en el
campo «Quantity» que aparece después de haber activado «Rule» se escribiera 4
indicaría a ProModel que por cada entidad que entra a la estación salen 4 para la
siguiente estación.
Laboratorio de Simulación Nº 2

Loteo
Es lo contrario del corte. En este caso, lo que se quiere es juntar varias piezas en
lotes, tarimas, grupos, etc. Para ésto, ProModel utiliza varios comandos, en esta
práctica utilizaremos el comando COMBINE.
El comando COMBINE espera hasta que estén disponibles el número especifica-
do de piezas en la estación y entonces se combinan en una sola unidad que es
enrutada a la siguiente estación. Es posible cambiar el nombre de la entidad que
sale en la estación donde se tiene lugar el cambio.

Entonces, en el modelo anterior PRÁCTICA #1, hacer los siguientes cam-


bios para adecuarnos al nuevo enunciado:

En el módulo de entidades (entities) agregar la siguiente: Lote. Finalmente


el registro de entidades debe quedar como sigue:

En el módulo de estaciones (locations) cambiar las capacidades de la Pulidora (de


1 a 10) y de la Salida (de 1 a 5). Las estaciones que cambiarán su capacidad son
aquellos lugares en los que tendrán lugar las combinaciones Además borrar el
calibrador de la Pulidora ya que al cambiar la capacidad de la estación de (1 a 10
) se requiere actualizar la información del calibrador, lo mismo que en la estación
de Salida.

Finalmente el registro de estaciones debe quedar como sigue:


Laboratorio de Simulación Nº 2

En el módulo de procesamiento (Build-Processing) cambiar la cantidad de salida


de la Cortadora (activar el registro de la Cortadora, click en el campo Rules, y en
el cuadro de diálogo que aparece (Routing Rule)cambiar en el campo Quantity 1
por 5, marcar la opción First Available y por último click en OK. Debe quedar fi-
nalmente en el campo Rules :FIRST 5. Vea las siguientes figuras:

En el módulo de procesamiento (Build-Processing) hacer los cambios necesarios


para incluir la nueva entidad del enunciado, lote. Y en el campo de Operación
(Operation) incluir las instrucciones COMBINE en la Pulidora y en la Salida, como
Combine 10 y Combine 5 así:

Activar el registro de la Pulidora, click en el campo Operation, click en el


botón Build, click en el comando Combine, click en el botón Keypad, click
en 1 y en 0, click en el botón Paste, click en el botón Close (Observe cuida-
dosamente los cambios que se van presentando).

Activar el registro de la Salida, click en el campo Operation, click en el


botón Build, click en el comando Combine, click en el botón Keypad, click
en 5, click en el botón Paste, click en el botón Close.

Después de realizar los pasos arriba descritos, el cuadro de registro de procesa-


miento deberá quedar como se muestra en las siguientes figuras:
Laboratorio de Simulación Nº 2

Volver al módulo de estaciones (locations) y allí colocar en la Pulidora un nuevo


calibrador, ya que al cambiar la capacidad de la estación (de 1 a 10) y al modificar
el proceso (comando Combine) se requiere actualizar la información del calibra-
dor, lo mismo que en la estación de Salida. Edítelo para que muestre la escala.
Nota importante en este momento: No olvide quitar la X en el botón NEW y activar
la Pulidora antes de agregar el calibrador, igualmente con la Salida. (ver una ex-
plicación mas detallada en la práctica #1en el parágrafo titulado como Gráficas
de Estaciones e información asociada con ellas).

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 2

Grabar como “PRAC_02.MOD”


Correr el modelo por 10 horas (Entrar por Simulation-run), en un comienzo a baja
velocidad (Cuando se corre el modelo en la parte superior aparece una barr-
que permite controlar la velocidad de la simulación) para alcanzar a observar
el comportamiento del calibrador y del contador.

Note que tanto el calibrador como el contador muestran el valor numérico


del momento de la simulación. Observe que en la Cortadora por cada Telera que
entra deben salir 5 Piezas, y que cuando llega una Telera a la Entrada debe espe-
rar allí hasta que la Cortadora se desocupe. Observe también cómo el dibujo ani-
mado para el Producto_Terminado espera en la estación de Salida hasta que se
completa con una cantidad de 5. Observe finalmente las luces de status. Por últi-
mo, aumentar la velocidad de simulación para completar las 10 horas requeridas.

Resultados de la Simulación (Salidas /Output)


Después de correr el modelo (Entrar por Simulation-run), un cuadro de dia-
logo preguntando si desea ver los resultados (Do you want to see the results? )
que le permitirá ver los resultados estadísticos de la simulación.

A manera de ilustración enseguida aparece el reporte estadístico de salida (out-


put) del modelo de ésta práctica.
Observe en la salida del ejemplo los porcentajes de operación y de bloqueo
de las estaciones y el número de partes que se están produciendo.
--------------------------------------------------------------------------------
General Report
Output from C:\Jose Soto\CursoSimulacion_pregrado_Enero_2007\JOSE_PRAC_02.MOD [Práctica #2]
Date: Jan/25/2007 Time: [Link] AM
--------------------------------------------------------------------------------
Scenario : Normal Run
Replication : 1 of 1
Simulation Time : 10 hr
--------------------------------------------------------------------------------

LOCATIONS
Average
Location Scheduled Total Minutes Average Maximum Current
Name Hours Capacity Entries Per Entry Contents Contents Contents %Util
--------- --------- -------- ------- --------- -------- -------- -------- ------
Entrada 10 1 28 16.01 0.74 1 1 74.75
Cortadora 10 1 27 22.12 0.99 1 1 99.55
Taladro 10 1 133 4.17 0.92 1 1 92.60
Torno 10 1 132 3.28 0.72 1 1 72.27
Pulidora 10 10 131 26.66 5.82 10 1 58.22
Laboratorio de Simulación Nº 2
Salida 10 5 13 79.98 1.73 5 3 34.66

LOCATION STATES BY PERCENTAGE (Multiple Capacity)

% |
Location Scheduled % Partially %| %
Name Hours Empty Occupied Full | Down
-------- --------- ----- --------- ----- …………… | ----
Pulidora 10 2.28 80.38 17.33 | 0.0
Salida 10 24.73 75.27 0.0 | 0.0

Ojo ¡Las estadísticas de % Operación y de % de Bloqueo son claves para localizar


cuellos de botella!

Primer Resultado: Cuellos de botella: ¿ En dónde están?


Observe la siguiente tabla como ejemplo:
LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks)

Location Scheduled % % % % % %
Name Hours Operation Setup Idle Waiting Blocked Down
--------- --------- --------- ----- ----- ------- ------- ----
Entrada 10 0.0 0.0 25.25 0.0 74.75 0.0
Cortadora 10 22.50 0.0 0.45 0.0 77.05 0.0
Taladro 10 88.27 0.0 7.40 0.0 4.33 0.0
Torno 10 65.77 0.0 27.73 0.0 6.50 0.0

Porcentaje de Operación y de Bloqueo

FAILED ARRIVALS
Entity Location Total
Name Name Failed
------ -------- ------
Telera Entrada 13

Segundo Resultado: ¿ Cuántas partes se están produciendo ?


Observe la siguiente tabla:
ENTITY ACTIVITY

Average Average Average Average Average


Current Minutes Minutes Minutes Minutes Minutes
Entity Total Quantity In In Move Wait For In
Name Exits In System System Logic Res, etc. Operation Blocked
------------------ ----- --------- ------- ------- --------- --------- -------
Telera 0 2 - - - - -
Pieza 130 3 56.64 0.40 18.85 12.00 25.38
Producto terminado 2 0 0.0 0.0 0.0 0.0 0.0
Lote 10 3 98.10 0.10 90.00 8.00 0.0

Salidas Totales
Laboratorio de Simulación Nº 2

ENTITY STATES BY PERCENTAGE

% %
Entity In Move Wait For % %
Name Logic Res, etc. In Operation Blocked
------------------ ------- --------- ------------ -------
Telera - - - -
Pieza 0.71 33.29 21.18 44.82
Producto terminad - - - -
Lote 0.10 91.74 8.15 0

ANÁLISIS FINAL DE LA SIMULACIÓN

Una vez tenga el modelo corriendo realice las siguientes actividades:

1. Correr una simulación por 10 horas.


2. Revisar las estadísticas de salida.
3. Responder a las siguientes preguntas:
¿Que cambia cuando se corre la simulación no 10 sino 20 hr, 30 hr ?
¿Qué sucede cuando en el modulo de llegadas se cambia el 1 de “Qty
each” por 5,?. Explique el significado de éste cambio.
¿Que sucede si la capacidad de la entrada pasa de 1 a 5?
4. Graficar el contenido durante el tiempo de las estaciones Salida y Pu-
lidora (usar la opción de gráficos “History Plot”-
5. Analice los resultados de la simulación y sugiera alguna mejora al sis-
tema
Laboratorio de Simulación Nº 3
29
_______________________________________________________________________________

2.3 PRÁCTICA # 3

En la práctica anterior en un análisis superficial podría llegarse a concluir que uno


de los responsables de retraso en la operación del sistema podría ser la cortadora
o el taladro o el torno o inclusive la pulidora (ya que los minutos promedio por en-
trada en la pulidora, Average Minutes per Entry para la Pulidora de 26.66 es el
mayor de todas las estaciones, excepto la salida).

Para intentar corregir esto supongamos que queremos aumentar la efecti-


vidad del sistema añadiendo otra pulidora (debemos al final de ésta práctica
también intentar añadiendo un taladro y dejando solo una pulidora, o añadiendo
un torno y dejando solo un taladro y una pulidora, y comparar los resultados de
todas éstas alternativas).

También en ésta práctica vamos a inspeccionar las piezas ya que tenemos


información que nos dice que el 25% son defectuosas. Para desplegar y monito-
rear la información crearemos variables y mantendremos un registro del inventa-
rio en proceso, las piezas rechazadas como defectuosas y las partes terminadas.

CONCEPTUALIZACIÓN

Añadir Estaciones

Existen varias formas de añadir estaciones de trabajo. En ésta práctica vamos a


incrementar el número de unidades de una estación específica. Estando en el
módulo de Estaciones (Locations) ésto último se hace simplemente activando el
registro de la estación correspondiente y cambiando el valor del campo de las uni-
dades de la estación (Units), oprimiendo «enter» en seguida. Esta acción crea
unidades «clones» que son idénticas a la estación que las generó.
(Vea el siguiente pantallazo el caso de la creación de una unidad clon para la es-
tación pulidora).
Laboratorio de Simulación Nº 3
30
_______________________________________________________________________________

Las unidades individuales (las diferente estaciones <<clones>>) son selecciona-


das para el enrutamiento de acuerdo a las reglas definidas en la estación original
cuando se da click en la estación principal (la que las genera) en el botón de Re-
glas (Rules).
Nota: Con ésta aproximación, no se debe enrutar desde o hacia una unidad es-
pecífica de una estación multi-unidad. El enrutamiento se debe hacer desde o
hacia la estación principal.
En el módulo de procesamiento (Build-Processing ) la caja de diálogo que se abre
cuando se da click en el campo Rules permite seleccionar diferentes criterios de
enrutamiento.

Bloques de Rutas

Cuando en un proceso, una entidad se enruta desde una estación, a veces es


necesario ofrecer rutas múltiples para que la entidad salga. Ésto se logra creando
líneas múltiples o bloques múltiples de enrutamiento.

Si un registro de enrutamiento tiene líneas múltiples dentro de un mismo blo-


que, (lo que es diferente a tener varios bloques de enrutamiento), en el cam-
po de Procesamiento-(Build-Processing) aparecerá numerado solo un bloque
<<Blk>> de destino dentro del proceso.
En el caso de ésta práctica deberá aparecer solo un bloque de destino pero con
varios renglones como destinos, y de esa manera solamente una de las líneas
(renglón) de destino será ejecutada. En otras palabras, la entidad se irá solamente
a una estación. La línea de enrutamiento que la entidad escoge se basa en las
reglas de enrutamiento que se establecen en el cuadro de diálogo de reglas. En el
módulo de procesamiento (Build-Processing) la caja de diálogo que se abre cuan-
do se da click en el campo “Rules” permite seleccionar diferentes criterios de enru-
tamiento).
Laboratorio de Simulación Nº 3
31
_______________________________________________________________________________

Si hay múltiples bloques en el enrutamiento, lo que es diferente a líneas múlti-


ples dentro de un mismo bloque entonces cada línea será ejecutada y la enti-
dad especificada irá a cada una de las estaciones (esta situación se planteará en
prácticas posteriores- práctica #6). Esto se logra a través de seleccionar (marcar)
la opción de Iniciar un nuevo Bloque (Start New Block) en la caja de dialogo que
se abre cuando se da click en el campo “Rules”.

Inspección y enrutamientos probabilísticos

En algunos casos (como en la presente práctica) existe la probabilidad de que una


pieza sea enrutada a un área en vez de otra. En ésta práctica existe un 75% de
probabilidad de ocurra el hecho de que la pieza no tenga defectos y vaya a la Pu-
lidora y un 25% de probabilidad de que sea defectuosa y se despache para la Sa-
lida (Exit). Este efecto se modela en ProModel creando líneas múltiples en el
mismo bloque de enrutamiento y seleccionando la opción PROBABILIDAD. Ob-
viamente, la suma de las probabilidades debe ser igual a uno, y la segunda línea
del bloque 1 no está numerada (Es importante recordar que estas múltiples líneas
deben estar en el mismo bloque).

Gráficas de fondo

Si queremos colocar texto u otros gráficos en el modelo, lo podemos hacer a


través de Build / Background Graphics. En éste módulo se tienen dos barras: la
barra de herramientas (que nos permite dibujar y modificar formas) y la barra de
íconos (que nos permite presentar íconos de estaciones o de entidades como
simples gráficas).La herramienta de textos aparece en la barra de herramientas
como una A.

Variables

Las Variables en ProModel son apoyos definidos por el usuario para representar
valores importantes de parámetros claves para la decisión que se va a tomar.
Laboratorio de Simulación Nº 3
32
_______________________________________________________________________________

Para incluir una variable en el modelo, dar click en el menú Build/Variables (glo-
bal). El nombre que se le de en el campo ID es el nombre con el cual la variable
será identificado en el modelo. El tipo de la variable (Type) puede ser entero o
real.

Como en cualquier aplicación de computador, una variable es simplemente una


porción de memoria RAM donde se almacena algún valor, lo reales ocupan mas
memoria. Se colocan en el layout para comunicación visual. Para colocar una va-
riable en la ventana gráfica del modelo (layout) como un contador gráfico, simple-
mente se debe activar el registro de la variable en la ventana Variables (que se
encuentra por Build/Variables(global) ), y luego hacer click en el lugar de la panta-
lla de diseño (layout) donde se quiere que aparezca el valor de la variable. Dando
doble click en dicho lugar permitirá modificar el tipo de letra, el color, así como
otras características de la caja de texto.

Las variables son útiles cuando sus valores se pueden manipular. Esto se realiza
con los comandos de ProModel, INC y DEC.

INC hará que el valor de la variable se aumente en un valor definido o bien “1” si
no se especifica dicho valor. DEC causa que el valor de la variable se disminuya
en el valor específico definido o bien “1” si no se especifica dicho valor
Las variables y estos comandos son válidos en cualquier campo lógico.
Estas variables se introducirán en ésta práctica estando en el módulo de Proceso
(Build/Processing), tanto en el campo de Operación (Operation) como en el cam-
po de Movimiento (Move Logic). Allí también se pueden utilizar operadores numé-
ricos (+, -, *, /) para manipular a las variables.

Cambio de las gráficas de las entidades

Una de las buenas facilidades de ProModel es la habilidad de cambiar las gráficas


de las entidades (y de las estaciones) durante la simulación.

Para las entidades, ésto se logra a través de Build / Entities, y activando el registro
de la entidad de interés.
Laboratorio de Simulación Nº 3
33
_______________________________________________________________________________

Apagando el botón NEW y presionando el botón Edit aparecerán espacios adicio-


nales para los gráficos.

Dar click para seleccionar dichos espacios, y escoger cualquier ícono deseado.
Podemos diseñar gráficos diferentes para la misma entidad. Se puede cambiar el
color, la rotación, la dirección y el tamaño de la entidad.

Para utilizar las gráficas alternas durante la ejecución de un modelo hay que eje-
cutar el comando GRAPHIC. Este comando colocado en cualquier campo lógico
(Build/Processing) permite seleccionar el gráfico que aparecerá (Por ejemplo,
GRAPHIC 2 cambia al segundo gráfico).
Laboratorio de Simulación Nº 3
34
_______________________________________________________________________________

Enunciado de la Práctica

Suponga que el análisis de la práctica #2 nos hubiese llevado a concluir que uno
de los responsables en la operación del sistema es la pulidora. Supongamos que
queremos aumentar la efectividad del sistema añadiendo otra pulidora.

Además, supongamos que se nos dice que el 25 % de la producción es rechaza-


da. Para obtener más información en la simulación vamos a introducir algunas
variables, una estación de inspección y llevaremos registro del inventario en pro-
ceso, de las partes rechazadas y de las partes terminadas.

Entonces, al modelo de la práctica anterior se agregará lo siguiente:


Módulo de Estaciones:

Nombre Capacidad Unidades Observación


Inspección 1 1 Nueva estación (entre el Torno
y la Pulidora)
Pulidora 10 2 Sólo cambiar el valor de las
unidades

Observar las unidades clones Pulidora.1 y Pulidora.2 que aparecen en el módulo


de Estaciones y en la ventana de Diseño. (Ver como debe quedar el registro ob-
servando el pantallazo que se presento atrás en la sección sobre Conceptualiza-
ción- Añadir Estaciones).
Laboratorio de Simulación Nº 3
35
_______________________________________________________________________________

Módulo de Entidades:
Agregar la entidad Rechazos

Módulo de Procesamiento:

La estación de Inspección se colocará después del Torno (puede colocarse tam-


bién como último registro). Del torno la pieza pasa a inspección en donde se pre-
parará un bloque de enrutamiento con dos líneas de salida, cada una con probabi-
lidad de ocurrencia, así:

Tiempo de Enruta- Movi-


Entidad Estación proceso Salida Destino miento miento
Pieza Torno 2 Pieza Inspección .1
Pieza Inspección 1 Pieza Pulidora .75 .1
Rechazos EXIT .25 0

Notar que la estación Inspección, tiene un solo bloque de salida marcado


como “blk”, 1, al frente de pieza y con dos líneas Pieza y Rechazos (múltiples
líneas de enrutamiento).
Para crear el nuevo renglón “Rechazos”, después de “Pieza”, estando en el
renglón de la Inspección dar “Enter”, y luego click en los títulos de los campos
“output”de la tabla para buscar “Rechazos” y click en el títulos de destino (destina-
tion) para buscar “EXIT”.

Nota: No olvidar colocar los WAIT para los tiempos de proceso y los MOVE FOR.
Ver como debe quedar el registro anterior observando el pantallazo que se pre-
sento atrás en la sección sobre Conceptualización- Inspección y enrutamien-
tos probabilísticas
Texto de fondo antes de las variables:
Colocar en la ventana de diseño (layout) el siguiente texto:

Estadísticas del Sistema:


Piezas en proceso
Piezas terminadas
Piezas rechazadas
Laboratorio de Simulación Nº 3
36
_______________________________________________________________________________

(Recuerde: Build / Background Graphics. / Behind grid dando click en el botón A


de la barra de herramientas, y click en la parte de la ventana de diseño donde
quedará el texto). Ver el pantallazo que está al iniciar el enunciado de la
práctica.

Variables (primer paso: definición):


Introducir las siguientes variables:

Nombre Tipo
Piezas_Proceso Entero
Piezas_Terminadas Entero
Piezas_Rechazadas Entero

Ver como se crean en la sección al inicio de ésta práctica en Conceptualización-


Variables, al final debe obtener una pantalla como la siguiente:

Variables (Segundo paso: Programación)


Para entrar comandos de programación de las variables proceder así:

Cierre el módulo de variables. Entre al módulo de procesos. Utilice los siguientes


pasos: Activar el registro donde se requiera programar la variable, dar click en los
campos Operation o Move Logic (donde corresponda), luego dar click en el botón
Build y así construir la orden necesaria (En nuestro caso INC o DEC)

La variable Piezas_Proceso aumenta cuando una Telera en la cortadora se divi-


de en Piezas con destino al taladro. Luego en el campo de move Logic de la
cortadora al taladro debe incluirse INC Pieza_Proceso

y disminuye cuando el Producto_Terminado abandone el sistema o cuando haya


un rechazo.
DEC Piezas_Proceso,50 en el campo Move Logic cuando el Output es produc-
to_terminado que va con destino a Exit.
Laboratorio de Simulación Nº 3
37
_______________________________________________________________________________

La variable Piezas_Terminadas aumenta cuando un Producto_Terminado aban-


done el sistema.
INC Piezas_Terminadas en el mismo lugar donde se encuentra la anterior va-
riable

La variable Piezas_Rechazadas aumenta cuando un rechazo abandone el siste-


ma.
INC Piezas_Rechazadas en el campo Move Logic cuando el Output es Pie-
zas_Rechazadas que van con destino a Exit (en la línea de registro que ha si-
do creada en el proceso como segunda línea de la salida del proceso de Ins-
pección)

Recuerde que las variables se definen así: Click en Build/Variables (global). En la


ventana de edición de variables dar click en el campo ID y allí entrar el nombre de
la variable, luego click en el campo Type y escoger Integer. (En la columna «Icon»
debe aparecer automáticamente «No»)

Colocar estas variables en la ventana de diseño. (Basta activar la variable de in-


terés y dar click en la parte de la ventana de diseño donde se quiera observar el
respectivo contador. En la columna «Icon» debe aparecer automáticamente
«Yes»)
Laboratorio de Simulación Nº 3
38
_______________________________________________________________________________

Cambio de gráfico de la Pieza:

Finalmente, queremos cambiar la gráfica de las entidades cuando salgan del Ta-
ladro y posteriormente cuando abandonen el Torno. Ésto requerirá entrar por la
Build / Entities lo que activa la ventana de gráficos (Entity Graphics). Para generar
gráficos adicionales de una determinada entidad, (por ejemplo de pieza) debe en
la ventana del registro de entidades (Entities) seleccionar la entidad pieza y luego
en la ventana de gráficos (Entity Graphics) desmarcar el botón “New” y presionar
el botón “Edit”, con lo cual se activan espacios para crear nuevos gráficos para la
entidad piezas ( ver la sección anterior “Cambio de las gráficas de las entida-
des” ).
Posteriormente, en la lógica de proceso de las estaciones respectivas se
deberá utilizar el comando GRAPHIC para cambiar el gráfico de la entidad cuando
se termine su tiempo de procesamiento.
Asi, en el campo “Operation” de la estación Taladro, después del WAIT 4
debe ir GRAPHIC 2 (lo que hará que se utilize el segundo gráfico creado para la
entidad piezas). Ai mismo en el campo de operación del Torno debe ir GRAPHIC
3. Vea el siguiente pantallazo:

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 3
39
_______________________________________________________________________________
Laboratorio de Simulación Nº 3
40
_______________________________________________________________________________

No olvide grabar este modelo como "PRAC_03.MOD"

Los siguientes son la salida estadística correspondientes a ésta práctica No 3.

General Report
Output from C:\Documents and Settings\Jose Soto\Mis documen-
tos\CursoSimulacionMaestria_Sept_2009\Simulacion_Discreta\Talleres_Sim_Discreta\Practicas_Re
gulares\JOSE_PRAC_03_con_RTI.MOD [Práctica #3]
Date: Aug/19/2009 Time: [Link] PM
--------------------------------------------------------------------------------
Scenario : Normal Run
Replication : 1 of 1
Simulation Time : 10 hr
--------------------------------------------------------------------------------

LOCATIONS

Average
Location Scheduled Total Minutes Average Maximum Current
Name Hours Capacity Entries Per Entry Contents Contents Contents % Util
---------- --------- -------- ------- --------- -------- -------- -------- ------
entrada 10 1 29 13.34482 0.645 1 1 64.50
cortadora 10 1 28 21.32857 0.99533 1 1 99.53
taladro 10 1 139 3.98561 0.92333 1 1 92.33
torno 10 1 138 2.00000 0.46 1 0 46.00
pulidora.1 10 10 98 32.32653 5.28 10 8 52.80
pulidora.2 10 10 7 250.65714 2.92433 7 7 29.24
pulidora 20 20 105 46.88190 4.10217 17 15 41.02
salida 10 5 9 129.76666 1.9465 5 4 38.93
inspección 10 1 137 1.00000 0.22833 1 0 22.83

LOCATION STATES BY PERCENTAGE (Multiple Capacity)

% |
Location Scheduled % Partially %| %
Name Hours Empty Occupied Full | Down
---------- --------- ----- --------- ----- | ----
pulidora.1 10 3.92 84.08 12.00 | 0.0
pulidora.2 10 20.68 79.32 0.0 | 0.0
pulidora 20 12.30 81.70 6.00 | 0.0
salida 10 19.98 80.02 0.0 | 0.0
Laboratorio de Simulación Nº 3
41
_______________________________________________________________________________

LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks)

Location Scheduled % % % % % %
Name Hours Operation Setup Idle Waiting Blocked Down
---------- --------- --------- ----- ----- ------- ------- ----
entrada 10 0.0 0.0 35.50 0.0 64.50 0.0
cortadora 10 23.33 0.0 0.47 0.0 76.20 0.0
taladro 10 92.33 0.0 7.67 0.0 0.0 0.0
torno 10 46.00 0.0 54.00 0.0 0.0 0.0
inspección 10 22.83 0.0 77.17 0.0 0.0 0.0

FAILED ARRIVALS

Entity Location Total


Name Name Failed
------ -------- ------
telera entrada 12

ENTITY ACTIVITY

Average Average Average Average Average


Current Minutes Minutes Minutes Minutes Minutes
Entity Total Quantity In In Move Wait For In
Name Exits In System System Logic Res, etc. Operation Blocked
------------------ ----- --------- --------- ------- --------- --------- --------
telera 0 2 - - - - -
lote 5 4 133.22000 0.10000 125.12000 8.00000 0.0
producto terminado 1 0 0.0 0.0 0.0 0.0 0.0
piezas 90 17 59.52222 0.50000 25.54333 12.00000 21.47888
rechazos 32 0 33.26562 0.40000 0.0 12.00000 20.86562

ENTITY STATES BY PERCENTAGE

% %
Entity In Move Wait For % %
Name Logic Res, etc. In Operation Blocked
------------------ ------- --------- ------------ -------
telera - - - -
lote 0.08 93.92 6.01 0.0
producto terminado - - - -
piezas 0.84 42.91 20.16 36.09
rechazos 1.20 0.0 36.07 62.72

VARIABLES

Average
Variable Total Minutes Minimum Maximum Current Average
Name Changes Per Change Value Value Value Value
----------------- ------- ---------- ------- ------- ------- -------
Laboratorio de Simulación Nº 3
42
_______________________________________________________________________________

PIEZAS EN PROCESO 172 3.47616 0 57 57 29.3825


PIEZAS TERMINADAS 1 312.40000 0 1 1 0.47933
PIEZAS RECHAZADAS 32 17.69687 0 32 32 15.8258

Análisis final de la simulación

Ahora ya sabiendo como se crean (añaden) estaciones paralelas debemos al final


de ésta práctica retomar el modelo de la práctica #2 (recuerde que ella no tiene
inspección, ni doble pulidora) y comparar los resultados del sistema de la práctica
#2 analizando las 3 siguientes alternativas:

1. Añadir un taladro extra y dejar el resto como en la práctica 2 original


2. Añadir un torno extra y dejar el resto como en la práctica 2 original
(es decir borrar el taladro extra de la alternativa 2)
3. Añadir una pulidora extra y dejar el resto como en la práctica 2 (es
decir sin taladro, ni torno extra).

Correr cada una de las tres alternativas, analizar los resultados de cada corrida y
finalmente debe responder al siguiente interrogante:

¿Cual de las alternativas mejora el desempeño del sistema planteado en la práctica #2, expli-
que su respuesta y justifique basado en los resultados de salida (valores numéricos del repor-
te de salida) de cada corrida
Laboratorio de Simulación Nº 4
43
_______________________________________________________________________________________

MODULO 2: Prácticas #4 y #5.


Las prácticas #4 y #5 hacen parte de un mismo módulo que trata de sistemas con filas y bandas
de transporte. En ellas se introducen los comandos JOIN (para Ensamblar piezas), LOAD (para
Cargar una pieza sobre otra) y UNLOAD (para descargar una pieza que está sobre otra). A dife-
rencia de la práctica #4 la práctica # 5 adiciona a la #4 la inclusión de rutas y de recursos huma-
nos para adelantar las operaciones, lo cual permite analizar el efecto que sobre el desempeño
tiene la inclusión de recursos dinámicos en ese sistema.

2.4 PRÁCTICA # 4

CONCEPTUALIZACIÓN:

Banda Transportadora:

Permiten modelar los casos de cintas de transporte de materiales, o cualquier


método de manejo de materiales que sea similar a una banda o cinta transporta-
dora.

Las partes solamente pueden ser cargadas en la banda una a la vez. El número
de partes que se permiten en la banda está limitado por su capacidad, así como
por las dimensiones de la entidad que se transporta en la banda y por la longitud
de la banda. La entidad se mueve en la banda dependiendo de la longitud de la
banda y de la velocidad de movimiento de la banda.

Las bandas transportadoras son de dos clases: Las bandas transportadoras de


acumulación, que actúan como rodillos (las piezas se pueden pegar unas con
otras al moverse la banda), o bandas de no acumulación, que actúan como cin-
tas (las piezas respetan las distancias entre ellas). En una banda de acumulación
si la entidad que va adelante no puede salir de la banda las otras entidades que
están viajando sobre la banda se van acumulando detrás de la primera. Para una
banda de no acumulación si la entidad que está adelante pára la banda y todas
las demás entidades que estén sobre ella también pararán.

La capacidad asignada a la banda limita el número de entidades que pueden ac-


ceder a la banda. Sin embargo en una banda de acumulación la longitud y ancho
de las entidades no puede exceder la longitud de la banda. De hecho las estadís-
ticas de este tipo de estación reflejan la cantidad de espacio utilizada sobre la
banda y no el número de entidades que ocupan la banda. A diferencia de otro tipo
de estaciones (Locations) una entidad no pude ser ruteada a la banda a menos
que exista espacio al comienzo de ella para que quepa aunque exista capacidad
en la banda para soportar la entidad.
Laboratorio de Simulación Nº 4
44
_______________________________________________________________________________________

El comando a utilizar con las bandas transportadoras es MOVE. ProModel ejecuta


la lógica de operación para las entidades que entran en una banda inmediatamen-
te ellas entran a la banda a menos que la lógica siga al comando MOVE. Si no
existe un comando MOVE las entidades comienzan su movimiento sobre la banda
después de procesar cualquier lógica. Si un comando MOVE es encontrado el
movimiento es iniciado y cualquier lógica definida después del comando MOVE es
procesada solo cuando la entidad llega al final de la banda.
El tiempo de movimiento sobre una banda está basado en la longitud y velocidad
de la banda al mismo tiempo que en la longitud y ancho de la entidad que viaja
sobre la banda. El tiempo de movimiento se calcula con la siguiente fórmula:

Tiempo = (Longitud de la banda – longitud de la entidad o ancho de la entidad) /


velocidad de la banda.

El porcentaje de utilización se calcula usando la formula:

tc
∑ C
% de Utilización = ∀entidades c
T

Nota: La sumatoria es realizada sobre todas las entidades.


tc , es el tiempo que una entidad pasa sobre la banda no importa si se está
moviendo o no.
Cc, es la capacidad de la banda para un tipo dado de entidad.
T, es el tiempo total de la simulación.

Una banda se crea entrando por el menú Build/Locations y en la ventana de gráfi-


cos haciendo click sobre el icono que representa una escalera. Este ícono está
predeterminado solo para representar bandas y filas. Una vez colocado en el
layout, doble click en el permite editarlo y definirlo como banda de acumulación o
no acumulación o como fila. Al definir una banda transportadora deberá activarse
la regla para la salida de las entidades (lo predeterminado es FIFO).

Colas (Filas):
Las filas son utilizadas como almacenes (área de espera antes de las estaciones
de trabajo).Gráficamente, la cola solamente desplegará las entidades que se pue-
dan mostrar dependiendo del tamaño del gráfico de la entidad y de la cola. O sea,
las unidades en cola que se ven no necesariamente corresponden al tamaño de
la cola (número de entidades en la cola) en el modelo.

Además, como en el caso de las bandas transportadoras, el límite de las entida-


des que pueden ser guardadas en una cola también depende de la capacidad de
Laboratorio de Simulación Nº 4
45
_______________________________________________________________________________________

la cola (el valor predeterminado es infinito); pero no del tamaño de las entidades
como sucede en las bandas de transporte.

Como en el caso de las bandas el comando MOVE nos permite controlar cuando
será ejecutada la lógica de la fila. Un comando MOVE hace que la entidad se
mueva al final de la cola donde cualquier lógica de operación adicional ya definida
será procesada. La lógica del comando MOVE se ejecuta al comienzo de la cola
(o de la banda). La lógica posterior al comando MOVE se ejecuta cuando la enti-
dad llega al final de la cola (o de la banda).

Si un comando MOVE incluye tiempo de movimiento (por ejemplo MOVE FOR


5.2 sec) la velocidad de la entidad y el tamaño de la cola serán ignorados. Si el
tiempo del MOVE no es incluido el tiempo del MOVE se basa en la velocidad de la
entidad y longitud de la cola.
El comando MOVE FOR permite controlar el tiempo que le lleva a una entidad
viajar de principio a fin de una cola. Si no especifica el tiempo, entonces el tiempo
será definido por la longitud de la cola y la velocidad de la entidad.
Al definir una cola es opcional la regla para la salida de las entidades (en la banda
de transporte es obligatorio).

Notas:
 El comando MOVE FOR no se utiliza en bandas de transporte solo en las
filas
 Tanto para las bandas como para las colas la longitud está determinada
por la escala del gráfico y cuando ella es modificada gráficamente la longi-
tud es automáticamente recalculada basada en el nuevo gráfico, a menos
que se desmarque previamente la opción “Recalculate path lengths when
adjusted”. Esta opción puede accesarse a través del menú Tools / Options.

Comando JOIN (Ensamblar):

El proceso JOIN se utiliza para ensamblar dos entidades. Después del ensamble
las entidades estarán permanentemente unidas (ésta es la diferencia con COM-
BINE pues las entidades anteriores pierden su identidad).

El comando JOIN tiene dos partes y trabaja así: Una parte del JOIN es el coman-
do JOIN, con el cual una entidad “invita” a otras a unirse. La regla correspondiente
actúa como un retardador, deteniendo la entidad hasta que la otra entidad ejecute
el JOIN. Esta parte del JOIN se activa con la regla, IF JOIN REQUEST RULE. La
otra parte se activa en el campo de Operation de la otra entidad que se va a en-
samblar. Para cada comando JOIN deberá haber una regla correspondiente IF
JOIN REQUEST RULE; JOIN siempre resulta en un cambio de una entidad por
otra diferente. Ver como ejemplo cuadro siguiente.
Laboratorio de Simulación Nº 4
46
_______________________________________________________________________________________

Comandos LOAD / UNLOAD (Carga / Descarga):

El comando LOAD trabaja en forma similar a JOIN, excepto que las partes carga-
das pueden ser más tarde descargadas o desensambladas. Similarmente a JOIN,
LOAD tiene dos partes: el comando LOAD y la regla IF LOAD REQUEST.

El comando UNLOAD descargará el número específico de entidades en la esta-


ción. Por tanto, es necesario crear un registro en el módulo de procesamiento pa-
ra las entidades que hayan sido descargadas. Ver como ejemplo cuadro anterior.

Enunciado de la Práctica
En este modelo, las Fotocopiadoras y las Cajas Vacías se unen en la Mesa de
Trabajo formando una Caja Llena. Las Cajas Llenas van a la Zona de Carga a
través de la Cola de Embarque. De ahí, las Cajas Llenas son cargadas en una
Tarima (que llegó a través de la Banda de Tarimas) y viajan hasta la estación Em-
barque a través de la Banda de Embarque. En el Embarque las Cajas Llenas se
descargan de la Tarima y salen del sistema. Las Tarimas se regresan a la Banda
de Tarimas para ser reutilizadas dentro del sistema. Ver distribución en el panta-
llazo siguiente:
Laboratorio de Simulación Nº 4
47
_______________________________________________________________________________________

Usar como unidad de longitud metros y como unidad de tiempo minutos.

A continuación está la información que debe usarse para crear las Estaciones
(Locations), las Entidades (Entities), los Procesos (Processing) y las Llegadas
(Arrival
MÓDULO DE ESTACIONES
Estaciones Capacidad Especificaciones

Cola_Fotoc 5 Longitud de la cola = 20


Cola_Cajas 5 Longitud de la cola = 20
Mesa_Trab 1
Cola_Emb 5 Longitud de la cola = 20
Banda_Tarim Infinita Velocidad = 20, Longitud = 20, Acumulación
Zona_Carga 1
Banda_Emb Infinita Velocidad =20, Longitud = 20, Acumulación
Embarque 1
Salida 1
Laboratorio de Simulación Nº 4
48
_______________________________________________________________________________________

Nota_1: Para construir una banda de transporte solo se puede usar el icono
en forma de escalera que se encuentra en la ventana de gráficos. Este mismo
icono se utiliza para construir las colas.
Nota_2: Para colocar las especificaciones de la banda (longitud y velocidad ) es-
tando en el módulo de estaciones hacer doble click en la banda, luego entrar por
opciones de la banda (conveyor options) y digitar la longitud y velocidad de ella.
Nota_3: No olvidar activar para las bandas la regla de salida de las bandas. Es-
tando en el modulo de estaciones y en el registro de la banda de transporte hacer
click en el campo “Rules” y activar lar regla FIFO.
Nota_4: señalar que la colocación de las entidades sobre la banda de transporte
será a lo largo de la entidad para estando en el módulo de estaciones hacer doble
click en la banda, luego entrar por opciones de la banda (conveyor options) y se-
ñalar la orientación de la entidad (lengthwise).

MÓDULO DE ENTIDADES

Entidades Width (ancho) Length(largo)


(Mtrs) en Metros
Fotocop 3 2.5
Caja_vacía 3.42 2.5
Caja_llena 3.0 2.5
Tarima_vacía 4.71 2.5
Tarima_llena 5.0 2.5

Nota_1: la velocidad de las entidades se define en el modulo de entidades Build /


Entities en el campo Speed. Colocar como velocidad de cada una de las entida-
des 150 metros por minuto.
Nota_2: hacer que la dimensión de todas las entidades sea exactamente de 2.5
metros de longitud y un ancho de 3 metros. (ojo: notar que como las entidades se
van a colocar a lo largo de la banda de transporte no afecta el ancho que ellas
tengan en el calculo de las estadísticas).

MÓDULO DE PROCESAMIENTO
Nota_1: Estos procesos no se digitan, deben crearse como ya fue explicado en la
introducción al módulo de prácticas, ver página 2 sección 1.2.3 Para crear el
Procesamiento.

Nota_2: los comando MOVE, JOIN, LOAD, UNLOAD, WAIT no deben digitarse,
debe usarse el ayudante constructor. A éste último se accede haciendo click en el
campo “Operation”, y luego haciendo click en el ícono del martillo. Y para los co-
mando que aparecen en el campo de Reglas para la estación destino dar click en
el campo “Rules” y activar según sea el caso: I Join Request o If Load Request
según sea el caso
Laboratorio de Simulación Nº 4
49
_______________________________________________________________________________________

Entidad Estación Operación Salida Destino Reglas

Fotocop Cola_Fotoc MOVE Fotocop Mesa_Trab JOIN 1


Caja_vacía Cola_Cajas MOVE Caja_vacía Mesa_Trab FIRST 1
Caja_vacía Mesa_Trab JOIN 1 Foto- Caja_llena Cola_Emb FIRST 1
cop WAIT 4
Caja_llena Cola_Emb MOVE Caja_llena Zona_Carga LOAD 1
Tarima_vacía Ban- MOVE Tari- Zona_Carga FIRST 1
da_Tarim ma_vacía
Tarima_vacía Zona_Carga LOAD 1 Tari- Banda_Emb FIRST 1
WAIT 1 ma_llena
Tarima_llena Banda_Emb MOVE Tari- Embarque FIRST 1
ma_llena
Tarima_llena Embarque UNLOAD 1 Tari- Banda_Tarim FIRST 1
WAIT 2 ma_vacía
Caja_llena Embarque WAIT .5 Caja_llena Salida FIRST 1
Caja_llena Salida Caja_llena EXIT

MÓDULO DE LLEGADAS
Entidad Estación Cantidad Primera vez Ocurrencias Frecuencia
Fotocop Cola_Fotoc 5 0 infinito 20
Caja_vacía Cola_Cajas 5 0 infinito 20
Tarima_vacía Banda_Tarim 1 0 3 2
Nota_1: La cantidad 5 y la frecuencia de 20, significa que las entidades están lle-
gando en paquetes de 5 unidades cada 20 minutos.

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 4
50
_______________________________________________________________________________________

Actividades a realizar

1. Correr la simulación por 10 horas y observar los resultados.


2. Posteriormente hacer los siguientes cambios en el modulo de llega-
das:
Laboratorio de Simulación Nº 4
51
_______________________________________________________________________________________

• Cambiar la cantidad de llegadas de fotocopiadoras y cajas vacías a so-


lo una de cada una de ellas
• Cambiar la frecuencia de llegadas de las fotocopiadoras y de las cajas
vacías a tres minutos y la de las tarimas a 5 minutos.
3. Correr de nuevo la simulación por 10 horas

4. Interpretación de resultados

El siguiente reporte de salida corresponde a las condiciones enunciadas en el


numeral 2 de las actividades arriba listadas.

--------------------------------------------------------------------------------
General Report
Output from C:\Documents and Settings\Jose Soto\Mis documen-
tos\CursoSimulacion_pregrado_Enero_2007\Practicas\practicas_de_laboratorio_2004\JOSE_PRAC_04.MOD
[Práctica #4]
Date: Jan/25/2007 Time: [Link] AM
--------------------------------------------------------------------------------
Scenario : Normal Run
Replication : 1 of 1
Simulation Time : 10 hr
--------------------------------------------------------------------------------

LOCATIONS
Average
Location Scheduled Total Minutes Average Maximum Current
Name Hours Capacity Entries Per Entry Contents Contents Contents % Util
---------------------- --------- -------- ------- --------- -------- -------- -------- ------
Cola de fotocopiadoras 10 5 155 16.77 4.33 5 5 86.67
Mesa de trabajo 10 1 150 3.99 0.99 1 1 99.98
Cola de cajas 10 5 155 16.77 4.33 5 5 86.67
Cola de emabarque 10 5 149 0.13 0.03 1 0 0.66
Zona de carga 10 1 150 3.99 0.99 1 1 99.75
Banda de embarque 10 999999 149 0.87 0.21 1 0 2.72
embarque 10 1 149 1.99 0.49 1 1 49.64
salida 10 5 149 0.0 0 1 0 0.0
Banda de tarimas 10 999999 151 5.02 1.26 2 1 15.80

LOCATION STATES BY PERCENTAGE (Multiple Capacity)

% |
Location Scheduled % Partially % | %
Name Hours Empty Occupied Full | Down
---------------------- --------- ------ --------- ---- ---------------------------- | ----
Cola de fotocopiadoras 10 0.93 50.01 49.06 | 0.0
Cola de cajas 10 0.93 50.01 49.06 | 0.0
Cola de emabarque 10 96.70 3.30 0.0 | 0.0
Banda de embarque 10 78.27 21.73 0.0 | 0.0
Laboratorio de Simulación Nº 4
52
_______________________________________________________________________________________

salida 10 100.00 0.0 0.0 | 0.0


Banda de tarimas 10 1.19 98.81 0.0 | 0.0

Observe e interprete el reporte de salida.


¿ Cuánto tiempo van a esperar las partes antes de ser trabajadas ?
LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks)

Location Scheduled % % % % % %
Name Hours Operation Setup Idle Waiting Blocked Down
--------------- --------- --------- ----- ----- ------- ------- ----
Mesa de trabajo 10 99.98 0.0 0.02 0.0 0.0 0.0
Zona de carga 10 24.83 0.0 0.25 74.92 0.0 0.0
embarque 10 49.64 0.0 50.36 0.0 0.0 0.0

FAILED ARRIVALS

Entity Location Total


Name Name Failed
------------- ---------------------- ------
fotocopiadora Cola de fotocopiadoras 46
caja vacia Cola de cajas 46
tarima vacia Banda de tarimas 0

ENTITY ACTIVITY

Average Average Average Average Average


Current Minutes Minutes Minutes Minutes Minutes
Entity Total Quantity In In Move Wait For In
Name Exits In System System Logic Res, etc. Operation Blocked
------------- ----- --------- ------- ------- --------- --------- -------
fotocopiadora 150 5 16.99 0.0 12.92 0.13 3.93
caja vacia 0 6 - - - - -
caja llena 149 0 23.50 0.0 12.92 6.64 3.93
tarima vacia 0 2 - - - - -
tarima llena 0 1 - - - - -

ENTITY STATES BY PERCENTAGE

% %
Entity In Move Wait For % %
Name Logic Res, etc. In Operation Blocked
Laboratorio de Simulación Nº 4
53
_______________________________________________________________________________________

------------- ------- --------- ------------ -------


fotocopiadora 0.0 76.07 0.78 23.15
caja vacia - - - -
caja llena 0.0 55.00 28.26 16.74
tarima vacia - - - -
tarima llena - - - -

No olvide grabar este modelo como "PRAC_04.MOD"


Laboratorio de Simulación Nº 5
54
_______________________________________________________________________________________

2.5 PRÁCTICA # 5

CONCEPTUALIZACIÓN:

Red de rutas:

Cuando las entidades y los recursos se mueven entre las estaciones siguen un
camino llamado red de rutas. Varias entidades y recursos pueden compartir una
red de rutas común. El movimiento a lo largo de la red de rutas puede definirse en
términos de la velocidad y de la distancia, o simplemente en términos del tiempo.

Las redes de rutas se componen de nodos que se conectan por segmentos de


ruta. Un segmento de ruta se define con un nodo inicial y un nodo final, y puede
ser tanto unidireccional como bidireccional. Los segmentos de ruta pueden tener
quiebres, o ser sólo líneas rectas que unen a dos nodos.

La creación de una ruta se inicia seleccionando Build / Path Networks, (antes dar
click en el campo paths de la ventana Path Networks ) y después haciendo click
con el botón izquierdo del ratón en la parte de la ventana de diseño en donde se
debe iniciar el segmento. Clicks izquierdos subsecuentes señalarán los quiebres
en la ruta y un click derecho marcará el fin de la ruta.

Las interfases se utilizan para decirle a ProModel en dónde interactúa un recurso


con una estación.
Para crear una interfase entre un nodo y una estación, estando en la ventana de
Path Networks debe activarse primero el campo Interfaces (hacer click en él) y
luego proceder a crearlas así: hacer click izquierdo sobre un nodo que va a in-
terfasarse Interfaces (se apreciará una línea punteada) y posteriormente un click
izquierdo en la estación correspondiente.

Recursos:

Un recurso es una persona, una pieza de un equipo, o algún otro aparato usado
para una o varias de las siguientes funciones: transporte de entidades, asistencia
en la ejecución de operaciones sobre las entidades en las estaciones, ejecución
de mantenimiento en las estaciones, o casos similares.

Un recurso puede constar de varias unidades con características comunes, tales


como un equipo de electricistas o una flota de camiones.

Los recursos pueden ser dinámicos (cuando se mueven a lo largo de la red de


rutas) o estáticos (cuando no se mueven a lo largo de la red de rutas).
Laboratorio de Simulación Nº 5
55
_______________________________________________________________________________________

Para identificar un recurso hay que definir dos elementos: el recurso propiamente
dicho y la red de rutas del recurso.
Generalmente los recursos tienen un «home» ( una «casa» ) donde están (a don-
de van) cuando no se utilizan. Este home será uno de los nodos de la ruta.

La creación de un recurso se inicia seleccionando Build / Resources dando click


en el gráfico deseado en la ventana de herramientas de los recursos. Esta acción
(como en los módulos anteriores) generará un registro en la Tabla de Edición de
Registros. Allí se pueden editar los campos del recurso (nombre, número de uni-
dades, especificaciones, tiempos muertos, etc.)

El campo de especificaciones permite definir la red sobre la cual viaja el recurso,


los nodos sobre los cuales se estaciona y el movimiento del recurso.

Nota: Los recursos no son ni entidades ni estaciones.

Comandos GET / FREE:


El comando GET capturará el recurso para una actividad en una estación. El re-
curso permanecerá en la estación hasta que se especifique un FREE.
El comando GET utilizado conjuntamente con AND y OR permite capturar recur-
sos múltiples para una tarea, o bien para una selección alternativa. Se utilizan en
el campo «Operation».

Comando USE:
Este comando capturará el recurso por la cantidad especificada de tiempo y pos-
teriormente lo liberará en forma automática. Se utiliza en el campo «Operation».

Comando MOVE WITH:


Se utiliza para capturar un recurso de transporte entre estaciones (cuando en la
estación actual no hay actividad). El recurso permanecerá con la entidad hasta
que se encuentre más adelante el comando THEN FREE o el comando FREE.

Nota: Al utilizar MOVE WITH o GET no olvide liberar el recurso más adelante.
Se utilizan en el campo «Move Logic».
Laboratorio de Simulación Nº 5
56
_______________________________________________________________________________________

Distribución de la planta del modelo Nº 5

En este caso vamos a añadir recursos al modelo de la práctica #4 anterior.

Realizar los siguientes cambios:

Crear Rutas.
Crear 2 redes de rutas llamadas Red_1 y Red_2. (por Build / Path Networks, ver
Conceptualización Red de rutas)

• La Red_1 permite al operario ir de la Mesa de Trabajo a la Zona de Carga


(2 nodos), ver las siguientes impresiones de pantalla con la red_1 y la dis-
tancia entre los nodos (paths de la red 1)
Laboratorio de Simulación Nº 5
57
_______________________________________________________________________________________

• La Red_2 permite al operario ir de la estación de Embarque a la Zona de


Carga y a la parte superior de la Banda de Tarimas (3 nodos), ver el si-
guiente fragmento de pantalla, para la red_2.

Crear interfases.
Las interfases se utilizan para decirle a ProModel en dónde interactúa un recurso
con una estación.
Para crear una interfase entre un nodo y una estación se debe hacer click en el
campo de interfaces que se presenta en el pantallazo anterior con lo cual se abre
la caja de registro de interfaces. Luego click izquierdo sobre el nodo que se va a
interfazar (se apreciará una línea punteada, como en el gráfico anterior ) y poste-
riormente un click izquierdo en la estación correspondiente al nodo interfazado.
Laboratorio de Simulación Nº 5
58
_______________________________________________________________________________________

• En la Red_1 para la Mesa de Trabajo y la Zona de Carga.


• En la Red_2 para el Embarque, Zona de carga y Banda de Tarimas.

A continuación se presentan las interfaces de la red_2.

Crear recursos
Crear dos operarios (por Build / Resources, ver antes Conceptualización recur-
sos), así:

• Martha (en SPECS colocarla en la Red_1)


• Carlos (en SPECS colocarlo en la Red_2)

Nuevos comandos
Poner GET, FREE y MOVE WITH / THEN FREE en las estaciones apropiadas en
tal forma que las siguientes actividades sean llevadas a cabo:

• Martha realiza el JOIN y el WAIT en la mesa de trabajo. (GET Martha


• JOIN 1 fotocopiadora WAIT 4 FREE Martha)

• Martha y Carlos realizan el LOAD y el WAIT en la zona de carga. (GET


Carlos AND Martha LOAD 1 WAIT 1 FREE ALL)

• Carlos realiza el UNLOAD en el embarque y toma las tarimas vacías y las


lleva a la banda de tarimas. (GET Carlos UNLOAD 1 WAIT 2 FREE Carlos).
Además, en el campo de “Move Logic” debe ir MOVE WITH Carlos THEN
FREE

Nota: Todos los comando enunciados anteriormente No deben digitarse- debe


usarse el constructor (el icono del martillo como se explico en la práctica #4 ante-
rior).

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 5
59
_______________________________________________________________________________________
Laboratorio de Simulación Nº 5
60
_______________________________________________________________________________________

Correr la simulación por 10 horas.

La siguiente es la salida estadística correspondiente a la práctica No. 5.

General Report
Output from C:\Documents and Settings\Jose Soto\Mis documen-
tos\CursoSimulacionMaestria_Sept_2009\Simulacion_Discreta\Talleres_Sim_Discreta\Practicas_Re
gulares\JOSE_PRAC_05.MOD [Práctica #5]
Date: Aug/19/2009 Time: [Link] PM
--------------------------------------------------------------------------------
Scenario : Normal Run
Replication : 1 of 1
Simulation Time : 10 hr
--------------------------------------------------------------------------------

LOCATIONS

Average
Location Scheduled Total Minutes Average Maximum Current
Name Hours Capacity Entries Per Entry Contents Contents Contents % Util
---------------------- --------- -------- ------- --------- -------- -------- -------- ------
Cola de fotocopiadoras 10 5 119 23.15566 4.59254 5 5 91.85
Mesa de trabajo 10 1 114 5.26199 0.99977 1 1 99.98
Cola de cajas 10 5 119 23.07275 4.5761 5 5 91.52
Cola de emabarque 10 5 113 0.14100 0.02655 1 0 0.53
Zona de carga 10 1 114 3.78396 0.71895 1 1 71.90
Laboratorio de Simulación Nº 5
61
_______________________________________________________________________________________

Banda de embarque 10 9999 113 5.48830 1.03363 2 1 12.92


embarque 10 1 112 5.30224 0.98975 1 1 98.98
salida 10 5 112 0.0 0 1 0 0.0
Banda de tarimas 10 9999 114 0.87500 0.16625 1 0 2.08

LOCATION STATES BY PERCENTAGE (Multiple Capacity)

% |
Location Scheduled % Partially %| %
Name Hours Empty Occupied Full | Down
---------------------- --------- ------ - -------- ----- | ----
Cola de fotocopiadoras 10 0.58 31.01 68.42 | 0.0
Cola de cajas 10 0.79 31.37 67.84 | 0.0
Cola de emabarque 10 97.34 2.66 0.0 | 0.0
Banda de embarque 10 1.61 98.39 0.0 | 0.0
salida 10 100.00 0.0 0.0 | 0.0
Banda de tarimas 10 83.38 16.62 0.0 | 0.0

LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks)

Location Scheduled % % % % % %
Name Hours Operation Setup Idle Waiting Blocked Down
--------------- --------- --------- ----- ----- ------- ------- ----
Mesa de trabajo 10 75.83 0.0 0.02 24.15 0.0 0.0
Zona de carga 10 18.83 0.0 28.10 53.07 0.0 0.0
embarque 10 37.33 0.0 1.02 61.65 0.0 0.0

RESOURCES

Average Average Average


Number Minutes Minutes Minutes
Resource Scheduled Of Times Per Travel Travel % Blocked
Name Units Hours Used Usage To Use To Park In Travel % Util
-------- ----- --------- - ------- ------- ------- ------- --------- ------
Martha 1 10 227 2.50220 0.14037 0.0 0.0 99.98
Carlos 1 10 336 1.48212 0.29830 0.26900 0.0 99.75

RESOURCE STATES BY PERCENTAGE

%
Resource Scheduled % Travel Travel % Travel % %
Name Hours In Use To Use To Park Idle Down
-------- --------- ------ ------ ------- ---- ----
Martha 10 94.67 5.31 0.0 0.02 0.0
Carlos 10 83.00 16.75 0.04 0.20 0.0

FAILED ARRIVALS
Laboratorio de Simulación Nº 5
62
_______________________________________________________________________________________

Entity Location Total


Name Name Failed
------------- ---------------------- ------
fotocopiadora Cola de fotocopiadoras 82
caja vacia Cola de cajas 82
tarima vacia Banda de tarimas 0

ENTITY ACTIVITY

Average Average Average Average Average


Current Minutes Minutes Minutes Minutes Minutes
Entity Total Quantity In In Move Wait For In
Name Exits In System System Logic Res, etc. Operation Blocked
------------- ----- - -------- -------- ------- --------- --------- -------
fotocopiadora 114 5 23.61863 0.0 18.28257 0.13300 5.20305
caja vacia 0 6 - - - - -
caja llena 112 1 36.66080 0.0 20.19880 6.64100 9.82100
tarima vacia 0 2 - - - - -
tarima llena 0 1 - - - - -

ENTITY STATES BY PERCENTAGE

% %
Entity In Move Wait For % %
Name Logic Res, etc. In Operation Blocked
------------- ------- --------- ------------ -------
fotocopiadora 0.0 77.41 0.56 22.03
caja vacia - - - -
caja llena 0.0 55.10 18.11 26.79
tarima vacia - - - -
tarima llena - - - -

Interpretación de resultados:

¿ Qué tan efectivos son los recursos ? (Examinar los recursos en el reporte gene-
ral y en las gráficas de estado para el uso y los estados posibles de un recurso)

¿ Qué nivel de detalle será necesario en un modelo ? (Reflexionar sobre la si-


guiente afirmación: “Una mayor complejidad no necesariamente añade mayores
beneficios”)

No olvide grabar este modelo como "PRAC_05.MOD"


Laboratorio de Simulación Nº 6
63
_______________________________________________________________________________________

MODULO 3: Prácticas #6, #7 y #8.


(Las prácticas #6 y #7 permiten comparar el efecto que sobre un sistema tiene la aleatoriedad en los
tiempos de servicio. En el sistema de la práctica #6 introduce con ProModel la creación de atributos, y la
la forma de programar en ProModel lógicas mas complejas para producir enrutamientos múltiples. En la
práctica #6 los tiempos de servicio son determinísticos mientras que en la práctica #7 para el mismo
sistema se utilizan tiempos aleatorios que siguen distribuciones normales, lo que permite analizar el
efecto de ése cambio, además esa práctica enseña la forma de registrar el tiempo de ciclo de una enti-
dad siendo procesada.
La práctica #8 adiciona a la práctica #7 intervalos de tiempos aleatorios de paradas de máquinas para su
mantenimiento preventivo y la adición, al sistema de la práctica #7, de recursos dinámicos que siguen
determinado horario de trabajo, lo cual permite también estudiar el efecto de esos cambios.

2.6 PRÁCTICA # 6

CONCEPTUALIZACIÓN:

Atributos:
Son entes similares a las variables, pero están ligados a entidades y estaciones
específicas, y usualmente contienen información de esa entidad o estación. Los
atributos pueden ser números enteros o reales, y se definen siguiendo el orden
Build / Attributes.

Para entender mejor el concepto de atributo, y a manera de ejemplo, considere-


mos la siguiente situación: Suponga que unos clientes llegan a un banco para so-
licitar uno de tres servicios: (1) hacer depósitos o retiros, (2) abrir o cancelar una
cuenta, y (3) solicitar un crédito hipotecario. El 90% de los clientes va directamen-
te a un “cajero” para realizar depósitos o retiros, el 6% desea abrir o cancelar una
cuenta, ésto se hace en “información” y el 4% restante desea solicitar un présta-
mo hipotecario, lo que se hace ante el “gerente”

En lugar de modelar esta situación con tres entidades diferentes (tres clientes
diferentes), se puede utilizar una sola entidad (un mismo cliente) a la cual se le
«pega» un atributo que represente el tipo de servicio solicitado. Utilizaremos
entonces el atributo «Tipo» al cual se le asignan los valores 1, 2, o 3, que apa-
recerán en el modelo de acuerdo a una distribución probabilística definida por
el usuario (usted), y que llamaremos, por ejemplo, Distrib.
A manera de ejemplo (No es para que Ud. lo modele). En el campo
«Operation» de la estación en la cual se encuentra el cliente deberían aparecer
las siguientes instrucciones:

Tipo=Distrib()
If Tipo=1 Then
Route 1
Else If Tipo=2 Then
Route 2
Else Route 3
Laboratorio de Simulación Nº 6
64
_______________________________________________________________________________________

La primera instrucción Tipo=Distrib(), estaría asignando al atributo que tiene


como nombre Tipo (y que previamente debe haber sido creado, a través de
Build / Attributes) valores que son especificados en la distribución de probabili-
dad que tiene el nombre distrib (y que también previamente debe haber sido
creada, a través de Build/More Elements/User Distributions).

Además, la lógica anterior selecciona Route 1, Route 2 o Route 3 según


el valor del atributo Tipo y utilizará entonces una de las tres salidas siguientes:
Cajero, Información, Gerente (que deben haber sido definidas en la ventana de
enrutamiento, en bloques diferentes).

Blk Output ... Destination ... Rules ... Move Logic ...
1 Cliente Cajero FIRST 1 Move for 15 sec
2 Cliente Información FIRST 1 Move for 10 sec
3 Cliente Gerente FIRST 1 Move for 15 sec

Así, en éste ejemplo conceptual hay múltiples bloques de enrutamiento


entonces cada línea será ejecutada y la entidad especificada, según su atributo irá
a cada una de las estaciones (los clientes con atributo 1-Tipo=1- irán al Cajero, los
clientes con atributo 2 se dirigirán hacia la Información y los de Tipo=3 hacia el
Gerente). Esto se logra a través de seleccionar (marcar) la opción de Iniciar
un nuevo Bloque (Start New Block) en la caja de dialogo que se abre cuando
se da click en el campo Rules, estando en el registro de la estación de desti-
no (Destination).

Los comandos IF THEN permiten al usuario ejecutar líneas específicas de lógi-


ca basados en ciertas condiciones.
Los comandos BEGIN y END son requeridos si se incluyen varias líneas de
instrucciones para una posibilidad. Si no hay BEGIN y END el modelo solo eje-
cuta la primera línea después del IF-THEN. El comando ELSE permite conti-
nuar listando condiciones específicas. También se puede continuar con ins-
trucciones ELSE IF THEN.

Si ya tiene claro los conceptos anteriores está preparado conceptualmen-


te para modelar la situación que se describe en el enunciado de ésta
práctica. Asegúrese de entender primero la situación que va a ser mode-
lada antes de iniciar su modelaje.

Enunciado de la Práctica Nº 6
Unas Partes (entidades) que llegan a la Cola de Entrada (recuerde como se
modelan las estaciones/Locations del tipo Cola) se mueven o a la Fresadora o
al Torno. Ésto se modelará con un atributo que llamaremos Clase, con la
siguiente convención: Si el atributo Clase es igual a 1 la Parte se enrutará a la
Laboratorio de Simulación Nº 6
65
_______________________________________________________________________________________

Fresadora y si es igual a 2 se enrutará al Torno. Se sabe que el 65% de las


Partes deben ir a la Fresadora y el resto al Torno.

De la Fresadora o del Torno las Partes pasan a la Cola de Inspección. Al


final de esta cola se debe seguir la siguiente lógica: las Partes van a la Salida
excepto las que en su orden de llegada tienen múltiplo de cinco (o sea que las
Partes número 1, 2, 3, y 4 van a la Salida, la Parte número 5 va a Inspección,
las Partes 6, 7, 8 y 9 van a la Salida, la Parte número 10 va a Inspección, y
así sucesivamente); es decir 1/5 parte van a ser inspeccionadas equivalentes
al 20%. Se sabe además que de las Partes inspeccionadas, el 30 % deben ser
reprocesadas, o sea, deben regresar a la Cola de Entrada.
El pantallazo siguiente ejemplifica la ubicación de las estaciones:

Para modelar la situación arriba descrita realice los siguientes pasos:

1. CREACIÓN DE UNA DISTRIBUCIÓN PROBABILÍSTICA


Esta distribución probabilística (que se modela como una Distribución de Usua-
rio) pretende repartir las Partes que llegan al sistema aleatoriamente hacia la
Fresadora o hacia el Torno (con porcentajes respectivos de 65% y 35%).

Esta distribución probabilística se llamará «Distribuc», tendrá los siguientes


valores
Laboratorio de Simulación Nº 6
66
_______________________________________________________________________________________

PORCENTAJE VALOR
65 1
35 2

Para crear la distribución con los valores anteriores:


1) cree el nombre de la distribución en el campo ID, como de
tipo (Type) discreto (Discrete) a través de ( Build / More
Elements / User Distributions)
2) luego dé click en el campo Table para que pueda definir
los valores y la probabilidad de cada valor (porcentualmen-
te por ejemplo)
Como guía observe los siguientes pantallazos:

Observe que la tabla anterior no es acumulativa, y que los valores que tomará
el atributo son discretos. (El funcionamiento interno en el computador es así:
Cada vez que se active esta distribución se genera aleatoriamente por un pro-
ceso de muestreo llamado MonteCarlo un valor para el atributo de 1 con pro-
babilidad .65 o de 2 con probabilidad .35. Este atributo se le «pega» como una
etiqueta a la Pieza (entidad llamada Parte) en el momento de su llegada, y así,
al final de la Cola de Entrada las Piezas (Parte) se repartirán hacia la Fresado-
ra o hacia el Torno de acuerdo al enunciado.
2. MÓDULO DE ESTACIONES:
Cree las siguientes estaciones:
Estaciones Capacidad
Cola_Entrada infinita
Fresadora 1
Torno 1
Cola_Inspeccion infinita
Inspeccion 1
Salida 1
Laboratorio de Simulación Nº 6
67
_______________________________________________________________________________________

Nota: Coloque como dimensiones de cada una de las colas las siguientes:
Longitud (length): 20 metros

3. ATRIBUTOS:
Cree el siguiente atributo, como se explicó en la conceptualización.
ID Type Classification
Clase Entero Ent

4. MÓDULO DE ENTIDADES
Cree la siguiente entidad:
Entidad
Parte

Nota: Especifique las características de la entidad así:

Ancho (width):1.7143 metros


Longitud (length): 0.7143
Velocidad (Speed): 150 metros por minuto

5. MÓDULO DE LLEGADAS:
Entrar por Build/Arrivals y consignar la información sobre las llegadas asi:
Enti- Estación Cantidad Primera Ocurrencias Frecuencia Logic
dad vez
Parte Co- 1 0 Inf 3 Cla-
la_entrada se=Distribu
c

La frecuencia 3 está indicando que una parte llega cada 3 minutos a la cola de
entrada En el campo “Logic” (en el momento de la llegada de la Parte a la
estación Cola_entrada) se le asigna a cada Parte en el atributo clase (un 1
o un 2) de acuerdo con la distribución (Distribuc) dada por el usuario en el pa-
so 1-Creación de una Distribución Probabilística (65% de las veces un 1 y 35%
de las veces un 2).

6. MÓDULO DE VARIABLES:
Cree las siguientes variables de tipo entero. Entrar al modulo de definición de
variables por Build/Variables(global).

ID Type
Contador_separacion Integer
Contador_rechazos Integer
Laboratorio de Simulación Nº 6
68
_______________________________________________________________________________________

Nota_1:
La variable "Contador_separacion" se manejará para controlar la exigencia del
enunciado en el sentido de que las Piezas numeradas con múltiplos de cinco
deben ir a la estación Inspección, y las otras deben ir a la estación Salida.

Nota_2:
La variable "Contador_rechazos" debe ser utilizada para mostrar las partes que
se rechazan en la Inspección y que deben ser reprocesadas (Ud. debe colocar
las instrucciones donde correspondan en el módulo de procesos).

7. MÓDULO DE PROCESAMIENTO

Entidad Estación Operación Salida Destino Rule Move Logic


Parte Cola_Entrada Aquí insertar Parte Fresadora
lógica apropiada
Parte Torno
Parte Fresadora 3 min Parte Cola_Inspección
Parte Torno 4 min Parte Cola_Inspección
Parte Co- Aquí insertar Parte Salida
lógica apropiada
la_Inspección
Parte Inspección
Parte Inspección 1 min Parte Salida Prob .70
Parte Cola_Entrada Prob .30 Incrementar la
variable apropiada
Parte Salida Parte EXIT

En el campo Operación de la Cola_Entrada debe ir la lógica de enrutamien-


to de acuerdo con el atributo (por ej: if clase = 1 then Route 1 else Route 2). Los
destinos Fresadora y Torno deben ser creados como bloques independien-
tes, Fresadora como bloque 1 y Torno como bloque 2 (releer en la concep-
tualización al comienzo de ésta práctica de como se crean múltiples bloques
de enrutamiento-“ (Esto se logra a través de seleccionar (marcar) la opción de Iniciar un nuevo Blo-
que (Start New Block) en la caja de dialogo que se abre cuando se da click en el campo Rules, estando en el
registro de la estación de destino (Destination)”.

En el campo de Operación de la Cola_Inspección debe incluirse la lógica que


enviará la Parte cuya numeración sea múltiplo de cinco a la estación Inspec-
ción y las otras cuatro a la estación Salida. Esta lógica aparece a continuación
(Utilizar el constructor a través de ícono con el martillito buscar la instrucción
IF THEN ELSE, llenar los campos y luego apropiadamente con el contructor ir
incluyendo las instrucciones BEGIN y END). El uso del contructor le garanti-
zará que los corchetes necesarios sean colocados correctamente en las
siguientes instrucciones:
Laboratorio de Simulación Nº 6
69
_______________________________________________________________________________________

Nota: No olvidar colocar los corchetes que las instrucciones anteriores requie-
ren
No olvidar colocar los contadores de manera apropiada :Contador_rechazos
en el enrutamiento a la Cola_Entrada y Contador_separación en la Co-
la_Inspección.

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 6
70
_______________________________________________________________________________________
Laboratorio de Simulación Nº 6
71
_______________________________________________________________________________________

En este momento grabar con el nombre «PRAC_06.MOD».


Actividades
1. Correr el modelo, y analizar los resultados.
2. Explicar en que momentos hay utilización del método montecarlo
3. Analizar con el profesor el manejo de las semillas.
Laboratorio de Simulación Nº 7 72
_______________________________________________________________________________________

2.7 PRÁCTICA # 7
En la práctica No. 6 los tiempos de servicio son determinístiocos, mientras que en ésta práctica, para el mismo siste-
ma, se utilizan tiempos aleatorios que siguen distribuciones normales, lo que permite evaluar el efecto de este cam-
bio. Además, esta práctica introduce la forma de hacerle seguimiento a los tiempos de ciclo de cada una de las enti-
dades que se están procesando en un sistema mediante el uso de las funciones CLOCK() y LOG.

CONCEPTUALIZACIÓN:

Distribuciones Estadísticas:
Se utilizan para simular los tiempos de operación y los tiempos de movi-
miento con mayor realidad, creando la aleatoriedad requerida por el mundo real.
La escogencia de una distribución es una tarea difícil, que implica conoci-
miento del sistema ha ser modelado y conocimiento de la teoría matemática de la
estadística,(Percepción gráfica de las distribuciones estándares mas conocidas;
Pruebas de bondad de Ajuste; Estimación de parámetros), sin contar con el traba-
jo logístico de recolección de información.

Funciones CLOCK() y LOG:

Permiten hacer el seguimiento de eventos en el tiempo dentro de un modelo.

CLOCK(), es una función que devuelve el tiempo transcurrido en la simulación.


Esta función regresa un número real, por lo tanto los atributos y/o variables que
reciban el valor generado por ésta función deben de ser de tipo real.

LOG, es una función que resta del tiempo corriente de la simulación el valor
guardado en otra <expresión> y almacena el resultado de ésta resta en un ar-
chivo de texto llamado <texto>.LAP.
La sintaxis es como sigue:

LOG<texto>, <expresión>

Por ejemplo, si se guarda en el atributo tiempo_de_entrada el momento en


que una entidad entra en una estación dada, mediante la utilización de la fun-
ción CLOCK(), asi: tiempo_de_entrada= Clock(), y luego ésta expresión
(tiempo_de_entrada) se coloca en la función LOG, y se define también en
ella, como archivo de texto “Tiempo de Ciclo”, entonces, la función:

LOG “Tiempo de Ciclo”, tiempo_de_entrada, resta el valor guardado en el


atributo tiempo_de_entrada del tiempo corriente de la simulación y el resultado
de ésta resta, lo almacena en el archivo de texto llamado “Tiempo de Ciclo”.

En el siguiente ejercicio utilizaremos estas funciones para calcular el tiempo de


ciclo promedio que las partes gastan en el sistema.
Laboratorio de Simulación Nº 7 73
_______________________________________________________________________________________

Nota especial:
Entrando por Simulation / Options aparecen varias opciones, de las cua-
les merece destacar por ahora:

Number of replications: Cada replicación dará diferentes resultados, ya que se


utilizarán diferentes semillas (ver la unidad VI de la guía de fundamentos teóri-
cos).

Warmup Hours: Corresponde al tiempo de estabilización que algunos modelos


requieren, si aquí se entra algún valor de tiempo, la simulación no calcula es-
tadísticas sino a partir de ese tiempo. (Ver Unidades VI y VII de la guía teórica,
sobre simulaciones terminantes, simulaciones no terminantes y períodos de
calentamiento)

Enunciado de la Práctica Nº 7

En el modelo anterior (Práctica #6) se desea agregar distribuciones estadísti-


cas a los tiempos de proceso, e investigar las entidades en el sistema (partes)
calculando los tiempos de ciclo.

Entonces, efectuar los siguientes cambios:

1. MÓDULO DE ATRIBUTOS:

Agregar el atributo “tiempo_entrada”, tipo “real”.

Nota: para recordar como se crean los atributos, ver la conceptualización de la


práctica anterior #6.
Nota: En el campo Classification de la tabla de registro de Atributos seleccio-
nar Entity

2. MÓDULO DE PROCESOS:
Los tiempos de operación ya no serán valores constantes sino variables aleato-
rias que siguen una distribución de probabilidad teórica (por ejemplo en el caso
de ésta práctica tiempos de operación normalmente distribuidas):

Entidad Estación Operación


Parte Fresadora N(3,.1)
Parte Torno N(4,.1)
Parte Inspección N(1,.1)
Laboratorio de Simulación Nº 7 74
_______________________________________________________________________________________

Para construir el generador de variables normal sobre la práctica Nº 6 ( por


ejemplo: N(3, 0.1) ) siga los siguientes pasos:
Activar el registro correspondiente, click en el campo «Operation», borrar el
anterior WAIT, click en el botón «Build», escoger WAIT, click en «Build Expre-
sion», click en «Distribution Functions», click en «Normal», click en el valor de
la media (3), click en el botón «Std Deviation», click en el valor de la desviación
estándar, (0.1), click en el botón «Return», click en el botón «Paste».

Nota: El tiempo de la operación quedará como N(3,.1) - para el caso de la fre-


sadora - posteriormente, al correr la simulación el paquete pedirá confirmación
para el WAIT implícito, y al final tendremos WAIT N(3,.1).
Nota: Construir los demás generadores de igual forma

Cuando la Parte entre a la cola de entrada pegar a cada entidad la hora de


entrada con el comando CLOCK().
Ésto se hace introduciendo en el campo “Operation” del registro “Parte” a la
“Cola_Entrada” la siguiente instrucción:

tiempo_entrada = CLOCK(MIN)

Nota: Esto se hace haciendo click en el ícono del martillo, dando luego click
en el campo Build Expressions, luego señalando atributos (Attributes) en la
ventana de elemento lógicos (logic Elements), seleccionar el atributo tiem-
po_entrada que aparece a la derecha de la ventana del constructor lógico, dar
un espacio en blanco, luego hacer click en el signo =, después en la ventana
de los elementos lógicos señalar la opción de todas las funciones (All Func-
tions) y buscar la función CLOCK, colocarle como unidad de tiempo MIN y fi-
nalmente Return y Paste.

De esa manera registramos la hora del reloj cuando la entidad pasa por esta
lógica, o sea, cuando la entidad entra al sistema. No olvidar en ese mismo
campo de operación (como en la práctica #6) también incluir la lógica de enru-
tamiento (con los corchetes necesarios) de acuerdo con el atributo ( IF clase =
1 then Route 1 else Route 2).

Recordar que las entidades ya llegan etiquetadas ya que el atributo les fue co-
locado en el campo de lógica (Logic) del modulo de llegadas, en el cual debe
aparecer: Clase = Distribuc() (ver en la práctica Nº 6 anterior, el numeral 5.
MODULO DE LLEGADAS).

Posteriormente implementar una bitácora a la hora de salida (en la estación


Salida) utilizando el mismo atributo (tiempo_entrada) y la función LOG.
Ésto se hace colocando al final del procesamiento por donde pasan las entida-
des (En Salida, cuando el output es EXIT) la siguiente instrucción:
Laboratorio de Simulación Nº 7 75
_______________________________________________________________________________________

LOG “Tiempo de Ciclo”, tiempo_entrada

Nota: para construir la anterior expresión usando el icono del martillo, en el


constructor lógico señalar como categoría “All Statments”, luego buscar la fun-
ción LOG, en su campo “String” digitar “Tiempo de Ciclo” y en el campo “Value”
debe quedar el atributo “tiempo_entrada” (éste último se encuentra señalando
la categoría “Attributes” en la caja de “Logic elements”) y finalmente terminar
haciendo “click” en el campo “Paste”.

Como se dijo en la CONCEPTUALIZACIÓN- FUNCIONES CLOCK() y LOG, la


función LOG resta del valor del reloj en el momento de la salida del sistema de
una entidad el valor del reloj que se le asignó a la entidad al momento de en-
trar al sistema (tiempo_entrada). Lo anterior da como resultado el tiempo du-
rante el cual la entidad estuvo en el sistema (llamado tiempo de ciclo).

Los diferentes tiempos de ciclo se almacenarán en un archivo tipo texto llama-


do «Tiempo de [Link]». De los tiempos de ciclo podemos obtener conclusio-
nes, analizando el reporte general de salida (el reporte estadístico), en la sec-
ción de bitácoras (Sección al final del reporte encabezada como LOGS).

Los tiempos individuales pueden ser graficados utilizando las gráficas de series
de tiempos (History Plot). Estando en el Reporte General de Estadísticas dar
click en el octavo botón que activa los graficos de tiempo “Choose Statistics
for Plot”

En este caso, ¿Cuál es el máximo ? ¿Cuál es el mínimo ? ¿Cuál es el


promedio ? ¿En qué rango se mueve ese valor ? ¿Cómo se puede ex-
plicar la variabilidad de este parámetro ?

No olvide grabar este modelo como "PRAC_07.MOD"

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 7 76
_______________________________________________________________________________________
Laboratorio de Simulación Nº 7 77
_______________________________________________________________________________________
Laboratorio de Simulación Nº 8
78
_______________________________________________________________________________________

2.8 PRÁCTICA # 8
Esta práctica introduce la forma de simular tiempos en los cuales la operación de una máquina (estación)
debe ser detenida por ejemplo para el mantenimiento preventivo de ella. También es presentada la forma de
modelar los turnos de trabajo de una empresa y el despliegue de textos y expresiones numéricas en puntos
específicos durante la ejecución de un modelo (comando DISPLAY)

CONCEPTUALIZACIÓN:

A. Tiempos de Parada (Down Times = DT):

Se utilizan para simular tiempos durante los cuales la operación de las máquinas
debe ser detenida por alguna razón predeterminada (por ejemplo, el mantenimien-
to preventivo de la maquinaria se puede programar en intervalos regulares de
acuerdo a horario preestablecido).

Estando en el módulo de Estaciones (Build / Locations columna DT’s -por Down


Times-), al dar click en el botón DTs... aparecen las siguientes alternativas:

• Clock = Pausa por Reloj, cuando la parada se inicia según horario preesta-
blecido (Ej: a las 9:15 a.m. hay descanso general en la fábrica)

• Entry = Pausa por Número de operaciones realizadas (Ej: cada 200 huecos
se debe cambiar la broca de un taladro)

• Usage = Pausa por Utilización efectiva (Ej: siempre que un camión recorra
4.000 Km. se debe hacer un cambio de aceite, o cada que transcurran 2
horas de trabajo se debe hacer un mantenimiento preventivo)

• Setup = Pausa por tiempo de preparación de una máquina antes de que se


utilice por primera vez, o cada que llegue una entidad diferente a hacer algo
diferente en la estación.

La lógica (campo Logic…, que se encuentra entrando en el modulo (Build / Loca-


tions, y dando click en el botón DTs... ) se ejecuta en el momento de la pausa y
puede incluir casi cualquier comando de ProModel, como capturar recursos, co-
mando GET, procesos, comando WAIT y la asignación de valores a variables por
mencionar algunos (por ejemplo en el momento de un “Usage downtimes” su lógi-
ca podría ser: GET Operador WAIT N(10,.2) FREE Operador).

B. Turnos (Shifts):
Laboratorio de Simulación Nº 8
79
_______________________________________________________________________________________

ProModel permite dar más realismo a un modelo reflejando los turnos de trabajo
de las empresas. Permite crear horarios de entrada/salida para cualquier recurso
o estación. La especificación de los turnos requiere de tres pasos generales: Defi-
nición, Asignación y Ejecución.

La Definición de los turnos de trabajo se hace a través de Build / Shifts / Define.


Aparecerá el Editor de turnos (Shift Editor) a través del cual se creará un archivo
(con extensión .sft) donde se define el turno. A continuación se ilustra un panta-
llazo como ejemplo.

En este editor hay dos colores, el azul para tiempo de trabajo (en la gráfica ante-
rior corresponde a las zonas mas oscuras), el rojo para tiempo de descanso. Los
espacios en blanco se consideran como tiempo no disponible.

Se utiliza el procedimiento de “click” y luego “arrastrar el puntero” (en la barra


apropiada del día) hasta la hora del día pertinente. Con Edit / Duplicate se puede
duplicar la programación de un día. Además, si se da click en la programación de
la pausa (el ícono con la taza de café) se activan los tiempos de comienzo y finali-
zación, los cuales se pueden modificar.

La Asignación de los turnos de trabajo se hace a través de Build / Shifts / Assign.


Los turnos se asignan a las estaciones o a los recursos, haciendo click en la co-
lumna de estaciones (Locations) o recursos (Resources). En la ventana de Shift
Assignments se presentará el cuadro de diálogo para seleccionar los recursos y
estaciones que estarán sujetos a ese turno (ver como ejemplo el siguiente panta-
llazo).
Laboratorio de Simulación Nº 8
80
_______________________________________________________________________________________

Para la ejecución de un modelo con turnos, en Simulation / Options dar click en


“Define Run Length by Calendar Date” y entrar las fechas y horas apropiadas.

C. Comando DISPLAY

Este comando permite hacer una pausa en la simulación y desplegar textos y ex-
presiones numéricas en puntos específicos durante la ejecución de un modelo.
Este comando es válido en cualquier lógica. El mensaje que se quiere presentar
debe ir entre comillas. Para que la simulación se reanude es necesario dar click
en «Aceptar», en el cuadro que aparece en la pausa.

ENUNCIADO DE LA PRÁCTICA Nº 8

Para observar el efecto que la tiene la inclusión de tiempos de parada (downtimes)


en las estaciones, en el modelo anterior (práctica Nº 7) realizar lo siguiente:

a) Correrlo y observar las estadísticas de la fresadora y del torno, para que ésta
salidas le sirvan como referencia, cuando se corra el mismo modelo, adicionándo-
les tiempos de parada a éstas mismas estaciones.

b) Ahora si, agrege a las estaciones los tiempos de parada. Entrar los siguientes
tiempos de parada tipo “ Usage “, para lo cual entrar por: Build / Locations y click
en la columna DT’s hace que aparezca la caja de diálogo para entrar la informa-
ción sobre downtimes por uso. Con éste mantenimiento preventivo correr nueva-
mente, observar y comparar las estadísticas de la fresadora y del torno.

En la siguiente tabla está resumida la información sobre los tiempos de parada


para las estaciones fresadora y torno y parte de la lógica a ser ejecutada durante
el tiempo de parada.

Estación Frequency First time Priority Logic


Fresadora 120 120 99 N(10,.2)
Torno 100 100 99 N(10,.2)

Los siguientes pantallazos muestran en detalle la información de tiempo de uso


para la estación fresadora, y detalles sobre la lógica (campo Logic…) a ser ejecu-
Laboratorio de Simulación Nº 8
81
_______________________________________________________________________________________

tada durante ésta parada y que será descrita mas adelante en la segunda parte
de ésta práctica.

Frequency: Es el tiempo de uso entre los downtimes


First time: Es el tiempo en uso antes de la ocurrencia del primer downtime (es
decir se usa la Fresadora 120 minutos antes de que se de el primer downtime.
Priority: La prioridad del downtime (es entre 0 y 999). La prioridad por defecto es
99 la cual es la prioridad mas alta no preemtitiva. Generalmente los downtime por
uso tienden a ser preemtitivos 2 y deberían tener valores de prioridad mayores a
100.
Logic: En este campo se coloca cualquier enunciado lógico a ser procesado
cuando ocurra el downtime. Típicamente éste campo contiene expresiones de
tiempo representando la duración del downtime. Por ejemplo la expresión USE M1
for N(2.4, .3) colocada en el campo Logic en el renglón de la Fresadora indicaría
que el recurso M1 (persona de mantenimiento) será usado para mantenimiento de
ella durante los downtime que se dan cada 120 minutos. El tiempo de reparación
está normalmente distribuído con una media de 10 minutos y una desviación
estándar de 0.2 minutos.

2
Preemtitivos: Es el acto de reemplazar una actividad (downtime, entidad ) que esté usando una estación con
otra actividad de una prioridad preemtitiva mas alta. Para las estaciones ProModel coloca la actividad que esta
siendo reemplazada (una entidad o un downtime) en una lista particular para esa estación hasta que pueda re
continuar la actividad en esa estación particular
Laboratorio de Simulación Nº 8
82
_______________________________________________________________________________________

Nota_1: No olvidar colocar el comando WAIT para acompañar el tiempo de


la reparación.
Nota_2: Los downtime por uso (Usage) no son acumulativos. Por ejem-
plo, si un downtime no ocurre debido a que la prioridad de las entidades que están
siendo procesadas sean dos niveles superiores a la prioridad del downtime pro-
gramado, solo el primer downtime se ejecutará después de procesar las entidades
que tengan mayor prioridad, todos los demás downtime son ignorados.

Para prepararnos para trabajar con turnos de trabajo, realizar lo que sigue:

1. Crear una nueva estación (Area_descanso, con capacidad 1) que será


utilizada por los recursos dinámicos cuando no sean utilizados.
Estación
Area_descanso

2. Crear la red de rutas para los recursos dinámicos (Ver diagrama mas abajo
de la red con 4 nodos).

3. Crear interfaces entre los nodos de la red al Area de descanso, a la Fresadora


y al Torno. (Ver diagrama mas abajo).

A continuación se presenta el diagrama de red e interfaces:


Laboratorio de Simulación Nº 8
83
_______________________________________________________________________________________

Area_descanso N1

Cola_Inspección

Fresadora N2

N3
(Red1) Torno

N4

Finalmente el modelo debe quedar como se muestra en el siguiente fragmento de


pantalla
Laboratorio de Simulación Nº 8
84
_______________________________________________________________________________________

4. Crear el recurso que va a ir al nodo 1, nodo 2, nodo 3 y nodo 4.

Recordar (releer) Conceptualización sobre Recursos en la práctica #5. Una vez


se está en la ventana de Recursos, un click sobre la columna de especificaciones
del recurso (Spec..) permite abrir la ventana que contiene la información para de-
finir las características operativas del recurso como: Path Network, Home, Off
Shift, Break, Motion

a) Path Network: El nombre de la red a lo largo de la cual se mueve el recur-


so.
b) Home: Si al recurso le ha sido asignado una red, Home es el nombre del
nodo en el cual el recurso es posicionado al comienzo de la simulación.
c) Off Shift: Si al recurso le ha sido asignado una red y un turno (Shift) éste
es el nodo al cual el recurso va cuando no está de turno (cuando termina el
turno).
d) Break: Si al recurso le ha sido asignado una red y un turno (Shift) éste es
el nodo al cual el recurso va cuando está de descanso (Break).
Asignar los valores como aparecen en la pantalla anterior.
Nota: No olvidar marcar la casilla “volver a casa si está ocioso” (Return Home if
idle ).

5. Definir turno de trabajo diario, así:


Laboratorio de Simulación Nº 8
85
_______________________________________________________________________________________

Horario: 8 a.m. – 5 p.m.


Descansos: 10:00-10:15 12:00-13:00 15:00-15:15
Días Lunes, Martes, Miércoles, Jueves, Viernes
Grabar como: [Link] (en h:)
Nota: releer la sección Conceptualización de Turnos (Shifts)

Nota: una vez creado este turno debe grabarse en alguna parte como: [Link],
ya que al momento de asignarse a algún recurso (ver paso siguiente) debe darse
la dirección de éste archivo.

6. Asignar el turno de trabajo así (releer al inicio de ésta práctica la sección


Conceptualización-Asignación de turnos).

Build /Shifts/ Assign permite entrar a la ventana de asignación de turnos (Shift As-
signments.

Locations: Las estaciones fresadora y torno. (Observe los botones que permiten
seleccionar algunos items de una lista ya establecida).

Resources: El recurso operador.

Shift files: Seleccionar el archivo [Link] (debió haberse gravado en alguna par-
te cuando se creo en el paso anterior).
Laboratorio de Simulación Nº 8
86
_______________________________________________________________________________________

Priorities: Aceptar el 99,99,99,99.


El primer campo establece la prioridad para terminar un turno (Priority for
Ending Shift). El 99 es la prioridad para terminar el turno de manera normal. Una
entidad o un downtime debe tener un nivel de prioridad mayor para evitar que la
estación o el recurso finalize el turno en el momento originalmente establecido
(debe postergar su salida).

El segundo campo establece la prioridad para que la estación o el recurso


permanezca fuera de turno (Off Shift Priority) una entidad o un downtime deben
tener un nivel de prioridad mas alto para obligar a que la estación o el recurso re-
tornen a trabajo antes del tiempo originalmente establecido para ello (debe ade-
lantar su entrada).
El tercer campo establece la prioridad para ir de descanso (Priority for Star-
ting Break). Una entidad o un downtime debe tener un nivel de prioridad mayor
para evitar que la estación o el recurso vaya a descanso en el momento original-
mente establecido para ello (debe postergarlo).
El cuarto campo establece la prioridad para que la estación o el recurso
permanezca de descanso ( Break Priority). Una entidad o un downtime deben te-
ner un nivel de prioridad mas alto para obligar a que la estación o el recurso retor-
nen al trabajo antes del tiempo originalmente establecido para ello (debe disminuir
su período de descanso).

Logic: Dejar en blanco

7. Ajuste la lógica de Procesamiento.


En la lógica de tiempos de falla en las estaciones (DTs...) utilizar los comandos
GET / FREE para capturar el recurso Operador para el mantenimiento, en ambas
máquinas.
Nota_1: Entre GET y FREE debe quedar el tiempo de utilización. Vea el caso del
torno como ejemplo:
Nota_2: Utilizar el comando DISPLAY para notificar al usuario cuando el operador
comience el correspondiente mantenimiento preventivo.

8. Ejecución del Modelo.


Laboratorio de Simulación Nº 8
87
_______________________________________________________________________________________

Para ejecutar este modelo que contiene turnos, por Simulation / Options hacer que
este modelo corra únicamente por un día de 8 a.m. a 5:00 p.m.

Nota_1: Defina la longitud de la corrida de la simulación por fecha de calendario


(Calendar Date).

Nota_2: Entrar igual la fecha de inicio del calentamiento e inicio de la simulación,


(Warmup Start y Sim. Begin).

No olvide grabar este modelo como "PRAC_08.MOD, luego correr el modelo y


comparar los resultados con los obtenidos en la práctica Nº 7anterior.

Para referencia del lector y facilitar la comprobación de que el modelo haya sido
bien programado a continuación se presenta el código correspondiente a este
modelo. Quien lo haya modelado en ProModel podrá verificarlo accediendo al
código generado a traves de “File -> View Text” que se encuentra en la parte su-
perior de la pantalla principal.
Laboratorio de Simulación Nº 8
88
_______________________________________________________________________________________
Laboratorio de Simulación Nº 8
89
_______________________________________________________________________________________
Laboratorios de Simulación Nº 9 y N° 10
90
_______________________________________________________________________________________

2.9 PRÁCTICAS # 9 y # 10

Las oficinas de una institución de educación informal, en la época de matrículas,


tienen la siguiente distribución:

SALIDA ENTRADA

SALA DE OFICINA
ESPERA PRIMIPAROS

RECEPCION
OFICINA
LINEA DE ANTIGUOS
RECEPCION

RECTORIA

OFICINA
REPITENTES

Esta práctica pretende hacer un repaso de todo lo estudiado, a la vez que se


aprenderán nuevos conceptos, con el objetivo de acreditar un conocimiento a nivel
básico del paquete de ProModel. Vamos a elaborar el modelo en diferentes eta-
pas.

2.9.1 PRIMERA ETAPA:

Seguir los siguientes pasos:


Laboratorios de Simulación Nº 9 y N° 10
91
_______________________________________________________________________________________

Entrar al Módulo de Información General, cambiar unidades de distancia a metros


y escoger una biblioteca gráfica apropiada . Escriba un título apropiado.

Antes de entrar al Módulo de Estaciones, vamos a importar los planos del edificio
de esta institución de educación. Con otra aplicación (por ejemplo Autocad ó
“Paint”) se han elaborado dos archivos (llamados Oficina1 y Oficina2).

Para ello, click en Build/Background Graphics/Behind Grid. Luego en Edit/Import Grap-


hic/Oficina1 (Nota: es posible que tenga que navegar para encontrar el archivo
Oficina1, debe conocer la ruta a la carpeta donde fue guardado).

Usted observará abajo en la ventana del “Layout” parte del diseño que necesita-
mos. Importe ahora el archivo Oficina2. Siempre que se importe un gráfico que-
dará colocado en la esquina superior izquierda de la ventana de “Layout” , por tan-
to utilice el ratón para arrastrar el gráfico importado al lugar de la Oficina de Primí-
paros. Repita para la Oficina de Antiguos y la Oficina de Repitentes.

Finalmente deberá tener un “layout” semejante al siguiente:

Ahora que tenemos un fondo para nuestra simulación, podemos entrar al Módulo
de Estaciones (“Locations”). En la tabla que aparece a continuación está la infor-
mación necesaria para este módulo. Usted deberá escoger el botón “Región” para
las estaciones de Entrada y Salida. Recuerde que el botón “Región” no coloca
físicamente ningún ícono en el Layout, pero ya tiene incorporado el “Lugar de la
Entidad”. Edite la Línea de Recepción en tal forma que sea una línea, invisible
durante la simulación, longitud de 10 metros, con capacidad de 5. La Sala de Es-
Laboratorios de Simulación Nº 9 y N° 10
92
_______________________________________________________________________________________

pera tendrá 7 sillas repartidas apropiadamente, deberá ser creada con un ícono
que represente a una silla (repetida 7 veces, pero recuerde desactivar botón
NEW) y deberá asignársele un contador que muestre la cantidad de estudiantes
que en su momento estén esperando a ser atendidos. En cada silla coloque un
lugar para la entidad. Para la Recepción, Oficina de primíparos, Oficina de anti-
guos, Oficina de repitentes y Rectoria utilice el ícono de un escritorio que tiene
encima un computador ( ó algun otro icono que parezca apropiado). Coloque
nombres a las estaciones (en color rojo) y lugares para las entidades. Note la ca-
pacidad infinita para las estaciones Entrada y Salida

NAME CAP. UNITS STATS RULES


Entrada Inf 1 Time Series Oldest
Salida Inf 1 Time Series Oldest
Linea_Recep 5 1 Time Series Oldest
Sala_Espera 7 1 Time Series Oldest
Recepcion 1 1 Time Series Oldest
Ofic_Primip 1 1 Time Series Oldest
Ofic_Antig 1 1 Time Series Oldest
Ofic_Repit 1 1 Time Series Oldest
Rectoria 1 1 Time Series Oldest

Para el Módulo de Entidades sólo considerare al estudiante. Deberá quedar así (el
ícono del estudiante debe ser proporcional al tamaño de las sillas):

NAME SPEED (mpm) STATS


Estud 50 Time Series

A continuación, en el Módulo de Procesos, entrar la información que se muestra


mas abajo en la tabla de [Link]. Como Ud. observará, un estudiante en-
tra al sistema a través de la estación Entrada, de allí va a la Línea_Recepción,
desde donde pasa a la estación Recepción. Allí tiene una conversación con una
secretaria. Esta conversación tiene una duración que sigue una distribución Nor-
mal con media 2 minutos y desviación estándar de 0.3 minutos. De allí pasa a la
Sala de Espera, donde toma uno de los 7 asientos disponibles, y donde esperará
hasta que pueda seguir a la siguiente estación. Note que no hay tiempo de espera
en la Sala de Espera. Un 30% de los estudiantes debe pasar a la Oficina de
Primíparos, otro 30% a la Oficina de Antiguos y el restante 40% a la Oficina de
Repitentes. Se muestran los correspondientes tiempos para las diferentes ofici-
nas, los cuales siguen distribuciones normales. De cada oficina el estudiante pasa
a la estación Salida, y de allí sale del sistema por Exit. Note también los corres-
pondientes tiempos constantes que corresponden al movimiento entre estaciones.

ENTITY LOCATION OPERATION Blk OUTPUT DESTINATION RULE MOVE LOGIC


Estud Entrada 1 Estud Linea_Recep FIRST 1 MOVE FOR .5
Estud Linea_Recep 1 Estud Recepcion FIRST 1 MOVE FOR 0
Laboratorios de Simulación Nº 9 y N° 10
93
_______________________________________________________________________________________

Estud Recepcion WAIT N(2,.3) 1 Estud Sala_Espera FIRST 1 MOVE FOR .1


Estud Sala_Espera 1 Estud Ofic_Primip 0.3 MOVE FOR .3
Estud Ofic_Antig 0.3 MOVE FOR .2
Estud Ofic_Repit 0.4 MOVE FOR .3
Estud Ofic_Primip WAIT N(20,5) 1 Estud Salida FIRST 1 MOVE FOR .2
Estud Ofic_Antig WAIT N(15,3) 1 Estud Salida FIRST 1 MOVE FOR .3
Estud Ofic_Repit WAIT N(12,3) 1 Estud Salida FIRST 1 MOVE FOR .4
Estud Salida 1 Estud EXIT FIRST 1

Para el Módulo de Llegadas tener en cuenta lo siguiente: Un estudiante entra al


sistema a través de la estación Entrada, en grupos de uno, el primer estudiante
llega en el tiempo cero de la simulación, se espera que llegarán 50 estudiantes, y
que el tiempo entre llegadas de dos estudiantes consecutivos sigue una distribu-
ción exponencial con una media (valor esperado) de 10 minutos. Por lo tanto, en
el Módulo de Llegadas entrar la siguiente información:

ENTITY LOCATION QTY EACH FIRST TIME OCCURRENCES FREQUENCY


Estud Entrada 1 0 50 E(10)

Al correr la simulación debe observar los siguientes detalles (entre otros):

No se entra ningún tiempo para finalizar la corrida. La simulación terminará en el


momento en que hayan ingresado 50 estudiantes al sistema. Debe entenderse
bien el significado de E(10) en el campo Frecuency. Si el tiempo entre llegadas
fuera constante de 10 minutos, se tardaría unos 490 minutos para que ingresaran
los 50 estudiantes, pero en este caso, el tiempo entre llegadas es variable.
¿Cuánto dura su simulación?

Si un estudiante llega y la cola en la Línea de Recepción está saturada (recuerde


que su capacidad es de 5 estudiantes), debe quedar en espera en la estación de
Entrada (la cual tiene capacidad infinita), pero este estudiante no se retira sin en-
trar al sistema.

La estación de Rectoría no ha sido utilizada aún.

El ícono de la cola no es visible en la simulación.

Los estudiantes toman asiento en las sillas de la Sala de Espera.

Ahora, en el Módulo de Llegadas, cambiar “Frequency” por E(5), correr el modelo


y observar lo que sucede. Después, vuelva a dejar E(10) en el campo de “Fre-
quency”.

2.9.2 SEGUNDA ETAPA:


Laboratorios de Simulación Nº 9 y N° 10
94
_______________________________________________________________________________________

Para esta segunda etapa vamos a agregar una red que llamaremos “Aaa”. A con-
tinuación se muestra un esbozo de ella.

SALIDA ENTRADA
N13 N1
SALA DE N2 OFICINA
ESPERA N11 PRIMIPAROS

N3

N18 RECEPCION
N12 N4 OFICINA
LINEA DE ANTIGUOS
N16 RECEPCION N10 N9
N6 N5
N14

RECTORIA
N7
OFICINA
N15 REPITENTES

N8

N17

El “layout” correspondiente debe ser algo similar al que se muestra en la siguiente


captura de pantalla.
Laboratorios de Simulación Nº 9 y N° 10
95
_______________________________________________________________________________________

Para ello (estando en el módulo de Redes de Rutas), hacer lo siguiente:

Dar doble click al botón “Graphic”, y escoger color rojo y no visible en la simula-
ción. En el campo “Name” entrar la palabra Aaa.

Dar un click en el botón “Type”. Las dos opciones, Non-Passing y Passing, signifi-
can, respectivamente, que las entidades o recursos que circulen por la red deben
hacer cola (o no hacer cola) detrás de otras entidades o recursos. En este caso,
escoger Passing.

Dar un click en el botón T/S. Corresponde a las opciones ‘Time’ y ‘Speed & Dis-
tance’ como base para el movimiento a lo largo de la red. En este caso, escoger
Speed & Distance.

Dar click en el botón “Paths” para activar la ventana en la cual quedarán las rutas
de la red. Quedarán registradas en esta ventana a medida que se vaya creando la
red en el Layout. Al final, deberá quedar así (Nota: sus valores de Distancias pue-
den ser un poco diferentes. Trate de ubicar los Nodos como aparece en el dibujo
anterior. Bi=Bidireccional):
Laboratorios de Simulación Nº 9 y N° 10
96
_______________________________________________________________________________________

PATHS

FROM TO BI DISTANCE
N1 N2 Bi 1.30
N2 N3 Bi 13.30
N2 N4 Bi 12.70
N4 N5 Bi 11.80
N4 N6 Bi 5.00
N6 N7 Bi 10.50
N7 N8 Bi 12.30
N6 N9 Bi 3.90
N9 N10 Bi 5.50
N10 N11 Bi 21.70
N11 N12 Bi 10.90
N12 N10 Bi 16.00
N9 N13 Bi 17.70
N10 N14 Bi 7.30
N14 N12 Bi 10.60
N14 N15 Bi 8.10
N14 N16 Bi 15.00
N16 N17 Bi 26.80
N16 N18 Bi 14.70

Dar click en el botón Interfaces para activar la ventana en la cual quedarán las
interfaces de la red. Quedarán registradas en la correspondiente ventana a medi-
da que se vayan creando sobre el “layout”. Al final, deberá quedar como se mues-
tra en la siguiente tabla de interfaces.

INTERFACES
NODE LOCATION NODE LOCATION
N1 Entrada N8 Ofic_Repit
N13 Salida N10 Linea_Recep
N3 Ofic_Primip N12 Recepcion
N5 Ofic_Antig N11 Sala_Espera

Nota: Tal vez sea más fácil si da click en el botón “Node” y selecciona el nodo co-
rrespondiente, luego click en el botón “Location” y seleccione la estación corres-
pondiente.

Al finalizar este módulo, la correspondiente ventana de edición deberá quedar así:

GRAPHIC NAME TYPE T/S PATHS INTERFACES MAPPING NODES


Aaa Passing Speed & 19 8 0 18
Distance

Vamos a agregar también el recurso llamado Secretaria. Después de entrar al


módulo de Recursos, escoger un ícono apropiado, editarlo para que su tamaño
Laboratorios de Simulación Nº 9 y N° 10
97
_______________________________________________________________________________________

sea proporcional al de los íconos de los gráficos utilizados en el Layout, luego en


el campo “Name” entrar Secre, dar click al botón Specs, y en el cuadro de diálogo
correspondiente asignar la Secre a la Red Aaa, definir el Nodo N12 como Nodo
Home, activar la casilla de regreso a casa si el recurso está ocioso (Return Home
if Idle) y asegurarse de que las velocidades (Empty y Full) sean de 50 mpm.

En esta segunda etapa, en el Módulo de Llegadas, en el campo “Occurrences”


colocar INF. Entonces, para controlar el tiempo que dure la simulación, click en
Simulation/Options, entrar 9 en el campo de horas de simulación. Además, coloque
la precisión del reloj en 0.01.

Deseamos controlar el número de estudiantes que en cualquier momento están


en el sistema, y el número de estudiantes que han sido atendidos (o sea, que han
salido del sistema). Para ello, en el Módulo de Background Graphics, Behind Grid,
entrar en lugares apropiados los textos “Estudiantes en proceso de matrícula” y
“Estudiantes matriculados”. Luego en el módulo de Variables, entrar lo siguiente:

ICON ID TYPE INITIAL VALUE STATS


Yes Dentro Integer 0 Time Series
Yes Matricul Integer 0 Time series

Ahora, revise el Módulo de Procesos para que tenga lo siguiente (analice e inter-
prete la lógica correspondiente):

ENTI- LOCATION OPERATION Blk OUT- DESTINATION RULE MOVE LOGIC


TY PUT
Estud Entrada INC Dentro 1 Estud Linea_Recep FIRST 1 MOVE ON Aaa
Estud Linea_Recep 1 Estud Recepcion FIRST 1 MOVE FOR 0
Estud Recepcion USE Secre 1 Estud Sala_Espera FIRST 1 MOVE ON Aaa
FOR N(2,.3)
Estud Sala_Espera 1 Estud Ofic_Primip 0.3 MOVE WITH Secre
Estud Ofic_Antig 0.3 MOVE WITH Secre
Estud Ofic_Repit 0.4 MOVE WITH Secre
Estud Ofic_Primip WAIT N(.5,.2) 1 Estud Salida FIRST 1 MOVE ON Aaa
FREE Secre
WAIT N(20,5)
Estud Ofic_Antig WAIT N(.5,.2) 1 Estud Salida FIRST 1 MOVE ON Aaa
FREE Secre
WAIT N(15,3)
Estud Ofic_Repit WAIT N(.5,.2) 1 Estud Salida FIRST 1 MOVE ON Aaa
FREE Secre
WAIT N(12,3)
Estud Salida 1 Estud EXIT FIRST 1 DEC Dentro
INC Matricul

Observaciones sobre algunos de los cambios:


Laboratorios de Simulación Nº 9 y N° 10
98
_______________________________________________________________________________________

El comando MOVE ON (válido únicamente en el campo de Move Logic) se utiliza


para mover una entidad a lo largo de una de las rutas de la red de rutas. Por eso,
aparece en varias partes del modelo.

El comando USE captura un recurso. Una vez que ha sido capturado, la entidad lo
utiliza por la cantidad especificada de tiempo, y cuando este tiempo termina, el
recurso es liberado. En este ejemplo es equivalente a las siguientes tres instruc-
ciones: GET Secre, WAIT N(2,.3) y FREE Secre (Nota: USE Secre FOR N(2,.3)
debe ir en un solo renglón).

El comando MOVE WITH (válido únicamente en el campo de Move Logic) se utili-


za para mover una entidad utilizando el recurso designado. Observe en este
ejemplo cómo el estudiante y la secretaria llegan juntos a una de las oficinas, allí
ambos realizan alguna actividad que dura N(.5,.2), tal vez revisando papeles, y
luego la secretaria queda libre. El estudiante tiene en seguida otra espera char-
lando con el Jefe de la Oficina (que no ha sido aún introducido como otro recurso).
Note que, al moverse con la Secretaria, el estudiante necesariamente debe hacer-
lo a través de la red Aaa, por tanto allí no necesita la instrucción MOVE ON (La
Secretaria sólo se puede mover por la Red Aaa).

2.9.3 TERCERA ETAPA:

En esta tercera etapa se debe adicionar lo elementos necesarios para cumplir el


siguiente requerimiento:

No todos los estudiantes que llegan a las tres oficinas (primíparos, antiguos y repi-
tentes) son atendidos plenamente, sino que algunos tienen algunas situaciones
especiales que deben ser resueltas por el Rector, pero ésto sólo se viene a cono-
cer en la oficina respectiva.

Se sabe que el 5% de los primíparos, el 10% de los antiguos y el 15% de los repi-
tentes están en esta situación especial. Como la visita a Rectoría viene después
de la charla en la oficina, utilizaremos un atributo que llamaremos “Especial”, el
cual tendrá dos valores: Uno, cuando el estudiante entra al sistema, donde se su-
pone que no tendrá que ir a rectoría, y Dos, cuando el estudiante es despachado
desde la oficina respectiva a hacer nuevamente cola en la Línea de Recepción,
desde donde pasará a Recepción, y de allí irá, acompañado de la secretaria, a la
Rectoría. En la Rectoría con la secretaria también revisará sus papeles, y después
de ser atendido por el Rector (tiempo uniforme entre 5 y 25 minutos) irá directa-
mente a la Salida.
Laboratorios de Simulación Nº 9 y N° 10
99
_______________________________________________________________________________________

Además, se quiere tener una bitácora (o sea un registro) de los tiempos que re-
quieren los estudiantes dentro del sistema. Para ello utilizaremos otro atributo, que
llamaremos “Ciclo”.

Por tanto:

En el Módulo de Redes de Rutas agregar una interface entre el nodo N15 y la es-
tación Rectoría. Las interfaces deberán, despues de esta adición, quedar así:

INTERFACES
NODE LOCATION
N1 Entrada
N13 Salida
N3 Ofic_Primip
N5 Ofic_Antig
N8 Ofic_Repit
N10 Linea_Recep
N12 Recepcion
N11 Sala_Espera
N15 Rectoria
El Módulo de Atributos deberá quedar así:

ID TYPE CLASSIFICATION
Especial Integer Entity
Ciclo Real Entity

Nota: Los atributos se clasifican en atributos de entidades y atributos de estacio-


nes. En este ejemplo, estos atributos (que son valores numéricos) se “pegan” co-
mo unas etiquetas a los estudiantes. El atributo “Especial” es de tipo entero, ya
que sólo tomará los valores 1 o 2. En el módulo de procesos (que viene a conti-
nuación) se programará la toma de estos valores sin utilizar ninguna distribución
de usuario. Recuerde que el atributo que se utilice para llevar la bitácora de los
tiempos de ciclo debe ser de tipo real.

El módulo de procesos deberá quedar como aparece a continuación. Realice los


cambios pertinentes y reflexione sobre ellos:

ENTI- LOCATION OPERATION Blk OUT- DESTINATION RULE MOVE LOGIC


TY PUT
Estud Entrada INC Dentro 1 Estud Linea_Recep FIRST 1 MOVE ON Aaa
Especial=1
Ciclo=CLOCK()
Estud Linea_Recep 1 Estud Recepcion FIRST 1 MOVE FOR 0
Estud Recepcion USE Secre FOR 1 Estud Sala_Espera FIRST 1 MOVE ON Aaa
N(2,.3)
Estud Sala_Espera IF Especial=2 1 Estud Ofic_Primip 0.3 MOVE WITH Secre
THEN ROUTE 2 Estud Ofic_Antig 0.3 MOVE WITH Secre
ELSE ROUTE 1 Estud Ofic_Repit 0.4 MOVE WITH Secre
2 Estud Rectoria FIRST 1 MOVE WITH Secre
Laboratorios de Simulación Nº 9 y N° 10
100
_______________________________________________________________________________________

Estud Ofic_Primip WAIT N(.5,.2) 1 Estud Salida 0.95 MOVE ON Aaa


FREE Secre
WAIT N(20,5) Estud Linea_Recep 0.05 Especial=2
MOVE ON Aaa
Estud Ofic_Antig WAIT N(.5,.2) 1 Estud Salida 0.90 MOVE ON Aaa
FREE Secre
WAIT N(15,3) Estud Linea_Recep 0.10 Especial=2
MOVE ON Aaa
Estud Ofic_Repit WAIT N(.5,.2) 1 Estud Salida 0.85 MOVE ON Aaa
FREE Secre
WAIT N(12,3) Estud Linea_Recep 0.15 Especial=2
MOVE ON Aaa
Estud Rectoria WAIT N(.5,.2) 1 Estud Salida FIRST 1 MOVE ON Aaa
FREE Secre
WAIT U(15,10)
Estud Salida 1 Estud EXIT FIRST 1 DEC Dentro
INC Matricul
LOG “Ciclo”,Ciclo

Agregue lo necesario para que en la simulación se pueda observar el número de


estudiantes que llegan a Rectoría, y el tiempo que el Rector demora atendiéndo-
los.
Nota: esta parte no está en esta documentada en este laboratorio. Puede imagi-
nar una forma de incluir este requerimiento?

Al finalizar la simulación, revise “completamente” el reporte de salida e interprete


los resultados.

2.9.4 CUARTA ETAPA:

En esta etapa vamos a adicionar algunos conceptos relacionados con los Tiem-
pos de Parada (Downtimes). Un Tiempo de Parada detiene la operación de una
estación o de un recurso. Los Tiempos de Parada pueden representar interrupcio-
nes programadas, tales como turnos de trabajo, descansos o mantenimiento pre-
ventivo programado. También pueden utilizarse para representar interrupciones
aleatorias o no programadas, tales como las fallas en la maquinaria.

En este laboratorio, vamos a suponer que el Rector ha decidido que no atiende


estudiantes (sino que se dedica a otras funciones) de 2 a 2:30 p.m. Para lograr
ésto, estando en el Módulo de Estaciones, activar el registro de Rectoría, y luego
dar click al botón DTs. Del menú allí presentado (Clock, Entry, Usage, Setup) es-
coger Clock.

Llenar la ventana de Tiempos de Parada para la Rectoría tal como aparece a con-
tinuación:
FREQUENCY FIRST TIME PRIORITY SCHEDULED LOGIC DISABLE
24 hr 6 hr 99 Yes WAIT 30 No

El valor de 24 hr en el campo Frequency (el tiempo entre dos paradas sucesivas)


nos dice que la parada se hace diariamente. Note que como la unidad de tiempo
Laboratorios de Simulación Nº 9 y N° 10
101
_______________________________________________________________________________________

escogida en el Módulo de Información General fue el minuto hay que especificar


el cambio de unidad a hr.

En el campo “First Time” se ingresa el tiempo de ocurrencia de la primera parada.


Hay un dato que no se ha presentado hasta ahora y es que el turno de trabajo va
de las 8 a.m. a las 5 p.m. Esta última información se ingresará posteriormente por
el campo “Simulation” y luego “Options”.

En el campo “Priority” aceptar el valor sugerido de 99.

El campo “Scheduled” sugiere por defecto el valor No, pero en nuestro caso va-
mos a entrar “Yes”, ya que el Tiempo de Parada de la Rectoría va a ser conside-
rado como una parada programada. Esto se reflejará en las estadísticas de salida,
ya que las paradas programadas serán deducidas del total de horas programadas
reportadas en las estadísticas de salida, y no serán consideradas en los cálculos
de porcentajes, etc.

En el campo “Logic” se entrarán las instrucciones que deberán ejecutarse cuando


se presente la parada programada. Si se da click en el botón “Logic” aparecerá
otra ventana para escribir algunas instrucciones de programación (Similar al cam-
po “Operation” del Módulo de Procesos)

En el campo “Disable” dejar el valor sugerido de “No”. (Si se escogiera Yes, lo


programado en esta parada no se llevará a cabo)

Ahora, vamos a considerar otra adición a nuestro modelo, la correspondiente a los


Turnos de Trabajo. Normalmente los turnos de trabajo implican unos tiempos de
parada, pero se trabajan por separado, ya que se consideran como tiempos de
descanso. Vamos a suponer que en nuestro caso hay tres turnos de trabajo (de
lunes a viernes), así:

TurnoA: De 8 a.m. a 5 p.m. con tres descansos, de 10 a 10:15, de 12 a 12:30 y de


2 a 2:15.

TurnoB: De 8 a.m. a 5 p.m. con un descanso de 11:30 a 12:30

TurnoC: De 8 a.m. a 5 p.m. con un descanso de 12 a 1.

Recuerde que los Turnos de Trabajo implican dos acciones: Su definición y su


asignación. Para nuestro caso, asignar el TurnoA a la Recepción, el TurnoB a las
Oficinas de Primíparos y Antiguos y el Turno C a la Oficina de Repitentes y a la
Rectoría. Además, asignar el recurso Secre al TurnoA (deben quedar en rengló-
nes separados en la tabla de edición correspondiente).
Laboratorios de Simulación Nº 9 y N° 10
102
_______________________________________________________________________________________

Después de definir y asignar Turnos de Trabajo hay que programarlos dando click
en Simulation/Options. En el cuadro de diálogo que aparece (donde se habían pro-
gramado las 9 horas de simulación) dar click en la casilla “Define Run Length by
date” (Definir la longitud de la corrida por fechas). En este momento aparecen tres
botones (Warm Up, Begin y End). Entrar los datos sobre las fechas de tal forma
que Warm Up y Begin tengan la misma fecha y que cubran un día de trabajo des-
de las 8 a.m. hasta las 5 p.m. (De esta manera se le está diciendo al sistema que
que no se tiene previsto tiempo de calentamiento).

Las interrupciones por el descanso programado requiren que se realicen algunos


ajustes en el Módulo de Recursos. Entrar allí, dar click en el botón “Specs” y asig-
nar el nodo N18 en las casillas “Off Shift” (Fin del Turno) y “Break” (Parada)

Recuerde además que la Rectoría tiene programados tiempo de parada y tiempo


de descanso.

Cuando en un modelo se introducen interrupciones (por ejemplo, tiempos de pa-


rada o turnos de trabajo) se pueden presentar problemas en el flujo de las entida-
des por el sistema, ya que algunas entidades tendrán que esperar hasta que se
restablezca el trabajo normal. El comando BACKUP se puede utilizar para enrutar
a las entidades hacia un lugar diferente del que estaban destinadas cuando una
estación deja de atender por una interrupción. Este comando BACKUP sólo fun-
ciona en el campo “Rules” del Módulo de Procesos, y se colocará como último
registro dentro de un Bloque de ruteo y se interpretará como el movimiento de la
entidad cuando no pueda ir al destino programado en los registros anteriores (de-
ntro del bloque) debido a una interrupción. En la tabla que aparece más adelante
(la correspondiente al Módulo de Procesos) se encuentran algunos comandos
BACKUP. Ud. debe reflexionar sobre ellos e interpretar sus significados.

Antes de presentar el nuevo Módulo de Procesos correspondiente a esta etapa


veamos otro pequeño cambio relacionado con el tiempo que utiliza el Rector para
atender a un estudiante, el cual en la etapa anterior seguía una distribución Uni-
forme entre 5 y 25 minutos. En este caso vamos a cambiarlo por una distribución
de usuario, que llamaremos T_Rector.

Supongamos que de un estudio estadístico previo hemos llegado a la conclusión


de que el tiempo que el Rector demora atendiendo a un estudiante sigue la distri-
bución de probabilidad que se muestra mas adelante y que cada valor de tiempo
en realidad representa un intervalo de tiempo (para poder considerar al tiempo
como una variable continua).

TIEMPO (min) PROBABILIDAD


5 .10
8 .20
10 .30
Laboratorios de Simulación Nº 9 y N° 10
103
_______________________________________________________________________________________

12 .30
15 .10

Si graficáramos esta distribución de probabilidad no se vería que el histograma


pudiera suavizarse con ninguna distribución teórica conocida, por lo cual debemos
entrarla como una distribución empírica. Recordando que internamente el compu-
tador realiza un proceso de muestreo Montecarlo para generar observaciones que
sigan alguna distribución determinada, vamos a introducir esta distribución en
forma acumulada (aunque no es necesario).

Para ello, entrar al módulo de Distribuciones de Usuario y llenar la siguiente ven-


tana de edición:
ID TYPE CUMULATIVE TABLE
T_Rector Continuous Yes Defined

Y la tabla correspondiente tendría la siguiente información:

PERCENTAJE VALUE
0 0
10 5
30 8
60 10
90 12
100 15

(Note que el primer renglon tiene valores de 0,0)

Ahora, Ud. debe entrar al Módulo de Procesos y realizar los cambios necesarios
para que luzca como aparece a continuación. Además, a la luz de los nuevos con-
ceptos presentados, Ud. debe reflexionar sobre el significado de los cambios rea-
lizados (algunos no comentados aquí).

ENTI- LOCATION OPERATION Blk OUT- DESTINA- RULE MOVE LOGIC


TY PUT TION
Estud Entrada INC Dentro 1 Estud Linea_Recep FIRST 1 MOVE ON Aaa
Especial=1
Ciclo=CLOCK()
Estud Linea_Recep 1 Estud Recepcion FIRST 1 MOVE FOR 0
Estud Sala_Espera BACKUP MOVE ON Aaa
Estud Recepcion USE Secre FOR 1 Estud Sala_Espera FIRST 1 MOVE ON Aaa
N(2,.3)
Estud Sala_Espera IF Especial=2 1 Estud Ofic_Primip 0.3 MOVE WITH Secre
THEN ROUTE 2 Estud Salida BACKUP MOVE ON Aaa
ELSE ROUTE 1 Estud Ofic_Antig 0.3 MOVE WITH Secre
Estud Salida BACKUP MOVE ON Aaa
Estud Ofic_Repit 0.4 MOVE WITH Secre
Estud Salida BACKUP MOVE ON Aaa
2 Estud Rectoria FIRST 1 MOVE WITH Secre
Estud Salida BACKUP MOVE ON Aaa
Estud Ofic_Primip WAIT N(.5,.2) 1 Estud Salida 0.95 MOVE ON Aaa
Laboratorios de Simulación Nº 9 y N° 10
104
_______________________________________________________________________________________

FREE Secre Estud Linea_Recep 0.05 Especial=2


WAIT N(20,5) MOVE ON Aaa
Estud Ofic_Antig WAIT N(.5,.2) 1 Estud Salida 0.90 MOVE ON Aaa
FREE Secre
WAIT N(15,3) Estud Linea_Recep 0.10 Especial=2
MOVE ON Aaa
Estud Ofic_Repit WAIT N(.5,.2) 1 Estud Salida 0.85 MOVE ON Aaa
FREE Secre
WAIT N(12,3) Estud Linea_Recep 0.15 Especial=2
MOVE ON Aaa
Estud Rectoria WAIT N(.5,.2) 1 Estud Salida FIRST 1 MOVE ON Aaa
FREE Secre
WAIT T_Rector
Estud Salida 1 Estud EXIT FIRST 1 DEC Dentro
INC Matricul
LOG “Ciclo”,Ciclo

Nota: El WAIT T_Rector que aparece en el penúltimo registro debe adaptarse por
la exigencia hecha en la etapa anterior sobre la distribución de probabilidad que
modela los tiempos de atención del rector.

Para terminar esta cuarta etapa, vamos a realizar otro cambio mas referente a las
llegadas de los estudiantes al sistema:

Recuerde que en el campo “Frequency” del Módulo de Llegadas se debe entrar el


tiempo entre llegadas. Hasta ahora hemos supuesto que el tiempo entre llegadas
para cualquier par de estudiantes sigue una distribución exponencial con una me-
dia de 10 minutos. También se ha supuesto que la cantidad de estudiantes que
llega en cada tiempo de llegada es uno. Ahora vamos a cambiar esta suposición
dado que la suposición de llegada de un solo estudiante cada vez no es muy re-
alista.
Mejor, podemos suponer que los estudiantes llegan en grupos (paquetes). El ta-
maño de estos paquetes puede ser difererente es decir serán variables, o sea que
tenemos que modelarlos usando otra distribución probabilística. El software Pro-
Model permite simular la llegada de cantidades variables de entidades al sistema.
Lo anterior se hace entrando al modulo de llegadas (Arrival) y en el campo de “Qty
Each” incluir un Ciclo de Llegadas, como se explicará en detalle mas adelante. En
este mismo modulo en el campo “Frequency” se define el tiempo entre el comien-
zo de dos ciclos diferentes de llegadas, y en el campo “Occurrences” se define el
número de veces que se repite el Ciclo de llegadas.

Entonces, en esta etapa vamos a ingresar un Ciclo de Llegadas, que llamaremos


“Lleg_Estud”, de la siguiente forma: Click en Build/More Elements/Arrival Cycles.

Llenar la Ventana de Edición correspondiente de la siguiente manera:


ID QTY / % CUMULATIVE TABLE
Lleg_Estud Percent Yes Defined
Luego dar click en “Table” y definir la tabla como aparece a continuación:
Laboratorios de Simulación Nº 9 y N° 10
105
_______________________________________________________________________________________

TIME (HOURS) VALUE


2 10
4 30
5 60
7 90
9 100

Ahora vamos al Módulo de Llegadas y lo llenamos en los campos respectivos con


la información necesaria para que finalmente luzca así:

ENTITY LOCATION QTY EACH FIRST TIME OCCURRENCES FREQUENCY LOGIC


Estud Entrada 1; Lleg_Estud 0 1 24 Hr

Nota: Al dar click en el botón “Qty Each” aparecerá un cuadro de diálogo donde
deberá dar click en el Ciclo de Llegadas “Lleg_Estud”. Luego coloque el 1 a la iz-
quierda.

Ahora realice una corrida de ensayo.y observe el movimiento de la secretaria


haqia el Nodo N18 cuando ella está en descanso. Además observe cómo sólo
entra un estudiante (fue generado por muestreo Montecarlo en la distribución
Lleg_Estud), y cómo la simulación se detiene cuando este único estudiante sale
del sistema.

Ahora, ensayemos con el ingreso de dos estudiantes. Cambie el Módulo de Lle-


gadas para que luzca como aparece a continuación y luego corra de nuevo la si-
mulación.

ENTITY LOCATION QTY EACH FIRST TIME OCCURRENCES FREQUENCY LOGIC


Estud Entrada 2; Lleg_Estud 0 1 24 Hr

Ahora, simulemos la llegada de 50 estudiantes. El Módulo de Llegadas debe lucir


como aparece a continuación:

ENTITY LOCATION QTY EACH FIRST TIME OCCURRENCES FREQUENCY LOGIC


Estud Entrada 50; Lleg_Estud 0 1 24 Hr

Alerta: La introducción de las interrupciones y del comando BACKUP ha cambia-


do el sentido que se tenía anteriormente para el conteo de los estudiantes que se
han matriculado. Recuerde que, de acuerdo a nuestra lógica, cada vez que un
estudiante abandona el sistema se incrementa la variable de estudiantes matricu-
lados. Pero ahora, algunos estudiantes salen del sistema sin ser matriculados.
Ésto se va a arreglar en la quinta etapa.
Laboratorios de Simulación Nº 9 y N° 10
106
_______________________________________________________________________________________

2.9.5 QUINTA ETAPA:


Debe haber notado que algunos estudiantes salen del sistema sin ser matricula-
dos. En ésta quinta etapa resuelva el problema mencionado, y corra de nuevo
la simulación.

Además, supongamos que el Rector decide, temporalmente, suspender su parada


programada de 30 minutos, pero se quiere dejar programada para un [Link]
realizar esto debe entrar al Módulo de Estaciones, activar el registro de Rectoría,
dar click al botón DTs, y en la ventana que aparece dar click en el botón Schedu-
led y escoger No. La ventana correspondiente deberá lucir así:

FREQUENCY FIRST TIME PRIORITY SCHEDULED LOGIC DISABLE


24 hr 6 hr 99 No WAIT 30 No
Laboratorio de Simulación Nº 11
107
____________________________________________________________________________________

2.11 PRÁCTICA # 11

NÚMERO DE CORRIDAS Y PERÍODO DE CALENTAMIENTO.

En esta práctica ilustraremos la forma de estimar la cantidad de tiempo nece-


sario de calentamiento (warm up period) de un sistema y el número de corridas
independientes necesarias para estimar un parámetro con un error de estima-
ción, E, y un nivel de confianza, Z, dado.
Haremos uso de un modelo simplificado de una compañía manufacturera co-
mo el que se muestra en la figura 11.1.

Figura [Link] Compañía Manufacturera de 4 máquinas.

El tiempo entre llegadas de los pedidos es constante e igual a 1.175 minutos.


Los pedidos requieren procesarse en cada una de las cuatro maquinas. Los
tiempos de procesamiento para cada pedido en cada una de las cuatro máqui-
nas están dados en la Tabla 11.1.
Actividad Tiempo de proceso (min) Formato ProModel
Máquina 1 Exponencial con media=1.0 Wait E(1.0) min
Máquina 2 Weibull con mínimo = 0.10, α=5 β=1 Wait (0.10 + W(5,1)) min
Máquina 3 Weibull con mínimo = 0.25, α=5 β=1 Wait (0.25 + W(5,1)) min
Máquina 4 Weibull con mínimo = 0.25, α=5 β=1 Wait (0.25 + W(5,1)) min
Tabla 11.1. Tiempos de procesamiento en la Compañía Manufacturera

Hay disponible suficiente capacidad de almacenamiento para los trabajos que


deben esperar al frente de cada una de las cuatro Máquinas (Almacenamiento
1, 2, 3 y 4 capacidad infinita).
El objetivo de la práctica es adelantar una simulación no terminante para
estimar la cantidad promedio de trabajos en proceso (WIP-inventario), es
decir el número esperado de trabajos en el sistema durante el estado estable.
La figura 11.2 muestra el listado del programa para modelar la compañía ma-
nufacturera.
Laboratorio de Simulación Nº 11
108
____________________________________________________________________________________

Estaciones
Name Cap Units Stats Rules Cost
---------- --- ----- ----------- ---------- ------------
Almacenamiento1 inf 1 None Oldest, ,
Máquina1 1 None Oldest, ,
Almacenamiento2 inf 1 None Oldest, ,
Máquina2 1 None Oldest, ,
Almacenamiento3 inf 1 None Oldest, ,
Máquina3 1 None Oldest, ,
Almacenamiento4 inf 1 None Oldest, ,
Máquina4 1 None Oldest, ,
Entities *
********************************************************************************
Name Speed (fpm) Stats Cost
---------- ------------ ----------- ------------
Trabajo 150 Basic
*******************************************************************************
* Processing *
********************************************************************************
Process Routing
Entity Location Operation Blk Output Destination Rule Move Logic
-------- ---------- ------------------ ---- -------- ----------- ------- ------------
Trabajo Almacenamiento1 Inc WIP 1 Trabajo Máquina1 FIRST 1
Trabajo Máquina1 Wait E(1) min 1 Trabajo Almacenamiento2 FIRST 1
Trabajo Almacenamiento2 1 Trabajo Máquina2 FIRST 1
Trabajo Máquina2 Wait (0.1 + W(5,1)) min
1 Trabajo Almacenamiento3 FIRST 1
Trabajo Almacenamiento3 1 Trabajo Máquina3 FIRST 1
Trabajo Máquina3 Wait (0.25 + W(5,1)) min
1 Trabajo Almacenamiento4 FIRST 1
Trabajo Almacenamiento4 1 Trabajo Máquina4 FIRST 1
Trabajo Máquina4 Wait (0.25 + W(5,1)) min
Dec WIP 1 Trabajo EXIT FIRST 1
********************************************************************************
* Arrivals *
********************************************************************************
Entity Location Qty Each First Time Occurrences Frequency Logic
-------- -------- ---------- ---------- ----------- ---------- ------------
Trabajo Almacenamiento1 1 0 inf 1.175 min
********************************************************************************
* Variables (global) *
********************************************************************************
ID Type Initial value Stats
---------- ------------ ------------- -----------
WIP Integer 0 Time Series
********************************************************************************
* Macros *
********************************************************************************
ID Text
--------------- ------------
Artificial 1

Figura 11.2.Código del modelo de simulación para la Compañía Manufacturera de 4 maquinas.


PRÁCTICAS de Simulación Nº 11
109
_______________________________________________________________________________________

Actividades a realizar
1. Correr el modelo 250 horas
2. Ver el grafico de tiempo (History Plot) para la variable “WIP value History” y
estime visualmente cuando estaría terminando la fase transiente del siste-
ma.
3. Especifique las horas de calentamiento de acuerdo con su apreciación an-
terior y corra de nuevo el modelo. Observe que las salidas de la simulación
durante el período de calentamiento han sido descartadas.
4. El anterior método visual debe ser evitado. El proceso puede ser substan-
cialmente mejorado realizando múltiples replicaciones del mismo mode-
lo y luego combinando las salidas de la serie de tiempo de cada replicación
en un grafico con el promedio de las series de tiempo. El promediar las se-
ries de tiempo de las replicaciones individuales ayuda a filtrar las fluctua-
ciones (valores altos de una replicación son compensados por valores pe-
queños de otra replicación) y estimar mejor la verdadera pero desconocida
serie de tiempo. Entonces vamos a calcular series de tiempo con pro-
medios móviles para cinco replicaciones, y utilizar el modulo de opti-
mización (SimRunner) para calcular el período de calentamiento para
lo cual debe:
a) Crear en el modelo un macro con cualquier nombre (por ejemplo: ar-
tificial) y declárelo como RTI (run time interface).
b) Abra el modulo SimRunner y en la ventana “Create new pro-
ject/Select Model” ubique su modelo a analizar. Click en “next”. (Mo-
dulo: “Select Model/Project”).
c) En la ventana de medidas de desempeño (Performance Measures)
seleccione la categoría de “variable” y a la variable
“WIP_Average_Value”, como objetivo de maximización del SimRun-
ner.(Modulo: “Define Objectives”). Click en “next” y entrara en el mo-
dulo: “Define Inputs).
d) Seleccione el macro creado (artificial) que aparece en la ventana
“Macros Available for Input”, como factor de entrada. (modulo: “Defi-
ne Inputs). Click en “next” y entrara en el submodulo: “Define Expe-
riment” del modulo: “Analize Model” ).
e) Llene los valores del experimento así: Longitud de la simulación: 250
hr; Tamaño del intervalo: 1hr; Número de replicaciones: 5; Nivel de
confianza: 90; Error relativo en la estimación de la función objeti-
vo:[Link] error, e , tiene que ver con el error máximo permitido para
estimar el promedio de la variable WIP y que como recordará deter-
minará conjuntamente con el nivel de confianza, Z, el numero de co-
rridas necesarias, n , (número de replicaciones) del modelo para ga-
2
 Z (α )S 
rantizarlo, así, n =  2  . Es decir estamos buscando encontrar el
 e 
PRÁCTICAS de Simulación Nº 11
110
_______________________________________________________________________________________

número de replicaciones necesarias para estimar el promedio de


WIP con un porcentaje de error del 7% y un nivel de confianza del
90%, al mismo tiempo que estamos estimando el final de la fase del
periodo de calentamiento. Click en “next” y entrara en el submodulo:
“Conduct analysis” del modulo: “Analize Model” ). Observe los valo-
res de defecto de 2a) “Moving Avg Window”: 1 period ; y de 2b)
“Warm up”: 0 periods; y “No of Replications”.
f) Click en “Run” y espere con paciencia mientras se realizan los cálcu-
los. Obtendrá la serie de tiempo para el número de replicaciones que
garantizan el error y nivel de confianza especificado. Observe que el
tamaño de la ventana de promedios móviles es solo de 1 y que
el número de replicaciones necesarias para garantizar el e=7% y Z
del 90% es de 8 replicaciones.
g) Ahora entraremos a estimar la terminación del período de calenta-
miento suavizando la serie de tiempo obtenida al promediar las 8 re-
plicaciones aumentando el tamaño de la ventana móvil de suaviza-
miento. Para esto aumentamos el número de sus períodos en “Mo-
ving Avg Window” (sección 2a) hasta 54 períodos para obtener una
serie de tiempo bien suavizada. Observe que el final del período
de calentamiento parece ocurrir entre los períodos 33 y 100.
h) El siguiente paso consiste en eliminar la información referente a los
periodos de inestabilidad, es decir los primeros 100 períodos, de una
corrida de 250 horas (ver literal e). Entonces ajuste el período de ca-
lentamiento a 100 períodos, Warm up = 100, en la sección
2b).Observe que al ir eliminando períodos cambia el número de re-
plicaciones necesarias que me garantizan el error, e=7% y el nivel de
confianza, Z del 90%, ya que estamos eliminando la información de
esos períodos. Finalmente observe que con un período de calenta-
miento de 100 horas se requerirían 10 replicaciones para garantizar
el e=7% y el nivel de confianza, Z del 90%.
i) Finalmente dar click en “Final Report”.

Con E=0.07 y Z=0.90 y 10 replicaciones de 250 hr cada una, el intervalo de


confianza para el WIP es el siguiente:  (19.66 <= WIP <= 21.34)
Laboratorio de Simulación Nº 12
111
_______________________________________________________________________________________

2.12 PRÁCTICA # 12

REPLICACIONES ó INTERVALOS DE LOTEO


y
LONGITUD DE LOS INTERVALOS DE LOTEO (“Batch Interval Length”)

Para estimar un parámetro con un error de estimación, E, y un nivel de confianza,


Z, dado, podemos escoger entre:

1. correr varias replicaciones del modelo (ver práctica #11), ó,


2. usar intervalos de loteo (“batch intervals”).

En esta práctica, ya habiendo estimado (ver práctica # 11, anterior) el período de


calentamiento del sistema (warm up period), ilustraremos la forma de usar interva-
los de loteo para estimar un parámetro y los problemas asociados con la estima-
ción del tamaño del intervalo de loteo. Haremos uso del modelo de la compañía
manufacturera creado en la práctica #11.

Figura 12.1 La Compañía Manufacturera de 4 máquinas.


Ya establecimos en la práctica # 11, anterior que el período de calentamiento para
nuestro modelo es de 100 horas. Ahora corramos el modelo por otras 100 horas
(longitud de corrida arbitraria que no tiene nada que ver con el período de calen-
tamiento ¡¡¡), pero que es tiempo suficiente para que ocurran miles de veces los
diferentes eventos de la simulación (llega un (1) trabajo cada 1.175 minutos, es
decir en 1 hora llegan 51 trabajos. -60 minutos/1.175 minutos- y en 100 horas de-
berán llegar 5100 trabajos).

Actividades a realizar
Laboratorio de Simulación Nº 12
112
_______________________________________________________________________________________

A. Primero vamos a estimar a WIP con una muestra de tamaño 10 (10 repli-
caciones)
1. Correr el modelo (deshabilitar la animación) con 10 replicaciones durante
100 y horas con un período de calentamiento de 100 horas.
2. Establecer un intervalo de confianza del 90% y observar que el nivel de in-
ventario-WIP- estimado está ente 17.64 y 21.089 trabajos.
B. Ahora, vamos a estimar a WIP con una sola corrida (una (1) replicación)
dividiéndola en intervalos de loteos (batch intervals).
1. Correr el modelo (deshabilitar la animación) con solo una larga replica-
ción de 1000 hrs., por ejemplo, y con intervalos de loteo igual a 100 horas
(no olvidar colocar la unidad de tiempo-hr-en el cuadro de “interval length” y
dejar el mismo período de calentamiento de 100 horas).
2. Establecer un intervalo de confianza del 90% y observar que el nivel de in-
ventario está entre 18.88 y 23.19 trabajos (unidad de longitud en feet y pre-
cision de reloj en minutos). Si deseáramos un intervalo de confianza de
menor tamaño podríamos aumentar el tamaño de la muestra extendiendo
la longitud de la corrida, por ejemplo a 1500 hrs., y tendríamos 15 observa-
ciones. (ensaye para ver si el tamaño del intervalo disminuye)-(19.13 :
22.54).
C. Longitud requerida del intervalo de loteo (batch interval length).
Un punto importante del método de loteo por intervalos es garantizar que los
valores obtenidos en cada intervalo de loteo (el valor promedio en cada lote-
batch-) corresponda a observaciones “aproximadamente” independientes. La
palabra “aproximadamente” se ha enfatizado porque sabemos que las obser-
vaciones dentro de una misma corrida a menudo están auto correlacionadas
(no son independientes, por ejemplo puede darse una mayor probabilidad de
que un artículo sea defectuoso si el anterior lo fue; o el tiempo de corte de una
operación manual puede crecer cada vez debido al desgaste del cuchillo). De
hecho a menudo están positivamente correlacionadas, lo que sesga la desvia-
ción estándar de la media del intervalo de loteo hacia un valor bajo y esto ses-
gará también la estimación de nuestro intervalo de confianza.
Así, que debemos “chequear” la auto correlación (lag-1) de las observaciones
antes de interpretar los resultados. Si se generan al menos 100 observaciones
se puede estimar la auto correlación entre observaciones adyacentes (lag-1
autocorrelación). Las observaciones se consideran casi independientes si la
estimación de la autocorrelación-lag-1, para al menos 100 observaciones cae
entre -0.20 y +0.20 (recuerde que los valores de autocorrelacion caen entre +-
1.).
Si la estimación de la autocorrelación lag-1 no cae entre -0.20 y +0.20, enton-
ces la longitud original del intervalo de loteo debe ser incrementada en un 50%
a100% y volver a correr la simulación. Recolectar las estadísticas y estimar de
nuevo el factor de autocorrelación lag-1. Como debemos tener al menos 100
observaciones (y solo tenemos 10 observaciones, resultado de 1000hrs., de
corrida con lotes (batches) de 100 horas, entonces aumentemos la longitud de
Laboratorio de Simulación Nº 12
113
_______________________________________________________________________________________

corrida del modelo a 10 000 horas lo que nos permitirá obtener 100 observa-
ciones.
1. Correr el modelo (deshabilitar la animación) con solo una larga re-
plicación de 10 000 hrs., y con intervalos de loteo igual a 100 horas
(no olvidar colocar la unidad de tiempo-hr-en el cuadro de “interval
length” y dejar el mismo período de calentamiento de 100 horas).
2. Salve el reporte de salida de ProModel como formato de Microsoft Excel
y luego transfiéralo a una tabla del Stat::Fit.
3. Realice una prueba de autocorrelacion para la variable WIP y verifique
que el factor de autocorrelación está entre 0.192 y – 0.132
4. Realice una prueba de normalidad para garantizar que la estimación del
intervalo es la correcta.

Observación final: El método de intervalos de loteo requiere bastante trabajo


(probar los supuestos) para emplearlo bien. Por lo tanto, si el tiempo de si-
mulación a través del período de calentamiento es corto, debe usarse el
método de varias replicaciones. Reserve el método de intervalos de loteo
para simulaciones que requieran un período de tiempo muy largo para al-
canzar el estado estable.

Average: 20.91
Std dev: 3.16
Intervalo: (20.37 21.45)
Confianza: 90%
Laboratorio de Simulación Nº 13
114
_______________________________________________________________________________________

2.13 PRÁCTICA # 13

STAT:FIT

En esta práctica se pretende familiarizarse con el software “Stat::Fit” par facilitar el


analisis de los datos de entrada, procesamiento y salidas de los modelos de simula-
ción.
En particular se deberan realizar las siguientes actividades:

1. Introducir los datos (generar la tabla de datos a analizar)


2. Generar el histograma correspondiente a los datos
3. Generar las estadísticas descriptivas (mínimo valor, el máximo, la media, la
moda, la mediana, la varianza, la “kurtosis”, el sesgo (“skewness”), y el coefi-
ciente de variación.
4. Analizar las pruebas de independencia (Scatter Plot, Autocorrelación, Prue-
bas de corridas –“Run Tests”)
5. Calculo de estimadores máximo verosímil para los parámetros de diferentes
funciones de densidad.
6. Realizar pruebas de bondad de ajuste (Kolomogorov Smirnov, Chi cuadrado
y Anderson Darling.
7. Analisis de comparación de gráficos de ajuste.
8. Efecto que sobre la forma de la distribucion de probabilidad (funcion de den-
sidad) tiene el cambio en el valor de sus correspondientes parámetros (eva-
luación de las distribuciones: exponencial, Gamma, Weibull, Beta y otras).

A. CREACIÓN DE LOS DATOS

1. Crear un nuevo docuemto: Stat:FitDocument (File/New) esto genera la Data


Table, con el nombre Document 1.

2. Guardelo con (File/Save As) y el nombre del archivo del proyecto, y todo el
documento (Stat:FitDocument) quedará asociado con este nombre de archi-
vo y con la extensión .SFP (de Stat Fit Project). Este ultimo archivo contiene:

• La Tabla de datos
• Todos los calculos
• Todas las gráficas
• Y todos los view points

Si solo se desea guardar los datos de entrada (la Tabla de Datos) en un ar-
chivo de texto debe guardarse como (File / Save Input).
Laboratorio de Simulación Nº 13
115
_______________________________________________________________________________________

3. Crear la Tabla de Datos (todos los datos deben entrarse como datos simples,
no acumulados). Si son datos continuos debe especificarse el número de in-
tervalos de clases. El número de intervalos es usado para mostrar los datos
continuos en un histograma y comparar los datos de entrada con los datos
ajustados (fitted data), a través de una prueba Chi Cuadrado. Hay tres for-
mas de escoger el número de intervalos:
Auto: Número de intervalos K = (2N ) 2 :
1

• Sturges: Regla empírica K = 1+ 3.3 log 10 N


• Manual: el número de intervalos y el tamaño de ellos, es escogido por
el usuario.
Lo anterior se hace a traves de (Input/Options). Allí mismo también se esta-
blece el tipo de la distribución, que puede ser: continuos, discreto o ambas
(either).
4. Ver el grafico de entrada por (Input / Input Graph), para ver el histograma
creado.

B. ANÁLISIS DE LOS DATOS DE ENTRADA (INPUT DATA ANALYSIS)

El análisis de los datos que se entraron, es de dos tipos:


• Estadísticas descriptivas: Se entra por (Statistics / Descriptive), e incluye el
mínimo valor, el máximo, la media, la moda, la mediana, la varianza, la kurto-
sis, el sesgo, el coeficiente de variación y el número de datos.
• Pruebas de Independencia. Se entra por (Statistics / Independence), Hay
disponible tres tipos:
1. Scatter Plot,
2. Autocorrelation
3. Runs Tests: Son específicos para diferentes tipos de independencia y
de aleatoridad, asi que deben pasarse todos los tests.

C. AJUSTE DE LA DISTRIBUCIÓN (DISTRIBUTION FITTING ANALYSIS)


Existen dos alternativas:

• Automática
• Manual

La automática, exige que previamente se establezca si la distribución a ser usada


es continua o discreta. Esto se hace a través de (Input/Options). Luego la prueba de
ajuste automático (Goodness of Fit Test) es realizado a través de (Fit / AutoFit ).
Básicamente los pasos que sigue ésta opción son:

1. Escoge distribuciones (continuas o discretas) para ajustar los datos de


entrada. Al escoger el conjunto de distribuciones continuas, el paquete
Laboratorio de Simulación Nº 13
116
_______________________________________________________________________________________

las limita según algunos criterios como, el lower bound, o por ejemplo,
Skewness de datos negativos elimina varias distribuciones candidatas.
2. Calcula los estimadores de Máxima Verosimilitud para los parámetros
de cada una de las distribuciones seleccionadas.
3. Prueba el ajuste de cada una de las distribuciones (Prueba de Bondad
de Ajuste), usa el Test de Kolmogorov Smirnov, el Chi cuadrado y el
Test de Anderson Darling.
4. Muestra los resultados en un Ranking.

Si se desean observar los detalles de cada una de las pruebas debe hacerse click
en el boton [TEST], que queda sobre la speed bar.

El manual. Esta opción requiere:

1. Seleccionar manualmente las distribuciones a ser probadas y los cálculos


matemáticos de interés. Debe entrarse por (Fit / Setup >>Distributions ), y alli
seleccionar de la lista de distribuciones disponibles las de interés.

2. Pasar a la sección de Cálculos (Calculations) por (Fit / Setup>>Calculations ),


y seleccionar el tipo de estimadores a ser calculados (Máxima verosimilitud,
por ejemplo), el test (o pruebas) ha ser usado (el Chi Cuadrado, o el de Kol-
mogorov Smirnov, o el de Anderson Darling), el nivel de confianza de la
prueba, y otros.

3. Luego pueden calcularse los estimadores Maximo verosimil de los paráme-


tros requeridos en cada una de las distribuciones seleccionadas. Entrar por
(Fit / Maximum Likelihood ).

4. El análisis de Bondad de Ajuste para todas las distribuciones ha ser testadas


se realiza por (Fit / Goodness of Fit ), o si se desean observar los detalles de
cada una de las pruebas debe hacerse click en el boton [TEST], que queda
sobre la speed bar.

5. Luego pueden observarse gráficos comparativos de las distribuciones candi-


datas contra la distribución de los datos. Entrar por (Fit / Results Graphs >>
Comparison).
Laboratorio de Simulación Nº 14 117
_______________________________________________________________________________________

2.14 PRÁCTICA # 14

(Esta práctica es una adaptación mejorada de la que aparece en el libro “Simulación con ProModel-
Casos de producción y logística”. Luis Ernesto Blanco Rivero, Ivan Dario Fajardo Piedrahita. Edito-
rial Escuela Colombiana de Ingeniería, Mayo 2001, pags. 41 a 53).
Esta práctica corresponde a un Modelo tipo “push”. Permite que el estudiante se sintonice en la
práctica con los conceptos de inventarios críticos, cuellos de botella y “throughput”.

Juan Carlos Rodríguez, ingeniero industrial recién egresado, ha comenzado a trabajar en


Industrias ECl y ha sido asignado al área de producción con la tarea específica de mejo-
rar la productividad. Juan Carlos todavía recuerda toda una serie de herramientas que
aprendió en su curso de producción, relacionadas con dicha área: pronósticos, inventa-
rios, MRP, JIT, PERT, planeación agregada, secuenciación, etc., pero no sabe por dónde
comenzar.

En su última visita a la planta encontró exceso de inventarios, desorden, atraso en los


pedidos, órdenes de producción incompletas y un clima organizacional bastante caldeado,
debido a las recriminaciones mutuas entre trabajadores y directivos.

Al comentar la situación con uno de sus compañeros de estudio, éste le recomendó


que leyera La meta, uno de los libros de Eliyahu Goldratt 3, porque la situación que se
describía correspondía a la narrada en dicha obra.

Parámetros de producción según Goldratt


Después de leer la obra, Juan Carlos comprendió que la meta de su empresa era “ganar
dinero” y que para hacerlo debía entender el funcionamiento de nuevos parámetros de
producción, como los siguientes:

Throughput (TH): Tasa promedio a la cual la empresa produce unidades vendibles por
unidad de tiempo (algunos traducen Throughput como facturación).

Work In Process (WIP): Cantidad de materias primas y de productos en proceso que se


encuentran en el sistema.
WIP = Inventario en proceso en el sistema.

Cycle Time (CT): Tiempo que gasta un producto desde que ingresa en el sistema, hasta
que sale.
TC = Tiempo de ciclo.

3
Eliyahu Goldratt y Jeff Cox, La meta, un proceso de mejora continua, 2 ed., Monterrey, México, Ediciones Castillo.
Laboratorio de Simulación Nº 14 118
_______________________________________________________________________________________

Cuello de botella: Operación más lenta del proceso, o la que produce el menor
Throughput en un determinado tiempo. Es la operación que marca el ritmo de la
producción.

Tasa del cuello de botella (rb): Tasa de producción de la operación cuello de


botella. Se mide en productos por unidad de tiempo.

Inventario: Todo el dinero que la empresa invierte en materiales, instalaciones,


tecnología, etc., y que posteriormente se puede vender.

Gastos de operación: Es el dinero que la empresa invierte para convertir los in-
ventarios en Throughput.

Poco a poco, Juan Carlos comenzó a comprender que las actividades principales
de organización de la producción debían encaminarse a incrementar el Through-
put.

Para el gerente era inadmisible encontrar a un empleado descansando o una


máquina parada, razón por la cual los operarios permanecían ocupados la mayor
parte del tiempo, “adelantando trabajos”. Juan Carlos comprendió que esta políti-
ca únicamente conducía a incrementar los inventarios en proceso (WIP), a au-
mentar los gastos de operación y a congestionar el sistema productivo, pero no
ayudaba a incrementar el Throughput. Pero, ¿cómo hacerle ver al gerente que
estaba equivocado?

Importancia de la simulación para solucionar el problema


Muy pronto, Juan Carlos recordó que en situaciones en las que la experi-
mentación real es muy costosa, lo mejor es utilizar la simulación para observar
diferentes comportamientos del sistema. La simulación es una representación fic-
ticia de una situación real, que permite cambiar sus parámetros y variables. Se
experimenta con un modelo, que es una abstracción de la realidad, y el conoci-
miento adquirido en la simulación se aplica en el mundo real. Cuanto mejor sea el
grado de aproximación de la simulación a la realidad, mayor será su utilidad. El
primer paso, entonces, era construir el modelo del sistema, comenzando por dar
respuesta a los siguientes interrogantes:

• ¿Cómo está distribuida la planta? (layout). ¿Cuáles son sus dimensiones?


• ¿Cuántos centros de trabajo (locations) tiene el proceso?
• ¿Cuáles son los tiempos de proceso de cada centro de trabajo?
• ¿Cuántos productos o subproductos (entities) se quieren incluir en el modelo?
• ¿Quién, dónde y cuándo requiere un recurso?
• ¿Qué se desea medir?
• ¿Cuáles serán los indicadores que se deberán tener en cuenta?
• ¿Cuánto tiempo se simulará el proceso?
• ¿Qué tan variable es el proceso? ¿Se podría estandarizar?
Laboratorio de Simulación Nº 14 119
_______________________________________________________________________________________

• ¿Quién es la persona que utilizará el programa de simulación?

Parámetros y leyes de la producción según Hopp y Spearman


En su proceso de investigación bibliográfica, Juan Carlos encontró el libro Factory
Physics 4, también relacionado con las ideas de Goldratt. En dicho libro se definen
algunos parámetros y leyes importantes de la física de planta:

Tiempo de proceso global (To): Es la suma de los tiempos de proceso promedio


de cada una de las estaciones de trabajo, a largo plazo. Si ti es el tiempo de pro-
ceso de la estación i, entonces:

To = ∑ti, para toda estación de trabajo i.

Tasa del cuello de botella (rb): Es la tasa o rata (el número de partes o trabajos
por unidad de tiempo) de producción de la estación de trabajo u operación que
tiene la mínima capacidad del proceso. Si ri es la tasa de producción de la opera-
ción i, entonces:

rb = min (ri), para toda operación i 5.

WIP crítico de la línea (Wo): Es el nivel de inventario con el que la línea produce
el máximo Throughput. A partir de dicho nivel (mayor al nivel critico), el inventario
únicamente produce congestión y costos de almacenamiento.

Wo = (rb).To

Ley de Little: TH = (WIP/CT)


La ley de Little establece que hay una relación estrecha entre el Throughput (TH),
el Cycle Time (CT) y el Work In Process (WIP), definida por la fórmula anterior, en
la que se observa que mientras más largo sea el tiempo de ciclo, menor será el
Throughput con un nivel de inventario constante.

Ley del mejor desempeño:


THmejor = w/To si w < Wo ó w = Wo
THmejor = rb si w > Wo, siendo w el nivel de WIP

La ley del mejor desempeño establece que para un nivel dado de inventario w, el
mayor Throughput se obtiene cuando el nivel de inventario es igual al nivel crítico
Wo; a partir de ahí lo máximo que se obtiene es rb, o sea la tasa del cuello de
botella.

4
Wallace J. Hoppe y Mark L. Spearman, Factory Physics, foundations of manufacturing manage-
ment, cap. 7, Boston, Irwin McGraw Hill, Inc., 1996
5
Es el mínimo de todas las tasas de producción cuando se tienen en cuenta todas las operaciones
Laboratorio de Simulación Nº 14 120
_______________________________________________________________________________________

La ley del mejor desempeño también se puede formular de la siguiente manera:

CTmejor = To, si w < Wo ó w = Wo


CTmejor = w/rb, si w > Wo

Esta ley se puede interpretar como que el mejor tiempo de ciclo es el que corres-
ponde al nivel crítico de inventario Wo.

Ley del peor desempeño práctico:


THpeor = ( w / ( Wo+w-1) )* rb, para cualquier nivel de inventario w.

CTpeor = To + (w -1) / rb, para cualquier nivel de inventario w.

Modelando el sistema de producción de Industrias ECl


Para convencer al gerente, Juan Carlos elaboró un modelo con nueve insta-
laciones (locations): limpieza, torno, fresa, inspección, paletizadora, recepción1,
recepción2, recepción3, recepción4. Los datos se presentan en la tabla 14.1 si-
guiente.
Tabla 14.1
Down
Name Capacity Units Times Statistics Rules Notes
Time Se-
Limpieza 1 1 None ries Qldest
Time Se-
Torno 1 1 None ries Oldest
Time Se-
Fresa 1 1 None ries Oldest
Time Se-
Inspección 1 1 None ries Oldest
Time Se-
Paletizadora Infinite 1 None ries Oldest.
Time Se-
Recepción 1 Infinite 1 None ries Oldest
Time Se-
Recepción2 Infinite 1 None ries Oldest
Time Se-
Recepción3 Infinite 1 None ries Oldest
Time Se-
Recepción4 Infinite 1 None ries Oldest

Las recepciones se concibieron como áreas marcadas en el piso con capacidad


teórica de almacenamiento infinita. Se hicieron con el menú Build-Locations-
Graphics, haciendo click en el cuadrado negro que aparece en la ventana Grap-
hics.

Para señalar el sitio dentro del área en donde se ubicarán los materiales, se uso
el icono de un cuadrado rojo con una “X” blanca en el centro, asegurándose de
desmarcar primero el chulo de “New” de la ventana y haciendo click en el cua-
Laboratorio de Simulación Nº 14 121
_______________________________________________________________________________________

drado rojo y luego en el sitio en donde se quiera ubicar. De manera similar se po-
nen los nombres de las estaciones, haciendo click primero en la tecla Aa y luego
en el sitio en donde se va a ubicar el letrero (es conveniente volver a colocar el
chulo una vez localizados el puesto y el letrero).

En el modelo se incluyeron dos entidades o (entities), piñón y pieza, que fluyen a


través del sistema, definidas en la tabla 14.2 así:

Tabla 14.2
Speed
Name (mpm) Statistics Notes
Time Se-
Piñón 50 ries
Time Se-
Pieza 50 ries

La información de las llegadas o “arrivals” se introdujo al modelo, ver tabla 14.3,


así: las entidades piñón y pieza llegan, una por una, a la primera instalación re-
cepción1. Los piñones están llegando uno cada cinco minutos y las piezas llegan
una cada siete minutos. Se generan infinitas ocurrencias, lo cual quiere decir que
durante el tiempo de simulación siempre estarán llegando entidades al sistema.
Tabla 14.3
Entity Location Quantity First Time Occurrences Frequency Logic Disable
Piñón Recepción1 1 0 Infinite 5 No
Pieza Recepción1 1 0 Infinite 7 No

Se definió una red de movimientos o Path Network, llamada desplazamientos, con


16 trayectorias o Paths bidireccionales, haciendo coincidir cada una de las loca-
tions con un nodo de la red, mediante las interconexiones o interfaces. La red es
de tipo Passing, o sea que las entidades (los 4 operarios que se crearan mas ade-
lante como recursos) pueden adelantar a otras durante la simulación. En el campo
Time/Speed se puede introducir información en el sistema sobre la distancia de
cada tramo de la red y la velocidad a la que se mueven las entidades y los recur-
sos en la red de movimiento. En este caso se tomó la opción Tiempo, que la asu-
me el ProModel® automáticamente.

Esta información se introdujo en el modelo mediante el menú Build-Path Net-


works, con los datos de la tabla 14.4.
Tabla 14.4
Name Type Ti- Paths Interfa- Nodes
me/Speed ces
Desplazamiento Passing Time 16 9 9

A continuación, en la tabla 14.5, se presenta la descripción de los nodos de la red,


sus interfaces y el tiempo de tránsito entre los nodos.
Laboratorio de Simulación Nº 14 122
_______________________________________________________________________________________

Tabla 14.5
Interfaces de los nodos Nodos de la red y tiempo de tránsi-
to
con las estaciones
entre los nodos

Node Location
Nl Recepción1
N2 Limpieza
N3 Recepción2
N4 Torno

N5 Recepción3
N6 Fresa
N7 Paletizadora
N8 Recepción4
N9 Inspección

La red arriba descrita se presenta en la figura 14.1 de la pantalla siguiente.


Laboratorio de Simulación Nº 14 123
_______________________________________________________________________________________

Figura 14.1. Panorama de la distribucion del sistema correspondiente al modelo


de este laboratorio

En el modelo se incluyeron cuatro operarios, mediante el menú Build-Resources,


con la siguiente información:

Name Units DownTimes Statistics Specifications Search Logic Points


Operario 4 None By unit Desplazamiento None 0 1

Al hacer click en Specifications aparecerá una ventana con dicho nombre. Allí se
define Path Network con su nombre, esto es, Desplazamiento, tambien se define
Home como el nodo 1 (N1, que está asociado con Recepción1 mediante una in-
terface) y se marca Closest Resource. Esta información le dice al modelo que los
operarios se mueven de acuerdo con las trayectorias de la red Desplazamientos
—que se ha definido previamente—, que el sitio de trabajo de los operarios es el
nodo 1, o sea, la recepción1, a donde se dirigirán cuando no estén ocupados, y
que se debe utilizar el operario que esté más cercano a la instalación en donde se
requiera. Las demás se ajustan automáticamente.

Al hacer click en Points aparecerá una ventana, en donde se le definen las coor-
denadas al nodo 1 como (-16, 24). Esto le permitirá al sistema ubicar cartesiana-
mente todas las instalaciones del modelo.

Se utilizaron tres atributos (attributes), que son “supervariables” que asignan un


atributo, en este caso el tiempo de llegada al sistema de cada una de las entida-
des. Obsérvese que se usa la palabra general cuando las dos entidades piñón y
pieza entran simultáneamente en el sistema. Se incluyeron en el sistema median-
te el menú Build-Attributes, con la siguiente información:

Identification Type Classification


Laboratorio de Simulación Nº 14 124
_______________________________________________________________________________________

Att_piñon Integer Entity


Att_pieza Integer Entity
Att_general Integer Entity

Se utilizaron 17 variables, para medir los siguientes parámetros del proceso:

Tasas de los cuellos de botella (Rb)


Tiempos de proceso (Tp)
Tiempos de ciclo (Ct)
Inventarios en proceso (Wip)
Inventario_<pieza ó piñon> promedio (Inv_pieza_promedio o
Inv_piñon_promedio).

La información se introdujo en el modelo mediante Build-Variables (global), con


los siguientes datos:

Identification Type Initial Value


Rb1 Real o
Rb2 Real o
Rb3 Real o
Rb4 Real o
Tp1 Integer o
Tp2 Integer o
Tp3 Integer o
Tp4 Integer o
Ct_piñon Real o
Ct_pieza Real o
Ct_general Real o
Wip_piñon Integer o
Wip_pieza Integer o
Wip_general Integer o
Inv_piñon_promedio Real o
Inv_pieza_promedio Real o
Inv_general_promedio Real o

Los contadores de las variables se van colocando en el layout (ver figura 14.2).
Laboratorio de Simulación Nº 14 125
_______________________________________________________________________________________

Figura 14.2

El lugar en el layout donde se ubican las variables puede encabezarse con el le-
trero Indicadores. Los nombres de las variables y el de Indicadores se hacen con
Build-Background Graphics-Front of the Grid.
Se definió también una subrutina (subroutine) llamada id, mediante el menú Build-
Subroutines, de la siguiente manera:

Identification Type Parameter Logia


IF Ct_pieza <> 0 THEN
Inv_pieza_promedio = Wip_pieza /Ct_pieza
ELSE
Inv_pieza_promedio = 0
IF Ct_piñon <> 0 THEN
Inv_piñon_promedio = Wip_piñón/ Ct_piñon
ELSE
Inv_piñon_promedio =0
IF Ct_general <>0 THEN
Inv_general_promedio = Wip_general/
Ct_general ELSE
id None Inv_general_promedio = 0

Esta subrutina id ejecuta lo siguiente: si el tiempo de ciclo es diferente de cero,


calcula entonces el inventario promedio como el Wip dividido por el tiempo de ci-
clo; de lo contrario, hace el inventario promedio igual a cero. Su papel es evitar
que en el proceso aparezca una división por cero, debido a que el tiempo de ciclo
sólo se calcula hasta cuando haya salido la primera pieza.
Laboratorio de Simulación Nº 14 126
_______________________________________________________________________________________

El proceso o processing se definió mediante el menú Build-Processing. Como el


proceso es un poco largo, se irá comentando en grupos de cuatro instrucciones:

Out- Move Lo-


Entity Location Operation put Destination Rule gic
REAL x
6
Id() MOVE
Att_piñon=CLOCK() WITH Ope-
Inc Wip_piñon rario THEN
Piñon Recepción1 Inc Wip_general Piñon Limpieza First 1 FREE
REAL x
Id()
Tp1=1 MOVE
x = n(Tp1,.8) WITH Ope-
Rb1=1/x rario THEN
Piñon Limpieza WAIT x Piñon Recepción2 First 1 FREE
MOVE
REAL x WITH Ope-
Id() rario THEN
Piñon Recepción2 Piñon Torno First 1 FREE
REAL x
Id()
Tp2=6 MOVE
x = n(Tp2, 1) WITH Ope-
Rb2=1/x rario THEN
Piñon Torno WAIT x Piñon Recepción3 First 1 FREE

En la primera instrucción, la entidad piñón llega a la instalación recepción1 e inicia


la siguiente operación: la subrutina id() chequea si Ct_piñón, Ct_pieza,
Ct_general, son diferentes de cero, o sea, verifica si los tiempos de ciclo del piñón,
de la pieza y el general son diferentes de cero. Mediante la instrucción atributo =
clock (), el programa coloca la hora que está marcando el reloj de la simulación,
en el momento en que entra la entidad piñón en el sistema, en el atributo
att_piñón (es el mismo efecto de una persona que marca tarjeta en el reloj de en-
trada). Después, el programa incrementa las variables Wip_piñón y Wip_general,
en donde se están contando y acumulando los inventarios en proceso de piñones
y en general de piñones y piezas, mediante la instrucción INC.

Después la entidad piñón es enviada a Limpieza, pasando el primer piñón que se


encuentre disponible. Uno de los cuatro operarios recoge el piñón en recepción1,
lo lleva hasta limpieza y queda libre, para retornar a su sitio de trabajo, en el no-
do1 o recepción1. Esto se realiza mediante las dos últimas instrucciones, First 1 y
MOVE WITH Operario THEN FREE, que se encontraran de nuevo de aquí en
adelante, de manera que no se comentarán más.

6
Recuerde que el tiempo de transito entre las estaciones Recepcion1 y limpieza (nodos N1 y N2) está dado en
la tabla 14.5, el cual es de 0.16 min.
Laboratorio de Simulación Nº 14 127
_______________________________________________________________________________________

En la segunda instrucción, mediante REAL x, el programa crea una variable real x


en donde se va a almacenar un tiempo definido por una distribución normal con
media Tp1 y desviación estándar 0.8. En este paso se almacena en la variable
Tp1 el valor 1, que corresponde al tiempo medio de proceso (que sigue una distri-
bución normal) en la estación Limpieza. A continuación, en la variable Rb1, que
es la tasa del cuello de botella de la Limpieza, se guarda el valor 1/x. Con WAIT x
el programa hace que la entidad piñón espere un tiempo n(1 ,0.8) en la Limpieza.

En la tercera instrucción, la entidad piñón es llevada desde la recepción2 hasta el


torno por uno de los cuatro operarios.

En la cuarta instrucción, la entidad piñón es llevada desde el torno hasta la recep-


ción3 por uno de los cuatro operarios.
Estas son las siguientes cuatro instrucciones:

Out- Move Lo-


Entity Location Operation put Destination Rule gic
MOVE
REAL x WITH Ope-
Id() rario THEN
Piñon Recepción3 Piñon Fresa First 1 FREE
REAL x
Id()
Tp3=5 MOVE
x = n(Tp3,.4) WITH Ope-
Rb3=1/x rario THEN
Piñon Fresa WAIT x Piñon Recepción4 First 1 FREE
MOVE
REAL x WITH Ope-
Id() rario THEN
Piñon Recepción4 Piñon Inspección First 1 FREE
REAL x
Id()
Tp4=2 MOVE
x = n(Tp4, .2) WITH Ope-
Rb4=1/x rario THEN
Piñon Inspección WAIT x Piñon Paletizadora First 1 FREE
Este grupo de instrucciones es similar a las del grupo anterior. Las cuatro instruc-
ciones siguientes son:
Laboratorio de Simulación Nº 14 128
_______________________________________________________________________________________

Destina
Out- tion
Entity Location Operation put Rule Move Logic
Ct_piñon=
CLOCK() - att_piñon
Ct_general=Ct_piñon
Id()
REAL x DEC Wip_piñon
Piñon Paletizadora Piñon EXIT First 1 DEC Wip_general
REAL x
Id()
Att_pieza=CLOCK()
INC Wip_pieza
INC Wip_general MOVE WITH Operario
Pieza Recepción1 WAIT x Pieza Limpieza First 1 THEN FREE
REAL x
Id()
Tp1=2
x = n(Tp1, .5)
Rb1=1/x MOVE WITH Operario
Pieza Limpieza WAIT x Pieza Recepción2 First 1 THEN FREE
REAL x
Id()
Pieza Recepción2 Pieza Fresa First 1 MOVE WITH Operario THEN FREE

En este grupo de instrucciones se observa:


En la primera instrucción, la entidad piñón abandona el sistema luego de pasar
por la paletizadora, de manera que deja de ser inventario en proceso (Wip), para
convertirse en producto terminado y, por tanto, en Throughput. Los inventarios en
proceso Wip....piñón y Wip....general se decrementan, mediante la instrucción
DEC. Se calcula el tiempo de ciclo del piñón, restando del tiempo actual de la si-
mulación (que debe estar marcando el reloj en el momento en que el piñón sale
del sistema) el tiempo de entrada que estaba guardado en el atributo att_piñón. A
continuación, se toma como tiempo de ciclo general el tiempo de ciclo del piñón.
Las demás instrucciones de este grupo son similares a las anteriores.

Las siguientes cuatro instrucciones son:

Entity Location Operation Output Destination Rule Move Logic


REAL x
Id()
Tp3=3
x = n(Tp3,.6)
Rb3=1/x MOVE WITH Ope-
Pieza Fresa WAIT x Pieza Recepción3 First 1 rario THEN FREE
REAL x MOVE WITH Ope-
Pieza Recepción3 Id() Pieza Torno First 1 rario THEN FREE
Pieza Torno REAL x Pieza Recepción4 First 1 MOVE WITH Ope-
Laboratorio de Simulación Nº 14 129
_______________________________________________________________________________________

Id() rario THEN FREE


Tp2=4
x = n(Tp2, 1)
Rb2=1/x
WAIT x
REAL x MOVE WITH Ope-
Pieza Recepción4 Id() Pieza Inspección First 1 rario THEN FREE

En este grupo las instrucciones son similares a las anteriores. Las dos últimas ins-
trucciones son:

Out-
Entity Location Operation put Destination Rule Move Logic
REAL x
Id()
Tp4=6
x = n(Tp4,.2)
Rb4=1/x
Pieza Inspección WAIT x Pieza Paletizadora First 1 MOVE WITH Operario THEN FREE
Ct_pieza=
CLOCK() –Att_pieza
Ct_general=
REAL x 7
Pieza Paletizadora Ct_pieza
Id()
DEC Wip_pieza
Pieza EXIT First 1 DEC Wip_general

Estas instrucciones también son similares a las anteriores.

Para ilustrar las salidas de la simuluacion se presenta el resultado de ella (en la


figura 14.3) para el caso en el que se hacen llegar los piñones y las piezas al sis-
tema, según tabla 14.3.

7
Observe que la variable Ct_general, que es global, y que en este momento guarda el tiempo de ciclo de la
pieza (Ct_pieza), tambien está siendo utilizada para guardar el tiempo de ciclo del piñon (Ct_piñon) por lo
que está siendo sobre-escrita.
Laboratorio de Simulación Nº 14 130
_______________________________________________________________________________________

Figura 14.3. Resultados de la simulación correspondientes a la práctica No. 14

ANALISIS DE RESULTADOS.

El modelo se corrió durante 8 horas con la entidad pieza y piñon entrando al sis-
tema como se describió en el modulo de llegadas (“Arrivals”), ver tabla 14.3.

Como se observa en los valores de las variables presentados en la toma de pan-


talla anterior (ver figura 14.3), el cuello de botella lo constituye el torno (Rb2:
8
0.15) . Además se observa que el tiempo de ciclo del piñón (295.17 minutos) es
mayor que el de la pieza (en el momento de terminarse la simulacion). También
se puede notar que el inventario en proceso del piñón, en el momento en que ter-
minó la simulación, era mayor en 18 unidades respecto al inventario en proceso
de las piezas. Note además, que en el momento de terminar la simulación, el
número promedio de piñones con respecto al tiempo de ciclo del último piñón
(Inv_piñon_promedio) que sale del sistema es de 0.21 piñones/minuto
(62/295.17).

La siguiente grafica Inventario en proceso (figura 14.4), muestra como el inventa-


rio en proceso aumenta a medida que transcurre el tiempo. Lo anterior evidencia
que el inventario tiende a crecer indefinidamente.
Figura 14.4. Inventario en proceso

8
Observe que esto es una simplificación ya que la variable global Rb2 está siendo utilizada por las piezas y
por los piñones en el torno. Además debe entenderse que la cifra de 0.15 mostrado por la variable corresponde
al valor de la variable Rb2 al momento de terminarse la simulación y no distingue si lo que pasó por el torno
era una pieza o un piñon.
Laboratorio de Simulación Nº 14 131
_______________________________________________________________________________________

La gráfica tiempo de ciclo (ver figura 14.5) muesta que cada vez se demora mas
una pieza ó un piñon en pasar por todo el proceso.

Figura 14.5. Tiempos de ciclo para las piezas y piñones

La siguente gráfica (ver figura 14.6) muestra los inventarios promedios en proce-
so a lo largo del tiempo de la simulación ( Inv_piñon_promedio =
Wip_piñon/Ct_piñon; Inv_pieza_promedio = Wip_pieza/Ct_pieza) relaciona las
dos variables mostradas en las figuras 14.4 y 14.5 anteriores y muestra que la
Laboratorio de Simulación Nº 14 132
_______________________________________________________________________________________

tasa de crecimiento del inventario promedio con respecto al tiempo tiende a esta-
bilizarse después de aproximadamente 6 horas (ver la figura 14.5 siguiente) en
0.20 piñones/min y en 0.13 piezas/min.

Lo anterior quiere decir que a medida que pasa el tiempo el inventario promedio
de piñones y piezas tiende a crecer sin límite, como se evidencia en la figura 14.4.

Figura 14.6

La gráfica de la figura 14.7, “Piezas vendibles por hora”, muestra cuantas piezas
completamente terminadas salen del sistema en cada una de las horas de la si-
mulación. Así, por ejemplo en la primera horas salieron 2 piezas, en la segunda
hora 4 piezas y durante las tres siguientes horas (de la hora 2 a la hora 5) salieron
cada hora 3 piezas, para un total de 9 piezas en ese período de 3 horas y un total
de 25 piezas en las 8 hr de simulación.

Figura 14.7
Laboratorio de Simulación Nº 14 133
_______________________________________________________________________________________

De igual manera se interpreta la figura 14.8 siguiente de piñones vendibles por


hora, que muestra que al final de las 8 horas de simulación se han producido 35
piñones vendibles.

Figura 14.8

Como se observó en esta simulación, si las dos entidades entran al sistema el


cuello de botella lo constituye el torno. Así, que la instalación que marca el ritmo
de la producción es el torno, de manera que Juan Carlos deberá preocuparse de
que esta máquina esté funcionando permanentemente. Esto significa que habrá
que programarle mantenimiento preventivo siempre, lo mismo que mantenimiento
predictivo y correctivo. Además, el deberá asegurarse de que a esta máquina no
le falten materiales y de que los que lleguen cumplan con los requisitos de calidad
establecidos. Debe además quedar claro que se simuló el comportamiento de un
sistema “push”, en el cual se trata de trabajar continuamente buscando obtener
el máximo de “Througput y que en este sistema como se observó en la figura
14.4 el inventario en proceso aumenta a medida que transcurre el tiempo. Así,
que debe quedar claro como en estos sistemas push generalmente se dispara el
WIP al tratar de optimizar el Throughput.

Juan Carlos ahora tiene evidencia para recomendar a su gerente la implementa-


ción de un sistema pull que controle el WIP, con el fin de mejorar la productividad.

A manera de referencia a continuación se incluye un fragmento de la salida es-


tadística generada por el software ProModel para este modelo.
Laboratorio de Simulación Nº 14 134
_______________________________________________________________________________________

Taller_1:
Analize como cambian estas estadísticas cuando:
1. Se corre el modelo 16 horas.
2. Se entra solo el piñon al sistema. Esto se hace en el menú “arrivals—
colocando “yes” en el campo “disable” de la entidad que no se quiere que
entre al sistema.
3. Se entra solo la pieza al sistema
Laboratorio de Simulación Nº 15 135
_______________________________________________________________________________________

2.15 PRÁCTICA # 15
Esta práctica corresponde a un Modelo tipo “push” como el de la práctica 14 anterior, pero permi-
tirá que el estudiante compare un sistema con inventario tipo push con un sistema tipo pull como
el que será presentado en la práctica No. 16
Esta práctica es una adaptación a la que aparece en el libro “Simulación con ProModel- Casos de
producción y logística”. Luis Ernesto Blanco Rivero, Ivan Dario Fajardo Piedrahita. Editorial Escuela
Colombiana de Ingeniería, Mayo 2001, pags. 93 a 102).

Sistema “Push” vs sistema “Pull”

El gerente de Industrias ECI, en una reunión en el Club de Ejecutivos, escuchó


que los sistemas de planeación y control de la producción pull, inventados por los
japoneses, eran mejores que los sistemas push, creados por los estadounidenses,
de manera que llamó a su ingeniero de producción, Juan Carlos Rodríguez, para
que le diera un concepto sobre el tema.

Juan Carlos recordó inmediatamente que los inventarios se han usado, tradicio-
nalmente, como colchones de ajuste contra la falta de materiales, cambios brus-
cos en la demanda, paradas de las máquinas y faltas de coordinación en la pla-
neación de la producción; sin embargo, muchas veces el exceso de inventarios
también puede causar mayores problemas que los originales de escasez, al con-
gestionar el sistema y ocasionar “trancones” en el flujo de los materiales.

Más tarde, Juan Carlos revisó su biblioteca y encontró la historia del ingeniero ja-
ponés Taiichi Ohno, quien trabajó para Toyota, en donde tenía la tarea de coordi-
nar la producción y la entrega de materiales y partes, con la producción y entrega
de subensambles, con los requerimientos de productos finales. El problema era
complejo por la gran cantidad de componentes y por el elevado número de opera-
ciones que tiene un proceso de producción de automóviles. En un viaje a Estados
Unidos, al observar el funcionamiento de los grandes supermercados, Ohno advir-
tió que el secreto de éstos estaba en conservar pequeñas cantidades de inventa-
rio (la de los exhibidores), de las que se surten los clientes, y pedir a los proveedo-
res a medida que se agotaban las existencias, de tal modo que el inventario siem-
pre estaba a la vista y se encontraba limitado.

Ohno fue el primero en utilizar la palabra pull (halar) para indicar que es el cliente
quien “hala” el sistema de inventarios. “Si el cliente no demanda, el inventario
no aumenta”. El sistema pull que desarrolló Ohno se basó en dos grandes ideas:
1. El Just In Time (JIT) y 2. La Automatización con Operarios Incluidos (Autono-
mation).

En su filosofía de producción Just In Time (Justo A Tiempo), Ohno imagina la pro-


ducción como un flujo continuo de productos en proceso, a través de operaciones,
con inventarios en cada una de ellas, funcionando como “un supermercado de
partes y subensambles”, de manera que el producto que fluye va “tomando” las
Laboratorio de Simulación Nº 15 136
_______________________________________________________________________________________

partes o subensambles necesarios en cada operación y a medida que éstas se


van gastando, se hacen pedidos a los proveedores, con el compromiso de que la
reposición se haga en el instante preciso en que se necesita.

Se capacita además a los operarios para que puedan manejar varias máquinas
simultáneamente, se establecen equipos de trabajo y círculos de mejoramiento
para estudiar y resolver los problemas relacionados con la calidad, y se hace una
inmensa inversión en tecnología: se diseñan sistemas de aprestamiento (set up)
muy rápidos y a prueba de errores (fool proof) en las máquinas, se ubican las
máquinas muy cerca unas de otras, formando como una especie de U (celdas de
manufactura), para minimizar el número de operarios y el número de desplaza-
mientos de éstos, y se establecen sistemas de información visuales para poder
parar la producción en caso de problemas, dentro de lo que Ohno llama Autono-
mation.

Revisando sus apuntes de clase, Juan Carlos encontró que el creador del sistema
Material Requirements Planning (MRP), prototipo de los sistemas push (empujar),
fue Joseph Orlicky, quien como programador de IBM aprovechó las ventajas del
manejo computarizado de bases de datos para diseñar una nueva forma de calcu-
lar los inventarios, para productos con demanda dependiente, incluyendo además
el tiempo como una nueva variable en el sistema.

El MRP es, entonces, un muy buen sistema de información, porque calcula la lista
de materiales necesarios para cada orden y el tiempo en el cual se debe terminar
ésta. Posteriormente se desarrollaron sistemas MRP mucho más complejos, como
el Mapics, el Vipics y otros conocidos. Estos son los sistemas MRP II (Materials
and Resources Planning), que incluyen módulos para el cálculo de capacidades,
costos y rutas de producción alternativas, hasta llegar a los más modernos, que
incluyen módulos de distribución y servicio al cliente como el ERP.
Juan Carlos hojeó otro de los libros de Eliyahu Goldratt, denominado La carre-
ra 9, porque allí, le parecía recordar, se explicaba otro de los sistemas pull, deno-
minado DBR (Drum Buffer Rope), que se puede traducir como tambor, inventario
o colchón de seguridad, cuerda. En este prototipo de los sistemas logísticos de
fabricación sincronizada fundamentalmente se trata de reducir la dispersión cau-
sada por las diferentes capacidades de las operaciones y por los niveles de inven-
tario, en un proceso de producción.

Las ideas centrales de este sistema consisten en buscar, primero que todo, las
operaciones cuellos de botella, que son las más lentas y las “que marcan el paso”
de la producción, para procurar que siempre trabajen al ritmo planeado, que se-
meja un tambor (drum), y asegurar que a estas operaciones no les falten materias
primas.
9
Eliyahu Goldratt y Robert Fox. La carrera, Mexico. Ed. Castillo, 1995, 273 p..
Laboratorio de Simulación Nº 15 137
_______________________________________________________________________________________

Esto se hace mediante un inventario de seguridad (Buffer) que se mantiene


siempre en dichas operaciones. La cuerda (Rope) que gráficamente une la pieza
que se está fabricando en el cuello de botella, con la última materia prima del in-
ventario de seguridad, no es otra cosa que un sistema para informar el instante en
que debe entrar una nueva materia prima al inventario, para que éste no disminu-
ya.

La segunda idea importante es que el tambor (que marca el ritmo de producción)


no debe “sonar” si no existe demanda para los productos. Sólo se produce cuando
hay demanda. De manera que como en el sistema JIT, es el cliente quien “hala” la
producción. Cada golpe de tambor equivale a una “autorización” para producir.

Juan Carlos imaginó que el “tamborilero” no podía ser otra persona que “el pro-
gramador de la producción”, quien debe organizar las órdenes de pedido de
acuerdo con su fecha de entrega o en las secuencias previamente establecidas,
preparar los materiales, organizar a los operarios, llenar los inventarios de seguri-
dad y finalmente empezar a “tocar su tambor”.

En su reciente lectura del libro Factory physics 102, había visto otro sistema pull,
conocido con la denominación de sistema Conwip (Constant Work In Process),
creado por Hopp y Spearman, recogiendo lo más positivo de los sistemas JIT,
DBR y MRP. La idea central de este sistema consiste en establecer un límite al in-
ventario en proceso o WIP, no permitiendo entrada a ningún material o parte, has-
ta que haya salido un producto terminado, esto es, se haya incrementado el
Throughput. Lo primero que se debe hacer en este caso es definir “un nivel de
inventario constante” y como se explicó en la práctica 14, un valor candidato será
el nivel de inventario crítico, Wo.

Pero el problema de Juan Carlos para dar un concepto al gerente de Industrias


ECI iba más allá de la simple definición de los dos sistemas (push y pull). Se ne-
cesitaba la experimentación de los dos sistemas para compararlos, y la mejor for-
ma de hacerlo era mediante simulación.

Parámetros que se deben considerar en la comparación


Juan Carlos nuevamente utilizó los siguientes parámetros de producción:

Inventario_<pieza> promedio (Inv_pieza_promedio), definido como:


Inv_pieza_promedio = Wip_pieza /Ct_pieza

Work In Process (WIP) como cantidad de materiales y productos en proceso que


se encuentran en el sistema, que se mide en unidades, y Cycle Time (CT), o
10
Wallace Hoop y Mark Spearman, Factory phvsics, foundations of manufacturing managment, Boston, Second Edition
lrwin-McGraw Hill 2001.
Laboratorio de Simulación Nº 15 138
_______________________________________________________________________________________

tiempo que emplea un producto desde que ingresa en el sistema hasta que sale,
cuantificable en la unidad de tiempo con la que se esté trabajando, para la compa-
ración entre los dos sistemas.

Modelando el sistema push (MRP)

Se consideraron once estaciones o locations: Recepción, Pulidora, Rectificadora,


Troqueladora, Producto terminado. Las tres máquinas tienen una zona para mate-
rias primas (ZonaMat_dos ó tres ó cuatro) y otra para producto terminado (Zo-
naPt_dos, ó tres ó cuatro).

Locations (Estaciones).

Entities (Entidades).
En el modelo se incluyeron cuatro entidades de flujo de valor agregado: Pieza,
Pieza_2, Pieza_3, Pieza_4.

La entidad Pieza (que juega el rol de materia prima) llega a la primera estación del
proceso, que es Recepción (que en éste modelo juega el rol de estación de en-
Laboratorio de Simulación Nº 15 139
_______________________________________________________________________________________

trada de materia prima al proceso de manufactura). Las demás entidades de flujo


agregado (Pieza_2, Pieza_3 y Pieza_4) son “piezas transformadas” es decir resul-
tado de alguna operación previa.

Arrivals (Llegadas).
De acuerdo a lo mencionado en el párrafo anterior las llegadas se definieron así:

Path Networks (Red de desplazamientos).


Se definió una red de movimientos (path network), llamada Desplazamientos,
con trayectorias (paths), bidireccionales, que interconectan todas las estaciones,
entre si, y 11 interfaces que unen las estaciones con los nodos. La siguiente es la
información que se introdujo en el modelo.

A continuación se presenta la captura de pantalla con los nodos de la red y poste-


riormente la información sobre las interfaces y tiempos de recorrido entre cada par
de nodos.
Laboratorio de Simulación Nº 15 140
_______________________________________________________________________________________

Interfaces de los nodos con las esta- Nodos de la red y tiempo de


ciones tránsito entre los nodos

Resources (Recursos).

En el modelo se utilizan dos tipos de recursos: seis operarios y dos “operator”,


información que se introduce usando el menú Build-Resources.

La velocidad del recurso “Operario” se especifica haciendo “click” en el campo


“Operario” y luego “click” en el campo “Specs”, y llenando en el campo “Motion”-
“Speed Empty” con el valor de N(100,20) mpm y en “Speed (full)” también con el
mismo valor de N(100, 20) mpm. Lo anterior quiere decir que el/los “Operario”(s)
se moverá(n) con un valor de velocidad que se distribuye como una normal con
una media de 100 millas/minuto y una desviacion estandar de 20. De igual mane-
ra deberá fijarse la velocidad de los otros dos “Operator” de tal manera que en el
campo “Speed Empty” figure, E(100) mpm y en el campo Speed (full): N(50,20).
La expresion, E(100), significa que la velocidad de cada “Operator” será un valor
Laboratorio de Simulación Nº 15 141
_______________________________________________________________________________________

aleatorio que que se distribuye exponencialmente con un valor esperado de 100


millas por minuto.

Attributes (Atributos).
Se utilizará un atributo para almacenar la hora en que llega cada entidad (Pieza)
al sistema (recepción), con la siguiente información:

Variables Globales.
Además se incluyeron seis variables, con los datos que se relacionan a continua-
ción:

Subroutines (Subrutinas).
Se utilizó la Subrutina Call_inventario_promedio para calcular el inventario pro-
medio de las piezas por unidad de tiempo.
Laboratorio de Simulación Nº 15 142
_______________________________________________________________________________________

Processing (Procesamiento).
Como el proceso o processing es extenso, se comentarán las instrucciones en
grupos de cuatro:

Entity Location Operation Output Destination Rule Move Logic


INC wip Zona- First MOVE WITH
Recepción Pieza
Att = CLOCK() Mat_dos 1 Operario OR
Pieza Call_inventario_prome Operator
dio() THEN
FREE
Zona- Call_inventario_prome First MOVE WITH
Pieza Pieza_2 Pulidora
Mat_dos dio() 1 Operario OR
Operator
THEN
FREE
Pie- Call_inventario_prome First MOVE WITH
Pulidora Pieza_2 ZonaPT_dos
za_2 dio() 1 Operario OR
WAIT 10 Operator
INC wip2 THEN
FREE
Pie- Call_inventario_prome Zona- First MOVE WITH
ZonaPT_dos Pieza_2
za_2 dio() Mat_tres 1 Operario OR
Operator
THEN
FREE

En la primera instrucción la llegada de una pieza a Recepción hace incrementar la


variable wip, o sea el inventario en proceso; se guarda el tiempo de entrada de la
entidad en el atributo Att y se calcula el inventario promedio mediante la subrutina
Call_inventario_promedio(). La entidad que entra sale con destino a la instalación
ZonaMat_dos en el mismo orden de llegada, transportada por el recurso Operario
o por el recurso Operator, y tan pronto llegan a la instalación ZonaMat_dos el re-
curso regresa a su base.

En la segunda instrucción, la entidad pieza entra a la instalación ZonaMat_dos; se


calcula la subrutina Call_inventario_promedio()) y la entidad que sale es Pieza_2
(aún no ha sufrido ningún proceso de transformación) con destino a la instalación
Pulidora, transportada por el recurso que esté disponible entre el Operador y el
Operator.

En la tercera instrucción la entidad Pieza_2 entra en la instalación Pulidora y se


calcula la subrutina Call_inventario_promedio()); espera un tiempo de procesa-
miento de 10 minutos y se incrementa el inventario en proceso (wip2) de ese tipo
de pieza pulida (pieza_2) en esa estación y sale con destino a la instalación Zo-
naPT_dos, llevada por el recurso disponible. En la cuarta instrucción, Pieza_2 en-
tra a la instalación ZonaPT_dos; se calcula la subrutina
Laboratorio de Simulación Nº 15 143
_______________________________________________________________________________________

Call_inventario_promedio() y sale con destino a la instalación ZonaMat_tres, lle-


vada por el recurso disponible.

Entity Location Operation Output Destination Rule Move Logic


MOVE WITH
Pie- ZonaMat_tres Call_inventario_prome Rectificado- First Operario OR
Pieza_3
za_2 dio() ra 1 Operator THEN
FREE
WAIT 20
MOVE WITH
DEC wip2
Pie- Zo- First Operario OR
Rectificadora INC wip3 Pieza_3
za_3 naPT_tres 1 Operator THEN
Call_inventario_prome
dio() FREE
MOVE WITH
Pie- Call_inventario_prome Zona- First Operario OR
ZonaPT_tres Pieza_3
za_3 dio() Mat_cuatro 1 Operator THEN
FREE
MOVE WITH
Pie- Zona- Call_inventario_prome Troquelado- First Operario OR
Pieza_4
za_3 Mat_cuatro dio() ra 1 Operator THEN
FREE

En estas cuatro instrucciones no hay nada nuevo, distinto de observar que al pa-
sar una entidad de una operación a otra, se decrementa el wip de la anterior y se
incrementa el wip de la siguiente, y que la entidad se va transformando: Pieza2 en
Pieza3, etcétera.

Destina-
Entity Location Operation Output tion Rule Move Logic
WAIT 15
MOVE WITH
DEC wip3
Zo- Operario OR
Pie- INC wip4
Troqueladora Pieza_4 naPt_cuatr First 1 Operator
za_4 Call_inventario_prome
o THEN
dio()
FREE
ct = CLOCK() – Att 11
DEC wip4
MOVE WITH
Operario OR
Pie- Call_inventario_prom Producto_
ZonaPt_cuatro Pieza_4 First 1 Operator
za_4 edio() terminado
THEN
FREE

11
Dado que se ha terminado la fase productiva se calcula el correspondiente tiempo de ciclo
Laboratorio de Simulación Nº 15 144
_______________________________________________________________________________________

Pie- Producto_ DEC wip


Pieza_4 EXIT First 1
za_4 terminado Call_inventario_prom
edio()

En el grupo de instrucciones anterior vale la pena comentar que el tiempo de ci-


clo de la transformación de la pieza hasta convertirla en una pieza del tipo 4 (pie-
za_4) se calcula en la primera instrucción, tomando la hora del reloj en la estación
troqueladora y restándole el contenido de Att, atributo en el cual se guardó el
tiempo de llegada de la pieza a la estación que llamamos recepción.

RESULTADOS
El siguiente es el resultado de la simulación:

Figura 15.1. Resultados parciales de la práctica 15

ANALISIS DE RESULTADOS.

El modelo se corrió durante 100 horas con la entidad pieza entrando al sistema
como se describió en el modulo de llegadas (“Arrivals”).

Como se observa en la toma de pantalla anterior (ver figura 15.1), el tiempo de


ciclo (tiempo desde que se inicia el proceso de manufactura hasta la salida de la
estación troqueladora) para la última salida es de 1618.73 minutos.
Laboratorio de Simulación Nº 15 145
_______________________________________________________________________________________

La gráfica tiempo de ciclo (ver figura 15.2) para cada una de salidas muestra que
cada vez se demora más una pieza en pasar por todo el proceso.

Figura 15.2. Tiempo de ciclo de piezas en la práctica 15

La siguiente grafica Inventario en proceso (figura 15.3), muestra como el inventa-


rio en proceso aumenta a medida que transcurre el tiempo. Lo anterior evidencia
que el inventario tiende a crecer indefinidamente. Observe que al terminar la simu-
lación (hora 100) el inventario de piezas en proceso es de 109 (ver figuras 15.1 y
15.3).

Figura 15.3. Inventario en proceso de las piezas (wip)

La gráfica de la tasa instantánea del inventario (ver figura 15.4) relaciona las dos
anteriores (figuras 15.2 y 15.3) y muestra que la tasa instantánea del inventario
Laboratorio de Simulación Nº 15 146
_______________________________________________________________________________________

con respecto al tiempo tiende a estabilizarse después de aproximadamente 30


horas en 0.07 piezas/min (ver también el resultado de figura 15.1).
Lo anterior quiere decir que a medida que pasa el tiempo el inventario promedio
de las piezas tiende a crecer sin límite (ver la tendencia en la figuras 15.2 y 15.3).

Figura 15.4. Tasa instantánea del inventario (wip/ct)

La gráfica (ver figura 15.5) piezas vendibles por hora (llamadas Throughput)
muestra cuantas piezas completamente terminadas salen del sistema en cada
una de las 100 horas de la simulación. Así, por ejemplo en la primera hora sale 1
pieza, entre la 1 hora y la hora 10 salen 3 piezas cada hora para un total en ese
lapso de tiempo de 27 piezas. El acumulado de las piezas vendibles producidas
durante las 100 hrs de simulación llega a 292 piezas.

Figura 15.5. Piezas vendibles cada hora (Throughput)


Laboratorio de Simulación Nº 15 147
_______________________________________________________________________________________

Para facilitar la referencia a continuación se incluye una parte de las salidas de


ProModel para este modelo.
Laboratorio de Simulación Nº 15 148
_______________________________________________________________________________________
Laboratorio de Simulación Nº 16 149
____________________________________________________________________________________

2.16 PRÁCTICA # 16

Sistema “Pull”
Este es básicamente el mismo sistema anterior pero manejando el inventario con un modelo
tipo “pull”. La anterior comparación permite simular las diferencias entre un sistema push y un
sistema pull.
Esta práctica es una adaptación a la que aparece en el libro “Simulación con ProModel- Casos
de producción y logística”. Luis Ernesto Blanco Rivero, Ivan Dario Fajardo Piedrahita. Editorial
Escuela Colombiana de Ingeniería, Mayo 2001, pags. 102 a 107.

Modelando el sistema “Just in Time –JIT“, tipo Kanban (pull)

Este es básicamente el mismo modelo anterior en el cual se consideraron las


mismas once estaciones o locations: Recepción, Pulidora, Rectificadora, Tro-
queladora, Producto terminado. Las tres máquinas tienen una zona para mate-
rias primas (ZonaMat_dos ó tres ó cuatro) y otra para producto terminado (Zo-
naPt_dos, ó tres ó cuatro).
Nota: repase cuidadosamente la lógica de la práctica 15 anterior, la cual
corresponde a un modelo tipo push, para facilitar la comprensión y lógica de
los cambios que se ralizan en el modelo tipo pull de la presente práctica.

En el modelo de esta práctia 16 se adicionan al modelo de la práctica 15 ante-


rior las siguientes estaciones:

Locations (Estaciones).
En modulo de “locations” debe adicionarse a las estaciones creadas en la
práctica anterior (15) las siguientes:

Figura 16.1. Nuevas estaciones para recibir los Kanbans

Se incluyeron los cuatro sitios relacionados en la tabla anterior para colocar las
órdenes (“kanbans”) de envío de materiales a sus respectivos centros de pro-
cesamiento. En el sistema JIT, como se mencionó anteriormente, la demanda
es “halada” por el cliente.

En la siguiente figura 16.2 se presentan la totalidad de las locations para el


modelo de ésta práctica y la fig. 16.3 el layout correspondiente.
Laboratorio de Simulación Nº 16 150
____________________________________________________________________________________

Figura 16.2. La totalidad de las estaciones para la práctica 16

Figura 16.3. Layout para el modelo tipo pull descrito en la práctica 16.

A continuación se presenta una breve descripción general de cómo funciona


este sistema tipo “pull”, para posteriormente entrar en los detalles particulares
de su modelamiento. La orden del cliente que llamaremos Pedido_cliente se
ubica en la estación Recepcion_kanban_cliente. Si en ese momento existie-
se inventario en la estación de Producto_terminado, el cliente (pedi-
do_cliente) recibirá el producto que solicitó (hace un join entre la pieza_4,-la
que corresponde con el producto terminado que se vende al cliente, la cual ya
Laboratorio de Simulación Nº 16 151
____________________________________________________________________________________

estaría esperando en la estación Producto_terminado, y la orden Or-


den_kanban) Allí mismo se incrementa la variable interna del sistema
“Throughput” de pieza_4.

Si no existiese inventario en la estacion de Producto_terminado, es decir no


hubiesen piezas tipo 4 (pieza_4) listas para ser entregadas al cliente, entonces
se coloca en la estación Recepcion_kanban_troqueladora una solicitud que
llamaremos Orden_kanban la cual autoriza a la estación Troqueladora para
que procese la pieza_3 que está a la espera de su procesamiento en la esta-
ción ZonaMat_cuatro.

Si en la ZonaPT_cuatro, que es el sitio en donde se coloca el producto proce-


sado por la Troqueladora, existese inventario, éste pasaría a la estación Pro-
ducto_terminado.

Si no existiese inventario (pieza_4), en ZonaPT_cuatro (lugar donde se acu-


mulan las piezas_4 que salieron de la troqueladora) se genera una solicitud
que llamaremos orden_kanban la cual autoriza a la estación Rectificadora
para que se procese la pieza_2 que está a la espera de su procesamiento en
la estación ZonaMat_tres.

De la misma manera, si en la ZonaPT_tres, que es el sitio donde se coloca el


producto (pieza_3) procesado por la Rectificadora, existiese inventario, éste
se pasaría a la ZonaMat_cuatro (como pieza_3) Si no, se generará una solici-
tud que llamaremos orden_kanban. Esta solicitud autoriza a la estación Puli-
dora para que se procese la pieza_2 que está (como pieza_1) a la espera de
su procesamiento en la estación ZonaMat_dos.

Nuevamente, si en la ZonaPT_dos, (lugar donde se acumulan las piezas tipo 2


(pieza_2) que salieron de la estación Pulidora existiese inventario éste pasaría
a la estación ZonaMat_tres. Si no, se genera una solicitud que llamaremos
orden_kanban, para que envíe materias primas (las que han sido llamadas
simplemente “pieza”) a la estación recepción.

Es fácil entender que si se dejan vacíos las estaciones de almacenamiento de


las diferentes operaciones (las que arriba han sido llamadas como: Zona-
Mat_dos, ZonaMat_tres, ZonaMat_cuatro y Producto_terminado), la atención
a una orden del cliente se va a demorar todo el tiempo de ciclo, o sea el tiempo
necesario en pedir los materiales, pulir, rectificar, troquelar y enviar como enti-
dad totalmente procesada la pieza_4 a la estación final Producto_terminado.

En la analogía con el supermercado, es como si éste se encontrase vacío y


hubiese necesidad de llamar a cada uno de los proveedores cada que un clien-
te realizase un pedido. Por esta razón en las zonas de producto terminados
(ZonaPt_dos, ZonaPt_tres, ZonaPt_cuatro) debe existir un “inventario de segu-
ridad” para evitar que una orden del cliente se demore todo el tiempo de ciclo,
o sea el tiempo necesario en pedir los materiales, pulir, rectificar, troquelar y
Laboratorio de Simulación Nº 16 152
____________________________________________________________________________________

enviar la pieza_4 como entidad totalmente procesada a la estación final Pro-


ducto_terminado.

Entities (Entidades).
A las 4 entidades (pieza, pieza_2, pieza_3 y pieza_4) creadas en la práctica
anterior (15) deben adicionarse (en este modelo) las entidades (Pedi-
do_cliente) que hace referencia a la solicitud del cliente, Orden_kanban que
hará referencia a la información (kanban) que hala el proceso en un sistema
pull y finalmente la entidad Pedido_cliente_satisfecho, que denota la entrega
del pedido al cliente.

Figura 16.4

Arrivals (Llegadas).
En la práctica anterior se hizo llegar la entidad Pieza (la que juega el rol de ma-
teria prima) a la estación Recepción (que es la estación de entrada de materia
prima al proceso).
En esta práctica (sistema pull) el proceso de llegadas de las materias primas
será halado por los pedidos que realice el cliente. Por lo tanto solo debe hacer-
se llegar la entidad (Pedido_cliente) a la estación Recep-
cion_kanban_cliente con el fin de halar el proceso desde el momento que el
cliente hace un pedido (lo cual es la lógica propia del sistema).

Así que los Arrivals se definieron así:

Figura 16.5

Path Networks (Red de desplazamientos).


En la red “Desplazamientos” (creada en la práctica # 15) deben adicionarse
interfaces para las nuevas estaciones (Recepcion_kanban_pulidora, Recep-
cion_kanban_rectificadora, Recepcion_kanban_troqueladora y Recep-
cion_kanban_cliente). Quedando de la siguiente manera:

Figura 16.6. Red, interfaces y nodos para la práctica 16


Laboratorio de Simulación Nº 16 153
____________________________________________________________________________________

No olvidar crear los recursos como en el modelo anterior, así.


Resources (Recursos).

En este modelo también se utilizan dos tipos de recursos: seis “Operario”(s) y


dos “Operator”, información que se introduce usando el menú Build-Resources.

La velocidad para los 6 recursos, tipo: “Operario” se especifica haciendo “click”


en el campo “Operario” y luego “click” en el campo “Specs”, y llenando el cam-
po “Motion”- “Speed Empty” y el campo “Speed (full)” con un valor de 50 mpm.
Los otros dos “Operator” se mueven tambien, tanto cargados como descarga-
dos, con la misma velocidad de 50 millas por minuto.
Laboratorio de Simulación Nº 16 154
____________________________________________________________________________________

Interfaces de los Nodos con sus respectivas Nodos de la red con el tiempo
Estaciones de tránsito entre nodos

Subroutines (Subrutinas).
Se utilizó la misma Subroutine Call_inventario_promedio creada en la prácti-
ca anterior (15) con el objetivo de calcular el inventario promedio de las piezas
por unidad de tiempo, la cual se incluye de nuevo abajo para facilitar la refe-
rencia.
Laboratorio de Simulación Nº 16 155
____________________________________________________________________________________

Figura 16.7. Subrutina para calcular el inventario promedio

Variables Globales.
Se incluyó una nueva variable (ct_orden), con el fin de evaluar el tiempo que se
demora una orden de pedido desde que llega al sistema (Pedido_cliente), has-
ta el momento que el cliente recibe su pedido y se lo lleva (Pedi-
do_cliente_satisfecho). El modulo de variables queda de la manera como se
muestra en la figura 16.8.

Figura 16.8. Cuadro de variables reales y enteras para el modelo 16

Attributes (Atributos).
En la práctica anterior se utilizó el atributo “Att” para almacenar la hora en que
llega cada entidad (Pieza) a la estación Recepción, adicionalmente en esta
práctica se creará otro atributo “Att_orden” para almacenar la hora en que
llega un pedido (Pedido_cliente) a la estación Orden_pedido_cliente, de tal
forma que el modulo de atributos queda como en la figura 16.9.

Figura 16.9. Atributos usados en el modelo 16


Laboratorio de Simulación Nº 16 156
____________________________________________________________________________________

PROCESSING (Procesamiento).
En seguida se presentan los detalles del modelamiento. En el procesamiento
tenemos:
Move
Entity Location Operation Output Destination Rule Logic
MOVE
WITH
INC wip
Operario
Att=CLOCK()
Pieza Recepción Pieza ZonaMat_dos First 1 OR
Call_inventario_prome
Operator
dio()
THEN
FREE
MOVE
WITH
Call_inventario_prome
Operario
Zona- dio()
Pieza Pieza_2 Pulidora First 1 OR
Mat_dos JOIN 1 Or-
12 Operator
den_kanban
THEN
FREE
MOVE
WITH
Recep-
Orde- Operario
Or- cion_kanb Call_inventario_prome JOIN
n_kanban ZonaMat_dos OR
den_kanban an_pulidor dio() 1
Operator
a
THEN
FREE

MOVE
INC wip2 WITH
WAlT 1O Operario
Pieza_2 Pulidora Call_inventario_prome Pieza_2 ZonaPT_dos First 1 OR
dio() Operator
THEN
FREE

En el grupo de instrucciones de arriba se observa cómo la entidad Or-


den_kanban, (que es un pedido de material para la pulidora, se coloca en el
sitio de las órdenes de la Pulidora, que se ha llamado Recep-
cion_kanban_pulidora), se dirige a ZonaMat_dos y “trae” de allí un material
(pieza) mediante la instrucción JOIN1, porque con ese comando la entidad Or-
den_kanban únicamente “regresa” si encuentra material disponible; de lo con-
trario se queda esperando, de manera que se puedan “almacenar” varias de
ellas.

A medida que se va produciendo en cada estación (Pulidora, rectificadora, y


troqueladora), se va incrementando el respectivo inventario en proceso asocia-
do (wip_i). Cuando se traslada material a la siguiente operación, se decremen-
ta el wip_i de la operación i de procedencia.

12
Recuerde el significado de este JOIN, la Pieza que se encuentra en Zona_Mat_dos solo podrá continuar
con el proceso de trasladarse a la estacion “Pulidora” una vez se haya unido a la Orden_kanban.
Laboratorio de Simulación Nº 16 157
____________________________________________________________________________________

Destina- Move
Entity Location Operation Output tion Rule Logic
MOVE
WITH
Call_ Operario
Zona-
Pieza_2 ZonaPT_dos inventa- Pieza_2 First 1 OR
Mat_tres
rio_promedio() Operator
THEN
FREE
MOVE
WITH
JOIN 1 Or-
Operario
den_kanban Rectifica-
Pieza_2 ZonaMat_tres Pieza_3 First 1 OR
Call_inventario_pr dora
Operator
omedio()
THEN
FREE
MOVE
WITH
Orde- Recep- Orde- Operario
Call_inventario_pr Zona- JOIN
n_kanban cion_kanban_rectificad n_kanban OR
omedio() Mat_tres 1
ora Operator
THEN
FREE

MOVE
DEC wip2 WITH
INC wip3 Zo- Operario
Pieza_3 Rectificadora WAlT 20 Pieza_3 naPT_tre First 1 OR
Call_inventario_pr s Operator
omedio() THEN
FREE

En el grupo de instrucciones anterior se envía una Orden_kanban por materia-


les al sitio donde se colocan las órdenes de la Rectificadora (Recep-
cion_kanban_rectificadora), y ésta “se devuelve” (la Orden_kanban) con el ma-
terial (pieza_2), mediante la instrucción JOIN 1.

Los cuatro registros siguientes son:


Destina- Move
Entity Location Operation Output tion Rule Logic
MOVE
WITH
Operario
Call_inventario_pr Zona-
Pieza_3 ZonaPT_tres Pieza_3 First 1 OR
omedio() Mat_cuatro
Operator
THEN
FREE
Laboratorio de Simulación Nº 16 158
____________________________________________________________________________________

MOVE
WITH
JOIN 1 Or-
Operario
den_kanban Troquela-
Pieza_3 ZonaMat_cuatro Pieza_4 First 1 OR
Call_inventario_pr dora
Operator
omedio()
THEN
FREE
MOVE
WITH
Orde- Recep- Orde- Operario
Call_inventario_pr Zona- JOIN
n_kanban cion_kanban_troquela n_kanban OR
omedio() Mat_cuatro 1
dora Operator
THEN
FREE
DEC wip3 MOVE
INC wip4 WITH
WAlT 15 Zo- Operario
Pieza_4 Troqueladora Call_inventario_pr Pieza_4 naPt_cuatr First 1 OR
omedio() o Operator
ct=CLOCK()- THEN
Att FREE

En la cuarta instrucción (del grupo de registros anterior) se calcula el tiempo de


ciclo (ct) el cual corresponde al tiempo total del procesamiento de una pieza
desde que entra por la estación Recepcion hasta su salida, como pieza_4, por
la estación Troqueladora (tomando la hora de salida de la estación Troquela-
dora mediante el comando (CLOCK()) y restándole la hora de entrada de la
entidad pieza la cual estaba almacenada en el atributo de la entidad, que se
llamó “Att”.

El último grupo de instrucciones es el siguiente:


Laboratorio de Simulación Nº 16 159
____________________________________________________________________________________

Destina-
Entity Location Operation Ouput tion Rule Move Logic
DEC wip
Call_inventar MOVE WITH
Producto
Pieza_4 ZonaPt_cuatro io Pieza_4 JOIN 1 Operario OR
terminado
_promedio() Operator THEN
FREE
INT cant
cant=CONTENTS
(zonaMat_dos)
IF (wip2<=3)
THEN
BEGIN
ORDER 10 Or-
den_kanban
TO
Recep-
cion_kanban_pulidora
IF (cant<=5)
THEN
ORDER N(10,1)
Pieza TO
reception
END
IF (wip3<=0)
Att_orden= THEN
Orde-
Pedi- Recep- CLOCK() BEGIN
n_kanba Producto
do_client ción_kanban_clil Call_inventar First 1 ORDER 5 Or-
n terminado
e ente io den_kanban
_promedio() TO
Recep-
cion_kanban_rectifica
dora
END
IF (wip4<=1)
THEN
BEGIN
ORDER 5 Or-
den_kanban
TO
Recep-
cion_kanban_troquela
dora
END
MOVE WITH
Operario OR
Operator THEN
FREE
Call_inventar
io
DEC wip4
Orde- _promedio() Pedi-
DEC wip
n_kanba Producto JOIN 1 do_client
EXIT First 1 DEC Materia_Prima
n terminado Pieza 4 e_satisfe
CT_orden = cho INC Or-
CLOCK()- den_Satisfecha
Att_orden
Laboratorio de Simulación Nº 16 160
____________________________________________________________________________________

En la lógica de movimiento de la segunda instrucción del grupo de intrucciones


de arriba se hace lo siguiente:

Primero se guarda en la variable entera “INT cant” la información sobre el


número de productos en proceso que hay en la ZonaMat_dos, (pieza). Si,
“cant” es un número menor que cinco, se piden 13 a Recepción entre nueve y
once materiales (n(10,1)). Si el wip3 es menor o igual que cero se “reciben”
cinco órdenes o autorizaciones de producción (Orden_kanban), de las que
están en el depósito de órdenes de la Rectficadora (Recep-
cion_kanban_rectificadora).

De manera similar, si el inventario de productos terminados wip4 es menor que


14
uno , se admiten cinco órdenes (Orden_kanban) de las que están en el de-
pósito de las órdenes de la troqueladora (Recepcion_kanban_troqueladora),
que deberán unirse con pieza_4 (que es producto final después de pasar por
todo el proceso) en la estación Producto_terminado para salir como la enti-
dad Pedido_cliente_satisfecho. La entidad “Pedido_cliente_satisfecho”, co-
rresponde a la entrega al cliente del artículo por él solicitado a través de la en-
tidad Pedido_cliente.

El objeto de toda la segunda instrucción (del cuadro de la página anterior) es


no permitir que los inventarios locales, de las operaciones (ZonaMat_dos, Zo-
naMat_tres, ZonaMat_cuatro se queden sin materiales o productos en proceso.

RESULTADOS
El siguiente es el resultado de la simulación despues de 100 hrs y precargan-
do por solo una vez el sistema con una (1) pieza tipo “pieza_2” en Zona-
Mat_tres y una pieza tipo “pieza_3” en ZonaMat_cuatro. La precarga del siste-
ma se realiza teniendo en las estaciones mencionadas, al momento cero de la
simulación, una pieza_2 y una pieza_3 (vea la figura 16.5 en la cual se definie-
ron las llegadas). Además se hace llegar cada 15 minutos un Pedido_cliente a
la estación Recepcion_kanban_cliente.

A continuación se presentan algunos resultados parciales de la simulación:

Figura 16.10. Salidas parciales de las variables del modelo 16

13
Este es el colchon con el que se esta manejando la materia prima
14
Así que se mantiene al menos un producto terminado listo en inventario para ser entregado.
Laboratorio de Simulación Nº 16 161
____________________________________________________________________________________

Figura 16.11. Fragmento del reporte estadístico de salida

ANALISIS DE RESULTADOS.

En las 100 hrs de simulación se realizaron 401 pedidos (ver figura 16.11. repor-
te general), uno cada 15 minutos, comenzando con uno que ya existía en el
tiempo cero. Note que se entregaron 300 pedidos (ver figura 16.10 y 16.11).

Además se encuentran 7 piezas en proceso (ver figura 16.10), que equivalen


al total de entidades tipo Pieza, Pieza_2, Pieza_3 y Pieza_4 que se encuentran
en alguna parte del sistema en el momento de terminar la simulación. Se ob-
serva que el último tiempo de ciclo del proceso, el cual se mide desde la en-
trada de la entidad pieza (que equivale a la materia prima) por la estación re-
cepción hasta que sale como Pedido_cliente_satisfecho por la estación Pro-
ducto terminado es de 280.15 minutos (note que éste es el último valor que
toma la variable en el momento de terminar la simulación y que por lo tanto
coincide con el que aparece en la figura 16.10). Note también que el tiempo de
ciclo de la orden es muy superior (ver figura 16.10) siendo de 1513.65 minu-
tos.
Laboratorio de Simulación Nº 16 162
____________________________________________________________________________________

En la siguiente figura 16.12, histórico del tiempo de proceso completo (hasta


que salen de la troqueladora) observe que a partir de aproximadamente la hora
14 este tiempo se estabiliza alrededor de 204 minutos (recuerde que en el ca-
so del sistema tipo “push” el tiempo de ciclo siempre era creciente.

Figura 16.12. Tiempo de manufactura para cada pieza

En la figura 16.13 se observa como el tiempo de entrega al cliente de un pedi-


do tiende a crecer con cada nuevo pedido. Note que el tiempo de entrega del
último pedido satisfecho fue de 1513.65 minutos (vea también figura 16.10).

Figura 16.13. Tiempo de entrega de un pedido al cliente

Ahora corra la simulación por solo 10 horas (la anterior se corrió 100 hr) y ob-
serve que el tiempo de entrega al cliente se reduce a solo160.41 minutos fren-
te a un tiempo de ciclo del proceso 130.39 (recuerde que cuando se corrió 100
horas fue de 280.15 min). Trate de estimar en la figura 16.13 anterior que el
tiempo de entrega al cliente es de aproximadamente 160 minutos observándo-
lo a las 10 horas de tiempo de simulacion. Explique que es lo que está su-
cediendo.

La siguiente grafica Inventario en proceso (ver figura 16.14), muestra como el


inventario tiende a estabilizarse alrededor de 7 piezas (ver también el resultado
Laboratorio de Simulación Nº 16 163
____________________________________________________________________________________

de la correspondiente variable mostrada en la figura 16.10). Recuerde que en


el modelo tipo “push” la cantidad de piezas en proceso mostraba una tendencia
a permanentemente crecer.

Figura 16.14 Cantidad de piezas en el proceso

La gráfica de la tasa promedio del inventario (ver figura 16.15) relaciona las
dos anteriores (figuras 16.12 y 16.14) y muestra que la tasa instantánea del
inventario con respecto al tiempo tiende a estabilizarse después de aproxima-
damente 14 horas en 0.047 piezas/min (ver detalle ampliado en la figura
16.16).

Figura 16.15 Inventario en proceso dividido por el tiempo de ciclo.


Laboratorio de Simulación Nº 16 164
____________________________________________________________________________________

Figura 16.16. Detalle del inventario en proceos dividido por el tiempo de ciclo.

Lo anterior quiere decir que a medida que pasa el tiempo el inventario prome-
dio de las piezas tiende a oscilar alrededor de 8.44 piezas.

La figura 16.17, de pedidos entregados al cliente muestra cuantas piezas com-


pletamente terminadas le fueron entregadas a los clientes cada hora. Así, por
ejemplo se estan entregando cada hora siempre 3 pedidos. Es decir en 100
horas de simulación se entregan 300.

Figura 16.17. Cantidad de pedidos entregados a los clientes cada hora


(Throughput).
Nota_1: Corra el modelo por 400 horas y observe que hay un intervalo de
tiempo entre la hora 137 y 138 en el cual solo se entregan dos piezas.
Laboratorio de Simulación Nº 16 165
____________________________________________________________________________________

Nota_2: Corra el modelo por 1000 horas y observe si este comportamiento


se vuelve a repitir mas adelante.

También podría gustarte