SCIPincludeBenders

Function SCIPincludeBenders 

Source
pub unsafe extern "C" fn SCIPincludeBenders(
    scip: *mut SCIP,
    name: *const c_char,
    desc: *const c_char,
    priority: c_int,
    cutlp: c_uint,
    cutpseudo: c_uint,
    cutrelax: c_uint,
    shareauxvars: c_uint,
    benderscopy: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, threadsafe: c_uint) -> SCIP_RETCODE>,
    bendersfree: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersinit: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersexit: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersinitpre: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersexitpre: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersinitsol: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersexitsol: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS) -> SCIP_RETCODE>,
    bendersgetvar: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, var: *mut SCIP_VAR, mappedvar: *mut *mut SCIP_VAR, probnumber: c_int) -> SCIP_RETCODE>,
    benderscreatesub: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, probnumber: c_int) -> SCIP_RETCODE>,
    benderspresubsolve: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, sol: *mut SCIP_SOL, type_: SCIP_BENDERSENFOTYPE, checkint: c_uint, infeasible: *mut c_uint, auxviol: *mut c_uint, skipsolve: *mut c_uint, result: *mut SCIP_RESULT) -> SCIP_RETCODE>,
    benderssolvesubconvex: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, sol: *mut SCIP_SOL, probnumber: c_int, onlyconvexcheck: c_uint, objective: *mut f64, result: *mut SCIP_RESULT) -> SCIP_RETCODE>,
    benderssolvesub: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, sol: *mut SCIP_SOL, probnumber: c_int, objective: *mut f64, result: *mut SCIP_RESULT) -> SCIP_RETCODE>,
    benderspostsolve: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, sol: *mut SCIP_SOL, type_: SCIP_BENDERSENFOTYPE, mergecands: *mut c_int, npriomergecands: c_int, nmergecands: c_int, checkint: c_uint, infeasible: c_uint, merged: *mut c_uint) -> SCIP_RETCODE>,
    bendersfreesub: Option<unsafe extern "C" fn(scip: *mut SCIP, benders: *mut SCIP_BENDERS, probnumber: c_int) -> SCIP_RETCODE>,
    bendersdata: *mut SCIP_BENDERSDATA,
) -> SCIP_RETCODE
Expand description

creates a Benders’ decomposition and includes it in SCIP

To use the Benders’ decomposition for solving a problem, it first has to be activated with a call to SCIPactivateBenders(). This should be done during the problem creation stage.

@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 SCIP is in one of the following stages: - \ref SCIP_STAGE_INIT - \ref SCIP_STAGE_PROBLEM

@note method has all Benders’ decomposition callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeBendersBasic() and setter functions if you seek for a method which is less likely to change in future releases