cons_masterbranch.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /* */
3 /* This file is part of the program */
4 /* GCG --- Generic Column Generation */
5 /* a Dantzig-Wolfe decomposition based extension */
6 /* of the branch-cut-and-price framework */
7 /* SCIP --- Solving Constraint Integer Programs */
8 /* */
9 /* Copyright (C) 2010-2018 Operations Research, RWTH Aachen University */
10 /* Zuse Institute Berlin (ZIB) */
11 /* */
12 /* This program is free software; you can redistribute it and/or */
13 /* modify it under the terms of the GNU Lesser General Public License */
14 /* as published by the Free Software Foundation; either version 3 */
15 /* of the License, or (at your option) any later version. */
16 /* */
17 /* This program is distributed in the hope that it will be useful, */
18 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
19 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
20 /* GNU Lesser General Public License for more details. */
21 /* */
22 /* You should have received a copy of the GNU Lesser General Public License */
23 /* along with this program; if not, write to the Free Software */
24 /* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.*/
25 /* */
26 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27 
36 #ifndef GCG_CONS_MASTERBRANCH_H__
37 #define GCG_CONS_MASTERBRANCH_H__
38 
39 #include "scip/scip.h"
40 #include "type_branchgcg.h"
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 
48 extern
50  SCIP* scip
51  );
52 
54 extern
55 SCIP_RETCODE GCGcreateConsMasterbranch(
56  SCIP* scip,
57  SCIP_CONS** cons,
58  const char* name,
59  SCIP_NODE* node,
60  SCIP_CONS* parentcons,
61  SCIP_BRANCHRULE* branchrule,
62  GCG_BRANCHDATA* branchdata,
63  SCIP_CONS** origbranchconss,
64  int norigbranchconss
65  );
66 
68 extern
70  SCIP_CONS* cons
71  );
72 
74 extern
76  SCIP_CONS* cons
77  );
78 
82 extern
84  SCIP_CONS* cons
85  );
86 
90 extern
92  SCIP_CONS* cons
93  );
94 
98 extern
100  SCIP_CONS* cons,
101  int childnr
102  );
103 
107 extern
109  SCIP_CONS* cons
110  );
111 
115 extern
117  SCIP_CONS* cons,
118  SCIP_CONS* origcons
119  );
120 
122 extern
124  SCIP_CONS* cons
125  );
126 
128 extern
129 SCIP_BRANCHRULE* GCGconsMasterbranchGetBranchrule(
130  SCIP_CONS* cons
131  );
132 
134 extern
136  SCIP* scip,
137  SCIP_CONS* cons,
138  SCIP_VAR* var,
139  GCG_BOUNDTYPE boundtype,
140  SCIP_Real newbound
141  );
142 
144 extern
146  SCIP_CONS* cons
147  );
148 
150 extern
152  SCIP_CONS* cons
153  );
154 
158 extern
160  SCIP* masterscip,
161  SCIP* origscip,
162  SCIP_CONS* cons
163  );
164 
166 extern
168  SCIP* scip
169  );
170 
172 extern
174  SCIP* scip,
175  SCIP_CONS*** stack,
176  int* nstackelements
177  );
178 
180 extern
182  SCIP* scip
183  );
184 
186 extern
187 SCIP_RETCODE GCGconsMasterbranchAddRootCons(
188  SCIP* scip
189  );
190 
192 extern
193 SCIP_Bool GCGcurrentNodeIsGeneric(
194  SCIP* scip
195  );
196 
198 extern
200  SCIP* scip
201  );
202 
203 #ifdef __cplusplus
204 }
205 #endif
206 
207 #endif
SCIP_RETCODE SCIPincludeConshdlrMasterbranch(SCIP *scip)
SCIP_Bool GCGcurrentNodeIsGeneric(SCIP *scip)
int GCGconsMasterbranchGetNOrigbranchConss(SCIP_CONS *cons)
GCG_BRANCHDATA * GCGconsMasterbranchGetBranchdata(SCIP_CONS *cons)
SCIP_BRANCHRULE * GCGconsMasterbranchGetBranchrule(SCIP_CONS *cons)
int GCGconsMasterbranchGetNChildconss(SCIP_CONS *cons)
void GCGconsMasterbranchCheckConsistency(SCIP *scip)
SCIP_CONS * GCGconsMasterbranchGetChildcons(SCIP_CONS *cons, int childnr)
SCIP_CONS ** GCGconsMasterbranchGetOrigbranchConss(SCIP_CONS *cons)
enum GCG_BoundType GCG_BOUNDTYPE
SCIP_CONS * GCGconsMasterbranchGetActiveCons(SCIP *scip)
char * GCGconsMasterbranchGetName(SCIP_CONS *cons)
SCIP_RETCODE GCGcreateConsMasterbranch(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_NODE *node, SCIP_CONS *parentcons, SCIP_BRANCHRULE *branchrule, GCG_BRANCHDATA *branchdata, SCIP_CONS **origbranchconss, int norigbranchconss)
SCIP_RETCODE GCGconsMasterbranchAddCopiedVarBndchg(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, GCG_BOUNDTYPE boundtype, SCIP_Real newbound)
void GCGconsMasterbranchGetStack(SCIP *scip, SCIP_CONS ***stack, int *nstackelements)
SCIP_RETCODE GCGconsMasterbranchReleaseOrigbranchConss(SCIP *masterscip, SCIP *origscip, SCIP_CONS *cons)
SCIP_RETCODE GCGconsMasterbranchAddRootCons(SCIP *scip)
type definitions for branching rules in GCG projects
SCIP_NODE * GCGconsMasterbranchGetNode(SCIP_CONS *cons)
SCIP_CONS * GCGconsMasterbranchGetParentcons(SCIP_CONS *cons)
SCIP_CONS * GCGconsMasterbranchGetOrigcons(SCIP_CONS *cons)
int GCGconsMasterbranchGetNStackelements(SCIP *scip)
void GCGconsMasterbranchSetOrigcons(SCIP_CONS *cons, SCIP_CONS *origcons)