Class SolverMultiMixedPrioMVA

java.lang.Object
solvers.SolverMulti
solvers.multiSolverAlgorithms.SolverMultiMixedPrioMVA

public class SolverMultiMixedPrioMVA extends SolverMulti
Priority MVA solution algorithm of JMVA for mixed models with priority classes.
  • Constructor Details

    • SolverMultiMixedPrioMVA

      public SolverMultiMixedPrioMVA(int classes, int stations)
      Defaults to CL variation (The MVA Priority Approximation)
      Parameters:
      classes - number of classes.
      stations - number of stations.
    • SolverMultiMixedPrioMVA

      public SolverMultiMixedPrioMVA(int classes, int stations, UtilizationCalculator utilCalculator)
      Parameters:
      classes - number of classes.
      stations - number of stations.
      utilCalculator - To allow for the different variations so CL, BKT and T
    • SolverMultiMixedPrioMVA

      public SolverMultiMixedPrioMVA(int classes, int stations, PerformanceValuePerStationPerClassCalculator closedResidenceCalculator, ThroughputCalculator throughputCalculator, QueueLengthCalculator closedQueueLengthCalculator, PerformanceValuePerStationCalculator openQueueLengthCalculator, boolean highestPriorityToLowestPriority)
  • Method Details

    • input

      public boolean input(String[] n, int[] t, double[][][] s, double[][] v, double[] classData, int[] classType, int[] p)
      initializes the solver with the system parameters.
      Parameters:
      n - array of names of service centers.
      t - array of the types (LD, LI, Delay, PRS, HOL) of service centers.
      s - matrix of service time of the service centers.
      v - matrix of visits to the service centers.
      classData - array describing the classes: each element can be either an arrival rate (for open classes) or a population (for closed ones), according to the class type
      classType - array of class types (open or closed)
      p - array of priorities of the classes.
      Returns:
      true if the operation has been completed with success
    • solve

      public void solve()
      Description copied from class: SolverMulti
      Must be implemented to create a multi class model solver.
      Specified by:
      solve in class SolverMulti
    • hasSufficientProcessingCapacity

      public boolean hasSufficientProcessingCapacity()
      Description copied from class: SolverMulti
      A system is said to have sufficient capacity to process a given load lambda if no service center is saturated as a result of the combined loads of all the classes.
      Must be implemented to create a multi class model solver.
      WARNING: This method should be called before solving the system.
      Specified by:
      hasSufficientProcessingCapacity in class SolverMulti
      Returns:
      true if sufficient capacity exists for the given workload, false otherwise
    • getOpUtilizationSums

      public double[] getOpUtilizationSums()
    • getOpUtilization

      public double[][] getOpUtilization()
    • getOpVisits

      public double[][] getOpVisits()
    • getClVisits

      public double[][] getClVisits()
    • getOpServTime

      public double[][][] getOpServTime()
    • getClServTime

      public double[][][] getClServTime()
    • getClResidenceTimes

      public double[][] getClResidenceTimes()
    • getClThroughput

      public double[] getClThroughput()
    • getOpPriorities

      public int[] getOpPriorities()
    • getClPriorities

      public int[] getClPriorities()
    • getQueueLengthMap

      public Map<MVAPopulation, double[][]> getQueueLengthMap()
    • getUtilizationMap

      public Map<MVAPopulation, double[][]> getUtilizationMap()
    • getOpArrivalRate

      public double[] getOpArrivalRate()
    • getNumOpenClasses

      public int getNumOpenClasses()
    • getNumClosedClasses

      public int getNumClosedClasses()