The Parameters DictionaryΒΆ

In order to fully define a queueing network simulation, the following need to be defined:

  • Number of nodes (service stations)
  • Number of customer classes
  • Simulation run time

Every node must have the following defined globally (independent of customer class):

  • Number of servers
  • Queue capacity

Then, for every node and every class the following must be defined:

  • Arrival rates
  • Service distribution

And then each customer class requires:

  • Transition matrix

A full example of the parameters dictionary for a three node network with two classes of customer is shown below:

>>> {'Arrival_rates': {'Class 1': [1.0, 1.8, 7.25],
                       'Class 0': [6.0, 4.5, 2.0]},
...  'Number_of_nodes': 3,
...  'detect_deadlock': False,
...  'Simulation_time': 2500,
...  'Number_of_servers': [2, 1, 1],
...  'Queue_capacities': ['Inf', 'Inf', 10],
...  'Number_of_classes': 2,
...  'Service_rates': {'Class 1': [['Exponential', 8.5], ['Triangular', 0.1, 0.8, 0.95], ['Exponential', 3.0]],
...                    'Class 0': [['Exponential', 7.0], ['Exponential', 5.0], ['Gamma', 0.4, 0.6]]},
...  'Transition_matrices': {'Class 1': [[0.7, 0.05, 0.05], [0.5, 0.1, 0.4], [0.2, 0.2, 0.2]],
...                          'Class 0': [[0.1, 0.6, 0.2], [0.0, 0.5, 0.5], [0.3, 0.1, 0.1]]}}

Notice that:

  • Queue_capacities can be set to "Inf".

  • When Queue_capacities aren’t set to "Inf" blocking rules apply. Type I (blocked after service) blocking applies here.

  • Number_of_servers may be set to “Inf” also.

  • To obtain no arrivals, set Arrival_rates to 0.

  • There are many service distributions available, see Service Time Distributions.

  • The Transition_matrices for Class 0 section represents the following transition matrix:

    [[0.1, 0.6, 0.2],
     [0.0, 0.5, 0.5],
     [0.3, 0.1, 0.1]]
    

In this transition matrix the (i,j) th element corresponds to the probability of transitioning to node j after service at node i.

There are numerous other features, please see Features for more information.

The keys of this dictionary may also be used as keyword arguments when defining a simulation. ASQ features a function that will load in these parameters from a file, please read The Parameters File.