Scippy

SCIP

Solving Constraint Integer Programs

heur_lurkprune.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program and library */
4 /* SCIP --- Solving Constraint Integer Programs */
5 /* */
6 /* Copyright (C) 2002-2022 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scip.zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file heur_lurkprune.h
17  * @ingroup PRIMALHEURISTICS
18  * @brief reduction based primal heuristic for Steiner problems
19  * @author Daniel Rehfeldt
20  *
21  * This file implements a reduction based heuristic for Steiner problems that makes use of lurking bounds.
22  *
23  */
24 
25 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
26 
27 #ifndef __SCIP_HEUR_LURKPRUNE_H__
28 #define __SCIP_HEUR_LURKPRUNE_H__
29 
30 
31 #include "scip/scip.h"
32 #include "graph.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /** creates the lurk prune primal heuristic and includes it in SCIP */
39 SCIP_EXPORT
41  SCIP* scip /**< SCIP data structure */
42  );
43 
44 /** execute lurk-and-prune heuristic on given graph */
45 SCIP_EXPORT
47  SCIP* scip, /**< SCIP data structure */
48  SCIP_VAR** vars, /**< problem variables or NULL */
49  const SCIP_Real* lurkingbounds, /**< lurking edge bounds */
50  GRAPH* g, /**< graph data structure */
51  SCIP_Bool initialreduce, /**< try to reduce graph initially? */
52  SCIP_Bool ascendprune, /**< use ascend-prune? */
53  int* soledge, /**< array to 1. provide and 2. return primal solution */
54  SCIP_Bool* solimproved /**< could a better solution be found? */
55  );
56 
57 #ifdef __cplusplus
58 }
59 #endif
60 
61 #endif
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
includes various files containing graph methods used for Steiner tree problems
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)
SCIP_RETCODE SCIPStpIncludeHeurLurkPrune(SCIP *scip)
#define SCIP_Bool
Definition: def.h:84
#define SCIP_Real
Definition: def.h:177
SCIP callable library.