pounce-presolve 0.2.0

Algorithmic NLP preprocessing as a TNLP wrapper for POUNCE: bound tightening, redundant-constraint removal, LICQ degeneracy detection.
Documentation
  • Coverage
  • 81.97%
    50 out of 61 items documented0 out of 25 items with examples
  • Size
  • Source code size: 68.19 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.05 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 4s Average build duration of successful builds.
  • all releases: 10s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • jkitchin/pounce
    12 2 6
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • jkitchin

pounce-presolve

Algorithmic NLP preprocessing for POUNCE, exposed as a TNLP wrapper.

Internal crate. Wraps a user TNLP and applies presolve passes before the IPM ever sees the problem:

  • Bound tightening — propagates implied bounds from linear constraints back onto variable boxes.
  • Redundant-constraint removal — drops constraints that are implied by the variable bounds.
  • LICQ degeneracy detection — flags rank-deficient constraint Jacobians so the algorithm can pick a more robust strategy (e.g. the ℓ₁ exact penalty-barrier in pounce-l1penalty).

Opt-in. Off by default; enable via SolverOptions::presolve = true.

Status

Scaffolding. Bound tightening and redundant-row elimination land first; the LICQ detector is wired against the algorithm crate's inertia signal.

License

EPL-2.0.