Module org.cicirello.chips_n_salsa
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.
-
ClassDescriptionThis 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.ProgressTracker<T extends Copyable<T>>This class is used to track search algorithm progress, and supports multithreaded search algorithms.ReoptimizableMetaheuristic<T extends Copyable<T>>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.SimpleLocalMetaheuristic<T extends Copyable<T>>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.SimpleMetaheuristic<T extends Copyable<T>>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.SingleSolutionMetaheuristic<T extends Copyable<T>>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.SolutionCostPair<T extends Copyable<T>>An object of this class encapsulates a solution with its corresponding cost value.TrackableSearch<T extends Copyable<T>>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.