Interface RestartSchedule

All Superinterfaces:
Splittable<RestartSchedule>
All Known Implementing Classes:
ConstantRestartSchedule, LubyRestarts, ParallelVariableAnnealingLength, VariableAnnealingLength

public interface RestartSchedule extends Splittable<RestartSchedule>
Multistart metaheuristics involve periodically restarting the metaheuristic from a new initial starting solution (often random). Although it is common for such restarts to have a common run length, there do exist other restart schedules that vary the run length from one run to the next in some way. This interface defines the functionality of a restart schedule.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Gets the next run length in the restart schedule's sequence of run lengths.
    void
    Resets the restart schedule to its initial conditions, such that the next call to nextRunLength() will return the initial run length of the schedule.

    Methods inherited from interface org.cicirello.search.concurrent.Splittable

    split
  • Method Details

    • nextRunLength

      int nextRunLength()
      Gets the next run length in the restart schedule's sequence of run lengths.
      Returns:
      the length for the next run of a multistart metaheuristic
    • reset

      void reset()
      Resets the restart schedule to its initial conditions, such that the next call to nextRunLength() will return the initial run length of the schedule.