Free cookie consent management tool by TermsFeed Policy Generator

Changeset 7626


Ignore:
Timestamp:
03/16/12 09:56:36 (13 years ago)
Author:
abeham
Message:

#1691:

  • Set default operators for TSP to be OrderCrossover2, InversionManipulator, and StochasticInversionMultiMoveGenerator
  • Set default operators for QAP to be PartiallyMatchedCrossover, Swap2Manipulator, and ExhaustiveSwap2MoveGenerator
  • Added a TypeEqualityComparer to HeuristicLab.Common
Location:
trunk/sources
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Common/3.3/HeuristicLab.Common-3.3.csproj

    r6981 r7626  
    132132    <Compile Include="Plugin.cs" />
    133133    <Compile Include="ReferenceEqualityComparer.cs" />
     134    <Compile Include="TypeEqualityComparer.cs" />
    134135    <Compile Include="TypeExtensions.cs" />
    135136    <Compile Include="DoubleExtensions.cs">
  • trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/QuadraticAssignmentProblem.cs

    r7558 r7626  
    2121
    2222using System;
     23using System.Collections.Generic;
    2324using System.Drawing;
    2425using System.Linq;
     
    253254
    254255    private void InitializeOperators() {
    255       Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>());
     256      var defaultOperators = new HashSet<IPermutationOperator>(new IPermutationOperator[] {
     257        new PartiallyMatchedCrossover(),
     258        new Swap2Manipulator(),
     259        new ExhaustiveSwap2MoveGenerator()
     260      });
     261      Operators.AddRange(defaultOperators);
     262      Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>().Except(defaultOperators, new TypeEqualityComparer<IPermutationOperator>()));
    256263      Operators.RemoveAll(x => x is ISingleObjectiveMoveEvaluator);
    257264      Operators.AddRange(ApplicationManager.Manager.GetInstances<IQAPMoveEvaluator>());
  • trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs

    r7621 r7626  
    226226      Operators.Add(new TSPPopulationDiversityAnalyzer());
    227227      ParameterizeAnalyzers();
    228       Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>().Cast<IOperator>());
     228      var defaultOperators = new HashSet<IPermutationOperator>(new IPermutationOperator[] {
     229        new OrderCrossover2(),
     230        new InversionManipulator(),
     231        new StochasticInversionMultiMoveGenerator()
     232      });
     233      Operators.AddRange(defaultOperators);
     234      Operators.AddRange(ApplicationManager.Manager.GetInstances<IPermutationOperator>().Except(defaultOperators, new TypeEqualityComparer<IPermutationOperator>()));
    229235      ParameterizeOperators();
    230236      UpdateMoveEvaluators();
Note: See TracChangeset for help on using the changeset viewer.