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-2020 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 "grph.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, /**< the graph */
49  int* soledge, /**< array to 1. provide and 2. return primal solution */
50  SCIP_Bool* success, /**< feasible solution found? */
51  SCIP_Bool reducegraph, /**< try to reduce graph initially? */
52  SCIP_Bool fullreduce /**< use full reduction techniques? */
53  );
54 
55 /** execute MWCSP slack-and-prune heuristic on given graph */
57  SCIP* scip, /**< SCIP data structure */
58  SCIP_VAR** vars, /**< problem variables or NULL */
59  GRAPH* g, /**< the graph */
60  int* soledge, /**< array to 1. provide and 2. return primal solution */
61  SCIP_Bool* success /**< feasible solution found? */
62  );
63 
64 
65 #ifdef __cplusplus
66 }
67 #endif
68 
69 #endif
Definition: grph.h:57
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
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:70
includes various files containing graph methods used for Steiner tree problems
SCIP_RETCODE SCIPStpIncludeHeurSlackPrune(SCIP *scip)
SCIP callable library.