inference history branching rule
Definition in file branch_inference.c.
Go to the source code of this file.
Macros | |
Branching rule properties | |
| #define | BRANCHRULE_NAME "inference" |
| #define | BRANCHRULE_DESC "inference history branching" |
| #define | BRANCHRULE_PRIORITY 1000 |
| #define | BRANCHRULE_MAXDEPTH -1 |
| #define | BRANCHRULE_MAXBOUNDDIST 1.0 |
Default parameter values | |
| #define | DEFAULT_CONFLICTWEIGHT 1000.0 |
| #define | DEFAULT_CUTOFFWEIGHT 1.0 |
| #define | DEFAULT_INFERENCEWEIGHT 1.0 |
| #define | DEFAULT_RELIABLESCORE 0.001 |
| #define | DEFAULT_FRACTIONALS TRUE |
| #define | DEFAULT_USEWEIGHTEDSUM TRUE |
Functions | |
| static void | evaluateValueCand (SCIP_VAR *cand, SCIP_Real score, SCIP_Real branchpoint, SCIP_BRANCHDIR branchdir, SCIP_VAR **bestcand, SCIP_Real *bestscore, SCIP_Real *bestbranchpoint, SCIP_BRANCHDIR *bestbranchdir) |
| static void | evaluateAggrCand (SCIP_VAR *cand, SCIP_Real score, SCIP_Real val, SCIP_VAR **bestcand, SCIP_Real *bestscore, SCIP_Real *bestval) |
| static void | checkValueScore (SCIP_Real value, SCIP_HISTORY *history, SCIP_BRANCHDIR dir, SCIP_Real conflictweight, SCIP_Real cutoffweight, SCIP_Real reliablescore, SCIP_Real *bestscore, SCIP_Real *branchpoint, SCIP_BRANCHDIR *branchdir) |
| static SCIP_Real | getAggrScore (SCIP *scip, SCIP_VAR *var, SCIP_Real conflictweight, SCIP_Real inferenceweight, SCIP_Real cutoffweight, SCIP_Real reliablescore) |
| static SCIP_Real | getValueScore (SCIP *scip, SCIP_VAR *var, SCIP_Real conflictweight, SCIP_Real cutoffweight, SCIP_Real reliablescore, SCIP_Real *branchpoint, SCIP_BRANCHDIR *branchdir) |
| static SCIP_RETCODE | performBranching (SCIP *scip, SCIP_VAR **cands, SCIP_Real *candsols, int ncands, SCIP_Real conflictweight, SCIP_Real inferenceweight, SCIP_Real cutoffweight, SCIP_Real reliablescore, SCIP_Bool useweightedsum, SCIP_RESULT *result) |
| static | SCIP_DECL_BRANCHCOPY (branchCopyInference) |
| static | SCIP_DECL_BRANCHFREE (branchFreeInference) |
| static | SCIP_DECL_BRANCHEXECLP (branchExeclpInference) |
| static | SCIP_DECL_BRANCHEXECEXT (branchExecextInference) |
| static | SCIP_DECL_BRANCHEXECPS (branchExecpsInference) |
| SCIP_RETCODE | SCIPincludeBranchruleInference (SCIP *scip) |
| #define BRANCHRULE_NAME "inference" |
Definition at line 36 of file branch_inference.c.
Referenced by SCIP_DECL_BRANCHCOPY(), and SCIPincludeBranchruleInference().
| #define BRANCHRULE_DESC "inference history branching" |
Definition at line 37 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define BRANCHRULE_PRIORITY 1000 |
Definition at line 38 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define BRANCHRULE_MAXDEPTH -1 |
Definition at line 39 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define BRANCHRULE_MAXBOUNDDIST 1.0 |
Definition at line 40 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define DEFAULT_CONFLICTWEIGHT 1000.0 |
weight in score calculations for conflict score
Definition at line 49 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define DEFAULT_CUTOFFWEIGHT 1.0 |
weight in score calculations for cutoff score
Definition at line 50 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define DEFAULT_INFERENCEWEIGHT 1.0 |
weight in score calculations for inference score
Definition at line 51 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define DEFAULT_RELIABLESCORE 0.001 |
score which is seen to be reliable for a branching decision
Definition at line 52 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define DEFAULT_FRACTIONALS TRUE |
should branching on LP solution be restricted to the fractional variables?
Definition at line 53 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
| #define DEFAULT_USEWEIGHTEDSUM TRUE |
should a weighted sum of inference, conflict and cutoff weights be used?
Definition at line 54 of file branch_inference.c.
Referenced by SCIPincludeBranchruleInference().
|
static |
evaluate the given candidate with the given score against the currently best know candidate
| cand | candidate to be checked |
| score | score of the candidate |
| branchpoint | potential branching point |
| branchdir | potential branching direction |
| bestcand | pointer to the currently best candidate |
| bestscore | pointer to the score of the currently best candidate |
| bestbranchpoint | pointer to store the (best) branching point |
| bestbranchdir | pointer to store the branching direction relative to the branching point |
Definition at line 71 of file branch_inference.c.
References REALABS, SCIP_Real, SCIPvarGetIndex(), and SCIPvarGetObj().
Referenced by performBranching().
|
static |
evaluate the given candidate with the given score against the currently best know candidate
| cand | candidate to be checked |
| score | score of the candidate |
| val | solution value of the candidate |
| bestcand | pointer to the currently best candidate |
| bestscore | pointer to the score of the currently best candidate |
| bestval | pointer to the solution value of the currently best candidate |
Definition at line 125 of file branch_inference.c.
References REALABS, SCIP_Real, SCIPvarGetIndex(), and SCIPvarGetObj().
Referenced by performBranching().
|
static |
check if the score for the given domain value and variable domain value is better than the current best know one
| value | domain value |
| history | variable history for given donain value |
| dir | branching direction |
| conflictweight | weight in score calculations for conflict score |
| cutoffweight | weight in score calculations for cutoff score |
| reliablescore | score which is seen to be reliable for a branching decision |
| bestscore | pointer to store the best score |
| branchpoint | pointer to store the (best) branching point |
| branchdir | pointer to store the branching direction relative to the branching point |
Definition at line 175 of file branch_inference.c.
References SCIP_Real, SCIPhistoryGetCutoffSum(), and SCIPhistoryGetVSIDS().
Referenced by getValueScore().
|
static |
return an aggregated score for the given variable using the conflict score and cutoff score
| scip | SCIP data structure |
| var | problem variable |
| conflictweight | weight in score calculations for conflict score |
| inferenceweight | weight in score calculations for inference score |
| cutoffweight | weight in score calculations for cutoff score |
| reliablescore | score which is seen to be reliable for a branching decision |
Definition at line 217 of file branch_inference.c.
References SCIP_Real, SCIPgetVarAvgInferenceCutoffScore(), and SCIPgetVarConflictScore().
Referenced by performBranching().
|
static |
return an aggregated score for the given variable using the conflict score and cutoff score
| scip | SCIP data structure |
| var | problem variable |
| conflictweight | weight in score calculations for conflict score |
| cutoffweight | weight in score calculations for cutoff score |
| reliablescore | score which is seen to be reliable for a branching decision |
| branchpoint | pointer to store the branching point |
| branchdir | pointer to store the branching direction relative to the branching point |
Definition at line 248 of file branch_inference.c.
References checkValueScore(), SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_Real, SCIP_UNKNOWN, SCIPvaluehistoryGetHistories(), SCIPvaluehistoryGetNValues(), SCIPvaluehistoryGetValues(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and SCIPvarGetValuehistory().
Referenced by performBranching().
|
static |
selects a variable out of the given candidate array and performs the branching
| scip | SCIP data structure |
| cands | candidate array |
| candsols | array of candidate solution values, or NULL |
| ncands | number of candidates |
| conflictweight | weight in score calculations for conflict score |
| inferenceweight | weight in score calculations for inference score |
| cutoffweight | weight in score calculations for cutoff score |
| reliablescore | score which is seen to be reliable for a branching decision |
| useweightedsum | should a weighted sum of inference, conflict and cutoff weights be used? |
| result | buffer to store result (branched, reduced domain, ...) |
Definition at line 306 of file branch_inference.c.
References evaluateAggrCand(), evaluateValueCand(), getAggrScore(), getValueScore(), SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_UNKNOWN, SCIPbranchVar(), SCIPbranchVarVal(), SCIPcalcChildEstimate(), SCIPchgVarLbNode(), SCIPchgVarUbNode(), SCIPcreateChild(), SCIPdebugMsg, SCIPgetBranchingPoint(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferenceScore(), SCIPgetVarConflictScore(), SCIPgetVarSol(), SCIPisEQ(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal().
Referenced by SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), and SCIP_DECL_BRANCHEXECPS().
|
static |
copy method for branchrule plugins (called when SCIP copies plugins)
Definition at line 536 of file branch_inference.c.
References BRANCHRULE_NAME, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleInference().
|
static |
destructor of branching rule to free user data (called when SCIP is exiting)
Definition at line 550 of file branch_inference.c.
References SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleSetData(), and SCIPfreeBlockMemory.
|
static |
branching execution method for fractional LP solutions
Definition at line 564 of file branch_inference.c.
References performBranching(), SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPdebugMsg, SCIPgetLPBranchCands(), and SCIPgetPseudoBranchCands().
|
static |
branching execution method for external candidates
Definition at line 598 of file branch_inference.c.
References performBranching(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbranchruleGetData(), SCIPdebugMsg, and SCIPgetExternBranchCands().
|
static |
branching execution method for not completely fixed pseudo solutions
Definition at line 625 of file branch_inference.c.
References performBranching(), SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPdebugMsg, and SCIPgetPseudoBranchCands().