Function scip_sys::SCIPgetExprAbsOrigViolationNonlinear
source · 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_RETCODEExpand 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.