gcgplugins.c
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 
35 /*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
36 
37 #include "gcgplugins.h"
38 #include "scip/debug.h"
39 
40 #define USEHEURS 1
41 #define USESEPA 1
42 #define USEPROP 1
43 
44 /* include header files here, such that the user only has to include
45  * gcgplugins.h
46  */
47 #include "scip/cons_indicator.h"
48 #include "scip/cons_integral.h"
49 #include "scip/cons_knapsack.h"
50 #include "scip/cons_linear.h"
51 #include "scip/cons_logicor.h"
52 #include "scip/cons_setppc.h"
53 #include "scip/cons_varbound.h"
54 
55 
56 #if USEHEURS
57 #include "scip/heur_actconsdiving.h"
58 #include "scip/heur_clique.h"
59 #include "scip/heur_coefdiving.h"
60 #include "scip/heur_crossover.h"
61 #include "scip/heur_dins.h"
62 #include "scip/heur_dualval.h"
63 #include "scip/heur_feaspump.h"
64 #include "scip/heur_fixandinfer.h"
65 #include "scip/heur_fracdiving.h"
66 #include "scip/heur_guideddiving.h"
67 #include "scip/heur_intdiving.h"
68 #include "scip/heur_intshifting.h"
69 #include "scip/heur_linesearchdiving.h"
70 #include "scip/heur_localbranching.h"
71 #include "scip/heur_mutation.h"
72 #include "scip/heur_nlpdiving.h"
73 #include "scip/heur_objpscostdiving.h"
74 #include "scip/heur_octane.h"
75 #include "scip/heur_oneopt.h"
76 #include "scip/heur_proximity.h"
77 #include "scip/heur_pscostdiving.h"
78 #include "scip/heur_randrounding.h"
79 #include "scip/heur_rens.h"
80 #include "scip/heur_rins.h"
81 #include "scip/heur_rootsoldiving.h"
82 #include "scip/heur_rounding.h"
83 #include "scip/heur_shiftandpropagate.h"
84 #include "scip/heur_shifting.h"
85 #include "scip/heur_simplerounding.h"
86 #include "scip/heur_subnlp.h"
87 #include "scip/heur_trivial.h"
88 #include "scip/heur_trysol.h"
89 #include "scip/heur_twoopt.h"
90 #include "scip/heur_undercover.h"
91 #include "scip/heur_vbounds.h"
92 #include "scip/heur_veclendiving.h"
93 #include "scip/heur_zirounding.h"
94 #include "scip/heur_zeroobj.h"
95 #endif
96 
97 #include "scip/nodesel_bfs.h"
98 #include "scip/nodesel_dfs.h"
99 #include "scip/nodesel_estimate.h"
100 #include "scip/nodesel_hybridestim.h"
101 #include "scip/nodesel_restartdfs.h"
102 
103 #include "scip/presol_implics.h"
104 #include "scip/presol_inttobinary.h"
105 #include "scip/presol_trivial.h"
106 #include "scip/presol_boundshift.h"
107 #include "scip/presol_domcol.h"
108 #include "scip/presol_convertinttobin.h"
109 
110 #if USEPROP
111 #include "scip/prop_dualfix.h"
112 #include "scip/prop_probing.h"
113 #include "scip/prop_pseudoobj.h"
114 #include "scip/prop_rootredcost.h"
115 #include "scip/prop_redcost.h"
116 #include "scip/prop_genvbounds.h"
117 #include "scip/prop_vbounds.h"
118 #include "scip/prop_obbt.h"
119 #endif
120 
121 #include "scip/reader_bnd.h"
122 #include "scip/reader_ccg.h"
123 #include "scip/reader_cip.h"
124 #include "scip/reader_cnf.h"
125 #include "scip/reader_fix.h"
126 #include "scip/reader_fzn.h"
127 #include "scip/reader_gms.h"
128 #include "scip/reader_lp.h"
129 #include "scip/reader_mps.h"
130 #include "scip/reader_opb.h"
131 #include "scip/reader_osil.h"
132 #include "scip/reader_pip.h"
133 #include "scip/reader_pbm.h"
134 #include "scip/reader_rlp.h"
135 #include "scip/reader_sol.h"
136 #include "scip/reader_wbo.h"
137 #include "scip/reader_zpl.h"
138 
139 #if USESEPA
140 #include "scip/sepa_clique.h"
141 #include "scip/sepa_gomory.h"
142 #include "scip/sepa_impliedbounds.h"
143 #include "scip/sepa_intobj.h"
144 #include "scip/sepa_mcf.h"
145 #include "scip/sepa_oddcycle.h"
146 #include "scip/sepa_strongcg.h"
147 #include "scip/sepa_zerohalf.h"
148 
150 #include "scip/sepa_closecuts.h"
151 #include "scip/sepa_rapidlearning.h"
152 #endif
153 
154 
155 #include "scip/scipshell.h"
156 #include "reader_blk.h"
157 #include "reader_dec.h"
158 #include "pricer_gcg.h"
159 #include "relax_gcg.h"
160 #include "branch_empty.h"
161 
162 #include "cons_origbranch.h"
163 #include "disp_gcg.h"
164 #include "dialog_gcg.h"
165 #include "reader_ref.h"
166 #include "event_bestsol.h"
167 #include "event_mastersol.h"
168 
169 /* Martin's detection stuff */
170 #include "cons_decomp.h"
171 #include "dec_connected.h"
172 
173 /* visualization */
174 #include "params_visu.h"
175 #include "reader_gp.h"
176 #include "reader_tex.h"
177 #include "reader_cls.h"
178 
179 #ifdef WITH_BLISS
180 #include "dec_isomorph.h"
181 #endif
182 
183 /* new detection stuff */
184 #include "dec_constype.h"
185 #include "dec_consclass.h"
186 #include "dec_densemasterconss.h"
187 #include "dec_stairheur.h"
188 #include "dec_staircase.h"
189 #include "dec_random.h"
190 #include "dec_colors.h"
191 #include "dec_compgreedily.h"
192 #include "dec_staircase_lsp.h"
193 #include "dec_consname.h"
194 #include "dec_postprocess.h"
195 #include "dec_mastersetpack.h"
196 #include "dec_mastersetpart.h"
197 #include "dec_mastersetcover.h"
198 #include "dec_hrcgpartition.h"
199 #include "dec_hrgpartition.h"
200 #include "dec_hcgpartition.h"
201 #include "dec_connectedbase.h"
206 #include "dec_staircase_lsp.h"
207 #include "dec_varclass.h"
208 
209 
210 /* Christian's heuristics */
211 #include "heur_gcgcoefdiving.h"
212 #include "heur_gcgdins.h"
213 #include "heur_gcgfeaspump.h"
214 #include "heur_gcgfracdiving.h"
215 #include "heur_gcgguideddiving.h"
216 #include "heur_gcglinesdiving.h"
217 #include "heur_gcgpscostdiving.h"
218 #include "heur_gcgrens.h"
219 #include "heur_gcgrins.h"
220 #include "heur_gcgrounding.h"
221 #include "heur_gcgshifting.h"
222 #include "heur_gcgsimplerounding.h"
223 #include "heur_gcgveclendiving.h"
224 #include "heur_gcgzirounding.h"
225 #include "heur_origdiving.h"
226 #include "heur_xpcrossover.h"
227 #include "heur_xprins.h"
228 
229 /* Friedrike's detection stuff */
230 #include "dec_cutpacking.h"
231 #include "scip_misc.h"
232 #include "scip/table_default.h"
233 
234 /* Igor's detection with clustering */
235 #include "dec_dbscan.h"
236 #include "dec_mst.h"
237 #ifdef WITH_GSL
238 #include "dec_mcl.h"
239 #endif
240 
243  SCIP* scip
244  )
245 {
246  SCIP_CALL( SCIPincludeConshdlrLinear(scip) ); /* linear must be first due to constraint upgrading */
247  SCIP_CALL( SCIPincludeConshdlrIndicator(scip) );
248  SCIP_CALL( SCIPincludeConshdlrIntegral(scip) );
249  SCIP_CALL( SCIPincludeConshdlrKnapsack(scip) );
250  SCIP_CALL( SCIPincludeConshdlrLogicor(scip) );
251  SCIP_CALL( SCIPincludeConshdlrSetppc(scip) );
252  SCIP_CALL( SCIPincludeConshdlrVarbound(scip) );
253 
254  SCIP_CALL( SCIPincludeReaderBnd(scip) );
255  SCIP_CALL( SCIPincludeReaderCcg(scip) );
256  SCIP_CALL( SCIPincludeReaderCip(scip) );
257  SCIP_CALL( SCIPincludeReaderCnf(scip) );
258  SCIP_CALL( SCIPincludeReaderFix(scip) );
259  SCIP_CALL( SCIPincludeReaderFzn(scip) );
260  SCIP_CALL( SCIPincludeReaderGms(scip) );
261  SCIP_CALL( SCIPincludeReaderLp(scip) );
262  SCIP_CALL( SCIPincludeReaderMps(scip) );
263  SCIP_CALL( SCIPincludeReaderOpb(scip) );
264  SCIP_CALL( SCIPincludeReaderOsil(scip) );
265  SCIP_CALL( SCIPincludeReaderPip(scip) );
266  SCIP_CALL( SCIPincludeReaderPbm(scip) );
267  SCIP_CALL( SCIPincludeReaderRlp(scip) );
268  SCIP_CALL( SCIPincludeReaderSol(scip) );
269  SCIP_CALL( SCIPincludeReaderWbo(scip) );
270  SCIP_CALL( SCIPincludeReaderZpl(scip) );
271 
272  SCIP_CALL( SCIPincludePresolBoundshift(scip) );
273  SCIP_CALL( SCIPincludePresolImplics(scip) );
274  SCIP_CALL( SCIPincludePresolInttobinary(scip) );
275  SCIP_CALL( SCIPincludePresolTrivial(scip) );
276  SCIP_CALL( SCIPincludePresolDomcol(scip) );
277  SCIP_CALL( SCIPincludePresolConvertinttobin(scip) );
278 
279  SCIP_CALL( SCIPincludeNodeselBfs(scip) );
280  SCIP_CALL( SCIPincludeNodeselDfs(scip) );
281  SCIP_CALL( SCIPincludeNodeselEstimate(scip) );
282  SCIP_CALL( SCIPincludeNodeselHybridestim(scip) );
283  SCIP_CALL( SCIPincludeNodeselRestartdfs(scip) );
284 
285 #if USEPROP
286  SCIP_CALL( SCIPincludePropDualfix(scip) );
287  SCIP_CALL( SCIPincludePropPseudoobj(scip) );
288  SCIP_CALL( SCIPincludePropRootredcost(scip) );
289  SCIP_CALL( SCIPincludePropGenvbounds(scip) );
290  SCIP_CALL( SCIPincludePropProbing(scip) );
291  SCIP_CALL( SCIPincludePropRedcost(scip) );
292  SCIP_CALL( SCIPincludePropVbounds(scip) );
293  SCIP_CALL( SCIPincludePropObbt(scip) );
294 #endif
295 
296 
297 #if USEHEURS
298  SCIP_CALL( SCIPincludeHeurActconsdiving(scip) );
299  SCIP_CALL( SCIPincludeHeurClique(scip) );
300  SCIP_CALL( SCIPincludeHeurCoefdiving(scip) );
301  SCIP_CALL( SCIPincludeHeurCrossover(scip) );
302  SCIP_CALL( SCIPincludeHeurDins(scip) );
303  SCIP_CALL( SCIPincludeHeurDualval(scip) );
304  SCIP_CALL( SCIPincludeHeurFeaspump(scip) );
305  SCIP_CALL( SCIPincludeHeurFixandinfer(scip) );
306  SCIP_CALL( SCIPincludeHeurFracdiving(scip) );
307  SCIP_CALL( SCIPincludeHeurGuideddiving(scip) );
308  SCIP_CALL( SCIPincludeHeurIntdiving(scip) );
309  SCIP_CALL( SCIPincludeHeurIntshifting(scip) );
310  SCIP_CALL( SCIPincludeHeurLinesearchdiving(scip) );
311  SCIP_CALL( SCIPincludeHeurLocalbranching(scip) );
312  SCIP_CALL( SCIPincludeHeurMutation(scip) );
313  SCIP_CALL( SCIPincludeHeurNlpdiving(scip) );
314  SCIP_CALL( SCIPincludeHeurObjpscostdiving(scip) );
315  SCIP_CALL( SCIPincludeHeurOctane(scip) );
316  SCIP_CALL( SCIPincludeHeurOneopt(scip) );
317  SCIP_CALL( SCIPincludeHeurProximity(scip) );
318  SCIP_CALL( SCIPincludeHeurPscostdiving(scip) );
319  SCIP_CALL( SCIPincludeHeurRandrounding(scip) );
320  SCIP_CALL( SCIPincludeHeurRens(scip) );
321  SCIP_CALL( SCIPincludeHeurRins(scip) );
322  SCIP_CALL( SCIPincludeHeurRootsoldiving(scip) );
323  SCIP_CALL( SCIPincludeHeurRounding(scip) );
324  SCIP_CALL( SCIPincludeHeurShiftandpropagate(scip) );
325  SCIP_CALL( SCIPincludeHeurShifting(scip) );
326  SCIP_CALL( SCIPincludeHeurSubNlp(scip) );
327  SCIP_CALL( SCIPincludeHeurTrivial(scip) );
328  SCIP_CALL( SCIPincludeHeurTrySol(scip) );
329  SCIP_CALL( SCIPincludeHeurTwoopt(scip) );
330  SCIP_CALL( SCIPincludeHeurUndercover(scip) );
331  SCIP_CALL( SCIPincludeHeurVbounds(scip) );
332  SCIP_CALL( SCIPincludeHeurVeclendiving(scip) );
333  SCIP_CALL( SCIPincludeHeurZirounding(scip) );
334  SCIP_CALL( SCIPincludeHeurZeroobj(scip) );
335 #endif
336  SCIP_CALL( SCIPincludeHeurSimplerounding(scip) );
337 
338 #if USESEPA
339  SCIP_CALL( SCIPincludeSepaClique(scip) );
340  SCIP_CALL( SCIPincludeSepaGomory(scip) );
341  SCIP_CALL( SCIPincludeSepaImpliedbounds(scip) );
342  SCIP_CALL( SCIPincludeSepaIntobj(scip) );
343  SCIP_CALL( SCIPincludeSepaMcf(scip) );
344  SCIP_CALL( SCIPincludeSepaOddcycle(scip) );
345  SCIP_CALL( SCIPincludeSepaStrongcg(scip) );
346  SCIP_CALL( SCIPincludeSepaZerohalf(scip) );
347 
348  /* added by Jonas */
349  SCIP_CALL( SCIPincludeSepaClosecuts(scip) );
350  SCIP_CALL( SCIPincludeSepaRapidlearning(scip) );
351 #endif
352 
353  SCIP_CALL( SCIPincludeRelaxGcg(scip) );
354  SCIP_CALL( SCIPincludeReaderBlk(scip) );
355  SCIP_CALL( SCIPincludeReaderDec(scip) );
356  SCIP_CALL( SCIPincludeReaderRef(scip) );
357  SCIP_CALL( SCIPincludeBranchruleEmpty(scip) );
358 
359  SCIP_CALL( SCIPincludeConshdlrOrigbranch(scip) );
360  SCIP_CALL( SCIPincludeEventHdlrBestsol(scip) );
361  SCIP_CALL( SCIPincludeEventHdlrMastersol(scip) );
362 
363  /* Visualizations */
364  SCIP_CALL( SCIPincludeParamsVisu(scip) );
365  SCIP_CALL( SCIPincludeReaderGp(scip) );
366  SCIP_CALL( SCIPincludeReaderTex(scip) );
367  SCIP_CALL( SCIPincludeReaderCls(scip) );
368 
369  /* Detectors and decompositions */
370  SCIP_CALL( SCIPincludeConshdlrDecomp(scip) );
371  SCIP_CALL( SCIPincludeDetectorConnected(scip) );
372  SCIP_CALL( SCIPincludeDetectorConstype(scip) );
373  SCIP_CALL( SCIPincludeDetectorPostprocess(scip) );
374  SCIP_CALL( SCIPincludeDetectorConsclass(scip) );
375  SCIP_CALL( SCIPincludeDetectorConsname(scip) );
376  SCIP_CALL( SCIPincludeDetectorDensemasterconss(scip) );
377  SCIP_CALL( SCIPincludeDetectorStairheur(scip) );
378  SCIP_CALL( SCIPincludeDetectorStaircase(scip) );
379  SCIP_CALL( SCIPincludeDetectorRandom(scip) );
380  SCIP_CALL( SCIPincludeDetectorStaircaseLsp(scip) );
381  SCIP_CALL( SCIPincludeDetectorColors(scip) );
382 #ifdef WITH_HMETIS
383  SCIP_CALL( SCIPincludeDetectorCutpacking(scip) );
384 #endif
385 #ifdef WITH_GSL
386  SCIP_CALL( SCIPincludeDetectorDBSCAN(scip) );
387  SCIP_CALL( SCIPincludeDetectorMST(scip) );
388  SCIP_CALL( SCIPincludeDetectorMCL(scip) );
389 #endif
390  SCIP_CALL( SCIPincludeDetectorCompgreedily(scip) );
391  SCIP_CALL( SCIPincludeDetectorMastersetcover(scip) );
392  SCIP_CALL( SCIPincludeDetectorMastersetpack(scip) );
393  SCIP_CALL( SCIPincludeDetectorMastersetpart(scip) );
394  SCIP_CALL( SCIPincludeDetectorHcgpartition(scip) );
395  SCIP_CALL( SCIPincludeDetectorHrgpartition(scip) );
396  SCIP_CALL( SCIPincludeDetectorHrcgpartition(scip) );
397  SCIP_CALL( SCIPincludeDetectorConnectedbase(scip) );
399  SCIP_CALL( SCIPincludeDetectorGeneralmastersetpack(scip) );
400  SCIP_CALL( SCIPincludeDetectorGeneralmastersetpart(scip) );
401  SCIP_CALL( SCIPincludeDetectorGeneralmastersetcover(scip) );
402  SCIP_CALL( SCIPincludeDetectorVarclass(scip) );
403 
404 
405 #ifdef WITH_BLISS
406  SCIP_CALL( SCIPincludeDetectorIsomorphism(scip) );
407 #endif
408 
409  /* Christian's heuristics */
410  SCIP_CALL( SCIPincludeEventHdlrOrigdiving(scip) );
411  SCIP_CALL( GCGincludeHeurGcgcoefdiving(scip) );
412  SCIP_CALL( GCGincludeHeurGcgfracdiving(scip) );
413  SCIP_CALL( GCGincludeHeurGcgguideddiving(scip) );
414  SCIP_CALL( GCGincludeHeurGcglinesdiving(scip) );
415  SCIP_CALL( GCGincludeHeurGcgpscostdiving(scip) );
416  SCIP_CALL( GCGincludeHeurGcgveclendiving(scip) );
417  SCIP_CALL( SCIPincludeHeurGcgdins(scip) );
418  SCIP_CALL( SCIPincludeHeurGcgfeaspump(scip) );
419  SCIP_CALL( SCIPincludeHeurGcgrens(scip) );
420  SCIP_CALL( SCIPincludeHeurGcgrins(scip) );
421  SCIP_CALL( SCIPincludeHeurGcgrounding(scip) );
422  SCIP_CALL( SCIPincludeHeurGcgshifting(scip) );
423  SCIP_CALL( SCIPincludeHeurGcgsimplerounding(scip) );
424  SCIP_CALL( SCIPincludeHeurGcgzirounding(scip) );
425  SCIP_CALL( SCIPincludeHeurXpcrossover(scip) );
426  SCIP_CALL( SCIPincludeHeurXprins(scip) );
427 
428  /* Jonas' stuff */
429  SCIP_CALL( SCIPsetSeparating(scip, SCIP_PARAMSETTING_OFF, TRUE) );
430 
431  /* disable conflict analysis since adding constraints after structure detection may destroy symmetries */
432  SCIP_CALL( SCIPsetBoolParam(scip, "conflict/enable", FALSE) );
433  SCIP_CALL( SCIPsetIntParam(scip, "heuristics/clique/freq", -1) );
434  SCIP_CALL( SCIPfixParam(scip, "heuristics/clique/freq") );
435  SCIP_CALL( SCIPfixParam(scip, "conflict/enable") );
436 
437  SCIP_CALL( SCIPincludeDispGcg(scip) );
438  SCIP_CALL( SCIPincludeDialogGcg(scip) );
439  SCIP_CALL( GCGincludeDialogsGraph(scip) );
440  SCIP_CALL( SCIPincludeTableDefault(scip) );
441 
442  return SCIP_OKAY;
443 }
SCIP_RETCODE SCIPincludeConshdlrDecomp(SCIP *scip)
creates the constraint handler for decomp and includes it in SCIP
arrowhead and bordered detector via graph partitioning (uses hmetis)
detector for diagonal (bordered) structures via MCL clustering algorithm
SCIP_RETCODE SCIPincludeDetectorMastersetpart(SCIP *scip)
SCIP_RETCODE SCIPincludeConshdlrOrigbranch(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderCls(SCIP *scip)
Definition: reader_cls.cpp:249
SCIP_RETCODE SCIPincludeHeurXpcrossover(SCIP *scip)
random detector
generalmastersetpart detector
SCIP_RETCODE SCIPincludeDetectorStairheur(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorHcgpartition(SCIP *scip)
varclass detector
staircase compontent detector
SCIP_RETCODE SCIPincludeHeurGcgshifting(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorConsname(SCIP *scip)
branching rule for original problem in GCG while real branching is in the master
LNS heuristic that combines the incumbent with the LP optimum.
SCIP_RETCODE SCIPincludeGcgPlugins(SCIP *scip)
Definition: gcgplugins.c:242
SCIP_RETCODE SCIPincludeEventHdlrOrigdiving(SCIP *scip)
CLS reader for writing files containing classifier data.
SCIP_RETCODE SCIPincludeDetectorDensemasterconss(SCIP *scip)
SCIP_RETCODE GCGincludeHeurGcgfracdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeEventHdlrMastersol(SCIP *scip)
SCIP_RETCODE SCIPincludeBranchruleEmpty(SCIP *scip)
Definition: branch_empty.c:364
detector for pricing problems that can be aggregated (uses bliss)
compgreedily detector
SCIP_RETCODE SCIPincludeHeurGcgrounding(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorConnected_noNewLinkingVars(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorCompgreedily(SCIP *scip)
SCIP_RETCODE GCGincludeHeurGcgguideddiving(SCIP *scip)
LP diving heuristic that chooses fixings in direction of incumbent solutions.
SCIP plugins for generic column generation.
connectedbase detector
GCG display columns.
SCIP_RETCODE SCIPincludeDetectorDBSCAN(SCIP *scip)
Definition: dec_dbscan.cpp:729
SCIP_RETCODE SCIPincludeHeurGcgfeaspump(SCIP *scip)
zirounding primal heuristic
LP gcgrounding heuristic that tries to recover from intermediate infeasibilities. ...
DEC file reader for structure information.
SCIP_RETCODE SCIPincludeDetectorConnected(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderTex(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorGeneralmastersetpart(SCIP *scip)
SCIP_RETCODE GCGincludeHeurGcgveclendiving(SCIP *scip)
LP diving heuristic that chooses fixings w.r.t. the matrix coefficients.
connected compontent detector
LP diving heuristic that fixes variables with a large difference to their root solution.
SCIP_RETCODE SCIPincludeDetectorMastersetpack(SCIP *scip)
detector for staircase structures via ROC algorithms
GP file reader writing gnuplot files.
BLK file reader for structure information.
Objective Feasibility Pump 2.0.
SCIP_RETCODE SCIPincludeHeurGcgrens(SCIP *scip)
Definition: heur_gcgrens.c:817
SCIP_RETCODE SCIPincludeDetectorConsclass(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorConnectedbase(SCIP *scip)
densemasterconss detector
SCIP_RETCODE SCIPincludeHeurGcgzirounding(SCIP *scip)
arrowhead and bordered detector via graph partitioning (uses hmetis)
various SCIP helper methods
LP diving heuristic that chooses fixings w.r.t. the pseudo cost values.
constype detector
consclass detector
SCIP_RETCODE SCIPincludeHeurGcgrins(SCIP *scip)
Definition: heur_gcgrins.c:742
SCIP_RETCODE SCIPincludeDetectorPostprocess(SCIP *scip)
mastersetpart detector
SCIP_RETCODE SCIPincludeDetectorStaircase(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorStaircaseLsp(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorMCL(SCIP *scip)
Definition: dec_mcl.cpp:595
GCG relaxator.
SCIP_RETCODE SCIPincludeDetectorRandom(SCIP *scip)
Definition: dec_random.c:280
SCIP_RETCODE SCIPincludeRelaxGcg(SCIP *scip)
Definition: relax_gcg.c:3349
SCIP_RETCODE SCIPincludeDetectorCutpacking(SCIP *scip)
SCIP_RETCODE SCIPincludeEventHdlrBestsol(SCIP *scip)
GCG variable pricer.
staircase detector via recursive partitioning (uses hmetis)
SCIP_RETCODE SCIPincludeParamsVisu(SCIP *scip)
Definition: params_visu.c:144
SCIP_RETCODE SCIPincludeReaderRef(SCIP *scip)
Definition: reader_ref.c:763
DINS primal heuristic.
generalmastersetpack detector
mastersetcover detector
SCIP_RETCODE SCIPincludeDetectorIsomorphism(SCIP *scip)
eventhdlr to record the best primal bound for each heuristic
LP gcgrounding heuristic that tries to recover from intermediate infeasibilities and shifts continuou...
SCIP_RETCODE SCIPincludeDetectorMST(SCIP *scip)
Definition: dec_mst.cpp:661
primal heuristic interface for LP diving heuristics on the original variables
SCIP_RETCODE SCIPincludeReaderDec(SCIP *scip)
arrowhead and bordered detector via graph partitioning (uses hmetis)
LP diving heuristic that chooses fixings w.r.t. the fractionalities.
structure detection by constraint names (via regular expressions)
connected_noNewLinkingVars detector
SCIP_RETCODE SCIPincludeHeurGcgdins(SCIP *scip)
generalmastersetcover detector
detector for diagonal (bordered) structures via Minimum Spanning Tree clustering algorithm ...
detector for diagonal (bordered) structures via DBSCAN clustering algorithm
SCIP_RETCODE SCIPincludeDetectorVarclass(SCIP *scip)
SCIP_RETCODE SCIPincludeDispGcg(SCIP *scip)
Definition: disp_gcg.c:1256
REF file reader for structure information.
SCIP_RETCODE GCGincludeHeurGcgpscostdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeReaderGp(SCIP *scip)
Definition: reader_gp.cpp:498
SCIP_RETCODE SCIPincludeDetectorGeneralmastersetpack(SCIP *scip)
tex file reader for writing decomposition details to LaTeX files
SCIP_RETCODE SCIPincludeDetectorConstype(SCIP *scip)
mastersetpack detector
SCIP_RETCODE GCGincludeHeurGcgcoefdiving(SCIP *scip)
detector assigning color classes to constraints and try combinations of colors in the master ...
SCIP_RETCODE SCIPincludeDetectorHrgpartition(SCIP *scip)
SCIP_RETCODE SCIPincludeDialogGcg(SCIP *scip)
Definition: dialog_gcg.c:1194
SCIP_RETCODE SCIPincludeDetectorGeneralmastersetcover(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurXprins(SCIP *scip)
Definition: heur_xprins.c:1662
LP diving heuristic that rounds variables with long column vectors.
SCIP_RETCODE SCIPincludeDetectorHrcgpartition(SCIP *scip)
constraint handler for storing the branching decisions at each node of the tree
simple and fast LP rounding heuristic
postprocess detector
SCIP_RETCODE GCGincludeDialogsGraph(SCIP *scip)
Extreme Point Crossover.
eventhdlr to transfer solutions found in the original problem to the master problem ...
SCIP_RETCODE SCIPincludeReaderBlk(SCIP *scip)
GCG user interface dialog.
constraint handler for structure detection
LNS heuristic that finds the optimal rounding to a given point.
SCIP_RETCODE GCGincludeHeurGcglinesdiving(SCIP *scip)
SCIP_RETCODE SCIPincludeDetectorColors(SCIP *scip)
Definition: dec_colors.cpp:453
Extreme Point RINS.
SCIP_RETCODE SCIPincludeDetectorMastersetcover(SCIP *scip)
SCIP_RETCODE SCIPincludeHeurGcgsimplerounding(SCIP *scip)