CAPSULA 6: Un transporte para cada producto

Descripción del problema

Existen dos tipos de productos (P1 y P2) y cada tipo de producto solo puede ser transportado por una determinada carretilla. Los productos son transportados hasta un proceso y de este proceso vuelven a ser transportados hasta el muelle de salida.

Solo disponemos de dos carretillas para cada tipo de producto, y cada producto llega con una frecuencia de 2 minutos aproximadamente.

Arquitectura del modelo

Los dos tipos de productos serán representados con Entities (P1 y P2), las carretillas serán modelizadas como vehicles (Carretilla1 y Carretilla2). La Carretilla1 será la encargada de transportar el P1 así como la Carretilla2 transportara a P2.

El proceso se ha modelizado como un Server, y el muelle de salida como un Sink.

Para la entrada de los productos, existe un Source para cada tipo de producto, Source1 para P1 y Source2 para P2.

Las salidas de estos Sources están conectadas a un mismo Trasfer Node (TransferNode1)y desde allí será donde empiecen a ser transportadas por las carretillas.

Todas las conexiones entre los distintos elementos se han realizado mediante TimePaths.

Para poder observar el modelo más claramente, a cada Entity con su respectivo Vehicle se le ha asignado la misma gama de color.

Parametrizado del modelo

  1. En el caso de las Sources deberemos asignar el producto que deseamos que genere (Properties à Arrival Logic à Entity type à…), así como cambiar el tiempo de llegada a dos minutos (Properties à Arrival Logic à Interarrival Time à 2).

  2. En el caso de las carretillas, se han modificado los siguientes parámetros:
    1. La estrategia de selección de la carretilla será ir a por el Entity más cercano (Properties à Transport Logic à Task Selección Strategy à Smallest Distance).
    2. La prioridad inicial de la Carretilla1 ha sido modificada a 2, mientras que la de la Carretilla2 se ha cambiado a 1
      (Properties à Routing Logic à Initial Priority à…).
    3. El nodo inicial de se ha establecido en el TransferNode1 (Properties à Routing Logic à Initial Node (Home) à TransferNode1).
    4. Como solo existen dos carretillas de cada tipo, cambiamos el número inicial en el sistema por 2 (Properties à Dinamic Objects à Initial Number In System à 2).

  3. Para crear la lógica de transporte se ha creado una variable entera llamada “Tipo”. En la ventana navigation, se hace click en ModelEntity. En la ventana Definitions , seleccionar Properties y crear una StandarProperty Integer. Para modificar su nombre, Properties à General à Name àTipo.

  4. Una vez creada la propiedad, se vuelve a model en la ventana de Navigation, y seleccionando un Entity, podemos observar en sus propiedades que aparece la nueva variable creada. Para el caso del P1 le asignaremos el valor 1, y en el caso de P2 introduciremos 2.

  5. A continuación se crea una lista de transporters. Para ello se entra en la pantalla Definitions, en el apartado Lists y se selecciona Transporter. Así, se crea TransporterList1 donde se añade Carretilla1 y Carretilla2.

  6. Se crea la lógica del transporte, para ello modificaremos con parámetros tanto TransferNode1 como Output@Server1.
    1. Asignamos que desde ese nodo los Entities saldrán con un transporte (Properties à Transport Logic à Ride On Transport à True).
    2. Aparecen nuevas opciones en la propiedades y se le asigna TransporterList1 a el tipo de transporte usado (Properties à Transport Logic à Transporter Type à TransporterList1).
    3. Y finalmente se impone la condición de selección de transporte (Properties à Transport Logic à Selección Condition à Candidate.Vehicle.InitialPriority*ModelEntity.tipo==2).
  7. Finalmente se detalla una explicación de la lógica de selección de transporte.

    La condición de selección de transporte multiplica el valor de InitialPriority del vehiculo (Candidate.Vehicle.InitialPriority) por la variable creada anteriormente asociada a los Entities (ModelEntity.tipo). Si el resultado de esta operación es igual a 2, entonces se iniciara el transporte, no ocurrirá así en caso contrario.

    A continuación se adjunta una tabla para visualizar los posibles valores que podría tomar esta operación.

Producto

TIpo

Vehiculo

InitialPriority

Resultado

P1

1

Carretilla1

2

2

P1

1

Carretilla2

1

1

P2

2

Carretilla1

2

4

P2

2

Carretilla2

1

2

Así se observa que el resultado de la operación únicamente será 2 cuando intervengan el Entity P1 con la Carretilla1 o el P2 con la Carretilla2.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s