Capítulo 06 uso de tablas de datos

Post on 18-Dec-2014

446 views 27 download

description

 

Transcript of Capítulo 06 uso de tablas de datos

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.