Detailed Description
reliable pseudo costs branching rule
Definition in file branch_relpscost.c.
#include "blockmemshell/memory.h"
#include "scip/branch_relpscost.h"
#include "scip/treemodel.h"
#include "scip/cons_and.h"
#include "scip/pub_branch.h"
#include "scip/pub_cons.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_sol.h"
#include "scip/pub_tree.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_cons.h"
#include "scip/scip_general.h"
#include "scip/scip_lp.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_nlp.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_randnumgen.h"
#include "scip/scip_sol.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include "scip/prop_symmetry.h"
#include "scip/symmetry.h"
#include <string.h>
Go to the source code of this file.
Functions | |
static SCIP_RETCODE | initOrbits (SCIP *scip, SCIP_BRANCHRULEDATA *branchruledata) |
static SCIP_RETCODE | filterSymmetricVariables (SCIP *scip, SCIP_BRANCHRULEDATA *branchruledata, SCIP_VAR **origbranchcands, SCIP_Real *origbranchcandssol, SCIP_Real *origbranchcandsfrac, int norigbranchcands, SCIP_VAR **branchcands, SCIP_Real *branchcandssol, SCIP_Real *branchcandsfrac, int *branchorbitidx, int *nbranchcands) |
static SCIP_RETCODE | SCIPupdateVarPseudocostSymmetric (SCIP *scip, SCIP_BRANCHRULEDATA *branchruledata, SCIP_VAR *branchvar, int *branchorbitidx, int branchvaridx, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight) |
static SCIP_RETCODE | binvarGetActiveProbindex (SCIP *scip, SCIP_VAR *var, int *probindex) |
static SCIP_RETCODE | countNonlinearities (SCIP *scip, int *nlcount, int nlcountsize, int *nlcountmax) |
static SCIP_RETCODE | branchruledataEnsureNlcount (SCIP *scip, SCIP_BRANCHRULEDATA *branchruledata) |
static SCIP_Real | calcNlscore (SCIP *scip, int *nlcount, int nlcountmax, int probindex) |
static SCIP_Real | calcScore (SCIP *scip, SCIP_BRANCHRULEDATA *branchruledata, SCIP_Real conflictscore, SCIP_Real avgconflictscore, SCIP_Real conflengthscore, SCIP_Real avgconflengthscore, SCIP_Real inferencescore, SCIP_Real avginferencescore, SCIP_Real cutoffscore, SCIP_Real avgcutoffscore, SCIP_Real gmieffscore, SCIP_Real lastgmieffscore, SCIP_Real pscostscore, SCIP_Real avgpscostscore, SCIP_Real nlscore, SCIP_Real frac, SCIP_Real degeneracyfactor) |
static SCIP_RETCODE | addBdchg (SCIP *scip, int **bdchginds, SCIP_BOUNDTYPE **bdchgtypes, SCIP_Real **bdchgbounds, int *nbdchgs, int ind, SCIP_BOUNDTYPE type, SCIP_Real bound) |
static void | freeBdchgs (SCIP *scip, int **bdchginds, SCIP_BOUNDTYPE **bdchgtypes, SCIP_Real **bdchgbounds, int *nbdchgs) |
static SCIP_RETCODE | applyBdchgs (SCIP *scip, SCIP_VAR **vars, int *bdchginds, SCIP_BOUNDTYPE *bdchgtypes, SCIP_Real *bdchgbounds, int nbdchgs, SCIP_RESULT *result) |
static SCIP_RETCODE | execRelpscost (SCIP *scip, SCIP_BRANCHRULE *branchrule, SCIP_VAR **branchcands, SCIP_Real *branchcandssol, SCIP_Real *branchcandsfrac, int *branchorbitidx, int nbranchcands, SCIP_Bool executebranch, SCIP_RESULT *result) |
static | SCIP_DECL_BRANCHCOPY (branchCopyRelpscost) |
static | SCIP_DECL_BRANCHFREE (branchFreeRelpscost) |
static | SCIP_DECL_BRANCHINITSOL (branchInitsolRelpscost) |
static | SCIP_DECL_BRANCHEXITSOL (branchExitsolRelpscost) |
static | SCIP_DECL_BRANCHEXECLP (branchExeclpRelpscost) |
SCIP_RETCODE | SCIPincludeBranchruleRelpscost (SCIP *scip) |
SCIP_RETCODE | SCIPexecRelpscostBranching (SCIP *scip, SCIP_VAR **branchcands, SCIP_Real *branchcandssol, SCIP_Real *branchcandsfrac, int nbranchcands, SCIP_Bool executebranching, SCIP_RESULT *result) |
Macro Definition Documentation
◆ BRANCHRULE_NAME
#define BRANCHRULE_NAME "relpscost" |
Definition at line 66 of file branch_relpscost.c.
◆ BRANCHRULE_DESC
#define BRANCHRULE_DESC "reliability branching on pseudo cost values" |
Definition at line 67 of file branch_relpscost.c.
◆ BRANCHRULE_PRIORITY
#define BRANCHRULE_PRIORITY 10000 |
Definition at line 68 of file branch_relpscost.c.
◆ BRANCHRULE_MAXDEPTH
#define BRANCHRULE_MAXDEPTH -1 |
Definition at line 69 of file branch_relpscost.c.
◆ BRANCHRULE_MAXBOUNDDIST
#define BRANCHRULE_MAXBOUNDDIST 1.0 |
Definition at line 70 of file branch_relpscost.c.
◆ DEFAULT_CONFLICTWEIGHT
#define DEFAULT_CONFLICTWEIGHT 0.01 |
weight in score calculations for conflict score
Definition at line 72 of file branch_relpscost.c.
◆ DEFAULT_CONFLENGTHWEIGHT
#define DEFAULT_CONFLENGTHWEIGHT 0.0 |
weight in score calculations for conflict length score
Definition at line 73 of file branch_relpscost.c.
◆ DEFAULT_INFERENCEWEIGHT
#define DEFAULT_INFERENCEWEIGHT 0.0001 |
weight in score calculations for inference score
Definition at line 74 of file branch_relpscost.c.
◆ DEFAULT_CUTOFFWEIGHT
#define DEFAULT_CUTOFFWEIGHT 0.0001 |
weight in score calculations for cutoff score
Definition at line 75 of file branch_relpscost.c.
◆ DEFAULT_GMIAVGEFFWEIGHT
#define DEFAULT_GMIAVGEFFWEIGHT 0.0 |
weight in score calculations of average GMI cut normed efficacies
Definition at line 76 of file branch_relpscost.c.
◆ DEFAULT_GMILASTEFFWEIGHT
#define DEFAULT_GMILASTEFFWEIGHT 0.00001 |
weight in score calculations of last GMI cut normed efficacy
Definition at line 77 of file branch_relpscost.c.
◆ DEFAULT_PSCOSTWEIGHT
#define DEFAULT_PSCOSTWEIGHT 1.0 |
weight in score calculations for pseudo cost score
Definition at line 78 of file branch_relpscost.c.
◆ DEFAULT_NLSCOREWEIGHT
#define DEFAULT_NLSCOREWEIGHT 0.1 |
weight in score calculations for nlcount score
Definition at line 79 of file branch_relpscost.c.
◆ DEFAULT_MINRELIABLE
#define DEFAULT_MINRELIABLE 1.0 |
minimal value for minimum pseudo cost size to regard pseudo cost value as reliable
Definition at line 80 of file branch_relpscost.c.
◆ DEFAULT_MAXRELIABLE
#define DEFAULT_MAXRELIABLE 5.0 |
maximal value for minimum pseudo cost size to regard pseudo cost value as reliable
Definition at line 81 of file branch_relpscost.c.
◆ DEFAULT_SBITERQUOT
#define DEFAULT_SBITERQUOT 0.5 |
maximal fraction of strong branching LP iterations compared to normal iterations
Definition at line 82 of file branch_relpscost.c.
◆ DEFAULT_SBITEROFS
#define DEFAULT_SBITEROFS 100000 |
additional number of allowed strong branching LP iterations
Definition at line 83 of file branch_relpscost.c.
◆ DEFAULT_MAXLOOKAHEAD
#define DEFAULT_MAXLOOKAHEAD 9 |
maximal number of further variables evaluated without better score
Definition at line 84 of file branch_relpscost.c.
◆ DEFAULT_INITCAND
#define DEFAULT_INITCAND 100 |
maximal number of candidates initialized with strong branching per node
Definition at line 85 of file branch_relpscost.c.
◆ DEFAULT_INITITER
#define DEFAULT_INITITER 0 |
iteration limit for strong branching initialization of pseudo cost entries (0: auto)
Definition at line 86 of file branch_relpscost.c.
◆ DEFAULT_MAXBDCHGS
#define DEFAULT_MAXBDCHGS 5 |
maximal number of bound tightenings before the node is reevaluated (-1: unlimited)
Definition at line 87 of file branch_relpscost.c.
◆ DEFAULT_MAXPROPROUNDS
#define DEFAULT_MAXPROPROUNDS -2 |
maximum number of propagation rounds to be performed during strong branching before solving the LP (-1: no limit, -2: parameter settings)
Definition at line 89 of file branch_relpscost.c.
◆ DEFAULT_PROBINGBOUNDS
#define DEFAULT_PROBINGBOUNDS TRUE |
should valid bounds be identified in a probing-like fashion during strong branching (only with propagation)?
Definition at line 91 of file branch_relpscost.c.
◆ DEFAULT_USERELERRORFORRELIABILITY
#define DEFAULT_USERELERRORFORRELIABILITY FALSE |
should reliability be based on relative errors?
Definition at line 92 of file branch_relpscost.c.
◆ DEFAULT_LOWERRORTOL
#define DEFAULT_LOWERRORTOL 0.05 |
lowest tolerance beneath which relative errors are reliable
Definition at line 93 of file branch_relpscost.c.
◆ DEFAULT_HIGHERRORTOL
#define DEFAULT_HIGHERRORTOL 1.0 |
highest tolerance beneath which relative errors are reliable
Definition at line 94 of file branch_relpscost.c.
◆ DEFAULT_USEHYPTESTFORRELIABILITY
#define DEFAULT_USEHYPTESTFORRELIABILITY FALSE |
should the strong branching decision be based on a hypothesis test?
Definition at line 95 of file branch_relpscost.c.
◆ DEFAULT_USEDYNAMICCONFIDENCE
#define DEFAULT_USEDYNAMICCONFIDENCE FALSE |
should the confidence level be adjusted dynamically?
Definition at line 96 of file branch_relpscost.c.
◆ DEFAULT_STORESEMIINITCOSTS
#define DEFAULT_STORESEMIINITCOSTS FALSE |
should strong branching result be considered for pseudo costs if the other direction was infeasible?
Definition at line 97 of file branch_relpscost.c.
◆ DEFAULT_USESBLOCALINFO
#define DEFAULT_USESBLOCALINFO FALSE |
should the scoring function use only local cutoff and inference information obtained for strong branching candidates?
Definition at line 98 of file branch_relpscost.c.
◆ DEFAULT_CONFIDENCELEVEL
#define DEFAULT_CONFIDENCELEVEL 2 |
The confidence level for statistical methods, between 0 (Min) and 4 (Max).
Definition at line 99 of file branch_relpscost.c.
◆ DEFAULT_SKIPBADINITCANDS
#define DEFAULT_SKIPBADINITCANDS TRUE |
should branching rule skip candidates that have a low probability to be better than the best strong-branching or pseudo-candidate?
Definition at line 101 of file branch_relpscost.c.
◆ DEFAULT_STARTRANDSEED
#define DEFAULT_STARTRANDSEED 5 |
start random seed for random number generation
Definition at line 102 of file branch_relpscost.c.
◆ DEFAULT_RANDINITORDER
#define DEFAULT_RANDINITORDER FALSE |
should slight perturbation of scores be used to break ties in the prior scores?
Definition at line 103 of file branch_relpscost.c.
◆ DEFAULT_USESMALLWEIGHTSITLIM
#define DEFAULT_USESMALLWEIGHTSITLIM FALSE |
should smaller weights be used for pseudo cost updates after hitting the LP iteration limit?
Definition at line 104 of file branch_relpscost.c.
◆ DEFAULT_DYNAMICWEIGHTS
#define DEFAULT_DYNAMICWEIGHTS TRUE |
should the weights of the branching rule be adjusted dynamically during solving based infeasible and objective leaf counters?
Definition at line 106 of file branch_relpscost.c.
◆ DEFAULT_DEGENERACYAWARE
#define DEFAULT_DEGENERACYAWARE 1 |
should degeneracy be taken into account to update weights and skip strong branching? (0: off, 1: after root, 2: always)
Definition at line 107 of file branch_relpscost.c.
◆ DEFAULT_FILTERCANDSSYM
#define DEFAULT_FILTERCANDSSYM FALSE |
Use symmetry to filter branching candidates?
Definition at line 110 of file branch_relpscost.c.
◆ DEFAULT_TRANSSYMPSCOST
#define DEFAULT_TRANSSYMPSCOST FALSE |
Transfer pscost information to symmetric variables if filtering is performed?
Definition at line 111 of file branch_relpscost.c.
Function Documentation
◆ initOrbits()
|
static |
initialize orbits
- Parameters
-
scip SCIP data structure branchruledata branching rule data
Definition at line 180 of file branch_relpscost.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPcomputeOrbitsComponentsSym(), SCIPgetNVars(), SCIPgetSymmetry(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP().
◆ filterSymmetricVariables()
|
static |
filter out symmetric variables from branching variables
- Parameters
-
scip SCIP data structure branchruledata branching rule data origbranchcands original branching candidates origbranchcandssol original solution value for the branching candidates origbranchcandsfrac original fractional part of the branching candidates norigbranchcands original number of branching candidates branchcands branching candidates branchcandssol solution value for the branching candidates branchcandsfrac fractional part of the branching candidates branchorbitidx array of indices of orbit of branching candidates nbranchcands pointer to store number of branching candidates
Definition at line 239 of file branch_relpscost.c.
References NULL, SCIP_OKAY, SCIPdebugMsg, and SCIPhashmapGetImageInt().
Referenced by SCIP_DECL_BRANCHEXECLP().
◆ SCIPupdateVarPseudocostSymmetric()
|
static |
updates the pseudo costs of the given variable and all its symmetric variables
- Parameters
-
scip SCIP data structure branchruledata branching rule data branchvar branching variable candidate branchorbitidx array of orbit indices branchvaridx index of variable in branchorbitidx solvaldelta difference of variable's new LP value - old LP value objdelta difference of new LP's objective value - old LP's objective value weight weight in (0,1] of this update in pseudo cost sum
Definition at line 322 of file branch_relpscost.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPupdateVarPseudocost(), and SCIPvarIsActive().
Referenced by execRelpscost().
◆ binvarGetActiveProbindex()
|
static |
! [SnippetCodeStyleStaticAsserts] return probindex of variable or corresponding active variable (if negated or aggregated) or -1 (if multiaggregated)
! [SnippetCodeStyleStaticAsserts]
- Parameters
-
scip SCIP data structure var binary variable probindex buffer to store probindex
Definition at line 384 of file branch_relpscost.c.
References NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_FIXED, SCIPgetBinvarRepresentative(), SCIPvarGetNegationVar(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIPvarIsBinary(), and SCIPvarIsNegated().
Referenced by countNonlinearities().
◆ countNonlinearities()
|
static |
! [SnippetCodeStyleDeclaration] counts number of nonlinear constraints in which each variable appears
! [SnippetCodeStyleDeclaration]
! [SnippetCodeStyleIfFor]
! [SnippetCodeStyleIfFor]
- Parameters
-
scip SCIP data structure nlcount pointer to array for storing count values nlcountsize buffer for storing length of nlcount array nlcountmax buffer for storing maximum value in nlcount array
Definition at line 422 of file branch_relpscost.c.
References binvarGetActiveProbindex(), BMSclearMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_FIXED, SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPfindConshdlr(), SCIPgetNLPVarsNonlinearity(), SCIPgetNNLPVars(), SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarsAnd(), SCIPgetVarsData(), SCIPisNLPConstructed(), and SCIPvarGetStatus().
Referenced by branchruledataEnsureNlcount().
◆ branchruledataEnsureNlcount()
|
static |
- Parameters
-
scip SCIP data structure branchruledata branching rule data
Definition at line 512 of file branch_relpscost.c.
References BMSclearMemoryArray, countNonlinearities(), NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, SCIPgetNVars(), and SCIPreallocBlockMemoryArray.
Referenced by execRelpscost().
◆ calcNlscore()
calculates nlscore value between 0 and 1
- Parameters
-
scip SCIP data structure nlcount array to store count values nlcountmax maximum value in nlcount array probindex index of branching candidate
Definition at line 559 of file branch_relpscost.c.
References NULL, SCIP_Real, and SCIPgetNVars().
Referenced by execRelpscost().
◆ calcScore()
|
static |
calculates an overall score value for the given individual score values
- Parameters
-
scip SCIP data structure branchruledata branching rule data conflictscore conflict score of current variable avgconflictscore average conflict score conflengthscore conflict length score of current variable avgconflengthscore average conflict length score inferencescore inference score of current variable avginferencescore average inference score cutoffscore cutoff score of current variable avgcutoffscore average cutoff score gmieffscore normalized-eff of avg GMI cuts from row when var was frac and basic lastgmieffscore last normalized gmieffscore when var was frac and basic pscostscore pscost score of current variable avgpscostscore average pscost score nlscore nonlinear score of current variable between 0 and 1 frac fractional value of variable in current solution degeneracyfactor factor to apply because of degeneracy
Definition at line 586 of file branch_relpscost.c.
References MIN, NULL, SCIP_Real, SCIPfeastol(), SCIPgetNInfeasibleLeaves(), and SCIPgetNObjlimLeaves().
Referenced by execRelpscost().
◆ addBdchg()
|
static |
adds given index and direction to bound change arrays
- Parameters
-
scip SCIP data structure bdchginds pointer to bound change index array bdchgtypes pointer to bound change types array bdchgbounds pointer to bound change new bounds array nbdchgs pointer to number of bound changes ind index to store in bound change index array type type of the bound change to store in bound change type array bound new bound to store in bound change new bounds array
Definition at line 638 of file branch_relpscost.c.
References bound, NULL, SCIP_CALL, SCIP_OKAY, and SCIPreallocBufferArray.
Referenced by execRelpscost().
◆ freeBdchgs()
|
static |
frees bound change arrays
- Parameters
-
scip SCIP data structure bdchginds pointer to bound change index array bdchgtypes pointer to bound change types array bdchgbounds pointer to bound change new bounds array nbdchgs pointer to number of bound changes
Definition at line 671 of file branch_relpscost.c.
References NULL, and SCIPfreeBufferArrayNull.
Referenced by execRelpscost().
◆ applyBdchgs()
|
static |
applies bound changes stored in bound change arrays
- Parameters
-
scip SCIP data structure vars problem variables bdchginds bound change index array bdchgtypes bound change types array bdchgbounds bound change new bound array nbdchgs number of bound changes result result pointer
Definition at line 692 of file branch_relpscost.c.
References BRANCHRULE_NAME, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIPbranchruleGetData(), SCIPdebugMsg, SCIPfindBranchrule(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE.
Referenced by execRelpscost().
◆ execRelpscost()
|
static |
execute reliability pseudo cost branching
- Parameters
-
scip SCIP data structure branchrule branching rule branchcands branching candidates branchcandssol solution value for the branching candidates branchcandsfrac fractional part of the branching candidates branchorbitidx indices of orbit (or NULL) nbranchcands number of branching candidates executebranch execute a branching step or run probing only result pointer to the result of the execution
Definition at line 769 of file branch_relpscost.c.
References addBdchg(), applyBdchgs(), branchruledataEnsureNlcount(), calcNlscore(), calcScore(), FALSE, freeBdchgs(), MAX, MIN, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_BRANCHED, SCIP_CALL, SCIP_CONFIDENCELEVEL_HIGH, SCIP_CONFIDENCELEVEL_LOW, SCIP_CONFIDENCELEVEL_MAX, SCIP_CONFIDENCELEVEL_MEDIUM, SCIP_CONFIDENCELEVEL_MIN, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_INVALID, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_UNUSED, SCIP_VERBLEVEL_HIGH, SCIPallColsInLP(), SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPbranchruleGetData(), SCIPbranchVarVal(), SCIPdebug, SCIPdebugMsg, SCIPendStrongbranch(), SCIPfeasCeil(), SCIPfeasFloor(), SCIPfeasFrac(), SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPgetAvgConflictlengthScore(), SCIPgetAvgConflictScore(), SCIPgetAvgCutoffScore(), SCIPgetAvgInferenceScore(), SCIPgetAvgPseudocostScore(), SCIPgetBestSol(), SCIPgetBranchScore(), SCIPgetCutoffbound(), SCIPgetDepth(), SCIPgetLastStrongbranchLPSolStat(), SCIPgetLocalLowerbound(), SCIPgetLPDualDegeneracy(), SCIPgetLPObjval(), SCIPgetLPSolstat(), SCIPgetNDualResolveLPIterations(), SCIPgetNDualResolveLPs(), SCIPgetNNodeInitLPIterations(), SCIPgetNNodeInitLPs(), SCIPgetNNodeLPIterations(), SCIPgetNNodes(), SCIPgetNodeLowerbound(), SCIPgetNRootStrongbranchLPIterations(), SCIPgetNStrongbranchLPIterations(), SCIPgetNVars(), SCIPgetRealParam(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgGMIScore(), SCIPgetVarAvgInferenceScore(), SCIPgetVarConflictlengthScore(), SCIPgetVarConflictScore(), SCIPgetVarLastGMIScore(), SCIPgetVarPseudocostCountCurrentRun(), SCIPgetVarPseudocostCurrentRun(), SCIPgetVarPseudocostScore(), SCIPgetVarPseudocostScoreCurrentRun(), SCIPgetVarPseudocostVal(), SCIPgetVars(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchLast(), SCIPgetVarStrongbranchNode(), SCIPgetVarStrongbranchWithPropagation(), SCIPhasCurrentNodeLP(), SCIPinfinity(), SCIPisExactSolve(), SCIPisFeasIntegral(), SCIPisGE(), SCIPisGT(), SCIPisLPSolBasic(), SCIPisLT(), SCIPisStopped(), SCIPisSumGE(), SCIPisSumGT(), SCIPisVarPscostRelerrorReliable(), SCIPisZero(), SCIPnodeGetLowerbound(), SCIPpscostThresholdProbabilityTest(), SCIPrandomGetReal(), SCIPsignificantVarPscostDifference(), SCIPsolGetIndex(), SCIPstartStrongbranch(), SCIPtreemodelIsEnabled(), SCIPtreemodelSelectCandidate(), SCIPupdateLocalLowerbound(), SCIPupdateNodeLowerbound(), SCIPupdateVarPseudocostSymmetric(), SCIPvarGetLbLocal(), SCIPvarGetLPSol(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetUbLocal(), SCIPverbMessage(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), and SCIPexecRelpscostBranching().
◆ SCIP_DECL_BRANCHCOPY()
|
static |
copy method for branchrule plugins (called when SCIP copies plugins)
Definition at line 1902 of file branch_relpscost.c.
References BRANCHRULE_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleRelpscost().
◆ SCIP_DECL_BRANCHFREE()
|
static |
destructor of branching rule to free user data (called when SCIP is exiting)
Definition at line 1916 of file branch_relpscost.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleSetData(), SCIPfreeBlockMemory, and SCIPtreemodelFree().
◆ SCIP_DECL_BRANCHINITSOL()
|
static |
solving process initialization method of branching rule (called when branch and bound process is about to begin)
Definition at line 1934 of file branch_relpscost.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPcreateRandom(), and TRUE.
◆ SCIP_DECL_BRANCHEXITSOL()
|
static |
solving process deinitialization method of branching rule (called before branch and bound process data is freed)
Definition at line 1955 of file branch_relpscost.c.
References FALSE, NULL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPfreeBlockMemoryArrayNull, and SCIPfreeRandom().
◆ SCIP_DECL_BRANCHEXECLP()
|
static |
branching execution method for fractional LP solutions
Definition at line 1982 of file branch_relpscost.c.
References BRANCHRULE_NAME, execRelpscost(), filterSymmetricVariables(), initOrbits(), NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_LONGINT_FORMAT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPdebugMsg, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPgetCurrentNode(), SCIPgetLPBranchCands(), SCIPgetLPSolstat(), SCIPgetSubscipDepth(), SCIPinDive(), SCIPinProbing(), SCIPnodeGetNumber(), and TRUE.