Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/26/15 09:30:43 (9 years ago)
Author:
abeham
Message:

#2521:

  • Adapted Knapsack problem to new problem infrastructure
  • Introduced additional interfaces in binary vector encoding
  • Improved KnapsackImprovementOperator which requires less evaluated solutions in case of an infeasible start solution

Loosely related change:

  • All LookupParameters are now shown by default
  • Wiring code should make sure that wired parameters are hidden
Location:
branches/ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3

    • Property svn:ignore
      •  

        old new  
        55*.vs10x
        66Plugin.cs
         7*.DotSettings
  • branches/ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEncoding.cs

    r13396 r13404  
    5252    }
    5353    #endregion
    54 
    5554
    5655    public int Length {
     
    108107        typeof (IBinaryVectorMoveOperator),
    109108        typeof (IBinaryVectorMultiNeighborhoodShakingOperator),
     109        typeof (IBinaryVectorSolutionOperator),
     110        typeof (IBinaryVectorSolutionsOperator)
    110111      };
    111112    }
     
    129130      ConfigureBitFlipMoveOperators(operators.OfType<IOneBitflipMoveOperator>());
    130131      ConfigureShakingOperators(operators.OfType<IBinaryVectorMultiNeighborhoodShakingOperator>());
     132      ConfigureSolutionOperators(operators.OfType<IBinaryVectorSolutionOperator>());
     133      ConfigureSolutionsOperators(operators.OfType<IBinaryVectorSolutionsOperator>());
    131134    }
    132135
     
    134137    private void ConfigureCreators(IEnumerable<IBinaryVectorCreator> creators) {
    135138      foreach (var creator in creators) {
    136         creator.BinaryVectorParameter.ActualName = Name;
    137139        creator.LengthParameter.ActualName = LengthParameter.Name;
    138140      }
     
    145147    }
    146148    private void ConfigureManipulators(IEnumerable<IBinaryVectorManipulator> manipulators) {
    147       foreach (var manipulator in manipulators) {
    148         manipulator.BinaryVectorParameter.ActualName = Name;
    149       }
     149      // binary vector manipulators don't contain additional parameters besides the solution parameter
    150150    }
    151151    private void ConfigureMoveOperators(IEnumerable<IBinaryVectorMoveOperator> moveOperators) {
    152       foreach (var moveOperator in moveOperators) {
    153         moveOperator.BinaryVectorParameter.ActualName = Name;
    154       }
     152      // binary vector move operators don't contain additional parameters besides the solution parameter
    155153    }
    156154    private void ConfigureBitFlipMoveOperators(IEnumerable<IOneBitflipMoveOperator> oneBitflipMoveOperators) {
     
    160158    }
    161159    private void ConfigureShakingOperators(IEnumerable<IBinaryVectorMultiNeighborhoodShakingOperator> shakingOperators) {
    162       foreach (var shakingOperator in shakingOperators) {
    163         shakingOperator.BinaryVectorParameter.ActualName = Name;
    164       }
     160      // binary vector shaking operators don't contain additional parameters besides the solution parameter
     161    }
     162    private void ConfigureSolutionOperators(IEnumerable<IBinaryVectorSolutionOperator> solutionOperators) {
     163      foreach (var solutionOperator in solutionOperators)
     164        solutionOperator.BinaryVectorParameter.ActualName = Name;
     165    }
     166    private void ConfigureSolutionsOperators(IEnumerable<IBinaryVectorSolutionsOperator> solutionsOperators) {
     167      foreach (var solutionsOperator in solutionsOperators)
     168        solutionsOperator.BinaryVectorsParameter.ActualName = Name;
    165169    }
    166170    #endregion
Note: See TracChangeset for help on using the changeset viewer.