SCIPcreateVarBasic

Function SCIPcreateVarBasic 

Source
pub unsafe extern "C" fn SCIPcreateVarBasic(
    scip: *mut SCIP,
    var: *mut *mut SCIP_VAR,
    name: *const c_char,
    lb: f64,
    ub: f64,
    obj: f64,
    vartype: SCIP_VARTYPE,
) -> SCIP_RETCODE
Expand description

creates and captures problem variable without setting optional callbacks and variable data.

Callbacks and variable data can be set in the following using SCIPvarSetDelorigData(), SCIPvarSetTransData(), SCIPvarSetDeltransData(), SCIPvarSetCopy(), and SCIPvarSetData().

Variable flags are set as initial = TRUE and removable = FALSE, and can be adjusted by using SCIPvarSetInitial() and SCIPvarSetRemovable(), resp.

If variable is of integral type, fractional bounds are automatically rounded. An integer variable with bounds zero and one is automatically converted into a binary variable.

@warning When doing column generation and the original problem is a maximization problem, notice that SCIP will transform the problem into a minimization problem by multiplying the objective function by -1. Thus, the original objective function value of variables created during the solving process has to be multiplied by -1, too.

@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_PROBLEM - \ref SCIP_STAGE_TRANSFORMING - \ref SCIP_STAGE_INITPRESOLVE - \ref SCIP_STAGE_PRESOLVING - \ref SCIP_STAGE_EXITPRESOLVE - \ref SCIP_STAGE_PRESOLVED - \ref SCIP_STAGE_SOLVING

@note the variable gets captured, hence at one point you have to release it using the method SCIPreleaseVar()