pricestore_gcg.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 
33 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
34 
35 #ifndef __GCG_PRICESTORE_H__
36 #define __GCG_PRICESTORE_H__
37 
38 
39 #include "scip/def.h"
40 #include "blockmemshell/memory.h"
41 #include "scip/type_implics.h"
42 #include "scip/type_retcode.h"
43 #include "scip/type_set.h"
44 #include "scip/type_stat.h"
45 #include "scip/type_event.h"
46 #include "scip/type_lp.h"
47 #include "scip/type_prob.h"
48 #include "scip/type_tree.h"
49 #include "scip/type_reopt.h"
50 #include "scip/type_branch.h"
51 
52 #include "pub_colpool.h"
53 #include "pub_gcgcol.h"
54 #include "type_pricestore_gcg.h"
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
61 extern
62 SCIP_RETCODE GCGpricestoreCreate(
63  SCIP* scip,
64  GCG_PRICESTORE** pricestore,
65  SCIP_Real redcostfac,
66  SCIP_Real objparalfac,
67  SCIP_Real orthofac,
68  SCIP_Real mincolorth,
70  GCG_EFFICIACYCHOICE efficiacychoice
71  );
72 
74 extern
75 SCIP_RETCODE GCGpricestoreFree(
76  SCIP* scip,
77  GCG_PRICESTORE** pricestore
78  );
79 
81 extern
83  GCG_PRICESTORE* pricestore
84  );
85 
87 extern
89  GCG_PRICESTORE* pricestore
90  );
91 
93 extern
95  GCG_PRICESTORE* pricestore
96  );
97 
99 extern
101  GCG_PRICESTORE* pricestore
102  );
103 
107 extern
108 SCIP_RETCODE GCGpricestoreAddCol(
109  SCIP* scip,
110  GCG_PRICESTORE* pricestore,
111  GCG_COL* col,
112  SCIP_Bool forcecol
113  );
114 
116 extern
117 SCIP_RETCODE GCGpricestoreApplyCols(
118  GCG_PRICESTORE* pricestore,
119  GCG_COLPOOL* colpool,
120  SCIP_Bool usecolpool,
121  int* nfoundvars
122  );
123 
125 extern
127  GCG_PRICESTORE* pricestore
128  );
129 
131 extern
133  GCG_PRICESTORE* pricestore
134  );
135 
137 extern
139  GCG_PRICESTORE* pricestore
140  );
141 
143 extern
145  GCG_PRICESTORE* pricestore
146  );
147 
149 extern
151  GCG_PRICESTORE* pricestore
152  );
153 
155 extern
157  GCG_PRICESTORE* pricestore
158  );
159 
161 extern
163  GCG_PRICESTORE* pricestore
164  );
165 
167 extern
169  GCG_PRICESTORE* pricestore
170  );
171 
173 extern
174 SCIP_Real GCGpricestoreGetTime(
175  GCG_PRICESTORE* pricestore
176  );
177 
178 #ifdef __cplusplus
179 }
180 #endif
181 
182 #endif
int GCGpricestoreGetNColsApplied(GCG_PRICESTORE *pricestore)
int GCGpricestoreGetNColsFound(GCG_PRICESTORE *pricestore)
SCIP_RETCODE GCGpricestoreApplyCols(GCG_PRICESTORE *pricestore, GCG_COLPOOL *colpool, SCIP_Bool usecolpool, int *nfoundvars)
int GCGpricestoreGetNCols(GCG_PRICESTORE *pricestore)
void GCGpricestoreEndFarkas(GCG_PRICESTORE *pricestore)
struct GCG_PriceStore GCG_PRICESTORE
SCIP_RETCODE GCGpricestoreFree(SCIP *scip, GCG_PRICESTORE **pricestore)
void GCGpricestoreRemoveInefficaciousCols(GCG_PRICESTORE *pricestore)
public methods for working with gcg columns
int GCGpricestoreGetNColsFoundRound(GCG_PRICESTORE *pricestore)
struct GCG_Col GCG_COL
Definition: type_gcgcol.h:45
struct GCG_Colpool GCG_COLPOOL
Definition: type_colpool.h:30
void GCGpricestoreStartFarkas(GCG_PRICESTORE *pricestore)
void GCGpricestoreStartForceCols(GCG_PRICESTORE *pricestore)
GCG_COL ** GCGpricestoreGetCols(GCG_PRICESTORE *pricestore)
SCIP_RETCODE GCGpricestoreAddCol(SCIP *scip, GCG_PRICESTORE *pricestore, GCG_COL *col, SCIP_Bool forcecol)
public methods for storing cols in a col pool
void GCGpricestoreEndForceCols(GCG_PRICESTORE *pricestore)
int GCGpricestoreGetNEfficaciousCols(GCG_PRICESTORE *pricestore)
void GCGpricestoreClearCols(GCG_PRICESTORE *pricestore)
SCIP_Real GCGpricestoreGetTime(GCG_PRICESTORE *pricestore)
enum GCG_Efficiacychoice GCG_EFFICIACYCHOICE
SCIP_RETCODE GCGpricestoreCreate(SCIP *scip, GCG_PRICESTORE **pricestore, SCIP_Real redcostfac, SCIP_Real objparalfac, SCIP_Real orthofac, SCIP_Real mincolorth, GCG_EFFICIACYCHOICE efficiacychoice)