ParallelDesignedExperiment

constructor(name: String, modelBuilder: ModelBuilderIfc, factorSettings: Map<Factor, String>, design: ExperimentalDesignIfc, modelConfiguration: Map<String, String>? = null, pathToOutputDirectory: Path = KSL.createSubDirectory(name.replace(" ", "_") + "_OutputDir"), kslDb: KSLDatabase = KSLDatabase("${name}.db".replace(" ", "_"), pathToOutputDirectory), experimentName: String? = null, useDesignPointOutputDirs: Boolean = true, lengthOfReplication: Double? = null, lengthOfReplicationWarmUp: Double? = null)(source)

Parameters

experimentName

Optional override for the base experiment name used to derive per-design-point experiment names ("DP") and the matching output-directory names. When null (the default), the base name comes from the template model's auto-generated Experiment_<counter> identity — which is JVM-counter-driven and changes between runs. Callers that want deterministic, human-readable per- point names (e.g. the Experiment app: anchored to the analysis name) should pass an explicit value. Persists to EXPERIMENT.exp_name in the KSL database, so the column values match the on-disk folder / file names.

useDesignPointOutputDirs

When true (the default, preserving the original behaviour), every design point gets its own subdirectory under pathToOutputDirectory named <experimentName>_DP_<n>_OutputDir; each subdir contains that point's kslOutput.txt (and any per-point CSV / plot artifacts the model writes). When false, every per-point model writes directly into pathToOutputDirectory and the diagnostic log uses a point-distinguished filename (kslOutput_DP_<n>.txt) so concurrent writers don't clash and re-runs overwrite cleanly. False is the right default for callers that rely on the kslDb for per-point results.


constructor(name: String, modelBuilder: ModelBuilderIfc, twoLevelSettings: Map<TwoLevelFactor, String>, design: TwoLevelFactorialDesign, modelConfiguration: Map<String, String>? = null, pathToOutputDirectory: Path = KSL.createSubDirectory(name.replace(" ", "_") + "_OutputDir"), kslDb: KSLDatabase = KSLDatabase("${name}.db".replace(" ", "_"), pathToOutputDirectory))(source)

Convenience constructor for two-level factor setting maps.


constructor(name: String, modelCreator: () -> Model, factorSettings: Map<Factor, String>, design: ExperimentalDesignIfc, modelConfiguration: Map<String, String>? = null, pathToOutputDirectory: Path = KSL.createSubDirectory(name.replace(" ", "_") + "_OutputDir"), kslDb: KSLDatabase = KSLDatabase("${name}.db".replace(" ", "_"), pathToOutputDirectory))(source)

Convenience constructor for a function that creates a fresh model.