Class SolverMultiMixedRWA
java.lang.Object
solvers.SolverMulti
solvers.SolverMultiIterative
solvers.multiSolverAlgorithms.SolverMultiMixedRWA
Reduced Work Rate Approximation
-
Field Summary
Fields inherited from class SolverMultiIterative
DEFAULT_TOLERANCE, iterations, MAX_ITERATIONS, toleranceFields 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
ConstructorsConstructorDescriptionSolverMultiMixedRWA(int classes, int stations) SolverMultiMixedRWA(int classes, int stations, ReducedServiceTimeCalculator reducedServiceTimeCalculator) -
Method Summary
Modifier and TypeMethodDescriptionvoidintdouble[][][]double[][]intint[]double[][][]intgetShadowStationStartIndex(int stationIndex) intint[]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[] classTypes, int[] p) booleaninput(String[] n, int[] t, double[][][] s, double[][] v, double[] classData, int[] classTypes, int[] p, double tolerance) initializes the solver with the system parameters.voidsolve()Must be implemented to create a multi class model solver.Methods inherited from class SolverMultiIterative
getIterations, setMaxIterations, setToleranceMethods 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
-
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 typeclassTypes- 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:SolverMultiMust be implemented to create a multi class model solver.- Specified by:
solvein classSolverMulti
-
getShadowStationStartIndex
public int getShadowStationStartIndex(int stationIndex) -
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
-
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()
-