- All Known Implementing Classes:
ExponentialCoolDown
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public interface CoolDownControl<M extends Move<S,I>,S extends Solution<S,I>,I extends Instance>
Specify how the temperature changes in each simulated annealing iteration.
Given current iteration and temperature set next iteration temperature.
It is recommended to use a lambda expression instead of extending this interface directly.
-
Method Summary
-
Method Details
-
coolDown
double coolDown(S solution, Neighborhood<M, S, I> neighborhood, double currentTemperature, int iteration) Set temperature for the next iteration of simulated annealing- Parameters:
solution
- current best solutionneighborhood
- neighborhood used in the SAcurrentTemperature
- current temperature (before cooldown)iteration
- current iteration- Returns:
- new temperature
-