Package org.cicirello.search.restarts
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
nextRunLength()
Gets the next run length in the restart schedule's sequence of run lengths.void
reset()
Resets the restart schedule to its initial conditions, such that the next call tonextRunLength()
will return the initial run length of the schedule.-
Methods inherited from interface org.cicirello.search.concurrent.Splittable
split
-
-
-
-
Method Detail
-
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 tonextRunLength()
will return the initial run length of the schedule.
-
-