Module org.cicirello.chips_n_salsa
Package org.cicirello.search.problems
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.

ClassDescriptionThe 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 for
OptimizationProblem
objects that enables scaling all cost values by a positive constant.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].A continuous function with a large number of local minimums, and a single global minimum, defined for input x in [0.5, 2.5].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.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).This class is an implementation of the Largest Common Subgraph problem, an NPHard combinatorial optimization problem.This class is used to represent edges when specifying instances of theLargestCommonSubgraph
problem.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.The OneMax class is an implementation of the wellknown OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.The OneMaxAckley class is an implementation of the wellknown OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.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).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).This class implements a mapping between Permutation problems and BitVector problems, enabling usingBitVector
search operators to solve problems defined over the space ofPermutation
objects.This class implements a mapping between Permutation problems and BitVector problems, where cost values are of type double.This class implements a mapping between Permutation problems and BitVector problems, where cost values are of type int.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.This class defines polynomial root finding as an optimization problem, enabling solving via simulated annealing or other metaheuristic optimization algorithms.This class implements the Porcupine landscape (Ackley, 1985), which is a very rugged search landscape, with an exponential number of local optima.Base interface for all interfaces defining types of problems supported by the library.This class is an implementation of the Quadratic Assignment Problem (QAP), an NPHard optimization problem.Implementation of the Royal Road problem of Mitchell, Forrest, and Holland, both the variation with stepping stones and the one without.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.This class implements the benchmarking problem known as TwoMax.This class implements a variation of the benchmarking problem known as TwoMax.