Class LogisticCore
java.lang.Object
solvers.queueingnet.montecarloLogistic.solver.LogisticCore
- Direct Known Subclasses:
LogisticCoreAdd, LogisticCoreMult
Implements the core Logistic Sampling algorithm by calling the required
stationary point calculations, Hessian calculations, and the correct
integration scheme for solution of the model, to calculate the NC.
See Ong 2018.
Subclassed by the additive and multiplicative core, which are responsible
for choosing the correct logistic functions for use by the core algorithm
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected cern.colt.matrix.linalg.Algebraprotected cern.colt.matrix.DoubleMatrix2Dprotected cern.colt.matrix.DoubleMatrix1Dprotected cern.colt.matrix.DoubleMatrix2Dprotected doubleprotected LogisticFunctionBaseprotected booleanprotected booleanprotected cern.colt.matrix.DoubleMatrix2Dprotected booleanprotected intprotected MathContextprotected MCIntegratorprotected intprotected cern.colt.matrix.DoubleMatrix1Dprotected intprotected cern.colt.matrix.DoubleMatrix1Dprotected doubleprotected cern.colt.matrix.DoubleMatrix1Dprotected boolean -
Constructor Summary
ConstructorsConstructorDescriptionLogisticCore(double[][] demands, int[] serv, double[] delays, int[] population, double epsilon, int max_samples, MathContext mc, int nthreads) -
Method Summary
Modifier and TypeMethodDescriptionCalculate the NC, and multiply by the appropriate coefficients.double[][]double[][]Get Hessiandouble[]double[]protected abstract LogisticFunctionBaseboolean
-
Field Details
-
demands
protected cern.colt.matrix.DoubleMatrix2D demands -
delays
protected cern.colt.matrix.DoubleMatrix1D delays -
has_delay
protected boolean has_delay -
has_multi
protected boolean has_multi -
sigma
protected double sigma -
pop
protected cern.colt.matrix.DoubleMatrix1D pop -
serv
protected cern.colt.matrix.DoubleMatrix1D serv -
N
protected int N -
K
protected int K -
R
protected int R -
epsilon
protected double epsilon -
x_stat
protected cern.colt.matrix.DoubleMatrix1D x_stat -
hess
protected cern.colt.matrix.DoubleMatrix2D hess -
cov
protected cern.colt.matrix.DoubleMatrix2D cov -
invalid_model
protected boolean invalid_model -
zero_population
protected boolean zero_population -
A
protected cern.colt.matrix.linalg.Algebra A -
MCI
-
F
-
MC
-
-
Constructor Details
-
LogisticCore
public LogisticCore(double[][] demands, int[] serv, double[] delays, int[] population, double epsilon, int max_samples, MathContext mc, int nthreads) throws InternalErrorException - Throws:
InternalErrorException
-
-
Method Details
-
initialize_logistic_function
protected abstract LogisticFunctionBase initialize_logistic_function() throws InternalErrorException- Throws:
InternalErrorException
-
calculateNC
Calculate the NC, and multiply by the appropriate coefficients. Details see Casale 2017 and Ong 2018- Returns:
- The Normalising constant in BigDecimal form
- Throws:
InternalErrorException
-
getHessian
public double[][] getHessian()Get Hessian- Returns:
-
getCovariance
public double[][] getCovariance() -
getStationaryPoint
public double[] getStationaryPoint() -
getStationaryPointSimplex
public double[] getStationaryPointSimplex() -
is_invalid_model
public boolean is_invalid_model()
-