Changeset 16807 for branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective
- Timestamp:
- 04/17/19 23:07:03 (6 years ago)
- Location:
- branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/MultiObjectiveTestFunctionProblem.cs
r16723 r16807 22 22 using System.Collections.Generic; 23 23 using System.Linq; 24 using HEAL.Attic; 24 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; … … 28 29 using HeuristicLab.Optimization; 29 30 using HeuristicLab.Parameters; 30 using HEAL.Attic;31 31 using HeuristicLab.Problems.Instances; 32 32 … … 35 35 [Creatable(CreatableAttribute.Categories.Problems, Priority = 95)] 36 36 [Item("Test Function (multi-objective)", "Test functions with real valued inputs and multiple objectives.")] 37 public class MultiObjectiveTestFunctionProblem : MultiObjective BasicProblem<RealVectorEncoding>, IProblemInstanceConsumer<MOTFData> {37 public class MultiObjectiveTestFunctionProblem : MultiObjectiveProblem<RealVectorEncoding, RealVector>, IProblemInstanceConsumer<MOTFData> { 38 38 39 39 #region Parameter Properties 40 public IValueParameter<BoolArray> MaximizationParameter {41 get { return (IValueParameter<BoolArray>)Parameters["Maximization"]; }42 }43 40 public IFixedValueParameter<IntValue> ProblemSizeParameter { 44 41 get { return (IFixedValueParameter<IntValue>)Parameters["ProblemSize"]; } … … 65 62 public override bool[] Maximization { 66 63 get { 67 if (!Parameters.ContainsKey("Maximization")) return new bool[2]; 68 return MaximizationParameter.Value.ToArray(); 64 //necessary because of virtual member call in base ctor 65 if (!Parameters.ContainsKey("TestFunction")) return new bool[0]; 66 return TestFunction.Maximization(Objectives).ToArray(); 69 67 } 70 68 } … … 136 134 137 135 138 public override void Analyze( Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random) {139 base.Analyze( individuals, qualities, results, random);136 public override void Analyze(RealVector[] solutions, double[][] qualities, ResultCollection results, IRandom random) { 137 base.Analyze(solutions, qualities, results, random); 140 138 if (results.ContainsKey("Pareto Front")) { 141 139 ((DoubleMatrix)results["Pareto Front"].Value).SortableView = true; … … 156 154 } 157 155 158 public double[] Evaluate(RealVector individual) { 159 return TestFunction.Evaluate(individual, Objectives); 160 } 161 162 public override double[] Evaluate(Individual individual, IRandom random) { 163 return Evaluate(individual.RealVector()); 164 } 156 public override double[] Evaluate(RealVector solution, IRandom random) { 157 return TestFunction.Evaluate(solution, Objectives); 158 } 159 165 160 166 161 public void Load(MOTFData data) { -
branches/2521_ProblemRefactoring/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/TestFunctions/Misc/Fonseca.cs
r16723 r16807 22 22 using System; 23 23 using System.Collections.Generic; 24 using HEAL.Attic; 24 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; 26 27 using HeuristicLab.Encodings.RealVectorEncoding; 27 using HEAL.Attic;28 28 29 29 namespace HeuristicLab.Problems.TestFunctions.MultiObjective { … … 35 35 } 36 36 37 protected override bool[] GetMaximization(int objec itves) {37 protected override bool[] GetMaximization(int objectives) { 38 38 return new bool[2]; 39 39 }
Note: See TracChangeset
for help on using the changeset viewer.