mahf-opt / mahf

A framework for modular construction and evaluation of metaheuristics.
GNU General Public License v3.0
10 stars 0 forks source link

Split our component initialization phase into a initialize and require phase #157

Closed Saethox closed 1 year ago

Saethox commented 1 year ago

We have unresolvable conflicts if we do initialization and check requirement fulfillment in the same phase. For example, FixedEvaluations requires the Evaluations inserted by the Evaluator (so condition needs to be initialized after the components in Loop), and the Change<Progress> trigger needs the Progress inserted by FixedEvaluations/FixedIterations (so the logger component needs to be initialized after the condition in Loop).

I think a separate initialize and require method in Component is cleaner anyway.