SCIPsignificantVarPscostDifference

Function SCIPsignificantVarPscostDifference 

Source
pub unsafe extern "C" fn SCIPsignificantVarPscostDifference(
    scip: *mut SCIP,
    varx: *mut SCIP_VAR,
    fracx: f64,
    vary: *mut SCIP_VAR,
    fracy: f64,
    dir: SCIP_BRANCHDIR,
    clevel: SCIP_CONFIDENCELEVEL,
    onesided: c_uint,
) -> c_uint
Expand description

check if variable pseudo-costs have a significant difference in location. The significance depends on the choice of \p clevel and on the kind of tested hypothesis. The one-sided hypothesis, which should be rejected, is that fracy * mu_y >= fracx * mu_x, where mu_y and mu_x denote the unknown location means of the underlying pseudo-cost distributions of x and y.

This method is applied best if variable x has a better pseudo-cost score than y. The method hypothesizes that y were actually better than x (despite the current information), meaning that y can be expected to yield branching decisions as least as good as x in the long run. If the method returns TRUE, the current history information is sufficient to safely rely on the alternative hypothesis that x yields indeed a better branching score (on average) than y.

@note The order of x and y matters for the one-sided hypothesis

@note set \p onesided to FALSE if you are not sure which variable is better. The hypothesis tested then reads fracy * mu_y == fracx * mu_x vs the alternative hypothesis fracy * mu_y != fracx * mu_x.

@return TRUE if the hypothesis can be safely rejected at the given confidence level