Function SCIPbranchVar

Source
pub unsafe extern "C" fn SCIPbranchVar(
    scip: *mut SCIP,
    var: *mut SCIP_VAR,
    downchild: *mut *mut SCIP_NODE,
    eqchild: *mut *mut SCIP_NODE,
    upchild: *mut *mut SCIP_NODE,
) -> SCIP_RETCODE
Expand description

branches on a non-continuous variable v using the current LP or pseudo solution; if solution value x’ is fractional, two child nodes will be created (x <= floor(x’), x >= ceil(x’)), if solution value is integral, the x’ is equal to lower or upper bound of the branching variable and the bounds of v are finite, then two child nodes will be created (x <= x’‘, x >= x’‘+1 with x’’ = floor((lb + ub)/2)), otherwise (up to) three child nodes will be created (x <= x’-1, x == x’, x >= x’+1)

@return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref SCIP_Retcode “SCIP_RETCODE” for a complete list of error codes.

@pre This method can be called if @p scip is in one of the following stages: - \ref SCIP_STAGE_SOLVING

See \ref SCIP_Stage “SCIP_STAGE” for a complete list of all possible solving stages.