5 releases
0.1.1 | Oct 19, 2023 |
---|---|
0.1.0 | Oct 13, 2023 |
0.1.0-alpha.3 | Oct 10, 2023 |
0.1.0-alpha.2 | Oct 9, 2023 |
#1206 in Algorithms
361 downloads per month
Used in 2 crates
(via egobox-ego)
490KB
12K
SLoC
slsqp - a pure Rust implementation
SLSQP is a sequential quadratic programming algorithm for nonlinearly constrained gradient-based optimization based on the implementation by Dieter Kraft and described in:
Dieter Kraft, "A software package for sequential quadratic programming", Technical Report DFVLR-FB 88-28, Institut für Dynamik der Flugsysteme, Oberpfaffenhofen, July 1988. Dieter Kraft, "Algorithm 733: TOMP–Fortran modules for optimal control calculations," ACM Transactions on Mathematical Software, vol. 20, no. 3, pp. 262-281 (1994).
The Rust code was generated/adapted from the C code from the NLopt project (version 2.7.1).
The algorithme is available here as a minimize
function.
An initial transpilation was done with c2rust then the code was manually edited to make it work. The callback mechanism is inspired from the Rust binding of NLopt, namely rust-nlopt.
Example
cargo run --example paraboloid
Related projects
- rust-nlopt: the Rust binding of the NLopt project
- cobyla: a pure Rust implementation of the COBYLA algorithm.
License
The project is released under MIT License.