Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/26/14 22:57:18 (10 years ago)
Author:
abeham
Message:

#2174: enabled possibility to set different problem definitions than just scripted ones

File:
1 edited

Legend:

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

    r11363 r11393  
    4343    }
    4444
    45     public ILookupParameter<SingleObjectiveScript> ScriptParameter {
    46       get { return (ILookupParameter<SingleObjectiveScript>)Parameters["Script"]; }
     45    public ILookupParameter<ISingleObjectiveProblemDefinitionHost> ProblemDefinitionParameter {
     46      get { return (ILookupParameter<ISingleObjectiveProblemDefinitionHost>)Parameters["ProblemDefinition"]; }
    4747    }
    4848
     
    6464    public ParameterVectorMoveEvaluator() {
    6565      Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator to use."));
    66       Parameters.Add(new LookupParameter<SingleObjectiveScript>("Script", "The script that will execute the evaluation function and define the parameter vector."));
     66      Parameters.Add(new LookupParameter<ISingleObjectiveProblemDefinitionHost>("ProblemDefinition", "The host that holds the problem definition."));
    6767      Parameters.Add(new LookupParameter<Configuration>("Configuration", "An item that holds the problem's configuration."));
    6868      Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The quality of the parameter vector."));
     
    7676    public override IOperation InstrumentedApply() {
    7777      var random = RandomParameter.ActualValue;
    78       var runner = ScriptParameter.ActualValue;
    79       if (runner.Instance == null) throw new InvalidOperationException("Script instance is null, maybe the code doesn't compile.");
     78      var host = ProblemDefinitionParameter.ActualValue;
     79      if (host.Instance == null) throw new InvalidOperationException("Problem definition instance is null.");
    8080      var config = ConfigurationParameter.ActualValue;
    8181      var binDict = new Dictionary<string, BinaryVector>();
     
    111111        realVectors: realDict.Count > 0 ? realDict : null,
    112112        permutations: permDict.Count > 0 ? permDict : null);
    113       MoveQualityParameter.ActualValue = new DoubleValue(runner.Instance.Evaluate(random, vector));
     113      MoveQualityParameter.ActualValue = new DoubleValue(host.Instance.Evaluate(random, vector));
    114114      return base.InstrumentedApply();
    115115    }
Note: See TracChangeset for help on using the changeset viewer.