Non-Product-Form Networks

Approximations for intractable queueing networks.

The npfqn module provides approximation methods for non-product-form queueing networks that do not satisfy BCMP conditions.

Key function categories:

Non-product-form queueing network (NPFQN) approximations.

This module provides approximation algorithms for queueing networks that do not satisfy product-form conditions, including traffic merging and splitting operations for non-exponential service times.

These approximations enable analysis of more general queueing networks beyond the product-form assumption.

npfqn_nonexp_approx(method, sn, ST, V, SCV, Tin, Uin, gamma, nservers)[source]

Non-exponential approximation for non-product-form queueing networks.

Applies approximation methods to analyze queueing networks with non-exponential service time distributions.

Parameters:
  • method – Approximation method identifier.

  • sn – Service network structure.

  • ST – Service time matrix.

  • V – Visit count matrix.

  • SCV – Squared coefficient of variation matrix.

  • Tin – Input think times.

  • Uin – Input utilizations.

  • gamma – Load balancing parameters.

  • nservers – Number of servers per station.

Returns:

[ST_new, gamma_new, nservers_new, rho, scva, scvs, eta].

Return type:

list

npfqn_traffic_merge(lambda_rates, scv_rates)[source]

Merge traffic streams with different arrival rates and variabilities.

Combines multiple traffic streams into a single merged stream, computing the resulting arrival rate and variability.

Parameters:
  • lambda_rates – Array of arrival rates for each stream.

  • scv_rates – Array of squared coefficients of variation.

Returns:

(lambda_merged, scv_merged) - Merged traffic parameters.

Return type:

tuple

npfqn_traffic_merge_cs(lambda_rates, scv_rates, P)[source]

Merge traffic streams with class switching probabilities.

Combines multiple traffic streams considering class switching behavior and routing probabilities.

Parameters:
  • lambda_rates – Array of arrival rates for each stream.

  • scv_rates – Array of squared coefficients of variation.

  • P – Class switching probability matrix.

Returns:

(lambda_merged, scv_merged) - Merged traffic with class switching.

Return type:

tuple

npfqn_traffic_split_cs(lambda_rate, scv_rate, P)[source]

Split traffic stream with class switching probabilities.

Divides a single traffic stream into multiple streams based on class switching probabilities.

Parameters:
  • lambda_rate – Input arrival rate.

  • scv_rate – Input squared coefficient of variation.

  • P – Class switching probability matrix.

Returns:

(lambda_split, scv_split) - Split traffic streams.

Return type:

tuple