LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
Product-Form Queueing Networks

MVA, convolution, and normalizing constant methods.

The pfqn module contains algorithms for product-form queueing networks, including Mean Value Analysis (MVA), convolution, and normalizing constant methods.

Function List

  • pfqn_aql - Approximate Queue Length (AQL) algorithm for product-form networks.
  • pfqn_bsfcfs - Bard-Schweitzer approximate MVA for FCFS scheduling with weighted priorities.
  • pfqn_bs - Bard-Schweitzer Approximate Mean Value Analysis (MVA).
  • pfqn_ca - Convolution Algorithm for exact normalizing constant computation.
  • pfqn_cdfun - AMVA-QD class-dependence function for queue-dependent scaling.
  • pfqn_comom - CoMoM algorithm for computing the normalizing constant.
  • pfqn_comomrm_ld - CoMoM for repairman model with load-dependent service rates.
  • pfqn_comomrm - CoMoM (Convolution Method of Moments) for finite repairman model.
  • pfqn_comomrm_ms - CoMoM for multiserver repairman model.
  • pfqn_comomrm_orig - Original CoMoM implementation for finite repairman model.
  • pfqn_conwayms - Multiserver Linearizer approximation (Conway 1989).
  • pfqn_cub - Cubature method for normalizing constant using Grundmann-Moeller rules.
  • pfqn_egflinearizer - Extended generalized fixed-point Linearizer approximation.
  • pfqn_fnc - Generate load-dependent rates for functional server model f(n)=n+c.
  • pfqn_gflinearizer - Generalized fixed-point Linearizer with uniform scaling exponent.
  • pfqn_gld - Exact normalizing constant for load-dependent queueing networks.
  • pfqn_gldsingle - Exact normalizing constant for single-class load-dependent models.
  • pfqn_grnmol - Normalizing constant using Grundmann-Moeller quadrature.
  • pfqn_joint - Compute joint queue-length probability distribution.
  • pfqn_kt - Knessl-Tier asymptotic expansion for normalizing constant.
  • pfqn_lap - Laplace approximation for normalizing constant.
  • pfqn_lcfsqn_ca - Convolution algorithm for 2-station LCFS queueing networks
  • pfqn_lcfsqn_mva - Exact MVA for 2-station LCFS queueing networks.
  • pfqn_le - Logistic expansion (LE) asymptotic approximation for normalizing constant.
  • pfqn_linearizer - Linearizer approximation for single-server stations.
  • pfqn_linearizerms - Multiserver Linearizer (Krzesinski/Conway/De Souza-Muntz).
  • pfqn_linearizermx - Linearizer for mixed open/closed queueing networks.
  • pfqn_lldfun - AMVA-QD load and queue-dependent scaling function.
  • pfqn_ls - Logistic sampling approximation for normalizing constant.
  • pfqn_mci - Monte Carlo Integration (MCI) for normalizing constant.
  • pfqn_mmint2_gausslaguerre - McKenna-Mitra integral with Gauss-Laguerre quadrature.
  • pfqn_mmint2_gausslegendre - McKenna-Mitra integral with Gauss-Legendre quadrature.
  • pfqn_mmint2 - McKenna-Mitra integral form for repairman models using MATLAB integral.
  • pfqn_mmsample2 - Monte Carlo sampling for repairman models using McKenna-Mitra form.
  • pfqn_mu_ms - Compute load-dependent rates for m identical c-server FCFS stations.
  • pfqn_mushift - Shift load-dependent service rate vector by removing first element.
  • pfqn_mvald - Exact MVA for load-dependent closed queueing networks.
  • pfqn_mvaldms - Load-dependent MVA for multiserver mixed networks (wrapper for pfqn_mvaldmx).
  • pfqn_mvaldmx_ec - Compute effective capacity terms for MVALDMX solver.
  • pfqn_mvaldmx - Load-dependent MVA for mixed open/closed networks with limited load dependence.
  • pfqn_mva - Exact Mean Value Analysis (MVA) for product-form queueing networks.
  • pfqn_mvams - General-purpose MVA for mixed networks with multiserver nodes.
  • pfqn_mvamx - Exact MVA for mixed open/closed single-server networks.
  • pfqn_lcfsqn_nc - Normalizing constant for LCFS queueing networks
  • pfqn_ncld - Normalizing constant for load-dependent closed networks.
  • pfqn_nc - Computes the normalizing constant of a product-form queueing network.
  • pfqn_nc_sanitize - Sanitize and preprocess network parameters for NC solvers.
  • pfqn_nrl - Normalizing constant via Normal Radius-Logistic (NRL) approximation.
  • pfqn_nrp - Normalizing constant via Normal Radius-Probit (NRP) approximation.
  • pfqn_panacea - PANACEA (PAth-based Normal Approximation for Closed networks Estimation Algorithm).
  • pfqn_procomom2 - Product-form CoMoM for 2-station repairman model (queue + delay).
  • pfqn_propfair - Proportionally fair allocation approximation (Walton 2009).
  • pfqn_qd - Queue-Dependent (QD) approximate MVA solver.
  • pfqn_qzgblow - Lower asymptotic bound on queue length (Zahorjan-Gittelsohn-Bryant).
  • pfqn_qzgbup - Upper asymptotic bound on queue length (Zahorjan-Gittelsohn-Bryant).
  • pfqn_rd - Reduced Decomposition (RD) method for load-dependent networks.
  • pfqn_recal - RECAL (REcursive CALculation) method for normalizing constant.
  • pfqn_schmidt - Schmidt's exact MVA for networks with general scheduling disciplines.
  • pfqn_sqni - Single Queue Network Iteration (SQNI) approximate solver.
  • pfqn_stdf_heur - Heuristic sojourn time distribution for multiserver FCFS nodes (McKenna 1987 variant).
  • pfqn_stdf - Sojourn time distribution for multiserver FCFS nodes (McKenna 1987).
  • pfqn_xzabalow - Lower asymptotic bound on throughput (Zahorjan-Balanced).
  • pfqn_xzabaup - Upper asymptotic bound on throughput (Zahorjan-Balanced).
  • pfqn_xzgsblow - Lower asymptotic bound on throughput (Zahorjan-Gittelsohn-Schweitzer-Bryant).
  • pfqn_xzgsbup - Upper asymptotic bound on throughput (Zahorjan-Gittelsohn-Schweitzer-Bryant).

pfqn_aql

Description: Approximate Queue Length (AQL) algorithm for product-form networks.

Syntax:

[XN, QN, UN, RN, numIters, AN] = pfqn_aql(L, N, Z, TOL, MAXITER, QN0)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
TOLTolerance for convergence.
MAXITERMaximum number of iterations.
QN0Initial guess for queue lengths.

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
RNResidence times.
numItersNumber of iterations.
ANAverage arrival rate at nodes.

pfqn_bsfcfs

Description: Bard-Schweitzer approximate MVA for FCFS scheduling with weighted priorities.

Syntax:

[XN, QN, UN, RN, it] = pfqn_bsfcfs(L, N, Z, tol, maxiter, QN, weight)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector (default: zeros).
tolConvergence tolerance (default: 1e-6).
maxiterMaximum number of iterations (default: 1000).
QNInitial queue length matrix (default: uniform distribution).
weightWeight matrix for relative priorities (default: ones).

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
RNResidence times.
itNumber of iterations performed.

pfqn_bs

Description: Bard-Schweitzer Approximate Mean Value Analysis (MVA).

Syntax:

[XN, QN, UN, RN, it] = pfqn_bs(L, N, Z, tol, maxiter, QN0, type)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
tolTolerance for convergence.
maxiterMaximum number of iterations.
QN0Initial guess for queue lengths.
typeScheduling strategy type (default: PS).

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
RNResidence times.
itNumber of iterations performed.

pfqn_ca

Description: Convolution Algorithm for exact normalizing constant computation.

Syntax:

[Gn, lGn] = pfqn_ca(L, N, Z)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.

Returns:

NameDescription
GnNormalizing constant.
lGnLogarithm of the normalizing constant.

pfqn_cdfun

Description: AMVA-QD class-dependence function for queue-dependent scaling.

Syntax:

pfqn_cdfun(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_comom

Description: CoMoM algorithm for computing the normalizing constant.

Syntax:

pfqn_comom(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_comomrm_ld

Description: CoMoM for repairman model with load-dependent service rates.

Syntax:

[G, lG, prob] = pfqn_comomrm_ld(L, N, Z, mu, options)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
muLoad-dependent rate matrix (MxNt matrix).
optionsSolver options.

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.
probState probability distribution.

pfqn_comomrm

Description: CoMoM (Convolution Method of Moments) for finite repairman model.

Syntax:

[lG, lGbasis] = pfqn_comomrm(L, N, Z, m, atol)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
mReplication factor (default: 1).
atolAbsolute tolerance for numerical computations.

Returns:

NameDescription
lGLogarithm of normalizing constant.
lGbasisLogarithm of basis functions.

pfqn_comomrm_ms

Description: CoMoM for multiserver repairman model.

Syntax:

[G, lG, prob] = pfqn_comomrm_ms(L, N, Z, m, S)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
mReplication factor (default: 1).
SNumber of servers at queueing stations.

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.
probState probability distribution.

pfqn_comomrm_orig

Description: Original CoMoM implementation for finite repairman model.

Syntax:

pfqn_comomrm_orig(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_conwayms

Description: Multiserver Linearizer approximation (Conway 1989).

Syntax:

[Q, U, R, C, X, totiter] = pfqn_conwayms(L, N, Z, nservers, type, tol, maxiter)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
nserversNumber of servers per station.
typeScheduling strategy type per station (default: FCFS).
tolConvergence tolerance (default: 1e-8).
maxiterMaximum number of iterations (default: 1000).

Returns:

NameDescription
QMean queue lengths.
UUtilization.
RResidence times.
CCycle times.
XSystem throughput.
totiterTotal number of iterations.

pfqn_cub

Description: Cubature method for normalizing constant using Grundmann-Moeller rules.

Syntax:

[Gn, lGn] = pfqn_cub(L, N, Z, order, atol)

Parameters:

NameDescription
LService demand matrix (MxR).
NPopulation vector (1xR).
ZThink time vector (1xR).
orderDegree of cubature rule (default: ceil((sum(N)-1)/2)).
atolAbsolute tolerance (default: 1e-8).

Returns:

NameDescription
GnEstimated normalizing constant.
lGnLogarithm of normalizing constant.

pfqn_egflinearizer

Description: Extended generalized fixed-point Linearizer approximation.

Syntax:

[Q, U, W, C, X, totiter] = pfqn_egflinearizer(L, N, Z, type, tol, maxiter, alpha)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
typeScheduling strategy type per station.
tolConvergence tolerance (default: 1e-8).
maxiterMaximum number of iterations (default: 1000).
alphaPer-class scaling exponent vector.

Returns:

NameDescription
QMean queue lengths.
UUtilization.
WWaiting times.
CCycle times.
XSystem throughput.
totiterTotal iterations performed.

pfqn_fnc

Description: Generate load-dependent rates for functional server model f(n)=n+c.

Syntax:

[mu, c] = pfqn_fnc(alpha, c)

Parameters:

NameDescription
alphaRate parameters (Mx N matrix).
cConstant offset parameter (default: auto-determined).

Returns:

NameDescription
muLoad-dependent service rates.
cDetermined offset constant.

pfqn_gflinearizer

Description: Generalized fixed-point Linearizer with uniform scaling exponent.

Syntax:

[Q, U, W, C, X, totiter] = pfqn_gflinearizer(L, N, Z, type, tol, maxiter, alpha)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
typeScheduling strategy type per station.
tolConvergence tolerance.
maxiterMaximum number of iterations.
alphaUniform scaling exponent for all classes.

Returns:

NameDescription
QMean queue lengths.
UUtilization.
WWaiting times.
CCycle times.
XSystem throughput.
totiterTotal iterations performed.

pfqn_gld

Description: Exact normalizing constant for load-dependent queueing networks.

Syntax:

[G, lG] = pfqn_gld(L, N, mu, options)

Parameters:

NameDescription
LService demand matrix (MxR).
NPopulation vector (1xR).
muLoad-dependent rate matrix (Mx sum(N)).
optionsSolver options.

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.

pfqn_gldsingle

Description: Exact normalizing constant for single-class load-dependent models.

Syntax:

[lG, G] = pfqn_gldsingle(L, N, mu, options)

Parameters:

NameDescription
LService demand vector (Mx1).
NPopulation (scalar).
muLoad-dependent rate matrix (MxN).
optionsSolver options.

Returns:

NameDescription
lGLogarithm of normalizing constant.
GNormalizing constant.

pfqn_grnmol

Description: Normalizing constant using Grundmann-Moeller quadrature.

Syntax:

pfqn_grnmol(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_joint

Description: Compute joint queue-length probability distribution.

Syntax:

[F, A] = pfqn_joint(L, N, m)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
mCache capacity

Returns:

NameDescription
FFlow or throughput values
AAbsorption matrix or aggregate matrix

pfqn_kt

Description: Knessl-Tier asymptotic expansion for normalizing constant.

Syntax:

[G, lG, X, Q] = pfqn_kt(L, N, Z)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector (default: zeros).

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.
XSystem throughput.
QMean queue lengths.

pfqn_lap

Description: Laplace approximation for normalizing constant.

Syntax:

logI = pfqn_lap(L, N, Z)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.

Returns:

NameDescription
logILogarithm of normalizing constant approximation.

pfqn_lcfsqn_ca

Description: Convolution algorithm for 2-station LCFS queueing networks

Syntax:

[G, V] = pfqn_lcfsqn_ca(alpha, beta, N)

Parameters:

NameDescription
alphaService rates at LCFS station (1xR vector).
betaService rates at LCFS-PR station (1xR vector).
NPopulation vector (default: ones(1,R)).

Returns:

NameDescription
GNormalizing constant.
VAuxiliary normalization term.

pfqn_lcfsqn_mva

Description: Exact MVA for 2-station LCFS queueing networks.

Syntax:

[T, Q, U, B] = pfqn_lcfsqn_mva(alpha, beta, N)

Parameters:

NameDescription
alphaService rates at LCFS station (1xR vector).
betaService rates at LCFS-PR station (1xR vector).
NPopulation vector (default: ones(1,R)).

Returns:

NameDescription
TThroughput vector.
QMean queue lengths (2xR matrix).
UUtilization (2xR matrix).
BBack probability matrix (2xR).

pfqn_le

Description: Logistic expansion (LE) asymptotic approximation for normalizing constant.

Syntax:

[Gn, lGn] = pfqn_le(L, N, Z)

Parameters:

NameDescription
LService demand matrix (MxR).
NPopulation vector (1xR).
ZThink time vector (1xR).

Returns:

NameDescription
GnEstimated normalizing constant.
lGnLogarithm of normalizing constant.

pfqn_linearizer

Description: Linearizer approximation for single-server stations.

Syntax:

[Q, U, W, C, X, totiter] = pfqn_linearizer(L, N, Z, type, tol, maxiter)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
typeScheduling strategy type per station.
tolConvergence tolerance.
maxiterMaximum number of iterations.

Returns:

NameDescription
QMean queue lengths.
UUtilization.
WWaiting times.
CCycle times.
XSystem throughput.
totiterTotal iterations performed.

pfqn_linearizerms

Description: Multiserver Linearizer (Krzesinski/Conway/De Souza-Muntz).

Syntax:

[Q, U, R, C, X, totiter] = pfqn_linearizerms(L, N, Z, nservers, type, tol, maxiter)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
nserversNumber of servers per station.
typeScheduling strategy per station (default: PS).
tolConvergence tolerance (default: 1e-8).
maxiterMaximum number of iterations (default: 1000).

Returns:

NameDescription
QMean queue lengths.
UUtilization.
RResidence times.
CCycle times.
XSystem throughput.
totiterTotal iterations performed.

pfqn_linearizermx

Description: Linearizer for mixed open/closed queueing networks.

Syntax:

[QN, UN, WN, CN, XN, totiter] = pfqn_linearizermx(lambda, L, N, Z, nservers, type, tol, maxiter, method)

Parameters:

NameDescription
lambdaArrival rate vector (inf for closed classes).
LService demand matrix.
NPopulation vector (inf for open classes).
ZThink time vector.
nserversNumber of servers per station.
typeScheduling strategy per station.
tolConvergence tolerance (default: 1e-8).
maxiterMaximum iterations (default: 1000).
methodLinearizer variant ('lin', 'gflin', 'egflin', default: 'egflin').

Returns:

NameDescription
QNMean queue lengths.
UNUtilization.
WNWaiting times.
CNCycle times.
XNSystem throughput.
totiterTotal iterations.

pfqn_lldfun

Description: AMVA-QD load and queue-dependent scaling function.

Syntax:

pfqn_lldfun(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_ls

Description: Logistic sampling approximation for normalizing constant.

Syntax:

[Gn, lGn] = pfqn_ls(L, N, Z, I)

Parameters:

NameDescription
LService demand matrix (MxR).
NPopulation vector (1xR).
ZThink time vector (1xR).
INumber of samples (default: 1e5).

Returns:

NameDescription
GnEstimated normalizing constant.
lGnLogarithm of normalizing constant.

pfqn_mci

Description: Monte Carlo Integration (MCI) for normalizing constant.

Syntax:

[G, lG, lZ] = pfqn_mci(D, N, Z, I, variant)

Parameters:

NameDescription
DService demand matrix.
NPopulation vector.
ZThink time vector.
INumber of samples (default: 1e5).
variantMCI variant ('mci', 'imci', 'rm', default: 'imci').

Returns:

NameDescription
GNormalizing constant estimate.
lGLogarithm of normalizing constant.
lZIndividual random sample log values.

pfqn_mmint2_gausslaguerre

Description: McKenna-Mitra integral with Gauss-Laguerre quadrature.

Syntax:

[G, lG] = pfqn_mmint2_gausslaguerre(L, N, Z, m)

Parameters:

NameDescription
LService demand vector.
NPopulation vector.
ZThink time vector.
mReplication factor (default: 1).

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.

pfqn_mmint2_gausslegendre

Description: McKenna-Mitra integral with Gauss-Legendre quadrature.

Syntax:

[G, lG] = pfqn_mmint2_gausslegendre(L, N, Z, m)

Parameters:

NameDescription
LService demand vector.
NPopulation vector.
ZThink time vector.
mReplication factor (default: 1).

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.

pfqn_mmint2

Description: McKenna-Mitra integral form for repairman models using MATLAB integral.

Syntax:

[G, lG] = pfqn_mmint2(L, N, Z)

Parameters:

NameDescription
LService demand vector.
NPopulation vector.
ZThink time vector.

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.

pfqn_mmsample2

Description: Monte Carlo sampling for repairman models using McKenna-Mitra form.

Syntax:

[G, lG] = pfqn_mmsample2(L, N, Z, samples)

Parameters:

NameDescription
LService demand vector.
NPopulation vector.
ZThink time vector.
samplesNumber of samples.

Returns:

NameDescription
GNormalizing constant estimate.
lGLogarithm of normalizing constant.

pfqn_mu_ms

Description: Compute load-dependent rates for m identical c-server FCFS stations.

Syntax:

pfqn_mu_ms(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_mushift

Description: Shift load-dependent service rate vector by removing first element.

Syntax:

pfqn_mushift(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_mvald

Description: Exact MVA for load-dependent closed queueing networks.

Syntax:

[XN, QN, UN, CN, lGN, isNumStable, pi] = pfqn_mvald(L, N, Z, mu, stabilize)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
muLoad-dependent rate matrix (MxNt).
stabilizeForce non-negative probabilities (default: true).

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
CNCycle times.
lGNLogarithm of normalizing constant evolution.
isNumStableNumerical stability flag.
piMarginal queue-length probabilities.

pfqn_mvaldms

Description: Load-dependent MVA for multiserver mixed networks (wrapper for pfqn_mvaldmx).

Syntax:

[XN, QN, UN, CN, lGN] = pfqn_mvaldms(lambda, D, N, Z, S)

Parameters:

NameDescription
lambdaArrival rate vector.
DService demand matrix.
NPopulation vector.
ZThink time vector.
SNumber of servers per station.

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization (adjusted for multiservers).
CNCycle times.
lGNLogarithm of normalizing constant.

pfqn_mvaldmx_ec

Description: Compute effective capacity terms for MVALDMX solver.

Syntax:

[EC, E, Eprime, Lo] = pfqn_mvaldmx_ec(lambda, D, mu)

Parameters:

NameDescription
lambdaArrival rate vector.
DService demand matrix.
muLoad-dependent rate matrix.

Returns:

NameDescription
ECEffective capacity matrix.
EE-function values.
EprimeE-prime function values.
LoOpen class load vector.

pfqn_mvaldmx

Description: Load-dependent MVA for mixed open/closed networks with limited load dependence.

Syntax:

[XN, QN, UN, CN, lGN, Pc] = pfqn_mvaldmx(lambda, D, N, Z, mu, S)

Parameters:

NameDescription
lambdaArrival rate vector.
DService demand matrix.
NPopulation vector.
ZThink time vector.
muLoad-dependent rate matrix.
SNumber of servers per station.

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
CNCycle times.
lGNLogarithm of normalizing constant.
PcMarginal queue-length probabilities.

pfqn_mva

Description: Exact Mean Value Analysis (MVA) for product-form queueing networks.

Syntax:

[XN, QN, UN, CN, lGN] = pfqn_mva(L, N, Z, mi)

Parameters:

NameDescription
LService demand matrix (M x R).
NPopulation vector (1 x R).
ZThink time vector (1 x R).
mi(Optional) Server multiplicity vector (1 x M). Default: single servers.

Returns:

NameDescription
XNSystem throughput (1 x R).
QNMean queue length (M x R).
UNUtilization (M x R).
CNResidence time (M x R).
lGNLogarithm of the normalizing constant.

pfqn_mvams

Description: General-purpose MVA for mixed networks with multiserver nodes.

Syntax:

[XN, QN, UN, CN, lG] = pfqn_mvams(lambda, L, N, Z, mi, S)

Parameters:

NameDescription
lambdaArrival rate vector.
LService demand matrix.
NPopulation vector.
ZThink time vector.
miQueue replication factors (default: ones).
SNumber of servers per station (default: ones).

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
CNCycle times.
lGLogarithm of normalizing constant.

pfqn_mvamx

Description: Exact MVA for mixed open/closed single-server networks.

Syntax:

[XN, QN, UN, CN, lGN] = pfqn_mvamx(lambda, D, N, Z, mi)

Parameters:

NameDescription
lambdaArrival rate vector.
DService demand matrix.
NPopulation vector.
ZThink time vector.
miQueue replication factors (default: ones).

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
CNCycle times.
lGNLogarithm of normalizing constant.

pfqn_lcfsqn_nc

Description: Normalizing constant for LCFS queueing networks

Syntax:

[G, Ax] = pfqn_lcfsqn_nc(alpha, beta, N)

Parameters:

NameDescription
alphaService rates at LCFS station (1xR vector).
betaService rates at LCFS-PR station (1xR vector).
NPopulation vector (default: ones(1,R)).

Returns:

NameDescription
GNormalizing constant.
AxCell array of A matrices for each state.

pfqn_ncld

Description: Normalizing constant for load-dependent closed networks.

Syntax:

[lG, G, method] = pfqn_ncld(L, N, Z, mu, varargin)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
muLoad-dependent rate matrix.
optionsOptional solver parameters.

Returns:

NameDescription
lGLogarithm of normalizing constant.
GNormalizing constant.
methodMethod used for computation.

pfqn_nc

Description: Computes the normalizing constant of a product-form queueing network.

Syntax:

[lG, X, Q, method] = pfqn_nc(lambda, L, N, Z, varargin)

Parameters:

NameDescription
lambdaArrival rates for open classes.
LService demand matrix.
NPopulation vector.
ZThink time vector.
optionsOptional arguments for solver options (SolverNC.defaultOptions).

Returns:

NameDescription
lGLogarithm of the normalizing constant.
XSystem throughputs.
QMean queue lengths.
methodThe specific method used for computation (e.g., 'exact', 'ca', 'recal').

pfqn_nc_sanitize

Description: Sanitize and preprocess network parameters for NC solvers.

Syntax:

[lambda, L, N, Z, lGremaind] = pfqn_nc_sanitize(lambda, L, N, Z, atol)

Parameters:

NameDescription
lambdaArrival rate vector.
LService demand matrix.
NPopulation vector.
ZThink time vector.
atolAbsolute tolerance.

Returns:

NameDescription
lambdaSanitized arrival rates.
LSanitized service demands (rescaled).
NSanitized populations.
ZSanitized think times (rescaled).
lGremaindLog normalization factor from removed classes.

pfqn_nrl

Description: Normalizing constant via Normal Radius-Logistic (NRL) approximation.

Syntax:

lG = pfqn_nrl(L, N, Z, alpha, options)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
alphaLoad-dependent rate matrix.
optionsSolver options.

Returns:

NameDescription
lGLogarithm of normalizing constant.

pfqn_nrp

Description: Normalizing constant via Normal Radius-Probit (NRP) approximation.

Syntax:

lG = pfqn_nrp(L, N, Z, alpha, options)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
alphaLoad-dependent rate matrix.
optionsSolver options.

Returns:

NameDescription
lGLogarithm of normalizing constant.

pfqn_panacea

Description: PANACEA (PAth-based Normal Approximation for Closed networks Estimation Algorithm).

Syntax:

[Gn, lGn] = pfqn_panacea(L, N, Z)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.

Returns:

NameDescription
GnNormalizing constant.
lGnLogarithm of normalizing constant.

pfqn_procomom2

Description: Product-form CoMoM for 2-station repairman model (queue + delay).

Syntax:

[pk, lG, G, T, F, B] = pfqn_procomom2(L, N, Z, mu, m)

Parameters:

NameDescription
LService demand vector.
NPopulation vector.
ZThink time vector.
muLoad-dependent rates (optional).
mReplication factor (default: 1).

Returns:

NameDescription
pkMarginal state probabilities.
lGLogarithm of normalizing constant.
GNormalizing constant.
TTransfer matrices.
FProduct transfer matrix.
BCombined transfer matrix.

pfqn_propfair

Description: Proportionally fair allocation approximation (Walton 2009).

Syntax:

[G, lG, Xasy] = pfqn_propfair(L, N, Z)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.

Returns:

NameDescription
GNormalizing constant estimate.
lGLogarithm of normalizing constant.
XasyAsymptotic throughput vector.

pfqn_qd

Description: Queue-Dependent (QD) approximate MVA solver.

Syntax:

[Q, X, U, iter] = pfqn_qd(L, N, ga, be, Q0)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
gaGamma scaling function (default: ones).
beBeta scaling function (default: ones).
Q0Initial queue length estimate (optional).

Returns:

NameDescription
QMean queue lengths.
XSystem throughput.
UUtilization.
iterNumber of iterations performed.

pfqn_qzgblow

Description: Lower asymptotic bound on queue length (Zahorjan-Gittelsohn-Bryant).

Syntax:

pfqn_qzgblow(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_qzgbup

Description: Upper asymptotic bound on queue length (Zahorjan-Gittelsohn-Bryant).

Syntax:

pfqn_qzgbup(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_rd

Description: Reduced Decomposition (RD) method for load-dependent networks.

Syntax:

[lGN, Cgamma] = pfqn_rd(L, N, Z, mu, options)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector.
muLoad-dependent rate matrix.
optionsSolver options.

Returns:

NameDescription
lGNLogarithm of normalizing constant.
CgammaGamma correction factor.

pfqn_recal

Description: RECAL (REcursive CALculation) method for normalizing constant.

Syntax:

[G, lG] = pfqn_recal(L, N, Z, m0)

Parameters:

NameDescription
LService demand matrix.
NPopulation vector.
ZThink time vector (default: zeros).
m0Initial multiplicity vector (default: ones).

Returns:

NameDescription
GNormalizing constant.
lGLogarithm of normalizing constant.

pfqn_schmidt

Description: Schmidt's exact MVA for networks with general scheduling disciplines.

Syntax:

[XN, QN, UN, CN, T] = pfqn_schmidt(D, N, S, sched)

Parameters:

NameDescription
DService demand matrix.
NPopulation vector.
SNumber of servers per station (matrix or vector).
schedScheduling discipline per station.

Returns:

NameDescription
XNSystem throughput.
QNMean queue lengths.
UNUtilization.
CNCycle times.
TResults table.

pfqn_sqni

Description: Single Queue Network Iteration (SQNI) approximate solver.

Syntax:

[Q, U, X] = pfqn_sqni(N, L, Z)

Parameters:

NameDescription
NPopulation vector.
LService demand vector.
ZThink time vector.

Returns:

NameDescription
QMean queue lengths.
UUtilization.
XSystem throughput.

pfqn_stdf_heur

Description: Heuristic sojourn time distribution for multiserver FCFS nodes (McKenna 1987 variant).

Syntax:

pfqn_stdf_heur(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_stdf

Description: Sojourn time distribution for multiserver FCFS nodes (McKenna 1987).

Syntax:

pfqn_stdf(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_xzabalow

Description: Lower asymptotic bound on throughput (Zahorjan-Balanced).

Syntax:

XN = pfqn_xzabalow(L, N, Z)

Parameters:

NameDescription
LService demand vector.
NPopulation.
ZThink time.

Returns:

NameDescription
XNLower bound on throughput.

pfqn_xzabaup

Description: Upper asymptotic bound on throughput (Zahorjan-Balanced).

Syntax:

XN = pfqn_xzabaup(L, N, Z)

Parameters:

NameDescription
LService demand vector.
NPopulation.
ZThink time.

Returns:

NameDescription
XNUpper bound on throughput.

pfqn_xzgsblow

Description: Lower asymptotic bound on throughput (Zahorjan-Gittelsohn-Schweitzer-Bryant).

Syntax:

pfqn_xzgsblow(...)

Parameters:

NameDescription

Returns:

NameDescription

pfqn_xzgsbup

Description: Upper asymptotic bound on throughput (Zahorjan-Gittelsohn-Schweitzer-Bryant).

Syntax:

pfqn_xzgsbup(...)

Parameters:

NameDescription

Returns:

NameDescription