pub struct CountingTnlp {
pub n_obj: Cell<i32>,
pub n_grad_f: Cell<i32>,
pub n_g: Cell<i32>,
pub n_jac_g: Cell<i32>,
pub n_h: Cell<i32>,
/* private fields */
}Fields§
§n_obj: Cell<i32>§n_grad_f: Cell<i32>§n_g: Cell<i32>§n_jac_g: Cell<i32>§n_h: Cell<i32>Implementations§
Trait Implementations§
Source§impl TNLP for CountingTnlp
impl TNLP for CountingTnlp
Source§fn get_nlp_info(&mut self) -> Option<NlpInfo>
fn get_nlp_info(&mut self) -> Option<NlpInfo>
Required. Problem dimensions and triplet index style.
Source§fn get_bounds_info(&mut self, b: BoundsInfo<'_>) -> bool
fn get_bounds_info(&mut self, b: BoundsInfo<'_>) -> bool
Required. Variable / constraint bounds.
Source§fn get_starting_point(&mut self, sp: StartingPoint<'_>) -> bool
fn get_starting_point(&mut self, sp: StartingPoint<'_>) -> bool
Required. Initial primal (and optionally dual) point.
Source§fn eval_f(&mut self, x: &[Number], new_x: bool) -> Option<Number>
fn eval_f(&mut self, x: &[Number], new_x: bool) -> Option<Number>
Required. Objective value at
x.Source§fn eval_grad_f(
&mut self,
x: &[Number],
new_x: bool,
grad_f: &mut [Number],
) -> bool
fn eval_grad_f( &mut self, x: &[Number], new_x: bool, grad_f: &mut [Number], ) -> bool
Required. Objective gradient at
x into grad_f.Source§fn eval_g(&mut self, x: &[Number], new_x: bool, g: &mut [Number]) -> bool
fn eval_g(&mut self, x: &[Number], new_x: bool, g: &mut [Number]) -> bool
Required. Constraint values
g(x).Source§fn eval_jac_g(
&mut self,
x: Option<&[Number]>,
new_x: bool,
mode: SparsityRequest<'_>,
) -> bool
fn eval_jac_g( &mut self, x: Option<&[Number]>, new_x: bool, mode: SparsityRequest<'_>, ) -> bool
Required. Jacobian of
g. Sparsity vs. values selected by
mode. x and new_x are unused on the structure call.Source§fn eval_h(
&mut self,
x: Option<&[Number]>,
new_x: bool,
obj_factor: Number,
lambda: Option<&[Number]>,
new_lambda: bool,
mode: SparsityRequest<'_>,
) -> bool
fn eval_h( &mut self, x: Option<&[Number]>, new_x: bool, obj_factor: Number, lambda: Option<&[Number]>, new_lambda: bool, mode: SparsityRequest<'_>, ) -> bool
Required for exact Hessian, optional for L-BFGS. Hessian
of the Lagrangian. Default returns false (signals to %Ipopt
that quasi-Newton must be used).
Source§fn finalize_solution(
&mut self,
sol: Solution<'_>,
ip_data: &IpoptData,
ip_cq: &IpoptCq,
)
fn finalize_solution( &mut self, sol: Solution<'_>, ip_data: &IpoptData, ip_cq: &IpoptCq, )
Required. Receives the final iterate after solve.
Source§fn get_var_con_metadata(
&mut self,
var: &mut MetaData,
con: &mut MetaData,
) -> bool
fn get_var_con_metadata( &mut self, var: &mut MetaData, con: &mut MetaData, ) -> bool
Provide variable/constraint metadata (e.g.
idx_names).
Default: no metadata.Source§fn get_scaling_parameters(&mut self, req: ScalingRequest<'_>) -> bool
fn get_scaling_parameters(&mut self, req: ScalingRequest<'_>) -> bool
User-supplied scaling, used only when
nlp_scaling_method=user-scaling. Default: declines.Source§fn get_number_of_nonlinear_variables(&mut self) -> Index
fn get_number_of_nonlinear_variables(&mut self) -> Index
Number of variables that appear nonlinearly. Returning -1
means “treat all as nonlinear” (the Ipopt default).
Source§fn get_list_of_nonlinear_variables(&mut self, pos: &mut [Index]) -> bool
fn get_list_of_nonlinear_variables(&mut self, pos: &mut [Index]) -> bool
List of nonlinear variable indices, in the index style
returned from
Self::get_nlp_info.Source§fn intermediate_callback(
&mut self,
stats: IterStats,
ip_data: &IpoptData,
ip_cq: &IpoptCq,
) -> bool
fn intermediate_callback( &mut self, stats: IterStats, ip_data: &IpoptData, ip_cq: &IpoptCq, ) -> bool
Per-iteration intermediate callback. Returning false requests
early termination with
User_Requested_Stop.Source§fn finalize_metadata(&mut self, var: &MetaData, con: &MetaData)
fn finalize_metadata(&mut self, var: &MetaData, con: &MetaData)
Final metadata pass — called just before
Self::finalize_solution. Default does nothing.Source§fn get_variables_linearity(&mut self, _types: &mut [Linearity]) -> bool
fn get_variables_linearity(&mut self, _types: &mut [Linearity]) -> bool
Variable linearity tags (used by Bonmin, not by Ipopt).
Source§fn get_constraints_linearity(&mut self, _types: &mut [Linearity]) -> bool
fn get_constraints_linearity(&mut self, _types: &mut [Linearity]) -> bool
Constraint linearity tags. Used by adaptive-mu’s
nlp_scaling_method=equilibration-based.Auto Trait Implementations§
impl !Freeze for CountingTnlp
impl !RefUnwindSafe for CountingTnlp
impl !Send for CountingTnlp
impl !Sync for CountingTnlp
impl Unpin for CountingTnlp
impl UnsafeUnpin for CountingTnlp
impl !UnwindSafe for CountingTnlp
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> 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