Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/21/14 18:49:05 (10 years ago)
Author:
abeham
Message:

#2174: Major refactoring

  • Removed ProblemDefinitionHosts
  • Renamed ParameterVector to Individual
  • Renamed Configuration to Encoding
  • Changed handling of existing operators that they will not be removed and recreated, but only rewired
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Operators/MultiObjectiveAnalyzer.cs

    r11400 r11484  
    1111
    1212namespace HeuristicLab.Problems.Programmable {
    13   [Item("Multi-objective Analyzer", "Calls the script's Analyze method to be able to write into the results collection.")]
     13  [Item("Multi-objective Analyzer", "Calls the Analyze method of the problem definition.")]
    1414  [StorableClass]
    1515  public class MultiObjectiveAnalyzer : SingleSuccessorOperator, IMultiObjectiveProgrammableProblemAnalyzer {
    1616    public bool EnabledByDefault { get { return true; } }
    1717
    18     public ILookupParameter<IMultiObjectiveProblemDefinitionHost> ProblemDefinitionParameter {
    19       get { return (ILookupParameter<IMultiObjectiveProblemDefinitionHost>)Parameters["ProblemDefinition"]; }
     18    public ILookupParameter<IMultiObjectiveProblemDefinition> ProblemDefinitionParameter {
     19      get { return (ILookupParameter<IMultiObjectiveProblemDefinition>)Parameters["ProblemDefinition"]; }
    2020    }
    2121
    22     public ILookupParameter<Configuration> ConfigurationParameter {
    23       get { return (ILookupParameter<Configuration>)Parameters["Configuration"]; }
     22    public ILookupParameter<Encoding> EncodingParameter {
     23      get { return (ILookupParameter<Encoding>)Parameters["Encoding"]; }
    2424    }
    2525
     
    3737    public MultiObjectiveAnalyzer() {
    3838      Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator to use."));
    39       Parameters.Add(new LookupParameter<IMultiObjectiveProblemDefinitionHost>("ProblemDefinition", "The host that holds the problem definition."));
    40       Parameters.Add(new LookupParameter<Configuration>("Configuration", "An item that holds the problem's configuration."));
     39      Parameters.Add(new LookupParameter<IMultiObjectiveProblemDefinition>("ProblemDefinition", "The host that holds the problem definition."));
     40      Parameters.Add(new LookupParameter<Encoding>("Encoding", "An item that holds the problem's encoding."));
    4141      Parameters.Add(new ScopeTreeLookupParameter<DoubleArray>("Qualities", "The qualities of the parameter vector."));
    4242      Parameters.Add(new LookupParameter<ResultCollection>("Results", "The results collection to write to."));
     
    4848
    4949    public override IOperation Apply() {
    50       var host = ProblemDefinitionParameter.ActualValue;
    51       if (host.Instance == null) throw new InvalidOperationException("Script instance is null, maybe the code doesn't compile.");
    52       var config = ConfigurationParameter.ActualValue;
     50      var definition = ProblemDefinitionParameter.ActualValue;
     51      if (definition == null) throw new InvalidOperationException("Problem definition is null.");
     52      var config = EncodingParameter.ActualValue;
    5353      var results = ResultsParameter.ActualValue;
    5454
     
    5858
    5959      var vectors = scopes.Select(scope => Helper.Extract(scope, config)).ToArray();
    60       host.Instance.Analyze(vectors, QualitiesParameter.ActualValue.Select(x => x.ToArray()).ToArray(), results);
     60      definition.Analyze(vectors, QualitiesParameter.ActualValue.Select(x => x.ToArray()).ToArray(), results);
    6161      return base.Apply();
    6262    }
Note: See TracChangeset for help on using the changeset viewer.