MC1DIntegration

class MC1DIntegration(function: FunctionIfc, sampler: RVariableIfc, antitheticOption: Boolean = true) : MCExperiment

Provides for the integration of a 1-D function via Monte-Carlo sampling.

The evaluation will automatically utilize antithetic sampling to reduce the variance of the estimates unless the user specifies not to do so. In the case of using antithetic sampling, the micro replication sample size refers to the number of independent antithetic pairs observed. Thus, this will require two function evaluations for each micro replication. The user can consider the implication of the cost of function evaluation versus the variance reduction obtained. The default confidence level has been set to 99 percent.

Let f(x) be the probability distribution for the random variable supplied by the sampler. Let g(x) be the function that needs to be integrated. Let h(x) be a factorization of g(x) such that g(x) = h(x)*f(x), that is h(x) = g(x)/f(x)

The interval of integration is defined based on the domain of f(x).

Parameters

function

the representation of h(x), must not be null

sampler

the sampler over the interval, must not be null

antitheticOption

true represents use of antithetic sampling

Constructors

Link copied to clipboard
constructor(function: FunctionIfc, sampler: RVariableIfc, antitheticOption: Boolean = true)

Properties

Link copied to clipboard
open override var confidenceLevel: Double

the desired confidence level

Link copied to clipboard
open override var desiredHWErrorBound: Double

the desired half-width bound for the experiment

Link copied to clipboard
open override var initialSampleSize: Int

the initial sample size for pilot simulation

Link copied to clipboard
Link copied to clipboard
open override var maxSampleSize: Long

the maximum number of samples permitted

Link copied to clipboard
open override var microRepSampleSize: Int

the number of micro replications to perform

Link copied to clipboard
open override var printInitialOption: Boolean

Indicates if initial results are printed

Link copied to clipboard
open override var resetStreamOption: Boolean

determines whether the reset stream option is on (true) or off (false)

Functions

Link copied to clipboard
open override fun checkStoppingCriteria(): Boolean
Link copied to clipboard
open override fun estimateSampleSize(): Double
Link copied to clipboard
open override fun estimateSampleSizeForRelativeError(relativeError: Double): Double

See page 513 of Law & Kelton

Link copied to clipboard
open override fun replication(j: Int): Double

Runs the rth replication for a sequence of replications r = 1, 2, ... , getMicroRepSampleSize()

Link copied to clipboard
open override fun runInitialSample(printResultsOption: Boolean): Double

The purpose of the initial sample is to estimate the variability and determine an approximate number of additional samples needed to meet the desired absolute error. This method must ensure or assumes that no previous sampling has occurred. All statistical accumulators should be reset when this is executed.

Link copied to clipboard
fun runMacroReplications(numMacroReps: Int): Double

Runs numMacroReps macro replications of the micro replications. Does not check half-width or other stopping criteria. Uses the current setting of the number of micro replications per macro replication. Does not perform a pilot run to determine stopping criteria or number of samples to meet desired half-width. Requires 2 or more macro replications.

Link copied to clipboard
open override fun runSimulation(): Double
Link copied to clipboard
open override fun statistics(): Statistic
Link copied to clipboard
open override fun toString(): String