Function SCIPcopyVars

Source
pub unsafe extern "C" fn SCIPcopyVars(
    sourcescip: *mut SCIP,
    targetscip: *mut SCIP,
    varmap: *mut SCIP_HASHMAP,
    consmap: *mut SCIP_HASHMAP,
    fixedvars: *mut *mut SCIP_VAR,
    fixedvals: *mut f64,
    nfixedvars: c_int,
    global: c_uint,
) -> SCIP_RETCODE
Expand description

Copies all active (thus unfixed) variables from source-SCIP, except those that are marked as relaxation only, and adds these variable to the target-SCIP.

The mapping between these variables are stored in the variable hashmap.

The target-SCIP has to be in problem creation stage.

@note the variables are added to the target-SCIP but not captured

@note In a multi thread case, you need to lock the copying procedure from outside with a mutex. @note Do not change the source SCIP environment during the copying process

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

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