3 个版本 (破坏性更新)
使用旧的 Rust 2015
0.2.0 | 2020 年 4 月 11 日 |
---|---|
0.1.0 | 2016 年 6 月 6 日 |
0.0.1 | 2016 年 4 月 26 日 |
#1782 in 算法
199 个月下载量
在 2 个crate中使用(通过 finalytics)
35KB
630 行
优化算法和策略集合。
优化算法和策略集合。
用法
extern crate optimization;
use optimmization::{Minimizer, GradientDescent, NumericalDifferentiation, Func};
// numeric version of the Rosenbrock function
let function = NumericalDifferentiation::new(Func(|x: &[f64]| {
(1.0 - x[0]).powi(2) + 100.0*(x[1] - x[0].powi(2)).powi(2)
}));
// we use a simple gradient descent scheme
let minimizer = GradientDescent::new();
// perform the actual minimization, depending on the task this may
// take some time, it may be useful to install a log sink to see
// what's going on
let solution = minimizer.minimize(&function, vec![-3.0, -4.0]);
println!("Found solution for Rosenbrock function at f({:?}) = {:?}",
solution.position, solution.value);
安装
只需将其作为 Cargo
依赖项添加
[dependencies]
optimization = "*"
文档
有关全面文档,请访问 API 文档。
开发
只需下载此crate,添加您的代码,编写一些测试并创建一个 pull request。非常简单! :)
$ cargo test
$ cargo clippy
许可证
本软件根据 MIT 许可证许可。请参阅 LICENSE 获取详细信息。
依赖关系
~1MB
~16K SLoC