Detailed Descriptiondata 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/misc.h" #include "scip/reopt.h" #include "scip/tree.h" #include "scip/primal.h" #include "scip/prob.h" #include "scip/cons.h" #include "scip/cons_logicor.h" #include "scip/clock.h" #include "scip/heur_reoptsols.h" #include "blockmemshell/memory.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 43 of file reopt.c. Referenced by saveAfterDualBranchings().
Definition at line 44 of file reopt.c. Referenced by saveAncestorBranchings().
Definition at line 45 of file reopt.c. Referenced by createReopttree().
Definition at line 46 of file reopt.c. Referenced by createSolTree(), and SCIPreoptCreate().
Definition at line 47 of file reopt.c. Referenced by SCIPreoptAddDualBndchg().
Definition at line 50 of file reopt.c. Referenced by SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), and SCIPreoptCreate().
Definition at line 51 of file reopt.c. Referenced by SCIPreoptCreate(). Function Documentation
exec the event handler Definition at line 57 of file reopt.c. References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_NODETYPE_FOCUSNODE, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddReoptDualBndchg(), SCIPdebugMessage, SCIPeventGetNewbound(), SCIPeventGetOldbound(), SCIPeventGetVar(), SCIPeventhdlrGetName(), SCIPgetCurrentNode(), SCIPgetEffectiveRootDepth(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPnodeGetDepth(), SCIPnodeGetNumber(), SCIPnodeGetType(), SCIPvarGetName(), and SCIPvarGetType().
solving process initialization method of event handler (called when branch and bound process is about to begin) Definition at line 90 of file reopt.c. References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIPcatchVarEvent(), SCIPeventhdlrGetName(), SCIPgetNVars(), SCIPgetVars(), SCIPisReoptEnabled(), and SCIPvarGetType().
solving process deinitialization method of event handler (called before branch and bound process data is freed) Definition at line 116 of file reopt.c. References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIPdropVarEvent(), SCIPeventhdlrGetName(), SCIPgetNVars(), SCIPgetVars(), SCIPisReoptEnabled(), and SCIPvarGetType().
ensures, that sols[pos] array can store at least num entries
Definition at line 148 of file reopt.c. References BMSreallocBlockMemoryArray, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_Reopt::soltree. Referenced by SCIPreoptAddSol().
ensures, that sols array can store at least num entries
Definition at line 175 of file reopt.c. References BMSreallocBlockMemoryArray, BMSreallocMemoryArray, SCIP_SolTree::nsols, NULL, SCIP_Reopt::objs, SCIP_Reopt::prevbestsols, SCIP_Reopt::runsize, SCIP_ALLOC, SCIP_OKAY, SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_Reopt::soltree. Referenced by reoptSaveNewObj(), and SCIPreoptAddRun().
check the memory of the reoptimization tree and if necessary reallocate
Definition at line 211 of file reopt.c. References BMSreallocBlockMemoryArray, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPqueueInsert(), and SCIPqueueIsEmpty(). Referenced by addNode(), and SCIPreoptSplitRoot().
check allocated memory of a node within the reoptimization tree and if necessary reallocate
Definition at line 242 of file reopt.c. References SCIP_ReoptNode::allocchildmem, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, SCIP_ALLOC, SCIP_OKAY, 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 updateConstraintPropagation().
returns the number of stored solutions in the subtree induced by
Definition at line 316 of file reopt.c. References SCIP_SolNode::father, SCIP_SolNode::lchild, NULL, and SCIP_SolNode::rchild. Referenced by SCIPreoptGetNSavedSols().
returns the similarity of the objective functions of two given iterations
Definition at line 339 of file reopt.c. References FALSE, MIN, NULL, SCIP_Reopt::objs, SCIP_Bool, SCIP_Real, SCIPsetIsFeasLT(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIPvarIsOriginal(), and TRUE. Referenced by reoptSaveNewObj(), and SCIPreoptGetSimilarity().
delete the given reoptimization node
Definition at line 399 of file reopt.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, NULL, and SCIP_OKAY. Referenced by reopttreeDeleteNode(), and SCIPreoptnodeDelete().
reset the given reoptimization node
Definition at line 514 of file reopt.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualconsnex, SCIP_ReoptNode::dualfixing, 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, SCIPsetInfinity(), LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by reopttreeDeleteNode(), and SCIPreoptnodeReset().
delete the node stored at position
Definition at line 576 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, reoptnodeDelete(), reoptnodeReset(), SCIP_ReoptTree::reoptnodes, SCIP_CALL, and SCIP_OKAY. Referenced by clearReoptnodes(), deleteChildrenBelow(), dryBranch(), SCIPreoptDeleteNode(), and shrinkNode().
constructor of the solution tree
Definition at line 608 of file reopt.c. References BMSallocBlockMemory, BMSallocBlockMemoryArray, DEFAULT_MEM_RUN, FALSE, SCIP_SolNode::father, SCIP_SolNode::lchild, SCIP_SolTree::nsols, NULL, SCIP_SolNode::rchild, SCIP_SolTree::root, SCIP_ALLOC, SCIP_OKAY, SCIP_SolNode::sol, SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_SolNode::updated. Referenced by SCIPreoptCreate().
free the given solution node
Definition at line 640 of file reopt.c. References BMSfreeBlockMemoryNull, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, and SCIPsolFree(). Referenced by freeSolTree().
free the solution tree
Definition at line 683 of file reopt.c. References BMSfreeBlockMemoryArray, 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().
creates and adds a solution node to the solution tree
Definition at line 710 of file reopt.c. References BMSallocBlockMemory, FALSE, SCIP_SolNode::father, SCIP_SolNode::lchild, NULL, SCIP_SolNode::rchild, SCIP_ALLOC, SCIP_OKAY, SCIP_SolNode::sol, and SCIP_SolNode::updated. Referenced by soltreeAddSol().
add a solution to the solution tree
Definition at line 740 of file reopt.c. References FALSE, SCIP_SolNode::lchild, NULL, SCIP_Reopt::prevbestsols, SCIP_SolNode::rchild, SCIP_SolTree::root, SCIP_Reopt::run, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPsetIsFeasEQ(), SCIPsolCopy(), SCIPsolGetVal(), SCIPvarIsIntegral(), SCIP_SolNode::sol, solnodeAddChild(), SCIP_Reopt::soltree, and TRUE. Referenced by SCIPreoptAddSol().
reset all marks 'updated' to FALSE
Definition at line 837 of file reopt.c. References FALSE, SCIP_SolNode::father, SCIP_SolNode::lchild, NULL, SCIP_SolNode::rchild, SCIP_SolNode::sol, and SCIP_SolNode::updated. Referenced by SCIPreoptResetSolMarks().
allocate memory for a node within the reoptimization tree
Definition at line 865 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, SCIP_ReoptNode::allocchildmem, BMSallocBlockMemory, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualconsnex, SCIP_ReoptNode::dualfixing, FALSE, SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptNode::parentID, SCIP_ReoptTree::reoptnodes, SCIP_ReoptNode::reopttype, SCIP_ALLOC, SCIP_OKAY, SCIP_REOPTTYPE_NONE, SCIPdebugMessage, SCIPsetInfinity(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize. Referenced by addNode(), createReopttree(), reoptRestart(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
constructor of the reoptimization tree
Definition at line 920 of file reopt.c. References BMSallocBlockMemoryArray, createReoptnode(), DEFAULT_MEM_NODES, SCIP_ReoptTree::ncutoffreoptnodes, SCIP_ReoptTree::nfeasnodes, SCIP_ReoptTree::ninfnodes, SCIP_ReoptTree::ninfsubtrees, 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(), SCIPqueueInsert(), and SCIPqueueNElems(). Referenced by SCIPreoptCreate().
clears the reopttree, e.g., to restart and solve the next problem from scratch
Definition at line 967 of file reopt.c. References SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, SCIPqueueClear(), SCIPqueueInsert(), and SCIPqueueNElems(). Referenced by freeReoptTree(), and reoptResetTree().
free the reoptimization tree
Definition at line 1005 of file reopt.c. References BMSfreeBlockMemoryArray, BMSfreeMemory, clearReoptnodes(), FALSE, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_CALL, SCIP_OKAY, and SCIPqueueFree(). Referenced by SCIPreoptFree().
check memory for the constraint to handle bound changes based on dual information
Definition at line 1029 of file reopt.c. References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::dualcons, NULL, LogicOrData::nvars, SCIP_ALLOC, SCIP_OKAY, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by collectDualInformation(), and SCIPreoptAddDualBndchg().
check the memory to store global constraints
Definition at line 1069 of file reopt.c. References SCIP_Reopt::allocmemglbconss, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by saveGlobalCons(), and SCIPreoptAddGlbCons().
update the bound changes made by constraint propagations during current iteration; stop saving the bound changes if we reach a branching decision based on a dual information.
Definition at line 1102 of file reopt.c. References NULL, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, SCIPnodeGetConsProps(), SCIPnodeGetNDomchg(), TRUE, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize. Referenced by addNode().
save bound changes made after the first bound change based on dual information, e.g., mode by strong branching This method is 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 change 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.
Definition at line 1157 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, DEFAULT_MEM_VARAFTERDUAL, SCIP_ReoptNode::nafterdualvars, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_ALLOC, SCIP_OKAY, SCIPdebugMessage, SCIPnodeGetBdChgsAfterDual(), and TRUE. Referenced by addNode().
transform variable and bounds back to the original space
Definition at line 1236 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvars, 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().
search the next node along the root path that was saved by reoptimization
Definition at line 1286 of file reopt.c. References NULL, SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_Reopt::reopttree, SCIP_OKAY, SCIP_REOPTTYPE_TRANSIT, SCIPnodeGetDepth(), SCIPnodeGetNDomchg(), SCIPnodeGetParent(), SCIPnodeGetReoptID(), and SCIPnodeGetReopttype(). Referenced by addNode(), and shrinkNode().
adds the id
Definition at line 1335 of file reopt.c. References SCIP_ReoptNode::allocchildmem, SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_ReoptTree::reoptnodessize, SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage. Referenced by addNode(), moveChildrenUp(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
move all children to the next node (along the root path) stored in the reoptimization tree
Definition at line 1367 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, 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().
delete all nodes in the subtree induced by nodeID
Definition at line 1426 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPqueueInsert(), and TRUE. Referenced by addNode(), dryBranch(), and reoptCheckLocalRestart().
replaces a reoptimization nodes by its stored child nodes
Definition at line 1472 of file reopt.c. References SCIP_ReoptNode::childids, getLastSavedNode(), moveChildrenUp(), SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_NONE, SCIPdebugMessage, SCIPnodeGetNumber(), SCIPnodeSetReopttype(), SCIPqueueInsert(), and TRUE. Referenced by addNode().
change all reopttypes in the subtree induced by
Definition at line 1541 of file reopt.c. References 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().
delete the constraint handling dual information for the current iteration and replace it with the dual constraint for the next iteration
Definition at line 1586 of file reopt.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualconsnex, SCIP_ReoptNode::dualfixing, NULL, SCIP_OKAY, SCIPdebugMessage, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by fixBounds(), reoptCheckLocalRestart(), SCIPreoptApply(), and SCIPreoptSplitRoot().
calculates a (local) similarity of a given node and returns if the subproblem should be solved from scratch
Definition at line 1617 of file reopt.c. References deleteChildrenBelow(), FALSE, SCIP_Reopt::nlocrestarts, SCIP_Reopt::ntotallocrestarts, NULL, SCIP_ReoptTree::reoptnodes, reoptnodeUpdateDualConss(), SCIP_Reopt::reopttree, SCIP_Reopt::run, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), SCIPreoptGetOldObjCoef(), SCIPsetIsFeasLT(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetUbLocal(), and TRUE. Referenced by SCIPreoptCheckRestart().
save ancestor branching information up to the next stored node
Definition at line 1706 of file reopt.c. References DEFAULT_MEM_VAR, NULL, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPnodeGetAncestorBranchingsPart(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize. Referenced by addNode().
save additional all constraints that were additionally added to
Definition at line 1773 of file reopt.c. References BMSallocBlockMemory, BMSallocBlockMemoryArray, SCIP_ReoptNode::conss, LogicOrData::constype, FALSE, SCIP_ReoptNode::nconss, NULL, LogicOrData::nvars, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_SEPASOLUTION, REOPT_CONSTYPE_STRBRANCHED, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetName(), SCIPconsGetNVars(), SCIPconsGetVars(), SCIPdebugMessage, SCIPnodeGetAddedConss(), SCIPnodeGetNAddedConss(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetOrigvarSum(), SCIPvarIsNegated(), SCIPvarIsOriginal(), LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by addNode().
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.
Definition at line 1883 of file reopt.c. References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, checkMemDualCons(), LogicOrData::constype, SCIP_Reopt::currentnode, SCIP_Reopt::dualcons, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualconsnex, SCIP_ReoptNode::dualfixing, FALSE, NULL, LogicOrData::nvars, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_STRBRANCHED, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_STRBRANCHED, SCIPdebugMessage, SCIPnodeGetDualBoundchgs(), SCIPnodeGetNDualBndchgs(), SCIPnodeGetNumber(), SCIPvarGetOrigvarSum(), SCIPvarIsOriginal(), TRUE, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by addNode().
adds a node of the branch and bound tree to the reoptimization tree
Definition at line 2002 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::allocchildmem, changeReopttypeOfSubtree(), SCIP_ReoptNode::childids, collectDualInformation(), createReoptnode(), SCIP_Reopt::currentnode, deleteChildrenBelow(), SCIP_Reopt::dualcons, SCIP_ReoptNode::dualfixing, 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, LogicOrData::nvars, 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_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(), SCIPdebugMessage, SCIPnodeGetDepth(), SCIPnodeGetNAddedConss(), SCIPnodeGetNumber(), SCIPnodeGetReoptID(), SCIPnodeSetReoptID(), SCIPnodeSetReopttype(), SCIPqueueRemove(), SCIPreoptResetDualBndchgs(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPvarGetName(), shrinkNode(), transformIntoOrig(), TRUE, updateConstraintPropagation(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars. Referenced by SCIPreoptCheckCutoff(), and SCIPreoptSaveOpenNodes().
delete the stored information about dual bound changes of the last focused node
Definition at line 2496 of file reopt.c. References SCIP_Reopt::currentnode, SCIP_Reopt::dualcons, NULL, LogicOrData::nvars, and SCIPdebugMessage. Referenced by SCIPreoptCheckCutoff().
delete the stored constraints that dual information at the given reoptimization node
Definition at line 2513 of file reopt.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualconsnex, SCIP_ReoptNode::dualfixing, FALSE, NULL, SCIP_OKAY, SCIPdebugMessage, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by SCIPreoptResetDualBndchgs().
generate a global constraint to separate an infeasible subtree
Definition at line 2548 of file reopt.c. References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, checkMemGlbCons(), LogicOrData::constype, SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, REOPT_CONSTYPE_INFSUBTREE, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnodeGetAncestorBranchings(), SCIPnodeGetDepth(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPvarGetOrigvarSum(), LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by SCIPreoptAddInfNode().
move all id of child nodes from reoptimization node stored at
Definition at line 2624 of file reopt.c. References SCIP_ReoptNode::allocchildmem, SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage. Referenced by SCIPreoptSplitRoot().
change all bound changes along the root path
Definition at line 2676 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, BMSfreeBlockMemoryArray, FALSE, SCIP_ReoptNode::nafterdualvars, NULL, 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, SCIPdebugMessage, SCIPnodeAddBoundchg(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), TRUE, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars. Referenced by SCIPreoptApply().
add a constraint to ensure that at least one variable bound gets different
Definition at line 2848 of file reopt.c. References LogicOrData::constype, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualfixing, FALSE, NULL, LogicOrData::nvars, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_STRBRANCHED, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddConsNode(), SCIPallocBufferArray, SCIPcreateConsLogicor(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfreeBufferArray, SCIPnodeAddBoundchg(), SCIPnodeGetNumber(), SCIPreleaseCons(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIPvarIsNegated(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), SCIPvarNegate(), TRUE, LogicOrData::vals, and LogicOrData::vars. Referenced by SCIPreoptApply().
fix all bounds ad stored in dualconscur at the given node
Definition at line 2992 of file reopt.c. References SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualfixing, FALSE, NULL, LogicOrData::nvars, 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, SCIPdebugMessage, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetOrigvarSum(), SCIPvarGetProbvarBound(), SCIPvarGetUbLocal(), SCIPvarIsOriginal(), SCIPvarIsTransformedOrigvar(), TRUE, LogicOrData::vals, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, LogicOrData::vars, and SCIP_ReoptNode::vars. Referenced by SCIPreoptApply().
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 dualconscur and negate the negbndchg-th bound.
Definition at line 3112 of file reopt.c. References SCIP_ReoptNode::dualfixing, FALSE, MIN, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetUbLocal(), and SCIPvarIsTransformedOrigvar(). Referenced by SCIPreoptApply().
add all constraints stored at
Definition at line 3215 of file reopt.c. References SCIP_ReoptNode::conss, LogicOrData::constype, FALSE, SCIP_ReoptNode::nconss, NULL, LogicOrData::nvars, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_STRBRANCHED, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddConsNode(), SCIPallocBufferArray, SCIPcreateConsLogicor(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfreeBufferArray, SCIPnodeGetNumber(), SCIPreleaseCons(), SCIPsetIsFeasEQ(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarIsNegated(), SCIPvarIsOriginal(), SCIPvarIsTransformed(), SCIPvarNegate(), TRUE, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by SCIPreoptApply().
reset the internal statistics at the beginning of a new iteration
Definition at line 3304 of file reopt.c. References SCIP_Reopt::currentnode, 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().
check the stored bound changes of all child nodes for redundancy and infeasibility Due to strongbranching initialization at node stored at
Definition at line 3328 of file reopt.c. References SCIP_ReoptNode::childids, deleteChildrenBelow(), FALSE, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetProbvarBound(), SCIPvarGetUbLocal(), TRUE, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars. Referenced by SCIPreoptGetChildIDs().
return the number of all nodes in the subtree induced by the reoptimization node stored at
Definition at line 3546 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, and SCIP_ReoptTree::reoptnodes. Referenced by SCIPreoptGetNNodes().
returns the number of leaf nodes of the induced subtree
Definition at line 3565 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::reoptnodes, and SCIP_Reopt::reopttree. Referenced by SCIPreoptGetNLeaves().
returns all leaves of the subtree induced by the node stored at
Definition at line 3596 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, and SCIP_OKAY. Referenced by SCIPreoptGetLeaves().
after restarting the reoptimization and an after compressing the search tree we have to delete all stored information
Definition at line 3643 of file reopt.c. References clearReoptnodes(), SCIP_Reopt::currentnode, SCIP_Reopt::dualcons, SCIP_ReoptTree::nreoptnodes, NULL, LogicOrData::nvars, SCIP_Reopt::reopttree, SCIP_CALL, and SCIP_OKAY. Referenced by reoptRestart(), and SCIPreoptApplyCompression().
restart the reoptimization by removing all stored information about nodes and increase the number of restarts
Definition at line 3669 of file reopt.c. References 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().
save the new objective function
Definition at line 3699 of file reopt.c. References BMSallocMemoryArray, ensureRunSize(), SCIP_Reopt::firstobj, NULL, SCIP_Reopt::objs, reoptSimilarity(), SCIP_Reopt::run, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPdebugMessage, SCIPsetIsFeasLT(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsOriginal(), SCIPverbMessage(), SCIP_Reopt::simtofirstobj, and SCIP_Reopt::simtolastobj. Referenced by SCIPreoptAddRun().
permute the variable and bound array randomly
Definition at line 3773 of file reopt.c. References SCIP_Real, and SCIPgetRandomInt(). Referenced by SCIPreoptApply(), and SCIPreoptSplitRoot().
returns the number of global restarts
Definition at line 3836 of file reopt.c. References SCIP_Reopt::nglbrestarts, and NULL. Referenced by SCIPprintReoptStatistics().
returns the number of local restarts in the current run
Definition at line 3846 of file reopt.c. References SCIP_Reopt::nlocrestarts, and NULL.
returns the number of local restarts over all runs
Definition at line 3856 of file reopt.c. References SCIP_Reopt::ntotallocrestarts, and NULL. Referenced by SCIPprintReoptStatistics().
returns the number of iteration with the first global restarts
Definition at line 3866 of file reopt.c. References SCIP_Reopt::firstrestart, and NULL. Referenced by SCIPprintReoptStatistics().
returns the number of iteration with the last global restarts
Definition at line 3876 of file reopt.c. References SCIP_Reopt::lastrestart, and NULL. Referenced by SCIPprintReoptStatistics().
returns the number of stored nodes providing an improving feasible LP solution in the current run
Definition at line 3886 of file reopt.c. References SCIP_ReoptTree::nfeasnodes, NULL, and SCIP_Reopt::reopttree.
returns the number of stored nodes providing an improving feasible LP solution over all runs
Definition at line 3896 of file reopt.c. References SCIP_ReoptTree::ntotalfeasnodes, NULL, and SCIP_Reopt::reopttree. Referenced by SCIPprintReoptStatistics().
returns the number of stored nodes that exceeded the cutoff bound in the current run
Definition at line 3906 of file reopt.c. References SCIP_ReoptTree::nprunednodes, NULL, and SCIP_Reopt::reopttree.
returns the number of stored nodes that exceeded the cutoff bound over all runs
Definition at line 3916 of file reopt.c. References SCIP_ReoptTree::ntotalprunednodes, NULL, and SCIP_Reopt::reopttree. Referenced by SCIPprintReoptStatistics().
rerturns the number of reoptimized nodes that were cutoff in the same iteration in the current run
Definition at line 3926 of file reopt.c. References SCIP_ReoptTree::ncutoffreoptnodes, NULL, and SCIP_Reopt::reopttree.
rerturns the number of reoptimized nodes that were cutoff in the same iteration over all runs
Definition at line 3936 of file reopt.c. References SCIP_ReoptTree::ntotalcutoffreoptnodes, NULL, and SCIP_Reopt::reopttree. Referenced by SCIPprintReoptStatistics().
returns the number of stored nodes with an infeasible LP in the current run
Definition at line 3946 of file reopt.c. References SCIP_ReoptTree::ninfnodes, NULL, and SCIP_Reopt::reopttree.
returns the number of stored nodes with an infeasible LP over all runs
Definition at line 3956 of file reopt.c. References SCIP_ReoptTree::ntotalinfnodes, NULL, and SCIP_Reopt::reopttree. Referenced by SCIPprintReoptStatistics().
returns the number of found infeasible subtrees
Definition at line 3966 of file reopt.c. References SCIP_ReoptTree::ninfsubtrees, NULL, and SCIP_Reopt::reopttree. Referenced by SCIPprintReoptStatistics().
constructor for the reoptimization data
Definition at line 3977 of file reopt.c. References BMSallocBlockMemoryArray, BMSallocMemory, BMSallocMemoryArray, createReopttree(), createSolTree(), DEFAULT_MEM_RUN, EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPeventhdlrCreate(), and SCIPsetIncludeEventhdlr(). Referenced by SCIPenableReoptimization().
frees reoptimization data
Definition at line 4042 of file reopt.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeMemory, BMSfreeMemoryArray, freeReoptTree(), freeSolTree(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, and SCIPclockFree(). Referenced by SCIPenableReoptimization(), and SCIPfreeProb().
returns the number of constraints added by the reoptimization plug-in
Definition at line 4131 of file reopt.c. References MAX, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), SCIPnodeGetNAddedConss(), and SCIPnodeGetReoptID(). Referenced by SCIPreoptCheckCutoff().
add a solution to the solution tree
Definition at line 4155 of file reopt.c. References ensureSolsSize(), SCIP_Reopt::noptsolsbyreoptsol, SCIP_SolTree::nsols, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), SCIPsolGetHeur(), SCIP_SolTree::sols, SCIP_Reopt::soltree, and soltreeAddSol(). Referenced by SCIPsolve().
we want to store the optimal solution of each run in a separate array
Definition at line 4208 of file reopt.c. References NULL, SCIP_Reopt::prevbestsols, SCIP_Reopt::run, SCIP_CALL, SCIP_OKAY, and SCIPsolCopy(). Referenced by SCIPsolve().
add a new iteration after changing the objective function
Definition at line 4234 of file reopt.c. References BMSallocBlockMemoryArray, ensureRunSize(), NULL, reoptSaveNewObj(), resetStats(), SCIP_Reopt::run, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_Reopt::soltree. Referenced by SCIPsolve().
get the number of checked during the reoptimization process
Definition at line 4266 of file reopt.c. References SCIP_Reopt::ncheckedsols, and NULL. Referenced by SCIPprintReoptStatistics().
update the number of checked during the reoptimization process
Definition at line 4276 of file reopt.c. References SCIP_Reopt::ncheckedsols, and NULL.
get the number of checked during the reoptimization process
Definition at line 4287 of file reopt.c. References SCIP_Reopt::nimprovingsols, and NULL. Referenced by SCIPprintReoptStatistics().
update the number of checked during the reoptimization process
Definition at line 4297 of file reopt.c. References SCIP_Reopt::nimprovingsols, and NULL.
returns number of solution of a given run
Definition at line 4308 of file reopt.c. References SCIP_SolTree::nsols, NULL, SCIP_SolTree::sols, and SCIP_Reopt::soltree.
returns number of all solutions of all runs
Definition at line 4323 of file reopt.c. References SCIP_SolTree::nsols, NULL, SCIP_Reopt::run, and SCIP_Reopt::soltree.
return the stored solutions of a given run
Definition at line 4339 of file reopt.c. References SCIP_SolTree::nsols, NULL, SCIP_OKAY, SCIP_SolNode::sol, SCIP_SolTree::sols, SCIP_Reopt::soltree, TRUE, and SCIP_SolNode::updated. Referenced by SCIPgetReopSolsRun().
returns the number of saved solutions overall runs
Definition at line 4381 of file reopt.c. References SCIP_SolNode::lchild, NULL, SCIP_SolNode::rchild, SCIP_SolTree::root, SCIP_Reopt::soltree, and soltreeNInducedSols().
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.
Definition at line 4408 of file reopt.c. References FALSE, SCIP_Reopt::noptsolsbyreoptsol, SCIP_ReoptTree::nreoptnodes, NULL, reoptCheckLocalRestart(), reoptRestart(), SCIP_Reopt::reopttree, SCIP_Reopt::run, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPsetIsFeasLT(), SCIP_Reopt::simtolastobj, and TRUE. Referenced by SCIPcheckReoptRestart(), and SCIPsolve().
returns the similarity to the previous objective function, if no exist return -2.0
Definition at line 4471 of file reopt.c. References NULL, and SCIP_Reopt::simtolastobj. Referenced by SCIPgetReoptSimilarity().
returns the similarity to the first objective different to the zero-function function, if no exist return -2.0
Definition at line 4480 of file reopt.c. References NULL, and SCIP_Reopt::simtofirstobj.
return the similarity between two of objective functions of two given runs
Definition at line 4489 of file reopt.c. References NULL, and reoptSimilarity(). Referenced by SCIPgetReoptSimilarity().
returns the best solution of the last run
Definition at line 4508 of file reopt.c. References NULL, SCIP_Reopt::prevbestsols, and SCIP_Reopt::run. Referenced by SCIPgetReoptLastOptSol().
returns the node of the reoptimization tree corresponding to the unique
Definition at line 4524 of file reopt.c. References NULL, SCIP_ReoptTree::reoptnodes, and SCIP_Reopt::reopttree. Referenced by SCIPgetReoptnode().
returns the coefficient of variable with index
Definition at line 4538 of file reopt.c. References NULL, and SCIP_Reopt::objs. Referenced by reoptCheckLocalRestart(), and SCIPgetReoptOldObjCoef().
return the best solution of a given run.
Definition at line 4554 of file reopt.c. References NULL, and SCIP_Reopt::prevbestsols.
reset marks of stored solutions to not updated
Definition at line 4566 of file reopt.c. References SCIP_SolNode::lchild, NULL, SCIP_SolNode::rchild, SCIP_SolTree::root, SCIP_Reopt::soltree, and soltreeResetMarks(). Referenced by SCIPresetReoptSolMarks().
returns the number of stored nodes in the subtree induced by
Definition at line 4581 of file reopt.c. References SCIP_ReoptTree::nreoptnodes, NULL, SCIP_Reopt::reopttree, reopttreeGetNNodes(), SCIPnodeGetDepth(), and SCIPnodeGetReoptID(). Referenced by compressReoptTree(), and SCIPgetNReoptnodes().
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
Definition at line 4621 of file reopt.c. References SCIP_ReoptNode::nafterdualvars, NULL, and SCIP_ReoptNode::nvars. Referenced by constructCompression().
returns the number of bound changes at the node stored at ID id
Definition at line 4631 of file reopt.c. References SCIP_ReoptNode::nconss, and NULL. Referenced by constructCompression().
returns the number of stored bound changes based on dual information in the reopttree at ID id
Definition at line 4641 of file reopt.c. References SCIP_ReoptNode::dualconscur, NULL, and LogicOrData::nvars.
returns the number of child nodes of
Definition at line 4654 of file reopt.c. References SCIP_ReoptNode::nchilds, and NULL. Referenced by Exec(), and SCIPreoptimizeNode().
return the lower bound stored at
Definition at line 4664 of file reopt.c. References SCIP_ReoptNode::lowerbound, and NULL. Referenced by constructCompression(), and sortIDs().
returns the type of the
Definition at line 4674 of file reopt.c. References NULL, and SCIP_ReoptNode::reopttype. Referenced by Exec().
create the constraint which splits the node stored at ID id on the basis of the stored dual information.
Definition at line 4686 of file reopt.c. References LogicOrData::constype, SCIP_ReoptNode::dualconscur, NULL, LogicOrData::nvars, LogicOrData::vals, and LogicOrData::vars.
returns all added constraints at ID id
Definition at line 4718 of file reopt.c. References SCIP_ReoptNode::conss, SCIP_ReoptNode::nconss, NULL, LogicOrData::nvars, LogicOrData::vals, and LogicOrData::vars. Referenced by constructCompression().
set the parent id
Definition at line 4754 of file reopt.c. References NULL, and SCIP_ReoptNode::parentID. Referenced by applyCompression().
returns the number of leaf nodes of the subtree induced by
Definition at line 4766 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptGetNLeaves(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), and SCIPnodeGetReoptID(). Referenced by SCIPcomprExec(), and SCIPgetNReoptLeaves().
save information that given node is infeasible
Definition at line 4801 of file reopt.c. References SCIP_ReoptTree::ninfnodes, SCIP_ReoptTree::ntotalinfnodes, NULL, REOPT_CONSTYPE_INFSUBTREE, SCIP_Reopt::reopttree, saveGlobalCons(), SCIP_CALL, and SCIP_OKAY. Referenced by SCIPreoptCheckCutoff().
check the reason for cut off a node and if necessary store the node
Definition at line 4825 of file reopt.c. References addNode(), SCIP_Reopt::currentnode, deleteLastDualBndchgs(), SCIP_Reopt::dualcons, FALSE, SCIP_Reopt::lastbranched, SCIP_Reopt::lastseennode, NULL, LogicOrData::nvars, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_STRBRANCHED, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_NODEBRANCHED, SCIP_EVENTTYPE_NODEFEASIBLE, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_REOPTTYPE_FEASIBLE, SCIP_REOPTTYPE_INFSUBTREE, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_PRUNED, SCIP_REOPTTYPE_STRBRANCHED, SCIP_REOPTTYPE_TRANSIT, SCIPdebugMessage, SCIPnodeGetDepth(), SCIPnodeGetNDualBndchgs(), SCIPnodeGetNumber(), SCIPreoptAddDualBndchg(), SCIPreoptAddInfNode(), SCIPreoptGetNAddedConss(), SCIPreoptGetNDualBndchgs(), SCIPreoptResetDualBndchgs(), and TRUE. Referenced by nodeToLeaf(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodepqBound(), SCIPsolveCIP(), SCIPtreeCutoff(), and solveNodeLP().
store bound change based on dual information
Definition at line 5073 of file reopt.c. References checkMemDualCons(), SCIP_Reopt::currentnode, DEFAULT_MEM_DUALCONS, SCIP_Reopt::dualcons, NULL, LogicOrData::nvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPnodeGetNumber(), SCIPsetIsFeasEQ(), SCIPvarGetName(), SCIPvarGetOrigvarSum(), SCIPvarIsOriginal(), LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by SCIPaddReoptDualBndchg(), and SCIPreoptCheckCutoff().
returns the number of bound changes based on dual information
Definition at line 5138 of file reopt.c. References SCIP_Reopt::currentnode, SCIP_Reopt::dualcons, NULL, LogicOrData::nvars, and SCIPnodeGetNumber(). Referenced by SCIPreoptCheckCutoff().
returns the child nodes of
Definition at line 5158 of file reopt.c. References 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().
returns all leaves of the subtree induced by
Definition at line 5211 of file reopt.c. References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptGetLeaves(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, and SCIPnodeGetReoptID(). Referenced by SCIPgetReoptLeaveIDs().
add all unprocessed nodes to the reoptimization tree
Definition at line 5271 of file reopt.c. References addNode(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_PRUNED, SCIPdebugMessage, and SCIPnodeGetLowerbound(). Referenced by SCIPsolve().
reset the complete tree and set the given search frontier
Definition at line 5320 of file reopt.c. References SCIP_ReoptNode::conss, LogicOrData::constype, createReoptnode(), FALSE, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, LogicOrData::nvars, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, reoptAddChild(), SCIP_ReoptTree::reoptnodes, reoptResetTree(), SCIP_Reopt::reopttree, SCIP_ReoptNode::reopttype, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_LEAF, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_TRANSIT, SCIPdebugMessage, SCIPqueueRemove(), SCIPreoptnodeAddBndchg(), SCIPreoptnodeAddCons(), TRUE, LogicOrData::vals, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, LogicOrData::vars, SCIP_ReoptNode::vars, and SCIP_ReoptNode::varssize. Referenced by SCIPsetReoptCompression().
splits the root into several nodes and moves the child nodes of the root to one of the created nodes
Definition at line 5420 of file reopt.c. References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, SCIP_ReoptNode::conss, LogicOrData::constype, createReoptnode(), SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualfixing, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, LogicOrData::nvars, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, permuteRandom(), REOPT_CONSTYPE_STRBRANCHED, 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, SCIPnodeSetReopttype(), SCIPqueueRemove(), SCIPsetIsFeasEQ(), SCIPtreeGetRootNode(), LogicOrData::vals, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, LogicOrData::vars, SCIP_ReoptNode::vars, LogicOrData::varssize, and SCIP_ReoptNode::varssize. Referenced by SCIPsplitReoptRoot().
reset the stored information abound bound changes based on dual information
Definition at line 5639 of file reopt.c. References NULL, reoptnodeResetDualConss(), SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_CALL, SCIP_OKAY, SCIPnodeGetDepth(), and SCIPnodeGetReoptID(). Referenced by addNode(), SCIPreoptCheckCutoff(), and SCIPresetReoptnodeDualcons().
return the branching path stored of the given node in the reoptimization tree
Definition at line 5664 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::nafterdualvars, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptNode::parentID, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPreoptnodeGetPath(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars. Referenced by SCIPgetReoptnodePath(), and SCIPreoptnodeGetPath().
delete a node stored in the reoptimization tree
Definition at line 5719 of file reopt.c. References NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, and TRUE.
reactivate the given
Definition at line 5738 of file reopt.c. References addLocalConss(), addSplitcons(), changeAncestorBranchings(), LogicOrData::constype, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualfixing, FALSE, fixBounds(), fixInterdiction(), SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nconss, NULL, LogicOrData::nvars, permuteRandom(), REALABS, REOPT_CONSTYPE_INFSUBTREE, REOPT_CONSTYPE_STRBRANCHED, SCIP_ReoptTree::reoptnodes, reoptnodeUpdateDualConss(), SCIP_Reopt::reopttree, SCIP_ReoptNode::reopttype, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_REOPTTYPE_INFSUBTREE, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_NONE, SCIP_REOPTTYPE_STRBRANCHED, SCIP_REOPTTYPE_TRANSIT, SCIPdebugMessage, SCIPnodeCreateChild(), SCIPnodeGetLowerbound(), SCIPnodeGetNumber(), SCIPnodeSetEstimate(), SCIPnodeSetReoptID(), SCIPnodeSetReopttype(), SCIPsetIsInfinity(), SCIPsetIsRelGE(), TRUE, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by SCIPapplyReopt().
returns the time needed to store the nodes for reoptimization
Definition at line 6126 of file reopt.c. References NULL, SCIP_Reopt::savingtime, and SCIPclockGetTime(). Referenced by SCIPprintReoptStatistics().
store a global constraint that should be added at the beginning of the next iteration
Definition at line 6136 of file reopt.c. References SCIP_Reopt::allocmemglbconss, BMSallocBlockMemory, BMSduplicateBlockMemoryArray, checkMemGlbCons(), SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, LogicOrData::nvars, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize.
add the stored constraints globally to the problem
Definition at line 6173 of file reopt.c. References FALSE, SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, LogicOrData::nvars, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPcreateConsLogicor(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfreeBlockMemoryArrayNull, SCIPfreeBlockMemoryNull, SCIPfreeBufferArray, SCIPreleaseCons(), SCIPsetIsFeasEQ(), SCIPvarGetTransVar(), SCIPvarNegate(), TRUE, LogicOrData::vals, and LogicOrData::vars. Referenced by SCIPsolve().
check if the LP of the given node should be solved or not
Definition at line 6252 of file reopt.c. References FALSE, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), SCIPnodeGetReopttype(), SCIPsetIsGT(), SCIP_Reopt::simtolastobj, and TRUE. Referenced by solveNode().
initialize an empty node
Definition at line 6295 of file reopt.c. References SCIP_ReoptNode::afterdualvarbounds, SCIP_ReoptNode::afterdualvarboundtypes, SCIP_ReoptNode::afterdualvars, SCIP_ReoptNode::afterdualvarssize, SCIP_ReoptNode::allocchildmem, SCIP_ReoptNode::childids, SCIP_ReoptNode::conss, SCIP_ReoptNode::consssize, SCIP_ReoptNode::dualconscur, SCIP_ReoptNode::dualconsnex, SCIP_ReoptNode::dualfixing, 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().
reset the given reoptimization node
Definition at line 6328 of file reopt.c. References NULL, reoptnodeReset(), SCIP_CALL, and SCIP_OKAY. Referenced by SCIPresetRepresentation().
delete the given reoptimization node
Definition at line 6346 of file reopt.c. References NULL, reoptnodeDelete(), SCIP_CALL, and SCIP_OKAY. Referenced by SCIPdeleteReoptnode(), and SCIPfreeRepresentation().
add a variable to a given reoptnode
Definition at line 6360 of file reopt.c. References NULL, SCIP_ReoptNode::nvars, reoptnodeCheckMemory(), SCIP_CALL, SCIP_OKAY, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars. Referenced by SCIPaddReoptnodeBndchg(), SCIPreoptApplyCompression(), and SCIPreoptnodeAddCons().
add a constraint to a given reoptnode
Definition at line 6387 of file reopt.c. References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, SCIP_ReoptNode::conss, LogicOrData::constype, SCIP_ReoptNode::nconss, NULL, LogicOrData::nvars, reoptnodeCheckMemory(), SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPreoptnodeAddBndchg(), LogicOrData::vals, LogicOrData::vars, and LogicOrData::varssize. Referenced by SCIPaddReoptnodeCons(), and SCIPreoptApplyCompression(). |