Class SolverSingleClosedMVA
java.lang.Object
solvers.Solver
solvers.singleSolverAlgorithms.SolverSingleClosedMVA
Solves a single class 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.
- Author:
- Federico Granata, Stefano Omini
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intnumber of customers or jobs in the systemstatic final booleanprotected double[][]array containing the queue length for each population and for each service center
[population][service center]protected double[][]array containing the residence time for each population and for each service center (residence time = time spent in queue + time spent in service)
[population][service center]protected double[][]array containing the throughput for each population and for each service center
[population][service center]protected double[]total response time for each populationprotected double[]total throughput for each populationprotected double[]total number of users for each populationprotected double[][]array containing the utilization for each population and for each service center
[population][service center]protected booleanTells whether intermediate results have been computed or notFields inherited from class Solver
DELAY, HOL, LD, LI, name, PRS, queueLen, residenceTime, servTime, stations, throughput, totRespTime, totThroughput, totUser, type, utilization, visits -
Constructor Summary
ConstructorsConstructorDescriptionSolverSingleClosedMVA(int cust, int stat) Creates a new instance of SolverSingleClosedMVA -
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 such a load.booleanInitializes the solver with the system parameters.voidsolve()Solves a single class closed model using MVA algorithm.
"input(...)" method must have been called before solving the model!!
Reference:
G.Balbo, S.C.Bruell, L.Cerchio, D.Chiaberto, L.Molinatti
"Mean Value Analysis of Closed Load Dependent Networks"
voidsolve(boolean intermediate) Solves a single class closed model using MVA algorithm.
"input(...)" method must have been called before solving the model!!
To solve a closed model with N customers, all the models with 0, 1, 2, ...toString()generates a string with all the calculated indices.Methods inherited from class Solver
getQueueLen, getQueueLen, getResTime, getResTime, getThroughput, getThroughput, getTotResTime, getTotThroughput, getTotUser, getUtilization, getUtilization, printIndices
-
Field Details
-
DEBUG
public static final boolean DEBUG- See Also:
-
customers
protected int customersnumber of customers or jobs in the system -
intermediate_results
protected boolean intermediate_resultsTells whether intermediate results have been computed or not -
interm_throughput
protected double[][] interm_throughputarray containing the throughput for each population and for each service center
[population][service center] -
interm_utilization
protected double[][] interm_utilizationarray containing the utilization for each population and for each service center
[population][service center] -
interm_queueLen
protected double[][] interm_queueLenarray containing the queue length for each population and for each service center
[population][service center] -
interm_residenceTime
protected double[][] interm_residenceTimearray containing the residence time for each population and for each service center (residence time = time spent in queue + time spent in service)
[population][service center] -
interm_totThroughput
protected double[] interm_totThroughputtotal throughput for each population -
interm_totRespTime
protected double[] interm_totRespTimetotal response time for each population -
interm_totUser
protected double[] interm_totUsertotal number of users for each population
-
-
Constructor Details
-
SolverSingleClosedMVA
public SolverSingleClosedMVA(int cust, int stat) Creates a new instance of SolverSingleClosedMVA- Parameters:
cust- number of customersstat- number of stations
-
-
Method Details
-
input
Initializes the solver with the system parameters. It must be called before trying to solve the model.
WARNING: This method changes the order of the stations (LI and DELAY before, LD after): the original order is restored only after calling the "solve" method (so if you solve the model, you do not need to reorder results, they are reordered by the "solve" method itself; otherwise, if you do not solve the model after calling "input" method, you may have some problems). -
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 such a load.
WARNING: This method should be called before solving the system.- Specified by:
hasSufficientProcessingCapacityin classSolver- Returns:
- true if sufficient capacity exists for the given workload, false otherwise
-
solve
public void solve()Solves a single class closed model using MVA algorithm.
"input(...)" method must have been called before solving the model!!
Reference:
G.Balbo, S.C.Bruell, L.Cerchio, D.Chiaberto, L.Molinatti
"Mean Value Analysis of Closed Load Dependent Networks"
-
solve
public void solve(boolean intermediate) Solves a single class closed model using MVA algorithm.
"input(...)" method must have been called before solving the model!!
To solve a closed model with N customers, all the models with 0, 1, 2, ... N-1 customers must be solved before. This method allows to save the results for these intermediate models. Reference:
G.Balbo, S.C.Bruell, L.Cerchio, D.Chiaberto, L.Molinatti
"Mean Value Analysis of Closed Load Dependent Networks"
- Parameters:
intermediate- true to save results for intermediate populations
-
toString
-