Scippy

SCIP

Solving Constraint Integer Programs

prop_stp.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 prop_stp.h
17  * @brief propagator for Steiner tree problems, using the LP reduced costs
18  * @author Daniel Rehfeldt
19  *
20  * This propagator makes use of the reduced cost of an optimally solved LP relaxation to propagate the variables, see
21  * "SCIP-Jack - A solver for STP and variants with parallelization extensions" by
22  * Gamrath, Koch, Maher, Rehfeldt and Shinano
23  */
24 
25 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
26 
27 #ifndef __SCIP_PROP_STP_H__
28 #define __SCIP_PROP_STP_H__
29 
30 #include <stdio.h>
31 #include <stdlib.h>
32 #include "scip/scip.h"
33 #include "grph.h"
34 #include "probdata_stp.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 /** creates the stp propagator and includes it in SCIP */
43  SCIP* scip /**< SCIP data structure */
44  );
45 
46 /** fix a variable (corresponding to an edge) to zero */
49  SCIP* scip, /**< SCIP data structure */
50  SCIP_VAR* edgevar, /**< the variable to be fixed */
51  int* nfixed /**< counter that is incriminated if variable could be fixed */
52  );
53 
54 /** return total number of arcs fixed by 'fixedgevar' method of this propagator */
57  SCIP* scip /**< SCIP data structure */
58  );
59 
60 /** gets propagator graph */
63  SCIP* scip, /**< SCIP data structure */
64  GRAPH** graph, /**< graph data */
65  SCIP_Longint* graphnodenumber /**< pointer to b&b node for which graph is valid */
66  );
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 #endif
Definition: grph.h:57
SCIP_EXPORT void SCIPStpPropGetGraph(SCIP *scip, GRAPH **graph, SCIP_Longint *graphnodenumber)
Definition: prop_stp.c:883
#define SCIP_EXPORT
Definition: def.h:98
Problem data for stp problem.
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_EXPORT SCIP_RETCODE SCIPincludePropStp(SCIP *scip)
Definition: prop_stp.c:904
SCIP_EXPORT int SCIPStpNfixedEdges(SCIP *scip)
Definition: prop_stp.c:865
SCIP_EXPORT SCIP_RETCODE fixedgevar(SCIP *scip, SCIP_VAR *edgevar, int *nfixed)
Definition: prop_stp.c:848
includes various files containing graph methods used for Steiner tree problems
#define SCIP_Longint
Definition: def.h:149
SCIP callable library.