methods for branching and inference history
Definition in file history.c.
#include <assert.h>
#include "scip/def.h"
#include "scip/set.h"
#include "scip/history.h"
#include "scip/pub_misc.h"
#include "scip/pub_history.h"
#include "scip/struct_history.h"
Go to the source code of this file.
SCIP_RETCODE SCIPhistoryCreate | ( | SCIP_HISTORY ** | history, |
BMS_BLKMEM * | blkmem | ||
) |
creates an empty history entry
history | pointer to store branching and inference history |
blkmem | block memory |
Definition at line 40 of file history.c.
References BMSallocBlockMemory, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPhistoryReset().
Referenced by SCIPreoptUpdateVarHistory(), SCIPstatCreate(), SCIPvaluehistoryFind(), and varCreate().
void SCIPhistoryFree | ( | SCIP_HISTORY ** | history, |
BMS_BLKMEM * | blkmem | ||
) |
frees a history entry
history | pointer to branching and inference history |
blkmem | block memory |
Definition at line 55 of file history.c.
References BMSfreeBlockMemory, and NULL.
Referenced by SCIPstatFree(), SCIPvaluehistoryFree(), and varFree().
void SCIPhistoryReset | ( | SCIP_HISTORY * | history | ) |
resets history entry to zero
history | branching and inference history |
Definition at line 67 of file history.c.
References SCIP_History::branchdepthsum, SCIP_History::conflengthsum, SCIP_History::cutoffsum, SCIP_History::inferencesum, SCIP_History::nactiveconflicts, SCIP_History::nbranchings, NULL, SCIP_History::pscostcount, SCIP_History::pscostvariance, SCIP_History::pscostweightedmean, and SCIP_History::vsids.
Referenced by SCIPhistoryCreate(), SCIPreoptUpdateVarHistory(), SCIPstatReset(), SCIPstatResetCurrentRun(), SCIPvarAggregate(), SCIPvarFix(), and SCIPvarInitSolve().
void SCIPhistoryUnite | ( | SCIP_HISTORY * | history, |
SCIP_HISTORY * | addhistory, | ||
SCIP_Bool | switcheddirs | ||
) |
unites two history entries by adding the values of the second one to the first one
history | branching and inference history |
addhistory | history values to add to history |
switcheddirs | should the history entries be united with switched directories |
Definition at line 96 of file history.c.
References SCIP_History::branchdepthsum, SCIP_History::conflengthsum, SCIP_History::cutoffsum, SCIP_History::inferencesum, MAX, SCIP_History::nactiveconflicts, SCIP_History::nbranchings, NULL, SCIP_History::pscostcount, SCIP_History::pscostvariance, SCIP_History::pscostweightedmean, SCIP_Real, and SCIP_History::vsids.
Referenced by SCIPreoptUpdateVarHistory(), SCIPvarAggregate(), SCIPvarMergeHistories(), SCIPvarSetHistory(), and SCIPvarTransform().
void SCIPhistoryUpdatePseudocost | ( | SCIP_HISTORY * | history, |
SCIP_SET * | set, | ||
SCIP_Real | solvaldelta, | ||
SCIP_Real | objdelta, | ||
SCIP_Real | weight | ||
) |
updates the pseudo costs for a change of "solvaldelta" in the variable's LP solution value and a change of "objdelta" in the LP's objective value
history | branching and inference history |
set | global SCIP settings |
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 of this update in pseudo cost sum (added to pscostcount) |
Definition at line 159 of file history.c.
References MAX, NULL, SCIP_History::pscostcount, SCIP_History::pscostvariance, SCIP_History::pscostweightedmean, REALABS, SCIP_Real, SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetPseudocostdelta(), and SCIPsetPseudocosteps().
Referenced by SCIPvarUpdatePseudocost().
SCIP_BRANCHDIR SCIPbranchdirOpposite | ( | SCIP_BRANCHDIR | dir | ) |
returns the opposite direction of the given branching direction
dir | branching direction |
Definition at line 414 of file history.c.
References SCIP_BRANCHDIR_AUTO, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPvarAggregate(), SCIPvarChgBranchDirection(), SCIPvarGetAvgBranchdepth(), SCIPvarGetAvgConflictlength(), SCIPvarGetAvgConflictlengthCurrentRun(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetAvgInferences(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetCutoffSum(), SCIPvarGetCutoffSumCurrentRun(), SCIPvarGetInferenceSum(), SCIPvarGetInferenceSumCurrentRun(), SCIPvarGetNActiveConflicts(), SCIPvarGetNActiveConflictsCurrentRun(), SCIPvarGetNBranchings(), SCIPvarGetNBranchingsCurrentRun(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), SCIPvarGetPseudocostVariance(), SCIPvarGetVSIDS_rec(), SCIPvarGetVSIDSCurrentRun(), SCIPvarIncCutoffSum(), SCIPvarIncInferenceSum(), SCIPvarIncNActiveConflicts(), SCIPvarIncNBranchings(), SCIPvarIncVSIDS(), SCIPvarMultiaggregate(), SCIPvarNegate(), and varProcessChgBranchDirection().
SCIP_Real SCIPhistoryGetPseudocost | ( | SCIP_HISTORY * | history, |
SCIP_Real | solvaldelta | ||
) |
returns the expected dual gain for moving the corresponding variable by "solvaldelta"
history | branching and inference history |
solvaldelta | difference of variable's new LP value - old LP value |
Definition at line 423 of file history.c.
References NULL, SCIP_History::pscostcount, and SCIP_History::pscostweightedmean.
Referenced by SCIPgetAvgPseudocost(), SCIPgetAvgPseudocostCurrentRun(), SCIPgetAvgPseudocostScore(), SCIPgetAvgPseudocostScoreCurrentRun(), SCIPprintBranchingStatistics(), SCIPvarGetPseudocost(), and SCIPvarGetPseudocostCurrentRun().
SCIP_Real SCIPhistoryGetPseudocostVariance | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | direction | ||
) |
returns the variance of pseudo costs about the mean.
history | branching and inference history |
direction | direction of variable: 1 for upwards history, 0 for downwards history |
Definition at line 437 of file history.c.
References NULL, SCIP_History::pscostcount, SCIP_History::pscostvariance, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_Real.
Referenced by SCIPgetPseudocostVariance(), SCIPprintBranchingStatistics(), and SCIPvarGetPseudocostVariance().
SCIP_Real SCIPhistoryGetPseudocostCount | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
returns the (possible fractional) number of (partial) pseudo cost updates performed on this pseudo cost entry in the given branching direction
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 461 of file history.c.
References NULL, SCIP_History::pscostcount, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPgetAvgPseudocostCount(), SCIPgetAvgPseudocostCountCurrentRun(), SCIPgetPseudocostCount(), SCIPprintBranchingStatistics(), SCIPvarGetPseudocost(), SCIPvarGetPseudocostCount(), SCIPvarGetPseudocostCountCurrentRun(), and SCIPvarGetPseudocostCurrentRun().
SCIP_Bool SCIPhistoryIsPseudocostEmpty | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
returns whether the pseudo cost entry is empty in the given branching direction (whether no value was added yet)
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 474 of file history.c.
References NULL, SCIP_History::pscostcount, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
void SCIPhistoryIncVSIDS | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | weight | ||
) |
increases the conflict score of the history entry by the given weight
history | branching and inference history |
dir | branching direction |
weight | weight of this update in conflict score |
Definition at line 487 of file history.c.
References NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_History::vsids.
Referenced by incVSIDS(), and SCIPvarIncVSIDS().
void SCIPhistoryScaleVSIDS | ( | SCIP_HISTORY * | history, |
SCIP_Real | scalar | ||
) |
scales the conflict score values with the given scalar
history | branching and inference history |
scalar | scalar to multiply the conflict scores with |
Definition at line 501 of file history.c.
References NULL, and SCIP_History::vsids.
Referenced by SCIPconflictInit(), SCIPvaluehistoryScaleVSIDS(), and SCIPvarScaleVSIDS().
SCIP_Real SCIPhistoryGetVSIDS | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
gets the conflict score of the history entry
history | branching and inference history |
dir | branching direction |
Definition at line 513 of file history.c.
References NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_History::vsids.
Referenced by checkValueScore(), SCIPgetAvgConflictScore(), SCIPgetAvgConflictScoreCurrentRun(), SCIPvarGetVSIDS(), SCIPvarGetVSIDS_rec(), SCIPvarGetVSIDSCurrentRun(), and SCIPvarIncVSIDS().
void SCIPhistoryIncNActiveConflicts | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | length | ||
) |
increases the number of active conflicts by one and the overall length of the history entry by the given weight
history | branching and inference history |
dir | branching direction |
length | length of the conflict |
Definition at line 526 of file history.c.
References SCIP_History::conflengthsum, SCIP_History::nactiveconflicts, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPvarIncNActiveConflicts(), and updateStatistics().
SCIP_Longint SCIPhistoryGetNActiveConflicts | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
gets the number of active conflicts of the history entry
history | branching and inference history |
dir | branching direction |
Definition at line 542 of file history.c.
References SCIP_History::nactiveconflicts, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPvarGetNActiveConflicts(), and SCIPvarGetNActiveConflictsCurrentRun().
SCIP_Real SCIPhistoryGetAvgConflictlength | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
gets the average conflict length of the history entry
history | branching and inference history |
dir | branching direction |
Definition at line 555 of file history.c.
References SCIP_History::conflengthsum, SCIP_History::nactiveconflicts, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_Real.
Referenced by SCIPgetAvgConflictlengthScore(), SCIPgetAvgConflictlengthScoreCurrentRun(), SCIPvarGetAvgConflictlength(), and SCIPvarGetAvgConflictlengthCurrentRun().
void SCIPhistoryIncNBranchings | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir, | ||
int | depth | ||
) |
increases the number of branchings counter
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
depth | depth at which the bound change took place |
Definition at line 568 of file history.c.
References SCIP_History::branchdepthsum, SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPreoptMergeVarHistory(), and SCIPvarIncNBranchings().
void SCIPhistoryIncInferenceSum | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | weight | ||
) |
increases the number of inferences counter by a certain value
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
weight | weight of this update in inference score |
Definition at line 584 of file history.c.
References SCIP_History::inferencesum, SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPreoptMergeVarHistory(), and SCIPvarIncInferenceSum().
void SCIPhistoryIncCutoffSum | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir, | ||
SCIP_Real | weight | ||
) |
increases the number of cutoffs counter
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
weight | weight of this update in cutoff score |
Definition at line 600 of file history.c.
References SCIP_History::cutoffsum, SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPreoptMergeVarHistory(), and SCIPvarIncCutoffSum().
SCIP_Longint SCIPhistoryGetNBranchings | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
get number of branchings counter
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 616 of file history.c.
References SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPprintBranchingStatistics(), SCIPvarGetAvgCutoffs(), SCIPvarGetAvgCutoffsCurrentRun(), SCIPvarGetAvgInferences(), SCIPvarGetAvgInferencesCurrentRun(), SCIPvarGetNBranchings(), and SCIPvarGetNBranchingsCurrentRun().
SCIP_Real SCIPhistoryGetInferenceSum | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
get number of inferences counter
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 629 of file history.c.
References SCIP_History::inferencesum, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by SCIPprintBranchingStatistics(), SCIPvarGetInferenceSum(), and SCIPvarGetInferenceSumCurrentRun().
SCIP_Real SCIPhistoryGetAvgInferences | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
returns the average number of inferences per branching
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 642 of file history.c.
References SCIP_History::inferencesum, SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_Real.
Referenced by SCIPgetAvgInferences(), SCIPgetAvgInferenceScore(), SCIPgetAvgInferenceScoreCurrentRun(), SCIPgetAvgInferencesCurrentRun(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPreoptMergeVarHistory(), SCIPvarGetAvgInferences(), and SCIPvarGetAvgInferencesCurrentRun().
SCIP_Real SCIPhistoryGetCutoffSum | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
get number of cutoffs counter
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 655 of file history.c.
References SCIP_History::cutoffsum, NULL, SCIP_BRANCHDIR_DOWNWARDS, and SCIP_BRANCHDIR_UPWARDS.
Referenced by checkValueScore(), SCIPprintBranchingStatistics(), SCIPvarGetCutoffSum(), and SCIPvarGetCutoffSumCurrentRun().
SCIP_Real SCIPhistoryGetAvgCutoffs | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
returns the average number of cutoffs per branching
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 668 of file history.c.
References SCIP_History::cutoffsum, SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_Real.
Referenced by SCIPgetAvgCutoffs(), SCIPgetAvgCutoffScore(), SCIPgetAvgCutoffScoreCurrentRun(), SCIPgetAvgCutoffsCurrentRun(), SCIPreoptMergeVarHistory(), SCIPvarGetAvgCutoffs(), and SCIPvarGetAvgCutoffsCurrentRun().
SCIP_Real SCIPhistoryGetAvgBranchdepth | ( | SCIP_HISTORY * | history, |
SCIP_BRANCHDIR | dir | ||
) |
returns the average depth of bound changes due to branching
history | branching and inference history |
dir | branching direction (downwards, or upwards) |
Definition at line 681 of file history.c.
References SCIP_History::branchdepthsum, SCIP_History::nbranchings, NULL, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, and SCIP_Real.
Referenced by SCIPvarGetAvgBranchdepth(), and SCIPvarGetAvgBranchdepthCurrentRun().