feat: add initializers, ZeroInitializer, RandomInitializer
feat: add new terminating conditions (or, lower than, maximum cycles)
refactor: Add dimension generic to BinaryString
chore: remove unused imports
refactor: properly handle errors in local_search
tests: Add test for sphere real representation
feat: add CloserThanTerminatingCondition
feat: add simple plotting of local search
refactor: abstract LocalSearch stats into LocalSearchStats
refactor: Use OVector instead of SVector in library
feat: add evolutionary strategies to local search
fix: put Rng to Box instead of generics
feat: add test for local search with PatternPerturbation
feat: add PatternPerturbation Move by +/- d in random single coordinate.
feat: add uniform constructor for RandomDistributionPerturbation
feat: remove min, max from bounded perturbation
tests: add test for Linear fitness function
feat: add BoundedPerturbation applies bounds on real numbers when performing the perturbation.
feat: add RandomDistributionPerturbation For vectors of reals, perturb by a random distribution with expectation in 0.
feat: add real fitness functions Add linear, step, rastrigin, griewank and schwefel fitness functions along with the tests for them. Try using static vector where appropriate, but use OVector for those where filling with zeros won't work. This is mostly a constrain for the tests... rather than a real constrain. In the end the dimensions will be given for each problem.