Detailed Description
LP diving heuristic that chooses fixings w.r.t. the pseudo cost values.
Definition in file heur_pscostdiving.c.
#include "scip/heuristics.h"#include "scip/heur_pscostdiving.h"#include "scip/pub_heur.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"#include "scip/pub_var.h"#include "scip/scip_heur.h"#include "scip/scip_mem.h"#include "scip/scip_numerics.h"#include "scip/scip_prob.h"#include "scip/scip_sol.h"#include "scip/scip_var.h"#include <string.h>Go to the source code of this file.
Macros | |
| #define | HEUR_NAME "pscostdiving" |
| #define | HEUR_DESC "LP diving heuristic that chooses fixings w.r.t. the pseudo cost values" |
| #define | HEUR_DISPCHAR 'p' |
| #define | HEUR_PRIORITY -1002000 |
| #define | HEUR_FREQ 10 |
| #define | HEUR_FREQOFS 2 |
| #define | HEUR_MAXDEPTH -1 |
| #define | HEUR_TIMING SCIP_HEURTIMING_AFTERLPPLUNGE |
| #define | HEUR_USESSUBSCIP FALSE |
| #define | DIVESET_DIVETYPES SCIP_DIVETYPE_INTEGRALITY |
| #define | DEFAULT_MINRELDEPTH 0.0 |
| #define | DEFAULT_MAXRELDEPTH 1.0 |
| #define | DEFAULT_MAXLPITERQUOT 0.05 |
| #define | DEFAULT_MAXLPITEROFS 1000 |
| #define | DEFAULT_MAXDIVEUBQUOT 0.8 |
| #define | DEFAULT_MAXDIVEAVGQUOT 0.0 |
| #define | DEFAULT_MAXDIVEUBQUOTNOSOL 0.1 |
| #define | DEFAULT_MAXDIVEAVGQUOTNOSOL 0.0 |
| #define | DEFAULT_BACKTRACK TRUE |
| #define | DEFAULT_LPRESOLVEDOMCHGQUOT 0.15 |
| #define | DEFAULT_LPSOLVEFREQ 0 |
| #define | DEFAULT_ONLYLPBRANCHCANDS TRUE |
| #define | DEFAULT_RANDSEED 103 |
Functions | |
| static | SCIP_DECL_HEURCOPY (heurCopyPscostdiving) |
| static | SCIP_DECL_HEURFREE (heurFreePscostdiving) |
| static | SCIP_DECL_HEURINIT (heurInitPscostdiving) |
| static | SCIP_DECL_HEUREXIT (heurExitPscostdiving) |
| static | SCIP_DECL_HEUREXEC (heurExecPscostdiving) |
| static | SCIP_DECL_DIVESETGETSCORE (divesetGetScorePscostdiving) |
| SCIP_RETCODE | SCIPincludeHeurPscostdiving (SCIP *scip) |
Macro Definition Documentation
◆ HEUR_NAME
| #define HEUR_NAME "pscostdiving" |
Definition at line 37 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_DESC
| #define HEUR_DESC "LP diving heuristic that chooses fixings w.r.t. the pseudo cost values" |
Definition at line 38 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_DISPCHAR
| #define HEUR_DISPCHAR 'p' |
Definition at line 39 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_PRIORITY
| #define HEUR_PRIORITY -1002000 |
Definition at line 40 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_FREQ
| #define HEUR_FREQ 10 |
Definition at line 41 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_FREQOFS
| #define HEUR_FREQOFS 2 |
Definition at line 42 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_MAXDEPTH
| #define HEUR_MAXDEPTH -1 |
Definition at line 43 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_TIMING
| #define HEUR_TIMING SCIP_HEURTIMING_AFTERLPPLUNGE |
Definition at line 44 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ HEUR_USESSUBSCIP
| #define HEUR_USESSUBSCIP FALSE |
does the heuristic use a secondary SCIP instance?
Definition at line 45 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DIVESET_DIVETYPES
| #define DIVESET_DIVETYPES SCIP_DIVETYPE_INTEGRALITY |
bit mask that represents all supported dive types
Definition at line 46 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MINRELDEPTH
| #define DEFAULT_MINRELDEPTH 0.0 |
minimal relative depth to start diving
Definition at line 53 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXRELDEPTH
| #define DEFAULT_MAXRELDEPTH 1.0 |
maximal relative depth to start diving
Definition at line 54 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXLPITERQUOT
| #define DEFAULT_MAXLPITERQUOT 0.05 |
maximal fraction of diving LP iterations compared to node LP iterations
Definition at line 55 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXLPITEROFS
| #define DEFAULT_MAXLPITEROFS 1000 |
additional number of allowed LP iterations
Definition at line 56 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXDIVEUBQUOT
| #define DEFAULT_MAXDIVEUBQUOT 0.8 |
maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)
Definition at line 57 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXDIVEAVGQUOT
| #define DEFAULT_MAXDIVEAVGQUOT 0.0 |
maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit)
Definition at line 60 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXDIVEUBQUOTNOSOL
| #define DEFAULT_MAXDIVEUBQUOTNOSOL 0.1 |
maximal UBQUOT when no solution was found yet (0.0: no limit)
Definition at line 63 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_MAXDIVEAVGQUOTNOSOL
| #define DEFAULT_MAXDIVEAVGQUOTNOSOL 0.0 |
maximal AVGQUOT when no solution was found yet (0.0: no limit)
Definition at line 64 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_BACKTRACK
| #define DEFAULT_BACKTRACK TRUE |
use one level of backtracking if infeasibility is encountered?
Definition at line 65 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_LPRESOLVEDOMCHGQUOT
| #define DEFAULT_LPRESOLVEDOMCHGQUOT 0.15 |
percentage of immediate domain changes during probing to trigger LP resolve
Definition at line 66 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_LPSOLVEFREQ
| #define DEFAULT_LPSOLVEFREQ 0 |
LP solve frequency for diving heuristics
Definition at line 67 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_ONLYLPBRANCHCANDS
| #define DEFAULT_ONLYLPBRANCHCANDS TRUE |
should only LP branching candidates be considered instead of the slower but more general constraint handler diving variable selection?
Definition at line 68 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
◆ DEFAULT_RANDSEED
| #define DEFAULT_RANDSEED 103 |
initial random seed
Definition at line 71 of file heur_pscostdiving.c.
Referenced by SCIPincludeHeurPscostdiving().
Function Documentation
◆ SCIP_DECL_HEURCOPY()
|
static |
copy method for primal heuristic plugins (called when SCIP copies plugins)
Definition at line 90 of file heur_pscostdiving.c.
◆ SCIP_DECL_HEURFREE()
|
static |
destructor of primal heuristic to free user data (called when SCIP is exiting)
Definition at line 104 of file heur_pscostdiving.c.
◆ SCIP_DECL_HEURINIT()
|
static |
initialization method of primal heuristic (called after problem was transformed)
Definition at line 124 of file heur_pscostdiving.c.
◆ SCIP_DECL_HEUREXIT()
|
static |
deinitialization method of primal heuristic (called before transformed problem is freed)
Definition at line 144 of file heur_pscostdiving.c.
◆ SCIP_DECL_HEUREXEC()
|
static |
execution method of primal heuristic
Definition at line 163 of file heur_pscostdiving.c.
◆ SCIP_DECL_DIVESETGETSCORE()
|
static |
returns a score for the given candidate – the best candidate maximizes the diving score
Definition at line 189 of file heur_pscostdiving.c.
