Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    LP diving heuristic that changes variable's objective values using root LP solution as guide.

    Author
    Kati Wolter

    Definition in file heur_rootsoldiving.c.

    #include "blockmemshell/memory.h"
    #include "scip/heur_rootsoldiving.h"
    #include "scip/pub_heur.h"
    #include "scip/pub_message.h"
    #include "scip/pub_var.h"
    #include "scip/scip_branch.h"
    #include "scip/scip_exact.h"
    #include "scip/scip_general.h"
    #include "scip/scip_heur.h"
    #include "scip/scip_lp.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_sol.h"
    #include "scip/scip_solvingstats.h"
    #include "scip/scip_tree.h"
    #include <string.h>

    Go to the source code of this file.

    Macros

    #define HEUR_NAME   "rootsoldiving"
     
    #define HEUR_DESC   "LP diving heuristic that changes variable's objective values using root LP solution as guide"
     
    #define HEUR_DISPCHAR   SCIP_HEURDISPCHAR_OBJDIVING
     
    #define HEUR_PRIORITY   -1005000
     
    #define HEUR_FREQ   20
     
    #define HEUR_FREQOFS   5
     
    #define HEUR_MAXDEPTH   -1
     
    #define HEUR_TIMING   SCIP_HEURTIMING_AFTERLPPLUNGE
     
    #define HEUR_USESSUBSCIP   FALSE
     
    #define DEFAULT_MINRELDEPTH   0.0
     
    #define DEFAULT_MAXRELDEPTH   1.0
     
    #define DEFAULT_MAXLPITERQUOT   0.01
     
    #define DEFAULT_MAXLPITEROFS   1000
     
    #define DEFAULT_MAXSOLS   -1
     
    #define DEFAULT_DEPTHFAC   0.5
     
    #define DEFAULT_DEPTHFACNOSOL   2.0
     
    #define MINLPITER   10000
     
    #define DEFAULT_ALPHA   0.9
     

    Functions

    static SCIP_DECL_HEURCOPY (heurCopyRootsoldiving)
     
    static SCIP_DECL_HEURFREE (heurFreeRootsoldiving)
     
    static SCIP_DECL_HEURINIT (heurInitRootsoldiving)
     
    static SCIP_DECL_HEUREXIT (heurExitRootsoldiving)
     
    static SCIP_DECL_HEUREXEC (heurExecRootsoldiving)
     
    SCIP_RETCODE SCIPincludeHeurRootsoldiving (SCIP *scip)
     

    Macro Definition Documentation

    ◆ HEUR_NAME

    #define HEUR_NAME   "rootsoldiving"

    Definition at line 53 of file heur_rootsoldiving.c.

    ◆ HEUR_DESC

    #define HEUR_DESC   "LP diving heuristic that changes variable's objective values using root LP solution as guide"

    Definition at line 54 of file heur_rootsoldiving.c.

    ◆ HEUR_DISPCHAR

    #define HEUR_DISPCHAR   SCIP_HEURDISPCHAR_OBJDIVING

    Definition at line 55 of file heur_rootsoldiving.c.

    ◆ HEUR_PRIORITY

    #define HEUR_PRIORITY   -1005000

    Definition at line 56 of file heur_rootsoldiving.c.

    ◆ HEUR_FREQ

    #define HEUR_FREQ   20

    Definition at line 57 of file heur_rootsoldiving.c.

    ◆ HEUR_FREQOFS

    #define HEUR_FREQOFS   5

    Definition at line 58 of file heur_rootsoldiving.c.

    ◆ HEUR_MAXDEPTH

    #define HEUR_MAXDEPTH   -1

    Definition at line 59 of file heur_rootsoldiving.c.

    ◆ HEUR_TIMING

    #define HEUR_TIMING   SCIP_HEURTIMING_AFTERLPPLUNGE

    Definition at line 60 of file heur_rootsoldiving.c.

    ◆ HEUR_USESSUBSCIP

    #define HEUR_USESSUBSCIP   FALSE

    does the heuristic use a secondary SCIP instance?

    Definition at line 61 of file heur_rootsoldiving.c.

    ◆ DEFAULT_MINRELDEPTH

    #define DEFAULT_MINRELDEPTH   0.0

    minimal relative depth to start diving

    Definition at line 68 of file heur_rootsoldiving.c.

    ◆ DEFAULT_MAXRELDEPTH

    #define DEFAULT_MAXRELDEPTH   1.0

    maximal relative depth to start diving

    Definition at line 69 of file heur_rootsoldiving.c.

    ◆ DEFAULT_MAXLPITERQUOT

    #define DEFAULT_MAXLPITERQUOT   0.01

    maximal fraction of diving LP iterations compared to node LP iterations

    Definition at line 70 of file heur_rootsoldiving.c.

    ◆ DEFAULT_MAXLPITEROFS

    #define DEFAULT_MAXLPITEROFS   1000

    additional number of allowed LP iterations

    Definition at line 71 of file heur_rootsoldiving.c.

    ◆ DEFAULT_MAXSOLS

    #define DEFAULT_MAXSOLS   -1

    total number of feasible solutions found up to which heuristic is called (-1: no limit)

    Definition at line 73 of file heur_rootsoldiving.c.

    ◆ DEFAULT_DEPTHFAC

    #define DEFAULT_DEPTHFAC   0.5

    maximal diving depth: number of binary/integer variables times depthfac

    Definition at line 74 of file heur_rootsoldiving.c.

    ◆ DEFAULT_DEPTHFACNOSOL

    #define DEFAULT_DEPTHFACNOSOL   2.0

    maximal diving depth factor if no feasible solution was found yet

    Definition at line 75 of file heur_rootsoldiving.c.

    ◆ MINLPITER

    #define MINLPITER   10000

    minimal number of LP iterations allowed in each LP solving call

    Definition at line 77 of file heur_rootsoldiving.c.

    ◆ DEFAULT_ALPHA

    #define DEFAULT_ALPHA   0.9

    soft rounding factor to fade out objective coefficients

    Definition at line 78 of file heur_rootsoldiving.c.

    Function Documentation

    ◆ SCIP_DECL_HEURCOPY()

    static SCIP_DECL_HEURCOPY ( heurCopyRootsoldiving  )
    static

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

    Definition at line 105 of file heur_rootsoldiving.c.

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

    ◆ SCIP_DECL_HEURFREE()

    static SCIP_DECL_HEURFREE ( heurFreeRootsoldiving  )
    static

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

    Definition at line 119 of file heur_rootsoldiving.c.

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

    ◆ SCIP_DECL_HEURINIT()

    static SCIP_DECL_HEURINIT ( heurInitRootsoldiving  )
    static

    initialization method of primal heuristic (called after problem was transformed)

    Definition at line 139 of file heur_rootsoldiving.c.

    References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateSol(), SCIPheurGetData(), and SCIPheurGetName().

    ◆ SCIP_DECL_HEUREXIT()

    static SCIP_DECL_HEUREXIT ( heurExitRootsoldiving  )
    static

    deinitialization method of primal heuristic (called before transformed problem is freed)

    Definition at line 163 of file heur_rootsoldiving.c.

    References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeSol(), SCIPheurGetData(), and SCIPheurGetName().

    ◆ SCIP_DECL_HEUREXEC()