SCIPregisterExprUsageNonlinear

Function SCIPregisterExprUsageNonlinear 

Source
pub unsafe extern "C" fn SCIPregisterExprUsageNonlinear(
    scip: *mut SCIP,
    expr: *mut SCIP_EXPR,
    useauxvar: c_uint,
    useactivityforprop: c_uint,
    useactivityforsepabelow: c_uint,
    useactivityforsepaabove: c_uint,
) -> SCIP_RETCODE
Expand description

method to be called by a nlhdlr during NLHDLRDETECT to notify an expression that it will be used

  • if useauxvar is enabled, then ensures that an auxiliary variable will be created in INITLP
  • if useactivityforprop or useactivityforsepa{below,above} is enabled, then ensured that activity will be updated for expr
  • if useactivityforprop is enabled, then increments the count returned by SCIPgetExprNPropUsesActivityNonlinear()
  • if useactivityforsepa{below,above} is enabled, then increments the count returned by SCIPgetExprNSepaUsesActivityNonlinear() and also increments this count for all variables in the expression.

The distinction into useactivityforprop and useactivityforsepa{below,above} is to recognize variables which domain influences under/overestimators. Domain propagation routines (like OBBT) may invest more work for these variables. The distinction into useactivityforsepabelow and useactivityforsepaabove is to recognize whether a nlhdlr that called this method will use activity of expr in enfomethod \ref SCIP_NLHDLR_METHOD_SEPABELOW or \ref SCIP_NLHDLR_METHOD_SEPAABOVE.