Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods for reoptimization related tasks

Functions

SCIP_RETCODE SCIPgetReoptChildIDs (SCIP *scip, SCIP_NODE *node, unsigned int *ids, int mem, int *nids)
 
SCIP_RETCODE SCIPgetReoptLeaveIDs (SCIP *scip, SCIP_NODE *node, unsigned int *ids, int mem, int *nids)
 
int SCIPgetNReoptnodes (SCIP *scip, SCIP_NODE *node)
 
int SCIPgetNReoptLeaves (SCIP *scip, SCIP_NODE *node)
 
SCIP_REOPTNODESCIPgetReoptnode (SCIP *scip, unsigned int id)
 
SCIP_RETCODE SCIPaddReoptnodeBndchg (SCIP *scip, SCIP_REOPTNODE *reoptnode, SCIP_VAR *var, SCIP_Real bound, SCIP_BOUNDTYPE boundtype)
 
SCIP_RETCODE SCIPsetReoptCompression (SCIP *scip, SCIP_REOPTNODE **representation, int nrepresentatives, SCIP_Bool *success)
 
SCIP_RETCODE SCIPaddReoptnodeCons (SCIP *scip, SCIP_REOPTNODE *reoptnode, SCIP_VAR **vars, SCIP_Real *vals, SCIP_BOUNDTYPE *boundtypes, SCIP_Real lhs, SCIP_Real rhs, int nvars, REOPT_CONSTYPE constype, SCIP_Bool linear)
 
void SCIPgetReoptnodePath (SCIP *scip, SCIP_REOPTNODE *reoptnode, SCIP_VAR **vars, SCIP_Real *vals, SCIP_BOUNDTYPE *boundtypes, int mem, int *nvars, int *nafterdualvars)
 
SCIP_RETCODE SCIPinitRepresentation (SCIP *scip, SCIP_REOPTNODE **representatives, int nrepresentatives)
 
SCIP_RETCODE SCIPresetRepresentation (SCIP *scip, SCIP_REOPTNODE **representatives, int nrepresentatives)
 
SCIP_RETCODE SCIPfreeRepresentation (SCIP *scip, SCIP_REOPTNODE **representatives, int nrepresentatives)
 
SCIP_RETCODE SCIPapplyReopt (SCIP *scip, SCIP_REOPTNODE *reoptnode, unsigned int id, SCIP_Real estimate, SCIP_NODE **childnodes, int *ncreatedchilds, int *naddedconss, int childnodessize, SCIP_Bool *success)
 
SCIP_RETCODE SCIPresetReoptnodeDualcons (SCIP *scip, SCIP_NODE *node)
 
SCIP_RETCODE SCIPsplitReoptRoot (SCIP *scip, int *ncreatedchilds, int *naddedconss)
 
SCIP_Bool SCIPreoptimizeNode (SCIP *scip, SCIP_NODE *node)
 
SCIP_RETCODE SCIPdeleteReoptnode (SCIP *scip, SCIP_REOPTNODE **reoptnode)
 
SCIP_Real SCIPgetReoptSimilarity (SCIP *scip, int run1, int run2)
 
void SCIPgetVarCoefChg (SCIP *scip, int varidx, SCIP_Bool *negated, SCIP_Bool *entering, SCIP_Bool *leaving)
 
SCIP_RETCODE SCIPfreeReoptSolve (SCIP *scip)
 
SCIP_RETCODE SCIPenableReoptimization (SCIP *scip, SCIP_Bool enable)
 
SCIP_Bool SCIPisReoptEnabled (SCIP *scip)
 
SCIP_RETCODE SCIPgetReoptSolsRun (SCIP *scip, int run, SCIP_SOL **sols, int allocmem, int *nsols)
 
void SCIPresetReoptSolMarks (SCIP *scip)
 
SCIP_RETCODE SCIPcheckReoptRestart (SCIP *scip, SCIP_NODE *node, SCIP_Bool *restart)
 
SCIP_RETCODE SCIPaddReoptDualBndchg (SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound, SCIP_Real oldbound)
 
SCIP_SOLSCIPgetReoptLastOptSol (SCIP *scip)
 
SCIP_RETCODE SCIPgetReoptOldObjCoef (SCIP *scip, SCIP_VAR *var, int run, SCIP_Real *objcoef)
 

Function Documentation

◆ SCIPgetReoptChildIDs()

SCIP_RETCODE SCIPgetReoptChildIDs ( SCIP scip,
SCIP_NODE node,
unsigned int *  ids,
int  idssize,
int *  nids 
)

return the ids of child nodes stored in the reoptimization tree

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree
idsarray of ids
idssizeallocated memory
nidsnumber of child nodes

Definition at line 69 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptGetChildIDs(), Scip::set, and TRUE.

Referenced by Exec().

◆ SCIPgetReoptLeaveIDs()

SCIP_RETCODE SCIPgetReoptLeaveIDs ( SCIP scip,
SCIP_NODE node,
unsigned int *  ids,
int  idssize,
int *  nids 
)

return the ids of all leave nodes store in the reoptimization tree induced by the given node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree
idsarray of ids
idssizesize of ids array
nidsnumber of child nodes

Definition at line 101 of file scip_reopt.c.

References FALSE, NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptGetLeaves(), Scip::set, and TRUE.

Referenced by constructCompression().

◆ SCIPgetNReoptnodes()

int SCIPgetNReoptnodes ( SCIP scip,
SCIP_NODE node 
)

returns the number of nodes in the reoptimization tree induced by node; if node == NULL, the method returns the number of nodes of the whole reoptimization tree.

returns the number of nodes in the reoptimization tree induced by node; if node == NULL the method returns the number of nodes of the whole reoptimization tree.

Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 126 of file scip_reopt.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetNNodes(), and Scip::set.

◆ SCIPgetNReoptLeaves()

int SCIPgetNReoptLeaves ( SCIP scip,
SCIP_NODE node 
)

returns the number of leave nodes of the subtree induced by node; if node == NULL, the method returns the number of leaf nodes of the whole reoptimization tree.

returns the number of leaf nodes of the subtree induced by node; if node == NULL, the method returns the number of leaf nodes of the whole reoptimization tree.

Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 141 of file scip_reopt.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetNLeaves(), and Scip::set.

Referenced by constructCompression().

◆ SCIPgetReoptnode()

SCIP_REOPTNODE* SCIPgetReoptnode ( SCIP scip,
unsigned int  id 
)

gets the node of the reoptimization tree corresponding to the unique id

Parameters
scipSCIP data structure
idunique id

Definition at line 154 of file scip_reopt.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetReoptnode(), and Scip::set.

Referenced by constructCompression(), Exec(), SCIPreoptimizeNode(), and sortIDs().

◆ SCIPaddReoptnodeBndchg()

SCIP_RETCODE SCIPaddReoptnodeBndchg ( SCIP scip,
SCIP_REOPTNODE reoptnode,
SCIP_VAR var,
SCIP_Real  bound,
SCIP_BOUNDTYPE  boundtype 
)

add a variable bound change to a given reoptnode

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree
varvariable pointer
boundvariable bound to add
boundtypebound type of the variable value

Definition at line 176 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptnodeAddBndchg(), Scip::set, and TRUE.

Referenced by constructCompression().

◆ SCIPsetReoptCompression()

SCIP_RETCODE SCIPsetReoptCompression ( SCIP scip,
SCIP_REOPTNODE **  representation,
int  nrepresentatives,
SCIP_Bool success 
)

set the representation as the new search frontier

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representationarray of representatives
nrepresentativesnumber of representatives
successpointer to store the result

Definition at line 204 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptApplyCompression(), Scip::set, and TRUE.

Referenced by applyCompression().

◆ SCIPaddReoptnodeCons()

SCIP_RETCODE SCIPaddReoptnodeCons ( SCIP scip,
SCIP_REOPTNODE reoptnode,
SCIP_VAR **  vars,
SCIP_Real vals,
SCIP_BOUNDTYPE boundtypes,
SCIP_Real  lhs,
SCIP_Real  rhs,
int  nvars,
REOPT_CONSTYPE  constype,
SCIP_Bool  linear 
)

add stored constraint to a reoptimization node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree
varsarray of variables
valsarray of variable bounds
boundtypesarray of variable boundtypes
lhslhs of the constraint
rhsrhs of the constraint
nvarsnumber of variables
constypetype of the constraint
linearthe given constraint has a linear representation

Definition at line 232 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptnodeAddCons(), Scip::set, and TRUE.

Referenced by constructCompression().

◆ SCIPgetReoptnodePath()

void SCIPgetReoptnodePath ( SCIP scip,
SCIP_REOPTNODE reoptnode,
SCIP_VAR **  vars,
SCIP_Real vals,
SCIP_BOUNDTYPE boundtypes,
int  mem,
int *  nvars,
int *  nafterdualvars 
)

return the branching path stored in the reoptree at ID id

Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree
varsarray of variables
valsarray of variable bounds
boundtypesarray of bound types
memallocated memory
nvarsnumber of variables
nafterdualvarsnumber of variables directly after the first based on dual information

Definition at line 260 of file scip_reopt.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptnodeGetPath(), and Scip::set.

Referenced by constructCompression().

◆ SCIPinitRepresentation()

SCIP_RETCODE SCIPinitRepresentation ( SCIP scip,
SCIP_REOPTNODE **  representatives,
int  nrepresentatives 
)

initialize a set of empty reoptimization nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representativesarray of representatives
nrepresentativesnumber of representatives

Definition at line 289 of file scip_reopt.c.

References FALSE, NULL, r, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcheckStage(), SCIPreoptnodeInit(), Scip::set, and TRUE.

Referenced by constructCompression(), and SCIP_DECL_COMPREXEC().

◆ SCIPresetRepresentation()

SCIP_RETCODE SCIPresetRepresentation ( SCIP scip,
SCIP_REOPTNODE **  representatives,
int  nrepresentatives 
)

reset a set of initialized reoptimization nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representativesarray of representatives
nrepresentativesnumber of representatives

Definition at line 319 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, r, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptnodeReset(), Scip::set, and TRUE.

Referenced by constructCompression().

◆ SCIPfreeRepresentation()

SCIP_RETCODE SCIPfreeRepresentation ( SCIP scip,
SCIP_REOPTNODE **  representatives,
int  nrepresentatives 
)

free a set of initialized reoptimization nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
representativesarray of representatives
nrepresentativesnumber of representatives

Definition at line 348 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, r, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptnodeDelete(), and TRUE.

Referenced by applyCompression(), constructCompression(), and SCIP_DECL_COMPREXEC().

◆ SCIPapplyReopt()

SCIP_RETCODE SCIPapplyReopt ( SCIP scip,
SCIP_REOPTNODE reoptnode,
unsigned int  id,
SCIP_Real  estimate,
SCIP_NODE **  childnodes,
int *  ncreatedchilds,
int *  naddedconss,
int  childnodessize,
SCIP_Bool success 
)

reactivate the given reoptnode and split them into several nodes if necessary

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode to reactivate
idunique id of the reoptimization node
estimateestimate of the child nodes that should be created
childnodesarray to store the created child nodes
ncreatedchildspointer to store number of created child nodes
naddedconsspointer to store number of generated constraints
childnodessizeavailable size of childnodes array
successpointer store the result

Definition at line 382 of file scip_reopt.c.

References Scip::branchcand, Scip::cliquetable, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, NULL, Scip::origprob, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptApply(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by Exec().

◆ SCIPresetReoptnodeDualcons()

SCIP_RETCODE SCIPresetReoptnodeDualcons ( SCIP scip,
SCIP_NODE node 
)

remove the stored information about bound changes based in dual information

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 516 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptResetDualBndchgs(), Scip::set, and TRUE.

◆ SCIPsplitReoptRoot()

SCIP_RETCODE SCIPsplitReoptRoot ( SCIP scip,
int *  ncreatedchilds,
int *  naddedconss 
)

splits the root into several nodes and moves the child nodes of the root to one of the created nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

splits the root into several nodes and moves the child nodes of the root to one of the created nodes

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
ncreatedchildspointer to store the number of created nodes
naddedconsspointer to store the number added constraints

Definition at line 489 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptSplitRoot(), Scip::set, Scip::stat, Scip::tree, and TRUE.

Referenced by Exec().

◆ SCIPreoptimizeNode()

SCIP_Bool SCIPreoptimizeNode ( SCIP scip,
SCIP_NODE node 
)

returns if a node should be reoptimized

Parameters
scipSCIP data structure
nodenode of the search tree

Definition at line 424 of file scip_reopt.c.

References FALSE, NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPgetReoptnode(), SCIPgetRootNode(), SCIPnodeGetReoptID(), SCIPreoptnodeGetNChildren(), and Scip::set.

Referenced by SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_BRANCHEXECPS().

◆ SCIPdeleteReoptnode()

SCIP_RETCODE SCIPdeleteReoptnode ( SCIP scip,
SCIP_REOPTNODE **  reoptnode 
)

deletes the given reoptimization node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

deletes the given reoptimization node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
reoptnodenode of the reoptimization tree

Definition at line 464 of file scip_reopt.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptnodeDelete(), Scip::set, and TRUE.

Referenced by SCIP_DECL_COMPREXIT().

◆ SCIPgetReoptSimilarity()

SCIP_Real SCIPgetReoptSimilarity ( SCIP scip,
int  run1,
int  run2 
)

return the similarity between two objective functions

Parameters
scipSCIP data structure
run1number of run
run2number of run

Definition at line 407 of file scip_reopt.c.

References SCIP_Stat::nreoptruns, NULL, SCIP_Prob::nvars, Scip::origprob, Scip::reopt, SCIPreoptGetSimilarity(), SCIPreoptGetSimToPrevious(), Scip::set, Scip::stat, and SCIP_Prob::vars.

Referenced by SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_HEUREXEC().

◆ SCIPgetVarCoefChg()

void SCIPgetVarCoefChg ( SCIP scip,
int  varidx,
SCIP_Bool negated,
SCIP_Bool entering,
SCIP_Bool leaving 
)

check the changes of the variable coefficient in the objective function

Parameters
scipSCIP data structure
varidxindex of variable
negatedcoefficient changed the sign
enteringcoefficient gets non-zero coefficient
leavingcoefficient gets zero coefficient

◆ SCIPfreeReoptSolve()

SCIP_RETCODE SCIPfreeReoptSolve ( SCIP scip)

frees branch and bound tree and all solution process data; statistics, presolving data and transformed problem is preserved

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
If this method is called in SCIP stage SCIP_STAGE_INIT or SCIP_STAGE_PROBLEM, the stage of SCIP is not changed; otherwise, the SCIP stage is changed to SCIP_STAGE_PRESOLVED.

See SCIP_STAGE for a complete list of all possible solving stages.

frees branch and bound tree and all solution process data; statistics, presolving data and transformed problem is preserved

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Postcondition
If this method is called in SCIP stage SCIP_STAGE_INIT, SCIP_STAGE_TRANSFORMED or SCIP_STAGE_PROBLEM, the stage of SCIP is not changed; otherwise, the SCIP stage is changed to SCIP_STAGE_PRESOLVED.

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 3268 of file scip_solve.c.

References exitPresolve(), FALSE, freeReoptSolve(), SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_OPTIMAL, SCIP_STATUS_UNBOUNDED, SCIPcheckStage(), SCIPerrorMessage, Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Stat::status, and TRUE.

Referenced by readDiffFile(), and runBenders().

◆ SCIPenableReoptimization()

SCIP_RETCODE SCIPenableReoptimization ( SCIP scip,
SCIP_Bool  enable 
)

include specific heuristics and branching rules for reoptimization

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
enableenable reoptimization (TRUE) or disable it (FALSE)

Definition at line 3030 of file scip_solve.c.

References Scip::mem, Scip::messagehdlr, NULL, Scip::origprimal, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PROBLEM, SCIPerrorMessage, SCIPreoptCreate(), SCIPreoptFree(), SCIPsetSetReoptimizationParams(), Scip::set, and SCIP_Set::stage.

Referenced by runBenders(), SCIP_DECL_PARAMCHGD(), and SCIPcreateProb().

◆ SCIPisReoptEnabled()

SCIP_Bool SCIPisReoptEnabled ( SCIP scip)

returns whether reoptimization is enabled or not

Parameters
scipSCIP data structure

Definition at line 3485 of file scip_solve.c.

References NULL, SCIP_Set::reopt_enable, and Scip::set.

Referenced by determineSymmetry(), Exec(), readDiffFile(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), and SCIP_DECL_HEUREXEC().

◆ SCIPgetReoptSolsRun()

SCIP_RETCODE SCIPgetReoptSolsRun ( SCIP scip,
int  run,
SCIP_SOL **  sols,
int  solssize,
int *  nsols 
)

returns the stored solutions corresponding to a given run

Parameters
scipSCIP data structure
runnumber of the run
solsarray to store solutions
solssizesize of the array
nsolspointer to store number of solutions

Definition at line 3495 of file scip_solve.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPreoptGetSolsRun(), and Scip::set.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPresetReoptSolMarks()

void SCIPresetReoptSolMarks ( SCIP scip)

mark all stored solutions as not updated

Parameters
scipSCIP data structure

Definition at line 3521 of file scip_solve.c.

References NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptResetSolMarks(), and Scip::set.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPcheckReoptRestart()

SCIP_RETCODE SCIPcheckReoptRestart ( SCIP scip,
SCIP_NODE node,
SCIP_Bool restart 
)

check if the reoptimization process should be restarted

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodecurrent node of the branch and bound tree (or NULL)
restartpointer to store of the reoptimitation process should be restarted

Definition at line 3545 of file scip_solve.c.

References FALSE, Scip::mem, NULL, SCIP_Prob::nvars, SCIP_Mem::probmem, Scip::reopt, SCIP_Set::reopt_enable, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptCheckRestart(), Scip::set, Scip::transprob, TRUE, and SCIP_Prob::vars.

Referenced by Exec().

◆ SCIPaddReoptDualBndchg()

SCIP_RETCODE SCIPaddReoptDualBndchg ( SCIP scip,
SCIP_NODE node,
SCIP_VAR var,
SCIP_Real  newbound,
SCIP_Real  oldbound 
)

save bound change based on dual information in the reoptimization tree

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
nodenode of the search tree
varvariable whose bound changed
newboundnew bound of the variable
oldboundold bound of the variable

Definition at line 3100 of file scip_solve.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPreoptAddDualBndchg(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), Scip::set, and TRUE.

Referenced by SCIP_DECL_EVENTEXEC().

◆ SCIPgetReoptLastOptSol()

SCIP_SOL* SCIPgetReoptLastOptSol ( SCIP scip)

returns the optimal solution of the last iteration or NULL of none exists

Parameters
scipSCIP data structure

Definition at line 3118 of file scip_solve.c.

References SCIP_Stat::nreoptruns, NULL, Scip::reopt, SCIP_Set::reopt_enable, SCIPreoptGetLastBestSol(), Scip::set, and Scip::stat.

Referenced by applyOfins(), SCIP_DECL_HEUREXEC(), and setupAndSolve().

◆ SCIPgetReoptOldObjCoef()

SCIP_RETCODE SCIPgetReoptOldObjCoef ( SCIP scip,
SCIP_VAR var,
int  run,
SCIP_Real objcoef 
)

returns the objective coefficent of a given variable in a previous iteration

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
varvariable
runnumber of the run
objcoefpointer to store the objective coefficient

Definition at line 3145 of file scip_solve.c.

References FALSE, NULL, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPreoptGetOldObjCoef(), SCIPvarGetIndex(), SCIPvarGetOrigvarSum(), SCIPvarIsActive(), SCIPvarIsOriginal(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().