6 releases
0.1.0-beta.4 | May 28, 2023 |
---|---|
0.1.0-beta.3 | Jan 5, 2023 |
0.1.0-beta.2 | Dec 15, 2022 |
0.1.0-beta.0 | Nov 29, 2022 |
0.1.0-alpha.0 | Nov 24, 2022 |
#322 in Science
46 downloads per month
375KB
8K
SLoC
ECRS - Evolutionary Computation for Rust
Disclaimer Please note that this library is in early development phase and breaking changes may occur without any notice.
Evolutionary computation tools & algorithms.
The library provides:
- Genetic algorithm generic implementation with series of operators
- Ant System algorithm implementation
- Firefly algorithm implementation
- PSO algorithm implementation
For genetic algorithm there are various genetic operators & utility predefined:
- Crossover operators:
- SinglePoint
- TwoPoint
- MultiPoint
- Uniform
- Ordered
- PMX
- Selection operators:
- RouletteWheel
- Random
- Rank
- RankR
- Tournament
- StochasticUniversalSampling
- Boltzmann
- Mutation operators:
- Identity
- FlipBit
- Interchange
- Reversing
- Population generatos
- RandomPoints
- BitStrings
Each operator can be used in plug-in style to alternate algorithm behaviour.
The library also offers highly customizable logging system based on "probing". You can check out our examples
Get started
Installation
To add ecrs
to your project simply make use of cargo add
command:
cargo add ecrs
Usage
Work in progess...
For now the best method to get started is checking out our examples
MSRV
During this stage of development there is not MSRV policy estabilished yet. Currently MSRV == 1.65.0
as there are some usages of syntax introduced in 1.65.0
in the codebase.
Clone & repo setup
# Clone the repository
git clone git@github.com:ecrs-org/ecrs.git ecrs
# Install the hooks
git config core.hooksPath .githooks
Dependencies
~2.3–4.5MB
~74K SLoC