simple_optimization
Some simple multi-threaded optimizers.
You could do a random search like:
use Arc;
use ;
// Our evaluation function takes 3 `f64`s and no additional data `()`.
let best = random_search!;
assert!;
Which during execution will give an output like:
1000
500 (50.00%) 00:00:11 / 00:00:47 [25.600657363049734]
Representing:
<Total number of samples>
<Current number of samples> (<Percentage of samples taken>) <Time running> / <ETA> [<Current best value>]
Support
Optimizer | Status |
---|---|
Random search | ✅ |
Grid search | ✅ |
Simulated annealing | ✅ |
Bayesian optimization | WIP |
Gradient descent | See my note here |
Genetic algorithms | No plans |
Ant colony optimization | No plans |
Linear programming | No plans |
I made this for my own use since the existing libraries I found felt awkward.