Class SolverMultiClosedMVA
java.lang.Object
solvers.SolverMulti
solvers.multiSolverAlgorithms.SolverMultiClosedMVA
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 Summary
FieldsFields 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
ConstructorsConstructorDescriptionSolverMultiClosedMVA(int classes, int stations) Creates new SolverMultiClosedMVA -
Method Summary
Modifier and TypeMethodDescriptionbooleanA 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.booleaninitializes the Multi class solver with the system parameters.static voidstatic int[]pprod(int[] N) static booleanpprod(int[] n, int[] N) voidsolve()Solves the model
"input(...)" method must have been called before solving the model!!toString()generates a string with all the calculated indices.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, printIndices, setServTime
-
Field Details
-
DEBUG
public final boolean DEBUG- See Also:
-
-
Constructor Details
-
SolverMultiClosedMVA
public SolverMultiClosedMVA(int classes, int stations) Creates new SolverMultiClosedMVA- Parameters:
classes- number of classesstations- number of service centers
-
-
Method Details
-
input
initializes the Multi class solver with the system parameters.- Overrides:
inputin classSolverMulti- 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 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
-
solve
public void solve()Solves the model
"input(...)" method must have been called before solving the model!!- Specified by:
solvein classSolverMulti
-
toString
generates a string with all the calculated indices.- Overrides:
toStringin classSolverMulti- Returns:
- the string
-
pprod
public static int[] pprod(int[] N) -
pprod
public static boolean pprod(int[] n, int[] N) -
main
-