SCIPmergeBendersSubproblemIntoMaster

Function SCIPmergeBendersSubproblemIntoMaster 

Source
pub unsafe extern "C" fn SCIPmergeBendersSubproblemIntoMaster(
    scip: *mut SCIP,
    benders: *mut SCIP_BENDERS,
    varmap: *mut SCIP_HASHMAP,
    consmap: *mut SCIP_HASHMAP,
    probnumber: c_int,
) -> SCIP_RETCODE
Expand description

merges a subproblem into the master problem.

This process just adds a copy of the subproblem variables and constraints to the master problem, but keeps the subproblem stored in the Benders’ decomposition data structure. The reason for keeping the subproblem available is for when it is queried for solutions after the problem is solved.

Once the subproblem is merged into the master problem, then the subproblem is flagged as disabled. This means that it will not be solved in the subsequent subproblem solving loops.

The associated auxiliary variables are kept in the master problem. The objective function of the merged subproblem is added as an underestimator constraint.

@pre This method can be called if SCIP is in one of the following stages: - \ref SCIP_STAGE_INITPRESOLVE - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_EXITPRESOLVE - \ref SCIP_STAGE_PRESOLVED - \ref SCIP_STAGE_INITSOLVE - \ref SCIP_STAGE_SOLVING

@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.