Package org.cicirello.search


package org.cicirello.search
This package includes classes and interfaces related to implementing metaheuristic search algorithms in general, rather than specific to a particular metaheuristic.
  • Class
    Description
    This class provides the ability to configure certain library-wide behavior.
    Metaheuristic<T extends Copyable<T>>
    This interface defines the required methods for implementations of metaheuristics, in particular metaheuristics for which the maximum run length can be specified.
    This class is used to track search algorithm progress, and supports multithreaded search algorithms.
    This interface defines the required methods for implementations of metaheuristics, for which the maximum run length can be specified, and which have the capability of restarting from a previously optimized solution.
    This interface defines the required methods for implementations of simple metaheuristics that locally optimize from some initial solution (random or otherwise) whose run length is self-determined, such as hill climbers that terminate upon reaching a local optima.
    This interface defines the required methods for implementations of simple metaheuristics whose run length is self-determined, such as hill climbers that terminate upon reaching a local optima.
    This interface defines the required methods for implementations of single-solution metaheuristics, i.e., metaheuristics such as simulated annealing that operate one a single candidate solution (as compared to population-based metaheuristics such as genetic algorithms.
    An object of this class encapsulates a solution with its corresponding cost value.
    This interface defines the required functionality of search algorithm implementations that support tracking search progress across multiple runs, whether multiple sequential runs, or multiple concurrent runs in the case of a parallel metaheuristic.