Function SCIPgetExprAbsAuxViolationNonlinear

Source
pub unsafe extern "C" fn SCIPgetExprAbsAuxViolationNonlinear(
    scip: *mut SCIP,
    expr: *mut SCIP_EXPR,
    auxvalue: f64,
    sol: *mut SCIP_SOL,
    viol: *mut f64,
    violunder: *mut c_uint,
    violover: *mut c_uint,
) -> SCIP_RETCODE
Expand description

computes absolute violation for auxvar relation in an expression w.r.t. auxiliary variables

Assume the expression is f(w), where w are auxiliary variables that were introduced by some nlhdlr. Assume that f(w) is associated with auxiliary variable z.

If there are negative locks, then returns the violation of z ≤ f(w) and sets violover to TRUE. If there are positive locks, then returns the violation of z ≥ f(w) and sets violunder to TRUE. Of course, if there both negative and positive locks, then return the violation of z = f(w).

If the given value of f(w) is SCIP_INVALID, then viol is set to SCIPinfinity() and both violover and violunder are set to TRUE.