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:
Traffic merging:
npfqn_traffic_merge(),npfqn_traffic_merge_cs()Traffic splitting:
npfqn_traffic_split_cs()Service approximations:
npfqn_nonexp_approx()
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:
- 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:
- 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:
- 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: