The former version included operators as part of the chromosome object; current
does more or less the same, but they are static class methods instead of dynamic
object methods (which might make even less sense, I'm afraid).
This goes against my very own experience, including the venerable
Algorithm::Evolutionary,
where operators were independent of the object (although type checks were
performed) and had their own class hierarchy. This is probably the way to go forward.
The former version included operators as part of the chromosome object; current does more or less the same, but they are static class methods instead of dynamic object methods (which might make even less sense, I'm afraid).
This goes against my very own experience, including the venerable Algorithm::Evolutionary, where operators were independent of the object (although type checks were performed) and had their own class hierarchy. This is probably the way to go forward.