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.
refactor: extend local search to accept any inputs
Instead of accepting only BinaryString, accept anything.
Extend the operators to accept anything.
tests: move all tests to separate submodules