pub struct Pounce;Expand description
The POUNCE interior-point backend: a pure-Rust IPOPT port.
Solves continuous LP/QP/QCP/NLP models.
On stable Rust an all-linear/quadratic model gets exact analytic
derivatives (including the Hessian).
A model with nonlinear functions is handed to POUNCE’s builder, which
finite-differences them with an L-BFGS Hessian. With the enzyme
feature everything is exact via oximo-autodiff.
Trait Implementations§
impl Copy for Pounce
Source§impl PersistentSolver for Pounce
impl PersistentSolver for Pounce
Source§type Handle = PouncePersistent
type Handle = PouncePersistent
The stateful, resident handle. Solving the same (or a structurally identical)
model on it repeatedly reuses the build.
Source§fn persistent(&self) -> Self::Handle
fn persistent(&self) -> Self::Handle
Create a fresh resident handle with no model loaded yet.
The first
solve builds it.Source§impl Solver for Pounce
impl Solver for Pounce
Source§type Options = PounceOptions
type Options = PounceOptions
Backend-specific options struct. Use
() for solvers without any
tunables.fn name(&self) -> &str
fn supports(&self, kind: ModelKind) -> bool
Source§fn solve(
&mut self,
model: &Model,
opts: &Self::Options,
) -> Result<SolverResult, SolverError>
fn solve( &mut self, model: &Model, opts: &Self::Options, ) -> Result<SolverResult, SolverError>
Solves the given
Model using this solver. Read moreAuto Trait Implementations§
impl Freeze for Pounce
impl RefUnwindSafe for Pounce
impl Send for Pounce
impl Sync for Pounce
impl Unpin for Pounce
impl UnsafeUnpin for Pounce
impl UnwindSafe for Pounce
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more