Package jline.lang.processes
Class BMAP
- All Implemented Interfaces:
Serializable,Copyable
A Batch Markovian Arrival Process (BMAP)
BMAP is a point process where arrivals occur in batches.
Uses the standard BMAP representation:
- D0: infinitesimal generator for transitions without arrivals
- D1: rate matrix for transitions generating 1 arrival
- D2: rate matrix for transitions generating 2 arrivals
- ...
- Dk: rate matrix for transitions generating k arrivals
BMAP extends MarkedMAP where each "mark" k represents a batch size k.
- See Also:
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BMAPfromMAPWithBatchPMF(Matrix D0, Matrix D1, int[] batchSizes, double[] pmf) Factory method to create BMAP from a base MAP and batch size distribution Given a base MAP (D0_base, D1_base) for inter-batch arrivals and a batch size distribution, constructs the BMAP by scaling: Dk = D1_base * pmf[k-1]getBatchMatrix(int batchSize) Get the D_k matrix for batch size kdouble[]Get the arrival rates for each batch sizeintGet the maximum batch size supported by this BMAPdoubleGet the mean batch size (expected number of arrivals per batch) Computed as weighted average of batch sizes by their rates: E[batch size] = sum(k * rate_k) / sum(rate_k)getName()Returns the name of this distribution type.toString()Methods inherited from class jline.lang.processes.MarkedMAP
normalize, sample, sample, toTimeReversedMethods inherited from class jline.lang.processes.MarkovModulated
evalACFT, getACFDecayMethods inherited from class jline.lang.processes.Markovian
acf, embedded, embeddedProb, evalCDF, evalCDF, evalLST, evalMeanT, evalVarT, getACF, getEmbedded, getEmbeddedProb, getIDC, getIDI, getInitProb, getMean, getMoments, getMu, getNumberOfPhases, getPhi, getProcess, getRate, getSCV, getSkewness, getSubgenerator, getVar, getVariance, idc, idi, initProb, mean, moments, mu, numberOfPhases, numPhases, phi, process, rate, scv, setMean, setProcess, setRate, skewness, subgenerator, var, varianceMethods inherited from class jline.lang.processes.Distribution
evalProbInterval, getNumParams, getParam, getSupport, isContinuous, isDisabled, isDiscrete, isImmediate, isMarkovian, name, numParams, param, setNumParams, setParam, support
-
Constructor Details
-
BMAP
public BMAP()Default constructor creating an empty BMAP -
BMAP
Construct a BMAP from a MatrixCell containing {D0, D1, D2, ..., Dk}- Parameters:
bmap- MatrixCell where: - bmap.get(0) = D0 (transitions without arrivals) - bmap.get(k) = Dk (transitions generating k arrivals) for k >= 1
-
BMAP
Construct a BMAP from D0 and variable number of Dk matrices- Parameters:
D0- the infinitesimal generator for transitions without arrivalsDk- variable number of matrices where Dk[i-1] represents transitions generating i arrivals
-
-
Method Details
-
getName
Returns the name of this distribution type.- Overrides:
getNamein classDistribution- Returns:
- "BMAP" to identify this as a Batch Markovian Arrival Process
-
fromMAPWithBatchPMF
Factory method to create BMAP from a base MAP and batch size distribution Given a base MAP (D0_base, D1_base) for inter-batch arrivals and a batch size distribution, constructs the BMAP by scaling: Dk = D1_base * pmf[k-1]- Parameters:
D0- the base MAP's D0 matrix (transitions without batch arrivals)D1- the base MAP's D1 matrix (inter-batch arrival transitions)batchSizes- array of batch sizes (e.g., [1, 2, 4, 8])pmf- probability mass function for batch sizes (must sum to 1)- Returns:
- a BMAP constructed from the base MAP and batch distribution
-
getMaxBatchSize
public int getMaxBatchSize()Get the maximum batch size supported by this BMAP- Returns:
- the maximum batch size k where Dk is defined
-
getMeanBatchSize
public double getMeanBatchSize()Get the mean batch size (expected number of arrivals per batch) Computed as weighted average of batch sizes by their rates: E[batch size] = sum(k * rate_k) / sum(rate_k)- Returns:
- the mean batch size
-
getBatchRates
public double[] getBatchRates()Get the arrival rates for each batch size- Returns:
- array where result[k-1] is the rate of batch size k arrivals
-
getBatchMatrix
Get the D_k matrix for batch size k- Parameters:
batchSize- the batch size (1, 2, 3, ...)- Returns:
- D_k matrix for the specified batch size, or null if out of range
-
toString
-