slsqp

Crates.ioslsqp
lib.rsslsqp
version0.1.1
sourcesrc
created_at2023-10-09 13:43:52.031596
updated_at2023-10-19 15:38:50.755138
descriptionSLSQP optimizer for Rust
homepage
repositoryhttps://github.com/relf/slsqp/
max_upload_size
id998030
size528,889
Rémi Lafage (relf)

documentation

https://docs.rs/slsqp

README

slsqp - a pure Rust implementation

tests crates.io docs

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

License

The project is released under MIT License.

Commit count: 28

cargo fmt