Package-level declarations

Types

Link copied to clipboard
abstract class CoolingSchedule(initialTemperature: Double) : CoolingScheduleIfc

Abstract base class for defining cooling schedules in optimization algorithms like simulated annealing. A cooling schedule manages the temperature reduction process as the algorithm iterates.

Link copied to clipboard

Defines the interface for a cooling schedule used in optimization algorithms such as simulated annealing. A cooling schedule is responsible for managing the temperature reduction process as the algorithm iterates.

Link copied to clipboard
class ExponentialCoolingSchedule(initialTemperature: Double, val coolingRate: Double = defaultCoolingRate) : CoolingSchedule

Represents a cooling schedule where the temperature decreases exponentially at each iteration according to a specified cooling rate.

Link copied to clipboard
class LinearCoolingSchedule(initialTemperature: Double = defaultInitialTemperature, val stoppingTemperature: Double = defaultStoppingTemperature, val maxIterations: Int = defaultMaxNumberIterations) : CoolingSchedule

Represents a linear cooling schedule used in optimization algorithms like simulated annealing. The temperature decreases linearly with each iteration based on the specified parameters.

Link copied to clipboard

Implements a logarithmic cooling schedule for optimization algorithms such as simulated annealing. The temperature decreases proportionally to the inverse of the natural logarithm of the iteration number.

Link copied to clipboard
class SimulatedAnnealing(evaluator: EvaluatorIfc, initialTemperature: Double = defaultInitialTemperature, var coolingSchedule: CoolingScheduleIfc = ExponentialCoolingSchedule(initialTemperature), stoppingTemperature: Double = defaultStoppingTemperature, maxIterations: Int = defaultMaxNumberIterations, var replicationsPerEvaluation: ReplicationPerEvaluationIfc, streamNum: Int = 0, val streamProvider: RNStreamProviderIfc = KSLRandom.DefaultRNStreamProvider, name: String? = null) : StochasticSolver

A class that implements the simulated annealing optimization algorithm for solving stochastic or deterministic problems. Simulated annealing is an iterative optimization method inspired by the physical process of annealing in metallurgy. It uses a probabilistic approach to escape local optima by accepting worse solutions with a certain probability, which decreases over time according to a cooling schedule.

Link copied to clipboard
open class StochasticHillClimber(evaluator: EvaluatorIfc, maxIterations: Int = defaultMaxNumberIterations, var replicationsPerEvaluation: ReplicationPerEvaluationIfc, streamNum: Int = 0, val streamProvider: RNStreamProviderIfc = KSLRandom.DefaultRNStreamProvider, name: String? = null) : StochasticSolver

A class that implements the Stochastic Hill Climbing optimization algorithm. This algorithm searches for an optimal solution by iteratively evaluating and moving to neighborhood solutions, as determined by the evaluator and the problem definition. It uses a stochastic approach to explore the solution space by leveraging a random number stream.

Link copied to clipboard
abstract class StochasticSolver(evaluator: EvaluatorIfc, maxIterations: Int, var replicationsPerEvaluation: ReplicationPerEvaluationIfc, streamNum: Int = 0, val streamProvider: RNStreamProviderIfc = KSLRandom.DefaultRNStreamProvider, name: String? = null) : Solver, RNStreamControlIfc

Represents an abstract base class for stochastic solvers. This class provides foundational functionality for solvers that utilize randomness during their optimization process.