Skip to main content

Args

Struct Args 

Source
pub struct Args {
Show 26 fields pub problem: ProblemSource, pub options_file: Option<PathBuf>, pub set_options: Vec<(String, String)>, pub json_output: Option<PathBuf>, pub json_detail: ReportDetail, pub sol_output: Option<PathBuf>, pub no_sol: bool, pub ampl: bool, pub help: bool, pub version: bool, pub about: bool, pub cite: bool, pub cite_report: Option<PathBuf>, pub cite_bibtex: bool, pub dump_specs: Vec<(String, String)>, pub dump_dir: Option<PathBuf>, pub dump_format: Option<String>, pub sens_boundcheck: bool, pub sens_bound_eps: f64, pub compute_red_hessian: bool, pub rh_eigendecomp: bool, pub debug: Option<DebugMode>, pub debug_on_error: bool, pub debug_on_interrupt: bool, pub debug_script: Option<PathBuf>, pub minima: Option<MinimaArgs>,
}

Fields§

§problem: ProblemSource§options_file: Option<PathBuf>§set_options: Vec<(String, String)>

key=value options collected from the command line. Forwarded to the application’s OptionsList after the options-file load (so CLI args override file values), mirroring upstream ipopt’s ipopt problem.nl print_level=8 ... convention.

§json_output: Option<PathBuf>

--json-output PATH — when set, the binary writes a machine-readable JSON solve report to PATH after the solve completes. See crate::solve_report (pounce#8).

§json_detail: ReportDetail

--json-detail summary|full — controls how much detail the JSON report carries. Defaults to Summary. Full adds per-iteration history and suffix blocks; same scale as upstream’s print_level but on the JSON side.

§sol_output: Option<PathBuf>

--sol-output PATH — write an AMPL .sol solution file to PATH. When unset, a positional .nl input still gets a sibling <stub>.sol (the AMPL solver convention); --no-sol opts out of that default. Builtin problems have no stub, so they only produce a .sol when this flag is given explicitly.

§no_sol: bool

--no-sol — suppress the default <stub>.sol write for .nl inputs.

§ampl: bool

-AMPL — the AMPL solver-protocol flag. AMPL and Pyomo’s ASL interface invoke a solver as solver problem.nl -AMPL. It needs no positional behavior (pounce already reads the .nl and writes <stub>.sol), but it does switch the process exit-code contract: in AMPL mode the termination is conveyed through the .sol file’s solve_result_num, so the process exits 0 for any non-fatal solve outcome (limit reached, infeasible, etc.) rather than the non-zero code the plain CLI uses.

§help: bool§version: bool§about: bool

--about: print build metadata, compiled-in features, available linear solvers, and runtime paths. Used for bug reports.

§cite: bool

--cite [REPORT.json]: print the citations a user should include when publishing pounce results, then exit. Always lists the static core (pounce itself + Wächter-Biegler). When a solve-report JSON path follows, adds solve-aware extras for features the run actually used (v1: the restoration phase). A terminal mode like --about — requires no problem.

§cite_report: Option<PathBuf>

Optional solve-report path consumed by --cite (the immediately following argument, iff present and not another flag).

§cite_bibtex: bool

--bibtex: render --cite output as BibTeX instead of the human list. No effect without --cite.

§dump_specs: Vec<(String, String)>

--dump <cat>[:<iter-spec>], repeatable. Each entry asks the solver to dump one diagnostic category at the specified iter range (all, N, N-M, N-, -M); omitting the spec is equivalent to :all. Forwarded to pounce_common::diagnostics::DiagnosticsConfig.

§dump_dir: Option<PathBuf>

--dump-dir <path>: override the dump root. Defaults to ./pounce-dump-<unix-secs>, picked at solve-start time.

§dump_format: Option<String>

--dump-format <fmt>: dump file format. Currently only jsonl.

§sens_boundcheck: bool

--sens-boundcheck — clamp the perturbed primal x* + Δx onto the declared [x_l, x_u] box after the sensitivity step. Only has effect when the .nl declares the sIPOPT suffixes. Mirrors upstream sIPOPT’s sens_boundcheck.

§sens_bound_eps: f64

--sens-bound-eps <eps> — tolerance for --sens-boundcheck (default 1e-3). Setting it also enables --sens-boundcheck.

§compute_red_hessian: bool

--compute-red-hessian — after the solve, compute the reduced Hessian over the variables tagged by the red_hessian integer var-suffix in the input .nl. Mirrors upstream sIPOPT’s compute_red_hessian.

§rh_eigendecomp: bool

--rh-eigendecomp — also compute the eigendecomposition of the reduced Hessian. Implies --compute-red-hessian. Mirrors upstream rh_eigendecomp.

§debug: Option<DebugMode>

--debug / --debug-json — drop into the interactive solver debugger at each iteration. Repl is the human line-oriented front end; Json speaks newline-delimited JSON so an LLM agent (or any program) can drive the loop. None disables it.

§debug_on_error: bool

--debug-on-error — don’t pause every iteration; instead run freely and only drop into the debugger at the terminal checkpoint if the solve did not succeed, for a post-mortem at the failing iterate. Implies --debug (REPL) when no --debug* mode is given.

§debug_on_interrupt: bool

--debug-on-interrupt — run normally but install a Ctrl-C handler that drops into the debugger at the next iteration. No automatic pauses. Implies --debug (REPL) when no --debug* mode is given.

§debug_script: Option<PathBuf>

--debug-script <file> — run debugger commands from a file at the first pause (e.g. set breakpoints then continue). Implies --debug when no --debug* mode is given.

§minima: Option<MinimaArgs>

--minima <method> (or --multistart) — search for multiple local minima instead of a single solve. None keeps the default single-solve behaviour. See MinimaArgs for the strategy knobs. Mirrors pounce.find_minima (python/pounce/_minima.py).

Implementations§

Source§

impl Args

Source

pub fn usage() -> &'static str

Source

pub fn parse_argv(argv: Vec<String>) -> Result<Self, String>

Trait Implementations§

Source§

impl Clone for Args

Source§

fn clone(&self) -> Args

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Args

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Args

§

impl RefUnwindSafe for Args

§

impl Send for Args

§

impl Sync for Args

§

impl Unpin for Args

§

impl UnsafeUnpin for Args

§

impl UnwindSafe for Args

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ByRef<T> for T

Source§

fn by_ref(&self) -> &T

Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more