pub struct PounceOptions {
pub universal: UniversalOptions,
pub tol: Option<f64>,
pub max_iter: Option<u32>,
pub print_level: Option<u32>,
pub mu_strategy: Option<MuStrategy>,
pub algorithm: Option<PounceAlgorithm>,
pub solver_selection: Option<PounceSolverSelection>,
pub extra: Vec<(String, PounceOptionValue)>,
/* private fields */
}Expand description
POUNCE-specific solver options.
For more information about POUNCE’s options, see the documented option reference.
Invalid option names or out-of-range values are reported by POUNCE and
surface as a SolverError::Backend at
solve time.
UniversalOptions mapping:
time_limit -> max_cpu_time,
verbose -> print_level 5 (else 0) and captures the iteration log
into SolverResult::raw_log,
threads is ignored.
Fields§
§universal: UniversalOptions§tol: Option<f64>Desired convergence tolerance (tol).
max_iter: Option<u32>Iteration limit (max_iter).
print_level: Option<u32>Output verbosity 0–12 (print_level); overrides verbose.
mu_strategy: Option<MuStrategy>Barrier parameter update strategy (mu_strategy).
algorithm: Option<PounceAlgorithm>POUNCE’s general-NLP algorithm. Defaults to the interior-point method whenever structural routing selects the NLP engine.
solver_selection: Option<PounceSolverSelection>Structural solver route. PounceSolverSelection::Auto is used when
omitted and sends provably convex models to POUNCE’s specialized
convex engines.
extra: Vec<(String, PounceOptionValue)>Escape hatch: raw POUNCE options applied last.
Implementations§
Source§impl PounceOptions
impl PounceOptions
Sourcepub fn mu_max_fact(self, v: f64) -> Self
pub fn mu_max_fact(self, v: f64) -> Self
Set the POUNCE mu_max_fact option.
Sourcepub fn mu_linear_decrease_factor(self, v: f64) -> Self
pub fn mu_linear_decrease_factor(self, v: f64) -> Self
Set the POUNCE mu_linear_decrease_factor option.
Sourcepub fn mu_superlinear_decrease_power(self, v: f64) -> Self
pub fn mu_superlinear_decrease_power(self, v: f64) -> Self
Set the POUNCE mu_superlinear_decrease_power option.
Sourcepub fn barrier_tol_factor(self, v: f64) -> Self
pub fn barrier_tol_factor(self, v: f64) -> Self
Set the POUNCE barrier_tol_factor option.
Sourcepub fn adaptive_mu_globalization(self, v: impl Into<String>) -> Self
pub fn adaptive_mu_globalization(self, v: impl Into<String>) -> Self
Set the POUNCE adaptive_mu_globalization option.
Sourcepub fn quality_function_norm_type(self, v: impl Into<String>) -> Self
pub fn quality_function_norm_type(self, v: impl Into<String>) -> Self
Set the POUNCE quality_function_norm_type option.
Sourcepub fn quality_function_centrality(self, v: impl Into<String>) -> Self
pub fn quality_function_centrality(self, v: impl Into<String>) -> Self
Set the POUNCE quality_function_centrality option.
Sourcepub fn quality_function_balancing_term(self, v: impl Into<String>) -> Self
pub fn quality_function_balancing_term(self, v: impl Into<String>) -> Self
Set the POUNCE quality_function_balancing_term option.
Sourcepub fn quality_function_max_section_steps(self, v: i32) -> Self
pub fn quality_function_max_section_steps(self, v: i32) -> Self
Set the POUNCE quality_function_max_section_steps option.
Sourcepub fn quality_function_section_sigma_tol(self, v: f64) -> Self
pub fn quality_function_section_sigma_tol(self, v: f64) -> Self
Set the POUNCE quality_function_section_sigma_tol option.
Sourcepub fn quality_function_section_qf_tol(self, v: f64) -> Self
pub fn quality_function_section_qf_tol(self, v: f64) -> Self
Set the POUNCE quality_function_section_qf_tol option.
Sourcepub fn adaptive_mu_safeguard_factor(self, v: f64) -> Self
pub fn adaptive_mu_safeguard_factor(self, v: f64) -> Self
Set the POUNCE adaptive_mu_safeguard_factor option.
Sourcepub fn adaptive_mu_monotone_init_factor(self, v: f64) -> Self
pub fn adaptive_mu_monotone_init_factor(self, v: f64) -> Self
Set the POUNCE adaptive_mu_monotone_init_factor option.
Sourcepub fn adaptive_mu_restore_previous_iterate(self, v: bool) -> Self
pub fn adaptive_mu_restore_previous_iterate(self, v: bool) -> Self
Set the POUNCE adaptive_mu_restore_previous_iterate option.
Sourcepub fn adaptive_mu_kkterror_red_iters(self, v: i32) -> Self
pub fn adaptive_mu_kkterror_red_iters(self, v: i32) -> Self
Set the POUNCE adaptive_mu_kkterror_red_iters option.
Sourcepub fn adaptive_mu_kkterror_red_fact(self, v: f64) -> Self
pub fn adaptive_mu_kkterror_red_fact(self, v: f64) -> Self
Set the POUNCE adaptive_mu_kkterror_red_fact option.
Sourcepub fn adaptive_mu_kkt_norm_type(self, v: impl Into<String>) -> Self
pub fn adaptive_mu_kkt_norm_type(self, v: impl Into<String>) -> Self
Set the POUNCE adaptive_mu_kkt_norm_type option.
Sourcepub fn l1_exact_penalty_barrier(self, v: bool) -> Self
pub fn l1_exact_penalty_barrier(self, v: bool) -> Self
Set the POUNCE l1_exact_penalty_barrier option.
Sourcepub fn l1_fallback_on_restoration_failure(self, v: bool) -> Self
pub fn l1_fallback_on_restoration_failure(self, v: bool) -> Self
Set the POUNCE l1_fallback_on_restoration_failure option.
Sourcepub fn l1_penalty_init(self, v: f64) -> Self
pub fn l1_penalty_init(self, v: f64) -> Self
Set the POUNCE l1_penalty_init option.
Sourcepub fn l1_penalty_max(self, v: f64) -> Self
pub fn l1_penalty_max(self, v: f64) -> Self
Set the POUNCE l1_penalty_max option.
Sourcepub fn l1_penalty_increase_factor(self, v: f64) -> Self
pub fn l1_penalty_increase_factor(self, v: f64) -> Self
Set the POUNCE l1_penalty_increase_factor option.
Sourcepub fn l1_penalty_max_outer_iter(self, v: i32) -> Self
pub fn l1_penalty_max_outer_iter(self, v: i32) -> Self
Set the POUNCE l1_penalty_max_outer_iter option.
Sourcepub fn l1_slack_tol(self, v: f64) -> Self
pub fn l1_slack_tol(self, v: f64) -> Self
Set the POUNCE l1_slack_tol option.
Sourcepub fn l1_steering_factor(self, v: f64) -> Self
pub fn l1_steering_factor(self, v: f64) -> Self
Set the POUNCE l1_steering_factor option.
Sourcepub fn presolve_bound_tightening(self, v: bool) -> Self
pub fn presolve_bound_tightening(self, v: bool) -> Self
Set the POUNCE presolve_bound_tightening option.
Sourcepub fn presolve_redundant_constraint_removal(self, v: bool) -> Self
pub fn presolve_redundant_constraint_removal(self, v: bool) -> Self
Set the POUNCE presolve_redundant_constraint_removal option.
Sourcepub fn presolve_linear_eq_reduction(self, v: bool) -> Self
pub fn presolve_linear_eq_reduction(self, v: bool) -> Self
Set the POUNCE presolve_linear_eq_reduction option.
Sourcepub fn presolve_licq_check(self, v: bool) -> Self
pub fn presolve_licq_check(self, v: bool) -> Self
Set the POUNCE presolve_licq_check option.
Sourcepub fn presolve_licq_action(self, v: impl Into<String>) -> Self
pub fn presolve_licq_action(self, v: impl Into<String>) -> Self
Set the POUNCE presolve_licq_action option.
Sourcepub fn presolve_warm_z_bounds(self, v: bool) -> Self
pub fn presolve_warm_z_bounds(self, v: bool) -> Self
Set the POUNCE presolve_warm_z_bounds option.
Sourcepub fn presolve_bound_mult_init_val(self, v: f64) -> Self
pub fn presolve_bound_mult_init_val(self, v: f64) -> Self
Set the POUNCE presolve_bound_mult_init_val option.
Sourcepub fn presolve_max_passes(self, v: i32) -> Self
pub fn presolve_max_passes(self, v: i32) -> Self
Set the POUNCE presolve_max_passes option.
Sourcepub fn presolve_print_level(self, v: i32) -> Self
pub fn presolve_print_level(self, v: i32) -> Self
Set the POUNCE presolve_print_level option.
Sourcepub fn presolve_fbbt(self, v: bool) -> Self
pub fn presolve_fbbt(self, v: bool) -> Self
Set the POUNCE presolve_fbbt option.
Sourcepub fn fbbt_max_iter(self, v: i32) -> Self
pub fn fbbt_max_iter(self, v: i32) -> Self
Set the POUNCE fbbt_max_iter option.
Sourcepub fn fbbt_max_constraints(self, v: i32) -> Self
pub fn fbbt_max_constraints(self, v: i32) -> Self
Set the POUNCE fbbt_max_constraints option.
Sourcepub fn presolve_auxiliary(self, v: bool) -> Self
pub fn presolve_auxiliary(self, v: bool) -> Self
Set the POUNCE presolve_auxiliary option.
Sourcepub fn presolve_auxiliary_coupling(self, v: impl Into<String>) -> Self
pub fn presolve_auxiliary_coupling(self, v: impl Into<String>) -> Self
Set the POUNCE presolve_auxiliary_coupling option.
Sourcepub fn presolve_auxiliary_tol(self, v: f64) -> Self
pub fn presolve_auxiliary_tol(self, v: f64) -> Self
Set the POUNCE presolve_auxiliary_tol option.
Sourcepub fn presolve_auxiliary_max_block_dim(self, v: i32) -> Self
pub fn presolve_auxiliary_max_block_dim(self, v: i32) -> Self
Set the POUNCE presolve_auxiliary_max_block_dim option.
Sourcepub fn presolve_auxiliary_wall_time_fraction(self, v: f64) -> Self
pub fn presolve_auxiliary_wall_time_fraction(self, v: f64) -> Self
Set the POUNCE presolve_auxiliary_wall_time_fraction option.
Sourcepub fn presolve_auxiliary_diagnostics(self, v: bool) -> Self
pub fn presolve_auxiliary_diagnostics(self, v: bool) -> Self
Set the POUNCE presolve_auxiliary_diagnostics option.
Sourcepub fn linear_solver(self, v: impl Into<String>) -> Self
pub fn linear_solver(self, v: impl Into<String>) -> Self
Set the POUNCE linear_solver option.
Sourcepub fn feral_ordering(self, v: impl Into<String>) -> Self
pub fn feral_ordering(self, v: impl Into<String>) -> Self
Set the POUNCE feral_ordering option.
Sourcepub fn feral_scaling(self, v: impl Into<String>) -> Self
pub fn feral_scaling(self, v: impl Into<String>) -> Self
Set the POUNCE feral_scaling option.
Sourcepub fn feral_pivtol(self, v: f64) -> Self
pub fn feral_pivtol(self, v: f64) -> Self
Set the POUNCE feral_pivtol option.
Sourcepub fn feral_refine(self, v: bool) -> Self
pub fn feral_refine(self, v: bool) -> Self
Set the POUNCE feral_refine option.
Sourcepub fn feral_cascade_break(self, v: bool) -> Self
pub fn feral_cascade_break(self, v: bool) -> Self
Set the POUNCE feral_cascade_break option.
Sourcepub fn feral_singular_pivot_floor(self, v: f64) -> Self
pub fn feral_singular_pivot_floor(self, v: f64) -> Self
Set the POUNCE feral_singular_pivot_floor option.
Sourcepub fn acceptable_progress_kappa(self, v: f64) -> Self
pub fn acceptable_progress_kappa(self, v: f64) -> Self
Set the POUNCE acceptable_progress_kappa option.
Sourcepub fn dual_inf_scale_kappa(self, v: f64) -> Self
pub fn dual_inf_scale_kappa(self, v: f64) -> Self
Set the POUNCE dual_inf_scale_kappa option.
Sourcepub fn feral_inertia_pivot_floor(self, v: f64) -> Self
pub fn feral_inertia_pivot_floor(self, v: f64) -> Self
Set the POUNCE feral_inertia_pivot_floor option.
Sourcepub fn infeasibility_mu_strategy_retry(self, v: bool) -> Self
pub fn infeasibility_mu_strategy_retry(self, v: bool) -> Self
Set the POUNCE infeasibility_mu_strategy_retry option.
Sourcepub fn primal_noise_floor_kappa(self, v: f64) -> Self
pub fn primal_noise_floor_kappa(self, v: f64) -> Self
Set the POUNCE primal_noise_floor_kappa option.
Sourcepub fn qp_tau_max(self, v: f64) -> Self
pub fn qp_tau_max(self, v: f64) -> Self
Set the POUNCE qp_tau_max option.
Sourcepub fn resto_decline_deferrals(self, v: i32) -> Self
pub fn resto_decline_deferrals(self, v: i32) -> Self
Set the POUNCE resto_decline_deferrals option.
Sourcepub fn resto_decline_progress_ratio(self, v: f64) -> Self
pub fn resto_decline_progress_ratio(self, v: f64) -> Self
Set the POUNCE resto_decline_progress_ratio option.
Sourcepub fn sqp_qp_max_schur_updates_before_refactor(self, v: i32) -> Self
pub fn sqp_qp_max_schur_updates_before_refactor(self, v: i32) -> Self
Set the POUNCE sqp_qp_max_schur_updates_before_refactor option.
Sourcepub fn sqp_qp_use_homotopy(self, v: bool) -> Self
pub fn sqp_qp_use_homotopy(self, v: bool) -> Self
Set the POUNCE sqp_qp_use_homotopy option.
Sourcepub fn sqp_qp_use_schur_updates(self, v: bool) -> Self
pub fn sqp_qp_use_schur_updates(self, v: bool) -> Self
Set the POUNCE sqp_qp_use_schur_updates option.
Sourcepub fn theta_max_adaptive_factor(self, v: f64) -> Self
pub fn theta_max_adaptive_factor(self, v: f64) -> Self
Set the POUNCE theta_max_adaptive_factor option.
Sourcepub fn theta_max_adaptive_max_raises(self, v: i32) -> Self
pub fn theta_max_adaptive_max_raises(self, v: i32) -> Self
Set the POUNCE theta_max_adaptive_max_raises option.
Sourcepub fn theta_max_adaptive_trigger(self, v: i32) -> Self
pub fn theta_max_adaptive_trigger(self, v: i32) -> Self
Set the POUNCE theta_max_adaptive_trigger option.
Sourcepub fn theta_max_row_scale_kappa(self, v: f64) -> Self
pub fn theta_max_row_scale_kappa(self, v: f64) -> Self
Set the POUNCE theta_max_row_scale_kappa option.
Sourcepub fn qp_presolve(self, v: bool) -> Self
pub fn qp_presolve(self, v: bool) -> Self
Set the POUNCE qp_presolve option.
Sourcepub fn qp_infeas_tol(self, v: f64) -> Self
pub fn qp_infeas_tol(self, v: f64) -> Self
Set the POUNCE qp_infeas_tol option.
Sourcepub fn qp_equilibrate(self, v: bool) -> Self
pub fn qp_equilibrate(self, v: bool) -> Self
Set the POUNCE qp_equilibrate option.
Sourcepub fn qp_crossover(self, v: bool) -> Self
pub fn qp_crossover(self, v: bool) -> Self
Set the POUNCE qp_crossover option.
Sourcepub fn feral_infeasibility_scaling_retry(self, v: bool) -> Self
pub fn feral_infeasibility_scaling_retry(self, v: bool) -> Self
Set the POUNCE feral_infeasibility_scaling_retry option.
Sourcepub fn sqp_qp_max_iter(self, v: i32) -> Self
pub fn sqp_qp_max_iter(self, v: i32) -> Self
Set the POUNCE sqp_qp_max_iter option.
Sourcepub fn sqp_qp_feas_tol(self, v: f64) -> Self
pub fn sqp_qp_feas_tol(self, v: f64) -> Self
Set the POUNCE sqp_qp_feas_tol option.
Sourcepub fn sqp_qp_opt_tol(self, v: f64) -> Self
pub fn sqp_qp_opt_tol(self, v: f64) -> Self
Set the POUNCE sqp_qp_opt_tol option.
Sourcepub fn sqp_qp_elastic_gamma(self, v: f64) -> Self
pub fn sqp_qp_elastic_gamma(self, v: f64) -> Self
Set the POUNCE sqp_qp_elastic_gamma option.
Sourcepub fn sqp_qp_anti_cycling(self, v: impl Into<String>) -> Self
pub fn sqp_qp_anti_cycling(self, v: impl Into<String>) -> Self
Set the POUNCE sqp_qp_anti_cycling option.
pub fn tol(self, tol: f64) -> Self
pub fn max_iter(self, n: u32) -> Self
pub fn print_level(self, level: u32) -> Self
pub fn mu_strategy(self, s: MuStrategy) -> Self
Sourcepub fn algorithm(self, algorithm: PounceAlgorithm) -> Self
pub fn algorithm(self, algorithm: PounceAlgorithm) -> Self
Select POUNCE’s top-level algorithm.
Sourcepub fn solver_selection(self, selection: PounceSolverSelection) -> Self
pub fn solver_selection(self, selection: PounceSolverSelection) -> Self
Select POUNCE’s structural solver route.
Trait Implementations§
Source§impl Clone for PounceOptions
impl Clone for PounceOptions
Source§fn clone(&self) -> PounceOptions
fn clone(&self) -> PounceOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PounceOptions
impl Debug for PounceOptions
Source§impl Default for PounceOptions
impl Default for PounceOptions
Source§fn default() -> PounceOptions
fn default() -> PounceOptions
Source§impl HasUniversal for PounceOptions
impl HasUniversal for PounceOptions
fn universal(&self) -> &UniversalOptions
fn universal_mut(&mut self) -> &mut UniversalOptions
Source§impl PartialEq for PounceOptions
impl PartialEq for PounceOptions
impl StructuralPartialEq for PounceOptions
Auto Trait Implementations§
impl Freeze for PounceOptions
impl RefUnwindSafe for PounceOptions
impl Send for PounceOptions
impl Sync for PounceOptions
impl Unpin for PounceOptions
impl UnsafeUnpin for PounceOptions
impl UnwindSafe for PounceOptions
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,
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> ⓘ
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