CrossEntropy

@Serializable
@SerialName(value = "crossEntropy")
data class CrossEntropy(val startingPoint: Map<String, Double>? = null, val maxIterations: Int, val randomRestart: RandomRestartSpec? = null, val streamNum: Int = 0, val name: String? = null, val replicationsPerEvaluation: Int, val sampler: CESamplerSpec = CESamplerSpec.Normal(), val elitePct: Double? = null, val ceSampleSize: Int? = null) : SolverSpec(source)

Cross-Entropy. Mirrors ksl.simopt.solvers.algorithms.CrossEntropySolver.

elitePct and ceSampleSize use null to mean "let the solver pick its built-in default" so persisted documents do not bake in the current default values. Non-null values override the defaults when the factory builds the solver.

Constructors

Link copied to clipboard
constructor(startingPoint: Map<String, Double>? = null, maxIterations: Int, randomRestart: RandomRestartSpec? = null, streamNum: Int = 0, name: String? = null, replicationsPerEvaluation: Int, sampler: CESamplerSpec = CESamplerSpec.Normal(), elitePct: Double? = null, ceSampleSize: Int? = null)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val maxIterations: Int

Maximum number of main-loop iterations the solver is permitted to run; must be positive when validated.

Link copied to clipboard
open override val name: String?

Optional human-readable solver instance name.

Link copied to clipboard
open override val randomRestart: RandomRestartSpec?

Optional random-restart wrapper. When non-null the solver factory wraps the chosen algorithm in a ksl.simopt.solvers.algorithms.RandomRestartSolver.

Link copied to clipboard
Link copied to clipboard
open override val startingPoint: Map<String, Double>?

Optional starting point for the search, keyed by decision-variable name. When null, the solver chooses its own starting point.

Link copied to clipboard
open override val streamNum: Int

Random-number stream number used to seed the solver's stochastic decisions. 0 means "next available stream".