pub struct Args {Show 18 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 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,
}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.
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.
Implementations§
Trait Implementations§
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> 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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