Free cookie consent management tool by TermsFeed Policy Generator
wiki:ReviewHeuristicLab3.3.0CodeSelection

HeuristicLab 3.3.0 Code Review - HeuristicLab.Selection-3.3

Reviewer: abeham

  • Selector should not implement ISelector, all derived classes that are selectors in the sense of ISelector should implement this interface instead. Currently TabuSelector and probably future custom selectors appear as selectors in the SGA. It is true that TabuSelector is a selector (divides subscopes in remaining and selected), but not an ISelector.
    • A related note: Currently TabuSelector is the only "Selector" that appears twice in the SelectorParameter of the SGA.
    • abeham: Removed ISelector from Selector in r3129. I leave the other changes for swagner to decide.
    • swagner: I agree. In general I think it would be better, if the abstract selector base classes do not implement any selector interfaces. It should be left to the concrete selectors to decide which kind of selector they are. I changed this for selectors and reducers in r3138.
    • mkommend: In my opinion one of the classes / interfaces should be renamed (e.g. IChildrenSelector).
      • swagner: I'm not so happy with the name IChildrenSelector. The concept of sub-scope selection is independent of any metaheuristic optimization method. Therefore, talking about "Children" (which is a term from evolutionary algorithms) is not so appropriate in my opinion. I think it is the better solution to leave interface implementations to the concrete operators.

Last modified 14 years ago Last modified on 03/20/10 04:21:39