#进化 #优化 #DE #遗传

differential-evolution

使用自适应差分进化算法的简单而强大的全局优化

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

MIT/Apache

20KB
212

差分进化 Crates 版本 构建状态

使用自适应差分进化算法(参见 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 许可证定义的,您有意提交以包含在作品中的任何贡献,均应双许可如上所述,不附加任何额外条款或条件。

依赖项

~320–540KB