Packages

A configurable constraint solver with an API based on JSR 331.

Current section

Files

Jump to
aruspex CHANGELOG.md
Raw

CHANGELOG.md

# Changelog
Please include an addition to this file with all pull requests.
## Unpublished
- Simulated Annealing now supports configurable options to tune it
- Strategies are now implemented as protocols, options for a strategy is set on
the strategy struct, which is then called by strat to solve the problem.
The only user facing change to this is `set_strategy/2`
```
# was
set_strategy problem, My.Strategy
# now
set_strategy problem, %My.Strategy{}
```
- `Aruspex` no longer delegates it's api to `Aruspex.Server`, please use
`Aruspex.Server` directly instead.
- Changes to `Aruspex.Server`'s API, `post/2`, `variable/2`, and
`set_search_strategy/2` now return the same `pid` used as the first argument.
This change allows for cleaner API usage:
```elixir
pid
|> variable(:x, 1..2)
|> variable(:y, 1..2)
|> post(linear :x + :y == 1)
|> find_solution
```