Transporter Controller

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController.TransporterController

Bases: object

main class for transport controller, SQF is set as standard

addControllerDict(controller_dict)

only used for Hybrid controller, allowes the use of multiple transport controller

Parameters:

controller_dict – dictionary with python_classes

combine_products(transport_onto)

combines the sort on transporter and not on transporter with the sort product method

Parameters:

transport_onto

Returns:

[[type: on or not_on, procut_onto.name,time]]

evaluateTransport(event_onto)

entry-level class for selecting the transport controller

Parameters:

event_onto

sort_products(products_on_transporter, products_not_on_transporter)

arranges the products on the transporter, sorted by random

Parameters:
  • products_on_transporter

  • products_not_on_transporter

Returns:

[[product_onto,time,type]]

sort_products_not_on_transporter(transport_onto=None)

arranges the products not on the transporter, sorted by waiting time, does not evaluate other transporter

Returns:

[[product name, time (int)]]

sort_products_on_transporter(transport_onto)

sort all products in transporter queue

Parameters:

transport_onto

Returns:

[[product_onto.name,time (int)]]

TransporterController EDD

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_EDD.TransporterController_EDD

Bases: TransporterController

sort products on transporter based on Earlist Deadline first, currently there is no due time elemented. Therefore the start of production is set as reference. SQF used

sort_products(products_on_transporter, products_not_on_transporter)

combines products not on transporter with on transporter and sort after EDD

Parameters:
  • products_on_transporter

  • products_not_on_transporter

Returns:

sort_products_not_on_transporter(transport_onto=None)

sort products not on transporter after EDD

Parameters:

transport_onto

Returns:

sort_products_on_transporter(transport_onto)

sort products on transporter after EDD

Parameters:

transport_onto

Returns:

[product name,int]

Transporter Controller Enum

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_Enum.Queue_Selection(value)

Bases: Enum

Defines the two strategies for selecting the next station SQF: Shortest Queue First NJF: Earliest Job First (nearest queue)

NJF = 'NJF'
SQF = 'SQF'

Transporter Controller FIFO

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_FIFO.TransporterController_FIFO

Bases: TransporterController

transporter controller based on FIFO (Firts in First out) FIFO used

sort_products(products_on_transporter, products_not_on_transporter)

combines the sort on transporter and not on transporter with the sort product method

Parameters:
  • products_on_transporter

  • products_not_on_transporter

Returns:

sort_products_not_on_transporter(transport_onto=None)

sort products not on transporter after FIFO

Parameters:

transport_onto

Returns:

[product name,int]

sort_products_on_transporter(transport_onto)

sort products on transporter after FIFO

Parameters:

transport_onto

Returns:

[product name,int]

TransporterController_Hybrid

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_Hybrid.TransporterController_Hybrid

Bases: TransporterController

Combines multiple transporter controller strategies

addControllerDict(controller_dict)

adding all controller in a dict, value must be between 0 and 1

Parameters:

controller_dict – {Klass:int [0:1]}

combine_products(transport_onto)

calculates for all controller strategies the ordered product hirachy

Parameters:

transport_onto

Returns:

[product_name, time, when NFJ then queue_name ]

Transporter Controller LIFO

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_LIFO.TransporterController_LIFO

Bases: TransporterController

transporter controller for LIFO (last in first out) (shortest waiting time) based on SQF for selecting next queue

sort_products(products_on_transporter, products_not_on_transporter)

combines the sort on transporter and not on transporter with the sort product method

Parameters:
  • products_on_transporter

  • products_not_on_transporter

Returns:

sort_products_not_on_transporter(transport_onto=None)

sort all products not on transporter

Returns:

[[product_name,time (int)]]

sort_products_on_transporter(transport_onto)

sort all products on transporter

Parameters:

transport_onto

Returns:

[[product_name,time (int)]]

Transporter Controller NJF

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_NJF.TransporterController_NJF

Bases: TransporterController

select the product on the nearest job

combine_products(transport_onto)

arranges the products on the transporter, sorted by random

Parameters:
  • products_on_transporter

  • products_not_on_transporter

Returns:

[[product_name,time,type]]

evaluateTransport(event_onto)

NJF has its on evaluate transporter start point, this is currently not really neccessary

Parameters:

event_onto

sort_products(products_on_transporter, products_not_on_transporter)

combines the sort on transporter and not on transporter with the sort product method

Parameters:
  • products_on_transporter

  • products_not_on_transporter

sort_products_not_on_transporter(transport_onto)

sort all products not on transporter

Parameters:

transport_onto

Returns:

[[product_name,time (int)]]

sort_products_on_transporter(transport_onto)

sort all products on transporter

Returns:

[[product_name,time (int)]]

Transporter Controller SQF

class ontologysim.ProductionSimulation.controller.transporter_controller.TransporterController_SQF.TransporterController_SQF

Bases: TransporterController

calculates the next product based on the shortest queue

sort_products(products_on_transporter, products_not_on_transporter)

combines the sort on transporter and not on transporter with the sort product method

Parameters:
  • products_on_transporter

  • products_not_on_transporter

sort_products_not_on_transporter(transport_onto=None)

sort all products not on transporter

Parameters:

transport_onto

Returns:

[[product_name,time (int)]]

sort_products_on_transporter(transport_onto)

sort all products on transporter

Parameters:

transport_onto

Returns:

[[product_name,time (int)]]