Scippy

SCIP

Solving Constraint Integer Programs

heur_slackprune.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 scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file heur_slackprune.h
17  * @ingroup PRIMALHEURISTICS
18  * @brief dual-ascent and reduction based primal heuristic for Steiner problems
19  * @author Daniel Rehfeldt
20  *
21  * This file implements a dual-ascent and reduction based heuristic for Steiner problems. It is based on an approach
22  * described in T. Polzin's "Algorithms for the Steiner problem in networks".
23  *
24  */
25 
26 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
27 
28 #ifndef __SCIP_HEUR_SLACKPRUNE_H__
29 #define __SCIP_HEUR_SLACKPRUNE_H__
30 
31 
32 #include "scip/scip.h"
33 #include "graph.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 /** creates the slack prune primal heuristic and includes it in SCIP */
41  SCIP* scip /**< SCIP data structure */
42  );
43 
44 /** execute slack-and-prune heuristic on given graph */
46  SCIP* scip, /**< SCIP data structure */
47  SCIP_VAR** vars, /**< problem variables or NULL */
48  GRAPH* g, /**< graph data structure */
49  int* soledge, /**< array to 1. provide and 2. return primal solution */
50  SCIP_Bool* success, /**< feasible solution found? */
51  SCIP_Bool initialreduce, /**< try to reduce graph initially? */
52  SCIP_Bool fullreduce /**< use full reduction techniques? */
53  );
54 
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
includes various files containing graph methods used for Steiner tree problems
#define SCIP_Bool
Definition: def.h:84
SCIP_RETCODE SCIPStpHeurSlackPruneRun(SCIP *scip, SCIP_VAR **vars, GRAPH *g, int *soledge, SCIP_Bool *success, SCIP_Bool initialreduce, SCIP_Bool fullreduce)
SCIP_RETCODE SCIPStpIncludeHeurSlackPrune(SCIP *scip)
SCIP callable library.