Detailed Description
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" |
Macro Definition Documentation
◆ DEFAULT_MEM_VARAFTERDUAL
#define DEFAULT_MEM_VARAFTERDUAL 10 |
Definition at line 51 of file reopt.c.
Referenced by saveAfterDualBranchings().
◆ DEFAULT_MEM_VAR
#define DEFAULT_MEM_VAR 10 |
Definition at line 52 of file reopt.c.
Referenced by saveAncestorBranchings().
◆ DEFAULT_MEM_NODES
#define DEFAULT_MEM_NODES 1000 |
Definition at line 53 of file reopt.c.
Referenced by createReopttree().
◆ DEFAULT_MEM_RUN
#define DEFAULT_MEM_RUN 200 |
Definition at line 54 of file reopt.c.
Referenced by createSolTree(), and SCIPreoptCreate().
◆ DEFAULT_MEM_DUALCONS
#define DEFAULT_MEM_DUALCONS 10 |
Definition at line 55 of file reopt.c.
Referenced by SCIPreoptAddDualBndchg().
◆ DEFAULT_RANDSEED
#define DEFAULT_RANDSEED 67 |
Definition at line 57 of file reopt.c.
Referenced by SCIPreoptCreate().
◆ EVENTHDLR_NAME
#define EVENTHDLR_NAME "Reopt" |
Definition at line 60 of file reopt.c.
Referenced by SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXITSOL(), SCIP_DECL_EVENTINITSOL(), and SCIPreoptCreate().
◆ EVENTHDLR_DESC
#define EVENTHDLR_DESC "node event handler for reoptimization" |
Definition at line 61 of file reopt.c.
Referenced by SCIPreoptCreate().
Function Documentation
◆ SCIP_DECL_EVENTEXEC()
|
static |
exec the event handler
Definition at line 67 of file reopt.c.
References 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().
◆ SCIP_DECL_EVENTINITSOL()
|
static |
solving process initialization method of event handler (called when branch and bound process is about to begin)
Definition at line 105 of file reopt.c.
References EVENTHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_GBDCHANGED, SCIP_OKAY, SCIP_VARTYPE_CONTINUOUS, SCIPcatchVarEvent(), SCIPeventhdlrGetName(), SCIPgetNVars(), SCIPgetVars(), SCIPisReoptEnabled(), and SCIPvarGetType().
◆ SCIP_DECL_EVENTEXITSOL()
|
static |
solving process deinitialization method of event handler (called before branch and bound process data is freed)
Definition at line 131 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().
◆ ensureActiveconssSize()
|
static |
ensures size for activeconss
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory num minimum number of entries to store
Definition at line 163 of file reopt.c.
References SCIP_Reopt::activeconss, BMSreallocBlockMemoryArray, SCIP_Reopt::nmaxactiveconss, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPreoptApplyGlbConss(), and SCIPreoptSaveActiveConss().
◆ ensureSolsSize()
|
static |
ensures, that sols[pos] array can store at least num entries
- Parameters
-
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 184 of file reopt.c.
References BMSreallocBlockMemoryArray, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_SolTree::sols, SCIP_SolTree::solssize, and SCIP_Reopt::soltree.
Referenced by SCIPreoptAddSol().
◆ ensureRunSize()
|
static |
ensures, that sols array can store at least num entries
- Parameters
-
reopt reoptimization data structure set gloabl SCIP settings num minimum number of entries to store blkmem block memory
Definition at line 211 of file reopt.c.
References 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().
◆ reopttreeCheckMemory()
|
static |
check the memory of the reoptimization tree and if necessary reallocate
- Parameters
-
reopttree reoptimization tree set global SCIP settings blkmem block memory
Definition at line 248 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, SCIPqueueInsertUInt(), SCIPqueueIsEmpty(), and SCIPsetCalcMemGrowSize().
Referenced by addNode(), and SCIPreoptSplitRoot().
◆ reoptnodeCheckMemory()
|
static |
check allocated memory of a node within the reoptimization tree and if necessary reallocate
- Parameters
-
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 281 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, 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 updateConstraintPropagation().
◆ soltreeNInducedSols()
|
static |
returns the number of stored solutions in the subtree induced by solnode
- Parameters
-
solnode node within the solution tree
Definition at line 361 of file reopt.c.
References SCIP_SolNode::child, NULL, SCIP_SolNode::sibling, and SCIP_SolNode::sol.
Referenced by SCIPreoptGetNSavedSols(), and solnodeAddChild().
◆ reoptSimilarity()
|
static |
returns the similarity of the objective functions of two given iterations
- Parameters
-
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 390 of file reopt.c.
References MAX, NULL, SCIP_Reopt::objs, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPsetIsFeasLT(), SCIPsetIsZero(), SCIPvarGetIndex(), SCIPvarGetLbLocal(), SCIPvarGetOrigvarSum(), SCIPvarGetTransVar(), SCIPvarGetUbLocal(), and SCIPvarIsOriginal().
Referenced by reoptSaveNewObj(), SCIPreoptCheckRestart(), SCIPreoptGetSimilarity(), and SCIPreoptMergeVarHistory().
◆ reoptnodeDelete()
|
static |
delete the given reoptimization node
- Parameters
-
reoptnode node of the reoptimization tree blkmem block memory
Definition at line 478 of file reopt.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, NULL, and SCIP_OKAY.
Referenced by reopttreeDeleteNode(), and SCIPreoptnodeDelete().
◆ reoptnodeReset()
|
static |
reset the given reoptimization node
- Parameters
-
reoptnode reoptimization node set global SCIP settings blkmem block memory
Definition at line 601 of file reopt.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, 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().
◆ reopttreeDeleteNode()
|
static |
delete the node stored at position nodeID
of the reoptimization tree
- Parameters
-
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 679 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().
◆ createSolTree()
|
static |
constructor of the solution tree
- Parameters
-
soltree solution tree blkmem block memory
Definition at line 711 of file reopt.c.
References 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().
◆ soltreefreeNode()
|
static |
free the given solution node
- Parameters
-
reopt reoptimization data set global SCIP settings primal the primal blkmem block memory solnode node within the solution tree
Definition at line 745 of file reopt.c.
References BMSfreeBlockMemoryNull, SCIP_SolNode::child, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPsolFree(), and SCIP_SolNode::sibling.
Referenced by freeSolTree().
◆ freeSolTree()
|
static |
free the solution tree
- Parameters
-
reopt reoptimization data set global SCIP settings origprimal the origprimal blkmem block memory
Definition at line 787 of file reopt.c.
References 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().
◆ solnodeAddChild()
|
static |
creates and adds a solution node to the solution tree
- Parameters
-
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 815 of file reopt.c.
References BMSallocBlockMemory, SCIP_SolNode::child, FALSE, SCIP_SolNode::father, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIP_SolNode::sibling, SCIP_SolNode::sol, soltreeNInducedSols(), TRUE, SCIP_SolNode::updated, SCIP_SolNode::value, and SCIP_SolNode::var.
Referenced by soltreeAddSol().
◆ soltreeAddSol()
|
static |
add a solution to the solution tree
- Parameters
-
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 996 of file reopt.c.
References SCIP_SolNode::child, FALSE, NULL, 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, solnodeAddChild(), SCIP_Reopt::soltree, and TRUE.
Referenced by SCIPreoptAddSol().
◆ soltreeResetMarks()
|
static |
reset all marks 'updated' to FALSE
- Parameters
-
node node within the solution tree
Definition at line 1084 of file reopt.c.
References SCIP_SolNode::child, FALSE, SCIP_SolNode::father, NULL, SCIP_SolNode::sibling, SCIP_SolNode::sol, and SCIP_SolNode::updated.
Referenced by SCIPreoptResetSolMarks().
◆ createReoptnode()
|
static |
allocate memory for a node within the reoptimization tree
- Parameters
-
reopttree reoptimization tree set global SCIP settings blkmem block memory id id of the node to create
Definition at line 1118 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::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().
◆ createReopttree()
|
static |
constructor of the reoptimization tree
- Parameters
-
reopttree pointer to the reoptimization tree set global SCIP settings blkmem block memory
Definition at line 1175 of file reopt.c.
References 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().
◆ clearReoptnodes()
|
static |
clears the reopttree, e.g., to restart and solve the next problem from scratch
- Parameters
-
reopttree reoptimization tree set global SCIP settings blkmem block memory softreset delete nodes before exit the solving process
Definition at line 1221 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(), SCIPqueueInsertUInt(), and SCIPqueueNElems().
Referenced by freeReoptTree(), and reoptResetTree().
◆ freeReoptTree()
|
static |
free the reoptimization tree
- Parameters
-
reopttree reoptimization tree data set global SCIP settings blkmem block memory
Definition at line 1259 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().
◆ checkMemDualCons()
|
static |
check memory for the constraint to handle bound changes based on dual information
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory size size which need to be allocated
Definition at line 1283 of file reopt.c.
References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::dualreds, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by collectDualInformation(), and SCIPreoptAddDualBndchg().
◆ checkMemGlbCons()
|
static |
check the memory to store global constraints
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory mem memory which has to be allocated
Definition at line 1317 of file reopt.c.
References SCIP_Reopt::allocmemglbconss, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by addGlobalCut().
◆ cleanActiveConss()
|
static |
reactivate globally valid constraints that were deactivated and necessary to ensure correctness
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory
Definition at line 1359 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, SCIP_Reopt::nactiveconss, SCIP_Reopt::nmaxactiveconss, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsRelease(), SCIPhashsetExists(), SCIPhashsetRemoveAll(), and SCIPsetDebugMsg.
Referenced by SCIPreoptReleaseData().
◆ updateConstraintPropagation()
|
static |
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.
- Parameters
-
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 1397 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().
◆ saveAfterDualBranchings()
|
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.
- Parameters
-
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 1453 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, SCIPnodeGetBdChgsAfterDual(), SCIPsetCalcMemGrowSize(), SCIPsetDebugMsg, and TRUE.
Referenced by addNode().
◆ storeCuts()
|
static |
store cuts that are active in the current LP
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory lp current LP id id in the reopttree
Definition at line 1535 of file reopt.c.
References FALSE, 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().
◆ transformIntoOrig()
|
static |
transform variable and bounds back to the original space
- Parameters
-
reopt reoptimization data structure id id of the node
Definition at line 1637 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().
◆ getLastSavedNode()
|
static |
search the next node along the root path that was saved by reoptimization
- Parameters
-
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 1682 of file reopt.c.
References 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().
◆ reoptAddChild()
|
static |
adds the id childid
to the array of child nodes of parentid
- Parameters
-
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 1743 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 SCIPsetDebugMsg.
Referenced by addNode(), moveChildrenUp(), SCIPreoptApplyCompression(), and SCIPreoptSplitRoot().
◆ moveChildrenUp()
|
static |
move all children to the next node (along the root path) stored in the reoptimization tree
- Parameters
-
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 1776 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().
◆ deleteChildrenBelow()
|
static |
delete all nodes in the subtree induced by nodeID
- Parameters
-
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 1837 of file reopt.c.
References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, SCIPqueueInsertUInt(), SCIPsetDebugMsg, and TRUE.
Referenced by addNode(), dryBranch(), and reoptCheckLocalRestart().
◆ shrinkNode()
|
static |
replaces a reoptimization nodes by its stored child nodes
- Parameters
-
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 1883 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, SCIPnodeGetNumber(), SCIPnodeSetReopttype(), SCIPqueueInsertUInt(), SCIPsetDebugMsg, and TRUE.
Referenced by addNode().
◆ changeReopttypeOfSubtree()
|
static |
change all reopttypes in the subtree induced by nodeID
- Parameters
-
reopttree reopttree id id of the node reopttype reopttype
Definition at line 1961 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().
◆ reoptnodeUpdateDualConss()
|
static |
delete the constraint handling dual information for the current iteration and replace it with the dual constraint for the next iteration
- Parameters
-
reoptnode reoptimization node blkmem block memory
Definition at line 2007 of file reopt.c.
References 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().
◆ reoptCheckLocalRestart()
|
static |
calculates a (local) similarity of a given node and returns if the subproblem should be solved from scratch
- Parameters
-
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 2040 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, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), SCIPreoptGetOldObjCoef(), SCIPsetDebugMsg, SCIPsetIsFeasLT(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetUbLocal(), and TRUE.
Referenced by SCIPreoptCheckRestart().
◆ saveAncestorBranchings()
|
static |
save ancestor branching information up to the next stored node
- Parameters
-
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 2129 of file reopt.c.
References 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().
◆ saveConsLinear()
|
static |
transform a constraint with linear representation into reoptimization constraint data
- Parameters
-
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 2198 of file reopt.c.
References 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(), and TRUE.
Referenced by saveLocalConssData().
◆ saveConsBounddisjuction()
|
static |
transform a bounddisjunction constraint into reoptimization constraint data
- Parameters
-
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 2331 of file reopt.c.
References BMSduplicateBlockMemoryArray, FALSE, NULL, REALABS, SCIP_ALLOC, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPconsGetHdlr(), SCIPconsGetNVars(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPgetBoundsBounddisjunction(), SCIPgetBoundtypesBounddisjunction(), SCIPgetVarsBounddisjunction(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsZero(), and SCIPvarGetOrigvarSum().
Referenced by saveLocalConssData().
◆ saveLocalConssData()
|
static |
save additional all constraints that were additionally added to node
- Parameters
-
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 2401 of file reopt.c.
References BMSallocBlockMemory, 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().
◆ collectDualInformation()
|
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.
- Parameters
-
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 2496 of file reopt.c.
References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, checkMemDualCons(), SCIP_Reopt::currentnode, SCIP_ReoptNode::dualreds, SCIP_Reopt::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().
◆ addNode()
|
static |
adds a node of the branch and bound tree to the reoptimization tree
- Parameters
-
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 2623 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_ReoptNode::dualreds, SCIP_Reopt::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_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, updateConstraintPropagation(), SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPreoptApply(), SCIPreoptCheckCutoff(), and SCIPreoptSaveOpenNodes().
◆ deleteLastDualBndchgs()
|
static |
delete the stored information about dual bound changes of the last focused node
- Parameters
-
reopt reoptimization data structure
Definition at line 3195 of file reopt.c.
References SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, NULL, and SCIPdebugMessage.
Referenced by SCIPreoptCheckCutoff().
◆ reoptnodeResetDualConss()
|
static |
delete the stored constraints that dual information at the given reoptimization node
- Parameters
-
reoptnode reoptimization node blkmem block memory
Definition at line 3212 of file reopt.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, SCIP_ReoptNode::dualredsnex, FALSE, NULL, SCIP_OKAY, and SCIPdebugMessage.
Referenced by SCIPreoptResetDualBndchgs().
◆ addGlobalCut()
|
static |
transform given set of variables, bounds and boundtypes into a global cut.
- Note
- : boundtypes can be NULL if all variables are binary or a MIP solution should be separated.
- : continuous variables will be skiped if boundtypes is NULL
- Parameters
-
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 3262 of file reopt.c.
References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSreallocBlockMemoryArray, checkMemGlbCons(), FALSE, SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, 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(), and SCIPvarIsOriginal().
Referenced by saveGlobalCons(), and separateSolution().
◆ saveGlobalCons()
|
static |
generate a global constraint to separate an infeasible subtree
- Parameters
-
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 3460 of file reopt.c.
References addGlobalCut(), SCIP_Reopt::glbconss, SCIP_Reopt::nglbconss, NULL, REOPT_CONSTYPE_INFSUBTREE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPnodeGetAncestorBranchings(), SCIPnodeGetDepth(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetReallocBufferArray, and SCIPvarGetType().
Referenced by SCIPreoptAddInfNode().
◆ reoptMoveIDs()
|
static |
move all id of child nodes from reoptimization node stored at id1
to the node stored at id2
- Parameters
-
reopttree reopttree set global SCIP settings blkmem block memory id1 source id id2 target id
Definition at line 3528 of file reopt.c.
References SCIP_ReoptNode::allocchildmem, SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, reoptnodeCheckMemory(), SCIP_ReoptTree::reoptnodes, SCIP_CALL, SCIP_OKAY, and SCIPsetDebugMsg.
Referenced by SCIPreoptSplitRoot().
◆ changeAncestorBranchings()
|
static |
change all bound changes along the root path
- Parameters
-
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 3580 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, SCIPnodeAddBoundchg(), SCIPsetDebugMsg, 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().
◆ addSplitcons()
|
static |
add a constraint to ensure that at least one variable bound gets different
- Parameters
-
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 3755 of file reopt.c.
References SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, FALSE, 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(), and TRUE.
Referenced by SCIPreoptApply().
◆ fixBounds()
|
static |
fix all bounds ad stored in dualredscur at the given node node_fix
- Parameters
-
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 4019 of file reopt.c.
References 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, SCIP_ReoptNode::varbounds, SCIP_ReoptNode::varboundtypes, and SCIP_ReoptNode::vars.
Referenced by SCIPreoptApply().
◆ fixInterdiction()
|
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.
- Parameters
-
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 4141 of file reopt.c.
References SCIP_ReoptNode::dualreds, FALSE, NULL, 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(), and SCIPvarIsTransformedOrigvar().
Referenced by SCIPreoptApply().
◆ addLocalConss()
|
static |
add all constraints stored at id
to the given nodes node_fix
and node_cons
- Parameters
-
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 4253 of file reopt.c.
References 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().
◆ resetStats()
|
static |
reset the internal statistics at the beginning of a new iteration
- Parameters
-
reopt reoptimization data structure
Definition at line 4324 of file reopt.c.
References 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().
◆ dryBranch()
|
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.
- Parameters
-
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 4349 of file reopt.c.
References SCIP_ReoptNode::childids, 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().
◆ reopttreeGetNNodes()
|
static |
return the number of all nodes in the subtree induced by the reoptimization node stored at id
- Parameters
-
reopttree reopttree id id of stored node
Definition at line 4566 of file reopt.c.
References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, nnodes, NULL, and SCIP_ReoptTree::reoptnodes.
Referenced by SCIPreoptGetNNodes().
◆ reoptGetNLeaves()
|
static |
returns the number of leaf nodes of the induced subtree
- Parameters
-
reopt reoptimization data structure id id of stored node
Definition at line 4585 of file reopt.c.
References SCIP_ReoptNode::childids, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptTree::reoptnodes, and SCIP_Reopt::reopttree.
Referenced by SCIPreoptGetNLeaves().
◆ reoptGetLeaves()
|
static |
returns all leaves of the subtree induced by the node stored at id
- Parameters
-
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 4616 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().
◆ reoptResetTree()
|
static |
after restarting the reoptimization and an after compressing the search tree we have to delete all stored information
- Parameters
-
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 4663 of file reopt.c.
References clearReoptnodes(), SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_Reopt::reopttree, SCIP_CALL, and SCIP_OKAY.
Referenced by reoptRestart(), and SCIPreoptApplyCompression().
◆ reoptRestart()
|
static |
restart the reoptimization by removing all stored information about nodes and increase the number of restarts
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory
Definition at line 4689 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().
◆ reoptSaveNewObj()
|
static |
save the new objective function
- Parameters
-
reopt reoptimization data set global SCIP settings blkmem block memory origvars original problem variables norigvars number of original problem variables
Definition at line 4719 of file reopt.c.
References BMSallocClearMemoryArray, BMSreallocMemoryArray, ensureRunSize(), SCIP_Reopt::firstobj, 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().
◆ getInferenceOrder()
|
static |
orders the variable by inference score
- Parameters
-
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 4810 of file reopt.c.
References NULL, SCIP_BOUNDTYPE_UPPER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsortDownRealInt(), and SCIPvarGetAvgInferences().
Referenced by SCIPreoptApply(), and SCIPreoptSplitRoot().
◆ separateSolution()
|
static |
create a global constraint to separate the given solution
- Parameters
-
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 4858 of file reopt.c.
References addGlobalCut(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPvarGetType(), SCIPvarIsOriginal(), and w.
Referenced by SCIPreoptAddOptSol().
◆ SCIPreoptGetNRestartsGlobal()
int SCIPreoptGetNRestartsGlobal | ( | SCIP_REOPT * | reopt | ) |
returns the number of global restarts
- Parameters
-
reopt reoptimization data structure
Definition at line 4952 of file reopt.c.
References SCIP_Reopt::nglbrestarts, and NULL.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetNRestartsLocal()
int SCIPreoptGetNRestartsLocal | ( | SCIP_REOPT * | reopt | ) |
returns the number of local restarts in the current run
- Parameters
-
reopt reoptimization data structure
Definition at line 4962 of file reopt.c.
References SCIP_Reopt::nlocrestarts, and NULL.
◆ SCIPreoptGetNTotalRestartsLocal()
int SCIPreoptGetNTotalRestartsLocal | ( | SCIP_REOPT * | reopt | ) |
returns the number of local restarts over all runs
- Parameters
-
reopt reoptimization data structure
Definition at line 4972 of file reopt.c.
References SCIP_Reopt::ntotallocrestarts, and NULL.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetFirstRestarts()
int SCIPreoptGetFirstRestarts | ( | SCIP_REOPT * | reopt | ) |
returns the number of iteration with the first global restarts
- Parameters
-
reopt reoptimization data structure
Definition at line 4982 of file reopt.c.
References SCIP_Reopt::firstrestart, and NULL.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetLastRestarts()
int SCIPreoptGetLastRestarts | ( | SCIP_REOPT * | reopt | ) |
returns the number of iteration with the last global restarts
- Parameters
-
reopt reoptimization data structure
Definition at line 4992 of file reopt.c.
References SCIP_Reopt::lastrestart, and NULL.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetNFeasNodes()
int SCIPreoptGetNFeasNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes providing an improving feasible LP solution in the current run
- Parameters
-
reopt reoptimization data structure
Definition at line 5002 of file reopt.c.
References SCIP_ReoptTree::nfeasnodes, NULL, and SCIP_Reopt::reopttree.
◆ SCIPreoptGetNTotalFeasNodes()
int SCIPreoptGetNTotalFeasNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes providing an improving feasible LP solution over all runs
- Parameters
-
reopt reoptimization data structure
Definition at line 5012 of file reopt.c.
References SCIP_ReoptTree::ntotalfeasnodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetNPrunedNodes()
int SCIPreoptGetNPrunedNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes that exceeded the cutoff bound in the current run
- Parameters
-
reopt reoptimization data structure
Definition at line 5022 of file reopt.c.
References SCIP_ReoptTree::nprunednodes, NULL, and SCIP_Reopt::reopttree.
◆ SCIPreoptGetNTotalPrunedNodes()
int SCIPreoptGetNTotalPrunedNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes that exceeded the cutoff bound over all runs
- Parameters
-
reopt reoptimization data structure
Definition at line 5032 of file reopt.c.
References SCIP_ReoptTree::ntotalprunednodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetNCutoffReoptnodes()
int SCIPreoptGetNCutoffReoptnodes | ( | SCIP_REOPT * | reopt | ) |
rerturns the number of reoptimized nodes that were cutoff in the same iteration in the current run
- Parameters
-
reopt reoptimization data structure
Definition at line 5042 of file reopt.c.
References SCIP_ReoptTree::ncutoffreoptnodes, NULL, and SCIP_Reopt::reopttree.
◆ SCIPreoptGetNTotalCutoffReoptnodes()
int SCIPreoptGetNTotalCutoffReoptnodes | ( | SCIP_REOPT * | reopt | ) |
rerturns the number of reoptimized nodes that were cutoff in the same iteration over all runs
- Parameters
-
reopt reoptimization data structure
Definition at line 5052 of file reopt.c.
References SCIP_ReoptTree::ntotalcutoffreoptnodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptGetNInfNodes()
int SCIPreoptGetNInfNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes with an infeasible LP in the current run
- Parameters
-
reopt reoptimization data structure
Definition at line 5062 of file reopt.c.
References SCIP_ReoptTree::ninfnodes, NULL, and SCIP_Reopt::reopttree.
◆ SCIPreoptGetNTotalInfNodes()
int SCIPreoptGetNTotalInfNodes | ( | SCIP_REOPT * | reopt | ) |
returns the number of stored nodes with an infeasible LP over all runs
- Parameters
-
reopt reoptimization data structure
Definition at line 5072 of file reopt.c.
References SCIP_ReoptTree::ntotalinfnodes, NULL, and SCIP_Reopt::reopttree.
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptCreate()
SCIP_RETCODE SCIPreoptCreate | ( | SCIP_REOPT ** | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem | ||
) |
constructor for the reoptimization data
- Parameters
-
reopt pointer to reoptimization data structure set global SCIP settings blkmem block memory
Definition at line 5082 of file reopt.c.
References BMSallocBlockMemoryArray, BMSallocMemory, BMSallocMemoryArray, createReopttree(), createSolTree(), DEFAULT_MEM_RUN, DEFAULT_RANDSEED, EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPeventhdlrCreate(), SCIPrandomCreate(), SCIPsetIncludeEventhdlr(), and SCIPsetInitializeRandomSeed().
Referenced by SCIPenableReoptimization().
◆ SCIPreoptReleaseData()
SCIP_RETCODE SCIPreoptReleaseData | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem | ||
) |
- Parameters
-
reopt pointer to reoptimization data structure set global SCIP settings blkmem block memory
Definition at line 5164 of file reopt.c.
References SCIP_Reopt::addedconss, SCIP_Reopt::addedconsssize, BMSfreeBlockMemoryArray, cleanActiveConss(), SCIP_Reopt::naddedconss, NULL, SCIP_CALL, SCIP_OKAY, and SCIPconsRelease().
Referenced by SCIPfreeTransform().
◆ SCIPreoptFree()
SCIP_RETCODE SCIPreoptFree | ( | SCIP_REOPT ** | reopt, |
SCIP_SET * | set, | ||
SCIP_PRIMAL * | origprimal, | ||
BMS_BLKMEM * | blkmem | ||
) |
frees reoptimization data
- Parameters
-
reopt reoptimization data structure set global SCIP settings origprimal original primal blkmem block memory
Definition at line 5192 of file reopt.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeMemory, BMSfreeMemoryArray, freeReoptTree(), freeSolTree(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_PROBLEM, SCIPclockFree(), SCIPhashmapFree(), SCIPhashsetFree(), SCIPrandomFree(), and SCIPsolFree().
Referenced by SCIPenableReoptimization(), and SCIPfreeProb().
◆ SCIPreoptGetNAddedConss()
int SCIPreoptGetNAddedConss | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node | ||
) |
returns the number of constraints added by the reoptimization plug-in
- Parameters
-
reopt reoptimization data structure node node of the search tree
Definition at line 5310 of file reopt.c.
References MAX, SCIP_ReoptNode::nconss, NULL, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), SCIPnodeGetNAddedConss(), and SCIPnodeGetReoptID().
Referenced by SCIPreoptCheckCutoff().
◆ SCIPreoptAddSol()
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
- Parameters
-
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 5334 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().
◆ SCIPreoptAddOptSol()
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
- Parameters
-
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 5387 of file reopt.c.
References NULL, SCIP_Reopt::prevbestsols, SCIP_Reopt::run, SCIP_CALL, SCIP_OKAY, SCIPsolCopy(), and separateSolution().
Referenced by SCIPsolve().
◆ SCIPreoptAddRun()
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
- Parameters
-
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 5422 of file reopt.c.
References 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().
◆ SCIPreoptGetNCheckedSols()
int SCIPreoptGetNCheckedSols | ( | SCIP_REOPT * | reopt | ) |
get the number of checked solutions during the reoptimization process
- Parameters
-
reopt reoptimization data structure
Definition at line 5458 of file reopt.c.
References SCIP_Reopt::ncheckedsols, and NULL.
◆ SCIPreoptAddNCheckedSols()
void SCIPreoptAddNCheckedSols | ( | SCIP_REOPT * | reopt, |
int | ncheckedsols | ||
) |
update the number of checked solutions during the reoptimization process
- Parameters
-
reopt reoptimization data structure ncheckedsols number of updated solutions
Definition at line 5468 of file reopt.c.
References SCIP_Reopt::ncheckedsols, and NULL.
◆ SCIPreoptGetNImprovingSols()
int SCIPreoptGetNImprovingSols | ( | SCIP_REOPT * | reopt | ) |
get the number of checked solutions during the reoptimization process
- Parameters
-
reopt reoptimization data structure
Definition at line 5479 of file reopt.c.
References SCIP_Reopt::nimprovingsols, and NULL.
◆ SCIPreoptAddNImprovingSols()
void SCIPreoptAddNImprovingSols | ( | SCIP_REOPT * | reopt, |
int | nimprovingsols | ||
) |
update the number of checked solutions during the reoptimization process
- Parameters
-
reopt reoptimization data structure nimprovingsols number of improving solutions
Definition at line 5489 of file reopt.c.
References SCIP_Reopt::nimprovingsols, and NULL.
◆ SCIPreoptGetNSolsRun()
int SCIPreoptGetNSolsRun | ( | SCIP_REOPT * | reopt, |
int | run | ||
) |
returns number of solutions stored in the solution tree of a given run
- Parameters
-
reopt reoptimization data structure run number of the run (1,2,..)
Definition at line 5500 of file reopt.c.
References SCIP_SolTree::nsols, NULL, SCIP_SolTree::sols, and SCIP_Reopt::soltree.
◆ SCIPreoptGetNSols()
int SCIPreoptGetNSols | ( | SCIP_REOPT * | reopt | ) |
returns number of all solutions of all runs
- Parameters
-
reopt reoptimization data structure
Definition at line 5515 of file reopt.c.
References SCIP_SolTree::nsols, NULL, r, SCIP_Reopt::run, and SCIP_Reopt::soltree.
◆ SCIPreoptGetSolsRun()
SCIP_RETCODE SCIPreoptGetSolsRun | ( | SCIP_REOPT * | reopt, |
int | run, | ||
SCIP_SOL ** | sols, | ||
int | solssize, | ||
int * | nsols | ||
) |
return the stored solutions of a given run
- Parameters
-
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 5531 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 SCIPgetReoptSolsRun().
◆ SCIPreoptGetNSavedSols()
int SCIPreoptGetNSavedSols | ( | SCIP_REOPT * | reopt | ) |
returns the number of saved solutions overall runs
- Parameters
-
reopt reoptimization data structure
Definition at line 5573 of file reopt.c.
References SCIP_SolNode::child, NULL, SCIP_SolTree::root, SCIP_Reopt::soltree, and soltreeNInducedSols().
◆ SCIPreoptCheckRestart()
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
- the objective function has changed too much
- the number of stored nodes is exceeded
- the last n optimal solutions were found by heur_reoptsols (in this case, the stored tree was only needed to prove the optimality and this can be probably faster by solving from scratch)
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.
- Parameters
-
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 5600 of file reopt.c.
References FALSE, SCIP_Reopt::lastrestart, MAX, SCIP_Reopt::noptsolsbyreoptsol, SCIP_ReoptTree::nreoptnodes, NULL, reoptCheckLocalRestart(), reoptRestart(), reoptSimilarity(), SCIP_Reopt::reopttree, SCIP_Reopt::run, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsFeasLT(), and TRUE.
Referenced by prepareReoptimization(), and SCIPcheckReoptRestart().
◆ SCIPreoptGetSimToPrevious()
SCIP_Real SCIPreoptGetSimToPrevious | ( | SCIP_REOPT * | reopt | ) |
returns the similarity to the previous objective function, if no exist return -2.0
- Parameters
-
reopt reoptimization data structure
Definition at line 5669 of file reopt.c.
References NULL, and SCIP_Reopt::simtolastobj.
Referenced by SCIPgetReoptSimilarity().
◆ SCIPreoptGetSimToFirst()
SCIP_Real SCIPreoptGetSimToFirst | ( | SCIP_REOPT * | reopt | ) |
returns the similarity to the first objective different to the zero-function function, if no exist return -2.0
- Parameters
-
reopt reoptimization data structure
Definition at line 5678 of file reopt.c.
References NULL, and SCIP_Reopt::simtofirstobj.
◆ SCIPreoptGetSimilarity()
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
- Parameters
-
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 5687 of file reopt.c.
References NULL, and reoptSimilarity().
Referenced by SCIPgetReoptSimilarity().
◆ SCIPreoptGetLastBestSol()
SCIP_SOL* SCIPreoptGetLastBestSol | ( | SCIP_REOPT * | reopt | ) |
returns the best solution of the last run
- Parameters
-
reopt reoptimization data structure
Definition at line 5706 of file reopt.c.
References NULL, SCIP_Reopt::prevbestsols, and SCIP_Reopt::run.
Referenced by SCIPgetReoptLastOptSol().
◆ SCIPreoptGetReoptnode()
SCIP_REOPTNODE* SCIPreoptGetReoptnode | ( | SCIP_REOPT * | reopt, |
unsigned int | id | ||
) |
returns the node of the reoptimization tree corresponding to the unique id
- Parameters
-
reopt reoptimization data structure id unique id
Definition at line 5720 of file reopt.c.
References NULL, SCIP_ReoptTree::reoptnodes, and SCIP_Reopt::reopttree.
Referenced by SCIPgetReoptnode().
◆ SCIPreoptGetOldObjCoef()
SCIP_Real SCIPreoptGetOldObjCoef | ( | SCIP_REOPT * | reopt, |
int | run, | ||
int | idx | ||
) |
returns the coefficient of variable with index idx
in run run
- Parameters
-
reopt reoptimization data structure run number of the run (1,2,...) idx index of original variable
Definition at line 5734 of file reopt.c.
References NULL, and SCIP_Reopt::objs.
Referenced by reoptCheckLocalRestart(), and SCIPgetReoptOldObjCoef().
◆ SCIPreoptGetBestSolRun()
SCIP_SOL* SCIPreoptGetBestSolRun | ( | SCIP_REOPT * | reopt, |
int | run | ||
) |
return the best solution of a given run.
- Note
- the returned solution is part of the original space.
- Parameters
-
reopt reoptimization data structure run number of the run (1,2,...)
Definition at line 5750 of file reopt.c.
References NULL, and SCIP_Reopt::prevbestsols.
◆ SCIPreoptReset()
SCIP_RETCODE SCIPreoptReset | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem | ||
) |
reset solving specific parameters
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory
Definition at line 5762 of file reopt.c.
References SCIP_Reopt::addedconss, SCIP_Reopt::consadded, FALSE, SCIP_Reopt::naddedconss, NULL, SCIP_Reopt::objhaschanged, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPconsRelease(), and SCIPsetDebugMsg.
Referenced by freeReoptSolve(), and freeTransform().
◆ SCIPreoptResetSolMarks()
void SCIPreoptResetSolMarks | ( | SCIP_REOPT * | reopt | ) |
reset marks of stored solutions to not updated
- Parameters
-
reopt reoptimization data structure
Definition at line 5798 of file reopt.c.
References SCIP_SolNode::child, NULL, SCIP_SolTree::root, SCIP_SolNode::sibling, SCIP_Reopt::soltree, and soltreeResetMarks().
Referenced by SCIPresetReoptSolMarks().
◆ SCIPreoptGetNNodes()
int SCIPreoptGetNNodes | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node | ||
) |
returns the number of stored nodes in the subtree induced by node
- Parameters
-
reopt reoptimization data structure node node of the search tree
Definition at line 5819 of file reopt.c.
References SCIP_ReoptTree::nreoptnodes, NULL, SCIP_Reopt::reopttree, reopttreeGetNNodes(), SCIPnodeGetDepth(), and SCIPnodeGetReoptID().
Referenced by compressReoptTree(), and SCIPgetNReoptnodes().
◆ SCIPreoptnodeGetNVars()
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
- Parameters
-
reoptnode node of the reopttree
Definition at line 5859 of file reopt.c.
References SCIP_ReoptNode::nafterdualvars, NULL, and SCIP_ReoptNode::nvars.
Referenced by constructCompression().
◆ SCIPreoptnodeGetNConss()
int SCIPreoptnodeGetNConss | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the number of bound changes at the node stored at ID id
- Parameters
-
reoptnode node of the reoptimization tree
Definition at line 5869 of file reopt.c.
References SCIP_ReoptNode::nconss, and NULL.
Referenced by constructCompression().
◆ SCIPreoptnodeGetNDualBoundChgs()
int SCIPreoptnodeGetNDualBoundChgs | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the number of stored bound changes based on dual information in the reopttree at ID id
- Parameters
-
reoptnode node of the reoptimization tree
Definition at line 5879 of file reopt.c.
References SCIP_ReoptNode::dualredscur, and NULL.
◆ SCIPreoptnodeGetNChildren()
int SCIPreoptnodeGetNChildren | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the number of child nodes of reoptnode
- Parameters
-
reoptnode node of the reoptimization tree
Definition at line 5892 of file reopt.c.
References SCIP_ReoptNode::nchilds, and NULL.
Referenced by Exec(), and SCIPreoptimizeNode().
◆ SCIPreoptnodeGetLowerbound()
SCIP_Real SCIPreoptnodeGetLowerbound | ( | SCIP_REOPTNODE * | reoptnode | ) |
return the lower bound stored at ID
id
- Parameters
-
reoptnode node of the reoptimization tree
Definition at line 5902 of file reopt.c.
References SCIP_ReoptNode::lowerbound, and NULL.
Referenced by constructCompression(), and sortIDs().
◆ SCIPreoptnodeGetType()
SCIP_REOPTTYPE SCIPreoptnodeGetType | ( | SCIP_REOPTNODE * | reoptnode | ) |
returns the type of the reoptnode
- Parameters
-
reoptnode node of the reoptimization tree
Definition at line 5912 of file reopt.c.
References NULL, and SCIP_ReoptNode::reopttype.
Referenced by Exec().
◆ SCIPreoptnodeGetConss()
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
- Parameters
-
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 5922 of file reopt.c.
References SCIP_ReoptNode::conss, SCIP_ReoptNode::nconss, and NULL.
Referenced by constructCompression().
◆ SCIPreoptnodeSetParentID()
void SCIPreoptnodeSetParentID | ( | SCIP_REOPTNODE * | reoptnode, |
unsigned int | parentid | ||
) |
set the parent id
- Parameters
-
reoptnode node of the reopttree parentid id of the parent node
Definition at line 5959 of file reopt.c.
References NULL, and SCIP_ReoptNode::parentID.
Referenced by applyCompression().
◆ SCIPreoptGetNLeaves()
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)
- Parameters
-
reopt reoptimization data structure node node of the search tree (or NULL)
Definition at line 5971 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().
◆ SCIPreoptAddInfNode()
SCIP_RETCODE SCIPreoptAddInfNode | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_NODE * | node | ||
) |
save information that given node is infeasible
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory node node of the search tree
Definition at line 6006 of file reopt.c.
References SCIP_ReoptTree::ninfnodes, SCIP_ReoptTree::ntotalinfnodes, NULL, REOPT_CONSTYPE_CUT, SCIP_Reopt::reopttree, saveGlobalCons(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPreoptCheckCutoff().
◆ 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
- Parameters
-
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 6030 of file reopt.c.
References addNode(), CHECK, SCIP_Reopt::currentnode, deleteLastDualBndchgs(), SCIP_Reopt::dualreds, FALSE, SCIP_Reopt::lastbranched, SCIP_Reopt::lastseennode, 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 nodeToLeaf(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodepqBound(), SCIPsolveCIP(), SCIPtreeCutoff(), and solveNodeLP().
◆ SCIPreoptAddDualBndchg()
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
- Parameters
-
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 6298 of file reopt.c.
References 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(), and SCIPvarIsOriginal().
Referenced by SCIPaddReoptDualBndchg(), and SCIPreoptCheckCutoff().
◆ SCIPreoptGetNDualBndchgs()
int SCIPreoptGetNDualBndchgs | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node | ||
) |
returns the number of bound changes based on dual information
- Parameters
-
reopt reoptimization data structure node node of the search tree
Definition at line 6388 of file reopt.c.
References SCIP_Reopt::currentnode, SCIP_Reopt::dualreds, NULL, and SCIPnodeGetNumber().
Referenced by SCIPreoptCheckCutoff().
◆ SCIPreoptGetChildIDs()
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
- Parameters
-
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 6408 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().
◆ SCIPreoptGetLeaves()
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
- Parameters
-
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 6461 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().
◆ SCIPreoptSaveOpenNodes()
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
- Parameters
-
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 6525 of file reopt.c.
References addNode(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_REOPTTYPE_PRUNED, SCIPnodeGetLowerbound(), and SCIPsetDebugMsg.
Referenced by SCIPsolve().
◆ SCIPreoptMergeVarHistory()
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
- Parameters
-
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 6577 of file reopt.c.
References SCIP_Var::history, NULL, 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, and SCIP_Reopt::varhistory.
Referenced by prepareReoptimization().
◆ SCIPreoptUpdateVarHistory()
SCIP_RETCODE SCIPreoptUpdateVarHistory | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_VAR ** | vars, | ||
int | nvars | ||
) |
updates the variable history
- Parameters
-
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 6672 of file reopt.c.
References BMSallocBlockMemoryArray, FALSE, SCIP_Var::history, NULL, SCIP_Reopt::run, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPhistoryCreate(), SCIPhistoryReset(), SCIPhistoryUnite(), SCIPsetDebugMsg, SCIPvarGetIndex(), SCIPvarGetTransVar(), SCIPvarIsActive(), SCIPvarIsOriginal(), and SCIP_Reopt::varhistory.
Referenced by SCIPsolve().
◆ SCIPreoptApplyCompression()
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
- Parameters
-
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 6729 of file reopt.c.
References SCIP_ReoptNode::conss, createReoptnode(), FALSE, SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, SCIP_ReoptTree::nreoptnodes, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::openids, SCIP_ReoptNode::parentID, r, reoptAddChild(), SCIP_ReoptTree::reoptnodes, reoptResetTree(), SCIP_Reopt::reopttree, SCIP_ReoptNode::reopttype, 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().
◆ transformDualredsToLinear()
|
static |
transforms a set of dual reductions into a linear constraint
- Parameters
-
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 6833 of file reopt.c.
References BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, NULL, REOPT_CONSTYPE_DUALREDS, SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_OKAY, SCIPsetInfinity(), SCIPsetIsEQ(), and TRUE.
Referenced by SCIPreoptSplitRoot().
◆ transformDualredsToBounddisjunction()
|
static |
transforms a set of dual reductions into a bounddisjuction constraint
- Parameters
-
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 6895 of file reopt.c.
References BMSduplicateBlockMemoryArray, FALSE, MAX, NULL, REOPT_CONSTYPE_DUALREDS, SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPvarGetLbGlobal(), and SCIPvarGetUbGlobal().
Referenced by SCIPreoptSplitRoot().
◆ 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
- Parameters
-
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 6954 of file reopt.c.
References BMSallocBlockMemory, SCIP_ReoptNode::conss, createReoptnode(), SCIP_ReoptNode::dualredscur, getInferenceOrder(), SCIP_ReoptNode::nchilds, SCIP_ReoptNode::nconss, NULL, 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, and SCIP_ReoptNode::vars.
Referenced by SCIPsplitReoptRoot().
◆ SCIPreoptResetDualBndchgs()
SCIP_RETCODE SCIPreoptResetDualBndchgs | ( | SCIP_REOPT * | reopt, |
SCIP_NODE * | node, | ||
BMS_BLKMEM * | blkmem | ||
) |
reset the stored information abound bound changes based on dual information
- Parameters
-
reopt reoptimization data structure node node of the search tree blkmem block memory
Definition at line 7248 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().
◆ SCIPreoptnodeGetPath()
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
- Parameters
-
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 7273 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().
◆ SCIPreoptDeleteNode()
SCIP_RETCODE SCIPreoptDeleteNode | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
unsigned int | id, | ||
BMS_BLKMEM * | blkmem | ||
) |
delete a node stored in the reoptimization tree
- Parameters
-
reopt reoptimization data structure set global SCIP settings id id of a stored node blkmem block memory
Definition at line 7332 of file reopt.c.
References NULL, SCIP_ReoptTree::openids, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, reopttreeDeleteNode(), SCIP_CALL, SCIP_OKAY, SCIPqueueInsertUInt(), and TRUE.
◆ SCIPreoptApply()
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
- Parameters
-
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 7352 of file reopt.c.
References addLocalConss(), addNode(), addSplitcons(), changeAncestorBranchings(), SCIP_ReoptNode::dualreds, SCIP_ReoptNode::dualredscur, FALSE, fixBounds(), fixInterdiction(), getInferenceOrder(), SCIP_ReoptNode::lowerbound, SCIP_ReoptNode::nafterdualvars, SCIP_ReoptNode::nconss, NULL, SCIP_Reopt::objhaschanged, SCIP_Reopt::randnumgen, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, 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, SCIPnodeCreateChild(), SCIPnodeGetNumber(), SCIPnodeSetEstimate(), SCIPnodeSetReoptID(), SCIPnodeSetReopttype(), SCIPrandomPermuteIntArray(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsGT(), and TRUE.
Referenced by SCIPapplyReopt().
◆ SCIPreoptGetSavingtime()
SCIP_Real SCIPreoptGetSavingtime | ( | SCIP_REOPT * | reopt | ) |
returns the time needed to store the nodes for reoptimization
- Parameters
-
reopt reoptimization data structure
Definition at line 7656 of file reopt.c.
References NULL, SCIP_Reopt::savingtime, and SCIPclockGetTime().
Referenced by SCIPprintReoptStatistics().
◆ SCIPreoptApplyGlbConss()
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
- Parameters
-
scip SCIP data structure reopt reoptimization data structure set global SCIP settings stat dynamic problem statistics blkmem block memory
Definition at line 7666 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, ensureActiveconssSize(), FALSE, SCIP_Reopt::glbconss, SCIP_Reopt::nactiveconss, SCIP_Reopt::nglbconss, 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().
◆ SCIPreoptApplyCuts()
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
- Parameters
-
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 7790 of file reopt.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, SCIP_ReoptNode::conss, FALSE, SCIP_ReoptNode::nconss, NULL, REOPT_CONSTYPE_CUT, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIP_Bool, SCIP_CALL, 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().
◆ SCIPreoptGetSolveLP()
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
- Parameters
-
reopt reoptimization data structure set global SCIP settings node node of the current search tree
Definition at line 7923 of file reopt.c.
References FALSE, SCIP_ReoptNode::nchilds, NULL, SCIP_ReoptNode::nvars, SCIP_ReoptTree::reoptnodes, SCIP_Reopt::reopttree, SCIPnodeGetDepth(), SCIPnodeGetReoptID(), SCIPnodeGetReopttype(), SCIPsetIsGE(), SCIP_Reopt::simtolastobj, and TRUE.
Referenced by solveNode().
◆ SCIPreoptnodeInit()
void SCIPreoptnodeInit | ( | SCIP_REOPTNODE * | reoptnode, |
SCIP_SET * | set | ||
) |
initialize an empty node
- Parameters
-
reoptnode node of the reopttree set global SCIP settings
Definition at line 7970 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::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().
◆ SCIPreoptnodeReset()
SCIP_RETCODE SCIPreoptnodeReset | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_REOPTNODE * | reoptnode | ||
) |
reset the given reoptimization node
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory reoptnode reoptimization node
Definition at line 8003 of file reopt.c.
References NULL, reoptnodeReset(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPresetRepresentation().
◆ SCIPreoptnodeDelete()
SCIP_RETCODE SCIPreoptnodeDelete | ( | SCIP_REOPTNODE ** | reoptnode, |
BMS_BLKMEM * | blkmem | ||
) |
delete the given reoptimization node
- Parameters
-
reoptnode pointer of reoptnode blkmem block memory
Definition at line 8021 of file reopt.c.
References NULL, reoptnodeDelete(), SCIP_CALL, and SCIP_OKAY.
Referenced by SCIPdeleteReoptnode(), and SCIPfreeRepresentation().
◆ SCIPreoptnodeAddBndchg()
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
- Parameters
-
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 8035 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().
◆ 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
- Parameters
-
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 8063 of file reopt.c.
References BMSallocBlockMemory, BMSduplicateBlockMemoryArray, SCIP_ReoptNode::conss, SCIP_ReoptNode::nconss, NULL, REOPT_CONSTYPE_CUT, REOPT_CONSTYPE_DUALREDS, REOPT_CONSTYPE_INFSUBTREE, reoptnodeCheckMemory(), SCIP_ALLOC, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPreoptnodeAddBndchg(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsLE(), SCIPvarGetLbLocal(), SCIPvarGetType(), and SCIPvarGetUbLocal().
Referenced by SCIPaddReoptnodeCons(), SCIPreoptApplyCompression(), and storeCuts().
◆ SCIPreoptAddCons()
SCIP_RETCODE SCIPreoptAddCons | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_CONS * | cons | ||
) |
add a constraint to the reoptimization data structure
- Parameters
-
reopt reoptimization data structure set global SCIP settings blkmem block memory cons constraint to add
Definition at line 8155 of file reopt.c.
References SCIP_Reopt::addedconss, SCIP_Reopt::addedconsssize, BMSallocClearBlockMemoryArray, BMSclearMemoryArray, BMSreallocBlockMemoryArray, SCIP_Reopt::consadded, SCIP_Reopt::naddedconss, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPconsCapture(), SCIPconsGetName(), SCIPsetCalcMemGrowSize(), SCIPsetDebugMsg, and TRUE.
Referenced by SCIPaddCons().
◆ SCIPreoptSaveGlobalBounds()
SCIP_RETCODE SCIPreoptSaveGlobalBounds | ( | SCIP_REOPT * | reopt, |
SCIP_PROB * | transprob, | ||
BMS_BLKMEM * | blkmem | ||
) |
save global lower and upper bounds
- Note
- this method should only be called once, i.e., after fishing presolving of the first problem
- Parameters
-
reopt reoptimization data structure transprob transformed problem data blkmem block memory
Definition at line 8206 of file reopt.c.
References SCIP_Reopt::glblb, SCIP_Reopt::glbub, NULL, SCIP_CALL, SCIP_OKAY, SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapInsertReal(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPvarGetLbGlobal(), and SCIPvarGetUbGlobal().
Referenced by prepareReoptimization().
◆ SCIPreoptSaveActiveConss()
SCIP_RETCODE SCIPreoptSaveActiveConss | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
BMS_BLKMEM * | blkmem | ||
) |
save active constraints
- Note
- this method can only called once, i.e., after fishing presolving of the first problem
- Parameters
-
reopt reoptimization data structure set global SCIP settings transprob transformed problem data blkmem block memory
Definition at line 8244 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, SCIP_Prob::conss, ensureActiveconssSize(), SCIP_Reopt::nactiveconss, SCIP_Prob::nconss, SCIP_Reopt::nmaxactiveconss, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsCapture(), SCIPconsIsActive(), SCIPhashsetCreate(), SCIPhashsetExists(), SCIPhashsetInsert(), and SCIPsetDebugMsg.
Referenced by prepareReoptimization().
◆ SCIPreoptInstallBounds()
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
- Parameters
-
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 8285 of file reopt.c.
References SCIP_Reopt::glblb, SCIP_Reopt::glbub, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPhashmapExists(), SCIPhashmapGetImageReal(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPprobIsTransformed(), SCIPvarChgLbGlobal(), SCIPvarChgLbLocal(), SCIPvarChgUbGlobal(), and SCIPvarChgUbLocal().
Referenced by prepareReoptimization().
◆ SCIPreoptResetActiveConss()
SCIP_RETCODE SCIPreoptResetActiveConss | ( | SCIP_REOPT * | reopt, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat | ||
) |
reactivate globally valid constraints that were deactivated and necessary to ensure correctness
- Parameters
-
reopt reoptimization data structure set global SCIP settings stat dynamic SCIP statistics
Definition at line 8335 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, SCIP_Cons::deleted, FALSE, SCIP_Reopt::nactiveconss, SCIP_Reopt::nmaxactiveconss, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsActivate(), SCIPconsDeactivate(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPhashsetExists(), SCIPsetDebugMsg, and TRUE.
Referenced by prepareReoptimization().
◆ SCIPreoptConsCanBeDeleted()
SCIP_Bool SCIPreoptConsCanBeDeleted | ( | SCIP_REOPT * | reopt, |
SCIP_CONS * | cons | ||
) |
returns whether a constraint is necessary to ensure correctness and cannot be deleted
- Parameters
-
reopt reoptimization data structure cons problem constraint
Definition at line 8378 of file reopt.c.
References SCIP_Reopt::activeconss, SCIP_Reopt::activeconssset, NULL, SCIPhashsetExists(), and TRUE.
Referenced by SCIPconsDelete().