Package jline.api
Class PFQN
java.lang.Object
jline.api.PFQN
APIs for evaluating Product-Form Queueing Networks.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Ret.pfqnNcXQ
compute_norm_const
(Matrix L, Matrix N, Matrix Z, SolverOptions options) Run a normalizing constant solution method in a load-independent modelstatic Ret.pfqnNc
compute_norm_const_ld
(Matrix L, Matrix N, Matrix Z, Matrix mu, SolverOptions options) Run a normalizing constant solution method in a load-dependent modelprotected static Ret.pfqnLinearizerCore
egflinearizer_core
(Matrix L, int M, int R, Matrix N_1, Matrix Z, Matrix Q, Matrix[] Delta, SchedStrategy[] type, double tol, int maxiter, Matrix alpha) Core method for the extended general form linearizer.protected static Ret.pfqnLinearizerEstimate
egflinearizer_estimate
(Matrix L, int M, int R, Matrix N_1, Matrix Z, Matrix Q, Matrix[] Delta, Matrix W, Matrix alpha) Estimate method for the extended general form linearizer.protected static Ret.pfqnLinearizerForwardMVA
egflinearizer_forwardMVA
(Matrix L, int M, int R, SchedStrategy[] type, Matrix N_1, Matrix Z, Matrix[] Q_1) Forward Mean Value Analysis method for the extended general form linearizer.protected static Ret.pfqnLinearizerMSCore
linearizerms_core
(Matrix L, int M, int R, Matrix N_1, Matrix Z, Matrix nservers, Matrix Q, Matrix P, Matrix PB, Matrix[] Delta, Matrix type, double tol, int maxiter) protected static Ret.pfqnLinearizerMSEstimate
linearizerms_estimate
(int M, int R, Matrix N_1, Matrix nservers, Matrix Q, Matrix P, Matrix PB, Matrix[] Delta) protected static Ret.pfqnLinearizerMSForwardMVA
linearizerms_forwardMVA
(Matrix L, int M, int R, Matrix N_1, Matrix Z, Matrix nservers, Matrix type, Matrix[] Q_1, Matrix[] P_1, Matrix PB_1) static Ret.pfqnAMVA
AQL approximate MVA for a closed queueing network model.static Ret.pfqnAMVA
AQL approximate MVA for a closed queueing network model.static Ret.pfqnAMVA
AQL approximate MVA for a closed queueing network model.static Ret.pfqnAMVA
Bard-Schweitzer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
Bard-Schweitzer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
Bard-Schweitzer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
Bard-Schweitzer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
Bard-Schweitzer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
Bard-Schweitzer approximate mean value analysis algorithmstatic Ret.pfqnNc
Compute the normalizing constant using the convolution algorithmstatic Ret.pfqnNc
Compute the normalizing constant using the convolution algorithmstatic Matrix
pfqn_cdfun
(Matrix nvec, Map<Station, SerializableFunction<Matrix, Double>> cdscaling, List<Station> stations) Evaluate class-dependent (CD) scaling functionstatic Ret.pfqnComomrm
pfqn_comomrm
(Matrix L, Matrix N, Matrix Z, Integer m, double atol) Compute the normalizing constant of a repairmen model using COMOMstatic Ret.pfqnComomrmLd
pfqn_comomrm_ld
(Matrix L, Matrix N, Matrix Z, Matrix mu, SolverOptions options) Run the COMOM normalizing constant solution method on a repairman modelstatic Ret.pfqnAMVAMS
pfqn_conwayms
(Matrix L, Matrix N, Matrix Z) static Ret.pfqnAMVAMS
pfqn_conwayms
(Matrix L, Matrix N, Matrix Z, int[] nservers) static Ret.pfqnAMVAMS
pfqn_conwayms
(Matrix L, Matrix N, Matrix Z, int[] nservers, SchedStrategy[] type, double tol, int maxiter) static Ret.pfqnCore
pfqn_conwayms_core
(Matrix L, int M, int R, Matrix N_1, Matrix Z, int[] nservers, Matrix Q, Matrix P, Matrix PB, MatrixCell Delta, SchedStrategy[] type, double tol, int maxiter) static Ret.pfqnEstimate
pfqn_conwayms_estimate
(int M, int R, Matrix N_1, int[] nservers, Matrix Q, Matrix P, Matrix PB, MatrixCell Delta, Matrix W) static Ret.pfqnForwardMVA
pfqn_conwayms_forwardmva
(Matrix L, int M, int R, Matrix N_1, Matrix Z, int[] nservers, SchedStrategy[] type, MatrixCell Q_1, MatrixCell P_1, Matrix PB_1, Matrix T_1) static Ret.pfqnNc
Cubature method to compute the normalizing constant of a load-independent closed queueing network modelstatic Ret.pfqnNc
Cubature method to compute the normalizing constant of a load-independent closed queueing network modelstatic Ret.pfqnAMVA
pfqn_egflinearizer
(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol, int maxiter, Matrix alpha) Extended general form linearizer approximate mean value analysis algorithm.static Ret.pfqnFnc
Compute scaling factor of a load-dependent functional server use to calculate the meanstatic Ret.pfqnFnc
Compute scaling factor of a load-dependent functional server use to calculate the mean instantiated with scaling constant c.static Ret.pfqnAMVA
pfqn_gflinearizer
(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol, int maxiter, double alpha) static Ret.pfqnNc
pfqn_gld
(Matrix L, Matrix N, Matrix mu, SolverOptions options) Compute the normalizing constant of a single-class load-dependent closed queueing network modelstatic Ret.pfqnNcComplex
pfqn_gld_complex
(ComplexMatrix L, Matrix N, Matrix mu, SolverOptions options) Compute the normalizing constant of a single-class load-dependent closed queueing network model with complex demands.static Ret.pfqnNc
pfqn_gldsingle
(Matrix L, Matrix N, Matrix mu, SolverOptions options) Auxiliary function used by pfqn_gld to computer the normalizing constant in a single-class load-dependent model.static Ret.pfqnNcComplex
pfqn_gldsingle_complex
(ComplexMatrix L, Matrix N, Matrix mu, SolverOptions options) Auxiliary function used by pfqn_gld to computer the normalizing constant in a single-class load-dependent model with complex demands.static Ret.pfqnNc
Knessl-Tier asymptotic expansion of the normalizing constant using the ray method.static Ret.pfqnNc
Logistic expansion method to compute the normalizing constantprotected static Ret.pfqnLeFpi
pfqn_le_fpi
(Matrix L, Matrix N) Fixed-point iteration used in the logistic expansion methodprotected static Ret.pfqnLeFpiZ
pfqn_le_fpiZ
(Matrix L, Matrix N, Matrix Z) Fixed-point iteration used in the logistic expansion method in models with delaysprotected static Matrix
pfqn_le_hessian
(Matrix L, Matrix N, Matrix u0) Auxiliary function to compute the Hessian used in the logistic expansion methodprotected static Matrix
pfqn_le_hessianZ
(Matrix L, Matrix N, Matrix Z, Matrix u, double v) Auxiliary function to compute the Hessian used in the logistic expansion method in models with delaysstatic Ret.pfqnAMVA
pfqn_linearizer
(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type) Linearizer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
pfqn_linearizer
(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol) Linearizer approximate mean value analysis algorithmstatic Ret.pfqnAMVA
pfqn_linearizer
(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol, int maxiter) Linearizer approximate mean value analysis algorithmstatic Ret.pfqnAMVAMS
pfqn_linearizerms
(Matrix L, Matrix N, Matrix Z, Matrix nservers) Multiserver version of Krzesinski's Linearizerstatic Ret.pfqnAMVAMS
Multiserver version of Krzesinski's Linearizerstatic Ret.pfqnAMVAMS
Multiserver version of Krzesinski's Linearizerstatic Ret.pfqnAMVAMS
pfqn_linearizerms
(Matrix L, Matrix N, Matrix Z, Matrix nservers, Matrix type, double tol, int maxiter) Multiserver version of Krzesinski's Linearizer as described in Conway 1989, Fast Approximate Solution of Queueing Networks with Multi-Server Chain- Dependent FCFS Queues.static Ret.pfqnAMVA
pfqn_linearizermx
(Matrix lambda, Matrix L, Matrix N, Matrix Z, Matrix nservers, SchedStrategy[] type, double tol, int maxiter, String method) Linearizer method for mixed models with multi-server stationsstatic Matrix
pfqn_lldfun
(Matrix n, Matrix lldscaling, Matrix nservers) Evaluate limited-load dependent (LLD) functionstatic Ret.pfqnNc
Logistic sampling method to compute the normalizing constantstatic Ret.pfqnNc
Logistic sampling method to compute the normalizing constantprotected static double
pfqn_ls_helper
(double[] x, int K, int M, double eta, double eN, Matrix L, Matrix N, Matrix Z) Auxiliary function used in the logistic sampling methodstatic Ret.pfqnNc
static Ret.pfqnNc
pfqn_mmint2
(Matrix L, Matrix N, Matrix Z) static Ret.pfqnNc
pfqn_mmint2_gausslegendre
(Matrix L, Matrix N, Matrix Z, Integer m) Compute the normalizing constant of a repairmen model using Gauss-Legendre integrationstatic Ret.pfqnNc
pfqn_mmsample2
(Matrix L, Matrix N, Matrix Z, int samples) static Matrix
pfqn_mu_ms
(int N, int m, int c) static double
pfqn_mu_ms_gnaux
(int n, int m, int c, Matrix g) static Matrix
pfqn_mushift
(Matrix mu, int k) Shifts a load-dependent scaling vector by one positionstatic Ret.pfqnMVA
static Ret.pfqnMVA
Mean Value Analysis (MVA) Algorithm for closed Product-Form Queueing Networks.static Ret.pfqnMVALD
pfqn_mvald
(Matrix L, Matrix N, Matrix Z, Matrix mu) Mean Value Analysis (MVA) method for closed networks with load dependent service and stabilizationstatic Ret.pfqnMVALD
pfqn_mvald
(Matrix L, Matrix N, Matrix Z, Matrix mu, boolean stabilize) Mean Value Analysis (MVA) method for closed networks with load dependent servicestatic Ret.pfqnMVA
Wrapper for pfqn_mvaldmx that adjusts utilizations to account for multiserversstatic Ret.pfqnMVALDMX
Mean Value Analysis (MVA) method for mixed queueing networks with load-dependent nodes.protected static Ret.pfqnMVALDMXEC
pfqn_mvaldmx_ec
(Matrix lambda, Matrix D, Matrix mu) Auxiliary function used by pfqn_mvaldmx to compute the EC termsstatic Ret.pfqnMVA
General purpose script to handle mixed Query Networks with multiserver nodes.static Ret.pfqnMVA
Mean Value Analysis (MVA) method for open and mixed queueing networks with no multi-server nodes.static Ret.pfqnNcXQ
Main method to compute the normalizing constant of a load-independent modelstatic Ret.pfqnNcSanitize
pfqn_nc_sanitize
(Matrix lambda, Matrix L, Matrix N, Matrix Z, double atol) Sanitizes product-form model parameters to avoid degeneraciesstatic Matrix
static Ret.pfqnNc
Main method to compute the normalizing constant of a load-dependent modelstatic double
static double
static Ret.pfqnNc
pfqn_panacea
(Matrix L, Matrix N, Matrix Z) Compute the PANACEA approximationstatic Ret.pfqnNc
pfqn_panacea
(Matrix L, Matrix N, Matrix Z, SolverOptions options) Compute the PANACEA approximationstatic double
pfqn_pff_delay
(Matrix Z, Matrix n) Compute the product-form factor relatively to a Delay stationstatic Ret.pfqnNcXQ
pfqn_propfair
(Matrix L, Matrix N, Matrix Z) static double
pfqn_qzgblow
(Matrix L, double N, double Z, int i) Computes the lower Geometric Bound (GB) for the queue length of the given closed single-class queueing networksstatic double
pfqn_qzgbup
(Matrix L, double N, double Z, int i) Computes the upper Geometric Bound (GB) for the queue length of the given closed single-class queueing networksstatic Ret.pfqnRd
static Ret.pfqnNc
pfqn_recal
(Matrix L, Matrix N) RECAL method to compute the normalizing constant of a load-independent closed queueing network modelstatic Ret.pfqnNc
pfqn_recal
(Matrix L, Matrix N, Matrix Z) RECAL method to compute the normalizing constant of a load-independent closed queueing network modelstatic Ret.pfqnNc
pfqn_recal
(Matrix L, Matrix N, Matrix Z, Matrix m0) RECAL method to compute the normalizing constant of a load-independent closed queueing network modelstatic double
pfqn_xia
(Matrix L, int N, Matrix s, SolverOptions options) static double
pfqn_xzabalow
(Matrix L, double N, double Z) Computes the low ABA for the throughput of the given closed single-class queueing networksstatic double
pfqn_xzabaup
(Matrix L, double N, double Z) Computes the upper ABA for the throughput of the given closed single-class queueing networksstatic double
pfqn_xzgsblow
(Matrix L, double N, double Z) Computes the lower Geometric Square-Root Bound (GSB) for the throughput of the given closed single-class queueing networksstatic double
pfqn_xzgsbup
(Matrix L, double N, double Z) Computes the upper Geometric Square-Root Bound (GSB) for the throughput of the given closed single-class queueing networks
-
Constructor Details
-
PFQN
public PFQN()
-
-
Method Details
-
pfqn_recal
RECAL method to compute the normalizing constant of a load-independent closed queueing network model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each class- Returns:
- normalizing constant (G), its logarithm (lG))
-
pfqn_recal
RECAL method to compute the normalizing constant of a load-independent closed queueing network model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- normalizing constant (G), its logarithm (lG))
-
pfqn_recal
RECAL method to compute the normalizing constant of a load-independent closed queueing network model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classm0
- - vector with multiplicities of each station- Returns:
- normalizing constant (G), its logarithm (lG))
-
pfqn_nc
public static Ret.pfqnNcXQ pfqn_nc(Matrix lambda, Matrix L, Matrix N, Matrix Z, SolverOptions options) Main method to compute the normalizing constant of a load-independent model- Parameters:
lambda
- - arrival rate of open classesL
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classoptions
- - solver options- Returns:
- normalizing constant, its logarithm, and mean performance metrics computed as a by-product
-
pfqn_cub
Cubature method to compute the normalizing constant of a load-independent closed queueing network model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- normalizing constant, its logarithm, and mean performance metrics computed as a by-product
-
pfqn_cub
Cubature method to compute the normalizing constant of a load-independent closed queueing network model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classorder
- - cubature order ( ceil((|N|-1)/2) or above is exact)atol
- - numerical tolerance for simplex quadrature- Returns:
- normalizing constant, its logarithm, and mean performance metrics computed as a by-product
-
pfqn_ncld
Main method to compute the normalizing constant of a load-dependent model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classmu
- - load-dependent scalingsoptions
- - solver options- Returns:
- normalizing constant and its logarithm
-
pfqn_gld
Compute the normalizing constant of a single-class load-dependent closed queueing network model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classmu
- - load-depedent scalingsoptions
- - solver options- Returns:
- normalizing constant and its logarithm
-
pfqn_gld_complex
public static Ret.pfqnNcComplex pfqn_gld_complex(ComplexMatrix L, Matrix N, Matrix mu, SolverOptions options) Compute the normalizing constant of a single-class load-dependent closed queueing network model with complex demands.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classmu
- - load-depedent scalingsoptions
- - solver options- Returns:
- normalizing constant and its logarithm
-
pfqn_mushift
Shifts a load-dependent scaling vector by one position- Parameters:
mu
- - load-dependent scalings- Returns:
- normalizing constant and its logarithm
-
compute_norm_const
Run a normalizing constant solution method in a load-independent model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classoptions
- - solver options- Returns:
- normalizing constant, its logarithm, and mean performance metrics computed as a by-product
-
pfqn_comomrm_ld
public static Ret.pfqnComomrmLd pfqn_comomrm_ld(Matrix L, Matrix N, Matrix Z, Matrix mu, SolverOptions options) Run the COMOM normalizing constant solution method on a repairman model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classmu
- - load-depedent scalingsoptions
- - solver options- Returns:
- normalizing constant and its logarithm
-
compute_norm_const_ld
public static Ret.pfqnNc compute_norm_const_ld(Matrix L, Matrix N, Matrix Z, Matrix mu, SolverOptions options) Run a normalizing constant solution method in a load-dependent model- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classmu
- - load-depedent scalingsoptions
- - solver options- Returns:
- normalizing constant and its logarithm
-
pfqn_fnc
Compute scaling factor of a load-dependent functional server use to calculate the mean- Parameters:
alpha
- - load-dependent scalings- Returns:
- functional server scalings
-
pfqn_fnc
Compute scaling factor of a load-dependent functional server use to calculate the mean instantiated with scaling constant c.- Parameters:
alpha
- - load-dependent scalings- Returns:
- functional server scalings
-
pfqn_panacea
Compute the PANACEA approximation- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- normalizing constant and its logarithm
-
pfqn_panacea
Compute the PANACEA approximation- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classoptions
- - solver options- Returns:
- normalizing constant and its logarithm
-
pfqn_pff_delay
Compute the product-form factor relatively to a Delay station- Parameters:
Z
- - think times at the Delay stationn
- - number of jobs for each class- Returns:
- product of terms Z[k]^n[k]/n[k]! for all classes k
-
pfqn_ca
Compute the normalizing constant using the convolution algorithm- Parameters:
L
- - demands at all stationsN
- - number of jobs for each class- Returns:
- normalizing constant and its logarithm
-
pfqn_ca
Compute the normalizing constant using the convolution algorithm- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think times- Returns:
- normalizing constant and its logarithm
-
pfqn_mmint2_gausslegendre
Compute the normalizing constant of a repairmen model using Gauss-Legendre integration- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think times- Returns:
- normalizing constant and its logarithm
-
pfqn_le_hessianZ
Auxiliary function to compute the Hessian used in the logistic expansion method in models with delays- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think timesu
- - term appearing in the integrandv
- - term appearing in the integrand- Returns:
- Hessian matrix
-
pfqn_le_hessian
Auxiliary function to compute the Hessian used in the logistic expansion method- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classu0
- - term appearing in the integrand- Returns:
- normalizing constant and its logarithm
-
pfqn_le_fpi
Fixed-point iteration used in the logistic expansion method- Parameters:
L
- - demands at all stationsN
- - number of jobs for each class- Returns:
- fixed point
-
pfqn_le_fpiZ
Fixed-point iteration used in the logistic expansion method in models with delays- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- fixed point
-
pfqn_le
Logistic expansion method to compute the normalizing constant- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- normalizing constant and its logarithm
-
pfqn_ls
Logistic sampling method to compute the normalizing constant- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classI
- - number of samples- Returns:
- normalizing constant and its logarithm
-
pfqn_ls
Logistic sampling method to compute the normalizing constant- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classI
- - number of samplesseed
- - random number generation seed- Returns:
- normalizing constant and its logarithm
-
pfqn_ls_helper
protected static double pfqn_ls_helper(double[] x, int K, int M, double eta, double eN, Matrix L, Matrix N, Matrix Z) Auxiliary function used in the logistic sampling method -
pfqn_nc_sanitize
public static Ret.pfqnNcSanitize pfqn_nc_sanitize(Matrix lambda, Matrix L, Matrix N, Matrix Z, double atol) Sanitizes product-form model parameters to avoid degeneracies- Parameters:
lambda
- - arrival rates for open classesL
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classatol
- - absolute numerical tolerance- Returns:
- sanitized parameters
-
pfqn_aql
AQL approximate MVA for a closed queueing network model.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- approximate performance metrics
-
pfqn_aql
AQL approximate MVA for a closed queueing network model.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classmaxiter
- - maximum number of iterations- Returns:
- approximate performance metrics
-
pfqn_aql
AQL approximate MVA for a closed queueing network model.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classtol
- - maximum iteration tolerancemaxiter
- - maximum number of iterations- Returns:
- approximate performance metrics
-
pfqn_kt
Knessl-Tier asymptotic expansion of the normalizing constant using the ray method.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each class- Returns:
- normalizing constant (G) and its logarithm (lG)
-
pfqn_comomrm
Compute the normalizing constant of a repairmen model using COMOM- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classZ
- - think time for each classm
- - multiplicy of queueing stationatol
- - absolute numerical tolerance- Returns:
- sanitized parameters
-
pfqn_gldsingle
Auxiliary function used by pfqn_gld to computer the normalizing constant in a single-class load-dependent model.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classmu
- - load-dependent scaling factorsoptions
- - solver options- Returns:
- normalizing constant (G) and its logarithm (lG)
-
pfqn_gldsingle_complex
public static Ret.pfqnNcComplex pfqn_gldsingle_complex(ComplexMatrix L, Matrix N, Matrix mu, SolverOptions options) Auxiliary function used by pfqn_gld to computer the normalizing constant in a single-class load-dependent model with complex demands.- Parameters:
L
- - demands at all stationsN
- - number of jobs for each classmu
- - load-dependent scaling factorsoptions
- - solver options- Returns:
- normalizing constant (G) and its logarithm (lG)
-
pfqn_propfair
-
pfqn_mmsample2
-
pfqn_mmint2
-
pfqn_mci
-
pfqn_conwayms
-
pfqn_conwayms
-
pfqn_conwayms
public static Ret.pfqnAMVAMS pfqn_conwayms(Matrix L, Matrix N, Matrix Z, int[] nservers, SchedStrategy[] type, double tol, int maxiter) -
pfqn_conwayms_core
public static Ret.pfqnCore pfqn_conwayms_core(Matrix L, int M, int R, Matrix N_1, Matrix Z, int[] nservers, Matrix Q, Matrix P, Matrix PB, MatrixCell Delta, SchedStrategy[] type, double tol, int maxiter) -
pfqn_conwayms_estimate
public static Ret.pfqnEstimate pfqn_conwayms_estimate(int M, int R, Matrix N_1, int[] nservers, Matrix Q, Matrix P, Matrix PB, MatrixCell Delta, Matrix W) -
pfqn_conwayms_forwardmva
public static Ret.pfqnForwardMVA pfqn_conwayms_forwardmva(Matrix L, int M, int R, Matrix N_1, Matrix Z, int[] nservers, SchedStrategy[] type, MatrixCell Q_1, MatrixCell P_1, Matrix PB_1, Matrix T_1) -
pfqn_lldfun
Evaluate limited-load dependent (LLD) function- Parameters:
n
- Queue-length values. The values can be continuous.lldscaling
- If not null, then the LLD function uses lldscaling to interpolate continuous values of nnservers
- If not null, then the LLD function is set to be for a multi-server with nserver stations- Returns:
- Interpolated LLD function values
-
pfqn_cdfun
public static Matrix pfqn_cdfun(Matrix nvec, Map<Station, SerializableFunction<Matrix, Double>> cdscaling, List<Station> stations) Evaluate class-dependent (CD) scaling function- Parameters:
nvec
- Per-class queue-length values. The values can be continuous.cdscaling
- CD functionstations
- Station objects- Returns:
-
pfqn_mva
-
pfqn_mva
Mean Value Analysis (MVA) Algorithm for closed Product-Form Queueing Networks. Exact solution is computed for several performance measures.- Parameters:
L
- - service demand matrixN
- - population vectorZ
- - think timesmi
- - multiplicity vector- Returns:
- - mean value of the computed performance measures, including residence times, throughputs, number of jobs at a specific node, and utilizations.
-
pfqn_xzgsbup
Computes the upper Geometric Square-Root Bound (GSB) for the throughput of the given closed single-class queueing networks- Parameters:
L
- - service demand matrixN
- - populationZ
- - think time- Returns:
- - the upper GSB for the throughput
-
pfqn_qzgbup
Computes the upper Geometric Bound (GB) for the queue length of the given closed single-class queueing networks- Parameters:
L
- - service demand matrixN
- - populationZ
- - think timei
- - station index- Returns:
- - the upper GB for the queue length
-
pfqn_xzabaup
Computes the upper ABA for the throughput of the given closed single-class queueing networks- Parameters:
L
- - service demand matrixN
- - populationZ
- - think time- Returns:
- - the upper ABA for the throughput
-
pfqn_xzabalow
Computes the low ABA for the throughput of the given closed single-class queueing networks- Parameters:
L
- - service demand matrixN
- - populationZ
- - think time- Returns:
- - the upper ABA for the throughput
-
pfqn_xzgsblow
Computes the lower Geometric Square-Root Bound (GSB) for the throughput of the given closed single-class queueing networks- Parameters:
L
- - service demand matrixN
- - populationZ
- - think time- Returns:
- - the lower GSB for the throughput
-
pfqn_qzgblow
Computes the lower Geometric Bound (GB) for the queue length of the given closed single-class queueing networks- Parameters:
L
- - service demand matrixN
- - populationZ
- - think timei
- - station index- Returns:
- - the lower GB for the queue length
-
pfqn_mvams
public static Ret.pfqnMVA pfqn_mvams(Matrix lambda, Matrix L, Matrix N, Matrix Z, Matrix mi, Matrix S) General purpose script to handle mixed Query Networks with multiserver nodes.- Parameters:
lambda
- - arrival ratesL
- - service demand matrixN
- - population vectorZ
- - think time matrixmi
- - multiplicity vectorS
- - server count for each station- Returns:
- - performance measures of the mixed query network.
-
pfqn_mvamx
Mean Value Analysis (MVA) method for open and mixed queueing networks with no multi-server nodes.- Parameters:
lambda
- - arrival ratesD
- - service demand matrixN
- - population vectorZ
- - think timesmi
- - multiplicity vector- Returns:
- - the performance measures for the given network.
-
pfqn_mvaldms
Wrapper for pfqn_mvaldmx that adjusts utilizations to account for multiservers- Parameters:
lambda
- - arrival ratesD
- - service demand matrixN
- - population vectorZ
- - think timesS
- - servers at each station- Returns:
- - the performance measures for the given network.
-
pfqn_mvaldmx
public static Ret.pfqnMVALDMX pfqn_mvaldmx(Matrix lambda, Matrix D, Matrix N, Matrix Z, Matrix mu, Matrix S) Mean Value Analysis (MVA) method for mixed queueing networks with load-dependent nodes.- Parameters:
lambda
- - arrival ratesD
- - service demand matrixN
- - population vectorZ
- - think timesmu
- - load dependent ratesS
- - number of servers at each station- Returns:
- - the performance measures for the given network.
-
pfqn_mvaldmx_ec
Auxiliary function used by pfqn_mvaldmx to compute the EC terms -
pfqn_mvald
Mean Value Analysis (MVA) method for closed networks with load dependent service and stabilization -
pfqn_mvald
Mean Value Analysis (MVA) method for closed networks with load dependent service- Parameters:
L
- - service demand matrixN
- - population vectorZ
- - think timesmu
- - load dependent service rate. mu[i][j] - load dependent service rate of the ith node when there are j jobs in itstabilize
- - whether to stabilize the probabilities or not (ensures that probabilities do not become negative)- Returns:
- - performance measures for the closed network.
-
pfqn_linearizerms
Multiserver version of Krzesinski's Linearizer -
pfqn_linearizerms
public static Ret.pfqnAMVAMS pfqn_linearizerms(Matrix L, Matrix N, Matrix Z, Matrix nservers, Matrix type) Multiserver version of Krzesinski's Linearizer -
pfqn_linearizerms
public static Ret.pfqnAMVAMS pfqn_linearizerms(Matrix L, Matrix N, Matrix Z, Matrix nservers, Matrix type, double tol) Multiserver version of Krzesinski's Linearizer -
pfqn_linearizerms
public static Ret.pfqnAMVAMS pfqn_linearizerms(Matrix L, Matrix N, Matrix Z, Matrix nservers, Matrix type, double tol, int maxiter) Multiserver version of Krzesinski's Linearizer as described in Conway 1989, Fast Approximate Solution of Queueing Networks with Multi-Server Chain- Dependent FCFS Queues. Minor adjustments based on De Souza-Muntz's description of the algorithm.- Parameters:
L
- - service demand matrixN
- - population vectorZ
- - think timesnservers
- - number of servers at each stationtype
- - scheduling discipline at each stationtol
- - max tolerance admitted between successive iterationsmaxiter
- - maximum number of iterations- Returns:
- - the performance measures of the network.
-
linearizerms_core
-
linearizerms_estimate
-
linearizerms_forwardMVA
-
pfqn_bs
Bard-Schweitzer approximate mean value analysis algorithm -
pfqn_bs
Bard-Schweitzer approximate mean value analysis algorithm -
pfqn_bs
Bard-Schweitzer approximate mean value analysis algorithm -
pfqn_bs
Bard-Schweitzer approximate mean value analysis algorithm -
pfqn_bs
public static Ret.pfqnAMVA pfqn_bs(Matrix L, Matrix N, Matrix Z, double tol, int maxiter, Matrix QN0) Bard-Schweitzer approximate mean value analysis algorithm -
pfqn_bs
public static Ret.pfqnAMVA pfqn_bs(Matrix L, Matrix N, Matrix Z, double tol, int maxiter, Matrix QN0, SchedStrategy[] type) Bard-Schweitzer approximate mean value analysis algorithm- Parameters:
L
- - the service demand matrixN
- - the population vectorZ
- - the think times vectortol
- - max tolerance admitted between successive iterationsmaxiter
- - maximum number of iterationsQN0
- - original queue lengthstype
- - scheduling disciplines at each station- Returns:
- - the performance metrics for this network.
-
pfqn_linearizer
Linearizer approximate mean value analysis algorithm -
pfqn_linearizer
public static Ret.pfqnAMVA pfqn_linearizer(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol) Linearizer approximate mean value analysis algorithm -
pfqn_linearizer
public static Ret.pfqnAMVA pfqn_linearizer(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol, int maxiter) Linearizer approximate mean value analysis algorithm- Parameters:
L
- - the service demand matrixN
- - the population vectorZ
- - the think timestype
- - the types of the scheduling disciplines at each stationtol
- - max tolerance admitted between successive iterationsmaxiter
- - maximum number of iterations- Returns:
- - the performance measures for the given network
-
pfqn_gflinearizer
public static Ret.pfqnAMVA pfqn_gflinearizer(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol, int maxiter, double alpha) -
pfqn_egflinearizer
public static Ret.pfqnAMVA pfqn_egflinearizer(Matrix L, Matrix N, Matrix Z, SchedStrategy[] type, double tol, int maxiter, Matrix alpha) Extended general form linearizer approximate mean value analysis algorithm. This method performs approximate mean value analysis using an extended general form linearizer approach.- Parameters:
L
- - the service demand matrix, where rows represent stations and columns represent classesN
- - the population vector indicating the number of requests for each classZ
- - the think times, representing the average time between completion of one service request and the beginning of the nexttype
- - the types of scheduling disciplines (e.g., FCFS, PS) used at each stationtol
- - the maximum tolerance admitted between successive iterations, used for convergence checkingmaxiter
- - the maximum number of iterations allowed in the algorithmalpha
- - matrix of alphas, which provides weightings or adjustments for each class in the linearizer- Returns:
- - a pfqnAMVA object containing the computed performance measures: queue lengths, utilizations, response times, and throughput rates
-
egflinearizer_core
protected static Ret.pfqnLinearizerCore egflinearizer_core(Matrix L, int M, int R, Matrix N_1, Matrix Z, Matrix Q, Matrix[] Delta, SchedStrategy[] type, double tol, int maxiter, Matrix alpha) Core method for the extended general form linearizer. This method is responsible for iterating the linearizer steps, adjusting the queue length estimates, and checking for convergence.- Parameters:
L
- - the service demand matrixM
- - the number of stationsR
- - the number of classesN_1
- - adjusted population vectorZ
- - the think timesQ
- - current queue length estimatesDelta
- - array of matrices representing adjustments for the linearizertype
- - scheduling disciplines at each stationtol
- - convergence tolerancemaxiter
- - maximum number of iterationsalpha
- - matrix of alpha values for adjustments- Returns:
- - a pfqnLinearizerCore object containing the updated queue lengths, response times, throughputs, and iteration count
-
egflinearizer_estimate
protected static Ret.pfqnLinearizerEstimate egflinearizer_estimate(Matrix L, int M, int R, Matrix N_1, Matrix Z, Matrix Q, Matrix[] Delta, Matrix W, Matrix alpha) Estimate method for the extended general form linearizer. This method computes the intermediate estimates of the queue lengths and response times.- Parameters:
L
- - the service demand matrixM
- - the number of stationsR
- - the number of classesN_1
- - adjusted population vectorZ
- - the think timesQ
- - current queue length estimatesDelta
- - array of matrices representing adjustments for the linearizerW
- - response time matrixalpha
- - matrix of alpha values for adjustments- Returns:
- - a pfqnLinearizerEstimate object containing the intermediate queue length estimates
-
egflinearizer_forwardMVA
protected static Ret.pfqnLinearizerForwardMVA egflinearizer_forwardMVA(Matrix L, int M, int R, SchedStrategy[] type, Matrix N_1, Matrix Z, Matrix[] Q_1) Forward Mean Value Analysis method for the extended general form linearizer. This method computes the response times, throughputs, and queue lengths using the mean value analysis technique.- Parameters:
L
- - the service demand matrixM
- - the number of stationsR
- - the number of classestype
- - scheduling disciplines at each stationN_1
- - adjusted population vectorZ
- - the think timesQ_1
- - intermediate queue length estimates- Returns:
- - a pfqnLinearizerForwardMVA object containing the computed queue lengths, response times, and throughputs
-
pfqn_linearizermx
public static Ret.pfqnAMVA pfqn_linearizermx(Matrix lambda, Matrix L, Matrix N, Matrix Z, Matrix nservers, SchedStrategy[] type, double tol, int maxiter, String method) Linearizer method for mixed models with multi-server stations- Parameters:
lambda
- - arrival rate of open classesL
- - the service demand matrixN
- - the population vectorZ
- - the think times vectornservers
- - number of servers at the stationstype
- - scheduling strategy typetol
- - max tolerance admitted between successive iterationsmaxiter
- - maximum number of iterationsmethod
- - solution method- Returns:
- - the performance metrics for this network
-
pfqn_rd
-
pfqn_nrp
-
pfqn_nrl
-
pfqn_xia
-
pfqn_nca
-
pfqn_mu_ms
-
pfqn_mu_ms_gnaux
-