-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
release: prepare 0.1.0-beta.1 (#214)
## Description * Added some stub readme * Bumped version * Minor fixes
- Loading branch information
Showing
3 changed files
with
61 additions
and
9 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,62 @@ | ||
# ECRS - Evolutionary Computation for Rust (working name) | ||
# ECRS - Evolutionary Computation for Rust | ||
|
||
Work in progress... | ||
**Disclaimer** Please note that this library is in early development phase (latest version is `0.1.0-beta.1`) and breaking changes may occur without any notice. | ||
|
||
In future this project will be a Rust crate providing: | ||
Evolutionary computation tools & algorithms. | ||
|
||
* possibly generic implementations of popular evolutionary algorithms (GA, PSO, ACO, FF) | ||
* implementations of various selection / crossover / mutation / replacement operators that might be used in plug-in style in provided algorithm implemenatations | ||
* simple framework to conduct arbitrary evolutionary computation | ||
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) 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](example/) | ||
|
||
## 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](example/) | ||
|
||
## 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. |