Está en la página 1de 56

1

SIMULACION
CLASE 1: INTRODUCCION
Ejemplo: Los clientes del MULTIRED estn llegando al cajero cada 10 minutos. Simular 2 horas de llegadas.
1.- Llegada del cliente al cajero
2.- Contabilizar
Paso 0: Insertar un Source (Entrada) y un Sink (Salida)
Paso 1: Colocar el tiempo de llegada en Entrada (Interarrival Time)
Paso 2: Insertar una conexin (Connector) entre Entrada y Salida
Paso 3: En pestaa Run, colocar el Ending Type (2 horas)
Paso 4: Correr el programa en Run y ver los resultados en Results (arriba del grafico hecho)

Salen 13 personas ya que en Entrada, se tiene como Time Offset 0.0 lo cual simula que al inicio haba una
persona.
0 10 20 30 40 50 60 70 80 90 100 110 120min

Para ver las respuestas en el grfico:


En la pestaa Animation, se da click en Status Label y se le coloca una tanto a la Entrada como la Salida
Al Status Label de Salida se le coloca en Expression Salida que es el objeto Sink creado. Seguido se coloca
un punto y la opcin InputBuffer seguido de otro punto y NumberExited
Ahora en el Status Label de Entrada se coloca en Expression Entrada que es el objeto Sink creado. Seguido
se coloca un punto y la opcin OutputBuffer seguido de otro punto y NumberEntered
Extra:
Ahora colocaremos una Circular Gauge que indicara cuantas personas estn llegando al cajero, pero antes
debemos asignarle al objeto que debe contabilizar. En Expression se coloca TimeNow. Hay que tener cuidado
porque el Gauge asignado esta solo para 1 hora. Para arreglar esto en la pestaa Appearance, se cambia el
mximo.

En SpeedBuffer (Pestaa Run) podemos cambiar la velocidad de corrida.

CLASE 2: GENERADORES DE VARIABLES ALEATORIAS


Suponiendo la venta de panes en la cafetera de la facultad. Se obtiene una tabla con cantidad de panes
comprados y frecuencia con que se consumi esta cantidad de panes.
CANTIDAD (X)
1
2
3
4

FRECUENCI
A
10
30
50
10

FREC.RELATIVA

FREC.ACUMULADA

0.1
0.3
0.5
0.1

0.1
0.4
0.9
1.0

Si se desea saber que probabilidad hay de que compren x panes, recordar que la probabilidad F(x) esta entre
0 y 1. La expresin matemtica ser la siguiente:
x

F ( x )= f ( x ) dx=R

x=F1 . R
1.- DISTRIBUCION UNIFORME
Todos los valores poseen la misma probabilidad

Area=1=( ba ) K

xa
=R
ba
x=a+ R (ba)
Ejemplo: Del problema anterior considerar unas llegadas de 10 2 (es decir, distribucin uniforme)
Paso 1: En Interarrival Time colocar Random.Uniform(8,12) (El 8 y 12 son los valores minimo y mximo)
Respuesta 12

2.- DISTRIBUCION EXPONENCIAL

E ( x )=

F ( x )=R=1x
x

=1R

x=ln (1R)
R
ln
1
x=( )

x=EX (ln R)
: nmero de arribos
E(x): tiempo medio
Ejemplo: En el primer ejemplo considerar una distribucin exponencial de 10 min como media.
Paso 1: En Interarrival Time colocar Random.Exponential(10) Respuesta 17
ENTIDADES
ENTIDAD
Cliente
Telar
Carguero a la refinera
Avin
Llamada

OPERACIN
Realizar pago / Hacer un deposito
Carga de material
Descarga de petrleo
Pista de aterrizaje
Comunicacin Telefnica

MODELO COLA SIMPLE


Paso 1: Eliminamos el conector
Paso 2: Dejamos en exponencial la tasa de arribos
Paso 3: Ingresamos un servidor (Server), cambiamos nombre a Maquinado y colocamos el tiempo de
procesamiento (Procession Time) como Random.Triangular(7,8,9) (Comprobar que son minutos)

Paso 4: Colocamos un conector para enlazar la Entrada y el Maquinado


Paso 5: Cambiamos la longitud de simulacin de 2h a 8h, e igual hacemos con el reloj

Entran 51 personas y solo salen 47, los 4 faltantes (3 estan en cola y 1 esta en el servidor). Por default la
capacidad (Unit Capacity) de Maquinado es 1.

El 51 indica cuantas personas han entrada a Entrada y el 48 indica cuantos han ingresado a Maquinado. Pero
en la respuesta aparece 47 ya que 1 an est en el servidor.

Tiempo trabajando 78.5850 % y tiempo ocioso 21.4150 %


Si se quiere observar el RECURSO, en el Server Maquinado y clickeamos Status Pie (Esto nos mostrara el
mismo porcentaje que obtenemos en el reporte sobre los recursos)
Crear un ModelEntity (por ejemplo, una parte que va a ser maquinada)
Ojo: Cuando se quieran conectar muchas cosas se hace CTRL+SHIFT y jalamos y elegimos Connector
Ojo: Un modelo triangular TRIA(a,m,b) nos describe un valor pesimista, un valor optimista y el modal

CLASE 3: ELEMENTOS DE SIMULACION DISCRETA


Propsitos:

Algoritmos:

1.- Longitud de la cola

1.- Orientado al evento

2.- Tiempo de espera en la cola

2.- Orientado al proceso

3.- Utilizacin de la facilidad

3.- Examen de Actividades

4.- Tiempo de ocio de la facilidad

1.- ALGORITMO ORIENTADO AL EVENTO


El arribo es un evento porque el servidor est ocupado y por ende la cola se incrementa
Ejemplo: Desde las calles 1 y 2, los vehculos llegan a la calle 3 Los vehculos que ingresan a la calle 1 con
un promedio de 1 min y a la calle 2 con 1.5 min con distribucin exponencial
La calle 1 es recorrida en un tiempo de 6010 segundos; mientras que la calle 2 en un tiempo de 6020
segundos. La calle 3 es recorrida en un tiempo de 8020 segundos.
Simular el trfico entre las 6 de la maana hasta las 12 del da, asumiendo que el trfico en la calle 1 se abre
a las 8 de la maana

Encontrar en la simulacin:
a) Total de unidades que ingresan a la calle 1
b)
c)
d)

Solucin:
Paso 1: Colocar un Source para las calles 1 y 2, y colocar en Interarrival Time Random.Exponential( Aqu
dentro el valor promedio)
Paso 2: Colocar un bloque de finalizacin, es decir un Sink llamado FinCalle3. Luego creamos un BasicNode
y conectamos este con las calles mediante un TimePath
Paso 3: En TimePath de 1 colocamos Random.Uniform(50,70) y cambiar a segundos. Hacer de la misma
manera para los otros TimePath (guindonos de lo que dice el problema). Colocar Status Label en cada uno y
usar OutputBuffer e InputBuffer
Paso 4: En Run, cambiamos el Starting Time y el Ending Time. Por dato Calle1 se abre a las 8am, as que en
Time Offset cambiamos por 2 HORAS.
Paso 5: Colocar un ModelEntity (Carro1) en Calle1 que este asociado a Calle 1 y tambin a Calle 2.

A la calle 3 han entrado 477 carros pero solo han salido 474

CLASE 4: BANCO BCP

10

Ejemplo: Una agencia bancaria del BCP atiende desde las 8:00 hasta las 18:00 horas. Los clientes arriban de
acuerdo a un proceso de Poisson con tasa de 20 por hora
INTERVALO DE
TASA DE ARRIBOS
HORAS
POR HORA
8-10
15
10-12
20
12-15
15
15-18
30
Tabla1: Proceso no homogneo
Suponer la situacin que los clientes arriban de acuerdo a un proceso Poisson no homogneo, segn
describe la tabla 1.
Entre los considerandos: en la agencia atienden 4 cajeros con un tiempo promedio de servicio distribuido en
forma exponencial con media de 9 minutos; y la distancia entre los objetos fsicos de 10 metros, siendo la
velocidad del clientes de 2 metros por segundos
Efectuar la simulacin para ambas situaciones
1) Encontrar la utilizacin de los cajeros
2) Disponer que las operaciones continen despus de las 18:00 horas para atender a todos los
clientes que llegaron hasta las 18:00 horas y encontrar el tiempo total que atiende la agencia
bancaria
Solucin
Paso 1: Colocar un Server, un Source y un Sink (Cada uno con ttulo, Floating Label en Animation). Cambiar
los nombres de todos los elementos por Cajero, Llegada y Salida respectivamente
Paso 2: Conectamos los tres elementos (Llegada con Cajero y Cajero con Salida). Dado que en el enunciado
nos dan distancia de 10 metros, utilizaremos un Path . En las propiedades de Path, nos da una propiedad de
Drawn to Scale, pero cambiaremos por False.
Paso 3: Creamos una entidad (ModelEntity) y la llamaremos Cliente (en Initial Desired Speed se muestra la
velocidad del cliente)
Paso 4: Cambiamos el InterArrivalTime por Random.Exponential(3). En Cajero cambiamos el nmero de
cajeros por 4 y su Processing Time lo cambiamos por Random.Exponential(9)
Paso 5: Colocamos Status Gauge para ver cuantas personas entran y salen. Modificar el tiempo

11

1) Utilizacin del sistema

Utilizacin de sistema y tiempo ocioso del mismo


Paso 6: En Llegada , vamos a Stopping Conditions (Opciones que se encuentran a la derecha) y modificamos
Maximum Arrivals por (10-TimeNow)*10000000 , lo cual nos indicara que cuando el reloj llegue a 10 horas ,
parara. (Esto cuando en el tiempo ponemos Unspecified Time)

12

2) Con lo hecho en el paso anterior podemos observar cuanto demoro en atender a todos los clientes
hasta las 18:00

Tambin puede salir colocando en Maximum Time el nmero 10 horas

Simulando el proceso NO homogneo


Paso 1: En Arrival Mode cambiamos por Time Varying Arrival Rate

13

Paso 2: Ir a Data, Rate Tables y Rate Table para crear una tabla

Paso 3: Cambiar el Numer of Intervals por 10 y llenar con los datos de la tabla. Cambiar de Nombre

Volviendo a Facility, colocar en Rate Table (Paso 2) el nombre de la tabla creada. Corremos el programa

14

Observamos que quedan 16 personas en la cola, as que repetimos los pasos al inicio de 2)
Con esto sabremos cuanto demora en atender a esas personas que estaban dentro del banco hasta antes de
las 18:00

Pregunta: Hallar el tiempo promedio en el sistema


Colocamos un nuevo Status Gauge y colocamos Salida.TimeInSystem.Average

Este nmero es el
tiempo
que
pasa antes
en de crear una nueva Status Gauge
O sino tambin
lo vemos
en Results
todo el sistema en
promedio

15

Cuantos clientes estaban en promedio esperando en la cola?

Creamos un nuevo Status Gauge y en Expression colocamos Cliente.Population.TimeInSystem.Average

Nmero de personas promedio que pasa en el server (6.1776)

El
3.1837
indica el
promedi
o de
personas
esperan
do en la

16

CLASE 5: ACARREO EN MINERIA


Ejemplo: En una pequea mina de carbn existen 6 volquetes que efectan el transporte del mineral desde el
punto de carguo, que es atendido por dos palas. El volquete una vez cargado de material, pasa a la balanza
para luego hacer su travesa donde descarga mineral y regresa nuevamente. (Ver figura)

PESADO

CARGUIOO

Considerar el tiempo de carga en la tabla 1. El tiempo de pesado en la balanza se presenta en la tabla 2 y el


de travesa en la tabla 3.
Simular 6 das de operacin en la pequea mina.
Tiempo de
carguo
5
10
15

Probabilidad

Tiempo de pesado
12
16

Probabilidad
0.70
0.30

Tiempo de
travesa
40
60
80
100

Probabilidad

0.30
0.50
0.20

0.40
0.30
0.20
0.10

17

Solucin:
Paso 1: Creamos un Source llamado Arribo y un Server llamado Carguo, otro Server llamado Pesado en
Carguo ponemos como Initial Capacity 2 (dos palas)
OJO: Carguo es Server porque habr una cola
Paso 2: Conectamos mediante un Conector (porque no dan tiempo ni distancia) el Arribo con Carguo y
Carguo con Pesado Desde Pesado hasta Carguo unimos mediante un Time Path
OJO: No es necesaria la ley de arribo
Paso 3: En Arribo cambiamos Entities Per Arrival por 6 y el Maximum Arrivals (Stopping Conditions)
colocamos 1, esto para crear 6 unidades solo 1 vez. El interarrival time lo colocamos en 10

(considerando que son 6 volquetes en 1 hora).


Paso 4: En Carguo, en Processing Time colocamos Random.Discrete (5,0.30, 10, 0.80, 15, 1.0) (Estas son
frecuencias de la tabla 1 pero acumuladas) En Pesado, en Processing Time colocamos Random.Discrete(12,
0.70, 16, 1.0) En TimePath1 colocamos en Travel Time Random.Discrete(40, 0.40, 60, 0.70, 80, 0.90, 100,
1.0)
Paso 5: Cambiamos el tiempo a 6 das y colocamos un Circular Gauge y una entidad que sea un tractor

Cada Pala trabaja al 49.2014% y el 50.7986 es tiempo ocioso. En Pesado han llegado 560 camiones. En
Carguo han salido 561 camiones.

CLASE 6: ENLACE POR PESO

18

En una lnea de produccin, las partes van llegando a una velocidad de 5 2 minutos. El porcentaje de
unidades aceptadas es 80% y rechazadas es 20%. Simular 8 horas para conocer cuntas partes son
aceptadas.
Solucin:
Paso 1: Creamos un Source y lo llamamos Llegada, luego un Sink llamado Bueno y otro llamado Rechazado
OJO: El nodo de la fuente es un TransferNode , se utiliza cuando se deben tomar decisiones
Paso 2: Unimos la fuente con los Sink mediantes Conectores y a cada uno le ponemos el porcentaje
respectivo (20 y 80) en Selection Weight
Paso 3: Al nodo de Llegada, cambiamos el Outbound Link Rule cambiamos a By Link Weight
Paso 4: Colocamos Status Labels para ver cuantos han llegado en cada caso (Bueno y Rechazado)

19

RUTA MAS CORTA

2
1

8
3

Paso 1: El nodo de transferencia se coloca en 2 porque desde ese nodo se puede trasladar hacia 2 puntos
distintos (3 y 4), mientras que usamos nodo bsico en 3 porque solo puede dirigirse a un solo lugar (4)
Paso 2: Colocamos un Entity Persona y colocamos como velocidad 1m/min (Initial Desired Speed)
OJO: Si no se coloca un destino
Paso 3: En EntityDestination colocamos Specific y en Node Name colocamos Destino
Paso 4: Colocamos un Status Label en Destino y colocamos como Expression
Destino.TimeinSystem.Average*60 (Para que salga en segundos)

CLASE 7: RUTAS DINAMICAS

20

Ejemplo: Considere un proceso de manufactura que dispone de 3 mquinas, con diferentes aos de
antigedad. La 1era procesa las partes con una distribucin triangular, con un tiempo medio de servicio de (1,
2,3) minutos. La segunda con (1, 2,4) y la tercera con (1, 3,4). El tiempo entre las llegadas de las partes a
maquinar se encuentra distribuido exponencialmente con 0.80 minutos.
Cuando la parte arriba al sistema, busca proceso en la maquina con la cola ms pequea de las entidades
que esperan. Considerar la longitud de 10 metros entre los objetos, con una velocidad de la entidad de 2
m/seg.
Determinar para un turno de 8 horas:
1) Cuantas partes arriban
2) Cuantas parten termina en cada maquina
3) Porcentaje de utilizacin del sistema
Solucin:
Paso 1: Colocar una Entrada, Salida y 3 Servidores, unindolos con Path de longitud 10 metros.
Paso 2: Creamos una entidad Parte con una velocidad de 2 metros por segundo (Por Default ya est)
Paso 3: Seleccionamos el nodo de transferencia y en la opcin Entity Destination , no elegir By Sequence
porque no es secuencia, ni Specific porque no es ruta corta, as que elegimos Select from List.
Paso 4: En Definitions, vamos a List, creamos un nuevo Nodo y le cambiamos el nombre por Lista. Llenamos
la lista con los 3 nodos bsicos de los Path.
Paso 5: Volvemos a Facility y el Node List ser Lista, pero debemos cambiar en Selection Goal por Smallest
Value
Prefered Order: Se sigue el orden la lista.
Cyclic: Todos los servidores tienen entradas.
Random: Cualquier estacin.
Smallest Value: Cola ms pequea (No necesariamente cola, sino cola + servidor)
Paso 6: En Selection Expression cambiamos por Candidate.Node.AssociatedStationLoad (Esto confirma que
buscamos Cola ms pequea)
OJO: Al dar click derecho en la entidad Parte (previamente cambiada por un Dynamic People) vemos en la
ltima opcin todo lo que puede hacer la entidad. Al ir al Source Entrada y a la opcin State Assignments
damos click en Before Exiting y aparecera el Editor de Propiedades Repetitivas). Al colocar
ModelEntity.Animation y poner Random.Discrete (Walk, 0.70, Run, 1.0) , la persona correra o caminara
aleatoriamente.
OJO: El Selection Weight tambin puede utilizarse como un condicional (Por ejemplo, ir por ese nodo si la
cola llega a 5 personas en los otros servidores)

21

OJO: Los servidores, en Buffer Capacity se puede modificar InputBuffer

OJO: EN RECURSO SE VE LA UTILIZACION Y EN THROUGHPUT SE


VE CUANTOS ENTRAN Y CUANTOS SALEN.
Paso 7: Para ver la utilizacin se puede colocar en Maquina 3 y escribir Maquina3.Capacity.Allocated.Average

CLASE 8: SECUENCIACION DE TRABAJOS


En Simio encontramos este tipo de trabajo en la opcin By Sequence.
Ejemplo: Se tienen 3 productos. El primero pasa por la maquina 1, 2 y 3. El producto 2 pasa por la maquina 1
y 3 y el producto 3 pasa por la maquina 1, 3 y 2 en dicho orden. La distancia entre objetos es de 10m y la
velocidad es de 2m/seg. Las llegadas tienen un comportamiento exponencial de 4 minutos. Considerar 30%
perteneciente al producto 1, 50% perteneciente al producto 2 y 20% perteneciente al producto 3.
Linea1

Linea 2

Linea 3

Estacion 1

UNIF(.10,.14)

UNIF(.10,.14)

UNIF(.09,.15)

Estacion 2

NORM(.11,.02)

Estacion 3

TRIA(.09,.12,.15)

NORM(.10,.02)
TRIA(.10,.13,.16)

TRIA(.09,.11,.13)

Paso 1: Crear una entrada, un almacn (salida) y 3 servidores (ya que se cuenta con 3 mquinas). Unir las
mquinas de acuerdo al orden que hay en el problema (1 con 2 y 3, la 2 con 3 y la salida, y la 3 con 2 y
salida) y colocar distancia 10 metros y asumimos 2m/seg.
Simular 50 horas si la capacidad de 1 y 3 es 2
Paso 2: En la entrada colocar llegada exponencial de 4 minutos. A continuacin debemos especificar que si el
producto es 1, debe seguir la secuencia dada en el enunciado del problema.
Producto 1:

Producto 2:

Producto 3:

Input@Estacion1

Input@Estacion1

Input@Estacion1

Input@Estacion2

Input@Estacion3

Input@Estacion3

Input@Estacion3

Input@Almacen

Input@Estacion2

Input@Almacen

Input@Almacen

Para realizar esto, vamos a Data, creamos una Tabla de tipo Secuencia (Add sequence Table). Le colocamos
el nombre de Linea1 segn sea el producto e ingresamos lo escrito previamente.
Paso 3: Adicionamos en la tabla una columna, click en Standard Property y Expression. Colocar de acuerdo a
cada lnea los datos dados (Usar Random. Previamente NO OLVIDAR).

22

Paso 4: A los nodos de secuencia debemos colocar en Entity Destination By Sequence (En Llegada no es
necesario ya que solo hay 1 maquina a la cual puede dirigirse)
Paso 5: Creamos 3 entidades, una para cada lnea y a cada uno le asignamos un color diferente, adems de
colocar nombres. Para asignar los Entities a la Llegada (Source) debemos considerar el porcentaje que nos
dan en el problema. Para esto, creamos una nueva tabla pero esta vez es una Data Table , luego damos click
a la mano con bola verde y damos click a entity donde escribiremos todas las entities. A continuacin en
Standard Property damos click a Sequence Table donde colocaremos las lneas respectivas. Despues,
elegimos en el mismo Standard Property la opcin Expression. Finalmente Real para colocar los porcentajes.
Paso 6: En cada lnea, seleccionamos la columna Sequence y en Accept Any Node damos False.
Paso 7: Al source Llegada le asignamos la tabla recin creada (Table.Entidad). Luego en Table Reference
Assignments , en Before Creating Entities en Table name colocamos Tabla. En Row Number ponemos
Tabla.Cantidad.RandomRow. Luego en On Created Entity , en Table Name elegimos Tabla.Secuencia. Y el
Row Number no requiere nada.
Paso 8: colocamos el Processing Time de cada estacin colocando Tabla.Tiempo

En los resultados podemos observar que llegaron 716 productos pero hay 7 en cola
Utilizacin de estacin 1 es 93%, de estacin 3 es 94%

Cmo determinar cunto de cada producto pasa?


Para saber esto vemos en los resultados cada entidad y ah veremos cuantos han pasado de cada producto.

CLASE 9: ALLOCATION QUEUE


Recordar que los trminos

23

1) Inputbuffer hace referencia a la cola de entrada


2) Processing Service es una mquina, un cajero, un servicio en general
3) Outputbuffer hace referencia a la cola de salida
La funcin Capacity.Allocated entrega el nmero de capacidad de procesamiento
Ejemplo: Simulacin de un sistema telefnico simple
Un sistema posee dos lneas externas. Cada llamada originada externamente, arriba cada 10060 segundos.
Cuando la lnea est ocupada, el llamador vuelve a discar despus de un tiempo de 51 minutos. La duracin
de una llamada es de 31 minutos.
Cunto de tiempo toma completar 200 llamadas?
Solucin
Paso 1: Creamos un source Llamada (ajustamos su tiempo de arribo), un server (tambin ajustamos su
tiempo y en Initial Capacity ponemos 2). Luego conectamos ambos y posteriormente el server a una salida
Paso 2: Programar solo 200 llamadas y colocar un Status Gauge sobre server con la funcin
Capacity.Allocated
Paso 3: En el server en la opcin Buffer Capacity e Input Buffer colocamos 0 ya que NO DEBE HABER COLA
en una llamada telefnica.
Paso 4: Dado que si la llamada no entra, debe esperar creamos un TimePath que regrese a Llamada
Paso 5: Al conector que sale de llamada, colocamos como peso Server1.Capacity.Allocated<2 y en el
TimePath ponemos Server1.Capacity.Allocated==2

Del problema anterior, si alargamos el TimePath el valor de los resultados va a acambiar. Para evitar esto
crearemos dos nodos bsicos y los conectamos con la fuente mediante conectores pero entre ellos con un
TiemPath (no olvidar colocar la expresin de tiempo)

24

CLASE 10: LA OFICINA POSTAL


En Serpost, los paquetes llegan todo el dia de manera exponencial con media de 15 min. La oficina postal
tiene la poltica que el proceso de pesado y empaquetado lo realiza en el primer turno (con tiempo promedio
de 4.5 minutos distribuidos exponencialmente) es decir en las primeras 8 horas de trabajo del dia (8:0016:00). Los paquetes llegan despus del primer turno, son pesados al siguiente dia. Simular 6 dias de
operaciones
Paso 1: Crear Llegada, Pesado y Almacenaje con sus respectivos tiempos en Pesado
La funcin Capacity indica capacidad y Capacity.Allocated indica el nmero de recursos utilizados.
Paso 2: Creamos un label para Pesado con expression Pesado.Capacity
Paso 3: Vamos a Data, Schedules y especificamos que das se trabajan, en Work Schedules ampliamos
StandardWeek y se muestra lo siguiente:

Paso 4: En Pesado, damos a WorkSchedule y elegimos debajo el StandardWeek

25

A partir del dia 11 (Miercoles) la capacidad cae 0

Cambiamos la hora de finalizacion

FUERA DE TURNO
Las rdenes de procesamiento ocurren las 24 horas del dia, con la tasa de 1 unidad por hora. El
departamento trabaja de 8 a 4 con dos operarios y en el turno de 4 a 8 con 1 operario. Tiempo de proceso 15
min. El finde no hay labores. La distancia entre objetos es de 2 minutos. El mircoles se trabajara de 8am a
4pm solamente.
Paso 1: Abrir archivo anterior

26

No olvidar colocar la fecha en RUN

CLASE 12: SEPARATOR

27

En la empresa AJAX se identifican dos componentes


Considerar que desde dos fuentes se crean entidades con el tiempo entre arribo distribuido en forma
exponencial con valores de 2 y 3 minutos
Estas dos partes forman un conjunto y el tiempo de manipulacin

Paso 1: Colocamos dos fuentes (Fuente 1 y Fuente 2), una con media de 2 y otra con 3, ambas
exponencialmente (La fuente 1 simulara las patas de la mesa y la fuente 2 el tablero)
Paso 2: Colocamos un Combiner , y unimos tanto la Fuente 1 como la 2 con este Combiner. Cualquiera ser
Member y Parent. Colocamos el tiempo de proceso del Combiner como exponencial con media de 0.5
Paso 3: Creamos un servidor Servicio con media 1.5 exponencial. Luego lo unimos con el Combiner
Paso 4: Como las partes luego son separadas, colocamos un Separator que uniremos con Servicio.
Colocamos luego dos Sink (uno para cada Fuente)
Paso 5: Colocamos etiquetas en Sink 1 y Sink 2. Simulamos 8 horas

INTRODUCCION A LOS EXPERIMENTOS


Teora de Colas M/M/1 con tasa de arribo de 4 clientes por hora y la tasa de servicio es de 5 clientes por hora

28

Paso 1: Colocamos 3 objetos (Source, Server y Sink) y los unimos mediante conectores
Paso 2: Nos vamos a la pestaa Definitions y luego a Properties. Creamos 4 propiedades Expression,
A la primera le ponemos de nombre TiempodeArribo, en Default Value ponemos Random.Exponential(0.25).
A la segunda propiedad la llamamos TiempodeServicio y en Default Value ponemos
Random.Exponential(0.20).
A la tercera propiedad la llamamos Capacidad (de la cola) y en Default Value ponemos 1.
A la cuarta propiedad la llamamos NumeroMaximo (de arribos) y colocamos en Default Value 10000.
Paso 3: Colocamos cada una de estas propiedades en los objetos creados

Paso 4: Simulamos 30 das pero previamente vamos a la pestaa Project Home y creamos un Nuevo
Experimento, donde colocaremos 1000 muestras

Paso 5: Damos click a Add Response 3 veces para colocar 3 respuestas. Al primero lo llamamos LongCola, el
segundo TiempoCola y al ultimo TiempoSistema.
En LongCola en Expression ponemos Server1.AllocationQueue.AverageNumberWaiting
En TiempoCola en Expression ponemos Server1.AllocationQueue.AverageTimeWaiting*60 (para dar en
minutos)
En TiempoSistema ponemos Sink1.TimeInSystem.Average*60 (para dar en minutos)

29

Paso 6: Colocamos Run en el Experimento creado

CLASE 13: OPTIMIZACION CON SIMULACION


Supongamos que llegan 10 clientes por cada hora y la tasa de servicio es de 6 clientes por hora (es decir 4
personas que estn acumuladas). Si solo se cuenta con 1 servidor, el sistema tiene problemas ya que no se
dar abasto. Veamos como optimizar esto teniendo en cuenta los costos. El costo que paga al cajero es de 10
soles la hora y el costo de espera es de 12 soles la hora. Simular 24 horas
Paso 1: Colocamos un server, source y sink y los unimos mediantes conectores. Cambiamos nombres por
Llegada, Cajero y Salida.
Paso 2: Vamos a Definitions, States y creamos dos Reales llamados Mediadearribos (colocamos 6 min) y la
otra llamada Mediadeservicio (colocamos 10min). Posteriormente creamos una Property entera y otra
expression llamados Capacidad (con valor 2 para que pueda atenderse a los clientes)
Paso 3: Colocamos los valores en los dibujos creados. Como Random.Exponential(Mediadearribos) , de igual
manera el tiempo de servicio.
Paso 4: Creamos dos States Reales que sern los costos, CostoEspera (12 soles la hora) y CostoServir (10
soles la hora)
Paso 5: Creamos en Definitions un Elemento, y damos a Output Statistic y lo llamamos Costo. Colocamos la
expresin para sacar el costo total (Cajero.AllocationQueue.AverageNumberWaiting +
Mediadeservicio/Mediadearribos)*CostoEspera+Capacidad*CostoServir)
CT=L*CostoEspera + K*CostoServir
L=Lq + Landa/Mu (L = AllocationQueue.NumberWaiting + Mediadeservicio/Mediadearribos)
K = Capacidad

30

Paso 6: Creamos un experimento (previamente cambiar el tiempo de corrida). Creamos una respuesta y la
llamaos costo y colocamos la expression Costo.Value.

Si corremos saldr 88.0551


Paso 7: Podemos ir cambiando los valores de la capacidad para optimizar el costo ( Para 3 sale 53.5974).
Pero hay tcnicas para poder sacar el optimo. Vamos a Select Add-In y escogemos la segunda opcion.
Colocamos 1 en Indifference. Corremos el programa (77.1855 y 54.7013 debe salir)
Luego colocamos en Capacidad un valor minimo (3) y un valor mximo (8)

Respuestas:

Para 5 cajeros sale 70.0857


Para 2 cajeros sale 82.867
Para 8 cajeros sale 100
Para 4 cajeros sale 60.739

31

Para 7 cajeros sale 90


Para 6 cajeros sale 80.0058
Para 3 cajeros sale 52.4884

Qu pasa si aadimos un cuello de botella?


Paso 1: Borramos el experimento y en el modelo colocamos otro server, ahora tendremos 2 servers Proceso 1
y Proceso 2 que estn unidos por conectores. El primero tiene un tiempo de procesamiento de 10 y el otro de
15 (ambos exponenciales). La idea es reducir al mnimo el cuello de botella. En el Run le damos 24 horas de
tiempo
Paso 2: En Definitions borramos los Elements y los States, en Properties creamos otra Capacidad de modo
que tendremos Capacidad 1 y Capacidad 2 (con valores 2 en cada uno) y las asignamos a los servers.
Paso 3: Creamos un experimento y creamos un Response con nombre Total y colocamos la expresin
Salida.InputBuffer.NumberExited.
Paso 4: En Select Add-In colocamos la segunda opcin, en valor mximo ponemos 7 (en ambas
capacidades).
Paso 5: En la parte de respuesta colocamos en el valor objetivo Maximize
Parte 6: En MinReplications y Max Replications ponemos 10 y 50 respectivamente. (Por ejemplo Capacidad1
=4 y Capacidad 2 = 5, el Total es 242, justamente esta es la respuesta final)

CLASE 14: TRANSFERENCIA USANDO TRANSPORTES


La llegada de las partes a un departamento de produccin, tiene una media de 6 minutos distribuido
exponencialmente. Al arribar al lugar Entrada, solicitan al carro que transporta las partes, desde el punto
Entrada hasta el punto Destino. La distancia es de 30 metros.
El vehculo (el carro) tiene como caractersticas, que es de camino libre y su velocidad es 10m/min. Simular 8
horas.
Paso 1: Creamos una Entrada y un Destino, los cuales sern unidos por un Path. Colocamos la distancia de
este camino.
Paso 2: Creamos un vehculo y modificamos su velocidad segn lo indicado. Si simulamos no saldr lo
correcto, entonces se tiene que colocar en el nodo de transferencia de Entrada, en la opcin Transport Logic:
True y asignamos el transporte.

32

Paso 3: Si simulamos el vehculo no vuelve, asi que en el Path cambiamos de Unidirectional a Bidirectional.
Respuesta: 71 entidades han sido transportadas de 74, 3 entidades esperan ser transportadas. El transporte
fue utilizado un 88.5348%

GRUA PUENTE
El sistema de transferencia se compone de 2 distancias, la primera es entre Punto y Union con longitud de 15
y la segunda distancia es entre Union y Fin con 15 metros. En la primera distancia, labora el forklift con una
velocidad de 10 m/min y en la segunda la gra puente con 6m/min.
Asumir que los tiempos de carga y descarga son de 0.5 min. El punto de salida del cargador Forklift es Punto
y de la Grua es Union. Simular 8 horas.
Paso 1: Creamos el source Punto y el Sink Fin, adems de un TransferNode (Ya que aca trabajara la grua).
Unimos a los 3 mediante un Path y colocamos las distancias en cada Path de acuerdo al problema.
Paso 2: Las llegadas arriban de manera triangular con 3,6,8 . Por otro lado a las distancias las volvemos
Bidireccionales.
Paso 3: Creamos 2 vehiculos llamados Forklift y Grua, y colocamos las velocidades de cada una. Asignamos
cada vehculo a cada nodo.

33

Paso 4: Si simulamos, ambos vehculos saldrn de Entrada y tambin de Fin. Entonces debemos cambiar en
la Routing Topic , cambiamos el Initial Node.

Paso 5: Colocar el destino en ambos nodos para que los vehculos no se vayan a un nodo que no debe. Toda
cambio hacerlo en Entity Destination.
Paso 6: Para que el vehculo pueda regresar, primero debe ser descargado. Asi que hacemos lo siguiente: en
Idle Action de Forklift ponemos Remain in Place (ver imagen derecha anterior)
Paso 7: Colocamos el tiempo de carga y descarga del Forklift
Respuestas: Llegaron 87 unidades, salen 74 del Forklift y entran a las grua estas mismas pero salen de la
grua solo 73. El % de utilizacin del forklift es de 99.5283 y de la grua es 76.1950
Para insertar dibujitos poner en

34

Si cambiamos la capacidad por 2, el % de utilizacin es el mismo. Lo que cambia es el nmero de arribos. No


conviene aumentar las capacidades ya que los objetos transportados aumentan en 1 o mximo 4 unidades.

SEGUNDA PARTE!!!!!!!
CLASE 15: CONVEYORS
Se tienen 3 fuentes que poseen fajas transportadoras de tipo acumulable con longitud 30 metros y velocidad
de 2 m/min cada una. Las llegadas entran como exponenciales de 1, 2 y 3 minutos.
Paso 1: Creamos 3 entradas con tiempos exponenciales de 1, 2 y 3 min respectivamente. Luego creamos tres
nodos bsicos (ya que solo tienen 1 direccin). Y unimos todo mediantes conveyors (fajas transportadoras).

Paso 2: Cambiamos las propiedades de las fajas con los datos del enunciado. Y posteriormente les
cambiamos la imagen a cada una.
Paso 3: Creamos 3 entidades y las asignamos a cada entrada. Y simulamos 8 horas.

35

Se tiene un sistema hecho por una entrada (expo 5 min), unido por una faja a Proceso (tria 5 6 7) unido a un
nodo de transferencia Union (porque hay movimiento) y este unido a un Fin1 y a otro nodo Punto, el cual se
une a dos fines Fin2 y Fin3 (todo unido por fajas). Se tienen 3 lineas con los siguientes porcentajes y
secuencia:
Linea 1: Proceso Union Fin1

30%

Linea 2: Proceso Union Punto Fin2

50%

Linea 3: Proceso Union Punto Fin3

20%

Las fajas son no acumulativas, de 30 metros y velocidad de 2m/min

36

Dato: Si se quiere eliminar los rotulos vamos a la pestaa Visibilidad y desactivamos las flechas y los rotulos

RECURSOS SECUNDARIOS
En un departamento de maquinado existen 4 tornos con tiempo EXPO de 6 min. Cada proceso en el terno
requiere de una herramienta y solo existen 3.
Si las partes arriban con EXPO 2.5 min. Simular 8 horas. Suponer que el uso de las herramientas es en la
modalidad de orden de preferencia (se asume que si todas las herramientas estn disponibles la seleccin
ser siempre al primero de la lista o Prefered Order, que es la seleccin natural, otras selecciones tienen
conductas diferentes).

37

Asumir 10 metros la distancia entre los objetos fsicos y una velocidad de 2m/s para la entidad.
Paso 1: Armamos el modelo

Paso 2: Asumimos que cada torno tiene 1 recurso (mecanico). Creamos 3 recursos.
Paso 3: En Definitions, en lists creamos un Object que estar conformada por 3 elementos.
Paso 4: Seleccionando todos los tornos vamos a Secondary Resources y en Object Type damos a FromList y
elegimos la lista creada previamente.

CLASE 16: RECURSOS SECUNDARIOS


En un experimento, un robot opera un Sistema de Manufactura Flexible, que posee dos mquinas
herramienta de CNC, existiendo un rea de arribos de las componentes, y un rea para las componentes

38

finales. Las componentes arriban cada 150 segundos distribuidos en forma exponencial y los maquinados son
en secuencia (primero es la mquina herramienta 1 y luego la maquina 2). El robot toma 81 segundos para
tomar la componente o para liberar esta.

El tiempo de maquinado en la segunda mquina herramienta es de 100 segundos distribuidos


exponencialmente. Finalmente el robot toma 5 segundos para mover la componente desde la segunda
maquina al rea de componentes finales. Simular la operacin para 200 componentes.
Paso 1: Creamos el modeo. En los robots colocamos las siguientes expresiones:
Random.Uniform(7,9)+6+Random.Uniform(7,9) en Robot 1
Random.Uniform(7,9)+7+Random.Uniform(7,9) en Robot 2
Random.Uniform(7,9)+5+Random.Uniform(7,9) en Robot 3
Paso 2: Creamos un recurso Robot. En los otros Robots vamos a Secondary Resources especificamos el
mismo Recurso para todos.

Paso 3: Cambiamos la fecha para que solo se procesen 200.

39

Si multiplicamos el porcentaje de utilizacin de cada servidor por las horas que se trabajan obtendremos el
tiempo total que trabaja cada servidor.
En server , inputbuffer, content, numberinstation, max se ve cuanta capacidad tiene cada servidor.

40

TRABAJO FINAL
1.
2.
3.
4.
5.

Planteamiento del problema


Marco Terico
Anlisis de Resultados
Conclusiones y Recomendaciones
Referencias Bibliogrficas

CLASE 17: PROCESOS (EN EL AEROPUERTO)


Las llegadas de personas a una oficina de cobranzas en el aeropuerto ocurren desde dos fuentes, de acuerdo
a una ley exponencial con tiempos promedios de 5 y 10 minutos respectivamente.
La primera entrada es para pasajeros nacionales, ellos pagan un impuesto de $10; la segunda entrada es
para pasajeros extranjeros y pagan un impuesto de $50.
Se ha dispuesto la poltica de juntar dos pasajeros (uno nacional y uno extranjero) para hacerlos ingresar a
efectuar sus pagos.
Se quiere simular 8 horas de actividad en la oficina de cobranzas, con la finalidad de conocer el total del
monto de pasajeros que han pagado sus impuestos.
Paso 1: Armamos el diagrama

Paso 2: En Definitions creamos dos variables, una llamada Impuesto Nacional y la otra Impuesto Extranjero y
colocamos el costo de los impuestos (en Initial Statue Value). Luego creamos otra variable llamada Total.
Paso 3: En el Combiner, en State Assignments ponemos en Before Exiting (para guardar el dinero)

41

Paso 4: Colocamos una etiqueta para ver cunto dinero hay asi que ponemos Total y adems otra que diga
Salida.InputBuffer.NumberExited
Los resultados muestran lo siguiente: 50 personas y 3000 soles

AEROPUERTO CON PROCESOS

Paso 1: Crear nuevo proceso en Exited y luego vamos a Processes


Paso 2: Dibujamos una Assign y en New Value ponemos Total+ImpNacional+ImpExtranjero
Respuesta: 50 personas y 3000 soles

CALIDAD DEL SERVICIO


En una agencia bancaria, se est probando la poltica de calidad en el servicio con la meta que un cliente no
espere ms de 12 minutos en cola. En tal caso son llevados a ser atendidos por una caja express.
Los clientes arriban con media de 1 minutos exponencial. Existen 4 cajeros con tiempo promedio de 5 minutos
exponencial.
Se est interesado en el tiempo de atencin entre las 9am y 18pm. Cuantos clientes son removidos de la
cola por exceder el tiempo de espera?

42

Paso 1: Creamos el sistema

Paso 2: En Entered dentro de Add-On Process Triggers ponemos New Process

Paso 3: Creamos lo siguiente en Definitions dentro de Modelentity (a la derecha donde se ven los
experimentos)

Paso 4: En Processes creamos un Assign y en State Variable ponemos ModelEntity.Marcacion y en New


Value ponemos TimeNow. Adems creamos un SetNode y ponemos Input@Servidos.
Paso 5: Colocamos un Execute y ponemos New Value y nos creara otro proceso arriba donde pondremos un
Delay y ponemos 12 de valor.
Paso 6: Luego creamos un Remove y ponemos en Basic Logic Servicio.AllocationQueue.

43

Paso 7: En Execute vamos a Advanced Options y ponemos None en Token Wait Action.

Paso 8: En caso que sea removido hay que decir que el destino es otro. Creamos otro Set node y ponemos
Input@Removidos.
Paso 9: Creamos un Transfer y ponemos en From: CurrentStation y en To ponemos Output@Servicio , esto
hace que

Paso 10: Creamos una entidad y creamos un rotulo dando clic a este , ponemos Math.Floor(TimeNowMarcacion)*60
Respuesta: 398 atendidos y 121 removidos

CLASE 18: LINEA DE TRANSFERENCIA


Ejemplo: Hay 4 fajas transportadores del tipo no acumulativa cada una con segmentos de 30 metros y 10m/s.
Las partes arriban cada 8 minutos con distribucin exponencial. Al llegar recorren una distancia de 30 metros
con la velocidad de 10 m/min para acceder a la primera faja, luego pasa a la siguiente faja y as
sucesivamente. Cuando terminan en la cuarta faja se dirigen al almacn con distancia y velocidad similar a la
entrada.

44

Cada vez que la entidad termina su recorrido en cada una de las fajas, ejecuta una operacin que demora 2
minutos, con tiempo distribuido en forma exponencial. Con tal fin cuando se realiza la operacin todas las
fajas se inmovilizan, operando nuevamente cuando finalizan las operaciones en todas las fajas.
Simular 24 horas con la finalidad de conocer el total de unidades transportadas.
Paso 1: Creamos el modelo

LAS FAJAS NO ACUMULATIVAS PUEDEN PARAR!!!


Paso 2: En el nodo 2,3,4 y 5 en Add-On Process Triggers creamos un New Model (solo en el nodo 2) y
posteriormente en los otros asignamos este nuevo proceso recientemente creado

Paso 3: Creamos un State llamado Total (Real), y en Processes agregamos un Assign y en State Variable
Name ponemos Total y en New Value ponemos Total + 1 , luego en Assignments ponemos

45

Paso 4: Creamos un Delay le colocamos Random.Exponential(2) en minutos dentro de su Delay Time.


Paso 5: Creamos otro Assign y ponemos de nombre Total y en New Value ponemos Total-1.
Paso 6: Creamos un Decide y en Expression ponemos Total==0
Paso 7: Creamos otro Assign y ponemos de nombre Conveyor1.DesiredSpeed y colcamos en new Vaue 10
m/s y en Assignments ponemos lo siguiente:

Paso 8: Cuando hay un bloqueo, no pasaran ms piezas por el Path1 (debe bloquearse) asi que en Allow
Passing ponemos False.
Respuesta: 165

TIPO DE PARTES
Las partes llegan con una velocidad de 5 min expo. Existen tres partes, rojo amarillo y azul. Cada una de las
partes tiene igual oportunidad de ser seleccionada.
Cada parte tiene su propia estacin que procesa en un tiempo con media de 5,7 y9 min expo.
Simular 8 horas asumiendo que el tiempo de desplazamiento es de 1 minuto.
Paso 1: Crear el modelo

46

Paso 2: En la parte damos Add Additional Symbol (dos clicks para tener 3) y le damos un color diferente
(iguales a los colores de los servidores)
Paso 3: En Llegada creamos un proceso en Created Entity
Paso 4: En Processes debemos determinar qu tipo es la parte entrada. Colocamos un Assign y lo siguiente

Debemos asignar cada servidor a cada parte


Paso 5: Creamos una tabla (con un entero llamado Tipo, un nodo llamado Nodo) y ponemos lo siguiente

Paso 6: Ingresamos un Search y ponemos en Collection Type TablaRows, cuyo nombre sera el creado Tabla

47

Paso 7: Creamos un SetNode cuyo Node Name ser Tabla.Nodo

Paso 8: Falta determinar el color de la parte, as que en la fuente en State Assignments ponemos

Respuesta: 97 entradas y 95 salidas (24 azules, 32 amarillos y 39 rojos)

48

CLASE 19: FINANZAS


1)
2)
3)
4)

Costos de capital: Costos de arranque o de inicio, es da solo una vez


Costo de buffer:
Costo de transporte
Costo de material

Las partes arriban cada 3 min expo. El tiempo de inspeccin es de 2 min expo. Las distancias son de 10
metros, siendo la velocidad de desplazamiento de 10 m/min. El 20% de las partes inspeccionadas son
defectuosas, y se asume un costo de S/.150 por unidad.
Simular las 8 horas, asumiendo que el costo de oportunidad del tiempo perdido por las partes es de S/.100
por hora. Asumir dos centros de costos: Inspeccin y Fallados.
Paso 1: Crear el modelo todo con path y poner los pesos en los dos path que se dirigen a los 2 Sink. (Estos
poner en decimales 0.20 y 0.80)

Paso 2: Crear una entidad y ajustar su velocidad.


Paso 3: Para cambiar las unidades de las monedas, vamos a la pestaa Run y en Advanced Options
ponemos Financials y damos PEN en Currency y damos Aceptar. En Initial Cost Rate (en la parte de
Financials de la entidad) ponemos el valor de 100.
Paso 4: En Definitions creamos dos Cost Center, uno llamado InspeccionCC y el otro FalladosCC.
Paso 5: En las propiedades de Finanzas del servidor, en Parent Cost Center elegimos InspeccionCC
Paso 6: En el path que une el servidor con Defectuosos, creamos un proceso en Entered (apenas entra que
cuantifique cuantos productos son fallados)
Paso 7: Creamos en el proceso un Assign y en State Variable Name elegimos FalladosCC.Cost y en New
Value ponemos FalladosCC.Cost+150. (La moneda por Default se asigna)
Ojo: Deberia ponerse en el nodo de Salida de Inspeccin , By Link Weight, pero no es necesario
Respuesta: 109 aceptados y 24 defectuosos. (Enlazar primero Aceptados y luego Rechazados con los path
sino saldr 103 y 30). EL PATH CON MAS PESO SE ENLAZA PRIMERO!!!

49

MANUALMENTE:
Costo de fallados: 24x150 = 3600.000
Costo de inspeccin: Costo de cola * Numero de tems que pasan + Costo de procesamiento*Numero
promedio de tems que se procesan (1.8569 y 3.2183)
1.8569*135 + 3.2183*134= 682.5864
Costo por tem espera = (Numero promedio en estacin * Costo/hora * Nmero de horas)/Unid.
Costo por tem espera

=(0.3134*100*8)/135=1.8569

Costo por tem procesado =(0.5399*100*8)/134=3.2183

50

CLASE 20: MS FINANZAS


E1: En adicin al ejemplo anterior, asumir que despus de la inspeccin pasa a pintado donde demora 2.5
min expo. En el centro de costos de Pintado, existe un costo fijo de preparar el equipo y materiales al
empezar en proceso productivo de cantidad S/.500
Paso 1: Creamos una estacin de Pintado entre Inspeccin y Aceptados
Paso 2: En las finanzas de Pintado colocamos 500 en Capital Cost. Creamos un centro de costo llamado
PintadoCC y lo asignamos a dicha estacin
Paso 3: Colocamos el 0.80 en el Path que une Inspeccin y Pintado.
Respuesta: 114 Aceptados y 30 Defectuosos (Recordar que los Path con ms pesaje se coloca primero.

Costo de Fallados = 31*150=4650 (En la respuesta salen 30 fallados pero hay 1 en la cola y se costea
TODOS los fallados, no solo los que salen)
Costo Pintado = Costo Espera + Costo de Procesamiento
Costo = 7.8286*114 + 4.5526*114 = 250.6843 + 431.9021 = 1411.4677
Costo Capital + Costo = 500 + 1411.4677 = 1911.4677
Costo de Inspeccin = *146 + 3.2438*145 = 928.5538
E2: Adems de lo anterior, asumir que despus del pintado es llevada la parte por un vehculo con velocidad
de 10m/min. En el centro de costos Vehculo, existe un costo de S/.5 por unidad que ingresa a ser
transportada.
Paso 1: Creamos un Vehicle llamado Carro
Paso 2: Creamos un centro de costos llamado VehiculoCC. En las finanzas del vehculo asignamos su CC y
colocamos el costo de transporte de dato (en Cost Per Rider)
Paso 3: Debemos invocar al vehculo en el nodo de transferencia Output@Pintado asi que en este Nodo
ponemos False en Ride on Transportation y en el vehiculo debemos asignar este nodo en la parte de Routing
Logic Initial Node) y cambiamos a Bidirectional todos los Path
Respuesta: 113 aceptados y 30 rechazados.

51

Costo Vehculo = Costo Espera + Costo


Costo Vehculo = 0.2355*100*8 + 5*114= 188.4 + 570 = 758.3778
6.6667*113 + 5 = 758.3778

0.2355 = Number InStation Average


100 = Costo de oportunidad
8 = Total de Horas
5 = Costo transporte
114 = Partes transportadas
6.6667 = Costo por tem promedio

CLASE 21: WORKERS


Siempre opera en la modalidad demanda On Demand.
Las partes provienen de 2 fuentes, con tiempo expo de 5 minutos. Son procesados por sus respectivas
maquinas con tiempo expo de 2 minutos. Existe un operador que se encarga operar las dos mquinas.
Los path entre source y server son unidireccionales. Tambin se han incluido un par de nodos bsicos
ubicados entre las maquinas cuya distancia es de 15 metros y sentido bidireccional. Distancia entre objetos es
de 10 metros siendo la velocidad de la entidad 2 m/seg.
El trabajador tiene una velocidad de 10 m/min, al inicio se encuentra en el Nodo que est al lado de la
maquina 1, y cuando se encuentra en estado de ocio permanece en el lugar.
Paso 1: Creamos el modelo

52

Paso 2: Creamos un worker, ajustamos su velocidad (dando click en este) y lo asignamos al Nodo Basico 1,
tal y como muestra la figura.

Paso 3: Ahora hay que determinar a donde debe ir el worker, entonces damos click a Maquina 1 y en las
propiedades colocamos lo de la figura siguiente (Debe ir al nodo frente a la maquina 1). De igual manera con
el servidor Maquina 2

Respuesta: 67 y 68 en cada mquina respectivamente.

53

Ejercicio 2: Las partes arriban con media de 8 expo y se procesan con media de 2.5 expo min. Hay un
operador que se encarga de ambas mquinas y se mueve de los nodos Punto, Limpieza y nodos de salida de
cada mquina. La velocidad del worker es de 10 m/min. La longitud entre los path es de 10m y la velocidad
de la parte es de 2 m/seg.
Cuando un server invoca al worker sale del Home y se dirige al server. Despues del procesamiento se mueve
a Limpieza, efecta un retardo de 1 minuto y se mueve a Punto.
Para completar la accin se dirige al server que mantiene a la entidad y la libera, para regresar a Punto.
Simular 8 horas

CLASE 22: OBJETO DEFINIDO POR EL USUARIO


El objetivo de crear un objeto proceso, el cual se descompone en SEIZE, DELAY y RELEASE. Posee dos
propiedades: Delay Time y Resource Name
TITULO: APLICACIN DE LA SIMULACION AL PROBLEMA DEL COMEDOR DE LA UNMSM
COLOCAR FUENTES

CLASE 24: SIMULACION CONTINUA


Pendiente negativa cuando la variable disminuye (como en el tanque, el volumen de agua disminuye en el
Monitor SensorEmpty.

54

Pendiente positiva cuando la variable aumenta (como en el tanque, el volumen de agua aumenta en el
Monitor SensorFull.

CLASES VERANO
Paso 1: Crear el modelo con una Llegada, dos servidores (departamentos 1 y 2), dos salidas (una de
subcontratos y la otra de Salida normal).

Figura.- Modelo en Simio


Paso 2: Unimos todo mediante Path, aqu se juntar Llegada con Subcontrato. En este Path de unin en Allow
Passing colocamos False ya que si se acumula no pasar mas, sino se ira a Subcontrato. Ademas colocamos
1 en Initial Traveler Capacity para bloquear.
Paso 3: En el Departamente 1, colocaremos en Buffer Capacity en InputBuffer 4 ya que solo aceptara hasta 4
personas en cola y 0 en OutputBuffer.
Paso4: Colocamos los tiempos de procesamiento e interarribo.
Paso 5: Colocamos etiquetas para ver las colas y las llegadas y salidas.
Paso 6: En el Path que une la Llegada con el Dep1, en Selection Weight, colocamos la condicin de
Dep1.AllocationQueue.NumberWaiting < 4 y en el Path que une con Subcontrato lo mismo pero con mayor o
igual.

WORKSTATION
Paso 1: Crear el modelo con una Llegada, una Salida, un Workstation y una entidad (porque se manufactura
un lote de 10 articulos, es decir un grupo de artculos compone un lote) y los unimos por medio de conectores.

55

Paso 2: Colocamos la ley de arribos (20 minutos), y en Stopping Conditions ponemos 10, y regulamos el
tiempo de corrida como Unspecified.
Paso 3: Vamos a Definitions, a Elements (nica opcin que cuenta con materiales) y creamos 5 materiales de
los cuales 3 seran ParteA, ParteB ParteC. En Initial Quantity de cada uno colocamos 1000 (dato del
problema)
Paso 4: Especificamos las propiedad 4: Parte2
Paso 5: En la propiedad ParteBOM especificamos cuanto de cada parte necesita.
Paso 6: Colocamos 4 Output Statistic para saber cunto hemos consumido de cada parte y cuanto ha salido.
A las que se llaman ParteUso colocamos esta expresin: ParteA.QuantityConsumed. en el caso de Parte2Uso
se pone Parte2.QuantityProduced.
Paso 7: Colocamos los tiempos de setup (3) , de procesamiento (2) y de Teardown (1), en Operation Quantity
colocamos 10 (tamao de la orden). En Processing Batch colocamos 1 que indicara que el tiempo de
procesamiento de 2 es para 1 lote. (sino la respuesta en tiempo saldr 3.1horas <> 183 min).
Paso 8: En el Workstation colocamos en Material Consume: Bill of Materials, abajo ponemos ParteBOM.
Material Production ponemos Material y abajo Parte2.
TIEMPO DE CICLO = 3 + 2X10 +1 = 24

APUNTES VERANO
CLASE EXPERIMENTOS CON OPTIMIZACIN

56

La estabilidad es lo que sale entre lo que entra por 100 por ciento
(Salida.InputBuffer.NumberExited/Entrada.OutputBuffer.NumberEntered)*100
Las propiedades se crean y al momento de ingresar en las caracteristicas de nuestros objetos, generalmente
se ingresan de frente a menos que queramos que este valor cambie con la simulacion.
En cambio los estados se crean y al momento de ingresar en las caracteristicas de nuestro objetos, se
ingresan dentro de las expresiones. los estados son constantes
Recordar que el default value de las propiedades esta en horas!!! (Cuidado al crear Velocidades y no
multiplicar por 60 al momento de colocar el Default Value)
El throughtput es lo que sale entre el tiempo: Salida.InputBuffer.NumberExited/TimeNow
La utilizacin de una vehiculo se ve de la siguiente manera: Truck.Population.Capacity.Utilized.Average*100
(Para que salga en porcentaje se multiplica por el 100)
Una funcin objetivo puede ser mltiple si se especifica que las Responses son Objetive Type: Multi-Objective
Weight. (Y se debe especificar en cada Response si se desea maximizar o minimizar). Hay que tener en
cuenta el peso (Lo cual indica la importancia de una Response con respecto a la otra, vienen a ser las
constantes en una funcin objetivo, por ejemplo 10x+5y).
La versin autorizada de Simio solo utiliza 2 Controls (en Experimentos). En caso tengamos 3, ponemos en
Include in Optimization No para uno de los controles. Esto significar que no participar en la optimizacin.
Cuando dan BOM , usar un Workstation.
En un problema de BOM, creamos un material BOM que contenga todo el rbol de explosin. (En Bill of
Materiales se agregan Rows). Cualquier inventario se crea en Properties. O sino de frente en Initial Value de
los materiales.
El Processing Batch Size del Workstation indica el numero de entidades a procesar por lote.