Class RTypeDistance

  • All Implemented Interfaces:
    NormalizedPermutationDistanceMeasurer, NormalizedPermutationDistanceMeasurerDouble, PermutationDistanceMeasurer, PermutationDistanceMeasurerDouble

    public final class RTypeDistance
    extends Object
    implements NormalizedPermutationDistanceMeasurer
    RType Distance:

    RType distance treats the permutations as if they represent sets of directed edges, and counts the number of edges that differ.

    Consider the example permutation: [1, 5, 2, 4, 0, 3]. RType distance treats this as equivalent to the set of directed edges: {(1,5), (5,2), (2,4), (4,0), (0,3)}.

    E.g., distance between [1, 5, 2, 4, 0, 3] and [ 5, 1, 4, 0, 3, 2] is 3. Why? Well, the first permutation has the directed edges: {(1,5), (5,2), (2,4), (4,0), (0,3)}. The second has 2 of these (4,0), and (0,3), but does not include 3 of the edges: (1,5), (5,2), (2,4)

    Runtime: O(n), where n is the permutation length.

    RType distance was introduced in:
    V. Campos, M. Laguna, and R. Marti, "Context-independent scatter and tabu search for permutation problems," INFORMS Journal on Computing, vol. 17, no. 1, pp. 111–122, 2005.

    • Constructor Detail

      • RTypeDistance

        public RTypeDistance()
        Constructs the distance measurer as specified in the class documentation.