pub unsafe extern "C" fn SCIPcopyOrig(
sourcescip: *mut SCIP,
targetscip: *mut SCIP,
varmap: *mut SCIP_HASHMAP,
consmap: *mut SCIP_HASHMAP,
suffix: *const c_char,
enablepricing: c_uint,
threadsafe: c_uint,
passmessagehdlr: c_uint,
valid: *mut c_uint,
) -> SCIP_RETCODEExpand description
copies source SCIP original problem to target SCIP; the copying process is done in the following order:
- copy the plugins
- copy the settings
- create problem data in target-SCIP and copy the original problem data of the source-SCIP
- copy all original variables
- copy all original constraints
@note all variables and constraints which are created in the target-SCIP are not (user) captured
@note In a multi thread case, you need to lock the copying procedure from outside with a mutex. Also, ‘passmessagehdlr’ should be set to FALSE. @note the ‘threadsafe’ parameter should only be set to TRUE if you are absolutely certain that the source and target SCIP instances will be solved in parallel. The usual case is to set this to FALSE, since thread safety typically incurs a performance cost. @note Do not change the source SCIP environment during the copying process
@note Reoptimization and exact solving are explicitly disabled in the target-SCIP.
@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 sourcescip is in one of the following stages: - \ref SCIP_STAGE_PROBLEM - \ref SCIP_STAGE_TRANSFORMED - \ref SCIP_STAGE_INITPRESOLVE - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_EXITPRESOLVE - \ref SCIP_STAGE_PRESOLVED - \ref SCIP_STAGE_INITSOLVE - \ref SCIP_STAGE_SOLVING - \ref SCIP_STAGE_SOLVED
@pre This method can be called if targetscip is in one of the following stages: - \ref SCIP_STAGE_INIT - \ref SCIP_STAGE_FREE
@note sourcescip stage does not get changed
@note targetscip stage does not get changed
See \ref SCIP_Stage “SCIP_STAGE” for a complete list of all possible solving stages.