Scippy

SCIP

Solving Constraint Integer Programs

heur_ascendprune.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-2021 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_ascendprune.h
17  * @ingroup PRIMALHEURISTICS
18  * @brief reduction and dual-cost based primal heuristic for Steiner problems
19  * @author Daniel Rehfeldt
20  *
21  * This file implements a reducion and dual-cost 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_ASCENTPRUNE_H__
29 #define __SCIP_HEUR_ASCENTPRUNE_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 prune primal heuristic and includes it in SCIP */
41  SCIP* scip /**< SCIP data structure */
42  );
43 
44 
45 /** ascent and prune */
47  SCIP* scip, /**< SCIP data structure */
48  SCIP_HEUR* heur, /**< heuristic data structure or NULL */
49  const GRAPH* g, /**< the graph */
50  const SCIP_Real* redcosts, /**< the reduced costs */
51  int* edgearrint, /**< int edges array to store solution */
52  int* nodearrint, /**< int vertices array for internal computations */
53  int root, /**< the root (used for dual ascent) */
54  STP_Bool* nodearrchar, /**< char vertices array for internal computations */
55  SCIP_Bool* solfound, /**< has a solution been found? */
56  SCIP_Bool addsol /**< should the solution be added to SCIP by this method? */
57  );
58 
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 
64 #endif
Definition: grph.h:57
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE SCIPStpHeurAscendPruneRun(SCIP *scip, SCIP_HEUR *heur, const GRAPH *g, const SCIP_Real *redcosts, int *edgearrint, int *nodearrint, int root, STP_Bool *nodearrchar, SCIP_Bool *solfound, SCIP_Bool addsol)
unsigned char STP_Bool
Definition: grph.h:52
SCIP_RETCODE SCIPStpIncludeHeurAscendPrune(SCIP *scip)
#define SCIP_Bool
Definition: def.h:70
includes various files containing graph methods used for Steiner tree problems
#define SCIP_Real
Definition: def.h:163
SCIP callable library.