Detailed Description
methods for branching rules and branching candidate storage
Definition in file branch.c.
#include <assert.h>
#include <string.h>
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/set.h"
#include "scip/stat.h"
#include "scip/clock.h"
#include "scip/paramset.h"
#include "scip/event.h"
#include "scip/lp.h"
#include "scip/var.h"
#include "scip/prob.h"
#include "scip/tree.h"
#include "scip/sepastore.h"
#include "scip/scip.h"
#include "scip/branch.h"
#include "scip/solve.h"
#include "scip/struct_branch.h"
Go to the source code of this file.
Function Documentation
◆ ensureLpcandsSize()
|
static |
ensures, that lpcands array can store at least num entries
- Parameters
-
branchcand branching candidate storage set global SCIP settings num minimum number of entries to store
Definition at line 56 of file branch.c.
References BMSreallocMemoryArray, SCIP_BranchCand::lpcands, SCIP_BranchCand::lpcandsfrac, SCIP_BranchCand::lpcandssize, SCIP_BranchCand::lpcandssol, SCIP_BranchCand::nlpcands, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by branchcandCalcLPCands().
◆ ensurePseudocandsSize()
|
static |
ensures, that pseudocands array can store at least num entries
- Parameters
-
branchcand branching candidate storage set global SCIP settings num minimum number of entries to store
Definition at line 81 of file branch.c.
References BMSreallocMemoryArray, SCIP_BranchCand::npseudocands, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudocandssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPbranchcandUpdateVar().
◆ ensureExterncandsSize()
|
static |
ensures, that externcands array can store at least num entries
- Parameters
-
branchcand branching candidate storage set global SCIP settings num minimum number of entries to store
Definition at line 104 of file branch.c.
References BMSreallocMemoryArray, SCIP_BranchCand::externcands, SCIP_BranchCand::externcandsscore, SCIP_BranchCand::externcandssize, SCIP_BranchCand::externcandssol, SCIP_BranchCand::nexterncands, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPbranchcandAddExternCand().
◆ SCIPbranchcandCreate()
SCIP_RETCODE SCIPbranchcandCreate | ( | SCIP_BRANCHCAND ** | branchcand | ) |
creates a branching candidate storage
- Parameters
-
branchcand pointer to store branching candidate storage
Definition at line 134 of file branch.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPbranchcandInvalidate().
Referenced by SCIPtransformProb().
◆ SCIPbranchcandFree()
SCIP_RETCODE SCIPbranchcandFree | ( | SCIP_BRANCHCAND ** | branchcand | ) |
frees branching candidate storage
- Parameters
-
branchcand pointer to store branching candidate storage
Definition at line 174 of file branch.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, and SCIP_OKAY.
Referenced by freeTransform(), and freeTransforming().
◆ SCIPbranchcandInvalidate()
void SCIPbranchcandInvalidate | ( | SCIP_BRANCHCAND * | branchcand | ) |
resets branching candidates storage
- Parameters
-
branchcand pointer to store branching candidate storage
Definition at line 193 of file branch.c.
References NULL, and SCIP_BranchCand::validlpcandslp.
Referenced by prepareReoptimization(), and SCIPbranchcandCreate().
◆ branchcandCalcLPCands()
|
static |
calculates branching candidates for LP solution branching (fractional variables)
- Parameters
-
branchcand branching candidate storage set global SCIP settings stat problem statistics lp current LP data
Definition at line 204 of file branch.c.
References ensureLpcandsSize(), SCIP_Col::lb, SCIP_BranchCand::lpcands, SCIP_BranchCand::lpcandsfrac, SCIP_BranchCand::lpcandssol, SCIP_Stat::lpcount, SCIP_Col::lpipos, SCIP_BranchCand::lpmaxpriority, SCIP_Col::lppos, SCIP_BranchCand::nimpllpfracs, SCIP_BranchCand::nlpcands, SCIP_BranchCand::npriolpbins, SCIP_BranchCand::npriolpcands, NULL, REALABS, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPcolGetPrimsol(), SCIPlpGetCols(), SCIPlpGetNCols(), SCIPlpGetSolstat(), SCIPsetDebugMsg, SCIPsetFeasFrac(), SCIPsetFeastol(), SCIPsetIsFeasFracIntegral(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPvarGetBranchPriority(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIP_Lp::solved, SCIP_Col::ub, SCIP_BranchCand::validlpcandslp, and SCIP_Col::var.
Referenced by SCIPbranchcandGetLPCands(), and SCIPbranchExecLP().
◆ SCIPbranchcandGetLPCands()
SCIP_RETCODE SCIPbranchcandGetLPCands | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_VAR *** | lpcands, | ||
SCIP_Real ** | lpcandssol, | ||
SCIP_Real ** | lpcandsfrac, | ||
int * | nlpcands, | ||
int * | npriolpcands, | ||
int * | nfracimplvars | ||
) |
gets branching candidates for LP solution branching (fractional variables)
- Parameters
-
branchcand branching candidate storage set global SCIP settings stat problem statistics lp current LP data lpcands pointer to store the array of LP branching candidates, or NULL lpcandssol pointer to store the array of LP candidate solution values, or NULL lpcandsfrac pointer to store the array of LP candidate fractionalities, or NULL nlpcands pointer to store the number of LP branching candidates, or NULL npriolpcands pointer to store the number of candidates with maximal priority, or NULL nfracimplvars pointer to store the number of implicit fractional variables, or NULL
Definition at line 396 of file branch.c.
References branchcandCalcLPCands(), SCIP_BranchCand::lpcands, SCIP_BranchCand::lpcandsfrac, SCIP_BranchCand::lpcandssol, SCIP_BranchCand::nimpllpfracs, SCIP_BranchCand::nlpcands, SCIP_BranchCand::npriolpbins, SCIP_BranchCand::npriolpcands, NULL, SCIP_CALL, and SCIP_OKAY.
Referenced by priceAndCutLoop(), SCIPgetLPBranchCands(), SCIPgetNLPBranchCands(), SCIPgetNPrioLPBranchCands(), solveNode(), and updateEstimate().
◆ SCIPbranchcandGetExternCands()
SCIP_RETCODE SCIPbranchcandGetExternCands | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_VAR *** | externcands, | ||
SCIP_Real ** | externcandssol, | ||
SCIP_Real ** | externcandsscore, | ||
int * | nexterncands, | ||
int * | nprioexterncands, | ||
int * | nprioexternbins, | ||
int * | nprioexternints, | ||
int * | nprioexternimpls | ||
) |
gets external branching candidates
- Parameters
-
branchcand branching candidate storage externcands pointer to store the array of external branching candidates, or NULL externcandssol pointer to store the array of external candidate solution values, or NULL externcandsscore pointer to store the array of external candidate scores, or NULL nexterncands pointer to store the number of external branching candidates, or NULL nprioexterncands pointer to store the number of candidates with maximal priority, or NULL nprioexternbins pointer to store the number of binary candidates with maximal priority, or NULL nprioexternints pointer to store the number of integer candidates with maximal priority, or NULL nprioexternimpls pointer to store the number of implicit integer candidates with maximal priority, or NULL
Definition at line 431 of file branch.c.
References SCIP_BranchCand::externcands, SCIP_BranchCand::externcandsscore, SCIP_BranchCand::externcandssol, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, NULL, and SCIP_OKAY.
Referenced by SCIPgetExternBranchCands().
◆ SCIPbranchcandGetLPMaxPrio()
int SCIPbranchcandGetLPMaxPrio | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets maximal branching priority of LP branching candidates
- Parameters
-
branchcand branching candidate storage
Definition at line 468 of file branch.c.
References SCIP_BranchCand::lpmaxpriority, and NULL.
Referenced by solveNode().
◆ SCIPbranchcandGetNPrioLPCands()
int SCIPbranchcandGetNPrioLPCands | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of LP branching candidates with maximal branch priority
- Parameters
-
branchcand branching candidate storage
Definition at line 478 of file branch.c.
References SCIP_BranchCand::npriolpcands, and NULL.
Referenced by solveNode().
◆ SCIPbranchcandGetExternMaxPrio()
int SCIPbranchcandGetExternMaxPrio | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets maximal branching priority of external branching candidates
- Parameters
-
branchcand branching candidate storage
Definition at line 488 of file branch.c.
References SCIP_BranchCand::externmaxpriority, and NULL.
Referenced by solveNode().
◆ SCIPbranchcandGetNExternCands()
int SCIPbranchcandGetNExternCands | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of external branching candidates
- Parameters
-
branchcand branching candidate storage
Definition at line 498 of file branch.c.
References SCIP_BranchCand::nexterncands, and NULL.
Referenced by SCIPgetNExternBranchCands(), and solveNode().
◆ SCIPbranchcandGetNPrioExternCands()
int SCIPbranchcandGetNPrioExternCands | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of external branching candidates with maximal branch priority
- Parameters
-
branchcand branching candidate storage
Definition at line 508 of file branch.c.
References SCIP_BranchCand::nprioexterncands, and NULL.
Referenced by SCIPgetNPrioExternBranchCands(), and solveNode().
◆ SCIPbranchcandGetNPrioExternBins()
int SCIPbranchcandGetNPrioExternBins | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of binary external branching candidates with maximal branch priority
- Parameters
-
branchcand branching candidate storage
Definition at line 518 of file branch.c.
References SCIP_BranchCand::nprioexternbins, and NULL.
Referenced by SCIPgetNPrioExternBranchBins().
◆ SCIPbranchcandGetNPrioExternInts()
int SCIPbranchcandGetNPrioExternInts | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of integer external branching candidates with maximal branch priority
- Parameters
-
branchcand branching candidate storage
Definition at line 528 of file branch.c.
References SCIP_BranchCand::nprioexternints, and NULL.
Referenced by SCIPgetNPrioExternBranchInts().
◆ SCIPbranchcandGetNPrioExternImpls()
int SCIPbranchcandGetNPrioExternImpls | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of implicit integer external branching candidates with maximal branch priority
- Parameters
-
branchcand branching candidate storage
Definition at line 538 of file branch.c.
References SCIP_BranchCand::nprioexternimpls, and NULL.
Referenced by SCIPgetNPrioExternBranchImpls().
◆ SCIPbranchcandGetNPrioExternConts()
int SCIPbranchcandGetNPrioExternConts | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of continuous external branching candidates with maximal branch priority
- Parameters
-
branchcand branching candidate storage
Definition at line 548 of file branch.c.
References SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, and NULL.
Referenced by SCIPgetNPrioExternBranchConts().
◆ SCIPbranchcandAddExternCand()
SCIP_RETCODE SCIPbranchcandAddExternCand | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_SET * | set, | ||
SCIP_VAR * | var, | ||
SCIP_Real | score, | ||
SCIP_Real | solval | ||
) |
insert variable, its score and its solution value into the external branching candidate storage the absolute difference of the current lower and upper bounds of the variable must be at least epsilon
- Parameters
-
branchcand branching candidate storage set global SCIP settings var variable to insert score score of external candidate, e.g. infeasibility solval value of the variable in the current solution
Definition at line 560 of file branch.c.
References ensureExterncandsSize(), SCIP_BranchCand::externcands, SCIP_BranchCand::externcandsscore, SCIP_BranchCand::externcandssize, SCIP_BranchCand::externcandssol, SCIP_BranchCand::externmaxpriority, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetCeil(), SCIPsetDebugMsg, SCIPsetFloor(), SCIPsetIsEQ(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), and SCIPvarGetUbLocal().
Referenced by SCIPaddExternBranchCand().
◆ SCIPbranchcandClearExternCands()
void SCIPbranchcandClearExternCands | ( | SCIP_BRANCHCAND * | branchcand | ) |
removes all external candidates from the storage for external branching
- Parameters
-
branchcand branching candidate storage
Definition at line 688 of file branch.c.
References SCIP_BranchCand::externmaxpriority, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, and NULL.
Referenced by propAndSolve(), SCIPclearExternBranchCands(), and solveNode().
◆ SCIPbranchcandContainsExternCand()
SCIP_Bool SCIPbranchcandContainsExternCand | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_VAR * | var | ||
) |
checks whether the given variable is contained in the candidate storage for external branching
- Parameters
-
branchcand branching candidate storage var variable to look for
Definition at line 703 of file branch.c.
References SCIP_BranchCand::externcands, SCIP_BranchCand::externcandssize, SCIP_BranchCand::externmaxpriority, FALSE, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, NULL, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPvarGetBranchPriority(), SCIPvarGetType(), and TRUE.
Referenced by SCIPcontainsExternBranchCand().
◆ SCIPbranchcandGetPseudoCands()
SCIP_RETCODE SCIPbranchcandGetPseudoCands | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_VAR *** | pseudocands, | ||
int * | npseudocands, | ||
int * | npriopseudocands | ||
) |
gets branching candidates for pseudo solution branching (non-fixed variables)
- Parameters
-
branchcand branching candidate storage set global SCIP settings prob problem data pseudocands pointer to store the array of pseudo branching candidates, or NULL npseudocands pointer to store the number of pseudo branching candidates, or NULL npriopseudocands pointer to store the number of candidates with maximal priority, or NULL
Definition at line 779 of file branch.c.
References SCIP_Var::branchpriority, SCIP_Prob::nbinvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudomaxpriority, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetIsFeasIntegral(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), and SCIP_Prob::vars.
Referenced by SCIPgetPseudoBranchCands().
◆ SCIPbranchcandGetNPseudoCands()
int SCIPbranchcandGetNPseudoCands | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of branching candidates for pseudo solution branching (non-fixed variables)
- Parameters
-
branchcand branching candidate storage
Definition at line 843 of file branch.c.
References SCIP_BranchCand::npseudocands, and NULL.
Referenced by propAndSolve(), SCIPconshdlrEnforcePseudoSol(), SCIPgetNPseudoBranchCands(), SCIPsolveCIP(), and solveNode().
◆ SCIPbranchcandGetNPrioPseudoCands()
int SCIPbranchcandGetNPrioPseudoCands | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of branching candidates with maximal branch priority for pseudo solution branching
- Parameters
-
branchcand branching candidate storage
Definition at line 853 of file branch.c.
References SCIP_BranchCand::npriopseudocands, and NULL.
Referenced by SCIPgetNPrioPseudoBranchCands().
◆ SCIPbranchcandGetNPrioPseudoBins()
int SCIPbranchcandGetNPrioPseudoBins | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of binary branching candidates with maximal branch priority for pseudo solution branching
- Parameters
-
branchcand branching candidate storage
Definition at line 863 of file branch.c.
References SCIP_BranchCand::npriopseudobins, and NULL.
Referenced by SCIPgetNPrioPseudoBranchBins().
◆ SCIPbranchcandGetNPrioPseudoInts()
int SCIPbranchcandGetNPrioPseudoInts | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of integer branching candidates with maximal branch priority for pseudo solution branching
- Parameters
-
branchcand branching candidate storage
Definition at line 873 of file branch.c.
References SCIP_BranchCand::npriopseudoints, and NULL.
Referenced by SCIPgetNPrioPseudoBranchInts().
◆ SCIPbranchcandGetNPrioPseudoImpls()
int SCIPbranchcandGetNPrioPseudoImpls | ( | SCIP_BRANCHCAND * | branchcand | ) |
gets number of implicit integer branching candidates with maximal branch priority for pseudo solution branching
- Parameters
-
branchcand branching candidate storage
Definition at line 883 of file branch.c.
References SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, and NULL.
Referenced by SCIPgetNPrioPseudoBranchImpls().
◆ branchcandInsertPseudoCand()
|
static |
insert pseudocand at given position, or to the first positions of the maximal priority candidates, using the given position as free slot for the other candidates
- Parameters
-
branchcand branching candidate storage var variable to insert insertpos free position to insert the variable
Definition at line 896 of file branch.c.
References SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudocandssize, SCIP_BranchCand::pseudomaxpriority, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPvarGetBranchPriority(), SCIPvarGetName(), and SCIPvarGetType().
Referenced by branchcandSortPseudoCands(), and SCIPbranchcandUpdateVar().
◆ branchcandSortPseudoCands()
|
static |
sorts the pseudo branching candidates, such that the candidates of maximal priority are at the front, ordered by binaries, integers, implicit integers
- Parameters
-
branchcand branching candidate storage
Definition at line 986 of file branch.c.
References branchcandInsertPseudoCand(), SCIP_Var::branchpriority, SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudomaxpriority, SCIPdebugMessage, and SCIPvarGetBranchPriority().
Referenced by branchcandRemovePseudoCand().
◆ branchcandRemovePseudoCand()
|
static |
removes pseudo candidate from pseudocands array
- Parameters
-
branchcand branching candidate storage var variable to remove
Definition at line 1025 of file branch.c.
References branchcandSortPseudoCands(), SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudomaxpriority, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPvarGetBranchPriority(), SCIPvarGetName(), and SCIPvarGetType().
Referenced by SCIPbranchcandRemoveVar().
◆ SCIPbranchcandRemoveVar()
SCIP_RETCODE SCIPbranchcandRemoveVar | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_VAR * | var | ||
) |
removes variable from branching candidate list
- Parameters
-
branchcand branching candidate storage var variable that changed its bounds
Definition at line 1110 of file branch.c.
References branchcandRemovePseudoCand(), NULL, SCIP_Var::pseudocandindex, and SCIP_OKAY.
Referenced by SCIPbranchcandUpdateVar(), SCIPbranchcandUpdateVarBranchPriority(), SCIPprobChgVarType(), and SCIPprobPerformVarDeletions().
◆ SCIPbranchcandUpdateVar()
SCIP_RETCODE SCIPbranchcandUpdateVar | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_SET * | set, | ||
SCIP_VAR * | var | ||
) |
updates branching candidate list for a given variable
- Parameters
-
branchcand branching candidate storage set global SCIP settings var variable that changed its bounds
Definition at line 1127 of file branch.c.
References branchcandInsertPseudoCand(), ensurePseudocandsSize(), SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPbranchcandRemoveVar(), SCIPsetIsGE(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), and SCIPvarGetUbLocal().
Referenced by SCIPbranchcandUpdateVarBranchPriority(), SCIPeventProcess(), SCIPprobAddVar(), SCIPprobChgVarType(), and SCIPprobVarChangedStatus().
◆ SCIPbranchcandUpdateVarBranchPriority()
SCIP_RETCODE SCIPbranchcandUpdateVarBranchPriority | ( | SCIP_BRANCHCAND * | branchcand, |
SCIP_SET * | set, | ||
SCIP_VAR * | var, | ||
int | branchpriority | ||
) |
updates branching priority of the given variable and update the pseudo candidate array if needed
- Parameters
-
branchcand branching candidate storage set global SCIP settings var variable that changed its bounds branchpriority branch priority of the variable
Definition at line 1167 of file branch.c.
References NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudomaxpriority, SCIP_CALL, SCIP_OKAY, SCIPbranchcandRemoveVar(), SCIPbranchcandUpdateVar(), SCIPvarChgBranchPriority(), and SCIPvarGetBranchPriority().
Referenced by SCIPchgVarBranchPriority().
◆ SCIP_DECL_PARAMCHGD()
|
static |
method to call, when the priority of a branching rule was changed
Definition at line 1224 of file branch.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetBranchrulePriority().
◆ SCIPbranchruleCopyInclude()
SCIP_RETCODE SCIPbranchruleCopyInclude | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set | ||
) |
copies the given branchrule to a new scip
- Parameters
-
branchrule branchrule set SCIP_SET of SCIP to copy to
Definition at line 1238 of file branch.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPsetDebugMsg.
Referenced by SCIPsetCopyPlugins().
◆ doBranchruleCreate()
|
static |
internal method for creating a branching rule
- Parameters
-
branchrule pointer to store branching rule set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings name name of branching rule desc description of branching rule priority priority of the branching rule maxdepth maximal depth level, up to which this branching rule should be used (or -1) maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes) branchruledata branching rule data
Definition at line 1258 of file branch.c.
References BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_MAXTREEDEPTH, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), SCIPsetAddRealParam(), and SCIPsnprintf().
Referenced by SCIPbranchruleCreate().
◆ SCIPbranchruleCreate()
SCIP_RETCODE SCIPbranchruleCreate | ( | SCIP_BRANCHRULE ** | branchrule, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | maxdepth, | ||
SCIP_Real | maxbounddist, | ||
SCIP_DECL_BRANCHCOPY((*branchcopy)) | , | ||
SCIP_DECL_BRANCHFREE((*branchfree)) | , | ||
SCIP_DECL_BRANCHINIT((*branchinit)) | , | ||
SCIP_DECL_BRANCHEXIT((*branchexit)) | , | ||
SCIP_DECL_BRANCHINITSOL((*branchinitsol)) | , | ||
SCIP_DECL_BRANCHEXITSOL((*branchexitsol)) | , | ||
SCIP_DECL_BRANCHEXECLP((*branchexeclp)) | , | ||
SCIP_DECL_BRANCHEXECEXT((*branchexecext)) | , | ||
SCIP_DECL_BRANCHEXECPS((*branchexecps)) | , | ||
SCIP_BRANCHRULEDATA * | branchruledata | ||
) |
creates a branching rule
- Parameters
-
branchrule pointer to store branching rule set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings name name of branching rule desc description of branching rule priority priority of the branching rule maxdepth maximal depth level, up to which this branching rule should be used (or -1) maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes) branchruledata branching rule data
Definition at line 1340 of file branch.c.
References doBranchruleCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPbranchruleFree().
Referenced by SCIPincludeBranchrule(), and SCIPincludeBranchruleBasic().
◆ SCIPbranchruleFree()
SCIP_RETCODE SCIPbranchruleFree | ( | SCIP_BRANCHRULE ** | branchrule, |
SCIP_SET * | set | ||
) |
frees memory of branching rule
- Parameters
-
branchrule pointer to branching rule data structure set global SCIP settings
Definition at line 1376 of file branch.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPbranchruleCreate().
◆ SCIPbranchruleInit()
SCIP_RETCODE SCIPbranchruleInit | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set | ||
) |
initializes branching rule
- Parameters
-
branchrule branching rule set global SCIP settings
Definition at line 1403 of file branch.c.
References SCIP_Branchrule::branchclock, SCIP_Branchrule::initialized, SCIP_Branchrule::name, SCIP_Branchrule::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ncutsfound, SCIP_Branchrule::ndomredsfound, SCIP_Branchrule::nexterncalls, SCIP_Branchrule::nlpcalls, SCIP_Branchrule::npseudocalls, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Branchrule::setuptime, and TRUE.
Referenced by SCIPsetInitPlugins().
◆ SCIPbranchruleExit()
SCIP_RETCODE SCIPbranchruleExit | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set | ||
) |
deinitializes branching rule
- Parameters
-
branchrule branching rule set global SCIP settings
Definition at line 1447 of file branch.c.
References FALSE, SCIP_Branchrule::initialized, SCIP_Branchrule::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Branchrule::setuptime.
Referenced by SCIPsetExitPlugins().
◆ SCIPbranchruleInitsol()
SCIP_RETCODE SCIPbranchruleInitsol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set | ||
) |
informs branching rule that the branch and bound process is being started
- Parameters
-
branchrule branching rule set global SCIP settings
Definition at line 1477 of file branch.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Branchrule::setuptime.
Referenced by SCIPsetInitsolPlugins().
◆ SCIPbranchruleExitsol()
SCIP_RETCODE SCIPbranchruleExitsol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set | ||
) |
informs branching rule that the branch and bound process data is being freed
- Parameters
-
branchrule branching rule set global SCIP settings
Definition at line 1501 of file branch.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Branchrule::setuptime.
Referenced by SCIPsetExitsolPlugins().
◆ SCIPbranchruleExecLPSol()
SCIP_RETCODE SCIPbranchruleExecLPSol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_SEPASTORE * | sepastore, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | allowaddcons, | ||
SCIP_RESULT * | result | ||
) |
executes branching rule for fractional LP solution
- Parameters
-
branchrule branching rule set global SCIP settings stat problem statistics tree branch and bound tree sepastore separation storage cutoffbound global upper cutoff bound allowaddcons should adding constraints be allowed to avoid a branching? result pointer to store the result of the callback method
Definition at line 1525 of file branch.c.
References SCIP_Branchrule::branchclock, SCIP_Tree::focusnode, SCIP_Branchrule::maxbounddist, SCIP_Branchrule::maxdepth, SCIP_Stat::nactiveconssadded, SCIP_Branchrule::name, SCIP_Stat::nboundchgs, SCIP_Branchrule::nchildren, SCIP_Tree::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ncutsfound, SCIP_Branchrule::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Branchrule::nlpcalls, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPnodeGetLowerbound(), SCIPsepastoreGetNCuts(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound().
Referenced by SCIPbranchExecLP().
◆ SCIPbranchruleExecExternSol()
SCIP_RETCODE SCIPbranchruleExecExternSol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_SEPASTORE * | sepastore, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | allowaddcons, | ||
SCIP_RESULT * | result | ||
) |
executes branching rule for external branching candidates
- Parameters
-
branchrule branching rule set global SCIP settings stat problem statistics tree branch and bound tree sepastore separation storage cutoffbound global upper cutoff bound allowaddcons should adding constraints be allowed to avoid a branching? result pointer to store the result of the callback method
Definition at line 1632 of file branch.c.
References SCIP_Branchrule::branchclock, SCIP_Tree::focusnode, SCIP_Branchrule::maxbounddist, SCIP_Branchrule::maxdepth, SCIP_Stat::nactiveconss, SCIP_Branchrule::name, SCIP_Stat::nboundchgs, SCIP_Branchrule::nchildren, SCIP_Tree::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ncutsfound, SCIP_Branchrule::ndomredsfound, SCIP_Branchrule::nexterncalls, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPnodeGetLowerbound(), SCIPsepastoreGetNCuts(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound().
Referenced by SCIPbranchExecExtern().
◆ SCIPbranchruleExecPseudoSol()
SCIP_RETCODE SCIPbranchruleExecPseudoSol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | allowaddcons, | ||
SCIP_RESULT * | result | ||
) |
executes branching rule for not completely fixed pseudo solution
- Parameters
-
branchrule branching rule set global SCIP settings stat problem statistics tree branch and bound tree cutoffbound global upper cutoff bound allowaddcons should adding constraints be allowed to avoid a branching? result pointer to store the result of the callback method
Definition at line 1739 of file branch.c.
References SCIP_Branchrule::branchclock, SCIP_Tree::focusnode, SCIP_Branchrule::maxbounddist, SCIP_Branchrule::maxdepth, SCIP_Stat::nactiveconss, SCIP_Branchrule::name, SCIP_Stat::nboundchgs, SCIP_Branchrule::nchildren, SCIP_Tree::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, SCIP_Branchrule::npseudocalls, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPnodeGetLowerbound(), SCIPsetDebugMsg, SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound().
Referenced by SCIPbranchExecPseudo().
◆ SCIPbranchruleSetCopy()
void SCIPbranchruleSetCopy | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHCOPY((*branchcopy)) | |||
) |
sets copy method of branching rule
- Parameters
-
branchrule branching rule
Definition at line 1861 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleCopy().
◆ SCIPbranchruleSetFree()
void SCIPbranchruleSetFree | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHFREE((*branchfree)) | |||
) |
sets destructor method of branching rule
- Parameters
-
branchrule branching rule
Definition at line 1872 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleFree().
◆ SCIPbranchruleSetInit()
void SCIPbranchruleSetInit | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHINIT((*branchinit)) | |||
) |
sets initialization method of branching rule
- Parameters
-
branchrule branching rule
Definition at line 1883 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleInit().
◆ SCIPbranchruleSetExit()
void SCIPbranchruleSetExit | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHEXIT((*branchexit)) | |||
) |
sets deinitialization method of branching rule
- Parameters
-
branchrule branching rule
Definition at line 1894 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleExit().
◆ SCIPbranchruleSetInitsol()
void SCIPbranchruleSetInitsol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHINITSOL((*branchinitsol)) | |||
) |
sets solving process initialization method of branching rule
- Parameters
-
branchrule branching rule
Definition at line 1905 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleInitsol().
◆ SCIPbranchruleSetExitsol()
void SCIPbranchruleSetExitsol | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHEXITSOL((*branchexitsol)) | |||
) |
sets solving process deinitialization method of branching rule
- Parameters
-
branchrule branching rule
Definition at line 1916 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleExitsol().
◆ SCIPbranchruleSetExecLp()
void SCIPbranchruleSetExecLp | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHEXECLP((*branchexeclp)) | |||
) |
sets branching execution method for fractional LP solutions
- Parameters
-
branchrule branching rule
Definition at line 1929 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleExecLp().
◆ SCIPbranchruleSetExecExt()
void SCIPbranchruleSetExecExt | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHEXECEXT((*branchexecext)) | |||
) |
sets branching execution method for external candidates
- Parameters
-
branchrule branching rule
Definition at line 1940 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleExecExt().
◆ SCIPbranchruleSetExecPs()
void SCIPbranchruleSetExecPs | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_DECL_BRANCHEXECPS((*branchexecps)) | |||
) |
sets branching execution method for not completely fixed pseudo solutions
- Parameters
-
branchrule branching rule
Definition at line 1951 of file branch.c.
References NULL.
Referenced by SCIPsetBranchruleExecPs().
◆ SCIPbranchruleSetPriority()
void SCIPbranchruleSetPriority | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_SET * | set, | ||
int | priority | ||
) |
sets priority of branching rule
- Parameters
-
branchrule branching rule set global SCIP settings priority new priority of the branching rule
Definition at line 1992 of file branch.c.
References FALSE, NULL, and SCIP_Branchrule::priority.
Referenced by SCIPsetBranchrulePriority().
◆ SCIPbranchruleSetMaxdepth()
void SCIPbranchruleSetMaxdepth | ( | SCIP_BRANCHRULE * | branchrule, |
int | maxdepth | ||
) |
sets maximal depth level, up to which this branching rule should be used (-1 for no limit)
- Parameters
-
branchrule branching rule maxdepth new maxdepth of the branching rule
Definition at line 2016 of file branch.c.
References SCIP_Branchrule::maxdepth, and NULL.
Referenced by SCIPsetBranchruleMaxdepth().
◆ SCIPbranchruleSetMaxbounddist()
void SCIPbranchruleSetMaxbounddist | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_Real | maxbounddist | ||
) |
sets maximal relative distance from current node's dual bound to primal bound for applying branching rule
- Parameters
-
branchrule branching rule maxbounddist new maxbounddist of the branching rule
Definition at line 2038 of file branch.c.
References SCIP_Branchrule::maxbounddist, and NULL.
Referenced by SCIPsetBranchruleMaxbounddist().
◆ SCIPbranchruleEnableOrDisableClocks()
void SCIPbranchruleEnableOrDisableClocks | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_Bool | enable | ||
) |
enables or disables all clocks of branchrule
, depending on the value of the flag
- Parameters
-
branchrule the branching rule for which all clocks should be enabled or disabled enable should the clocks of the branching rule be enabled?
Definition at line 2050 of file branch.c.
References SCIP_Branchrule::branchclock, NULL, SCIPclockEnableOrDisable(), and SCIP_Branchrule::setuptime.
◆ SCIPbranchGetScore()
SCIP_Real SCIPbranchGetScore | ( | SCIP_SET * | set, |
SCIP_VAR * | var, | ||
SCIP_Real | downgain, | ||
SCIP_Real | upgain | ||
) |
calculates the branching score out of the gain predictions for a binary branching
- Parameters
-
set global SCIP settings var variable, of which the branching factor should be applied, or NULL downgain prediction of objective gain for rounding downwards upgain prediction of objective gain for rounding upwards
Definition at line 2181 of file branch.c.
References eps, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIPsetSumepsilon(), and SCIPvarGetBranchFactor().
Referenced by SCIPbranchGetScoreMultiple(), SCIPgetAvgConflictlengthScore(), SCIPgetAvgConflictlengthScoreCurrentRun(), SCIPgetAvgConflictScore(), SCIPgetAvgConflictScoreCurrentRun(), SCIPgetAvgCutoffScore(), SCIPgetAvgCutoffScoreCurrentRun(), SCIPgetAvgInferenceScore(), SCIPgetAvgInferenceScoreCurrentRun(), SCIPgetAvgPseudocostScore(), SCIPgetAvgPseudocostScoreCurrentRun(), SCIPgetBranchScore(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceScore(), SCIPgetVarAvgInferenceScoreCurrentRun(), SCIPgetVarConflictlengthScore(), SCIPgetVarConflictlengthScoreCurrentRun(), SCIPgetVarConflictScore(), SCIPgetVarConflictScoreCurrentRun(), SCIPgetVarPseudocostScore(), and SCIPgetVarPseudocostScoreCurrentRun().
◆ SCIPbranchGetScoreMultiple()
SCIP_Real SCIPbranchGetScoreMultiple | ( | SCIP_SET * | set, |
SCIP_VAR * | var, | ||
int | nchildren, | ||
SCIP_Real * | gains | ||
) |
calculates the branching score out of the gain predictions for a branching with arbitrary many children
- Parameters
-
set global SCIP settings var variable, of which the branching factor should be applied, or NULL nchildren number of children that the branching will create gains prediction of objective gain for each child
Definition at line 2241 of file branch.c.
References NULL, SCIP_Real, SCIPbranchGetScore(), and SCIPsetInfinity().
Referenced by SCIPgetBranchScoreMultiple().
◆ SCIPbranchGetBranchingPoint()
SCIP_Real SCIPbranchGetBranchingPoint | ( | SCIP_SET * | set, |
SCIP_TREE * | tree, | ||
SCIP_VAR * | var, | ||
SCIP_Real | suggestion | ||
) |
computes a branching point for a (not necessarily discrete) variable a suggested branching point is first projected onto the box if no point is suggested, then the value in the current LP or pseudo solution is used if this value is at infinity, then 0.0 projected onto the bounds and then moved inside the interval is used for a discrete variable, it is ensured that the returned value is fractional for a continuous variable, the parameter branching/clamp defines how far a branching point need to be from the bounds of a variable the latter is only applied if no point has been suggested, or the suggested point is not inside the variable's interval
- Parameters
-
set global SCIP settings tree branch and bound tree var variable, of which the branching point should be computed suggestion suggestion for branching point, or SCIP_INVALID if no suggestion
Definition at line 2279 of file branch.c.
References MAX, NULL, REALABS, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPrelDiff(), SCIPsetEpsilon(), SCIPsetFloor(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsFeasZero(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsRelGT(), SCIPsetIsRelLT(), SCIPsetRound(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetSol(), SCIPvarGetType(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal().
Referenced by SCIPbranchExecExtern(), and SCIPgetBranchingPoint().
◆ SCIPbranchExecLP()
SCIP_RETCODE SCIPbranchExecLP | ( | BMS_BLKMEM * | blkmem, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_SEPASTORE * | sepastore, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | allowaddcons, | ||
SCIP_RESULT * | result | ||
) |
calls branching rules to branch on an LP solution; if no fractional variables exist, the result is SCIP_DIDNOTRUN; if the branch priority of an unfixed variable is larger than the maximal branch priority of the fractional variables, pseudo solution branching is applied on the unfixed variables with maximal branch priority
- Parameters
-
blkmem block memory for parameter settings set global SCIP settings stat problem statistics transprob transformed problem after presolve origprob original problem tree branch and bound tree reopt reoptimization data structure lp current LP data sepastore separation storage branchcand branching candidate storage eventqueue event queue cutoffbound global upper cutoff bound allowaddcons should adding constraints be allowed to avoid a branching? result pointer to store the result of the branching (s. branch.h)
Definition at line 2505 of file branch.c.
References branchcandCalcLPCands(), SCIP_BranchCand::lpcands, SCIP_BranchCand::lpmaxpriority, SCIP_BranchCand::nimpllpfracs, SCIP_BranchCand::nlpcands, SCIP_BranchCand::npriolpcands, NULL, SCIP_BranchCand::pseudomaxpriority, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPbranchExecPseudo(), SCIPbranchruleExecLPSol(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetSortBranchrules(), SCIPtreeBranchVar(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetType(), and SCIPvarGetUbLocal().
Referenced by SCIPbranchLP(), and solveNode().
◆ SCIPbranchExecExtern()
SCIP_RETCODE SCIPbranchExecExtern | ( | BMS_BLKMEM * | blkmem, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_SEPASTORE * | sepastore, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | allowaddcons, | ||
SCIP_RESULT * | result | ||
) |
calls branching rules to branch on an external solution; if no external branching candidates exist, the result is SCIP_DIDNOTRUN
- Parameters
-
blkmem block memory for parameter settings set global SCIP settings stat problem statistics transprob transformed problem after presolve origprob original problem tree branch and bound tree reopt reoptimization data structure lp current LP data sepastore separation storage branchcand branching candidate storage eventqueue event queue cutoffbound global upper cutoff bound allowaddcons should adding constraints be allowed to avoid a branching? result pointer to store the result of the branching (s. branch.h)
Definition at line 2607 of file branch.c.
References SCIP_BranchCand::externcands, SCIP_BranchCand::externcandssol, SCIP_BranchCand::externmaxpriority, SCIP_Tree::nchildren, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexterncands, NULL, SCIP_BranchCand::pseudomaxpriority, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIP_REDUCEDDOM, SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchruleExecExternSol(), SCIPrelDiff(), SCIPsetDebugMsg, SCIPsetEpsilon(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetSortBranchrules(), SCIPtreeBranchVar(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal().
Referenced by SCIPbranchExtern(), and solveNode().
◆ SCIPbranchExecPseudo()
SCIP_RETCODE SCIPbranchExecPseudo | ( | BMS_BLKMEM * | blkmem, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob, | ||
SCIP_TREE * | tree, | ||
SCIP_REOPT * | reopt, | ||
SCIP_LP * | lp, | ||
SCIP_BRANCHCAND * | branchcand, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_Real | cutoffbound, | ||
SCIP_Bool | allowaddcons, | ||
SCIP_RESULT * | result | ||
) |
calls branching rules to branch on a pseudo solution; if no unfixed variables exist, the result is SCIP_DIDNOTRUN
- Parameters
-
blkmem block memory for parameter settings set global SCIP settings stat problem statistics transprob transformed problem after presolve origprob original problem tree branch and bound tree reopt reoptimization data structure lp current LP data branchcand branching candidate storage eventqueue event queue cutoffbound global upper cutoff bound allowaddcons should adding constraints be allowed to avoid a branching? result pointer to store the result of the branching (s. branch.h)
Definition at line 2738 of file branch.c.
References SCIP_BranchCand::npseudocands, NULL, SCIP_BranchCand::pseudocands, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIP_VARTYPE_CONTINUOUS, SCIPbranchruleExecPseudoSol(), SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetSortBranchrules(), SCIPtreeBranchVar(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetType(), and SCIPvarGetUbLocal().
Referenced by SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchPseudo(), SCIPsolveCIP(), and solveNode().