Class NetworkNoThink

  • All Implemented Interfaces:

    
    public final class NetworkNoThink
    
                        

    Queueing network model without think time.

    This class models a closed queueing network where jobs circulate between queues without any external think time. The network is characterized by:

    • Number of queues and job classes

    • Population of each class

    • Mean service demands at each queue for each class

    The permanent of matrices constructed from service demands gives the unnormalized probability of network states.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Constructor Detail

      • NetworkNoThink

        NetworkNoThink(Integer numberOfQueues, Integer numberOfClasses, IntArray numberPerClass, Array<DoubleArray> meanServiceDemand, Boolean progress)
        Parameters:
        numberOfQueues - Number of service stations in the network
        numberOfClasses - Number of job classes
        numberPerClass - Population of each job class
        meanServiceDemand - Matrix of mean service demands class
        progress - Whether to show progress during computations (default: true)
    • Method Detail

      • joint

         final Double joint(Array<IntArray> state)

        Compute the unnormalized probability of a joint state.

        Parameters:
        state - Matrix representing the state class = number of jobs
        Returns:

        Unnormalized probability of the state

      • marginal

         final Triple<Double, Long, Long> marginal(PermSolver solver, IntArray state, Boolean preprocessing)

        Compute marginal probability of a state using specified solver.

        Parameters:
        solver - The permanent solver to use
        state - Vector representing marginal state queue = total jobs
        preprocessing - Whether to apply doubly stochastic preprocessing
        Returns:

        Triple of (probability, computation time, memory usage)

      • generateMarginal

         final Map<IntArray, Triple<Double, Long, Long>> generateMarginal(PermSolver solver, Boolean preprocessing)

        Generate dictionary of all marginal states with their probabilities.

        Parameters:
        solver - The permanent solver to use
        preprocessing - Whether to apply doubly stochastic preprocessing
        Returns:

        Map of state vectors to (probability, time, memory) triples