Opened 12 years ago
Closed 11 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 11 years ago by gkronber
- Priority changed from medium to high
comment:2 Changed 11 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 11 years ago by jkarder
comment:4 Changed 11 years ago by jkarder
- Version changed from 3.3.8 to branch
comment:5 Changed 11 years ago by jkarder
- added project HL.Problems.Instances.TestFunctions (includes data descriptor and instance provider)
- added instance type SOTFData
- added SingleObjectiveTestFunctionProblemView
comment:6 Changed 11 years ago by jkarder
r9883: fixed build configuration
comment:7 Changed 11 years ago by jkarder
- Owner changed from jkarder to mkommend
- Status changed from accepted to reviewing
comment:8 Changed 11 years ago by mkommend
- Owner changed from mkommend to abeham
comment:9 Changed 11 years ago by abeham
- Removed naming heuristic and added a property to the evaluator instead
comment:10 Changed 11 years ago by abeham
- Integrated TestFunctionInstances branch into trunk
- Removed the branch
comment:11 Changed 11 years ago by abeham
r9981: fixed references and output path
comment:12 Changed 11 years ago by abeham
- 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 11 years ago by abeham
- Version changed from branch to 3.3.8
comment:14 Changed 11 years ago by abeham
r9984: fixed evaluator in FLA branch
comment:15 Changed 11 years ago by abeham
r9986: fixed references in MetaOpt branch
comment:16 Changed 11 years ago by abeham
r9987: fixed references in MetaOpt branch (test project)
comment:17 Changed 11 years ago by abeham
- Status changed from reviewing to readytorelease
comment:18 Changed 11 years ago by abeham
- Resolution set to done
- Status changed from readytorelease to closed
r9990: merged into stable branch
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