Package jline.lib.perm
Class NetworkThink
-
- All Implemented Interfaces:
public final class NetworkThinkQueueing 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).
-
-
Constructor Summary
Constructors Constructor Description NetworkThink(Integer numberOfQueues, Integer numberOfClasses, IntArray numberPerClass, DoubleArray thinkTime, Array<DoubleArray> meanServiceDemand, Boolean progress)
-
Method Summary
Modifier and Type Method Description final Doublejoint(Array<IntArray> state)Compute the unnormalized probability of a joint state including think time effects. final Triple<Double, Long, Long>marginal(PermSolver solver, IntArray state, Boolean preprocessing)Compute marginal probability including think time effects. final Map<IntArray, Triple<Double, Long, Long>>generateMarginal(PermSolver solver, Boolean preprocessing)Generate dictionary of all marginal states with their probabilities. -
-
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 networknumberOfClasses- Number of job classesnumberPerClass- Population of each job classthinkTime- Think time for each job classmeanServiceDemand- Matrix of mean service demands classprogress- 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 usestate- Vector representing marginal state queue = total jobspreprocessing- 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 usepreprocessing- Whether to apply doubly stochastic preprocessing- Returns:
Map of state vectors to (probability, time, memory) triples
-
-
-
-