branch_nodereopt.c
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 91 /* The current node is equal to the root and dual reductions were performed. Since the root has a special role 92 * within the reoptimiziation we have to split the root node into several nodes and move all stored child nodes to 95 * @note If the type is infsubtree, there cannot exist a child node and the method SCIPapplyReopt adds a global valid 123 /* We decrease the counter by one because after splitting the root node and moving all children to the node 124 * representing the original root with all fixings (caused by dual reductions), we continue reactivating the 125 * original children nodes of the root. Thus, the node containing all the fixings can be replaced by the children 175 /* by default we assume the node get split into two node (because using a constraint to split the node is 189 SCIP_CALL( SCIPapplyReopt(scip, reoptnode, childid, SCIPnodeGetEstimate(curnode), childnodes, &ncreatedchilds, 201 SCIP_CALL( SCIPapplyReopt(scip, reoptnode, childid, SCIPnodeGetEstimate(curnode), childnodes, &ncreatedchilds, 223 SCIPdebugMessage("**** finish reoptimizing %d child nodes of node %lld ****\n", ncreatednodes, SCIPnodeGetNumber(curnode)); 269 && SCIPgetReoptSimilarity(scip, SCIPgetNReoptRuns(scip), SCIPgetNReoptRuns(scip)) <= objsimrootlp ) /* check objsimrootlp */ 272 SCIP_CALL( SCIPgetLPBranchCands(scip, &branchcands, &branchcandssol, &branchcandsfrac, NULL, &nbranchcands, NULL) ); 277 SCIP_CALL( SCIPexecRelpscostBranching(scip, TRUE, branchcands, branchcandssol, branchcandsfrac, nbranchcands, FALSE, result) ); 284 assert((SCIPnodeGetReoptID(SCIPgetCurrentNode(scip)) == 0 && SCIPnodeGetDepth(SCIPgetCurrentNode(scip)) == 0 ) 304 assert((SCIPnodeGetReoptID(SCIPgetCurrentNode(scip)) == 0 && SCIPnodeGetDepth(SCIPgetCurrentNode(scip)) == 0 ) 323 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:33125 reliable pseudo costs branching rule static SCIP_DECL_BRANCHCOPY(branchCopyNodereopt) Definition: branch_nodereopt.c:234 Definition: type_result.h:33 SCIP_RETCODE SCIPgetReoptChildIDs(SCIP *scip, SCIP_NODE *node, unsigned int *ids, int idssize, int *nids) Definition: scip.c:14953 internal methods for branch and bound tree Definition: struct_scip.h:53 SCIP_REOPTNODE * SCIPgetReoptnode(SCIP *scip, unsigned int id) Definition: scip.c:15038 Definition: struct_var.h:196 SCIP_RETCODE SCIPsplitReoptRoot(SCIP *scip, int *ncreatedchilds, int *naddedconss) Definition: scip.c:15642 const char * SCIPbranchruleGetName(SCIP_BRANCHRULE *branchrule) Definition: branch.c:1877 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:1667 Definition: struct_reopt.h:65 SCIP_RETCODE SCIPsetBranchruleCopy(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHCOPY((*branchcopy))) Definition: scip.c:8290 public methods for reoptimization nodereopt branching rule SCIP_RETCODE SCIPsetBranchruleExecPs(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECPS((*branchexecps))) Definition: scip.c:8420 Definition: struct_tree.h:122 static SCIP_DECL_BRANCHEXECPS(branchExecpsNodereopt) Definition: branch_nodereopt.c:314 SCIP_RETCODE SCIPsetBranchruleExecLp(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECLP((*branchexeclp))) Definition: scip.c:8388 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:8253 Definition: type_reopt.h:50 SCIP_RETCODE SCIPcheckReoptRestart(SCIP *scip, SCIP_NODE *node, SCIP_Bool *restart) Definition: scip.c:15541 Constraint handler for logicor constraints (equivalent to set covering, but algorithms are suited fo... static SCIP_DECL_BRANCHEXECLP(branchExeclpNodereopt) Definition: branch_nodereopt.c:248 Definition: type_retcode.h:33 Definition: type_result.h:42 Definition: struct_branch.h:68 int SCIPreoptnodeGetNChildren(SCIP_REOPTNODE *reoptnode) Definition: reopt.c:4654 SCIP_RETCODE SCIPsetBranchruleExecExt(SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_DECL_BRANCHEXECEXT((*branchexecext))) Definition: scip.c:8404 static SCIP_DECL_BRANCHEXECEXT(branchExecextNodereopt) Definition: branch_nodereopt.c:295 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:15261 SCIP_Real SCIPgetReoptSimilarity(SCIP *scip, int run1, int run2) Definition: scip.c:15560 Definition: type_reopt.h:49 Definition: type_result.h:45 SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value) Definition: scip.c:3797 SCIP_RETCODE SCIPincludeBranchruleNodereopt(SCIP *scip) Definition: branch_nodereopt.c:337 SCIP_REOPTTYPE SCIPreoptnodeGetType(SCIP_REOPTNODE *reoptnode) Definition: reopt.c:4674 Definition: objbranchrule.h:33 SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value) Definition: scip.c:3740 Definition: type_result.h:39 SCIP callable library. |