Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/01/15 17:06:17 (9 years ago)
Author:
mkommend
Message:

#2332: Merged all changes from this ticket into stable.

Location:
stable
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Problems.TestFunctions

  • stable/HeuristicLab.Problems.TestFunctions/3.3/SimilarityCalculators/SingleObjectiveTestFunctionSimilarityCalculator.cs

    r12009 r12280  
    3838  [StorableClass]
    3939  public sealed class SingleObjectiveTestFunctionSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
    40     #region Properties
     40    protected override bool IsCommutative { get { return true; } }
     41
    4142    [Storable]
    4243    public DoubleMatrix Bounds { get; set; }
    43     #endregion
    4444
    4545    [StorableConstructor]
  • stable/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs

    r12009 r12280  
    2929using HeuristicLab.Encodings.RealVectorEncoding;
    3030using HeuristicLab.Optimization;
     31using HeuristicLab.Optimization.Operators;
    3132using HeuristicLab.Parameters;
    3233using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    7172    private BestSingleObjectiveTestFunctionSolutionAnalyzer BestSingleObjectiveTestFunctionSolutionAnalyzer {
    7273      get { return Operators.OfType<BestSingleObjectiveTestFunctionSolutionAnalyzer>().FirstOrDefault(); }
    73     }
    74     private SingleObjectivePopulationDiversityAnalyzer SingleObjectivePopulationDiversityAnalyzer {
    75       get { return Operators.OfType<SingleObjectivePopulationDiversityAnalyzer>().FirstOrDefault(); }
    7674    }
    7775    #endregion
     
    258256        BestSingleObjectiveTestFunctionSolutionAnalyzer.BoundsParameter.ActualName = BoundsParameter.Name;
    259257      }
    260 
    261       if (SingleObjectivePopulationDiversityAnalyzer != null) {
    262         SingleObjectivePopulationDiversityAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
    263         SingleObjectivePopulationDiversityAnalyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
    264         SingleObjectivePopulationDiversityAnalyzer.ResultsParameter.ActualName = "Results";
    265         SingleObjectivePopulationDiversityAnalyzer.SimilarityCalculator = Operators.OfType<SingleObjectiveTestFunctionSimilarityCalculator>().SingleOrDefault();
    266       }
    267258    }
    268259    private void InitializeOperators() {
     
    270261      Operators.Add(new SingleObjectiveTestFunctionPathRelinker());
    271262      Operators.Add(new SingleObjectiveTestFunctionSimilarityCalculator());
     263      Operators.Add(new QualitySimilarityCalculator());
     264      Operators.Add(new NoSimilarityCalculator());
    272265
    273266      Operators.Add(new BestSingleObjectiveTestFunctionSolutionAnalyzer());
    274       Operators.Add(new SingleObjectivePopulationDiversityAnalyzer());
     267      Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType<ISolutionSimilarityCalculator>()));
    275268      ParameterizeAnalyzers();
    276269      Operators.AddRange(ApplicationManager.Manager.GetInstances<IRealVectorOperator>().Cast<IOperator>());
     
    325318      try {
    326319        BestKnownSolutionParameter.Value = Evaluator.GetBestKnownSolution(ProblemSize.Value);
    327       } catch (ArgumentException e) {
     320      }
     321      catch (ArgumentException e) {
    328322        ErrorHandling.ShowErrorDialog(e);
    329323        ProblemSize.Value = Evaluator.MinimumProblemSize;
     
    391385        op.ParentsParameter.Hidden = true;
    392386      }
    393       foreach (var op in Operators.OfType<SingleObjectiveTestFunctionSimilarityCalculator>()) {
     387      foreach (var op in Operators.OfType<ISolutionSimilarityCalculator>()) {
    394388        op.SolutionVariableName = SolutionCreator.RealVectorParameter.ActualName;
    395389        op.QualityVariableName = Evaluator.QualityParameter.ActualName;
    396         op.Bounds = Bounds;
     390        var calc = op as SingleObjectiveTestFunctionSimilarityCalculator;
     391        if (calc != null) calc.Bounds = Bounds;
    397392      }
    398393    }
Note: See TracChangeset for help on using the changeset viewer.