Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/16/13 13:13:41 (11 years ago)
Author:
spimming
Message:

#1888:

  • Merged revisions from trunk
Location:
branches/OaaS
Files:
23 edited
5 copied

Legend:

Unmodified
Added
Removed
  • branches/OaaS

  • branches/OaaS/HeuristicLab.Problems.TestFunctions

    • Property svn:mergeinfo set to (toggle deleted branches)
      /trunk/sources/HeuristicLab.Problems.TestFunctionsmergedeligible
      /branches/Algorithms.GradientDescent/HeuristicLab.Problems.TestFunctions5516-5520
      /branches/Benchmarking/sources/HeuristicLab.Problems.TestFunctions6917-7005
      /branches/CMAES/HeuristicLab.Problems.TestFunctions9121-9257
      /branches/CloningRefactoring/HeuristicLab.Problems.TestFunctions4656-4721
      /branches/DataAnalysis Refactoring/HeuristicLab.Problems.TestFunctions5471-5808
      /branches/DataAnalysis SolutionEnsembles/HeuristicLab.Problems.TestFunctions5815-6180
      /branches/DataAnalysis/HeuristicLab.Problems.TestFunctions4458-4459,​4462,​4464
      /branches/GP.Grammar.Editor/HeuristicLab.Problems.TestFunctions6284-6795
      /branches/GP.Symbols (TimeLag, Diff, Integral)/HeuristicLab.Problems.TestFunctions5060
      /branches/NET40/sources/HeuristicLab.Problems.TestFunctions5138-5162
      /branches/ParallelEngine/HeuristicLab.Problems.TestFunctions5175-5192
      /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.TestFunctions7568-7810
      /branches/QAPAlgorithms/HeuristicLab.Problems.TestFunctions6350-6627
      /branches/Restructure trunk solution/HeuristicLab.Problems.TestFunctions6828
      /branches/RuntimeOptimizer/HeuristicLab.Problems.TestFunctions8943-9078
      /branches/ScatterSearch (trunk integration)/HeuristicLab.Problems.TestFunctions7787-8333
      /branches/SlaveShutdown/HeuristicLab.Problems.TestFunctions8944-8956
      /branches/SuccessProgressAnalysis/HeuristicLab.Problems.TestFunctions5370-5682
      /branches/Trunk/HeuristicLab.Problems.TestFunctions6829-6865
      /branches/UnloadJobs/HeuristicLab.Problems.TestFunctions9168-9215
      /branches/VNS/HeuristicLab.Problems.TestFunctions5594-5752
      /branches/histogram/HeuristicLab.Problems.TestFunctions5959-6341
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/AckleyEvaluator.cs

    r7259 r9363  
    109109    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    110110    /// <returns>The result value of the Ackley function at the given point.</returns>
    111     protected override double EvaluateFunction(RealVector point) {
     111    public override double EvaluateFunction(RealVector point) {
    112112      return Apply(point);
    113113    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/BealeEvaluator.cs

    r7259 r9363  
    9898    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    9999    /// <returns>The result value of the Beale function at the given point.</returns>
    100     protected override double EvaluateFunction(RealVector point) {
     100    public override double EvaluateFunction(RealVector point) {
    101101      return Apply(point);
    102102    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/BoothEvaluator.cs

    r7259 r9363  
    9494    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    9595    /// <returns>The result value of the Booth function at the given point.</returns>
    96     protected override double EvaluateFunction(RealVector point) {
     96    public override double EvaluateFunction(RealVector point) {
    9797      return Apply(point);
    9898    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/GriewankEvaluator.cs

    r7259 r9363  
    133133    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    134134    /// <returns>The result value of the Griewank function at the given point.</returns>
    135     protected override double EvaluateFunction(RealVector point) {
     135    public override double EvaluateFunction(RealVector point) {
    136136      if (point.Length > 100)
    137137        return Apply(point);
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/LevyEvaluator.cs

    r7259 r9363  
    111111    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    112112    /// <returns>The result value of the Levy function at the given point.</returns>
    113     protected override double EvaluateFunction(RealVector point) {
     113    public override double EvaluateFunction(RealVector point) {
    114114      return Apply(point);
    115115    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/MatyasEvaluator.cs

    r7259 r9363  
    9393    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    9494    /// <returns>The result value of the Matyas function at the given point.</returns>
    95     protected override double EvaluateFunction(RealVector point) {
     95    public override double EvaluateFunction(RealVector point) {
    9696      return Apply(point);
    9797    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/MultinormalEvaluator.cs

    r7259 r9363  
    4444      set { Parameters["s^2s"].ActualValue = value; }
    4545    }
    46     private static Random Random = new Random();
     46    private static System.Random Random = new System.Random();
    4747
    4848    private Dictionary<int, List<RealVector>> stdCenters;
     
    161161    }
    162162
    163     public double Evaluate(RealVector point) {
    164       return EvaluateFunction(point);
    165     }
    166 
    167     protected override double EvaluateFunction(RealVector point) {
     163    public override double EvaluateFunction(RealVector point) {
    168164      double value = 0;
    169165      if (centers.Count == 0) {
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/RastriginEvaluator.cs

    r7259 r9363  
    119119    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    120120    /// <returns>The result value of the Rastrigin function at the given point.</returns>
    121     protected override double EvaluateFunction(RealVector point) {
     121    public override double EvaluateFunction(RealVector point) {
    122122      return Apply(point, A.Value);
    123123    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/RosenbrockEvaluator.cs

    r7259 r9363  
    105105    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    106106    /// <returns>The result value of the Rosenbrock function at the given point.</returns>
    107     protected override double EvaluateFunction(RealVector point) {
     107    public override double EvaluateFunction(RealVector point) {
    108108      return Apply(point);
    109109    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/SchwefelEvaluator.cs

    r7259 r9363  
    9696    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    9797    /// <returns>The result value of the Schwefel function at the given point.</returns>
    98     protected override double EvaluateFunction(RealVector point) {
     98    public override double EvaluateFunction(RealVector point) {
    9999      return Apply(point);
    100100    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/SingleObjectiveTestFunctionProblemEvaluator.cs

    r7259 r9363  
    9292      return EvaluateFunction(new RealVector(new double[] { x, y }));
    9393    }
    94     /// <summary>
    95     /// Gets the best known solution for this function.
    96     /// </summary>
    97     public abstract RealVector GetBestKnownSolution(int dimension);
    9894
    9995    /// <summary>
     
    10298    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    10399    /// <returns>The result value of the function at the given point.</returns>
    104     protected abstract double EvaluateFunction(RealVector point);
     100    public abstract double EvaluateFunction(RealVector point);
     101
     102    /// <summary>
     103    /// Gets the best known solution for this function.
     104    /// </summary>
     105    public abstract RealVector GetBestKnownSolution(int dimension);
    105106  }
    106107}
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/SphereEvaluator.cs

    r7259 r9363  
    132132    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    133133    /// <returns>The result value of the Sphere function at the given point.</returns>
    134     protected override double EvaluateFunction(RealVector point) {
     134    public override double EvaluateFunction(RealVector point) {
    135135      return Apply(point, C.Value, Alpha.Value);
    136136    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/SumSquaresEvaluator.cs

    r7259 r9363  
    9696    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    9797    /// <returns>The result value of the Sum Squares function at the given point.</returns>
    98     protected override double EvaluateFunction(RealVector point) {
     98    public override double EvaluateFunction(RealVector point) {
    9999      return Apply(point);
    100100    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/ZakharovEvaluator.cs

    r7259 r9363  
    100100    /// <param name="point">N-dimensional point for which the test function should be evaluated.</param>
    101101    /// <returns>The result value of the Zakharov function at the given point.</returns>
    102     protected override double EvaluateFunction(RealVector point) {
     102    public override double EvaluateFunction(RealVector point) {
    103103      return Apply(point);
    104104    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/HeuristicLab.Problems.TestFunctions-3.3.csproj

    r6866 r9363  
    108108  </ItemGroup>
    109109  <ItemGroup>
     110    <Compile Include="Evaluators\RandomEvaluator.cs" />
     111    <Compile Include="Improvers\SingleObjectiveTestFunctionImprovementOperator.cs" />
     112    <Compile Include="MoveEvaluators\RandomAdditiveMoveEvaluator.cs" />
     113    <Compile Include="PathRelinkers\SingleObjectiveTestFunctionPathRelinker.cs" />
    110114    <Compile Include="Plugin.cs" />
    111115    <Compile Include="Properties\AssemblyInfo.cs" />
     
    152156    <Compile Include="MoveEvaluators\RealVectorAdditiveMoveWrapper.cs" />
    153157    <Compile Include="RealVectorToRealVectorEncoder.cs" />
     158    <Compile Include="SimilarityCalculators\SingleObjectiveTestFunctionSimilarityCalculator.cs" />
    154159    <Compile Include="SingleObjectiveTestFunctionSolution.cs" />
    155160    <Compile Include="SingleObjectiveTestFunctionProblem.cs" />
     
    159164  </ItemGroup>
    160165  <ItemGroup>
     166    <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
     167      <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
     168      <Name>HeuristicLab.Analysis-3.3</Name>
     169    </ProjectReference>
    161170    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    162171      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
     
    193202      <Name>HeuristicLab.Operators-3.3</Name>
    194203      <Private>False</Private>
     204    </ProjectReference>
     205    <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
     206      <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>
     207      <Name>HeuristicLab.Optimization.Operators-3.3</Name>
    195208    </ProjectReference>
    196209    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
     
    232245    </BootstrapperPackage>
    233246  </ItemGroup>
     247  <ItemGroup />
    234248  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    235249  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
     
    241255  -->
    242256  <PropertyGroup>
    243     <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
     257    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
    244258set ProjectDir=$(ProjectDir)
    245259set SolutionDir=$(SolutionDir)
     
    248262call PreBuildEvent.cmd
    249263</PreBuildEvent>
     264    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
     265export ProjectDir=$(ProjectDir)
     266export SolutionDir=$(SolutionDir)
     267
     268$SolutionDir/PreBuildEvent.sh
     269</PreBuildEvent>
    250270  </PropertyGroup>
    251271</Project>
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Interfaces/ISingleObjectiveTestFunctionProblemEvaluator.cs

    r7259 r9363  
    3939
    4040    double Evaluate2D(double x, double y);
     41    double EvaluateFunction(RealVector point);
    4142    RealVector GetBestKnownSolution(int dimension);
    4243  }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/MoveEvaluators/MultinormalAdditiveMoveEvaluator.cs

    r7259 r9363  
    5555      var eval = EvaluatorParameter.ActualValue as MultinormalEvaluator;
    5656      if (eval != null)
    57         return eval.Evaluate(wrapper);
     57        return eval.EvaluateFunction(wrapper);
    5858      throw new InvalidOperationException("evaluator is not a multinormal evaluator");
    5959    }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/MoveEvaluators/RealVectorAdditiveMoveWrapper.cs

    r7259 r9363  
    6666        return vector.Length;
    6767      }
    68       protected set {
     68      #region Mono Compatibility
     69      // this setter should be protected, but the Mono compiler couldn't handle it
     70      set {
    6971        throw new System.NotSupportedException("Error: Setting the lenght of the wrapper is not allowed.");
    7072      }
     73      #endregion
    7174    }
    7275  }
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Plugin.cs.frame

    r7259 r9363  
    2626  /// Plugin class for HeuristicLab.Problems.TestFunctions plugin
    2727  /// </summary>
    28   [Plugin("HeuristicLab.Problems.TestFunctions", "3.3.6.$WCREV$")]
     28  [Plugin("HeuristicLab.Problems.TestFunctions", "3.3.7.$WCREV$")]
    2929  [PluginFile("HeuristicLab.Problems.TestFunctions-3.3.dll", PluginFileType.Assembly)]
     30  [PluginDependency("HeuristicLab.Analysis", "3.3")]
    3031  [PluginDependency("HeuristicLab.Collections", "3.3")]
    3132  [PluginDependency("HeuristicLab.Common", "3.3")]
     
    3637  [PluginDependency("HeuristicLab.Operators", "3.3")]
    3738  [PluginDependency("HeuristicLab.Optimization", "3.3")]
     39  [PluginDependency("HeuristicLab.Optimization.Operators", "3.3")]
    3840  [PluginDependency("HeuristicLab.Parameters", "3.3")]
    3941  [PluginDependency("HeuristicLab.Persistence", "3.3")]
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/Properties/AssemblyInfo.cs.frame

    r7259 r9363  
    5353// by using the '*' as shown below:
    5454[assembly: AssemblyVersion("3.3.0.0")]
    55 [assembly: AssemblyFileVersion("3.3.6.$WCREV$")]
     55[assembly: AssemblyFileVersion("3.3.7.$WCREV$")]
  • branches/OaaS/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs

    r7442 r9363  
    2020#endregion
    2121
    22 using System;
    23 using System.Collections.Generic;
    24 using System.Linq;
     22using HeuristicLab.Analysis;
    2523using HeuristicLab.Common;
    2624using HeuristicLab.Core;
     
    3129using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3230using HeuristicLab.PluginInfrastructure;
     31using System;
     32using System.Collections.Generic;
     33using System.Linq;
    3334
    3435namespace HeuristicLab.Problems.TestFunctions {
     
    6970    private BestSingleObjectiveTestFunctionSolutionAnalyzer BestSingleObjectiveTestFunctionSolutionAnalyzer {
    7071      get { return Operators.OfType<BestSingleObjectiveTestFunctionSolutionAnalyzer>().FirstOrDefault(); }
     72    }
     73    private SingleObjectivePopulationDiversityAnalyzer SingleObjectivePopulationDiversityAnalyzer {
     74      get { return Operators.OfType<SingleObjectivePopulationDiversityAnalyzer>().FirstOrDefault(); }
    7175    }
    7276    #endregion
     
    123127    }
    124128
    125     private bool IsNotFieldReferenced(IOperator x) {
    126       return !(x == strategyVectorCreator
    127         || x == strategyVectorCrossover
    128         || x == strategyVectorManipulator);
    129     }
    130 
    131129    #region Events
    132130    protected override void OnSolutionCreatorChanged() {
     
    139137    protected override void OnEvaluatorChanged() {
    140138      base.OnEvaluatorChanged();
    141       ParameterizeEvaluator();
     139      bool problemSizeChange = ProblemSize.Value < Evaluator.MinimumProblemSize
     140        || ProblemSize.Value > Evaluator.MaximumProblemSize;
     141      if (problemSizeChange) {
     142        ProblemSize.Value = Math.Max(Evaluator.MinimumProblemSize, Math.Min(ProblemSize.Value, Evaluator.MaximumProblemSize));
     143      } else {
     144        ParameterizeEvaluator();
     145      }
    142146      UpdateMoveEvaluators();
    143147      ParameterizeAnalyzers();
    144148      Maximization.Value = Evaluator.Maximization;
    145149      BoundsParameter.Value = Evaluator.Bounds;
    146       if (ProblemSize.Value < Evaluator.MinimumProblemSize)
    147         ProblemSize.Value = Evaluator.MinimumProblemSize;
    148       else if (ProblemSize.Value > Evaluator.MaximumProblemSize)
    149         ProblemSize.Value = Evaluator.MaximumProblemSize;
    150150      BestKnownQuality = new DoubleValue(Evaluator.BestKnownQuality);
    151151      Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged);
     
    247247    }
    248248    private void ParameterizeAnalyzers() {
    249       BestSingleObjectiveTestFunctionSolutionAnalyzer.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    250       BestSingleObjectiveTestFunctionSolutionAnalyzer.ResultsParameter.ActualName = "Results";
    251       BestSingleObjectiveTestFunctionSolutionAnalyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
    252       BestSingleObjectiveTestFunctionSolutionAnalyzer.BestKnownQualityParameter.ActualName = BestKnownQualityParameter.Name;
    253       BestSingleObjectiveTestFunctionSolutionAnalyzer.BestKnownSolutionParameter.ActualName = BestKnownSolutionParameter.Name;
    254       BestSingleObjectiveTestFunctionSolutionAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
    255       BestSingleObjectiveTestFunctionSolutionAnalyzer.EvaluatorParameter.ActualName = EvaluatorParameter.Name;
    256       BestSingleObjectiveTestFunctionSolutionAnalyzer.BoundsParameter.ActualName = BoundsParameter.Name;
     249      if (BestSingleObjectiveTestFunctionSolutionAnalyzer != null) {
     250        BestSingleObjectiveTestFunctionSolutionAnalyzer.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
     251        BestSingleObjectiveTestFunctionSolutionAnalyzer.ResultsParameter.ActualName = "Results";
     252        BestSingleObjectiveTestFunctionSolutionAnalyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
     253        BestSingleObjectiveTestFunctionSolutionAnalyzer.BestKnownQualityParameter.ActualName = BestKnownQualityParameter.Name;
     254        BestSingleObjectiveTestFunctionSolutionAnalyzer.BestKnownSolutionParameter.ActualName = BestKnownSolutionParameter.Name;
     255        BestSingleObjectiveTestFunctionSolutionAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
     256        BestSingleObjectiveTestFunctionSolutionAnalyzer.EvaluatorParameter.ActualName = EvaluatorParameter.Name;
     257        BestSingleObjectiveTestFunctionSolutionAnalyzer.BoundsParameter.ActualName = BoundsParameter.Name;
     258      }
     259
     260      if (SingleObjectivePopulationDiversityAnalyzer != null) {
     261        SingleObjectivePopulationDiversityAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
     262        SingleObjectivePopulationDiversityAnalyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
     263        SingleObjectivePopulationDiversityAnalyzer.ResultsParameter.ActualName = "Results";
     264        SingleObjectivePopulationDiversityAnalyzer.SimilarityCalculator = Operators.OfType<SingleObjectiveTestFunctionSimilarityCalculator>().SingleOrDefault();
     265      }
    257266    }
    258267    private void InitializeOperators() {
     268      Operators.Add(new SingleObjectiveTestFunctionImprovementOperator());
     269      Operators.Add(new SingleObjectiveTestFunctionPathRelinker());
     270      Operators.Add(new SingleObjectiveTestFunctionSimilarityCalculator());
     271
    259272      Operators.Add(new BestSingleObjectiveTestFunctionSolutionAnalyzer());
     273      Operators.Add(new SingleObjectivePopulationDiversityAnalyzer());
    260274      ParameterizeAnalyzers();
    261275      Operators.AddRange(ApplicationManager.Manager.GetInstances<IRealVectorOperator>().Cast<IOperator>());
     
    308322      Evaluator.PointParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    309323      Evaluator.PointParameter.Hidden = true;
    310       BestKnownSolutionParameter.Value = Evaluator.GetBestKnownSolution(ProblemSize.Value);
     324      try {
     325        BestKnownSolutionParameter.Value = Evaluator.GetBestKnownSolution(ProblemSize.Value);
     326      }
     327      catch (ArgumentException e) {
     328        ErrorHandling.ShowErrorDialog(e);
     329        ProblemSize.Value = Evaluator.MinimumProblemSize;
     330      }
    311331    }
    312332    private void ParameterizeOperators() {
    313       foreach (IRealVectorCrossover op in Operators.OfType<IRealVectorCrossover>()) {
     333      foreach (var op in Operators.OfType<IRealVectorCrossover>()) {
    314334        op.ParentsParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    315335        op.ParentsParameter.Hidden = true;
     
    319339        op.BoundsParameter.Hidden = true;
    320340      }
    321       foreach (IRealVectorManipulator op in Operators.OfType<IRealVectorManipulator>()) {
     341      foreach (var op in Operators.OfType<IRealVectorManipulator>()) {
    322342        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    323343        op.RealVectorParameter.Hidden = true;
     
    325345        op.BoundsParameter.Hidden = true;
    326346      }
    327       foreach (IRealVectorMoveOperator op in Operators.OfType<IRealVectorMoveOperator>()) {
    328         op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    329         op.RealVectorParameter.Hidden = true;
    330       }
    331       foreach (IRealVectorMoveGenerator op in Operators.OfType<IRealVectorMoveGenerator>()) {
     347      foreach (var op in Operators.OfType<IRealVectorMoveOperator>()) {
     348        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
     349        op.RealVectorParameter.Hidden = true;
     350      }
     351      foreach (var op in Operators.OfType<IRealVectorMoveGenerator>()) {
    332352        op.BoundsParameter.ActualName = BoundsParameter.Name;
    333353        op.BoundsParameter.Hidden = true;
    334354      }
    335       foreach (ISingleObjectiveTestFunctionAdditiveMoveEvaluator op in Operators.OfType<ISingleObjectiveTestFunctionAdditiveMoveEvaluator>()) {
     355      foreach (var op in Operators.OfType<ISingleObjectiveTestFunctionAdditiveMoveEvaluator>()) {
    336356        op.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
    337357        op.QualityParameter.Hidden = true;
     
    339359        op.RealVectorParameter.Hidden = true;
    340360      }
    341       foreach (IRealVectorParticleCreator op in Operators.OfType<IRealVectorParticleCreator>()) {
     361      foreach (var op in Operators.OfType<IRealVectorParticleCreator>()) {
    342362        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    343363        op.RealVectorParameter.Hidden = true;
     
    347367        op.ProblemSizeParameter.Hidden = true;
    348368      }
    349       foreach (IRealVectorParticleUpdater op in Operators.OfType<IRealVectorParticleUpdater>()) {
     369      foreach (var op in Operators.OfType<IRealVectorParticleUpdater>()) {
    350370        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    351371        op.RealVectorParameter.Hidden = true;
     
    353373        op.BoundsParameter.Hidden = true;
    354374      }
    355       foreach (IRealVectorSwarmUpdater op in Operators.OfType<IRealVectorSwarmUpdater>()) {
     375      foreach (var op in Operators.OfType<IRealVectorSwarmUpdater>()) {
    356376        op.RealVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
    357377        op.RealVectorParameter.Hidden = true;
     
    363383        op.RealVectorParameter.Hidden = true;
    364384      }
     385      foreach (var op in Operators.OfType<ISingleObjectiveImprovementOperator>()) {
     386        op.SolutionParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
     387        op.SolutionParameter.Hidden = true;
     388      }
     389      foreach (var op in Operators.OfType<ISingleObjectivePathRelinker>()) {
     390        op.ParentsParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;
     391        op.ParentsParameter.Hidden = true;
     392      }
     393      foreach (var op in Operators.OfType<SingleObjectiveTestFunctionSimilarityCalculator>()) {
     394        op.SolutionVariableName = SolutionCreator.RealVectorParameter.ActualName;
     395        op.QualityVariableName = Evaluator.QualityParameter.ActualName;
     396        op.Bounds = Bounds;
     397      }
    365398    }
    366399    private void UpdateStrategyVectorBounds() {
    367       DoubleMatrix strategyBounds = (DoubleMatrix)Bounds.Clone();
     400      var strategyBounds = (DoubleMatrix)Bounds.Clone();
    368401      for (int i = 0; i < strategyBounds.Rows; i++) {
    369402        if (strategyBounds[i, 0] < 0) strategyBounds[i, 0] = 0;
Note: See TracChangeset for help on using the changeset viewer.