Expand description
AMPL .nl reader, reverse-mode AD tape, and TNLP evaluator.
This crate holds the .nl pipeline that used to live in pounce-cli:
nl_readerparses a.nlfile into annl_reader::NlProblem(theExprDAG, linear parts, bounds, names, starting point) and providesnl_reader::NlTnlp, apounce_nlp::tnlp::TNLPimplementation that evaluates objective/gradient/Hessian and constraints/Jacobian.nl_tapeflattens anExprDAG into a reverse-mode AD tape with colored forward-over-reverse Hessian products.nl_externalsupports AMPL imported (external) functions via thefuncadd_ASLABI.nl_fbbt_translatelowers anExprto anFbbtTapefor feasibility-based bound tightening.
It is a leaf crate (depends only on pounce-common and pounce-nlp) so
both the CLI and the Python bindings can read and evaluate .nl models
without depending on each other.
Modulesยง
- nl_
external - AMPL imported (external) function support via the
funcadd_ASLABI. - nl_
fbbt_ translate - Translate parsed
.nlconstraint expressions into anFbbtTapefor the presolve FBBT pass (issue #62). - nl_
reader - Minimal AMPL
.nlASCII-format reader. - nl_tape
- Flat-tape reverse-mode AD for
.nlexpression trees.