3 个版本 (破坏性更新)

使用旧的 Rust 2015

0.2.0 2020 年 4 月 11 日
0.1.0 2016 年 6 月 6 日
0.0.1 2016 年 4 月 26 日

#1782 in 算法

Download history 246/week @ 2024-03-11 70/week @ 2024-03-18 38/week @ 2024-03-25 131/week @ 2024-04-01 210/week @ 2024-04-08 18/week @ 2024-04-15 60/week @ 2024-04-22 87/week @ 2024-04-29 125/week @ 2024-05-06 56/week @ 2024-05-13 27/week @ 2024-05-20 17/week @ 2024-05-27 21/week @ 2024-06-03 26/week @ 2024-06-10 113/week @ 2024-06-17 37/week @ 2024-06-24

199 个月下载量
2 个crate中使用(通过 finalytics

MIT 许可证

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