Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ecrs-org/ecrs
ecrs - Evolutionary computation algorithms & tools for Rust
https://github.com/ecrs-org/ecrs
evolutionary-computation genetic-algorithm rust
Last synced: about 1 month ago
JSON representation
ecrs - Evolutionary computation algorithms & tools for Rust
- Host: GitHub
- URL: https://github.com/ecrs-org/ecrs
- Owner: ecrs-org
- License: apache-2.0
- Created: 2022-03-25T16:34:20.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-05T13:22:49.000Z (10 months ago)
- Last Synced: 2024-12-17T11:16:37.680Z (2 months ago)
- Topics: evolutionary-computation, genetic-algorithm, rust
- Language: Rust
- Homepage:
- Size: 6.8 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 61
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-rust-list - ecrs-org/ecrs - org/ecrs?style=social"/> : ecrs - Evolutionary computation algorithms & tools for Rust. (Scientific Computation)
- awesome-rust-list - ecrs-org/ecrs - org/ecrs?style=social"/> : ecrs - Evolutionary computation algorithms & tools for Rust. (Scientific Computation)
README
# 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](src/ga.rs) generic implementation with series of operators
* [Ant System algorithm](src/aco.rs) implementation
* [Firefly algorithm](src/ff.rs) implementation
* [PSO algorithm](src/pso.rs) implementationFor 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
* BitStringsEach 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](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](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
```bash
# Clone the repository
git clone [email protected]:ecrs-org/ecrs.git ecrs# Install the hooks
git config core.hooksPath .githooks
```