Class BMAP
-
- All Implemented Interfaces:
-
java.io.Serializable,jline.lang.Copyable
public class BMAP extends MarkedMAP implements Serializable
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.
-
-
Method Summary
Modifier and Type Method Description StringgetName()Returns the name of this distribution type. static BMAPfromMAPWithBatchPMF(Matrix D0, Matrix D1, Array<int> batchSizes, Array<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] intgetMaxBatchSize()Get the maximum batch size supported by this BMAP doublegetMeanBatchSize()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) Array<double>getBatchRates()Get the arrival rates for each batch size MatrixgetBatchMatrix(int batchSize)Get the D_k matrix for batch size k StringtoString()-
Methods inherited from class jline.lang.processes.MarkedMAP
normalize, sample, sample, toTimeReversed -
Methods inherited from class jline.lang.processes.Marked
D, D, getD1k -
Methods inherited from class jline.lang.processes.MarkovModulated
evalACFT, getACFDecay -
Methods 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, numPhases, numberOfPhases, phi, process, rate, scv, setMean, setProcess, setRate, skewness, subgenerator, var, variance -
Methods inherited from class jline.lang.processes.Distribution
evalProbInterval, getNumParams, getParam, getSupport, isContinuous, isDisabled, isDiscrete, isImmediate, isMarkovian, name, numParams, param, setNumParams, setParam, support -
Methods inherited from class jline.lang.Copyable
copy -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
BMAP
BMAP()
Default constructor creating an empty BMAP
-
BMAP
BMAP(MatrixCell bmap)
Construct a BMAP from a MatrixCell containing {D0, D1, D2, ...- Parameters:
bmap- MatrixCell where: - bmap.get(0) = D0 (transitions without arrivals) - bmap.
-
-
Method Detail
-
getName
String getName()
Returns the name of this distribution type.
- Returns:
"BMAP" to identify this as a Batch Markovian Arrival Process
-
fromMAPWithBatchPMF
static BMAP fromMAPWithBatchPMF(Matrix D0, Matrix D1, Array<int> batchSizes, Array<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]
- 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.pmf- probability mass function for batch sizes (must sum to 1)- Returns:
a BMAP constructed from the base MAP and batch distribution
-
getMaxBatchSize
int getMaxBatchSize()
Get the maximum batch size supported by this BMAP
- Returns:
the maximum batch size k where Dk is defined
-
getMeanBatchSize
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
Array<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
Matrix getBatchMatrix(int batchSize)
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
-
-
-
-