Package org.cicirello.search.problems
Package of classes and interfaces related to representing
computational problems, as well as classes implementing
a variety of specific computational problems.

Interface Summary Interface Description IntegerCostOptimizationProblem<T extends Copyable<T>> The IntegerCostOptimizationProblem interface provides search algorithms with a way to interact with an instance of an optimization problem without the need to know the specifics of the problem (e.g., traveling salesperson, bin packing, etc).OptimizationProblem<T extends Copyable<T>> The OptimizationProblem interface provides search algorithms with a way to interact with an instance of an optimization problem without the need to know the specifics of the problem (e.g., realvalued function optimization, traveling salesperson, bin packing, etc).Problem<T extends Copyable<T>> Base interface for all interfaces defining types of problems supported by the library. 
Class Summary Class Description BoundMax The BoundMax class is an implementation of a generalization of the wellknown OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.CostFunctionScaler<T extends Copyable<T>> This is a wrapper class forOptimizationProblem
objects that enables scaling all cost values by a positive constant.ForresterEtAl2008 A continuous function with a single suboptimal local minimum, and a single global minimum, and a 0 derivative inflexion point, defined for inputs x in [0.0, 1.0].GramacyLee2012 A continuous function with a large number of local minimums, and a single global minimum, defined for input x in [0.5, 2.5].HollandRoyalRoad Implementation of Holland's Royal Road problem, as described in the following paper:
Terry Jones.IntegerCostFunctionScaler<T extends Copyable<T>> This is a wrapper class forIntegerCostOptimizationProblem
objects that enables scaling all cost values by a positive constant.Mix This class implements Ackley's Mix problem, an artificial landscape that is a mix of the OneMax, TwoMax, Trap, and Plateau problems, which provides for a landscape that combines all of the properties of these benchmarking problems.OneMax The OneMax class is an implementation of the wellknown OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.OneMaxAckley The OneMaxAckley class is an implementation of the wellknown OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.PermutationInAHaystack The Permutation in a Haystack is a family of optimization problems that can be parameterized to the various types of permutation problem (e.g., absolute versus relative positioning).Plateaus This class implements Ackley's Plateaus problem, an artificial search landscape over the space of bitstrings that is characterized by large flat regions known as plateaus.PolynomialRootFinding This class defines polynomial root finding as an optimization problem, enabling solving via simulated annealing or other metaheuristic optimization algorithms.Porcupine This class implements the Porcupine landscape (Ackley, 1985), which is a very rugged search landscape, with an exponential number of local optima.RoyalRoad Implementation of the Royal Road problem of Mitchell, Forrest, and Holland, both the variation with stepping stones and the one without.Trap This class implements Ackley's Trap function, which defines a fitness landscape with a single global optima, and a single suboptimal local optima, such that most of the search landscape is within the attraction basin of the local optima.TwoMax This class implements the benchmarking problem known as TwoMax.TwoMaxEqualPeaks This class implements a variation of the benchmarking problem known as TwoMax.