4 个版本
使用旧的 Rust 2015
0.2.2 | 2016 年 9 月 11 日 |
---|---|
0.2.1 | 2016 年 9 月 11 日 |
0.2.0 | 2016 年 9 月 11 日 |
0.1.3 | 2016 年 9 月 8 日 |
在 #进化 中排名 #40
20KB
212 行
差分进化
使用自适应差分进化算法(参见 Self-Adapting Differential Evolution)为 Rust 提供简单而强大的全局优化。更多信息请参见维基百科上的 差分进化 条目。
文档:https://docs.rs/differential-evolution/*/differential_evolution/
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
differential-evolution = "*"
并将其添加到您的 crate 根目录
extern crate differential_evolution;
示例
差分进化是一种全局优化算法,它试图通过迭代改进候选解,以用户定义的成本函数为依据。
此示例找到一个简单的 5 维函数的最小值。
extern crate differential_evolution;
use differential_evolution::self_adaptive_de;
fn main() {
// create a self adaptive DE with an inital search area
// from -10 to 10 in 5 dimensions.
let mut de = self_adaptive_de(vec![(-10.0, 10.0); 5], |pos| {
// cost function to minimize: sum of squares
pos.iter().fold(0.0, |sum, x| sum + x*x)
});
// perform 10000 cost evaluations
de.iter().nth(10000);
// show the result
let (cost, pos) = de.best().unwrap();
println!("cost: {}", cost);
println!("pos: {:?}", pos);
}
类似 Crates
许可证
在以下任一许可证下发布:
- Apache 许可证 2.0 版本,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在作品中的任何贡献,均应双许可如上所述,不附加任何额外条款或条件。
依赖项
~320–540KB