Package org.cicirello.search.operators.permutations


package org.cicirello.search.operators.permutations
This package includes classes that implement mutation operators for permutations, and other operators required by simulated annealing and other related metaheuristics. The classes of this package depend upon the Permutation class, and other classes, from the JPT (JavaPermutationTools) API, version 2 or higher. More information on the JPT can be found at the website for that library: JPT.
  • 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.
    This class implements the Cycle(kmax) form of cycle mutation on permutations, where one mutation generates a random permutation cycle.
    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.
    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.
    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.
    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.