Scippy

SCIP

Solving Constraint Integer Programs

cons_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-2015 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 email to scip@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file cons_stp.h
17  * @brief Constraint handler for Steiner problems
18  * @author Gerald Gamrath
19  * @author Daniel Rehfeldt
20  * @author Michael Winkler
21  *
22  * This file checks solutions for feasibility and separates violated model constraints. For more details see \ref CONS page.
23  */
24 
25 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
26 
27 #ifndef __SCIP_CONS_STP_H__
28 #define __SCIP_CONS_STP_H__
29 
30 
31 #include "scip/scip.h"
32 #include "grph.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /** creates the handler for element constraints and includes it in SCIP */
39 extern
40 SCIP_RETCODE SCIPincludeConshdlrStp(
41  SCIP* scip /**< SCIP data structure */
42  );
43 
44 /** creates and captures a stp constraint */
45 extern
46 SCIP_RETCODE SCIPcreateConsStp(
47  SCIP* scip, /**< SCIP data structure */
48  SCIP_CONS** cons, /**< pointer to hold the created constraint */
49  const char* name, /**< name of constraint */
50  GRAPH* graph /**< graph data structure */
51  );
52 
53 /** dual ascent heuristic */
54 extern
55 SCIP_RETCODE SCIPdualAscentStp(
56  SCIP* scip, /**< SCIP data structure */
57  GRAPH* g, /**< graph data structure */
58  SCIP_Real* redcost, /**< array to store reduced costs or NULL */
59  SCIP_Real* objval, /**< pointer to store objective value */
60  SCIP_Bool addcuts, /**< should dual ascent add Steiner cuts? */
61  GNODE** gnodearrterms, /**< gnode terminals array for internal computations or NULL */
62  int* edgearrint, /**< int edges array for internal computations or NULL */
63  int* nodearrint, /**< int vertices array for internal computations or NULL */
64  int root, /**< the root */
65  int nruns, /**< number of dual ascent runs */
66  char* edgearrchar, /**< char edges array for internal computations or NULL */
67  char* nodearrchar /**< char vertices array for internal computations or NULL */
68  );
69 
70 /** dual ascent heuristic for the PCSPG and the MWCSP */
71 extern
72 SCIP_RETCODE SCIPdualAscentPcStp(
73  SCIP* scip, /**< SCIP data structure */
74  GRAPH* g, /**< graph data structure */
75  SCIP_Real* redcost, /**< array to store reduced costs or NULL */
76  SCIP_Real* objval, /**< pointer to store objective value */
77  SCIP_Bool addcuts, /**< should dual ascent add Steiner cuts? */
78  int nruns /**< number of dual ascent runs */
79  );
80 
81 /** dual ascent heuristic, adding cuts */
82 extern
83 SCIP_RETCODE SCIPdualAscentAddCutsStp(
84  SCIP* scip, /**< SCIP data structure */
85  GRAPH* g, /**< graph data structure */
86  int nruns /**< number of dual ascent runs */
87  );
88 
89 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #endif
Definition: grph.h:55
SCIP_RETCODE SCIPdualAscentStp(SCIP *scip, GRAPH *g, SCIP_Real *redcost, SCIP_Real *objval, SCIP_Bool addcuts, GNODE **gnodearrterms, int *edgearrint, int *nodearrint, int root, int nruns, char *edgearrchar, char *nodearrchar)
Definition: cons_stp.c:1161
SCIP_RETCODE SCIPdualAscentAddCutsStp(SCIP *scip, GRAPH *g, int nruns)
Definition: cons_stp.c:2012
SCIP_RETCODE SCIPincludeConshdlrStp(SCIP *scip)
Definition: cons_stp.c:1070
includes various files containing graph methods used for Steiner problems
SCIP_RETCODE SCIPcreateConsStp(SCIP *scip, SCIP_CONS **cons, const char *name, GRAPH *graph)
Definition: cons_stp.c:1131
SCIP_RETCODE SCIPdualAscentPcStp(SCIP *scip, GRAPH *g, SCIP_Real *redcost, SCIP_Real *objval, SCIP_Bool addcuts, int nruns)
Definition: cons_stp.c:1602