Class ProbabilityResult

  • All Implemented Interfaces:

    
    public class ProbabilityResult
    
                        

    Result 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, ...).

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • 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.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      Matrix getProbabilityVector() Get the probability distribution vector.
      void setMarginal(int station, int jobclass, Matrix probVector) Set the marginal probability distribution for a specific station and class.
      Matrix getMarginal(int station, int jobclass) Get the marginal probability distribution for a specific station and class.
      boolean hasDistribution() Check if this result contains a probability distribution (vs scalar).
      double getProbability(int stateIndex) Get probability at a specific state index.
      int length() Get the length of the probability distribution.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProbabilityResult

        ProbabilityResult(double probability, double logProbability)
        Constructor for scalar probability result.
        Parameters:
        probability - the probability value
        logProbability - 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 stations
        nclasses - 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 index
        jobclass - job class index
        probVector - probability distribution vector
      • getMarginal

         Matrix getMarginal(int station, int jobclass)

        Get the marginal probability distribution for a specific station and class.

        Parameters:
        station - station index
        jobclass - 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