Scippy

SCIP

Solving Constraint Integer Programs

heur_lurkprune.h File Reference

Detailed Description

reduction based primal heuristic for Steiner problems

Author
Daniel Rehfeldt

This file implements a reduction based heuristic for Steiner problems that makes use of lurking bounds.

Definition in file heur_lurkprune.h.

#include "scip/scip.h"
#include "graph.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPStpIncludeHeurLurkPrune (SCIP *scip)
 
SCIP_RETCODE SCIPStpHeurLurkPruneRun (SCIP *scip, SCIP_VAR **vars, const SCIP_Real *lurkingbounds, GRAPH *g, SCIP_Bool initialreduce, SCIP_Bool ascendprune, int *soledge, SCIP_Bool *solimproved)
 

Function Documentation

◆ SCIPStpIncludeHeurLurkPrune()

SCIP_RETCODE SCIPStpIncludeHeurLurkPrune ( SCIP scip)

creates the lurk prune primal heuristic and includes it in SCIP

creates the lurkprune primal heuristic and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 792 of file heur_lurkprune.c.

References DEFAULT_LURKPRUNE_MAXFREQ, FALSE, HEUR_DESC, HEUR_DISPCHAR, HEUR_FREQ, HEUR_FREQOFS, HEUR_MAXDEPTH, HEUR_NAME, HEUR_PRIORITY, HEUR_TIMING, HEUR_USESSUBSCIP, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPallocMemory, SCIPincludeHeurBasic(), SCIPsetHeurCopy(), SCIPsetHeurExitsol(), SCIPsetHeurFree(), SCIPsetHeurInit(), and SCIPsetHeurInitsol().

Referenced by runShell(), SCIP_DECL_HEURCOPY(), and subscipSetupCallbacks().

◆ SCIPStpHeurLurkPruneRun()

SCIP_RETCODE SCIPStpHeurLurkPruneRun ( SCIP scip,
SCIP_VAR **  vars,
const SCIP_Real lurkingbounds,
GRAPH g,
SCIP_Bool  initialreduce,
SCIP_Bool  ascendprune,
int *  soledge,
SCIP_Bool solimproved 
)

execute lurk-and-prune heuristic on given graph

Parameters
scipSCIP data structure
varsproblem variables or NULL
lurkingboundslurking edge bounds
ggraph data structure
initialreducetry to reduce graph initially?
ascendpruneuse ascend-prune?
soledgearray to 1. provide and 2. return primal solution
solimprovedcould a better solution be found?

Definition at line 731 of file heur_lurkprune.c.

References GRAPH::extended, FALSE, graph_pc_isPcMw(), LURKPRUNE_MAXREDROUNDS, lurkpruneFinalize(), lurkpruneInit(), NULL, reduceExact(), reduceFixedVars(), reduceLurk(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, solstp_isValid(), GRAPH::terms, and updateSolution().

Referenced by SCIP_DECL_HEUREXEC().