Class CoolingScheduleLinear

java.lang.Object
org.opt4j.optimizer.sa.CoolingScheduleLinear
All Implemented Interfaces:
CoolingSchedule
Direct Known Subclasses:
CoolingScheduleDefault

public class CoolingScheduleLinear extends Object implements CoolingSchedule

The CoolingScheduleLinear 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 - (t0 - tn)*(i/n).

  • Field Details

    • t0

      protected final double t0
    • tn

      protected final double tn
  • Constructor Details

    • CoolingScheduleLinear

      @Inject public CoolingScheduleLinear(double t0, double tn)
      Constructs a new CoolingScheduleLinear.
      Parameters:
      t0 - the initial temperature (using namespace CoolingSchedule)
      tn - the final temperature (using namespace CoolingSchedule )
  • 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