Class DMAP

All Implemented Interfaces:
Serializable, Copyable

public class DMAP extends MarkovModulated implements Serializable
A Discrete Markovian Arrival Process (DMAP). Unlike MAP (continuous-time), D0+D1 is a stochastic matrix (row sums = 1).
See Also:
  • Constructor Details

  • Method Details

    • rand

      public static DMAP rand()
    • rand

      public static DMAP rand(int order)
    • D

      public Matrix D(int i)
      Description copied from class: Markovian
      Gets the i-th matrix of the Markovian arrival process representation.
      Overrides:
      D in class Markovian
      Parameters:
      i - the matrix index (0 for D0, 1 for D1, etc.)
      Returns:
      the matrix at index i
    • getMean

      public double getMean()
      Mean inter-arrival time: pi * (I - D0)^{-1} * e
      Overrides:
      getMean in class Markovian
      Returns:
      the mean value, or NaN if the process contains NaN values
    • getVar

      public double getVar()
      Variance: 2*pi*(I-D0)^{-2}*e - mean - mean^2
      Overrides:
      getVar in class Markovian
      Returns:
      the variance
    • getSCV

      public double getSCV()
      Description copied from class: Distribution
      Gets the squared coefficient of variation (SCV) of this distribution. SCV = Var(X) / E[X]^2.
      Overrides:
      getSCV in class Markovian
      Returns:
      the squared coefficient of variation
    • getMu

      public Matrix getMu()
      Row sums of (I - D0).
      Overrides:
      getMu in class Markovian
      Returns:
      column vector of rates
    • sample

      public double[] sample(int n, Random random)
      Description copied from class: Distribution
      Generates random samples from this distribution using the specified random generator.
      Overrides:
      sample in class Markovian
      Parameters:
      n - the number of samples to generate
      random - the random number generator to use
      Returns:
      array of random samples
    • sample

      public double[] sample(int n)
      Description copied from class: Distribution
      Generates random samples from this distribution using default random generator.
      Overrides:
      sample in class Markovian
      Parameters:
      n - the number of samples to generate
      Returns:
      array of random samples
    • getRate

      public double getRate()
      Description copied from class: Distribution
      Gets the rate of this distribution (inverse of mean).
      Overrides:
      getRate in class Markovian
      Returns:
      the rate value (1/mean)
    • evalCDF

      public double evalCDF(double t)
      CDF(t) = 1 - pi * D0^floor(t) * e
      Overrides:
      evalCDF in class Markovian
      Parameters:
      t - the point at which to evaluate the CDF
      Returns:
      the CDF value at point t
    • getTransitionMatrix

      public Matrix getTransitionMatrix()
      Embedded chain P = (I - D0)^{-1} * D1.
    • getNumberOfPhases

      public long getNumberOfPhases()
      Description copied from class: Markovian
      Gets the number of phases in this Markovian distribution.
      Overrides:
      getNumberOfPhases in class Markovian
      Returns:
      the number of phases
    • normalize

      public void normalize()
    • getProcess

      public MatrixCell getProcess()
      Description copied from class: Markovian
      Gets the matrix representation of this Markovian process.
      Overrides:
      getProcess in class Markovian
      Returns:
      MatrixCell containing D0, D1, ... matrices
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object