Opened 4 years ago

Closed 4 years ago

#2029 closed enhancement (done)

SingleObjectiveTestFunctionImprovementOperator should not use reflection to evaluate solutions

Reported by: jkarder Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.8
Component: Problems.TestFunctions Version: 3.3.8
Keywords: Cc:

Description

The SingleObjectiveTestFunctionImprovementOperator currently uses reflection to get access to the method EvaluateFunction of the used evaluator. This is neither necessary, nor a good idea and should be fixed.

Change History (10)

comment:1 Changed 4 years ago by jkarder

  • Status changed from new to accepted

comment:2 Changed 4 years ago by jkarder

r9345:

  • added EvaluateFunction to ISingleObjectiveTestFunctionProblemEvaluator and adapted evaluators
  • fixed SingleObjectiveTestFunctionImprovementOperator

comment:3 Changed 4 years ago by jkarder

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

comment:4 Changed 4 years ago by gkronber

  • Owner changed from abeham to gkronber

Re

comment:5 Changed 4 years ago by gkronber

  • Owner changed from gkronber to jkarder
  • Status changed from reviewing to assigned

Reviewed r9345.

  • I would prefer the name Evaluate instead of EvaluateFunction for the evaluation method.
  • In the SingleObjectiveTestFunctionImprovementOperator the Evaluator parameter is accessed repeatedly. It would be better to store the parameter value in a local variable so that the parameter lookup is performed only once.

comment:6 Changed 4 years ago by jkarder

  • Status changed from assigned to accepted

comment:7 Changed 4 years ago by jkarder

r9407: applied the changes suggested by gkronber in comment:5:ticket:2029

comment:8 Changed 4 years ago by jkarder

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

r9410: adjusted unit tests to changes in r9407

Last edited 4 years ago by jkarder (previous) (diff)

comment:9 Changed 4 years ago by gkronber

  • Status changed from reviewing to readytorelease

comment:10 Changed 4 years ago by swagner

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.7 to 3.3.8
Note: See TracTickets for help on using tickets.