Skip to main content

Module ipopt_nlp

Module ipopt_nlp 

Source
Expand description

NLP traits used by the algorithm — port of IpNLP.hpp and IpIpoptNLP.hpp.

The traits themselves live in pounce_nlp::ipopt_nlp (alongside OrigIpoptNlp, which composes TNLPAdapter + NLPScalingObject). They are re-exported from this module so existing imports of the form crate::ipopt_nlp::IpoptNlp / pounce_algorithm::ipopt_nlp::Nlp continue to compile. The relocation avoids a pounce-algorithm ←→ pounce-nlp cycle that would otherwise arise once the concrete OrigIpoptNlp (which depends on TNLPAdapter) wants to implement the algorithm-side trait.

Traits§

IpoptNlp
Algorithm-side NLP (adds scaling-aware variants and provides the bound expansion matrices Px_L, Px_U, Pd_L, Pd_U). Mirrors upstream Ipopt::IpoptNLP.
Nlp
Lower-level NLP interface (post-TNLPAdapter). Equality and inequality constraints are already separated; bounds are already classified into x_l_map / x_u_map / etc.