Package org.cicirello.search.operators.permutations


package org.cicirello.search.operators.permutations
This package includes classes that implement local search and evolutionary operators for permutations, such as mutation operators, crossover operators, and initializers. The classes of this package depend upon the Permutation class, and other classes, from JavaPermutationTools (JPT). More information on JPT, see its website: https://jpt.cicirello.org/. Or you can go directly to JPT's API documentation.
  • Classes
    Class
    Description
    This class implements an adjacent swap mutation on permutations, where one mutation consists in randomly swapping a pair of adjacent elements.
    This class implements a block interchange mutation on permutations, where one mutation consists in swapping two randomly chosen non-overlapping "blocks" (i.e., subsequences).
    This class implements a block move mutation on permutations, where one mutation consists in removing a randomly chosen "block" (i.e., subsequence) and reinserting it at a different randomly chosen index.
    This class implements the Cycle(α) form of cycle mutation on permutations, where one mutation generates a random permutation cycle.
    Implementation of cycle crossover (CX).
    This class implements the Cycle(kmax) form of cycle mutation on permutations, where one mutation generates a random permutation cycle.
    Implementation of the Edge Recombination operator, a crossover operator for permutations.
    Implementation of the Enhanced Edge Recombination operator, a crossover operator for permutations.
    This class implements an insertion mutation on permutations, where one mutation consists in removing a randomly chosen element and reinserting it at a different randomly chosen location.
    Implementation of non-wrapping order crossover (NWOX).
    Implementation of order crossover (OX).
    Implementation of the crossover operator for permutations that is often referred to as Order Crossover 2 (OX2).
    Implementation of partially matched crossover (PMX).
    The PermutationInitializer provides metaheuristic implementations, such as of simulated annealing, etc, with a way to generate random initial solutions to a problem, as well as a way to make copies of current solution configurations.
    Implementation of position based crossover (PBX).
    Implementation of Precedence Preservative Crossover (PPX), the two-point version.
    This class implements a reversal mutation on permutations, where one mutation consists in reversing the order of a randomly selected subpermutation.
    This class implements a rotation mutation on permutations, where one mutation consists in a random circular rotation of the permutation.
    This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a randomly selected subpermutation.
    This class implements a swap mutation on permutations, where one mutation selects two elements uniformly at random and swaps their locations.
    This class implements the classic 3-Opt neighborhood as a mutation operator for permutations.
    This class implements the classic two-change operator as a mutation operator for permutations.
    This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a randomly selected subpermutation.
    This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a non-contiguous subset of the permutation elements.
    Implementation of uniform order-based crossover (UOBX).
    Implementation of uniform partially matched crossover (UPMX).
    Implementation of Precedence Preservative Crossover (PPX), the uniform version.
    This class implements a scramble mutation on permutations, where one mutation consists in randomizing the order of a non-contiguous subset of the permutation elements.
    This class implements a window-limited version of the BlockMoveMutation mutation operator on permutations.
    This class implements a window-limited version of the InsertionMutation mutation operator on permutations.
    This class implements a window-limited version of the ReversalMutation mutation operator on permutations.
    This class implements a window-limited version of the ScrambleMutation mutation operator on permutations.
    This class implements a window-limited version of the SwapMutation mutation operator on permutations.
    This class implements a window-limited version of the ScrambleMutation mutation operator on permutations.