Class SolverMultiClosedMVA

java.lang.Object
solvers.SolverMulti
solvers.multiSolverAlgorithms.SolverMultiClosedMVA

public class SolverMultiClosedMVA extends SolverMulti
Solves a multiclass closed model with the exact MVA (Mean Value Analysis) algorithm [RL80]. The implemented version is the stabilized MVA [BBC+81], which avoids the numerical instabilities of the classic MVA when the model contains load dependent stations, as described in the JMVA chapter of the JMT user manual.
Author:
Federico Granata, Stefano Omini
  • Field Details

  • Constructor Details

    • SolverMultiClosedMVA

      public SolverMultiClosedMVA(int classes, int stations)
      Creates new SolverMultiClosedMVA
      Parameters:
      classes - number of classes
      stations - number of service centers
  • Method Details

    • input

      public boolean input(String[] n, int[] t, double[][][] s, double[][] v, int[] pop)
      initializes the Multi class solver with the system parameters.
      Overrides:
      input in class SolverMulti
      Parameters:
      n - array of names of the service centers.
      t - array of types (LD or LI) of the service centers.
      s - matrix of service time of the service centers.
      v - matrix of visits to the service centers.
      pop - array of populations of each class
      Returns:
      true if the operation is completed with success
    • hasSufficientProcessingCapacity

      public boolean hasSufficientProcessingCapacity()
      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
    • solve

      public void solve()
      Solves the model
      "input(...)" method must have been called before solving the model!!

      Specified by:
      solve in class SolverMulti
    • toString

      public String toString()
      generates a string with all the calculated indices.
      Overrides:
      toString in class SolverMulti
      Returns:
      the string
    • pprod

      public static int[] pprod(int[] N)
    • pprod

      public static boolean pprod(int[] n, int[] N)
    • main

      public static void main(String[] args)