Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/22/12 17:38:36 (12 years ago)
Author:
svonolfe
Message:

Moved distance measure to helper class (#1782)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs

    r7658 r7872  
    347347      if (data.Coordinates == null && data.Distances == null)
    348348        throw new System.IO.InvalidDataException("The given instance specifies neither coordinates nor distances!");
    349       if (data.Dimension > DistanceMatrixSizeLimit && (data.DistanceMeasure == TSPDistanceMeasure.Att
    350         || data.DistanceMeasure == TSPDistanceMeasure.Manhattan
    351         || data.DistanceMeasure == TSPDistanceMeasure.Maximum
    352         || data.DistanceMeasure == TSPDistanceMeasure.UpperEuclidean))
     349      if (data.Dimension > DistanceMatrixSizeLimit && (data.DistanceMeasure == DistanceMeasure.Att
     350        || data.DistanceMeasure == DistanceMeasure.Manhattan
     351        || data.DistanceMeasure == DistanceMeasure.Maximum
     352        || data.DistanceMeasure == DistanceMeasure.UpperEuclidean))
    353353        throw new System.IO.InvalidDataException("The given instance uses an unsupported distance measure and is too large for using a distance matrix.");
    354354      if (data.Coordinates != null && data.Coordinates.GetLength(1) != 2)
     
    363363
    364364      TSPEvaluator evaluator;
    365       if (data.DistanceMeasure == TSPDistanceMeasure.Att
    366         || data.DistanceMeasure == TSPDistanceMeasure.Manhattan
    367         || data.DistanceMeasure == TSPDistanceMeasure.Maximum
    368         || data.DistanceMeasure == TSPDistanceMeasure.UpperEuclidean) {
     365      if (data.DistanceMeasure == DistanceMeasure.Att
     366        || data.DistanceMeasure == DistanceMeasure.Manhattan
     367        || data.DistanceMeasure == DistanceMeasure.Maximum
     368        || data.DistanceMeasure == DistanceMeasure.UpperEuclidean) {
    369369        evaluator = new TSPDistanceMatrixEvaluator();
    370370        UseDistanceMatrix = new BoolValue(true);
    371371        DistanceMatrix = new DistanceMatrix(data.GetDistanceMatrix());
    372       } else if (data.DistanceMeasure == TSPDistanceMeasure.Direct && data.Distances != null) {
     372      } else if (data.DistanceMeasure == DistanceMeasure.Direct && data.Distances != null) {
    373373        evaluator = new TSPDistanceMatrixEvaluator();
    374374        UseDistanceMatrix = new BoolValue(true);
     
    378378        UseDistanceMatrix = new BoolValue(data.Dimension <= DistanceMatrixSizeLimit);
    379379        switch (data.DistanceMeasure) {
    380           case TSPDistanceMeasure.Euclidean:
     380          case DistanceMeasure.Euclidean:
    381381            evaluator = new TSPEuclideanPathEvaluator();
    382382            break;
    383           case TSPDistanceMeasure.RoundedEuclidean:
     383          case DistanceMeasure.RoundedEuclidean:
    384384            evaluator = new TSPRoundedEuclideanPathEvaluator();
    385385            break;
    386           case TSPDistanceMeasure.Geo:
     386          case DistanceMeasure.Geo:
    387387            evaluator = new TSPGeoPathEvaluator();
    388388            break;
Note: See TracChangeset for help on using the changeset viewer.