Uses of Package
org.cicirello.search.operators.permutations
Package
Description
This package includes classes that implement mutation operators for permutations, and other
operators required by simulated annealing and other related metaheuristics.

ClassDescriptionThis 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 nonoverlapping "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 nonwrapping 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 Precedence Preservative Crossover (PPX), the twopoint 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 3Opt neighborhood as a mutation operator for permutations.This class implements the classic twochange 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 noncontiguous subset of the permutation elements.Implementation of uniform orderbased 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 noncontiguous subset of the permutation elements.This class implements a windowlimited version of the
BlockMoveMutation
mutation operator on permutations.This class implements a windowlimited version of theInsertionMutation
mutation operator on permutations.This class implements a windowlimited version of theReversalMutation
mutation operator on permutations.This class implements a windowlimited version of theScrambleMutation
mutation operator on permutations.This class implements a windowlimited version of theSwapMutation
mutation operator on permutations.This class implements a windowlimited version of theScrambleMutation
mutation operator on permutations.