Class InterpolatedPrioMVAUtilCalculator

java.lang.Object
solvers.priority.prioMVACalculators.BasePrioMVAUtilCalculator
solvers.priority.prioMVACalculators.InterpolatedPrioMVAUtilCalculator
All Implemented Interfaces:
UtilizationCalculator
Direct Known Subclasses:
CL_YPrioMVAUtilCalculator, CL_ZPrioMVAUtilCalculator, CLPrioMVAUtilCalculator, NLI_LIPrioMVAUtilCalculator, NLI_YPrioMVAUtilCalculator, NLI_ZPrioMVAUtilCalculator, RNLI_LIPrioMVAUtilCalculator, RNLI_NCPrioMVAUtilCalculator, RNLI_YPrioMVAUtilCalculator, RNLI_ZPrioMVAUtilCalculator

public abstract class InterpolatedPrioMVAUtilCalculator extends BasePrioMVAUtilCalculator
Priority MVA utilization calculator based on interpolation.
  • Field Details

    • NO_CHANGE

      protected static final int NO_CHANGE
      y_2 can equal 0 (when the queue length rounds up to population of the class so N_class - x2 = 0 and the utilisation at 0 is 0) and in this situation, the following ints decide what should be done
      See Also:
    • RETURN_Y_ONE

      protected static final int RETURN_Y_ONE
      See Also:
    • RETURN_ZERO

      protected static final int RETURN_ZERO
      See Also:
    • LINEAR_INTERPOLATE

      protected static final int LINEAR_INTERPOLATE
      See Also:
  • Constructor Details

    • InterpolatedPrioMVAUtilCalculator

      protected InterpolatedPrioMVAUtilCalculator(Interpolator interpolator, int behaviourWhenZero)
  • Method Details

    • getNonEmptyClosedUtilisation

      public double getNonEmptyClosedUtilisation(MVAPopulation population, int numCustomers, int station, int clas)
      Specified by:
      getNonEmptyClosedUtilisation in class BasePrioMVAUtilCalculator
    • interpolateWhenYTwoIsZero

      public double interpolateWhenYTwoIsZero(double lowerQueueLength, double lowerUtil, double higherQueueLength, double higherUtil, double queueLength)