Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 3.02 KB

ANNEALING_SCHEDULE.md

File metadata and controls

46 lines (34 loc) · 3.02 KB

Annealing Schedule - Example

Dart

The library annealing_schedule includes functions with signature TemperatureSequence for generating linear, geometric, normal, exponential, and Lundy temperature sequences.

The annealing schedule show below (figure on the left, red line) consists of a monotonically decreasing exponential sequence with start value Tstart = 0.3673892633, end value Tend = 0.0000017939, and with 750 steps.

The simulated annealing temperature schedule can be specified via the Simulator parameter outerIterations and by setting the class variable temperatureSequence.

The green curve represents the first component of the perturbation magnitudes deltaPosition calculated by interpolated between deltaPositionMax = [2.0, 2.0, 2.0] and deltaPositionMin = [1e-6, 1e-6, 1e-6] using the function: deltaPosition(T) = a* T + b, where a = (deltaPositionMax - deltaPositionMin)/(Tstart - Tend) and b = deltaPositionMax - a*Tstart.

Annealing Schedule Temperature 3D

The perturbation magnitude deltaPosition specifies a region of the search space around the current solution position. From this region a random point is selected as the next potential solution.

SA is typically used to solve discrete optimization problems. However, the algorithm can be adapted to minimize continuous (multi-variate) functions by reducing the size of the perturbation magnitude, deltaPosition, during each (outer) SA iteration until the required solution precision is reached.

The right figure above shows the temperature during an SA process. In the example presented here, the search space is a sphere centred at the origin with radius 2. At high temperatures (red dots) deltaPosition approaches deltaPositionMax = [2.0, 2.0, 2.0] and the potential solutions are selected from the entire search space. As the temperature decreases (blue dots) deltaPosition approaches deltaPositionMin and, in this example, the solution converges towards the global minimum.

Features and bugs

Please file feature requests and bugs at the issue tracker.