Class SolverMultiMixedPrioMVA
java.lang.Object
solvers.SolverMulti
solvers.multiSolverAlgorithms.SolverMultiMixedPrioMVA
Priority MVA solution algorithm of JMVA for mixed models with priority classes.
-
Field Summary
Fields inherited from class SolverMulti
classes, CLOSED_CLASS, clsNumJobs, clsRespTime, clsThroughput, DELAY, HOL, LD, LI, name, OPEN_CLASS, priorities, PRS, pw, queueLen, residenceTime, scQueueLen, scResidTime, scThroughput, scUtilization, servers, servTime, stations, sysNumJobs, sysResponseTime, sysThroughput, throughput, type, utilization, visits -
Constructor Summary
ConstructorsConstructorDescriptionSolverMultiMixedPrioMVA(int classes, int stations) Defaults to CL variation (The MVA Priority Approximation)SolverMultiMixedPrioMVA(int classes, int stations, PerformanceValuePerStationPerClassCalculator closedResidenceCalculator, ThroughputCalculator throughputCalculator, QueueLengthCalculator closedQueueLengthCalculator, PerformanceValuePerStationCalculator openQueueLengthCalculator, boolean highestPriorityToLowestPriority) SolverMultiMixedPrioMVA(int classes, int stations, UtilizationCalculator utilCalculator) -
Method Summary
Modifier and TypeMethodDescriptionint[]double[][]double[][][]double[]double[][]intintdouble[]int[]double[][][]double[][]double[]double[][]Map<MVAPopulation, double[][]> Map<MVAPopulation, double[][]> booleanA system is said to have sufficient capacity to process a given loadlambdaif no service center is saturated as a result of the combined loads of all the classes.booleaninput(String[] n, int[] t, double[][][] s, double[][] v, double[] classData, int[] classType, int[] p) initializes the solver with the system parameters.voidsolve()Must be implemented to create a multi class model solver.Methods inherited from class SolverMulti
getAggrQueueLen, getAggrQueueLen, getAggrResTime, getAggrResTime, getAggrThroughput, getAggrThroughput, getAggrUtilization, getAggrUtilization, getClsResTime, getClsResTime, getClsThroughput, getClsThroughput, getQueueLen, getQueueLen, getResTime, getResTime, getThroughput, getThroughput, getTotResTime, getTotThroughput, getUtilization, getUtilization, getVisits, input, input, printIndices, setServTime, toString
-
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
- 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 typeclassType- 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:SolverMultiMust be implemented to create a multi class model solver.- Specified by:
solvein classSolverMulti
-
hasSufficientProcessingCapacity
public boolean hasSufficientProcessingCapacity()Description copied from class:SolverMultiA system is said to have sufficient capacity to process a given loadlambdaif 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:
hasSufficientProcessingCapacityin classSolverMulti- 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
-
getUtilizationMap
-
getOpArrivalRate
public double[] getOpArrivalRate() -
getNumOpenClasses
public int getNumOpenClasses() -
getNumClosedClasses
public int getNumClosedClasses()
-