createSimulatedAnnealingSolver

fun createSimulatedAnnealingSolver(problemDefinition: ProblemDefinition, modelBuilder: ModelBuilderIfc, startingPoint: MutableMap<String, Double>? = null, temperatureConfiguration: TemperatureConfiguration = TemperatureConfiguration.AutoCalibrate(), coolingSchedule: CoolingScheduleIfc = ExponentialCoolingSchedule(defaultInitialTemperature), stoppingTemperature: Double = SimulatedAnnealing.defaultStoppingTemperature, maxIterations: Int = defaultMaxNumberIterations, replicationsPerEvaluation: Int = defaultReplicationsPerEvaluation, solutionCache: SolutionCacheIfc = MemorySolutionCache(), simulationRunCache: SimulationRunCacheIfc? = null, experimentRunParameters: ExperimentRunParametersIfc? = null, defaultKSLDatabaseObserverOption: Boolean = false): SimulatedAnnealing(source)

Creates a configured Simulated Annealing solver ready for execution.

This factory handles the instantiation of the underlying Evaluator and binds it to the SimulatedAnnealing algorithm. It also allows for the injection of a specific starting point and delegates initial temperature calculations to the provided TemperatureConfiguration.

Return

A fully configured SimulatedAnnealing solver instance.

Parameters

problemDefinition

The formal definition of the optimization problem (variables, constraints, objectives).

modelBuilder

The builder responsible for constructing the simulation model for evaluations.

startingPoint

Optional initial coordinates to start the optimization. If left null, the solver will automatically generate a random feasible starting point upon initialization.

temperatureConfiguration

Dictates whether the solver uses a statically defined temperature or autonomously calibrates its starting temperature via a random walk. Defaults to TemperatureConfiguration.AutoCalibrate.

coolingSchedule

The strategy for reducing the temperature over time. Defaults to an ExponentialCoolingSchedule.

stoppingTemperature

The temperature threshold at which the algorithm will terminate.

maxIterations

The maximum number of simulated annealing steps to perform.

replicationsPerEvaluation

The default number of simulation replications to run per point evaluation.

solutionCache

A cache to store evaluated solutions and prevent redundant simulation runs.

simulationRunCache

An optional cache for individual simulation replication data.

experimentRunParameters

Optional parameters defining the simulation run lengths, warmups, etc.

defaultKSLDatabaseObserverOption

If true, automatically attaches default database observers to the evaluator.