pub unsafe extern "C" fn SCIPgetExprAbsOrigViolationNonlinear(
    scip: *mut SCIP,
    expr: *mut SCIP_EXPR,
    sol: *mut SCIP_SOL,
    soltag: c_longlong,
    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. original variables

Assume the expression is f(x), where x are original (i.e., not auxiliary) variables. Assume that f(x) is associated with auxiliary variable z.

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

If necessary, f is evaluated in the given solution. If that fails (domain error), then viol is set to SCIPinfinity() and both violover and violunder are set to TRUE.