played with optimizer and made some changes to the random initializer as it covers all the requirements as well.
target + requirements are more likely to be returned by random-get().
made a better output, with startTime and finishTime.

Optimizer now adapts selectionrate to the generation, as it is only important to trash a massive amount of lists at the first generations