#优化 #约束

slsqp

SLSQP优化器,适用于Rust

5次发布

0.1.1 2023年10月19日
0.1.0 2023年10月13日
0.1.0-alpha.32023年10月10日
0.1.0-alpha.22023年10月9日

#979 in 算法

Download history 52/week @ 2024-04-14 191/week @ 2024-04-21 59/week @ 2024-04-28 40/week @ 2024-05-05 256/week @ 2024-05-12 9/week @ 2024-05-19 104/week @ 2024-05-26 116/week @ 2024-06-02 10/week @ 2024-06-09 174/week @ 2024-06-16 129/week @ 2024-06-23 134/week @ 2024-06-30 217/week @ 2024-07-07 3/week @ 2024-07-14 6/week @ 2024-07-21 118/week @ 2024-07-28

每月 365次下载
2个crate中使用(通过egobox-ego

自定义许可证

490KB
12K SLoC

Rust 8K SLoC // 0.0% comments C 4K SLoC // 0.3% comments

slsqp - 一个纯Rust实现

tests crates.io docs

SLSQP是一种基于Dieter Kraft实现的非线性约束梯度优化顺序二次规划算法,描述在

Dieter Kraft, "用于顺序二次规划的软件包",技术报告DFVLR-FB 88-28,Oberpfaffenhofen动力飞行系统研究所,1988年7月。Dieter Kraft, "算法733:TOMP-Fortran模块用于最优控制计算",ACM数学软件transactions,第20卷,第3期,第262-281页(1994年)。

Rust代码是从NLopt项目的C代码(版本2.7.1)生成的/调整的。该算法在此作为minimize函数提供。最初的翻译工作使用c2rust完成,然后手动编辑代码以使其工作。回调机制灵感来源于NLopt的Rust绑定,即rust-nlopt

示例

cargo run --example paraboloid

许可证

该项目在MIT许可证下发布。

依赖项