public class CoolingScheduleHyperbolic extends java.lang.Object implements CoolingSchedule
The CoolingScheduleHyperbolic
is a CoolingSchedule
for the
SimulatedAnnealing
.
tn - final temperature
t0 - initial temperature
i - current iteration
n - maximal number of iterations
a - alpha value
The current temperature is calculated by t0 * (tn / t0)^(i/n)
.
Modifier and Type | Field and Description |
---|---|
protected double |
t0 |
protected double |
tn |
Constructor and Description |
---|
CoolingScheduleHyperbolic(double t0,
double tn)
Constructs a new
CoolingScheduleHyperbolic . |
Modifier and Type | Method and Description |
---|---|
double |
getTemperature(int i,
int n)
Returns the temperature for the iteration
i of the maximal number
of iterations n . |
@Inject public CoolingScheduleHyperbolic(double t0, double tn)
CoolingScheduleHyperbolic
.t0
- the initial temperature (using namespace
CoolingSchedule
)tn
- the final temperature (using namespace CoolingSchedule
)public double getTemperature(int i, int n)
CoolingSchedule
i
of the maximal number
of iterations n
.getTemperature
in interface CoolingSchedule
i
- the current iterationn
- the maximal number of iterations