Post on 18-Dec-2014
description
Aprender Simio
Capítulo 6Manejo de Tablas de Datos
Traducción de Material Capacitación Simio LLC. Se traduce solamente las explicaciones, manteniendo los comandos y nombre de las variables en inglés. www.evirtual.cl
Temario Rate Tables, Function Tables
◦ Workshop – Outpatient Registration Data Tables
◦ Workshop – Data Import Sequence Tables, Arrival Tables
◦ Workshop - Sequences Work Schedules, Lists, Changeovers
◦ Workshop – Job Shop
Data Window Crear yeditar datos que van a ser usados en
el modelo. Componente de Data incluye:
◦ Function tables◦ Rate tables◦ Data tables◦ Sequence tables◦ Schedules◦ Changeovers◦ Lists (in Definitions window)
Modelamiento de llegadas Si las llegadas son independientes y
aleatorias, ellas siguen un proceso Poisson.◦ La cantidad de llegadas en un tiempo fijo es
Poisson.◦ El tiempo entre llegadas es exponencial.
En algunos casos la tasa de llegada puede variar en el tiempo – Simio soporta llegadas lineales sucesivas(step-wise) usando una Rate Table.
Rate Table Una tabla que contiene tasas especificadas
por el usuario a través de intervalos fijos de tiempo (e.g. cada hora).
La cantidad de intervalos y tamaño de cada intervalo puede ser establecido por el usuario.
Es usado por el elemento Source object/Timer para generar entidades/eventos con una tasa variable en el tiempo.
Distribuciones exponenciales No estacionarias. (Arrival Tables discussed later)
SimBit: Rate Table SourceWithRateTable
◦ Cambia tasas de llegada en el tiempo
Function Table
Dado x, calcula f(x) Sintaxis: Function.TableName[X_Expression] Translation:
◦ Lookup◦ Interpolación entre valores◦ Level extension de extremos.
Modelado de Curvas de Aprendizaje En algunos casos una operación puede ser
más eficiente en el tiempo. La Function Table puede ser usada para
definir el tiempo de una tarea (o un parámetrode una distribución) que cambia en el tiempo o basada en la contabilización de operaciones completadas.
Function tables se pueden usar para cualquier f(x), no solamente basada en el tiempo.
Learning Curve Example
Source Server
Sink
10/Function.LearningCurve[TimeNow]
Workshop – Outpatient Registration Pacientes llegan a las instalaciones de salida
según los siguientes turnos: (tasa promedio/hora):
Tiempo de registro (minutos) varía continuamente durante el día de la siguiente manera:
7-9 9-11 11-1 1-3 3-5
20 25 15 10 5
Before 8 am 9 am Noon 4 and after
1.5 3 5 2.5
Workshop Tips - Outpatient Use RateTable
◦ 5, periodos de 2 horas Inicie la simulación a las 7:00
◦ TimeNow is 0 at 7:00 Use Function Table llamada RegistrationTime
◦ Use TimeNow como variable X Server Processing Time
◦ Function.RegistrationTime[TimeNow]
Data del Modelo
ExternalData
SimioModel
Data is imported and held in memory for
direct and fast access by the model.
Los modelos normalmente tienen una gran cantidad de datos que describen los diferentes objetos y entidades que se mueven a tavés del sistema.
No es rápido ni conveniente accesar repetidamente a los datos externos durante la simulación. Por eso Simio maneja los datos en memoria para un rápido acceso.
Simio puede representar datos en tablas simples o en conjunto de datos completos con múltiples relaciones.
El esquema de las tablas está definida por el usuario.
Tables Las Tables tienen columnas y filas. Las
columnas son especificadas como tipos de propiedades fundamentales. Las Filas pueden ser referenciadas por números o por la fila activa que está asignada a un objeto
Una tabla de secuencia es una tabla con una columna Sequence, agragada para especificar la ruta de una entidad.
Un valor de una tabla puede ser referenciado por la fila y la columna usando la sintaxis:
TableName[RowNumber].ColumnName
Un objeto puede tener una referencia activa hacia una fila de una tabla. An object may have an activeEn este caso un valor de la tabla se referencia como:
TableName.ColumnName
A column is defined by a
strongly typed property.
A row may be referenced by an object or
entity.
Standard PropertiesProperty Type DescripciónReal Un valor constante real: e.g. 132.7Integer Un valor constante entero: e.g. 34 or -27Boolean Una caja de Verdadero/Falso.Expression Una expresión válida de Simio que considera una o más variables: e.g. (X + Y) / 2.3
Date Time Un valor de fecha con un selector de calendario: e.g. 1/1/2010 12:00:00 AMString Una cadena de caracteres válida: e.g. FredEvent Un evento que está definido en el contexto del modelo:
e.g. ModelEntity.TransferredList Un valor seleccionado desde una lista que está referenciada por la propiedad: e.g.
RedEnumeration Un valor de una enumeración que está referenciada por la propiedad:
e.g. FirstInFirstOutRate Table Una tabla de tasas que está definida por el modelo: e.g. ArrivalPatternTable Una tabla de datos que está definida por este modelo: e.g. ProductTableSequence Table Una tabla de secuencias que está definida para este modelo: e.g. RoutingTable
State Un estado que está definido para este modelo: e.g. ReworkCountSchedule Un programa (horario) que está definido para este modelo: e.g. OverTimeShift
Selection Rule Una regla de selección dinámica: e.g. Smallest Value First
Element and Object References Una propiedad puede ser una referencia a
un elemento o a un objeto. Un element reference puede ser usado
para especificar material, estadísticas, u otros tipos de elementos por sus nombres.
Un object reference se puede usar para especificar un objeto específico o una lista de objetos.
SimBit: Tables
SelectEntityTypeFromTableCrear una entidad cuyo tipo de
entidad está especificado en una tabla.
Seleccionar el tipo basado en un mix de productos definidos por una tabla.
Usar un campo de una tabla para el tiempo de procesamiento.
Example: Multiple Entities
Customer Type
Mix (Percentage)
Processing Time
Standard 60 Random.Triangular(3,4,5)Simple 15 Random.Triangular(1,2,3)Complex 25 Random.Triangular(7,9,12)
Source Server Sink
Processing time depends
upon customer
type.
Customer mix
defined in table.
Relational Tables Relational Tables son tablas que tienen
definidos relaciones entre ellas en lugar de existir independientemente.
Las relaciones están formadas al usar las características deTable Key y Foreign Key.
Las tablas relacionales incluyen un Master-Detail view, lo que permite que las relaciones entre las tablas puedan ser vistas.
Keys and Foreign Keys Usted puede especificar una columna
como una key. Los registros en una columna key deben ser únnicos.
Una tabla puede agregar referencias como columnas foreign key. Una referencia foreign key está especificada al usar la sintaxis: TableName.KeyColumnName
Una referencia foreign key establece una relación 1-1, 1-N, o N-1 entre las tablas.
Una fila de referencia activa, automáticamente se propaga a través de las relaciones por lo que permite un acceso directo a las columnas de referencias.
Las relaciones de las tablas pueden ser anidadas a un nivel cualquiera.
DueDate
Color Size
3/24 Red Large
3/27 Red Small
3/28 Blue Large
Size Cut Time
PolishTime
Small
Medium
Large
Products
Orders
This foreign key reference
defines an N-1 relation.
Size is a key column with
unique values.
Relational Tables Example SimBit – UsingRelationalTables
Data Table Import/Export Soporta todos los tipos de campos como
cadenas (strings). Cualquier error se ve después de la
importación Comenzar con Export para tener el formato
apropiado. Importar reemplaza el contenido de las
tablas
Workshop - Data Import
Start with SimBit (SelectEntityTypeFromTable)
Export data to CSV file Add new EntityType in model Edit CSV file to change product mix and
processing time. Import CSV file and run model.
Sequences Entidades y vehículos necesitan
frecuentemente seguir una ruta en particular:◦ Registration – Triage – Exam – Treatment◦ Downtown – Midtown – Uptown (repeat)
Path puede varias por entity/vehicle◦ Patient severity◦ Vehicle zone, or local/express
Sequence Table Una tabla de datos con una columna de
destinaciones para especificar el destino del ruteo.
Es usada cuando se rutea desde un nodo “By Sequence”.
La sequence table a seguir puede definirse en una instancia entidad, o definirse/resetearse (set/reset) al usar la SetTable step.
La destinación se puede especificar como Node, ObjectName, o Node@ObjectName.
SimBit: Sequences EntityFollowsSequence
◦ Single entity type EntityFollowsSequenceMultiple
◦ Multiple entity types each following own sequence◦ Don’t need to use sequence for every move
EntityFollowsSequenceWithTable◦ Entity’s job table refers to its sequence data
Ejemplo: Separate Sequence Tables
Source
Server1
Sink
Server3
Server2
20% Part A 30% Part B 50% Part CStation Process TimeServer1 Uniform(.5,.9)Server2 Triangular(.5,1.1,1.2)Sink
Station Process TimeServer3 Triangular(.5,.8,1.2)Server2 1.5Server1 1Sink
Station Process TimeServer2 Triangular(.5,1.2,1.6)Sink
Ejemplo: Single Sequence Table
Sequence
Sequence Type
Process Time
Server1 A Random.Uniform(.5, .9)Server2 A Random.Triangular(.5, 1.1, 1.2)Sink1 A 0.0Server3 B Random.Triangular(.5, .8, 1.2)Server2 B 1.5Server1 B 1Sink1 B 0.0
Part Type
Product Mix
Sequence Type
PartA 20 APartB 30 BPartC 50 C
Key column.
A foreign key reference to the
Job Table creating a N-1 relation.
Job TableRoutings
See SimBit – EntityFollowsSequenceWithTable2
Arrival Table Una tabla que contiene llegadas específicas. Usadas por el objeto Source (no Timer
element) para generar entidades con tiempos de llegada específicos conocidas.
Pueden representar entidades individuales o batches.
Especialmente útilies para la validación de de modelo y aplicaciones con calendarizaciones.
Workshop - Sequences
Create a transportation network with 2 Sources and 2 Sinks and a Vehicle that moves between them sequentially (e.g. 1-2-3-4 …)
Workshop Tips - Sequences
Work Schedules (Programación Trabajo) Define un programa de trabajo que puede
ser referenciado por un objeto (e.g. Server or Worker) para controlar su disponibilidad o capacidad en el tiempo.
Comprende de un ciclo repetitivo fijo, con excepciones superimpuestas.
El largo del ciclo repetitivo puede definirse por el usuario.
La capacidad del programa por defecto es cero.
SimBit: Schedule ServerFollowsOddSchedule
◦ 45 minutes on, 15 minutes off ServerFollowsDailySchedule
◦ 8 hour daily shift with 30 minute break WorkerUsesWorkSchedule
◦ 3 daily breaks scheduled
List Usada para crear un conjunto de strings,
objects, nodes, o transporters. Object, node, y transporter lists se usan por
las etapas cuando se hace una selección desde una lista de ítemes.
String lists se usan para definir List Properties con valores definidos por la lista (e.g. Color con valores Red, Green, Blue), y para definir el estado “desde – a” (from-to) en una matriz de transiciones.
Se referencia al usar la sintaxis List.Listname.Value
SimBit: Lists SelectingResourcefromList
SelectEntityColorFromStringList
Within Seize step
Definitions window,
Lists panel
Changeovers (transiciones) Usada para modelar los tiempos de las
actividades dependientes de las secuencias (e.g. setup).
El valor está basado en el valor del estado de transición anterior – siguiente ( previous – next) (e.g. size).
From/To Small Medium Large
Small 0 11.4 14.5
Medium 2 0 16.3
Large 45 27.3 0
Previous
Next
SimBit: Changeovers WorkstationWithSequenceDependentSetup
◦ Use Colors list and Color state◦ Changeover matrix◦ Workstation with changeover option
Workshop: Simple Job Shop Arrivals via a rate table. Three part types – routings/data. Servers follow a schedule.
Workshop: Simple Job Shop Crear cuatro centros de trabajo con tres
tipos de partes. Use una sequence table para definir las
etapas del trabajo y los tiempos de procesamiento.
Use una job table para crear los tipos de partes aleatoriamente y los tiempos de proceso.
Controlar los tiempos de llegada usando una rate table
Workshop: Simple Job Shop Todos los servers are scheduled ON desde 8:00am–
12:00pm & 1:00pm-5:00pm. Batches de 20 partes llegan al inicion de cada hora
desde las 6 am al medio día (inclusive), y 3 pm Partes 1, 2, and 3 son generadas en proporción del
20%, 30%, y 50% respectivamente. Cada tipo de parte tiene diferentes secuencias:
◦ Parte1: Source -> Server1 -> Server2 -> Server3 -> Server4 -> Sink
◦ Parte2: Source -> Server2 -> Server3 -> Server4 -> Sink◦ Parte3: Source -> Server3 -> Server4 -> Sink
Server 1-4 tiempos de procesamiento son 4, 3, 2, & 1 minuto respectivamente.