Skip to content

Commit

Permalink
Update documentation and remove some unused code
Browse files Browse the repository at this point in the history
  • Loading branch information
reinterpretcat committed May 28, 2024
1 parent d08aabc commit 55d9e3b
Show file tree
Hide file tree
Showing 9 changed files with 14 additions and 395 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file.
### Removed

* GitHub sponsors functionality
* experimetnal `async-evolution` feature

### Fixed

Expand Down
13 changes: 8 additions & 5 deletions docs/src/concepts/pragmatic/problem/objectives.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ of multi objective.
## Understanding multi objective structure

A multi objective is defined by `objectives` property which has array of array type and defines some kind of "hierarchical"
objective function where priority of objectives decreases from first to the last element of outer array. Objectives inside
the same inner array have the same priority.
objective function. Here, priority of objectives decreases from first to the last element of outer array. So, these objectives
are optimized in lexicographical order. Objectives inside the same inner array have the same priority and are processed
considering Pareto optimality.


## Available objectives
Expand Down Expand Up @@ -42,7 +43,9 @@ constraints such as time windows. The objective has the following optional param
* `minimize-tours`: minimizes total amount of tours present in solution
* `maximize-tours`: maximizes total amount of tours present in solution
* `minimize-arrival-time`: prefers solutions where work is finished earlier
* `fast-service`: prefers solutions when jobs are served early in tours
* `fast-service`: prefers solutions when jobs are served early in tours. Optional parameter:
* `tolerance`: an objective tolerance specifies how different objective values have to be to consider them different.
Relative distance metric is used.

### Job distribution objectives

Expand Down Expand Up @@ -74,9 +77,9 @@ There are four work balance objectives available:
Each objective has optional parameters defined by `option` property:
* `threshold`: a target coefficient of variation (scale invariant statistical measure of dispersion) value which specifies
desired minimum balancing level. All values below threshold are considered equal which helps the search algorithm to
optimize conflicting objectives.
optimize conflicting objectives. This similar to ε-Constraint Method optimization (in some degree).

It is recommended to set both option values to guide the search towards optimum for conflicting objectives, e.g. cost
It is recommended to set `threshold` option to guide the search towards optimum for conflicting objectives, e.g. cost
minimization and any of work balance.

An usage example:
Expand Down
5 changes: 0 additions & 5 deletions rosomaxa/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ homepage.workspace = true
repository.workspace = true
edition.workspace = true

[features]
default = []
# an experimental asynchronous evolution targeting better performance on multiple CPUs
async-evolution = ["tokio"]

[dependencies]
rand.workspace = true
Expand All @@ -24,7 +20,6 @@ rand_distr = "0.4.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
num_cpus = "1.16.0"
tokio = { version= "1.37.0", features=["sync", "rt"], optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2.15", features = ["js"] }
Expand Down
289 changes: 0 additions & 289 deletions rosomaxa/src/evolution/strategies/async_iterative.rs

This file was deleted.

5 changes: 0 additions & 5 deletions rosomaxa/src/evolution/strategies/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
use super::*;

#[cfg(feature = "async-evolution")]
mod async_iterative;
#[cfg(feature = "async-evolution")]
pub use self::async_iterative::{AsyncIterative, AsyncParams};

mod iterative;
pub use self::iterative::Iterative;

Expand Down
1 change: 0 additions & 1 deletion vrp-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ edition.workspace = true
[features]
default = ["vrp-core", "csv-format", "scientific-format"]

async-evolution = ["vrp-core/async-evolution"]
csv-format = ["csv"]
scientific-format = ["vrp-scientific"]
py_bindings = ["dep:pyo3"]
Expand Down
Loading

0 comments on commit 55d9e3b

Please sign in to comment.