Package jline.lang.processes
Class CyclicPoisson
java.lang.Object
jline.lang.processes.Distribution
jline.lang.processes.ContinuousDistribution
jline.lang.processes.CyclicPoisson
- All Implemented Interfaces:
Serializable,Copyable
A cyclic Poisson arrival process with deterministic phase switching.
In phase i, arrivals follow Poisson(rates[i]) for exactly
durations[i] time units, then the rate switches deterministically to
phase (i+1) % n. The schedule repeats cyclically.
Unlike a MAP, which uses exponential holding times to approximate the phase schedule stochastically, this process fires rate-change events at exact phase boundaries in the LDES simulation engine.
The process representation stores:
getProcess().get(0)— 1×n matrix of arrival ratesgetProcess().get(1)— 1×n matrix of phase durations
Solver support. Only the LDES simulation engine honours the exact phase schedule. CyclicPoisson is declared solely in the LDES feature set, so every analytical solver (MVA, NC, CTMC, MAM, FLD, JMT, SSA) rejects a model using it via the standard unsupported-feature check.
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCyclicPoisson(double[] rates, double[] durations) Creates a cyclic Poisson process. -
Method Summary
Modifier and TypeMethodDescriptiondoubleevalCDF(double t) Evaluates the cumulative distribution function (CDF) at the given point.doubleevalLST(double s) Evaluate the Laplace-Stieltjes Transform at sdouble[]Returns a copy of the phase durations array.doublegetMean()Gets the mean (expected value) of this distribution.intReturns the number of phases in the cyclic schedule.Gets the process representation with actual distribution parameters.double[]getRates()Returns a copy of the arrival rates array.doublegetSCV()Returns 1.0 as a representative SCV (used only if Erlang conversion is attempted).doubleGets the skewness of this distribution.doubleComputes the time-average arrival rate:sum(rates[i]*durations[i]) / sum(durations[i]).double[]Generates random samples from this distribution using the specified random generator.toString()Methods inherited from class jline.lang.processes.Distribution
evalProbInterval, getName, getNumParams, getParam, getRate, getSupport, getVar, isContinuous, isDisabled, isDiscrete, isImmediate, isMarkovian, mean, name, numParams, param, rate, sample, scv, setNumParams, setParam, skewness, support, var
-
Constructor Details
-
CyclicPoisson
public CyclicPoisson(double[] rates, double[] durations) Creates a cyclic Poisson process.- Parameters:
rates- arrival rates per phase (arrivals per time unit), length ndurations- duration of each phase in the same time unit, length n
-
-
Method Details
-
getRates
public double[] getRates()Returns a copy of the arrival rates array. -
getDurations
public double[] getDurations()Returns a copy of the phase durations array. -
getNumPhases
public int getNumPhases()Returns the number of phases in the cyclic schedule. -
getTimeAverageRate
public double getTimeAverageRate()Computes the time-average arrival rate:sum(rates[i]*durations[i]) / sum(durations[i]). -
getMean
public double getMean()Description copied from class:DistributionGets the mean (expected value) of this distribution.- Specified by:
getMeanin classDistribution- Returns:
- the mean value
-
getSCV
public double getSCV()Returns 1.0 as a representative SCV (used only if Erlang conversion is attempted).- Specified by:
getSCVin classDistribution- Returns:
- the squared coefficient of variation
-
getSkewness
public double getSkewness()Description copied from class:DistributionGets the skewness of this distribution. Skewness measures the asymmetry of the probability distribution.- Specified by:
getSkewnessin classDistribution- Returns:
- the skewness value
-
evalCDF
public double evalCDF(double t) Description copied from class:DistributionEvaluates the cumulative distribution function (CDF) at the given point.- Specified by:
evalCDFin classDistribution- Parameters:
t- the point at which to evaluate the CDF- Returns:
- the CDF value at point t
-
evalLST
public double evalLST(double s) Description copied from class:DistributionEvaluate the Laplace-Stieltjes Transform at s- Specified by:
evalLSTin classContinuousDistribution- Parameters:
s- the Laplace domain variable- Returns:
- the LST value at s
-
getProcess
Description copied from class:ContinuousDistributionGets the process representation with actual distribution parameters. Returns a MatrixCell containing the distribution parameters.- Specified by:
getProcessin classContinuousDistribution- Returns:
- MatrixCell with distribution-specific parameters
-
sample
Description copied from class:DistributionGenerates random samples from this distribution using the specified random generator.- Specified by:
samplein classDistribution- Parameters:
n- the number of samples to generaterandom- the random number generator to use- Returns:
- array of random samples
-
toString
-