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-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 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 */
42  SCIP* scip /**< SCIP data structure */
43  );
44 
45 /** fix a variable (corresponding to an edge) to zero */
47  SCIP* scip, /**< SCIP data structure */
48  SCIP_VAR* edgevar, /**< the variable to be fixed */
49  int* nfixed /**< counter that is incriminated if variable could be fixed */
50  );
51 
52 /** return total number of arcs fixed by 'fixedgevar' method of this propagator */
54  SCIP* scip /**< SCIP data structure */
55  );
56 
57 /** gets propagator graph */
59  SCIP* scip, /**< SCIP data structure */
60  GRAPH** graph, /**< graph data */
61  SCIP_Longint* graphnodenumber /**< pointer to b&b node for which graph is valid */
62  );
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif
Definition: grph.h:57
int SCIPStpNfixedEdges(SCIP *scip)
Definition: prop_stp.c:865
Problem data for stp problem.
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE fixedgevar(SCIP *scip, SCIP_VAR *edgevar, int *nfixed)
Definition: prop_stp.c:848
SCIP_RETCODE SCIPincludePropStp(SCIP *scip)
Definition: prop_stp.c:904
includes various files containing graph methods used for Steiner tree problems
#define SCIP_Longint
Definition: def.h:148
void SCIPStpPropGetGraph(SCIP *scip, GRAPH **graph, SCIP_Longint *graphnodenumber)
Definition: prop_stp.c:883
SCIP callable library.