Class NetworkThink

  • All Implemented Interfaces:

    
    public final class NetworkThink
    
                        

    Queueing network model with think time.

    This class extends the basic queueing network model to include think time, representing time spent by jobs outside the queueing network (e.g., user think time in interactive systems).

    • 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

      • NetworkThink

        NetworkThink(Integer numberOfQueues, Integer numberOfClasses, IntArray numberPerClass, DoubleArray thinkTime, 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
        thinkTime - Think time for 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 including think time effects.

        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 including think time effects.

        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