Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/24/10 21:15:04 (14 years ago)
Author:
abeham
Message:

Added 3-opt move and evaluators for the TSP
Added 2-opt move evaluators for TSP Geo and Euclidean
#889

File:
1 edited

Legend:

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

    r3199 r3209  
    253253      Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged);
    254254      ParameterizeEvaluator();
     255      UpdateMoveEvaluators();
    255256      ParameterizeVisualizer();
    256257      ClearDistanceMatrix();
     
    296297      if (ApplicationManager.Manager != null) operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>());
    297298      ParameterizeOperators();
     299      UpdateMoveEvaluators();
    298300      InitializeMoveGenerators();
    299301    }
     
    308310          op.ThreeOptMoveParameter.ActualNameChanged += new EventHandler(MoveGenerator_ThreeOptMoveParameter_ActualNameChanged);
    309311        }
     312      }
     313    }
     314    private void UpdateMoveEvaluators() {
     315      if (ApplicationManager.Manager != null) {
     316        foreach (ITSPPathMoveEvaluator op in Operators.OfType<ITSPPathMoveEvaluator>().ToList())
     317          operators.Remove(op);
     318        foreach (ITSPPathMoveEvaluator op in ApplicationManager.Manager.GetInstances<ITSPPathMoveEvaluator>())
     319          if (op.EvaluatorType == Evaluator.GetType()) {
     320            operators.Add(op);
     321          }
     322        ParameterizeOperators();
     323        OnOperatorsChanged();
    310324      }
    311325    }
     
    347361        op.DistanceMatrixParameter.ActualName = DistanceMatrixParameter.Name;
    348362        op.UseDistanceMatrixParameter.ActualName = UseDistanceMatrixParameter.Name;
     363        op.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
     364        op.PermutationParameter.ActualName = SolutionCreator.PermutationParameter.ActualName;
    349365      }
    350366    }
Note: See TracChangeset for help on using the changeset viewer.