Package-level declarations

Types

Link copied to clipboard

Human-friendly discriminator for the four algorithms exposed by the SolverSpec sealed type. Each constant maps 1-to-1 to a SolverSpec variant; the displayName is the string a UI shell shows in pickers, reports, and summaries.

Link copied to clipboard
@Serializable
sealed class CESamplerSpec

Cross-entropy sampler selection.

Link copied to clipboard
@Serializable
sealed class CoolingScheduleSpec

Cooling-schedule selection for a simulated-annealing solver.

Link copied to clipboard
@Serializable
data class EvaluationSpec(val useSolutionCache: Boolean = true, val useSimulationRunCache: Boolean = false, val snapshotFrequency: Int = 1, val ensureProblemFeasibleRequests: Boolean = false, val maxFeasibleSamplingIterations: Int? = null, val solutionPrecision: Double? = null, val parallelEvaluation: Boolean = false, val numEvaluationWorkers: Int? = null)

Cross-cutting evaluator/solver settings that are not specific to one algorithm.

Link copied to clipboard
@Serializable
enum InequalityType : Enum<InequalityType>
Link copied to clipboard
@Serializable
data class LinearConstraintSpec(val coefficients: Map<String, Double>, val rhsValue: Double = 0.0, val inequalityType: InequalityType = InequalityType.LESS_THAN, val penaltyFunction: PenaltyFunctionSpec? = null)
Link copied to clipboard
@Serializable
data class OptimizationInputSpec(val name: String, val lowerBound: Double, val upperBound: Double, val granularity: Double = 0.0)
Link copied to clipboard
@Serializable
data class OptimizationOutputConfig(val analysisName: String = "Untitled", val outputDirectory: String? = null)

Document-wide output settings for a simulation-optimization run.

Link copied to clipboard
@Serializable
data class OptimizationProblemSpec(val problemName: String? = null, val modelIdentifier: String? = null, val objectiveResponseName: String, val inputs: List<OptimizationInputSpec>, val responseNames: List<String> = emptyList(), val optimizationType: OptimizationType = OptimizationType.MINIMIZE, val indifferenceZoneParameter: Double = 0.0, val objectiveGranularity: Double = 0.0, val linearConstraints: List<LinearConstraintSpec> = emptyList(), val responseConstraints: List<ResponseConstraintSpec> = emptyList(), val defaultLinearPenalty: PenaltyFunctionSpec = PenaltyFunctionSpec.DynamicPolynomial(), val defaultResponsePenalty: PenaltyFunctionSpec = PenaltyFunctionSpec.WithMemory())

Serializable counterpart to a ksl.simopt.problem.ProblemDefinition.

Link copied to clipboard
@Serializable
data class OptimizationRunConfiguration(val output: OptimizationOutputConfig = OptimizationOutputConfig(), val model: ModelRunTemplate, val problem: OptimizationProblemSpec? = null, val solver: SolverSpec? = null, val evaluation: EvaluationSpec = EvaluationSpec(), val tracking: SolverTrackingSpec = SolverTrackingSpec())

Top-level persistable directive for a simulation-optimization run.

Link copied to clipboard

Builds a runnable Solver from an OptimizationRunConfiguration.

Link copied to clipboard
Link copied to clipboard
@Serializable
sealed class PenaltyFunctionSpec

Serializable selection of a penalty function used by an optimization problem to penalize constraint violations.

Link copied to clipboard
@Serializable
data class RandomRestartSpec(val maxNumRestarts: Int)

Optional random-restart wrapper for any SolverSpec variant.

Link copied to clipboard
@Serializable
data class ResponseConstraintSpec(val name: String, val rhsValue: Double, val inequalityType: InequalityType = InequalityType.LESS_THAN, val target: Double = 0.0, val tolerance: Double = 0.0, val penaltyFunction: PenaltyFunctionSpec? = null)
Link copied to clipboard
@Serializable
sealed class SolverSpec

Serializable selection of a simulation-optimization solver and its algorithm-specific parameters.

Link copied to clipboard

Handle to every tracker attached to a single solver run.

Link copied to clipboard
@Serializable
data class SolverTrackingSpec(val enableCsvTrace: Boolean = false, val csvFileName: String? = null, val enableConsoleTrace: Boolean = false, val experimentLabel: String = "Run1")

Optional CSV / console trace settings for a simulation-optimization run.

Link copied to clipboard
@Serializable
sealed class TemperatureSpec

Strategy for choosing the initial temperature of a simulated-annealing solver.

Functions

Link copied to clipboard
fun SolverTrackingSpec.attachTo(solver: Solver, optimizationDir: Path, defaultFileName: () -> String): SolverTrackerHandles

Attach every tracker requested by this SolverTrackingSpec to solver.