|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
branch_nodereopt.c
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
92 /* The current node is equal to the root and dual reductions were performed. Since the root has a special role
93 * within the reoptimiziation we have to split the root node into several nodes and move all stored child nodes to
96 * @note If the type is infsubtree, there cannot exist a child node and the method SCIPapplyReopt adds a global valid
124 /* We decrease the counter by one because after splitting the root node and moving all children to the node
125 * representing the original root with all fixings (caused by dual reductions), we continue reactivating the
126 * original children nodes of the root. Thus, the node containing all the fixings can be replaced by the children
176 /* by default we assume the node get split into two node (because using a constraint to split the node is
191 SCIP_CALL( SCIPapplyReopt(scip, reoptnode, childid, SCIPnodeGetEstimate(curnode), childnodes, &ncreatedchilds,
203 SCIP_CALL( SCIPapplyReopt(scip, reoptnode, childid, SCIPnodeGetEstimate(curnode), childnodes, &ncreatedchilds,
225 SCIPdebugMessage("**** finish reoptimizing %d child nodes of node %lld ****\n", ncreatednodes, SCIPnodeGetNumber(curnode));
257 && SCIPgetReoptSimilarity(scip, SCIPgetNReoptRuns(scip), SCIPgetNReoptRuns(scip)) <= objsimrootlp ) /* check objsimrootlp */
260 SCIP_CALL( SCIPgetLPBranchCands(scip, &branchcands, &branchcandssol, &branchcandsfrac, NULL, &nbranchcands, NULL) );
265 SCIP_CALL( SCIPexecRelpscostBranching(scip, TRUE, branchcands, branchcandssol, branchcandsfrac, nbranchcands, FALSE, result) );
272 assert((SCIPnodeGetReoptID(SCIPgetCurrentNode(scip)) == 0 && SCIPnodeGetDepth(SCIPgetCurrentNode(scip)) == 0 )
292 assert((SCIPnodeGetReoptID(SCIPgetCurrentNode(scip)) == 0 && SCIPnodeGetDepth(SCIPgetCurrentNode(scip)) == 0 )
311 assert((SCIPnodeGetReoptID(SCIPgetCurrentNode(scip)) == 0 && SCIPnodeGetDepth(SCIPgetCurrentNode(scip)) == 0 )
SCIP_RETCODE SCIPgetLPBranchCands(SCIP *scip, SCIP_VAR ***lpcands, SCIP_Real **lpcandssol, SCIP_Real **lpcandsfrac, int *nlpcands, int *npriolpcands, int *nfracimplvars) Definition: scip.c:32735 reliable pseudo costs branching rule Definition: type_result.h:33 SCIP_RETCODE SCIPgetReoptChildIDs(SCIP *scip, SCIP_NODE *node, unsigned int *ids, int idssize, int *nids) Definition: scip.c:15042 internal methods for branch and bound tree Definition: struct_scip.h:53 SCIP_REOPTNODE * SCIPgetReoptnode(SCIP *scip, unsigned int id) Definition: scip.c:15127 Definition: struct_var.h:196 SCIP_RETCODE SCIPsplitReoptRoot(SCIP *scip, int *ncreatedchilds, int *naddedconss) Definition: scip.c:15728 SCIP_RETCODE SCIPexecRelpscostBranching(SCIP *scip, SCIP_Bool allowaddcons, SCIP_VAR **branchcands, SCIP_Real *branchcandssol, SCIP_Real *branchcandsfrac, int nbranchcands, SCIP_Bool executebranching, SCIP_RESULT *result) Definition: branch_relpscost.c:1665 Definition: struct_reopt.h:65 public methods for reoptimization nodereopt branching rule SCIP_RETCODE SCIPsetBranchruleExecPs(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECPS((*branchexecps))) Definition: scip.c:8389 Definition: struct_tree.h:122 SCIP_RETCODE SCIPsetBranchruleExecLp(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECLP((*branchexeclp))) Definition: scip.c:8357 SCIP_RETCODE SCIPincludeBranchruleBasic(SCIP *scip, SCIP_BRANCHRULE **branchruleptr, const char *name, const char *desc, int priority, int maxdepth, SCIP_Real maxbounddist, SCIP_BRANCHRULEDATA *branchruledata) Definition: scip.c:8222 Definition: type_reopt.h:50 SCIP_RETCODE SCIPcheckReoptRestart(SCIP *scip, SCIP_NODE *node, SCIP_Bool *restart) Definition: scip.c:15627 Constraint handler for logicor constraints (equivalent to set covering, but algorithms are suited fo... Definition: type_retcode.h:33 Definition: type_result.h:42 Definition: struct_branch.h:68 int SCIPreoptnodeGetNChildren(SCIP_REOPTNODE *reoptnode) Definition: reopt.c:4716 SCIP_RETCODE SCIPsetBranchruleExecExt(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECEXT((*branchexecext))) Definition: scip.c:8373 static SCIP_DECL_BRANCHEXECPS(branchExecpsnodereopt) Definition: branch_nodereopt.c:302 static SCIP_DECL_BRANCHEXECEXT(branchExecextnodereopt) Definition: branch_nodereopt.c:283 SCIP_RETCODE SCIPapplyReopt(SCIP *scip, SCIP_REOPTNODE *reoptnode, unsigned int id, SCIP_Real estimate, SCIP_NODE **childnodes, int *ncreatedchilds, int *naddedconss, int childnodessize, SCIP_Bool *success) Definition: scip.c:15347 SCIP_Real SCIPgetReoptSimilarity(SCIP *scip, int run1, int run2) Definition: scip.c:15646 Definition: type_reopt.h:49 static SCIP_DECL_BRANCHEXECLP(branchExeclpnodereopt) Definition: branch_nodereopt.c:236 Definition: type_result.h:45 SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value) Definition: scip.c:3766 SCIP_RETCODE SCIPincludeBranchruleNodereopt(SCIP *scip) Definition: branch_nodereopt.c:325 SCIP_REOPTTYPE SCIPreoptnodeGetType(SCIP_REOPTNODE *reoptnode) Definition: reopt.c:4736 SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value) Definition: scip.c:3709 Definition: type_result.h:39 SCIP callable library. |