data structures and methods for collecting reoptimization information
Definition in file reopt.c.
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "scip/mem.h"
#include "scip/event.h"
#include "scip/scip.h"
#include "scip/set.h"
#include "scip/sol.h"
#include "scip/var.h"
#include "scip/lp.h"
#include "scip/misc.h"
#include "scip/reopt.h"
#include "scip/tree.h"
#include "scip/primal.h"
#include "scip/sepastore.h"
#include "scip/cutpool.h"
#include "scip/prob.h"
#include "scip/cons.h"
#include "scip/cons_bounddisjunction.h"
#include "scip/cons_linear.h"
#include "scip/cons_logicor.h"
#include "scip/cons_setppc.h"
#include "scip/clock.h"
#include "scip/history.h"
#include "blockmemshell/memory.h"
Go to the source code of this file.
Macros | |
#define | DEFAULT_MEM_VARAFTERDUAL 10 |
#define | DEFAULT_MEM_VAR 10 |
#define | DEFAULT_MEM_NODES 1000 |
#define | DEFAULT_MEM_RUN 200 |
#define | DEFAULT_MEM_DUALCONS 10 |
#define | DEFAULT_RANDSEED 67 |
#define | EVENTHDLR_NAME "Reopt" |
#define | EVENTHDLR_DESC "node event handler for reoptimization" |
#define DEFAULT_MEM_VARAFTERDUAL 10 |
Definition at line 60 of file reopt.c.
Referenced by saveAfterDualBranchings().
#define DEFAULT_MEM_VAR 10 |
Definition at line 61 of file reopt.c.
Referenced by saveAncestorBranchings().
#define DEFAULT_MEM_NODES 1000 |
Definition at line 62 of file reopt.c.
Referenced by createReopttree().
#define DEFAULT_MEM_RUN 200 |
Definition at line 63 of file reopt.c.
Referenced by createSolTree(), and SCIPreoptCreate().
#define DEFAULT_MEM_DUALCONS 10 |
Definition at line 64 of file reopt.c.
Referenced by SCIPreoptAddDualBndchg().
#define EVENTHDLR_DESC "node event handler for reoptimization" |
|
static |
exec the event handler
Definition at line 76 of file reopt.c.
References assert(), EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_NODETYPE_FOCUSNODE, SCIP_OKAY, SCIP_Real, SCIP_STAGE_SOLVING, SCIP_VARTYPE_CONTINUOUS, SCIPaddReoptDualBndchg(), SCIPdebugMsg, SCIPeventGetNewbound(), SCIPeventGetOldbound(), SCIPeventGetVar(), SCIPeventhdlrGetName(), SCIPgetCurrentNode(), SCIPgetEffectiveRootDepth(), SCIPgetStage(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPnodeGetDepth(), SCIPnodeGetNumber(), SCIPnodeGetType(), SCIPvarGetName(), and SCIPvarGetType().
|
static |
solving process initialization method of event handler (called when branch and bound process is about to begin)
Definition at line 114 of file reopt.c.
References assert(), EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPcatchVarEvent(), SCIPeventhdlrGetName(), SCIPgetNVars(), SCIPgetVars(), SCIPisReoptEnabled(), SCIPvarGetType(), and vars.
|
static |
solving process deinitialization method of event handler (called before branch and bound process data is freed)
Definition at line 139 of file reopt.c.
References assert(), EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIPdropVarEvent(), SCIPeventhdlrGetName(), SCIPgetNVars(), SCIPgetVars(), SCIPisReoptEnabled(), SCIPvarGetType(), and vars.
|
static |
ensures size for activeconss
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
num | minimum number of entries to store |
Definition at line 171 of file reopt.c.
References SCIP_Reopt::activeconss, assert(), BMSreallocBlockMemoryArray, SCIP_Reopt::nmaxactiveconss, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPreoptApplyGlbConss(), and SCIPreoptSaveActiveConss().
|
static |
ensures, that sols[pos] array can store at least num entries
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
num | minimum number of entries to store |
runidx | run index for which the memory should checked |
Definition at line 192 of file reopt.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_Reopt::soltree.
Referenced by SCIPreoptAddSol().
|
static |
ensures, that sols array can store at least num entries
reopt | reoptimization data structure |
set | gloabl SCIP settings |
num | minimum number of entries to store |
blkmem | block memory |
Definition at line 219 of file reopt.c.
References assert(), BMSreallocBlockMemoryArray, BMSreallocMemoryArray, SCIP_SolTree::nsols, NULL, SCIP_Reopt::objs, SCIP_Reopt::prevbestsols, SCIP_Reopt::runsize, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_SolTree::sols, SCIP_SolTree::solssize, SCIP_Reopt::soltree, and SCIP_Reopt::varhistory.
Referenced by reoptSaveNewObj(), and SCIPreoptAddRun().
|
static |
check the memory of the reoptimization tree and if necessary reallocate
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
Definition at line 255 of file reopt.c.
References assert(), BMSreallocBlockMemoryArray, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPqueueInsertUInt(), SCIPqueueIsEmpty(), and SCIPsetCalcMemGrowSize().
Referenced by addNode(), and SCIPreoptSplitRoot().
|
static |
check allocated memory of a node within the reoptimization tree and if necessary reallocate
reoptnode | node of the reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
var_mem | memory for variables |
child_mem | memory for child nodes |
conss_mem | memory for constraints |
Definition at line 287 of file reopt.c.
References SCIP_ReoptNode::allocchildmem, assert(), BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by addNode(), changeAncestorBranchings(), dryBranch(), fixBounds(), moveChildrenUp(), reoptAddChild(), reoptMoveIDs(), saveAncestorBranchings(), saveLocalConssData(), SCIPreoptnodeAddBndchg(), SCIPreoptnodeAddCons(), SCIPreoptSplitRoot(), and updatePropagation().
|
static |
returns the number of stored solutions in the subtree induced by solnode
solnode | node within the solution tree |
Definition at line 367 of file reopt.c.
References assert(), SCIP_SolNode::child, NULL, SCIP_SolNode::sibling, SCIP_SolNode::sol, and soltreeNInducedSols().
Referenced by SCIPreoptGetNSavedSols(), solnodeAddChild(), and soltreeNInducedSols().
|
static |
returns the similarity of the objective functions of two given iterations
reopt | reoptimization data |
set | global SCIP settings |
obj1_id | id of one objective function |
obj2_id | id of the other objective function |
vars | problem variables |
nvars | number of problem variables |
Definition at line 396 of file reopt.c.
References assert(), MAX, MIN, NULL, nvars, SCIP_Reopt::objs, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPsetIsFeasLT(), SCIPsetIsZero(), SCIPvarGetIndex(), SCIPvarGetLbLocal(), SCIPvarGetOrigvarSum(), SCIPvarGetTransVar(), SCIPvarGetUbLocal(), SCIPvarIsOriginal(), SQR, and vars.
Referenced by reoptSaveNewObj(), SCIPreoptCheckRestart(), SCIPreoptGetSimilarity(), and SCIPreoptMergeVarHistory().
|
static |
delete the given reoptimization node
reoptnode | node of the reoptimization tree |
blkmem | block memory |
Definition at line 483 of file reopt.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, c, NULL, and SCIP_OKAY.
Referenced by reopttreeDeleteNode(), and SCIPreoptnodeDelete().
|
static |
reset the given reoptimization node
reoptnode | reoptimization node |
set | global SCIP settings |
blkmem | block memory |
Definition at line 604 of file reopt.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, c, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptNode::parentID, SCIP_ReoptNode::reopttype, SCIP_OKAY, SCIP_REOPTTYPE_NONE, and SCIPsetInfinity().
Referenced by reopttreeDeleteNode(), and SCIPreoptnodeReset().
|
static |
delete the node stored at position nodeID
of the reoptimization tree
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
id | id of a node |
softreset | delete at the end of the solving process |
Definition at line 680 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, reoptnodeDelete(), reoptnodeReset(), SCIP_ReoptTree::reoptnodes, SCIP_Bool, SCIP_CALL, and SCIP_OKAY.
Referenced by clearReoptnodes(), deleteChildrenBelow(), dryBranch(), SCIPreoptDeleteNode(), and shrinkNode().
|
static |
constructor of the solution tree
soltree | solution tree |
blkmem | block memory |
Definition at line 712 of file reopt.c.
References assert(), BMSallocBlockMemory, BMSallocBlockMemoryArray, SCIP_SolNode::child, DEFAULT_MEM_RUN, FALSE, SCIP_SolNode::father, SCIP_SolTree::nsols, NULL, SCIP_SolTree::root, SCIP_ALLOC, SCIP_INVALID, SCIP_OKAY, SCIP_SolNode::sibling, SCIP_SolNode::sol, SCIP_SolTree::sols, SCIP_SolTree::solssize, SCIP_SolNode::updated, and SCIP_SolNode::value.
Referenced by SCIPreoptCreate().
|
static |
free the given solution node
reopt | reoptimization data |
set | global SCIP settings |
primal | the primal |
blkmem | block memory |
solnode | node within the solution tree |
Definition at line 744 of file reopt.c.
References assert(), BMSfreeBlockMemoryNull, SCIP_SolNode::child, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPsolFree(), SCIP_SolNode::sibling, and soltreefreeNode().
Referenced by freeSolTree(), and soltreefreeNode().
|
static |
free the solution tree
reopt | reoptimization data |
set | global SCIP settings |
origprimal | the origprimal |
blkmem | block memory |
Definition at line 786 of file reopt.c.
References assert(), BMSfreeBlockMemoryArray, BMSfreeBlockMemoryNull, BMSfreeMemory, SCIP_SolTree::nsols, NULL, SCIP_SolTree::root, SCIP_Reopt::runsize, SCIP_CALL, SCIP_OKAY, SCIP_SolTree::sols, SCIP_SolTree::solssize, SCIP_Reopt::soltree, and soltreefreeNode().
Referenced by SCIPreoptFree().
|
static |
creates and adds a solution node to the solution tree
set | global SCIP settings |
blkmem | block memory |
curnode | current node in the solution tree |
child | pointer to store the node representing the solution value |
var | variable represented by this node |
val | value the child shell represent |
added | TRUE iff we created a new node, i.e, we have not seen this solution so far |
Definition at line 814 of file reopt.c.
References assert(), BMSallocBlockMemory, SCIP_SolNode::child, FALSE, SCIP_SolNode::father, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIP_SolNode::sibling, SCIP_SolNode::sol, soltreeNInducedSols(), TRUE, SCIP_SolNode::updated, SCIP_SolNode::value, SCIP_SolNode::var, and var.
Referenced by soltreeAddSol().
|
static |
add a solution to the solution tree
reopt | reoptimization data |
set | global SCIP settings |
stat | dynamic problem statistics |
origprimal | orig primal |
blkmem | block memory |
vars | array of original variables |
sol | solution to add |
solnode | current solution node |
nvars | number of variables |
bestsol | is the solution an optimal (best found) solution |
added | pointer to store the result |
Definition at line 995 of file reopt.c.
References assert(), SCIP_SolNode::child, FALSE, NULL, nvars, SCIP_Reopt::prevbestsols, SCIP_SolTree::root, SCIP_Reopt::run, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPheurGetName(), SCIPsetDebugMsg, SCIPsolCopy(), SCIPsolGetHeur(), SCIPsolGetVal(), SCIPvarGetType(), SCIP_SolNode::sol, sol, solnodeAddChild(), SCIP_Reopt::soltree, TRUE, and vars.
Referenced by SCIPreoptAddSol().
|
static |
reset all marks 'updated' to FALSE
node | node within the solution tree |
Definition at line 1082 of file reopt.c.
References assert(), SCIP_SolNode::child, FALSE, SCIP_SolNode::father, NULL, SCIP_SolNode::sibling, SCIP_SolNode::sol, soltreeResetMarks(), and SCIP_SolNode::updated.
Referenced by SCIPreoptResetSolMarks(), and soltreeResetMarks().
|
static |
allocate memory for a node within the reoptimization tree
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
id | id of the node to create |
Definition at line 1116 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, SCIP_ReoptNode::allocchildmem, assert(), BMSallocBlockMemory, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_ReoptNode::reopttype, SCIP_ALLOC, SCIP_OKAY, SCIP_REOPTTYPE_NONE, SCIPqueueNElems(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by addNode(), createReopttree(), reoptRestart(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
|
static |
constructor of the reoptimization tree
reopttree | pointer to the reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
Definition at line 1173 of file reopt.c.
References assert(), BMSallocBlockMemoryArray, createReoptnode(), DEFAULT_MEM_NODES, SCIP_ReoptTree::ncutoffreoptnodes, SCIP_ReoptTree::nfeasnodes, SCIP_ReoptTree::ninfnodes, SCIP_ReoptTree::nprunednodes, SCIP_ReoptTree::nreoptnodes, SCIP_ReoptTree::ntotalcutoffreoptnodes, SCIP_ReoptTree::ntotalfeasnodes, SCIP_ReoptTree::ntotalinfnodes, SCIP_ReoptTree::ntotalprunednodes, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPqueueCreate(), SCIPqueueInsertUInt(), and SCIPqueueNElems().
Referenced by SCIPreoptCreate().
|
static |
clears the reopttree, e.g., to restart and solve the next problem from scratch
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
softreset | delete nodes before exit the solving process |
Definition at line 1217 of file reopt.c.
References assert(), SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, reopttreeDeleteNode(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPqueueClear(), SCIPqueueInsertUInt(), and SCIPqueueNElems().
Referenced by freeReoptTree(), and reoptResetTree().
|
static |
free the reoptimization tree
reopttree | reoptimization tree data |
set | global SCIP settings |
blkmem | block memory |
Definition at line 1253 of file reopt.c.
References assert(), BMSfreeBlockMemoryArray, BMSfreeMemory, clearReoptnodes(), FALSE, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_CALL, SCIP_OKAY, and SCIPqueueFree().
Referenced by SCIPreoptFree().
|
static |
check memory for the constraint to handle bound changes based on dual information
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
size | size which need to be allocated |
Definition at line 1277 of file reopt.c.
References assert(), BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::dualreds, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by collectDualInformation(), and SCIPreoptAddDualBndchg().
|
static |
check the memory to store global constraints
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
mem | memory which has to be allocated |
Definition at line 1311 of file reopt.c.
References SCIP_Reopt::allocmemglbconss, assert(), BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, c, SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by addGlobalCut().
|
static |
reactivate globally valid constraints that were deactivated and necessary to ensure correctness
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
Definition at line 1351 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, assert(), i, SCIP_Reopt::nactiveconss, SCIP_Reopt::nmaxactiveconss, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsRelease(), SCIPhashsetExists(), SCIPhashsetRemoveAll(), and SCIPsetDebugMsg.
Referenced by SCIPreoptReleaseData().
|
static |
update the bound changes made by propagations during current iteration; stop saving the bound changes if we reach a branching decision based on a dual information
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
id | id of the node |
transintoorig | transform variables into originals |
Definition at line 1387 of file reopt.c.
References assert(), NULL, nvars, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPnodeGetNDomchg(), SCIPnodeGetPropsBeforeDual(), TRUE, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by addNode().
|
static |
save bound changes made after the first bound change based on dual information, e.g., mode by strong branching
This method can be used during reoptimization. If we want to reconstruct a node containing dual bound changes we have to split the node into the original one and at least one node representing the pruned part. All bound changes, i.e., (constraint) propagation, made after the first bound change based on dual information are still valid for the original node after changing the objective function. thus, we can store them for the following iterations.
It should be noted, that these bound changes will be found by (constraint) propagation methods anyway after changing the objective function. do not saving these information and find them again might be useful for conflict analysis.
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
id | id of the node |
transintoorig | transform variables into originals |
Definition at line 1444 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, assert(), BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, DEFAULT_MEM_VARAFTERDUAL, SCIP_ReoptNode::nafterdualvars, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_ALLOC, SCIP_Bool, SCIP_OKAY, SCIPnodeGetPropsAfterDual(), SCIPsetCalcMemGrowSize(), SCIPsetDebugMsg, and TRUE.
Referenced by addNode().
|
static |
store cuts that are active in the current LP
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
lp | current LP |
id | id in the reopttree |
Definition at line 1524 of file reopt.c.
References assert(), c, FALSE, lprows, nlprows, NULL, r, REOPT_CONSTYPE_CUT, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_ROWORIGINTYPE_SEPA, SCIPcolGetVar(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPreoptnodeAddCons(), SCIProwGetAge(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetLPPos(), SCIProwGetNLPNonz(), SCIProwGetOrigintype(), SCIProwGetRhs(), SCIProwGetVals(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetOrigvarSum(), and TRUE.
Referenced by addNode().
|
static |
transform variable and bounds back to the original space
reopt | reoptimization data structure |
id | id of the node |
Definition at line 1624 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvars, assert(), SCIP_ReoptNode::nafterdualvars, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPvarGetOrigvarSum(), SCIPvarIsOriginal(), SCIP_ReoptNode::varbounds, and SCIP_ReoptNode::vars.
Referenced by addNode().
|
static |
search the next node along the root path that was saved by reoptimization
reopt | reoptimization data structure |
set | global SCIP settings |
node | node of the search tree |
parent | parent node within the search tree |
parentid | id of the parent node |
nbndchgs | number of bound changes |
Definition at line 1667 of file reopt.c.
References assert(), NULL, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_Reopt::reopttree, SCIP_OKAY, SCIP_REOPTTYPE_NONE, SCIP_REOPTTYPE_TRANSIT, SCIPnodeGetDepth(), SCIPnodeGetNDomchg(), SCIPnodeGetParent(), SCIPnodeGetReoptID(), SCIPnodeGetReopttype(), SCIPnodeSetReoptID(), and SCIPnodeSetReopttype().
Referenced by addNode(), and shrinkNode().
|
static |
adds the id childid
to the array of child nodes of parentid
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
parentid | id of the parent node |
childid | id of the child node |
Definition at line 1729 of file reopt.c.
References SCIP_ReoptNode::allocchildmem, assert(), SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_CALL, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by addNode(), moveChildrenUp(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
|
static |
move all children to the next node (along the root path) stored in the reoptimization tree
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
nodeid | id of the node |
parentid | id of the parent node |
Definition at line 1762 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, nvars, SCIP_ReoptNode::nvars, SCIP_ReoptNode::parentID, reoptAddChild(), reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by shrinkNode().
|
static |
delete all nodes in the subtree induced by nodeID
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
id | id of the node |
delnodeitself | should the node be deleted after deleting the induced subtree? |
exitsolve | will the solving process end after deletion |
Definition at line 1822 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, deleteChildrenBelow(), SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, reopttreeDeleteNode(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPqueueInsertUInt(), SCIPsetDebugMsg, and TRUE.
Referenced by addNode(), deleteChildrenBelow(), dryBranch(), and reoptCheckLocalRestart().
|
static |
replaces a reoptimization nodes by its stored child nodes
reopt | reoptimization data structure |
set | global SCIP settings |
node | node of the search tree |
id | id of the node |
shrank | pointer to store if the node was shrank |
blkmem | block memory |
Definition at line 1868 of file reopt.c.
References assert(), c, SCIP_ReoptNode::childids, getLastSavedNode(), moveChildrenUp(), SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_NONE, SCIPnodeGetNumber(), SCIPnodeSetReopttype(), SCIPqueueInsertUInt(), SCIPsetDebugMsg, and TRUE.
Referenced by addNode().
|
static |
change all reopttypes in the subtree induced by nodeID
reopttree | reopttree |
id | id of the node |
reopttype | reopttype |
Definition at line 1946 of file reopt.c.
References assert(), changeReopttypeOfSubtree(), SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::reoptnodes, SCIP_ReoptNode::reopttype, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_INFSUBTREE, and SCIP_REOPTTYPE_STRBRANCHED.
Referenced by addNode(), and changeReopttypeOfSubtree().
|
static |
delete the constraint handling dual information for the current iteration and replace it with the dual constraint for the next iteration
reoptnode | reoptimization node |
blkmem | block memory |
Definition at line 1992 of file reopt.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, NULL, SCIP_OKAY, SCIPdebugMessage, and TRUE.
Referenced by fixBounds(), reoptCheckLocalRestart(), SCIPreoptApply(), and SCIPreoptSplitRoot().
|
static |
calculates a (local) similarity of a given node and returns if the subproblem should be solved from scratch
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
transvars | transformed variables |
ntransvars | number of transformed variables |
localrestart | pointer to store if we want to restart solving the (sub)problem |
Definition at line 2025 of file reopt.c.
References assert(), deleteChildrenBelow(), FALSE, SCIP_Reopt::nlocrestarts, SCIP_Reopt::ntotallocrestarts, NULL, SCIP_ReoptTree::reoptnodes, reoptnodeUpdateDualConss(), SCIP_Reopt::reopttree, SCIP_Reopt::run, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), SCIPreoptGetOldObjCoef(), SCIPsetDebugMsg, SCIPsetIsFeasLT(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetUbLocal(), and TRUE.
Referenced by SCIPreoptCheckRestart().
|
static |
save ancestor branching information up to the next stored node
reopttree | reoptimization tree |
set | global SCIP settings |
blkmem | block memory |
node | node of the branch and bound tree |
parent | parent node |
id | id of the node |
parentid | id of the parent node |
Definition at line 2113 of file reopt.c.
References assert(), DEFAULT_MEM_VAR, NULL, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_CALL, SCIP_OKAY, SCIPnodeGetAncestorBranchingsPart(), SCIPsetDebugMsg, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by addNode().
|
static |
transform a constraint with linear representation into reoptimization constraint data
reoptconsdata | reoptimization constraint data |
set | global SCIP settings |
blkmem | block memory |
cons | linear constraint that should be stored |
success | pointer to store the success |
Definition at line 2182 of file reopt.c.
References assert(), BMSallocBlockMemoryArray, FALSE, NULL, REALABS, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPconsGetHdlr(), SCIPconsGetNVars(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPgetLhsLinear(), SCIPgetRhsLinear(), SCIPgetTypeSetppc(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPgetVarsLogicor(), SCIPgetVarsSetppc(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetOrigvarSum(), TRUE, and vars.
Referenced by saveLocalConssData().
|
static |
transform a bounddisjunction constraint into reoptimization constraint data
reoptconsdata | reoptimization constraint data |
set | global SCIP settings |
blkmem | block memory |
cons | bounddisjuction constraint that should be stored |
success | pointer to store the success |
Definition at line 2314 of file reopt.c.
References assert(), BMSduplicateBlockMemoryArray, FALSE, NULL, REALABS, SCIP_ALLOC, SCIP_Bool, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPconsGetHdlr(), SCIPconsGetNVars(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPgetBoundsBounddisjunction(), SCIPgetBoundtypesBounddisjunction(), SCIPgetVarsBounddisjunction(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsZero(), SCIPvarGetOrigvarSum(), and vars.
Referenced by saveLocalConssData().
|
static |
save additional all constraints that were additionally added to node
reopttree | reopttree |
set | global SCIP settings |
blkmem | block memory |
node | node of the branch and bound tree |
id | id of the node |
Definition at line 2383 of file reopt.c.
References assert(), BMSallocBlockMemory, c, SCIP_ReoptNode::conss, FALSE, SCIP_ReoptNode::nconss, NULL, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_UNKNOWN, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, saveConsBounddisjuction(), saveConsLinear(), SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPnodeGetAddedConss(), SCIPnodeGetNAddedConss(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, and SCIPsetFreeBufferArray.
Referenced by addNode().
|
static |
collect all bound changes based on dual information
If the bound changes are global, all information are already stored because they were caught by the event handler. otherwise, we have to use SCIPnodeGetDualBoundchgs.
Afterwards, we check if the constraint will be added in the next iteration or after splitting the node.
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
id | id of the node |
reopttype | reopttype |
Definition at line 2477 of file reopt.c.
References assert(), BMSallocBlockMemory, BMSduplicateBlockMemoryArray, checkMemDualCons(), SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, NULL, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_STRBRANCHED, SCIPnodeGetDualBoundchgs(), SCIPnodeGetNDualBndchgs(), SCIPnodeGetNumber(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIPvarGetOrigvarSum(), SCIPvarIsOriginal(), and TRUE.
Referenced by addNode().
|
static |
adds a node of the branch and bound tree to the reoptimization tree
reopt | reoptimization data structure |
set | global SCIP settings |
lp | current LP |
blkmem | block memory |
node | current node |
reopttype | reason for storing the node |
saveafterdual | save branching decisions after the first dual |
isrootnode | node is the root node |
lowerbound | lower bound of the node |
Definition at line 2603 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::allocchildmem, assert(), changeReopttypeOfSubtree(), SCIP_ReoptNode::childids, collectDualInformation(), createReoptnode(), SCIP_Reopt::currentnode, deleteChildrenBelow(), SCIP_Reopt::dualreds, SCIP_ReoptNode::dualreds, FALSE, getLastSavedNode(), SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::ncutoffreoptnodes, SCIP_ReoptTree::nfeasnodes, SCIP_ReoptTree::nprunednodes, SCIP_ReoptTree::ntotalcutoffreoptnodes, SCIP_ReoptTree::ntotalfeasnodes, SCIP_ReoptTree::ntotalprunednodes, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, REALABS, reoptAddChild(), reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeCheckMemory(), SCIP_ReoptNode::reopttype, saveAfterDualBranchings(), saveAncestorBranchings(), saveLocalConssData(), SCIP_Reopt::savingtime, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_FEASIBLE, SCIP_REOPTTYPE_INFSUBTREE, SCIP_REOPTTYPE_LEAF, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_NONE, SCIP_REOPTTYPE_PRUNED, SCIP_REOPTTYPE_STRBRANCHED, SCIP_REOPTTYPE_TRANSIT, SCIPclockStart(), SCIPclockStop(), SCIPnodeGetDepth(), SCIPnodeGetNAddedConss(), SCIPnodeGetNumber(), SCIPnodeGetParent(), SCIPnodeGetReoptID(), SCIPnodeSetReoptID(), SCIPnodeSetReopttype(), SCIPqueueRemoveUInt(), SCIPreoptResetDualBndchgs(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPvarGetName(), shrinkNode(), storeCuts(), transformIntoOrig(), TRUE, updatePropagation(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPreoptApply(), SCIPreoptCheckCutoff(), and SCIPreoptSaveOpenNodes().
|
static |
delete the stored information about dual bound changes of the last focused node
reopt | reoptimization data structure |
Definition at line 3171 of file reopt.c.
References assert(), SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, NULL, and SCIPdebugMessage.
Referenced by SCIPreoptCheckCutoff().
|
static |
delete the stored constraints that dual information at the given reoptimization node
reoptnode | reoptimization node |
blkmem | block memory |
Definition at line 3188 of file reopt.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, NULL, SCIP_OKAY, and SCIPdebugMessage.
Referenced by SCIPreoptResetDualBndchgs().
|
static |
transform given set of variables, bounds and boundtypes into a global cut.
reopt | reoptimization data structure |
blkmem | block memory |
set | global SCIP settings |
vars | variables of the cut |
vals | values of the cut |
boundtypes | bounds of the cut |
nvars | number of variables in the cut |
nbinvars | number of binary variables |
nintvars | number of integer variables |
Definition at line 3238 of file reopt.c.
References assert(), BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, checkMemGlbCons(), FALSE, SCIP_Reopt::glbconss, nbinvars, SCIP_Reopt::nglbconss, nintvars, NULL, nvars, REOPT_CONSTYPE_CUT, SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsIntegral(), SCIPsetRound(), SCIPvarGetLbGlobal(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarIsOriginal(), and vars.
Referenced by saveGlobalCons(), and separateSolution().
|
static |
generate a global constraint to separate an infeasible subtree
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
consttype | reopttype of the constraint |
Definition at line 3435 of file reopt.c.
References addGlobalCut(), assert(), SCIP_Reopt::glbconss, nbinvars, SCIP_Reopt::nglbconss, nintvars, NULL, REOPT_CONSTYPE_INFSUBTREE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPnodeGetAncestorBranchings(), SCIPnodeGetDepth(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetReallocBufferArray, SCIPvarGetType(), and vars.
Referenced by SCIPreoptAddInfNode().
|
static |
move all id of child nodes from reoptimization node stored at id1
to the node stored at id2
reopttree | reopttree |
set | global SCIP settings |
blkmem | block memory |
id1 | source id |
id2 | target id |
Definition at line 3502 of file reopt.c.
References SCIP_ReoptNode::allocchildmem, assert(), c, SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_CALL, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by SCIPreoptSplitRoot().
|
static |
change all bound changes along the root path
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | search tree |
lp | current LP |
branchcand | branching candidates |
eventqueue | event queue |
cliquetable | clique table |
blkmem | block memory |
node | node of the branch and bound tree |
id | id of stored node |
afterdualbranching | convert all bound changes made directly after the first bound changes based on dual information into normal branchings |
Definition at line 3552 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, assert(), BMSfreeBlockMemoryArray, FALSE, SCIP_ReoptNode::nafterdualvars, NULL, nvars, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPnodeAddBoundchg(), SCIPsetDebugMsg, SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), TRUE, var, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPreoptApply().
|
static |
add a constraint to ensure that at least one variable bound gets different
reopt | reoptimization data structure |
scip | SCIP data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
blkmem | block memory |
transprob | transformed problem |
origprob | original problem |
tree | search tree |
lp | current LP |
branchcand | branching candidates |
eventqueue | event queue |
cliquetable | clique table data structure |
node | node corresponding to the pruned part |
id | id of stored node |
Definition at line 3726 of file reopt.c.
References assert(), SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, FALSE, nbinvars, nintvars, NULL, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPaddConsNode(), SCIPallocBufferArray, SCIPcreateConsBounddisjunctionRedundant(), SCIPcreateConsLogicor(), SCIPdebugPrintCons, SCIPerrorMessage, SCIPfreeBufferArray, SCIPisEQ(), SCIPisGE(), SCIPisGT(), SCIPisLE(), SCIPisLT(), SCIPnodeAddBoundchg(), SCIPnodeGetNumber(), SCIPreleaseCons(), SCIPsetDebugMsg, SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsnprintf(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsNegated(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), SCIPvarNegate(), TRUE, and var.
Referenced by SCIPreoptApply().
|
static |
fix all bounds ad stored in dualredscur at the given node node_fix
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | search tree |
lp | current LP |
branchcand | branching candidates |
eventqueue | event queue |
cliquetable | clique table |
blkmem | block memory |
node | node corresponding to the fixed part |
id | id of stored node |
updatedualconss | update constraint representing dual bound changes |
Definition at line 3995 of file reopt.c.
References assert(), SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, FALSE, NULL, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, reoptnodeUpdateDualConss(), SCIP_Reopt::reopttree, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPsetDebugMsg, SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetOrigvarSum(), SCIPvarGetProbvarBound(), SCIPvarGetUbLocal(), SCIPvarIsOriginal(), SCIPvarIsTransformedOrigvar(), TRUE, var, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPreoptApply().
|
static |
fix all bounds corresponding to dual bound changes in a previous iteration in the fashion of interdiction branching; keep the first negbndchg-1 bound changes as stored in dualredscur and negate the negbndchg-th bound.
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | search tree |
lp | current LP |
branchcand | branching candidates |
eventqueue | event queue |
cliquetable | clique table |
blkmem | block memory |
node | child node |
id | id of the node |
perm | array of permuted indices |
vars | variables |
vals | bounds |
boundtypes | boundtypes |
nvars | number of variables |
negbndchg | index of the variable that should negated |
Definition at line 4116 of file reopt.c.
References assert(), SCIP_ReoptNode::dualreds, FALSE, MIN, NULL, nvars, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPsetDebugMsg, SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarIsTransformedOrigvar(), var, and vars.
Referenced by SCIPreoptApply().
|
static |
add all constraints stored at id
to the given nodes node_fix
and node_cons
scip | SCIP data structure |
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
blkmem | block memory |
node | node of the branch and bound tree |
id | id of stored node |
Definition at line 4227 of file reopt.c.
References assert(), c, SCIP_ReoptNode::conss, FALSE, SCIP_ReoptNode::nconss, NULL, REOPT_CONSTYPE_CUT, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddConsNode(), SCIPcreateConsBounddisjunctionRedundant(), SCIPcreateConsLinear(), SCIPdebugPrintCons, SCIPnodeGetNumber(), SCIPreleaseCons(), SCIPsetDebugMsg, SCIPsnprintf(), and TRUE.
Referenced by SCIPreoptApply().
|
static |
reset the internal statistics at the beginning of a new iteration
reopt | reoptimization data structure |
Definition at line 4297 of file reopt.c.
References assert(), SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, SCIP_Reopt::lastbranched, SCIP_Reopt::lastseennode, SCIP_ReoptTree::ncutoffreoptnodes, SCIP_ReoptTree::nfeasnodes, SCIP_ReoptTree::ninfnodes, SCIP_ReoptTree::nprunednodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPreoptAddRun().
|
static |
check the stored bound changes of all child nodes for redundancy and infeasibility
Due to strongbranching initialization at node stored at id
it can happen, that some bound changes stored in the child nodes of the reoptimization node stored at id
become redundant or make the subproblem infeasible. in this method we remove all redundant bound changes and delete infeasible child nodes.
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
runagain | pointer to store of this method should run again |
id | id of stored node |
Definition at line 4322 of file reopt.c.
References assert(), c, SCIP_ReoptNode::childids, cutoff, deleteChildrenBelow(), FALSE, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPqueueInsertUInt(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetUbLocal(), TRUE, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPreoptGetChildIDs().
|
static |
return the number of all nodes in the subtree induced by the reoptimization node stored at id
reopttree | reopttree |
id | id of stored node |
Definition at line 4537 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, i, SCIP_ReoptNode::nchilds, nnodes, NULL, SCIP_ReoptTree::reoptnodes, and reopttreeGetNNodes().
Referenced by reopttreeGetNNodes(), and SCIPreoptGetNNodes().
|
static |
returns the number of leaf nodes of the induced subtree
reopt | reoptimization data structure |
id | id of stored node |
Definition at line 4555 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, i, SCIP_ReoptNode::nchilds, NULL, reoptGetNLeaves(), SCIP_ReoptTree::reoptnodes, and SCIP_Reopt::reopttree.
Referenced by reoptGetNLeaves(), and SCIPreoptGetNLeaves().
|
static |
returns all leaves of the subtree induced by the node stored at id
reopt | reoptimization data structure |
id | id of stored node |
leaves | array of leave nodes |
leavessize | size of leaves array |
nleaves | pointer to store the number of leave nodes |
Definition at line 4585 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, i, SCIP_ReoptNode::nchilds, NULL, reoptGetLeaves(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, and SCIP_OKAY.
Referenced by reoptGetLeaves(), and SCIPreoptGetLeaves().
|
static |
after restarting the reoptimization and an after compressing the search tree we have to delete all stored information
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
softreset | mark the nodes to overwriteable (TRUE) or delete them completely (FALSE) |
Definition at line 4629 of file reopt.c.
References assert(), clearReoptnodes(), SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_CALL, and SCIP_OKAY.
Referenced by reoptRestart(), and SCIPreoptApplyCompression().
|
static |
restart the reoptimization by removing all stored information about nodes and increase the number of restarts
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
Definition at line 4655 of file reopt.c.
References assert(), createReoptnode(), FALSE, SCIP_Reopt::firstrestart, SCIP_Reopt::lastrestart, SCIP_Reopt::nglbrestarts, SCIP_ReoptTree::nreoptnodes, NULL, reoptResetTree(), SCIP_Reopt::reopttree, SCIP_Reopt::run, SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPreoptCheckRestart().
|
static |
save the new objective function
reopt | reoptimization data |
set | global SCIP settings |
blkmem | block memory |
origvars | original problem variables |
norigvars | number of original problem variables |
Definition at line 4685 of file reopt.c.
References assert(), BMSallocClearMemoryArray, BMSreallocMemoryArray, ensureRunSize(), SCIP_Reopt::firstobj, i, SCIP_Reopt::nobjvars, NULL, SCIP_Reopt::objhaschanged, SCIP_Reopt::objs, reoptSimilarity(), SCIP_Reopt::run, SCIP_ALLOC, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, SCIPsetCalcMemGrowSize(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPvarGetIndex(), SCIPvarGetObj(), SCIPvarIsOriginal(), SCIPverbMessage(), SCIP_Reopt::simtolastobj, and TRUE.
Referenced by SCIPreoptAddRun().
|
static |
orders the variable by inference score
set | global SCIP settings |
stat | dynamic problem statistics |
perm | array of indices that need to be permuted |
vars | variable array to permute |
bounds | bound array to permute in the same order |
boundtypes | boundtype array to permute in the same order |
nvars | number of variables |
Definition at line 4772 of file reopt.c.
References assert(), NULL, nvars, SCIP_BOUNDTYPE_UPPER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsortDownRealInt(), SCIPvarGetAvgInferences(), and vars.
Referenced by SCIPreoptApply(), and SCIPreoptSplitRoot().
|
static |
create a global constraint to separate the given solution
reopt | reoptimization data structure |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic SCIP statistics |
sol | solution to separate |
vars | array of original problem variables |
nvars | number of original problem variables |
Definition at line 4819 of file reopt.c.
References addGlobalCut(), assert(), nbinvars, nintvars, NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPvarGetType(), SCIPvarIsOriginal(), sol, vars, and w.
Referenced by SCIPreoptAddOptSol().
int SCIPreoptGetNRestartsGlobal | ( | SCIP_REOPT * | reopt | ) |
returns the number of global restarts
reopt | reoptimization data structure |
Definition at line 4913 of file reopt.c.
References assert(), SCIP_Reopt::nglbrestarts, and NULL.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetNRestartsLocal | ( | SCIP_REOPT * | reopt | ) |
returns the number of local restarts in the current run
reopt | reoptimization data structure |
Definition at line 4923 of file reopt.c.
References assert(), SCIP_Reopt::nlocrestarts, and NULL.
int SCIPreoptGetNTotalRestartsLocal | ( | SCIP_REOPT * | reopt | ) |
returns the number of local restarts over all runs
reopt | reoptimization data structure |
Definition at line 4933 of file reopt.c.
References assert(), SCIP_Reopt::ntotallocrestarts, and NULL.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetFirstRestarts | ( | SCIP_REOPT * | reopt | ) |
returns the number of iteration with the first global restarts
reopt | reoptimization data structure |
Definition at line 4943 of file reopt.c.
References assert(), SCIP_Reopt::firstrestart, and NULL.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetLastRestarts | ( | SCIP_REOPT * | reopt | ) |
returns the number of iteration with the last global restarts
reopt | reoptimization data structure |
Definition at line 4953 of file reopt.c.
References assert(), SCIP_Reopt::lastrestart, and NULL.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetNFeasNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes providing an improving feasible LP solution in the current run
reopt | reoptimization data structure |
Definition at line 4963 of file reopt.c.
References assert(), SCIP_ReoptTree::nfeasnodes, NULL, and SCIP_Reopt::reopttree.
int SCIPreoptGetNTotalFeasNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes providing an improving feasible LP solution over all runs
reopt | reoptimization data structure |
Definition at line 4973 of file reopt.c.
References assert(), SCIP_ReoptTree::ntotalfeasnodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetNPrunedNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes that exceeded the cutoff bound in the current run
reopt | reoptimization data structure |
Definition at line 4983 of file reopt.c.
References assert(), SCIP_ReoptTree::nprunednodes, NULL, and SCIP_Reopt::reopttree.
int SCIPreoptGetNTotalPrunedNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes that exceeded the cutoff bound over all runs
reopt | reoptimization data structure |
Definition at line 4993 of file reopt.c.
References assert(), SCIP_ReoptTree::ntotalprunednodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetNCutoffReoptnodes | ( | SCIP_REOPT * | reopt | ) |
rerturns the number of reoptimized nodes that were cutoff in the same iteration in the current run
reopt | reoptimization data structure |
Definition at line 5003 of file reopt.c.
References assert(), SCIP_ReoptTree::ncutoffreoptnodes, NULL, and SCIP_Reopt::reopttree.
int SCIPreoptGetNTotalCutoffReoptnodes | ( | SCIP_REOPT * | reopt | ) |
rerturns the number of reoptimized nodes that were cutoff in the same iteration over all runs
reopt | reoptimization data structure |
Definition at line 5013 of file reopt.c.
References assert(), SCIP_ReoptTree::ntotalcutoffreoptnodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
int SCIPreoptGetNInfNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes with an infeasible LP in the current run
reopt | reoptimization data structure |
Definition at line 5023 of file reopt.c.
References assert(), SCIP_ReoptTree::ninfnodes, NULL, and SCIP_Reopt::reopttree.
int SCIPreoptGetNTotalInfNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes with an infeasible LP over all runs
reopt | reoptimization data structure |
Definition at line 5033 of file reopt.c.
References assert(), SCIP_ReoptTree::ntotalinfnodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
SCIP_RETCODE SCIPreoptCreate | ( | SCIP_REOPT ** | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem ) |
constructor for the reoptimization data
reopt | pointer to reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
Definition at line 5043 of file reopt.c.
References assert(), BMSallocBlockMemoryArray, BMSallocMemory, BMSallocMemoryArray, createReopttree(), createSolTree(), DEFAULT_MEM_RUN, DEFAULT_RANDSEED, EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, i, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPeventhdlrCreate(), SCIPrandomCreate(), SCIPsetIncludeEventhdlr(), and SCIPsetInitializeRandomSeed().
Referenced by SCIPenableReoptimization().
SCIP_RETCODE SCIPreoptReleaseData | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem ) |
reopt | pointer to reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
Definition at line 5124 of file reopt.c.
References SCIP_Reopt::addedconss, SCIP_Reopt::addedconsssize, assert(), BMSfreeBlockMemoryArray, c, cleanActiveConss(), SCIP_Reopt::naddedconss, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconsRelease().
Referenced by SCIPfreeTransform().
SCIP_RETCODE SCIPreoptFree | ( | SCIP_REOPT ** | reopt, |
SCIP_SET * | set, | ||
SCIP_PRIMAL * | origprimal, | ||
BMS_BLKMEM * | blkmem ) |
frees reoptimization data
reopt | reoptimization data structure |
set | global SCIP settings |
origprimal | original primal |
blkmem | block memory |
Definition at line 5151 of file reopt.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeMemory, BMSfreeMemoryArray, c, freeReoptTree(), freeSolTree(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPclockFree(), SCIPgetNOrigVars(), SCIPhashmapFree(), SCIPhashsetFree(), SCIPhistoryFree(), SCIPrandomFree(), and SCIPsolFree().
Referenced by SCIPenableReoptimization(), and SCIPfreeProb().
int SCIPreoptGetNAddedConss | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node ) |
returns the number of constraints added by the reoptimization plug-in
reopt | reoptimization data structure |
node | node of the search tree |
Definition at line 5277 of file reopt.c.
References assert(), MAX, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), SCIPnodeGetNAddedConss(), and SCIPnodeGetReoptID().
Referenced by SCIPreoptCheckCutoff().
SCIP_RETCODE SCIPreoptAddSol | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | origprimal, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SOL * | sol, | ||
SCIP_Bool | bestsol, | ||
SCIP_Bool * | added, | ||
SCIP_VAR ** | vars, | ||
int | nvars, | ||
int | run ) |
add a solution to the solution tree
reopt | reoptimization data |
set | global SCIP settings |
stat | dynamic problem statistics |
origprimal | original primal |
blkmem | block memory |
sol | solution to add |
bestsol | is the current solution an optimal solution? |
added | pointer to store the information if the soltion was added |
vars | variable array |
nvars | number of variables |
run | number of the current run (1,2,...) |
Definition at line 5301 of file reopt.c.
References assert(), ensureSolsSize(), SCIP_Reopt::noptsolsbyreoptsol, SCIP_SolTree::nsols, NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), SCIPsolGetHeur(), sol, SCIP_SolTree::sols, SCIP_Reopt::soltree, soltreeAddSol(), and vars.
Referenced by SCIPsolve().
SCIP_RETCODE SCIPreoptAddOptSol | ( | SCIP_REOPT * | reopt, |
SCIP_SOL * | sol, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | origprimal, | ||
SCIP_VAR ** | vars, | ||
int | nvars ) |
we want to store the optimal solution of each run in a separate array
reopt | reoptimization data structure |
sol | solution to add |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic problem statistics |
origprimal | original primal |
vars | original problem variables |
nvars | number of original problem variables |
Definition at line 5354 of file reopt.c.
References assert(), NULL, nvars, SCIP_Reopt::prevbestsols, SCIP_Reopt::run, SCIP_CALL, SCIP_OKAY, SCIPsolCopy(), separateSolution(), sol, and vars.
Referenced by SCIPsolve().
SCIP_RETCODE SCIPreoptAddRun | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR ** | origvars, | ||
int | norigvars, | ||
int | size ) |
add a new iteration after changing the objective function
reopt | reoptimization data sturcture |
set | global SCIP settings |
blkmem | block memory |
origvars | original problem variables |
norigvars | number of original variables |
size | number of expected solutions |
Definition at line 5389 of file reopt.c.
References assert(), BMSallocBlockMemoryArray, ensureRunSize(), FALSE, NULL, SCIP_Reopt::objhaschanged, reoptSaveNewObj(), resetStats(), SCIP_Reopt::run, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_Reopt::soltree.
Referenced by prepareReoptimization().
int SCIPreoptGetNCheckedSols | ( | SCIP_REOPT * | reopt | ) |
get the number of checked solutions during the reoptimization process
reopt | reoptimization data structure |
Definition at line 5425 of file reopt.c.
References assert(), SCIP_Reopt::ncheckedsols, and NULL.
void SCIPreoptAddNCheckedSols | ( | SCIP_REOPT * | reopt, |
int | ncheckedsols ) |
update the number of checked solutions during the reoptimization process
reopt | reoptimization data structure |
ncheckedsols | number of updated solutions |
Definition at line 5435 of file reopt.c.
References assert(), SCIP_Reopt::ncheckedsols, and NULL.
int SCIPreoptGetNImprovingSols | ( | SCIP_REOPT * | reopt | ) |
get the number of checked solutions during the reoptimization process
reopt | reoptimization data structure |
Definition at line 5446 of file reopt.c.
References assert(), SCIP_Reopt::nimprovingsols, and NULL.
void SCIPreoptAddNImprovingSols | ( | SCIP_REOPT * | reopt, |
int | nimprovingsols ) |
update the number of checked solutions during the reoptimization process
reopt | reoptimization data structure |
nimprovingsols | number of improving solutions |
Definition at line 5456 of file reopt.c.
References assert(), SCIP_Reopt::nimprovingsols, and NULL.
int SCIPreoptGetNSolsRun | ( | SCIP_REOPT * | reopt, |
int | run ) |
returns number of solutions stored in the solution tree of a given run
reopt | reoptimization data structure |
run | number of the run (1,2,..) |
Definition at line 5467 of file reopt.c.
References assert(), SCIP_SolTree::nsols, NULL, SCIP_SolTree::sols, and SCIP_Reopt::soltree.
int SCIPreoptGetNSols | ( | SCIP_REOPT * | reopt | ) |
returns number of all solutions of all runs
reopt | reoptimization data structure |
Definition at line 5482 of file reopt.c.
References assert(), SCIP_SolTree::nsols, NULL, r, SCIP_Reopt::run, and SCIP_Reopt::soltree.
SCIP_RETCODE SCIPreoptGetSolsRun | ( | SCIP_REOPT * | reopt, |
int | run, | ||
SCIP_SOL ** | sols, | ||
int | solssize, | ||
int * | nsols ) |
return the stored solutions of a given run
reopt | reoptimization data structure |
run | number of the run (1,2,...) |
sols | array of solutions to fill |
solssize | length of the array |
nsols | pointer to store the number of added solutions |
Definition at line 5497 of file reopt.c.
References assert(), SCIP_SolTree::nsols, NULL, SCIP_OKAY, SCIP_SolNode::sol, SCIP_SolTree::sols, SCIP_Reopt::soltree, TRUE, and SCIP_SolNode::updated.
Referenced by SCIPgetReoptSolsRun().
int SCIPreoptGetNSavedSols | ( | SCIP_REOPT * | reopt | ) |
returns the number of saved solutions overall runs
reopt | reoptimization data structure |
Definition at line 5537 of file reopt.c.
References assert(), SCIP_SolNode::child, NULL, SCIP_SolTree::root, SCIP_Reopt::soltree, and soltreeNInducedSols().
SCIP_RETCODE SCIPreoptCheckRestart | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE * | node, | ||
SCIP_VAR ** | transvars, | ||
int | ntransvars, | ||
SCIP_Bool * | restart ) |
check if the reoptimization process should be (locally) restarted.
First, we check whether the current node is the root node, e.g., node == NULL. in this case, we do not need to calculate the similarity again. we trigger a restart if
If the current node is different to the root node we calculate the local similarity, i.e., exclude all variable that are already fixed by bounding.
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | current node of the branch and bound tree (or NULL) |
transvars | transformed problem variables |
ntransvars | number of transformed problem variables |
restart | pointer to store if the reoptimization process should be restarted |
Definition at line 5564 of file reopt.c.
References assert(), FALSE, SCIP_Reopt::lastrestart, MAX, SCIP_Reopt::noptsolsbyreoptsol, SCIP_ReoptTree::nreoptnodes, NULL, reoptCheckLocalRestart(), reoptRestart(), reoptSimilarity(), SCIP_Reopt::reopttree, SCIP_Reopt::run, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsFeasLT(), and TRUE.
Referenced by prepareReoptimization(), and SCIPcheckReoptRestart().
SCIP_Real SCIPreoptGetSimToPrevious | ( | SCIP_REOPT * | reopt | ) |
returns the similarity to the previous objective function, if no exist return -2.0
reopt | reoptimization data structure |
Definition at line 5633 of file reopt.c.
References assert(), NULL, SCIP_Real, and SCIP_Reopt::simtolastobj.
Referenced by SCIPgetReoptSimilarity().
SCIP_Real SCIPreoptGetSimToFirst | ( | SCIP_REOPT * | reopt | ) |
SCIP_Real SCIPreoptGetSimilarity | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
int | run1, | ||
int | run2, | ||
SCIP_VAR ** | origvars, | ||
int | norigvars ) |
return the similarity between two of objective functions of two given runs
reopt | reoptimization data structure |
set | global SCIP settings |
run1 | number of the first run |
run2 | number of the second run |
origvars | original problem variables |
norigvars | number of original problem variables |
Definition at line 5651 of file reopt.c.
References assert(), NULL, reoptSimilarity(), and SCIP_Real.
Referenced by SCIPgetReoptSimilarity().
SCIP_SOL * SCIPreoptGetLastBestSol | ( | SCIP_REOPT * | reopt | ) |
returns the best solution of the last run
reopt | reoptimization data structure |
Definition at line 5670 of file reopt.c.
References assert(), NULL, SCIP_Reopt::prevbestsols, and SCIP_Reopt::run.
Referenced by SCIPgetReoptLastOptSol().
SCIP_REOPTNODE * SCIPreoptGetReoptnode | ( | SCIP_REOPT * | reopt, |
unsigned int | id ) |
returns the node of the reoptimization tree corresponding to the unique id
reopt | reoptimization data structure |
id | unique id |
Definition at line 5684 of file reopt.c.
References assert(), NULL, SCIP_ReoptTree::reoptnodes, and SCIP_Reopt::reopttree.
Referenced by SCIPgetReoptnode().
SCIP_Real SCIPreoptGetOldObjCoef | ( | SCIP_REOPT * | reopt, |
int | run, | ||
int | idx ) |
returns the coefficient of variable with index idx
in run run
reopt | reoptimization data structure |
run | number of the run (1,2,...) |
idx | index of original variable |
Definition at line 5698 of file reopt.c.
References assert(), NULL, SCIP_Reopt::objs, and SCIP_Real.
Referenced by reoptCheckLocalRestart(), and SCIPgetReoptOldObjCoef().
SCIP_SOL * SCIPreoptGetBestSolRun | ( | SCIP_REOPT * | reopt, |
int | run ) |
return the best solution of a given run.
reopt | reoptimization data structure |
run | number of the run (1,2,...) |
Definition at line 5714 of file reopt.c.
References assert(), NULL, and SCIP_Reopt::prevbestsols.
SCIP_RETCODE SCIPreoptReset | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem ) |
reset solving specific parameters
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
Definition at line 5726 of file reopt.c.
References SCIP_Reopt::addedconss, assert(), c, SCIP_Reopt::consadded, FALSE, SCIP_Reopt::naddedconss, NULL, SCIP_Reopt::objhaschanged, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPconsRelease(), and SCIPsetDebugMsg.
Referenced by freeReoptSolve(), and freeTransform().
void SCIPreoptResetSolMarks | ( | SCIP_REOPT * | reopt | ) |
reset marks of stored solutions to not updated
reopt | reoptimization data structure |
Definition at line 5760 of file reopt.c.
References assert(), SCIP_SolNode::child, NULL, SCIP_SolTree::root, SCIP_SolNode::sibling, SCIP_Reopt::soltree, and soltreeResetMarks().
Referenced by SCIPresetReoptSolMarks().
int SCIPreoptGetNNodes | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node ) |
returns the number of stored nodes in the subtree induced by node
reopt | reoptimization data structure |
node | node of the search tree |
Definition at line 5781 of file reopt.c.
References assert(), SCIP_ReoptTree::nreoptnodes, NULL, SCIP_Reopt::reopttree, reopttreeGetNNodes(), SCIPnodeGetDepth(), and SCIPnodeGetReoptID().
Referenced by compressReoptTree(), and SCIPgetNReoptnodes().
int SCIPreoptnodeGetNVars | ( | SCIP_REOPTNODE * | reoptnode | ) |
In debug mode, the following methods are implemented as function calls to ensure type validity. In optimized mode, the methods are implemented as defines to improve performance. However, we want to have them in the library anyways, so we have to undef the defines. returns the number of bound changes stored in the reopttree at ID id
reoptnode | node of the reopttree |
Definition at line 5821 of file reopt.c.
References assert(), SCIP_ReoptNode::nafterdualvars, NULL, and SCIP_ReoptNode::nvars.
Referenced by constructCompression(), and constructCompression().
int SCIPreoptnodeGetNConss | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the number of bound changes at the node stored at ID id
reoptnode | node of the reoptimization tree |
Definition at line 5831 of file reopt.c.
References assert(), SCIP_ReoptNode::nconss, and NULL.
Referenced by constructCompression().
int SCIPreoptnodeGetNDualBoundChgs | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the number of stored bound changes based on dual information in the reopttree at ID id
reoptnode | node of the reoptimization tree |
Definition at line 5841 of file reopt.c.
References assert(), SCIP_ReoptNode::dualredscur, and NULL.
int SCIPreoptnodeGetNChildren | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the number of child nodes of reoptnode
reoptnode | node of the reoptimization tree |
Definition at line 5854 of file reopt.c.
References assert(), SCIP_ReoptNode::nchilds, and NULL.
Referenced by Exec(), and SCIPreoptimizeNode().
SCIP_Real SCIPreoptnodeGetLowerbound | ( | SCIP_REOPTNODE * | reoptnode | ) |
return the lower bound stored at ID
id
reoptnode | node of the reoptimization tree |
Definition at line 5864 of file reopt.c.
References assert(), SCIP_ReoptNode::lowerbound, NULL, and SCIP_Real.
Referenced by constructCompression(), constructCompression(), and sortIDs().
SCIP_REOPTTYPE SCIPreoptnodeGetType | ( | SCIP_REOPTNODE * | reoptnode | ) |
void SCIPreoptnodeGetConss | ( | SCIP_REOPTNODE * | reoptnode, |
SCIP_VAR *** | vars, | ||
SCIP_Real ** | bounds, | ||
SCIP_BOUNDTYPE ** | boundtypes, | ||
int | mem, | ||
int * | nconss, | ||
int * | nvars ) |
returns all added constraints at ID id
reoptnode | node of the reoptimization tree |
vars | 2-dim array of variables |
bounds | 2-dim array of bounds |
boundtypes | 2-dim array of boundtypes |
mem | allocated memory for constraints |
nconss | pointer to store the number of constraints |
nvars | pointer to store the number of variables |
Definition at line 5884 of file reopt.c.
References assert(), c, SCIP_ReoptNode::conss, SCIP_ReoptNode::nconss, NULL, nvars, SCIP_Real, and vars.
Referenced by constructCompression().
void SCIPreoptnodeSetParentID | ( | SCIP_REOPTNODE * | reoptnode, |
unsigned int | parentid ) |
set the parent id
reoptnode | node of the reopttree |
parentid | id of the parent node |
Definition at line 5919 of file reopt.c.
References assert(), NULL, and SCIP_ReoptNode::parentID.
Referenced by applyCompression(), and applyCompression().
int SCIPreoptGetNLeaves | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node ) |
returns the number of leaf nodes of the subtree induced by node
(of the whole tree if node == NULL)
reopt | reoptimization data structure |
node | node of the search tree (or NULL) |
Definition at line 5931 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, i, SCIP_ReoptNode::nchilds, NULL, reoptGetNLeaves(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), and SCIPnodeGetReoptID().
Referenced by SCIPcomprExec(), and SCIPgetNReoptLeaves().
SCIP_RETCODE SCIPreoptAddInfNode | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE * | node ) |
save information that given node is infeasible
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
Definition at line 5965 of file reopt.c.
References assert(), SCIP_ReoptTree::ninfnodes, SCIP_ReoptTree::ntotalinfnodes, NULL, REOPT_CONSTYPE_CUT, SCIP_Reopt::reopttree, saveGlobalCons(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPreoptCheckCutoff().
SCIP_RETCODE SCIPreoptCheckCutoff | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE * | node, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_LP * | lp, | ||
SCIP_LPSOLSTAT | lpsolstat, | ||
SCIP_Bool | isrootnode, | ||
SCIP_Bool | isfocusnode, | ||
SCIP_Real | lowerbound, | ||
int | effectiverootdepth ) |
check the reason for cut off a node and if necessary store the node
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
eventtype | eventtype |
lp | LP data |
lpsolstat | solution status of the LP |
isrootnode | the node is the root |
isfocusnode | the node is the current focus node |
lowerbound | lower bound of the node |
effectiverootdepth | effective root depth |
Definition at line 5989 of file reopt.c.
References addNode(), assert(), SCIP_Reopt::currentnode, deleteLastDualBndchgs(), SCIP_Reopt::dualreds, FALSE, SCIP_Reopt::lastbranched, SCIP_Reopt::lastseennode, lpsolstat, MIN, NULL, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_NODEBRANCHED, SCIP_EVENTTYPE_NODEFEASIBLE, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_FEASIBLE, SCIP_REOPTTYPE_INFSUBTREE, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_PRUNED, SCIP_REOPTTYPE_STRBRANCHED, SCIP_REOPTTYPE_TRANSIT, SCIPlpGetCutoffbound(), SCIPlpGetSolstat(), SCIPnodeGetDepth(), SCIPnodeGetNDualBndchgs(), SCIPnodeGetNumber(), SCIPnodeGetType(), SCIPreoptAddDualBndchg(), SCIPreoptAddInfNode(), SCIPreoptGetNAddedConss(), SCIPreoptGetNDualBndchgs(), SCIPreoptResetDualBndchgs(), SCIPsetDebugMsg, and TRUE.
Referenced by SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodepqBound(), SCIPsolveCIP(), and solveNodeLP().
SCIP_RETCODE SCIPreoptAddDualBndchg | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE * | node, | ||
SCIP_VAR * | var, | ||
SCIP_Real | newval, | ||
SCIP_Real | oldval ) |
store bound change based on dual information
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
var | variable |
newval | new bound |
oldval | old bound |
Definition at line 6257 of file reopt.c.
References assert(), checkMemDualCons(), SCIP_Reopt::currentnode, DEFAULT_MEM_DUALCONS, SCIP_Reopt::dualreds, FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPnodeGetNumber(), SCIPsetDebugMsg, SCIPsetFindBranchrule(), SCIPsetGetIntParam(), SCIPsetIsEQ(), SCIPsetIsLT(), SCIPvarGetName(), SCIPvarGetOrigvarSum(), SCIPvarIsOriginal(), and var.
Referenced by SCIPaddReoptDualBndchg(), and SCIPreoptCheckCutoff().
int SCIPreoptGetNDualBndchgs | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node ) |
returns the number of bound changes based on dual information
reopt | reoptimization data structure |
node | node of the search tree |
Definition at line 6347 of file reopt.c.
References assert(), SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, NULL, and SCIPnodeGetNumber().
Referenced by SCIPreoptCheckCutoff().
SCIP_RETCODE SCIPreoptGetChildIDs | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE * | node, | ||
unsigned int * | childs, | ||
int | childssize, | ||
int * | nchilds ) |
returns the child nodes of node
that need to be reoptimized next or NULL if node
is a leaf
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
node | node of the search tree |
childs | array to store the child ids |
childssize | size of the childs array |
nchilds | pointer to store the number of child nodes |
Definition at line 6367 of file reopt.c.
References assert(), c, SCIP_ReoptNode::childids, dryBranch(), SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), and TRUE.
Referenced by SCIPgetReoptChildIDs().
SCIP_RETCODE SCIPreoptGetLeaves | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node, | ||
unsigned int * | leaves, | ||
int | leavessize, | ||
int * | nleaves ) |
returns all leaves of the subtree induced by node
reopt | reoptimization data |
node | node of the search tree |
leaves | array to the the ids |
leavessize | size of leaves array |
nleaves | pointer to store the number of leave node |
Definition at line 6418 of file reopt.c.
References assert(), SCIP_ReoptNode::childids, i, SCIP_ReoptNode::nchilds, NULL, reoptGetLeaves(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, and SCIPnodeGetReoptID().
Referenced by SCIPgetReoptLeaveIDs().
SCIP_RETCODE SCIPreoptSaveOpenNodes | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_LP * | lp, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE ** | leaves, | ||
int | nleaves, | ||
SCIP_NODE ** | childs, | ||
int | nchilds, | ||
SCIP_NODE ** | siblings, | ||
int | nsiblings ) |
add all unprocessed nodes to the reoptimization tree
reopt | reoptimization data structure |
set | global SCIP settings |
lp | current LP |
blkmem | block memory |
leaves | array of open leave nodes |
nleaves | number of open leave nodes |
childs | array of open children nodes |
nchilds | number of open leave nodes |
siblings | array of open sibling nodes |
nsiblings | number of open leave nodes |
Definition at line 6481 of file reopt.c.
References addNode(), assert(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_PRUNED, SCIPnodeGetLowerbound(), and SCIPsetDebugMsg.
Referenced by SCIPsolve().
SCIP_RETCODE SCIPreoptMergeVarHistory | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR ** | vars, | ||
int | nvars ) |
merges the variable history of the current run with the stored history
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
vars | original problem variables |
nvars | number of original problem variables |
Definition at line 6531 of file reopt.c.
References assert(), SCIP_Var::history, NULL, nvars, SCIP_Reopt::objhaschanged, SCIP_History::pscostcount, SCIP_History::pscostvariance, SCIP_History::pscostweightedmean, r, reoptSimilarity(), SCIP_Reopt::run, SCIP_INVALID, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_NORMAL, SCIPhistoryGetAvgCutoffs(), SCIPhistoryGetAvgInferences(), SCIPhistoryIncCutoffSum(), SCIPhistoryIncInferenceSum(), SCIPhistoryIncNBranchings(), SCIPsetDebugMsg, SCIPsetIsGT(), SCIPsetIsZero(), SCIPvarGetIndex(), SCIPvarGetName(), SCIPvarGetTransVar(), SCIPvarIsActive(), SCIPvarIsOriginal(), SCIPverbMessage(), SCIP_Reopt::simtolastobj, SCIP_Reopt::varhistory, and vars.
Referenced by prepareReoptimization().
SCIP_RETCODE SCIPreoptUpdateVarHistory | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR ** | vars, | ||
int | nvars ) |
updates the variable history
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
blkmem | block memory |
vars | original variable array |
nvars | number of original variables |
Definition at line 6623 of file reopt.c.
References assert(), BMSallocBlockMemoryArray, FALSE, SCIP_Var::history, NULL, nvars, SCIP_Reopt::run, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPhistoryCreate(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPsetDebugMsg, SCIPvarGetIndex(), SCIPvarGetTransVar(), SCIPvarIsActive(), SCIPvarIsOriginal(), SCIP_Reopt::varhistory, and vars.
Referenced by SCIPsolve().
SCIP_RETCODE SCIPreoptApplyCompression | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_REOPTNODE ** | representatives, | ||
int | nrepresentatives, | ||
SCIP_Bool * | success ) |
reset the complete tree and set the given search frontier
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
representatives | array of representatives |
nrepresentatives | number of representatives |
success | pointer to store if the method was successful |
Definition at line 6678 of file reopt.c.
References assert(), c, SCIP_ReoptNode::conss, createReoptnode(), FALSE, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, nvars, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, r, reoptAddChild(), SCIP_ReoptTree::reoptnodes, reoptResetTree(), SCIP_Reopt::reopttree, SCIP_ReoptNode::reopttype, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_LEAF, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_TRANSIT, SCIPqueueRemoveUInt(), SCIPreoptnodeAddBndchg(), SCIPreoptnodeAddCons(), SCIPsetDebugMsg, TRUE, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by SCIPsetReoptCompression().
|
static |
transforms a set of dual reductions into a linear constraint
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
consdata | reoptimization constraint data that should represent to set of solutions pruned by the dual reductions |
dualreds | set of dual reductions |
Definition at line 6777 of file reopt.c.
References assert(), BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, NULL, REOPT_CONSTYPE_DUALREDS, SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_OKAY, SCIPsetInfinity(), SCIPsetIsEQ(), and TRUE.
Referenced by SCIPreoptSplitRoot().
|
static |
transforms a set of dual reductions into a bounddisjuction constraint
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
consdata | reoptimization constraint data that should represent to set of solutions pruned by the dual reductions |
dualreds | set of dual reductions |
Definition at line 6837 of file reopt.c.
References assert(), BMSduplicateBlockMemoryArray, FALSE, MAX, MIN, NULL, REOPT_CONSTYPE_DUALREDS, SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPvarGetLbGlobal(), and SCIPvarGetUbGlobal().
Referenced by SCIPreoptSplitRoot().
SCIP_RETCODE SCIPreoptSplitRoot | ( | SCIP_REOPT * | reopt, |
SCIP_TREE * | tree, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
BMS_BLKMEM * | blkmem, | ||
int * | ncreatedchilds, | ||
int * | naddedconss ) |
splits the root into several nodes and moves the child nodes of the root to one of the created nodes
reopt | reoptimization data structure |
tree | branch and bound tree |
set | global SCIP settings |
stat | dynamic SCIP statistics |
blkmem | block memory |
ncreatedchilds | pointer to store the number of created nodes |
naddedconss | pointer to store the number added constraints |
Definition at line 6894 of file reopt.c.
References assert(), BMSallocBlockMemory, c, SCIP_ReoptNode::conss, createReoptnode(), SCIP_ReoptNode::dualredscur, getInferenceOrder(), nbinvars, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, nintvars, NULL, nvars, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, SCIP_Reopt::randnumgen, reoptAddChild(), reoptMoveIDs(), reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, reoptnodeUpdateDualConss(), SCIP_Reopt::reopttree, reopttreeCheckMemory(), SCIP_ReoptNode::reopttype, SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_STRBRANCHED, SCIP_REOPTTYPE_TRANSIT, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPerrorMessage, SCIPnodeSetReopttype(), SCIPqueueRemoveUInt(), SCIPrandomPermuteIntArray(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPtreeGetRootNode(), SCIPvarGetType(), transformDualredsToBounddisjunction(), transformDualredsToLinear(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and vars.
Referenced by SCIPsplitReoptRoot().
SCIP_RETCODE SCIPreoptResetDualBndchgs | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node, | ||
BMS_BLKMEM * | blkmem ) |
reset the stored information abound bound changes based on dual information
reopt | reoptimization data structure |
node | node of the search tree |
blkmem | block memory |
Definition at line 7192 of file reopt.c.
References assert(), NULL, reoptnodeResetDualConss(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, SCIPnodeGetDepth(), and SCIPnodeGetReoptID().
Referenced by addNode(), SCIPreoptCheckCutoff(), and SCIPresetReoptnodeDualcons().
void SCIPreoptnodeGetPath | ( | SCIP_REOPT * | reopt, |
SCIP_REOPTNODE * | reoptnode, | ||
SCIP_VAR ** | vars, | ||
SCIP_Real * | vals, | ||
SCIP_BOUNDTYPE * | boundtypes, | ||
int | varssize, | ||
int * | nbndchgs, | ||
int * | nbndchgsafterdual ) |
return the branching path stored of the given node in the reoptimization tree
reopt | reoptimization data structure |
reoptnode | node of the reoptimization tree |
vars | array for variables |
vals | array for values |
boundtypes | array for bound types |
varssize | size of arrays vars, vals, and boundtypes |
nbndchgs | pointer to store the number of bound changes |
nbndchgsafterdual | pointer to store the number of bound changes applied after the first dual reduction at the given node |
Definition at line 7217 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, assert(), SCIP_ReoptNode::nafterdualvars, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptNode::parentID, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Real, SCIPreoptnodeGetPath(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and vars.
Referenced by SCIPgetReoptnodePath(), and SCIPreoptnodeGetPath().
SCIP_RETCODE SCIPreoptDeleteNode | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
unsigned int | id, | ||
BMS_BLKMEM * | blkmem ) |
delete a node stored in the reoptimization tree
reopt | reoptimization data structure |
set | global SCIP settings |
id | id of a stored node |
blkmem | block memory |
Definition at line 7276 of file reopt.c.
References assert(), NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, SCIPqueueInsertUInt(), and TRUE.
SCIP_RETCODE SCIPreoptApply | ( | SCIP_REOPT * | reopt, |
SCIP * | scip, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
BMS_BLKMEM * | blkmem, | ||
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
reopt | reoptimization data structure |
scip | SCIP data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
transprob | transformed problem |
origprob | original problem |
tree | branching tree |
lp | current LP |
branchcand | branching candidate |
eventqueue | event queue |
cliquetable | clique table |
blkmem | block memory |
reoptnode | node of the reoptimization tree to reactivate |
id | id of the node to reactivate |
estimate | estimate of the child nodes that should be created |
childnodes | array to store the created child nodes |
ncreatedchilds | pointer to store number of created child nodes |
naddedconss | pointer to store number of generated constraints |
childnodessize | available size of childnodes array |
success | pointer store the result |
Definition at line 7296 of file reopt.c.
References addLocalConss(), addNode(), addSplitcons(), assert(), c, changeAncestorBranchings(), SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, FALSE, fixBounds(), fixInterdiction(), getInferenceOrder(), SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nconss, NULL, nvars, SCIP_Reopt::objhaschanged, SCIP_Reopt::randnumgen, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, SCIP_ReoptTree::reoptnodes, reoptnodeUpdateDualConss(), SCIP_Reopt::reopttree, SCIP_ReoptNode::reopttype, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_INFSUBTREE, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_NONE, SCIP_REOPTTYPE_STRBRANCHED, SCIP_REOPTTYPE_TRANSIT, SCIPnodeCreateChild(), SCIPnodeGetNumber(), SCIPnodeSetEstimate(), SCIPnodeSetReoptID(), SCIPnodeSetReopttype(), SCIPrandomPermuteIntArray(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsGT(), TRUE, and vars.
Referenced by SCIPapplyReopt().
SCIP_Real SCIPreoptGetSavingtime | ( | SCIP_REOPT * | reopt | ) |
returns the time needed to store the nodes for reoptimization
reopt | reoptimization data structure |
Definition at line 7598 of file reopt.c.
References assert(), NULL, SCIP_Reopt::savingtime, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintReoptStatistics().
SCIP_RETCODE SCIPreoptApplyGlbConss | ( | SCIP * | scip, |
SCIP_REOPT * | reopt, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
BMS_BLKMEM * | blkmem ) |
add the stored constraints globally to the problem
scip | SCIP data structure |
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic problem statistics |
blkmem | block memory |
Definition at line 7608 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, assert(), c, ensureActiveconssSize(), FALSE, SCIP_Reopt::glbconss, SCIP_Reopt::nactiveconss, nbinvars, SCIP_Reopt::nglbconss, nintvars, SCIP_Reopt::nmaxactiveconss, NULL, REOPT_CONSTYPE_CUT, SCIP_Reopt::run, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPaddCons(), SCIPallocBufferArray, SCIPcreateConsBasicBounddisjunction(), SCIPcreateConsLogicor(), SCIPdebugPrintCons, SCIPerrorMessage, SCIPfreeBufferArray, SCIPhashsetExists(), SCIPhashsetInsert(), SCIPsetDebugMsg, SCIPsetIsFeasEQ(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarIsOriginal(), SCIPvarNegate(), and TRUE.
Referenced by prepareReoptimization().
SCIP_RETCODE SCIPreoptApplyCuts | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node, | ||
SCIP_SEPASTORE * | sepastore, | ||
SCIP_CUTPOOL * | cutpool, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_LP * | lp, | ||
SCIP_Bool | root ) |
add the stored cuts to the separation storage
reopt | reoptimization data structure |
node | current focus node |
sepastore | separation storage |
cutpool | global cutpool |
blkmem | block memory |
set | global SCIP settings |
stat | dynamic problem statistics |
eventqueue | event queue |
eventfilter | event filter |
lp | current LP |
root | bool whether the current node is the root |
Definition at line 7730 of file reopt.c.
References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, c, SCIP_ReoptNode::conss, FALSE, i, SCIP_ReoptNode::nconss, NULL, REOPT_CONSTYPE_CUT, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_CALL, SCIP_LONGINT_FORMAT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_ROWORIGINTYPE_REOPT, SCIP_VARSTATUS_COLUMN, SCIPcutpoolAddRow(), SCIPnodeGetDepth(), SCIPnodeGetNumber(), SCIPnodeGetReoptID(), SCIProwCreate(), SCIProwRelease(), SCIPsepastoreAddCut(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsnprintf(), SCIPvarGetCol(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarIsOriginal(), and TRUE.
Referenced by SCIPinitConssLP().
SCIP_Bool SCIPreoptGetSolveLP | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_NODE * | node ) |
check if the LP of the given node should be solved or not
reopt | reoptimization data structure |
set | global SCIP settings |
node | node of the current search tree |
Definition at line 7860 of file reopt.c.
References assert(), FALSE, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), SCIPnodeGetReopttype(), SCIPsetIsGE(), SCIP_Reopt::simtolastobj, and TRUE.
Referenced by solveNode().
void SCIPreoptnodeInit | ( | SCIP_REOPTNODE * | reoptnode, |
SCIP_SET * | set ) |
initialize an empty node
reoptnode | node of the reopttree |
set | global SCIP settings |
Definition at line 7907 of file reopt.c.
References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, SCIP_ReoptNode::allocchildmem, assert(), SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptNode::parentID, SCIP_ReoptNode::reopttype, SCIP_REOPTTYPE_NONE, SCIPsetInfinity(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize.
Referenced by SCIPinitRepresentation().
SCIP_RETCODE SCIPreoptnodeReset | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_REOPTNODE * | reoptnode ) |
reset the given reoptimization node
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
reoptnode | reoptimization node |
Definition at line 7940 of file reopt.c.
References assert(), NULL, reoptnodeReset(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPresetRepresentation().
SCIP_RETCODE SCIPreoptnodeDelete | ( | SCIP_REOPTNODE ** | reoptnode, |
BMS_BLKMEM * | blkmem ) |
delete the given reoptimization node
reoptnode | pointer of reoptnode |
blkmem | block memory |
Definition at line 7958 of file reopt.c.
References assert(), NULL, reoptnodeDelete(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPdeleteReoptnode(), and SCIPfreeRepresentation().
SCIP_RETCODE SCIPreoptnodeAddBndchg | ( | SCIP_REOPTNODE * | reoptnode, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR * | var, | ||
SCIP_Real | val, | ||
SCIP_BOUNDTYPE | boundtype ) |
add a variable to a given reoptnode
reoptnode | node of the reopttree |
set | global SCIP settings |
blkmem | block memory |
var | variable to add |
val | value of the variable |
boundtype | boundtype of the variable |
Definition at line 7972 of file reopt.c.
References assert(), NULL, nvars, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_CALL, SCIP_OKAY, SCIP_Real, var, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPaddReoptnodeBndchg(), SCIPreoptApplyCompression(), and SCIPreoptnodeAddCons().
SCIP_RETCODE SCIPreoptnodeAddCons | ( | SCIP_REOPTNODE * | reoptnode, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR ** | vars, | ||
SCIP_Real * | bounds, | ||
SCIP_BOUNDTYPE * | boundtypes, | ||
SCIP_Real | lhs, | ||
SCIP_Real | rhs, | ||
int | nvars, | ||
REOPT_CONSTYPE | constype, | ||
SCIP_Bool | linear ) |
add a constraint to a given reoptnode
reoptnode | node of the reopttree |
set | global SCIP settings |
blkmem | block memory |
vars | variables which are part of the constraint |
bounds | bounds of the variables |
boundtypes | boundtypes of the variables (or NULL is the constraint is a cut) |
lhs | lhs of the constraint |
rhs | rhs of the constraint |
nvars | number of variables |
constype | type of the constraint |
linear | the given constraint has a linear representation |
Definition at line 8000 of file reopt.c.
References assert(), BMSallocBlockMemory, BMSduplicateBlockMemoryArray, SCIP_ReoptNode::conss, SCIP_ReoptNode::nconss, NULL, nvars, REOPT_CONSTYPE_CUT, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, reoptnodeCheckMemory(), SCIP_ALLOC, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPreoptnodeAddBndchg(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsLE(), SCIPvarGetLbLocal(), SCIPvarGetType(), SCIPvarGetUbLocal(), and vars.
Referenced by SCIPaddReoptnodeCons(), SCIPreoptApplyCompression(), and storeCuts().
SCIP_RETCODE SCIPreoptAddCons | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_CONS * | cons ) |
add a constraint to the reoptimization data structure
reopt | reoptimization data structure |
set | global SCIP settings |
blkmem | block memory |
cons | constraint to add |
Definition at line 8092 of file reopt.c.
References SCIP_Reopt::addedconss, SCIP_Reopt::addedconsssize, assert(), BMSallocClearBlockMemoryArray, BMSclearMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::consadded, SCIP_Reopt::naddedconss, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPconsCapture(), SCIPconsGetName(), SCIPsetCalcMemGrowSize(), SCIPsetDebugMsg, and TRUE.
Referenced by SCIPaddCons().
SCIP_RETCODE SCIPreoptSaveGlobalBounds | ( | SCIP_REOPT * | reopt, |
SCIP_PROB * | transprob, | ||
BMS_BLKMEM * | blkmem ) |
save global lower and upper bounds
reopt | reoptimization data structure |
transprob | transformed problem data |
blkmem | block memory |
Definition at line 8143 of file reopt.c.
References assert(), SCIP_Reopt::glblb, SCIP_Reopt::glbub, i, NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapInsertReal(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsRelaxationOnly(), and vars.
Referenced by prepareReoptimization().
SCIP_RETCODE SCIPreoptSaveActiveConss | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
BMS_BLKMEM * | blkmem ) |
save active constraints
reopt | reoptimization data structure |
set | global SCIP settings |
transprob | transformed problem data |
blkmem | block memory |
Definition at line 8183 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, assert(), ensureActiveconssSize(), i, SCIP_Reopt::nactiveconss, SCIP_Reopt::nmaxactiveconss, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsCapture(), SCIPconsIsActive(), SCIPhashsetCreate(), SCIPhashsetExists(), SCIPhashsetInsert(), SCIPprobGetConss(), SCIPprobGetNConss(), and SCIPsetDebugMsg.
Referenced by prepareReoptimization().
SCIP_RETCODE SCIPreoptInstallBounds | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_CLIQUETABLE * | cliquetable, | ||
BMS_BLKMEM * | blkmem ) |
installs global lower and upper bounds
reopt | reoptimization data structure |
set | global SCIP settings |
stat | dynamic SCIP statistics |
transprob | transformed problem data |
lp | current LP data |
branchcand | branching candidate storage |
eventqueue | event queue |
cliquetable | clique table data structure |
blkmem | block memory |
Definition at line 8223 of file reopt.c.
References assert(), SCIP_Reopt::glblb, SCIP_Reopt::glbub, i, NULL, nvars, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImageReal(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPprobIsTransformed(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), SCIPvarChgUbLocal(), SCIPvarIsRelaxationOnly(), and vars.
Referenced by prepareReoptimization().
SCIP_RETCODE SCIPreoptResetActiveConss | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat ) |
reactivate globally valid constraints that were deactivated and necessary to ensure correctness
Definition at line 8275 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, assert(), SCIP_Cons::deleted, FALSE, i, SCIP_Reopt::nactiveconss, SCIP_Reopt::nmaxactiveconss, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsActivate(), SCIPconsDeactivate(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPhashsetExists(), SCIPsetDebugMsg, and TRUE.
Referenced by prepareReoptimization().
SCIP_Bool SCIPreoptConsCanBeDeleted | ( | SCIP_REOPT * | reopt, |
SCIP_CONS * | cons ) |
returns whether a constraint is necessary to ensure correctness and cannot be deleted
reopt | reoptimization data structure |
cons | problem constraint |
Definition at line 8316 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, assert(), NULL, SCIP_Bool, SCIPhashsetExists(), and TRUE.
Referenced by SCIPconsDelete().