Class ConvolutionLayer

java.lang.Object
solvers.queueingnet.treeAlgorithms.treeConvolution.ConvolutionLayer

public class ConvolutionLayer extends Object
Layer in between the single and multi-threaded solvers and the convolution core.
Author:
Ben Homer, 2014.
  • Constructor Details

    • ConvolutionLayer

      public ConvolutionLayer(ConvolutionCore cc)
      Constructor.
      Parameters:
      cc - The convolution core class.
  • Method Details

    • computeLeafNodeGArray

      public void computeLeafNodeGArray(Node node, PopulationVector popVec)
      Wraps the computation of leaf node g-arrays so that the solvers do not need direct access to the convolution core.
      Parameters:
      node - The leaf node.
      popVec - The population vector to use during the computation.
    • computeSubnetNodeGArray

      public void computeSubnetNodeGArray(Node node, PopulationVector popVec)
      Wraps the computation of subnet node g arrays so that the solvers do not need direct access to the convolution core.
    • computeGNminusOneMethod1

      public BigRational computeGNminusOneMethod1(Node root, int k, PopulationVector pv)
      Computes the normalisation constant G(N - 1_k) for the specified class k, required to calculate the chain throughputs. Method 1 outlined in sec. 4.3 in Lam/Lien paper.
      Parameters:
      root - the root
      k - The class k.
      pv - the pv parameter
      Returns:
      the resulting big rational
    • computeGmPlusStoreSingle

      public BigRational[] computeGmPlusStoreSingle(Node cloneParent, PopulationVector p, int m)
      Calculates Gm+(n-1_k) using first method from section 4.2 in Lam/Lien paper. This is a required normalisation constant when computing mean queue lengths and is carried out on a tree in which station m has been cloned.
      Parameters:
      cloneParent - The node which is the parent of the two cloned children.
      p - The population vector to use during the computation.
      m - The station/queue which has been cloned.
      Returns:
      An array containing the Gm+ normalisation constants for each class.
    • computeGmPlusStoreMultiple

      public BigRational[] computeGmPlusStoreMultiple(Node cloneParent, PopulationVector p, int m)
      Calculates Gm+(n-1_k) by storing multiple g arrays, one for each partially covered class in pc.
      Parameters:
      cloneParent - The node which is the parent of the two cloned children.
      p - The population vector to use during the computation.
      m - The station/queue which has been cloned.
      Returns:
      An array containing the Gm+ normalisation constants for each class.