mahf-opt/mahf

Make existing heuristics usable as components

Closed this issue · 0 comments

To enable hybrid heuristics and inner local searches, we should provide heuristics both stand-alone and as components. This pretty much means

  • adding inner_heuristic or heuristic_component functions for each heuristic, which omit the initialization component, i.e., use the current population on the stack,
  • and replacing the existing functions to use the component together with the initialization.

Thanks to our new architecture, adding a nested local search then becomes as simple as

ConfigurationBuilder::new()
    ...
    .do_(inner_local_search(...))
    ...
    .build();