Expand description
Minimal NLP-evaluation trait the SQP outer loop binds against.
Distinct from crate::ipopt_nlp::IpoptNlp (the rich IPM-
shaped interface with slacks, bound vector spaces, and
IPM-specific initialization hooks). SqpProblemSpec is a thin
evaluation surface — just what SqpAlgorithm::optimize calls
per iteration.
The adapter from IpoptNlp to SqpProblemSpec lives in
crate::sqp::ipopt_adapter::IpoptNlpAdapter, so the same
benchmarks (CUTEst, .nl files, pounce-py) drive both
algorithm paths via the AlgorithmChoice dispatch in
alg_builder.