Class SolverMultiMixedRWA

java.lang.Object
solvers.SolverMulti
solvers.SolverMultiIterative
solvers.multiSolverAlgorithms.SolverMultiMixedRWA

public class SolverMultiMixedRWA extends SolverMultiIterative
Reduced Work Rate Approximation
  • Constructor Details

    • SolverMultiMixedRWA

      public SolverMultiMixedRWA(int classes, int stations, ReducedServiceTimeCalculator reducedServiceTimeCalculator)
      Parameters:
      classes - number of classes.
      stations - number of stations.
    • SolverMultiMixedRWA

      public SolverMultiMixedRWA(int classes, int stations)
  • Method Details

    • input

      public boolean input(String[] n, int[] t, double[][][] s, double[][] v, double[] classData, int[] classTypes, int[] p, double tolerance)
      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
      classTypes - array of class types (open or closed)
      p - array of priorities of the classes.
      tolerance - terminates if |last result - current result| < tolerance
      Returns:
      true if the operation has been completed with success
    • input

      public boolean input(String[] n, int[] t, double[][][] s, double[][] v, double[] classData, int[] classTypes, int[] p)
    • 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
    • getShadowStationStartIndex

      public int getShadowStationStartIndex(int stationIndex)
    • 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
    • getLastConvergenceCheckThroughput

      public double[][] getLastConvergenceCheckThroughput()
    • getServTime

      public double[][][] getServTime()
    • getConvertedServiceTimes

      public double[][][] getConvertedServiceTimes()
    • getStationTypes

      public int[] getStationTypes()
    • getClasses

      public int getClasses()
    • getNumPriorityStations

      public int getNumPriorityStations()
    • getPriorities

      public int[] getPriorities()
    • getStations

      public int getStations()
    • forceStop

      public void forceStop()