Package jline.lib.perm
Class NetworkNoThink
-
- All Implemented Interfaces:
public final class NetworkNoThinkQueueing 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.
-
-
Constructor Summary
Constructors Constructor Description NetworkNoThink(Integer numberOfQueues, Integer numberOfClasses, IntArray numberPerClass, 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. final Triple<Double, Long, Long>marginal(PermSolver solver, IntArray state, Boolean preprocessing)Compute marginal probability of a state using specified solver. final Map<IntArray, Triple<Double, Long, Long>>generateMarginal(PermSolver solver, Boolean preprocessing)Generate dictionary of all marginal states with their probabilities. -
-
Constructor Detail
-
NetworkNoThink
NetworkNoThink(Integer numberOfQueues, Integer numberOfClasses, IntArray numberPerClass, Array<DoubleArray> meanServiceDemand, Boolean progress)
- Parameters:
numberOfQueues- Number of service stations in the networknumberOfClasses- Number of job classesnumberPerClass- Population of 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.
- 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 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
-
-
-
-