ExperimentRunParameters

@Serializable
data class ExperimentRunParameters(var experimentName: String, val experimentId: Int, var numberOfReplications: Int, var numChunks: Int, var runName: String, var startingRepId: Int, var lengthOfReplication: Double, var lengthOfReplicationWarmUp: Double, var replicationInitializationOption: Boolean, var maximumAllowedExecutionTimePerReplication: Duration, var resetStartStreamOption: Boolean, var advanceNextSubStreamOption: Boolean, var antitheticOption: Boolean, var numberOfStreamAdvancesPriorToRunning: Int, var garbageCollectAfterReplicationFlag: Boolean) : ExperimentRunParametersIfc

Holds data about the run parameters of a simulation experiment.

Constructors

Link copied to clipboard
constructor(experimentName: String, experimentId: Int, numberOfReplications: Int, numChunks: Int, runName: String, startingRepId: Int, lengthOfReplication: Double, lengthOfReplicationWarmUp: Double, replicationInitializationOption: Boolean, maximumAllowedExecutionTimePerReplication: Duration, resetStartStreamOption: Boolean, advanceNextSubStreamOption: Boolean, antitheticOption: Boolean, numberOfStreamAdvancesPriorToRunning: Int, garbageCollectAfterReplicationFlag: Boolean)

Properties

Link copied to clipboard

The reset next sub stream option This option indicates whether the random variables used during the replication within the experiment will be reset to their next sub-stream after running each replication. The default is TRUE. This ensures that the random variables will jump to the next sub-stream within their current stream at the end of a replication. This will cause the random variables in each subsequent replication to start in the same sub-stream in the underlying random number streams if the replication is repeatedly used and the ResetStartStreamOption is set to false (which is the default) and then jump to the next sub-stream (if this option is on). This option has no effect if there is only 1 replication in an experiment.

Link copied to clipboard
open override var antitheticOption: Boolean

Indicates whether antithetic replications should be run. The default is false. If set the user must supply an even number of replications; otherwise an exception will be thrown. The replications will no longer be independent; however, pairs of replications will be independent. Thus, the number of independent samples will be one-half of the specified number of replications

Link copied to clipboard
open override val experimentId: Int

The identity of the experiment

Link copied to clipboard
open override var experimentName: String

The name of the experiment

Link copied to clipboard

Causes garbage collection System.gc() to be invoked after each replication. The default is false

Link copied to clipboard
open override var lengthOfReplication: Double

The specified length of each planned replication for this experiment. The default is Double.POSITIVE_INFINITY.

Link copied to clipboard

The length of time from the start of an individual replication to the warm-up event for that replication.

The maximum allowable execution time "wall" clock time for an individual replication to complete processing in nanoseconds. Set the maximum allotted (suggested) execution (real) clock for a replication. This is a proposed value because the execution time requirement is only checked after the completion of each replication After it is discovered that cumulative time for executing the replication has exceeded the maximum time, then the process will be ended (perhaps) not completing other replications.

Link copied to clipboard
open override var numberOfReplications: Int

The number of replications to run for this experiment

Link copied to clipboard

Indicates the number of times the streams should be advanced prior to running the experiment

Link copied to clipboard
open override var numChunks: Int

Indicates if the replications associated with this experiment are part of set of experiments with the same name. A chunk is an ordered subset of replications for an experiment. This field indicates the number of chunks within the experiment. There should be at least 1 chunk. If there is 1 chunk then all replications of the experiment are run as one chunk (simulation run)

Link copied to clipboard

A flag to indicate whether each replication within the experiment should be re-initialized at the beginning of each replication. True means that it will be re-initialized.

Link copied to clipboard
open override var resetStartStreamOption: Boolean

The reset start stream option This option indicates whether the random variables used during the experiment will be reset to their starting stream prior to running the first replication. The default is FALSE. This ensures that the random variable's streams WILL NOT be reset prior to running the experiment. This will cause different experiments or the same experiment run multiple times that use the same random variables (via the same model) to continue within their current stream. Therefore, the experiments will be independent when invoked within the same program execution. To get common random number (CRN), run the experiments in different program executions OR set this option to true prior to running the experiment again within the same program invocation.

Link copied to clipboard
open override var runName: String

An optional label for the chunk

Link copied to clipboard
open override var startingRepId: Int

The starting id for the sequence of identifiers used to label the replications of the experiment

Functions

Link copied to clipboard
fun toJson(): String
Link copied to clipboard
open override fun toString(): String