ExponentialCoolingSchedule

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.

Parameters

initialTemperature

The starting temperature for the cooling schedule. Must be positive.

coolingRate

The rate at which the temperature decreases in each iteration. Defaults to 0.95. Must be a value between 0.0 (exclusive) and 1.0 (exclusive).

Throws

if the cooling rate is not between 0.0 and 1.0, or if the initial temperature is not positive.

Constructors

Link copied to clipboard
constructor(initialTemperature: Double, coolingRate: Double = defaultCoolingRate)

Creates an exponential cooling schedule with the provided initial temperature and cooling rate.

Properties

Link copied to clipboard
Link copied to clipboard
open override var initialTemperature: Double

Functions

Link copied to clipboard
open override fun nextTemperature(iteration: Int): Double

Computes the next temperature value based on the given iteration. This method is typically used in optimization algorithms to manage the cooling schedule of a process.