Computing fitness is a stateful action.

The computation of the fitness from a given problem definition now results in
in a resulting pair of `Problem` and `Position`. This allows the `Problem` instance
to change as it is used. Such behavior facilitates dynamic environments much more
correctly as the environment might change at any time, especially from
fitness calculation to fitness calculation.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Improve memory performance by using Vector and not Array in RNG

Signed-off-by: Gary Pamparà <gpampara@gmail.com>
Compiling PSO

More generic Reader stack.

Added dynamic PSO. Swapped Reader arguments to allow chaining operations.

Added heterogeneous code.

Moved runner and test code to separate file.

Changed properties from requiring state only to requiring the whole entity so we can use position as well.

Made heterogeneous part more generic. Cleaned up enhanced reader stack and removed unused specialized parts of the reader stack.

A bit of code cleanup and added F4 to reader stack.

Added F5 to reader stack and made State case class to keep track of iteration with parameters.

A bit more code cleanup and added some stagnation related functions for HPSO.

Fixed a few RVar related issues. Added more velocity updates. Added shuffle tests. Added more example code.

Fixed rebase errors. Moved example code to example sub-project.

Fixed RNG speed issue. Added a few more functions for HPSO.

Revert this

Adding heterogeneous examples.

Made algorithms composable. fkPSO is now working.

Finished HPSO examples. Added barebones example. Added parameter updates file. Fixed stagnation counter issue. Cleaned up code.
Rebase fixes.
Added Option to stack (yuck).