Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/25/15 16:22:37 (8 years ago)
Author:
abeham
Message:

#2521:

  • Refactored QuadraticAssignmentProblem to use new SingleObjectiveProblem
    • Removed QAPEvaluator
    • Adapted RobustTabooSearch
  • Introduced several interfaces in PermutationEncoding necessary for wiring
  • Changed all Encodings to use IItem instead of IOperator in ConfigureOperators (name still unchanged)
  • Added a protected MaximizationParameter property in SingleObjectiveProblem (necessary for wiring)
  • Changed AlleleFrequnencyAnalyzer to use ISolution interface instead of IItem
  • Added a comment to ISolutionCreator<TSolution> of some changes that would be welcomed
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProblemRefactoring/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationEncoding.cs

    r13366 r13396  
    145145          typeof (IPermutationScrambleMoveOperator),
    146146          typeof (IPermutationSwap2MoveOperator),                   
    147           typeof (IPermutationTranslocationMoveOperator)
     147          typeof (IPermutationTranslocationMoveOperator),
     148          typeof (IPermutationLocalImprovementOperator),
     149          typeof (IPermutationSolutionOperator),
     150          typeof (IPermutationSolutionsOperator),
    148151      };
    149152    }
     
    160163    #endregion
    161164
    162     public override void ConfigureOperators(IEnumerable<IOperator> operators) {
     165    public override void ConfigureOperators(IEnumerable<IItem> operators) {
    163166      ConfigureCreators(operators.OfType<IPermutationCreator>());
    164167      ConfigureCrossovers(operators.OfType<IPermutationCrossover>());
     
    170173      ConfigureSwap2MoveOperators(operators.OfType<IPermutationSwap2MoveOperator>());
    171174      ConfigureTranslocationMoveOperators(operators.OfType<IPermutationTranslocationMoveOperator>());
     175      ConfigureLocalImprovementOperators(operators.OfType<IPermutationLocalImprovementOperator>());
     176      ConfigureSolutionOperators(operators.OfType<IPermutationSolutionOperator>());
     177      ConfigureSolutionsOperators(operators.OfType<IPermutationSolutionsOperator>());
    172178    }
    173179
     
    176182      foreach (var creator in creators) {
    177183        creator.LengthParameter.ActualName = LengthParameter.Name;
    178         creator.PermutationParameter.ActualName = Name;
    179184        creator.PermutationTypeParameter.Value.Value = Type;
    180185      }
     
    187192    }
    188193    private void ConfigureManipulators(IEnumerable<IPermutationManipulator> manipulators) {
    189       foreach (var manipulator in manipulators) {
    190         manipulator.PermutationParameter.ActualName = Name;
    191       }
     194      // IPermutationManipulator does not contain additional parameters (already contained in IPermutationSolutionOperator)
    192195    }
    193196    private void ConfigureShakingOperators(IEnumerable<IPermutationMultiNeighborhoodShakingOperator> shakingOperators) {
     
    221224      }
    222225    }
    223 
     226    private void ConfigureLocalImprovementOperators(IEnumerable<IPermutationLocalImprovementOperator> localImprovementOperators) {
     227      // IPermutationLocalImprovementOperator does not contain additional parameters (already contained in IPermutationSolutionOperator)
     228    }
     229    private void ConfigureSolutionOperators(IEnumerable<IPermutationSolutionOperator> solutionOperators) {
     230      foreach (var solutionOperator in solutionOperators) {
     231        solutionOperator.PermutationParameter.ActualName = Name;
     232      }
     233    }
     234    private void ConfigureSolutionsOperators(IEnumerable<IPermutationSolutionsOperator> solutionsOperators) {
     235      foreach (var solutionsOperator in solutionsOperators) {
     236        solutionsOperator.PermutationsParameter.ActualName = Name;
     237      }
     238    }
    224239    #endregion
    225240  }
Note: See TracChangeset for help on using the changeset viewer.