Opened 5 years ago

Closed 4 years ago

#1909 closed enhancement (done)

Support for different real valued test functions should be implemented through a problem instance provider

Reported by: gkronber Owned by: abeham
Priority: high Milestone: HeuristicLab 3.3.9
Component: Problems.TestFunctions Version: 3.3.8
Keywords: Cc:

Description


Change History (18)

comment:1 Changed 4 years ago by gkronber

  • Priority changed from medium to high

comment:2 Changed 4 years ago by jkarder

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.9
  • Owner changed from abeham to jkarder
  • Status changed from new to accepted
  • Version changed from 3.3.7 to 3.3.8

comment:3 Changed 4 years ago by jkarder

r9873: created branch TestFunctionInstances
r9874: branched project HL.Problems.Instances
r9875: branched project HL.Problems.TestFunctions
r9876: branched project HL.Problems.TestFunctions.Views
r9877: added solution file and build cmds and adjusted references

comment:4 Changed 4 years ago by jkarder

  • Version changed from 3.3.8 to branch

comment:5 Changed 4 years ago by jkarder

r9878

  • added project HL.Problems.Instances.TestFunctions (includes data descriptor and instance provider)
  • added instance type SOTFData
  • added SingleObjectiveTestFunctionProblemView

comment:6 Changed 4 years ago by jkarder

r9883: fixed build configuration

comment:7 Changed 4 years ago by jkarder

  • Owner changed from jkarder to mkommend
  • Status changed from accepted to reviewing

comment:8 Changed 4 years ago by mkommend

  • Owner changed from mkommend to abeham

comment:9 Changed 4 years ago by abeham

r9927:

  • Removed naming heuristic and added a property to the evaluator instead

comment:10 Changed 4 years ago by abeham

r9980:

  • Integrated TestFunctionInstances branch into trunk
  • Removed the branch

comment:11 Changed 4 years ago by abeham

r9981: fixed references and output path

comment:12 Changed 4 years ago by abeham

r9982:

  • Removed project HeuristicLab.Problems.Instances.TestFunctions and integrated it into HeuristicLab.Problems.TestFunctions
  • Removed SOTFData from HeuristicLab.Problems.Instances and integrated it into HeuristicLab.Problems.TestFunctions
  • Changed SOTFData's Evaluator property to be of type ISingleObjectiveTestFunctionProblemEvaluator
  • Removed cast in the problem's load method

I think that in contrast to other problem instances this one is a bit special. Since we're using the plugin infrastructure's type discovery anyway there's no need to provide a generic format such as SOTFData in Problems.Instances to which other instance providers contribute. I felt it was not really right to have SOTFData use IOperator as the Evaluator property and then cast it to ISingleObjective...Evaluator in the load method. The load would always fail if the given operator was not an evaluator. I suspect IOperator was used because otherwise there is a circular reference between Problems.Instances and Problems.TestFunctions. I think the better solution in this case is to directly integrate the instance providing classes into the problem plugin. Any other instance provider would always need to reference the SOTF problem plugin anyway.

comment:13 Changed 4 years ago by abeham

  • Version changed from branch to 3.3.8

comment:14 Changed 4 years ago by abeham

r9984: fixed evaluator in FLA branch

comment:15 Changed 4 years ago by abeham

r9986: fixed references in MetaOpt branch

comment:16 Changed 4 years ago by abeham

r9987: fixed references in MetaOpt branch (test project)

comment:17 Changed 4 years ago by abeham

  • Status changed from reviewing to readytorelease

comment:18 Changed 4 years ago by abeham

  • Resolution set to done
  • Status changed from readytorelease to closed

r9990: merged into stable branch

Note: See TracTickets for help on using tickets.