Class ProbabilityResult
-
- All Implemented Interfaces:
public class ProbabilityResultResult class for probability calculations in solvers.
Supports both scalar probabilities (single value) and probability distributions (vectors/matrices) for marginal and aggregated state probabilities.
For marginal probabilities (getProbMarg), the probability vector contains P(n jobs of class r) for n=0,1,...,N where N is the population.
For aggregated probabilities (getProbAggr), the probability is a scalar representing P(n1 jobs of class 1, n2 jobs of class 2, ...).
-
-
Field Summary
Fields Modifier and Type Field Description public final doubleprobabilitypublic final doublelogProbabilitypublic MatrixprobabilityVector
-
Constructor Summary
Constructors Constructor Description ProbabilityResult(double probability, double logProbability)Constructor for scalar probability result. ProbabilityResult(Matrix probabilityVector)Constructor for probability distribution result. ProbabilityResult(int nstations, int nclasses)Constructor for multi-station, multi-class marginal storage.
-
Method Summary
Modifier and Type Method Description MatrixgetProbabilityVector()Get the probability distribution vector. voidsetMarginal(int station, int jobclass, Matrix probVector)Set the marginal probability distribution for a specific station and class. MatrixgetMarginal(int station, int jobclass)Get the marginal probability distribution for a specific station and class. booleanhasDistribution()Check if this result contains a probability distribution (vs scalar). doublegetProbability(int stateIndex)Get probability at a specific state index. intlength()Get the length of the probability distribution. -
-
Constructor Detail
-
ProbabilityResult
ProbabilityResult(double probability, double logProbability)
Constructor for scalar probability result.- Parameters:
probability- the probability valuelogProbability- the logarithm of the probability value
-
ProbabilityResult
ProbabilityResult(Matrix probabilityVector)
Constructor for probability distribution result.- Parameters:
probabilityVector- the probability distribution as a row vector
-
ProbabilityResult
ProbabilityResult(int nstations, int nclasses)
Constructor for multi-station, multi-class marginal storage.- Parameters:
nstations- number of stationsnclasses- number of job classes
-
-
Method Detail
-
getProbabilityVector
Matrix getProbabilityVector()
Get the probability distribution vector.
- Returns:
the probability vector, or null if this is a scalar result
-
setMarginal
void setMarginal(int station, int jobclass, Matrix probVector)
Set the marginal probability distribution for a specific station and class.
- Parameters:
station- station indexjobclass- job class indexprobVector- probability distribution vector
-
getMarginal
Matrix getMarginal(int station, int jobclass)
Get the marginal probability distribution for a specific station and class.
- Parameters:
station- station indexjobclass- job class index- Returns:
probability distribution vector, or null if not set
-
hasDistribution
boolean hasDistribution()
Check if this result contains a probability distribution (vs scalar).
- Returns:
true if this result contains a probability vector
-
getProbability
double getProbability(int stateIndex)
Get probability at a specific state index.
- Parameters:
stateIndex- the state index (e.g.- Returns:
the probability at that state
-
length
int length()
Get the length of the probability distribution.
- Returns:
number of states in the distribution, or 1 for scalar results
-
-
-
-