Package org.opt4j.optimizer.sa
Class CoolingScheduleHyperbolic
java.lang.Object
org.opt4j.optimizer.sa.CoolingScheduleHyperbolic
- All Implemented Interfaces:
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)
.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCoolingScheduleHyperbolic
(double t0, double tn) Constructs a newCoolingScheduleHyperbolic
. -
Method Summary
Modifier and TypeMethodDescriptiondouble
getTemperature
(int i, int n) Returns the temperature for the iterationi
of the maximal number of iterationsn
.
-
Field Details
-
t0
protected final double t0 -
tn
protected final double tn
-
-
Constructor Details
-
CoolingScheduleHyperbolic
@Inject public CoolingScheduleHyperbolic(double t0, double tn) Constructs a newCoolingScheduleHyperbolic
.- Parameters:
t0
- the initial temperature (using namespaceCoolingSchedule
)tn
- the final temperature (using namespaceCoolingSchedule
)
-
-
Method Details
-
getTemperature
public double getTemperature(int i, int n) Description copied from interface:CoolingSchedule
Returns the temperature for the iterationi
of the maximal number of iterationsn
.- Specified by:
getTemperature
in interfaceCoolingSchedule
- Parameters:
i
- the current iterationn
- the maximal number of iterations- Returns:
- the temperature for the current iteration
-