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 = SimulatedAnnealing.saDefaultMaxIterations, replicationsPerEvaluation: Int = defaultReplicationsPerEvaluation, solutionCache: SolutionCacheIfc = MemorySolutionCache(), simulationRunCache: SimulationRunCacheIfc? = null, experimentRunParameters: ExperimentRunParametersIfc? = null, streamNum: Int = 0, streamProvider: RNStreamProviderIfc = RNStreamProvider(), name: String? = null, parallelOptions: ParallelEvaluationOptions = ParallelEvaluationOptions(), concurrentRestarts: Int = 1, concurrentOptions: ConcurrentRunOptions = ConcurrentRunOptions()): 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.

streamNum

the random number stream number for the outer random-restart driver; 0 (the default) means the next available stream

streamProvider

the provider of random number streams for the outer driver; defaults to a fresh RNStreamProvider

parallelOptions

selects and configures parallel evaluation of multi-point requests; mutually exclusive with concurrentRestarts greater than 1

concurrentRestarts

the number of restarts allowed to run at the same time, each on its own worker with private evaluation resources (and its own copy of the cooling schedule); 1 (the default) preserves the sequential behavior

concurrentOptions

stream-block size and optional confirmation stage for concurrent restarts