Class CoolingScheduleExponential

java.lang.Object
org.opt4j.optimizer.sa.CoolingScheduleExponential
All Implemented Interfaces:
CoolingSchedule

public class CoolingScheduleExponential extends Object implements CoolingSchedule

The CoolingScheduleExponential 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 tn + t0 * a^i.

  • Field Details

    • t0

      protected final double t0
    • tn

      protected final double tn
    • alpha

      protected final double alpha
  • Constructor Details

    • CoolingScheduleExponential

      @Inject public CoolingScheduleExponential(double t0, double tn, double alpha)
      Constructs a new CoolingScheduleExponential.
      Parameters:
      t0 - the initial temperature (using namespace CoolingSchedule)
      tn - the final temperature (using namespace CoolingSchedule ) )
      alpha - the alpha value
  • Method Details

    • getTemperature

      public double getTemperature(int i, int n)
      Description copied from interface: CoolingSchedule
      Returns the temperature for the iteration i of the maximal number of iterations n.
      Specified by:
      getTemperature in interface CoolingSchedule
      Parameters:
      i - the current iteration
      n - the maximal number of iterations
      Returns:
      the temperature for the current iteration