Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/30/10 14:52:30 (14 years ago)
Author:
abeham
Message:

Updated inversion moves to respect different types of permutation #889

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Moves/TwoOpt/InversionMoveTabuMaker.cs

    r3232 r3233  
    5151      InversionMove move = InversionMoveParameter.ActualValue;
    5252      Permutation permutation = PermutationParameter.ActualValue;
    53       return new InversionMoveAttribute( permutation.GetCircular(move.Index1 - 1),
    54         permutation[move.Index1],
    55         permutation[move.Index2],
    56         permutation.GetCircular(move.Index2 + 1));
     53      if (permutation.PermutationType == PermutationTypes.Absolute)
     54        return new InversionMoveAbsoluteAttribute(move.Index1, permutation[move.Index1], move.Index2, permutation[move.Index2]);
     55      else
     56        return new InversionMoveRelativeAttribute(permutation.GetCircular(move.Index1 - 1),
     57          permutation[move.Index1],
     58          permutation[move.Index2],
     59          permutation.GetCircular(move.Index2 + 1));
    5760    }
    5861  }
Note: See TracChangeset for help on using the changeset viewer.