createRandomRestartSimulatedAnnealingSolver

fun createRandomRestartSimulatedAnnealingSolver(problemDefinition: ProblemDefinition, modelBuilder: ModelBuilderIfc, maxNumRestarts: Int = defaultMaxRestarts, 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): RandomRestartSolver(source)

Creates a Random Restart solver that utilizes Simulated Annealing for its inner optimization phases.

  • Architecture Note on Auto-Calibration: If temperatureConfiguration is set to TemperatureConfiguration.AutoCalibrate, the inner SA solver will dynamically recalculate a new starting temperature at the beginning of every single restart. This ensures the initial temperature is perfectly tuned to the local landscape of each new random starting point.

Return

A RandomRestartSolver wrapping a dynamically configuring SimulatedAnnealing inner solver.

Parameters

problemDefinition

The formal definition of the optimization problem.

modelBuilder

The builder responsible for constructing the simulation model.

maxNumRestarts

The total number of macro-iterations (restarts) the outer solver should perform.

startingPoint

An optional MutableMap specifying the starting coordinates for the first restart. All subsequent restarts will automatically generate random feasible starting points.

temperatureConfiguration

The temperature strategy applied to each inner SA run. Defaults to AutoCalibrate.

coolingSchedule

The cooling strategy applied to each inner SA run.

stoppingTemperature

The stopping threshold for each inner SA run.

maxIterations

The maximum number of SA steps per restart.

replicationsPerEvaluation

The default number of simulation replications to run per evaluation.

solutionCache

A cache to store evaluated solutions across all restarts.

simulationRunCache

An optional cache for individual simulation replication data.

experimentRunParameters

Optional parameters defining the simulation run properties.

defaultKSLDatabaseObserverOption

If true, automatically attaches default database observers.