Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    fix-and-infer primal heuristic

    Author
    Tobias Achterberg

    Definition in file heur_fixandinfer.c.

    #include "scip/heur_fixandinfer.h"
    #include "scip/pub_heur.h"
    #include "scip/pub_message.h"
    #include "scip/pub_var.h"
    #include "scip/scip_branch.h"
    #include "scip/scip_general.h"
    #include "scip/scip_heur.h"
    #include "scip/scip_mem.h"
    #include "scip/scip_message.h"
    #include "scip/scip_numerics.h"
    #include "scip/scip_param.h"
    #include "scip/scip_prob.h"
    #include "scip/scip_probing.h"
    #include "scip/scip_sol.h"
    #include "scip/scip_tree.h"
    #include "scip/scip_var.h"
    #include <string.h>

    Go to the source code of this file.

    Macros

    #define HEUR_NAME   "fixandinfer"
     
    #define HEUR_DESC   "iteratively fixes variables and propagates inferences"
     
    #define HEUR_DISPCHAR   SCIP_HEURDISPCHAR_PROP
     
    #define HEUR_PRIORITY   -500000
     
    #define HEUR_FREQ   -1 /* at the moment, the heuristic seems to be useless */
     
    #define HEUR_FREQOFS   0
     
    #define HEUR_MAXDEPTH   -1
     
    #define HEUR_TIMING   SCIP_HEURTIMING_AFTERNODE
     
    #define HEUR_USESSUBSCIP   FALSE
     
    #define MAXDIVEDEPTH   100
     
    #define DEFAULT_PROPROUNDS   0
     
    #define DEFAULT_MINFIXINGS   100
     

    Functions

    static SCIP_RETCODE fixVariable (SCIP *scip, SCIP_VAR **pseudocands, int npseudocands, SCIP_Real large)
     
    static SCIP_DECL_HEURCOPY (heurCopyFixandinfer)
     
    static SCIP_DECL_HEURFREE (heurFreeFixandinfer)
     
    static SCIP_DECL_HEUREXEC (heurExecFixandinfer)
     
    SCIP_RETCODE SCIPincludeHeurFixandinfer (SCIP *scip)
     

    Macro Definition Documentation

    ◆ HEUR_NAME

    #define HEUR_NAME   "fixandinfer"

    Definition at line 51 of file heur_fixandinfer.c.

    ◆ HEUR_DESC

    #define HEUR_DESC   "iteratively fixes variables and propagates inferences"

    Definition at line 52 of file heur_fixandinfer.c.

    ◆ HEUR_DISPCHAR

    #define HEUR_DISPCHAR   SCIP_HEURDISPCHAR_PROP

    Definition at line 53 of file heur_fixandinfer.c.

    ◆ HEUR_PRIORITY

    #define HEUR_PRIORITY   -500000

    Definition at line 54 of file heur_fixandinfer.c.

    ◆ HEUR_FREQ

    #define HEUR_FREQ   -1 /* at the moment, the heuristic seems to be useless */

    Definition at line 55 of file heur_fixandinfer.c.

    ◆ HEUR_FREQOFS

    #define HEUR_FREQOFS   0

    Definition at line 56 of file heur_fixandinfer.c.

    ◆ HEUR_MAXDEPTH

    #define HEUR_MAXDEPTH   -1

    Definition at line 57 of file heur_fixandinfer.c.

    ◆ HEUR_TIMING

    #define HEUR_TIMING   SCIP_HEURTIMING_AFTERNODE

    Definition at line 58 of file heur_fixandinfer.c.

    ◆ HEUR_USESSUBSCIP

    #define HEUR_USESSUBSCIP   FALSE

    does the heuristic use a secondary SCIP instance?

    Definition at line 59 of file heur_fixandinfer.c.

    ◆ MAXDIVEDEPTH

    #define MAXDIVEDEPTH   100

    Definition at line 61 of file heur_fixandinfer.c.

    ◆ DEFAULT_PROPROUNDS

    #define DEFAULT_PROPROUNDS   0

    maximal number of propagation rounds in probing subproblems

    Definition at line 68 of file heur_fixandinfer.c.

    ◆ DEFAULT_MINFIXINGS

    #define DEFAULT_MINFIXINGS   100

    minimal number of fixings to apply before dive may be aborted

    Definition at line 69 of file heur_fixandinfer.c.

    Function Documentation

    ◆ fixVariable()

    static SCIP_RETCODE fixVariable ( SCIP scip,
    SCIP_VAR **  pseudocands,
    int  npseudocands,
    SCIP_Real  large 
    )
    static

    selects a variable and fixes it to its current pseudo solution value

    Parameters
    scipSCIP data structure
    pseudocandsarray of unfixed variables
    npseudocandsnumber of unfixed variables
    largelarge value to be used instead of infinity

    Definition at line 90 of file heur_fixandinfer.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPceil(), SCIPdebugMsg, SCIPfixVarProbing(), SCIPfloor(), SCIPgetNPrioPseudoBranchBins(), SCIPgetVarAvgInferenceScore(), SCIPgetVarSol(), SCIPinfinity(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal().

    Referenced by SCIP_DECL_HEUREXEC().

    ◆ SCIP_DECL_HEURCOPY()

    static SCIP_DECL_HEURCOPY ( heurCopyFixandinfer  )
    static

    copy method for primal heuristic plugins (called when SCIP copies plugins)

    Definition at line 174 of file heur_fixandinfer.c.

    References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurFixandinfer().

    ◆ SCIP_DECL_HEURFREE()

    static SCIP_DECL_HEURFREE ( heurFreeFixandinfer  )
    static

    destructor of primal heuristic to free user data (called when SCIP is exiting)

    Definition at line 188 of file heur_fixandinfer.c.

    References NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPheurGetData(), and SCIPheurSetData().

    ◆ SCIP_DECL_HEUREXEC()