Changeset 16751 for branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiObjectiveEvaluator.cs
- Timestamp:
- 04/03/19 15:37:38 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Operators/MultiObjectiveEvaluator.cs
r16723 r16751 21 21 22 22 using System; 23 using HEAL.Attic; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; … … 26 27 using HeuristicLab.Operators; 27 28 using HeuristicLab.Parameters; 28 using HEAL.Attic;29 29 30 30 namespace HeuristicLab.Optimization { 31 31 [Item("Multi-objective Evaluator", "Calls the Evaluate method of the problem definition and writes the return value into the scope.")] 32 32 [StorableType("C5605ED8-0ED2-4C7B-97A1-E7EB68A4FDBF")] 33 public class MultiObjectiveEvaluator<T Solution> : InstrumentedOperator, IMultiObjectiveEvaluationOperator<TSolution>, IStochasticOperator34 where T Solution : class, ISolution {33 public class MultiObjectiveEvaluator<TEncodedSolution> : InstrumentedOperator, IMultiObjectiveEvaluationOperator<TEncodedSolution>, IStochasticOperator 34 where TEncodedSolution : class, IEncodedSolution { 35 35 36 36 public ILookupParameter<IRandom> RandomParameter { … … 38 38 } 39 39 40 public ILookupParameter<IEncoding<T Solution>> EncodingParameter {41 get { return (ILookupParameter<IEncoding<T Solution>>)Parameters["Encoding"]; }40 public ILookupParameter<IEncoding<TEncodedSolution>> EncodingParameter { 41 get { return (ILookupParameter<IEncoding<TEncodedSolution>>)Parameters["Encoding"]; } 42 42 } 43 43 … … 46 46 } 47 47 48 public Func<T Solution, IRandom, double[]> EvaluateFunc { get; set; }48 public Func<TEncodedSolution, IRandom, double[]> EvaluateFunc { get; set; } 49 49 50 50 [StorableConstructor] 51 51 protected MultiObjectiveEvaluator(StorableConstructorFlag _) : base(_) { } 52 protected MultiObjectiveEvaluator(MultiObjectiveEvaluator<T Solution> original, Cloner cloner) : base(original, cloner) { }52 protected MultiObjectiveEvaluator(MultiObjectiveEvaluator<TEncodedSolution> original, Cloner cloner) : base(original, cloner) { } 53 53 public MultiObjectiveEvaluator() { 54 54 Parameters.Add(new LookupParameter<IRandom>("Random", "The random number generator to use.")); 55 Parameters.Add(new LookupParameter<IEncoding<T Solution>>("Encoding", "An item that holds the problem's encoding."));55 Parameters.Add(new LookupParameter<IEncoding<TEncodedSolution>>("Encoding", "An item that holds the problem's encoding.")); 56 56 Parameters.Add(new LookupParameter<DoubleArray>("Qualities", "The qualities of the parameter vector.")); 57 57 } 58 58 59 59 public override IDeepCloneable Clone(Cloner cloner) { 60 return new MultiObjectiveEvaluator<T Solution>(this, cloner);60 return new MultiObjectiveEvaluator<TEncodedSolution>(this, cloner); 61 61 } 62 62 … … 64 64 var random = RandomParameter.ActualValue; 65 65 var encoding = EncodingParameter.ActualValue; 66 var solution = ScopeUtil.Get Solution(ExecutionContext.Scope, encoding);66 var solution = ScopeUtil.GetEncodedSolution(ExecutionContext.Scope, encoding); 67 67 QualitiesParameter.ActualValue = new DoubleArray(EvaluateFunc(solution, random)); 68 68 return base.InstrumentedApply();
Note: See TracChangeset
for help on using the changeset viewer.