All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
branch.h
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
71 SCIP_Real** lpcandssol, /**< pointer to store the array of LP candidate solution values, or NULL */
72 SCIP_Real** lpcandsfrac, /**< pointer to store the array of LP candidate fractionalities, or NULL */
74 int* npriolpcands, /**< pointer to store the number of candidates with maximal priority, or NULL */
83 SCIP_VAR*** externcands, /**< pointer to store the array of external branching candidates, or NULL */
84 SCIP_Real** externcandssol, /**< pointer to store the array of external candidate solution values, or NULL */
85 SCIP_Real** externcandsscore, /**< pointer to store the array of external candidate scores, or NULL */
87 int* nprioexterncands, /**< pointer to store the number of candidates with maximal priority, or NULL */
88 int* nprioexternbins, /**< pointer to store the number of binary candidates with maximal priority, or NULL */
89 int* nprioexternints, /**< pointer to store the number of integer candidates with maximal priority, or NULL */
90 int* nprioexternimpls /**< pointer to store the number of implicit integer candidates with maximal priority,
118 /** gets number of implicit integer external branching candidates with maximal branch priority */
130 /** insert variable, its score and its solution value into the external branching candidate storage
131 * the absolute difference of the current lower and upper bounds of the variable must be at least epsilon
148 /** checks whether the given variable is contained in the candidate storage for external branching */
161 SCIP_VAR*** pseudocands, /**< pointer to store the array of pseudo branching candidates, or NULL */
163 int* npriopseudocands /**< pointer to store the number of candidates with maximal priority, or NULL */
172 /** gets number of branching candidates with maximal branch priority for pseudo solution branching */
178 /** gets number of binary branching candidates with maximal branch priority for pseudo solution branching */
184 /** gets number of integer branching candidates with maximal branch priority for pseudo solution branching */
190 /** gets number of implicit integer branching candidates with maximal branch priority for pseudo solution branching */
211 /** updates branching priority of the given variable and update the pseude candidate array if needed */
244 int maxdepth, /**< maximal depth level, up to which this branching rule should be used (or -1) */
245 SCIP_Real maxbounddist, /**< maximal relative distance from current node's dual bound to primal bound
252 SCIP_DECL_BRANCHINITSOL((*branchinitsol)),/**< solving process initialization method of branching rule */
253 SCIP_DECL_BRANCHEXITSOL((*branchexitsol)),/**< solving process deinitialization method of branching rule */
254 SCIP_DECL_BRANCHEXECLP((*branchexeclp)), /**< branching execution method for fractional LP solutions */
255 SCIP_DECL_BRANCHEXECEXT((*branchexecext)),/**< branching execution method for external solutions */
256 SCIP_DECL_BRANCHEXECPS((*branchexecps)), /**< branching execution method for not completely fixed pseudo solutions */
341 /** sets maximal depth level, up to which this branching rule should be used (-1 for no limit) */
348 /** sets maximal relative distance from current node's dual bound to primal bound for applying branching rule */
359 SCIP_DECL_BRANCHCOPY ((*branchcopy)) /**< copy method of branching rule or NULL if you don't want to copy your plugin into sub-SCIPs */
387 SCIP_DECL_BRANCHINITSOL((*branchinitsol)) /**< solving process initialization method of branching rule */
394 SCIP_DECL_BRANCHEXITSOL((*branchexitsol)) /**< solving process deinitialization method of branching rule */
401 SCIP_DECL_BRANCHEXECLP((*branchexeclp)) /**< branching execution method for fractional LP solutions */
408 SCIP_DECL_BRANCHEXECEXT((*branchexecext)) /**< branching execution method for external candidates */
415 SCIP_DECL_BRANCHEXECPS((*branchexecps)) /**< branching execution method for not completely fixed pseudo solutions */
431 /** calculates the branching score out of the gain predictions for a branching with arbitrary many children */
443 * if this value is at infinity, then 0.0 projected onto the bounds and then moved inside the interval is used
445 * for a continuous variable, the parameter branching/clamp defines how far a branching point need to be from the bounds of a variable
446 * the latter is only applied if no point has been suggested, or the suggested point is not inside the variable's interval
456 /** calls branching rules to branch on an LP solution; if no fractional variables exist, the result is SCIP_DIDNOTRUN;
457 * if the branch priority of an unfixed variable is larger than the maximal branch priority of the fractional
458 * variables, pseudo solution branching is applied on the unfixed variables with maximal branch priority
477 /** calls branching rules to branch on an external solution; if no external branching candidates exist, the result is SCIP_DIDNOTRUN */
|