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 | 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) |
| #define BRANCHRULE_NAME "relpscost" |
Definition at line 66 of file branch_relpscost.c.
| #define BRANCHRULE_DESC "reliability branching on pseudo cost values" |
Definition at line 67 of file branch_relpscost.c.
| #define BRANCHRULE_PRIORITY 10000 |
Definition at line 68 of file branch_relpscost.c.
| #define BRANCHRULE_MAXDEPTH -1 |
Definition at line 69 of file branch_relpscost.c.
| #define BRANCHRULE_MAXBOUNDDIST 1.0 |
Definition at line 70 of file branch_relpscost.c.
| #define DEFAULT_CONFLICTWEIGHT 0.01 |
weight in score calculations for conflict score
Definition at line 72 of file branch_relpscost.c.
| #define DEFAULT_CONFLENGTHWEIGHT 0.0 |
weight in score calculations for conflict length score
Definition at line 73 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_INFERENCEWEIGHT 0.0001 |
weight in score calculations for inference score
Definition at line 74 of file branch_relpscost.c.
| #define DEFAULT_CUTOFFWEIGHT 0.0001 |
weight in score calculations for cutoff score
Definition at line 75 of file branch_relpscost.c.
| #define DEFAULT_GMIAVGEFFWEIGHT 0.0 |
weight in score calculations of average GMI cut normed efficacies
Definition at line 76 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_GMILASTEFFWEIGHT 0.00001 |
weight in score calculations of last GMI cut normed efficacy
Definition at line 77 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_PSCOSTWEIGHT 1.0 |
weight in score calculations for pseudo cost score
Definition at line 78 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost(), and SCIPincludeCutselEnsemble().
| #define DEFAULT_NLSCOREWEIGHT 0.1 |
weight in score calculations for nlcount score
Definition at line 79 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_SBITEROFS 100000 |
additional number of allowed strong branching LP iterations
Definition at line 83 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_MAXLOOKAHEAD 9 |
maximal number of further variables evaluated without better score
Definition at line 84 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_INITCAND 100 |
maximal number of candidates initialized with strong branching per node
Definition at line 85 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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 88 of file branch_relpscost.c.
| #define DEFAULT_PROBINGBOUNDS TRUE |
should valid bounds be identified in a probing-like fashion during strong branching (only with propagation)?
Definition at line 90 of file branch_relpscost.c.
| #define DEFAULT_USERELERRORFORRELIABILITY FALSE |
should reliability be based on relative errors?
Definition at line 92 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_LOWERRORTOL 0.05 |
lowest tolerance beneath which relative errors are reliable
Definition at line 93 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_HIGHERRORTOL 1.0 |
highest tolerance beneath which relative errors are reliable
Definition at line 94 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_USEHYPTESTFORRELIABILITY FALSE |
should the strong branching decision be based on a hypothesis test?
Definition at line 95 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_USEDYNAMICCONFIDENCE FALSE |
should the confidence level be adjusted dynamically?
Definition at line 96 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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 100 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_STARTRANDSEED 5 |
start random seed for random number generation
Definition at line 102 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #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 105 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #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.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_FILTERCANDSSYM FALSE |
Use symmetry to filter branching candidates?
Definition at line 110 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
| #define DEFAULT_TRANSSYMPSCOST FALSE |
Transfer pscost information to symmetric variables if filtering is performed?
Definition at line 111 of file branch_relpscost.c.
Referenced by SCIPincludeBranchruleRelpscost().
|
static |
initialize orbits
| scip | SCIP data structure |
| branchruledata | branching rule data |
Definition at line 180 of file branch_relpscost.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPcomputeOrbitsComponentsSym(), SCIPgetNVars(), SCIPgetSymmetry(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP().
|
static |
filter out symmetric variables from branching variables
| 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 assert(), i, NULL, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPhashmapGetImageInt(), and varidx.
Referenced by SCIP_DECL_BRANCHEXECLP().
|
static |
updates the pseudo costs of the given variable and all its symmetric variables
| 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 assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPupdateVarPseudocost(), SCIPvarIsActive(), and var.
Referenced by execRelpscost().
|
static |
! [SnippetCodeStyleDeclaration] counts number of nonlinear constraints in which each variable appears
! [SnippetCodeStyleDeclaration]
! [SnippetCodeStyleIfFor]
! [SnippetCodeStyleIfFor]
| 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 384 of file branch_relpscost.c.
References assert(), BMSclearMemoryArray, c, i, NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPfindConshdlr(), SCIPgetNLPVarsNonlinearity(), SCIPgetNNLPVars(), SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarsAnd(), SCIPgetVarsData(), SCIPisNLPConstructed(), SCIPvarGetProbindex(), SCIPvarGetProbvar(), and vars.
Referenced by branchruledataEnsureNlcount().
|
static |
| scip | SCIP data structure |
| branchruledata | branching rule data |
Definition at line 470 of file branch_relpscost.c.
References assert(), BMSclearMemoryArray, countNonlinearities(), NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, SCIPgetNVars(), and SCIPreallocBlockMemoryArray.
Referenced by execRelpscost().
calculates nlscore value between 0 and 1
| scip | SCIP data structure |
| nlcount | array to store count values |
| nlcountmax | maximum value in nlcount array |
| probindex | index of branching candidate |
Definition at line 517 of file branch_relpscost.c.
References assert(), NULL, SCIP_Real, and SCIPgetNVars().
Referenced by execRelpscost().
|
static |
calculates an overall score value for the given individual score values
| 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 544 of file branch_relpscost.c.
References assert(), frac, MIN, NULL, SCIP_Real, SCIPfeastol(), SCIPgetNInfeasibleLeaves(), and SCIPgetNObjlimLeaves().
Referenced by execRelpscost().
|
static |
adds given index and direction to bound change arrays
| 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 596 of file branch_relpscost.c.
References assert(), bound, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPreallocBufferArray.
Referenced by execRelpscost().
|
static |
! [SnippetCodeStyleStaticAsserts] frees bound change arrays
! [SnippetCodeStyleStaticAsserts]
| 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 630 of file branch_relpscost.c.
References assert(), NULL, SCIP_Real, and SCIPfreeBufferArrayNull.
Referenced by execRelpscost().
|
static |
applies bound changes stored in bound change arrays
| 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 653 of file branch_relpscost.c.
References assert(), BRANCHRULE_NAME, i, NULL, result, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_OKAY, SCIP_Real, SCIPbranchruleGetData(), SCIPdebugMsg, SCIPfindBranchrule(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, and vars.
Referenced by execRelpscost().
|
static |
execute reliability pseudo cost branching
| 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 730 of file branch_relpscost.c.
References addBdchg(), applyBdchgs(), assert(), bestcand, branchruledataEnsureNlcount(), c, calcNlscore(), calcScore(), FALSE, freeBdchgs(), i, lperror, MAX, MIN, nlpiterations, nlps, NULL, nvars, propagate, result, 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(), TRUE, var, and vars.
Referenced by SCIP_DECL_BRANCHEXECLP(), and SCIPexecRelpscostBranching().
|
static |
copy method for branchrule plugins (called when SCIP copies plugins)
Definition at line 1863 of file branch_relpscost.c.
References assert(), BRANCHRULE_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleRelpscost().
|
static |
destructor of branching rule to free user data (called when SCIP is exiting)
Definition at line 1877 of file branch_relpscost.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleSetData(), SCIPfreeBlockMemory, and SCIPtreemodelFree().
|
static |
solving process initialization method of branching rule (called when branch and bound process is about to begin)
Definition at line 1895 of file branch_relpscost.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPcreateRandom(), and TRUE.
|
static |
solving process deinitialization method of branching rule (called before branch and bound process data is freed)
Definition at line 1916 of file branch_relpscost.c.
References FALSE, NULL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPfreeBlockMemoryArrayNull, and SCIPfreeRandom().
|
static |
branching execution method for fractional LP solutions
Definition at line 1943 of file branch_relpscost.c.
References assert(), BRANCHRULE_NAME, execRelpscost(), filterSymmetricVariables(), initOrbits(), lpcands, lpcandsfrac, lpcandssol, nlpcands, NULL, result, 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.