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-2019 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_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 "grph.h"
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 /** creates the slack prune primal heuristic and includes it in SCIP */
40 extern
42  SCIP* scip /**< SCIP data structure */
43  );
44 
45 /** execute slack-and-prune heuristic on given graph */
46 extern
48  SCIP* scip, /**< SCIP data structure */
49  SCIP_VAR** vars, /**< problem variables or NULL */
50  GRAPH* g, /**< the graph */
51  int* soledge, /**< array to 1. provide and 2. return primal solution */
52  SCIP_Bool* success, /**< feasible solution found? */
53  SCIP_Bool reducegraph, /**< try to reduce graph initially? */
54  SCIP_Bool fullreduce /**< use full reduction techniques? */
55  );
56 
57 /** execute MWCSP slack-and-prune heuristic on given graph */
58 extern
60  SCIP* scip, /**< SCIP data structure */
61  SCIP_VAR** vars, /**< problem variables or NULL */
62  GRAPH* g, /**< the graph */
63  int* soledge, /**< array to 1. provide and 2. return primal solution */
64  SCIP_Bool* success /**< feasible solution found? */
65  );
66 
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 #endif
Definition: grph.h:57
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_RETCODE SCIPStpHeurSlackPruneRunPcMw(SCIP *scip, SCIP_VAR **vars, GRAPH *g, int *soledge, SCIP_Bool *success)
SCIP_RETCODE SCIPStpHeurSlackPruneRun(SCIP *scip, SCIP_VAR **vars, GRAPH *g, int *soledge, SCIP_Bool *success, SCIP_Bool reducegraph, SCIP_Bool fullreduce)
#define SCIP_Bool
Definition: def.h:69
includes various files containing graph methods used for Steiner tree problems
SCIP_RETCODE SCIPStpIncludeHeurSlackPrune(SCIP *scip)
SCIP callable library.