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.
  • Class
    Description
    The BoundMax class is an implementation of a generalization of the well-known OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.
    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.
    This is a wrapper class for IntegerCostOptimizationProblem objects that enables scaling all cost values by a positive constant.
    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 NP-Hard combinatorial optimization problem.
    This class is used to represent edges when specifying instances of the LargestCommonSubgraph 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 well-known OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.
    The OneMaxAckley class is an implementation of the well-known OneMax problem, often used in benchmarking genetic algorithms and other metaheuristics.
    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., real-valued 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 using BitVector search operators to solve problems defined over the space of Permutation 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.
    Problem<T extends Copyable<T>>
    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 NP-Hard 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 sub-optimal 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.