Skip to content

Commit

Permalink
release: prepare 0.1.0-beta.1 (#214)
Browse files Browse the repository at this point in the history
## Description

* Added some stub readme
* Bumped version
* Minor fixes
  • Loading branch information
kkafar committed Dec 15, 2022
1 parent 375e55d commit dabe189
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ecrs"
version = "0.1.0-beta.0"
version = "0.1.0-beta.1"
edition = "2021"
readme = "README.md"
repository = "https://github.com/ecrs-org/ecrs"
Expand All @@ -14,7 +14,6 @@ license-file = "LICENSE.md"
license = "MIT"
exclude = [
".github/*",
"example/*"
]


Expand Down
65 changes: 59 additions & 6 deletions README.md
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.

0 comments on commit dabe189

Please sign in to comment.