cons_decomp.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 
37 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
38 
39 #ifndef GCG_CONS_DECOMP_H__
40 #define GCG_CONS_DECOMP_H__
41 
42 #include "scip/scip.h"
43 #include "type_detector.h"
44 
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
56 enum scoretype {
57  MAX_WHITE = 0,
65 };
66 typedef enum scoretype SCORETYPE;
67 
68 
76 };
77 
78 
79 
81 struct seeedpool_wrapper;
82 typedef struct seeedpool_wrapper SEEEDPOOL_WRAPPER ;
83 
84 struct Seeed_Wrapper;
86 
87 
97  SCIP* scip
98 );
99 
100 
106 extern
107 SCIP_RETCODE SCIPincludeConshdlrDecomp(
108  SCIP* scip
109  );
110 
116 extern
118  SCIP* scip
119  );
120 
121 
127 extern
129  SCIP* scip
130  );
131 
138 extern
140  SCIP* scip,
141  int id
142  );
143 
151 extern
153  SCIP* scip
154  );
155 
156 
162 extern
164  SCIP* scip
165  );
166 
167 
174 extern
176  SCIP* scip
177  );
178 
179 
185 extern
187  DEC_DETECTOR* detector
188  );
189 
195 extern
196 const char* DECdetectorGetName(
197  DEC_DETECTOR* detector
198  );
199 
206 extern
208  SCIP* scip,
209  const char* name
210  );
211 
212 
249 extern
250 SCIP_RETCODE DECincludeDetector(
251  SCIP* scip,
252  const char* name,
253  const char decchar,
254  const char* description,
255  int freqCallRound,
256  int maxCallRound,
257  int minCallRound,
258  int freqCallRoundOriginal,
259  int maxCallRoundOriginal,
260  int minCallRoundOriginal,
261  int priority,
262  SCIP_Bool enabled,
263  SCIP_Bool enabledOriginal,
264  SCIP_Bool enabledFinishing,
265  SCIP_Bool enabledPostprocessing,
266  SCIP_Bool skip,
267  SCIP_Bool usefulRecall,
268  SCIP_Bool legacymode,
269  DEC_DETECTORDATA *detectordata,
270  DEC_DECL_DETECTSTRUCTURE((*detectStructure)),
271  DEC_DECL_FREEDETECTOR((*freeDetector)),
272  DEC_DECL_INITDETECTOR((*initDetector)),
273  DEC_DECL_EXITDETECTOR((*exitDetector)),
274  DEC_DECL_PROPAGATESEEED((*propagateSeeedDetector)),
275  DEC_DECL_PROPAGATEFROMTOOLBOX((*propagateFromToolboxDetector)),
276  DEC_DECL_FINISHFROMTOOLBOX((*finishFromToolboxDetector)),
277  DEC_DECL_FINISHSEEED((*finishSeeedDetector)),
278  DEC_DECL_POSTPROCESSSEEED((*postprocessSeeedDetector)),
279  DEC_DECL_SETPARAMAGGRESSIVE((*setParamAggressiveDetector)),
280  DEC_DECL_SETPARAMDEFAULT((*setParamDefaultDetector)),
281  DEC_DECL_SETPARAMFAST((*setParamFastDetector))
282  );
283 
284 
290 extern
291 SCIP_Real DECgetRemainingTime(
292  SCIP* scip
293  );
294 
295 
296 
306 extern
308  SCIP* scip,
309  int seeedid,
310  int probnr1,
311  int probnr2,
312  SCIP_Bool* identical
313  );
314 
315 
316 
329 extern
331  SCIP* scip,
332  SCIP_HASHMAP** hashorig2pricingvar,
333  int seeedid,
334  int probnr1,
335  int probnr2,
336  SCIP* scip1,
337  SCIP* scip2,
338  SCIP_HASHMAP* varmap
339  );
340 
341 
348 extern
349 SCIP_RETCODE SCIPconshdlrDecompAddDecdecomp(
350  SCIP* scip,
351  DEC_DECOMP* decdecomp
352  );
353 
360  SCIP* scip
361  );
362 
369  SCIP* scip
370  );
371 
379  SCIP* scip
380  );
381 
382 
390  SCIP* scip
391  );
392 
393 
402  SCIP* scip,
403  SCIP_Bool presolved,
404  SCIP_Bool markedincomplete
405  );
406 
414 SCIP_RETCODE SCIPconshdlrDecompExecSelect(
415  SCIP* scip,
416  SCIP_DIALOGHDLR* dialoghdlr,
417  SCIP_DIALOG* dialog
418  );
419 
428  SCIP* scip,
429  SCIP_DIALOGHDLR* dialoghdlr,
430  SCIP_DIALOG* dialog
431  );
432 
441  SCIP* scip,
442  SCIP_DIALOGHDLR* dialoghdlr,
443  SCIP_DIALOG* dialog
444  );
445 
453 SCIP_RETCODE SCIPconshdlrDecompExecToolbox(
454  SCIP* scip,
455  SCIP_DIALOGHDLR* dialoghdlr,
456  SCIP_DIALOG* dialog
457  );
458 
459 
466  SCIP* scip
467  );
468 
475  SCIP* scip
476  );
477 
478 
485  SCIP* scip
486  );
487 
494  SCIP* scip
495  );
496 
503  SCIP* scip
504  );
505 
514  SCIP* scip,
515  int nblocks
516  );
517 
518 
525  SCIP* scip
526  );
527 
528 
537  SCIP* scip,
538  SCIP_Bool consdefaulttomaster
539  );
540 
541 
551  SCIP* scip,
552  const char* consname,
553  int blockid
554  );
555 
563  SCIP* scip,
564  const char* consname
565  );
566 
576  SCIP* scip,
577  const char* varname,
578  int blockid
579  );
580 
581 
589  SCIP* scip,
590  const char* varname
591  );
592 
593 
601  SCIP* scip,
602  const char* varname
603  );
604 
612  SCIP* scip,
613  int blockNumberCandidate
614  );
615 
616 
623  SCIP* scip
624  );
625 
633  SCIP* scip,
634  int index
635  );
636 
637 
643  extern
645  SCIP* scip
646  );
647 
654  SCIP* scip
655  );
656 
657 
664  SCIP* scip
665  );
666 
667 
675  SCIP* scip,
676  SCIP_Bool* success
677  );
678 
679 
686  SCIP* scip
687  );
688 
689 
696  SCIP* scip
697  );
698 
705  SCIP* scip
706  );
707 
708 
716  SCIP* scip,
717  SCIP_Bool updatelist
718  );
719 
720 
729  SCIP* scip,
730  SCIP_RESULT result
731  );
732 
733 
740  SCIP* scip
741  );
742 
743 
745  SCIP* scip
746  );
747 
748 
750  SCIP* scip
751  );
752 
755  SCIP* scip
756  );
757 
758 
760  SCIP* scip
761  );
762 
763 // char* SCIPconshdlrDecompGetScoretypeShortName(
764 // SCIP* scip,
765 // SCORETYPE sctype
766 // );
767 //
768 // char* SCIPconshdlrDecompGetScoretypeDescription(
769 // SCIP* scip,
770 // SCORETYPE sctype
771 // );
772 
773 
774 
776 extern
777 SCIP_RETCODE DECdetectStructure(
778  SCIP* scip,
779  SCIP_RESULT* result
780  );
781 
782 
784 SCIP_RETCODE DECwriteAllDecomps(
785  SCIP* scip,
786  char* directory,
787  char* extension,
788  SCIP_Bool original,
789  SCIP_Bool presolved
791  );
792 
793 
799  SCIP* scip,
800  SEEED_WRAPPER** seeedswr,
801  int* nseeeds
802  );
803 
804 
806 SCIP_RETCODE DECwriteFamilyTree(
807  SCIP* scip,
808  const char* filename,
809  const char* workfolder,
810  int ndecompositions,
811  SCIP_Bool draft
812  );
813 
814 extern
815 SCIP_RETCODE SCIPconshdlrDecompWriteDec(
816  SCIP* scip,
817  FILE* file,
818  SCIP_Bool transformed,
819  SCIP_RESULT* result
820  );
821 
823 extern
825  SCIP* scip
826  );
827 
829 SCIP_RETCODE DECgetSeeedToWrite(
830  SCIP* scip,
831  SCIP_Bool transformed,
832  SEEED_WRAPPER* seeedwrapper
833  );
834 
837  SCIP* scip
838  );
839 
844  SCIP* scip
845  );
846 
847 /* returns number of finished Seeeds */
849  SCIP* scip
850  );
851 
852 /* returns number of all Seeeds */
854  SCIP* scip
855  );
856 
858  SCIP* scip
859  );
860 
861 SCIP_Bool GCGdetectionTookPlace(
862  SCIP* scip
863  );
864 
865 
867  SCIP* scip
868  );
869 
870 
872 SCIP_Bool DEChasDetectionRun(
873  SCIP* scip
874  );
875 
877 char DECdetectorGetChar(
878  DEC_DETECTOR* detector
879 );
880 
882 SCIP_RETCODE GCGprintDetectorStatistics(
883  SCIP* scip,
884  FILE* file
885  );
886 
894 SCIP_RETCODE GCGsetDetection(
895  SCIP* scip,
896  SCIP_PARAMSETTING paramsetting,
897  SCIP_Bool quiet
898  );
899 
900 
902 SCIP_RETCODE GCGgetSeeedFromID(
903  SCIP* scip,
904  int* seeedid,
905  SEEED_WRAPPER* seeedwr
906  );
907 
908 
910 SCIP_RETCODE GCGgetCurrentSeeedpools(
911  SCIP* scip,
912  SEEED_WRAPPER* seeedpoolwr,
913  SEEED_WRAPPER* seeedpoolunpresolvedwr
914  );
915 
916 
919  SCIP* scip,
920  int** output,
921  int* outputsize
922  );
923 
924 SCIP_RETCODE GCGprintMiplibBaseInformation(
925  SCIP* scip,
926  FILE* file
927  );
928 
930  SCIP* scip,
931  FILE* file
932  );
933 
934 
936  SCIP* scip,
937  FILE* file
938  );
939 
941  SCIP* scip,
942  FILE* file
943  );
944 
945 SCIP_RETCODE GCGprintOptionalOutput(
946  SCIP* scip,
947  SCIP_DIALOGHDLR* dialoghdlr
948  );
949 
950 
951 #ifdef __cplusplus
952 }
953 #endif
954 
955 #endif
#define DEC_DECL_FREEDETECTOR(x)
Definition: type_detector.h:60
SCIP_RETCODE DECincludeDetector(SCIP *scip, const char *name, const char decchar, const char *description, int freqCallRound, int maxCallRound, int minCallRound, int freqCallRoundOriginal, int maxCallRoundOriginal, int minCallRoundOriginal, int priority, SCIP_Bool enabled, SCIP_Bool enabledOriginal, SCIP_Bool enabledFinishing, SCIP_Bool enabledPostprocessing, SCIP_Bool skip, SCIP_Bool usefulRecall, SCIP_Bool legacymode, DEC_DETECTORDATA *detectordata, DEC_DECL_DETECTSTRUCTURE((*detectStructure)), DEC_DECL_FREEDETECTOR((*freeDetector)), DEC_DECL_INITDETECTOR((*initDetector)), DEC_DECL_EXITDETECTOR((*exitDetector)), DEC_DECL_PROPAGATESEEED((*propagateSeeedDetector)), DEC_DECL_PROPAGATEFROMTOOLBOX((*propagateFromToolboxDetector)), DEC_DECL_FINISHFROMTOOLBOX((*finishFromToolboxDetector)), DEC_DECL_FINISHSEEED((*finishSeeedDetector)), DEC_DECL_POSTPROCESSSEEED((*postprocessSeeedDetector)), DEC_DECL_SETPARAMAGGRESSIVE((*setParamAggressiveDetector)), DEC_DECL_SETPARAMDEFAULT((*setParamDefaultDetector)),)
includes one detector
DEC_DETECTORDATA * DECdetectorGetData(DEC_DETECTOR *detector)
returns the data of the provided detector
SCIP_RETCODE SCIPconshdlrDecompUserSeeedFlush(SCIP *scip)
finalizes and flushes the current user seeed, i.e. consider implicits, calc hashvalue, construct decdecomp if complete etc
SCIP_RETCODE SCIPconshdlrDecompUpdateSeeedlist(SCIP *scip)
method to update the list of incomplete decompositions in "explore" submenue ( this list changes due ...
SCIP_RETCODE GCGprintOptionalOutput(SCIP *scip, SCIP_DIALOGHDLR *dialoghdlr)
#define DEC_DECL_INITDETECTOR(x)
Definition: type_detector.h:70
struct DEC_Detector DEC_DETECTOR
Definition: type_detector.h:46
SCIP_RETCODE GCGgetCurrentSeeedpools(SCIP *scip, SEEED_WRAPPER *seeedpoolwr, SEEED_WRAPPER *seeedpoolunpresolvedwr)
SCIP_RETCODE SCIPconshdlrDecompPopulateSelected(SCIP *scip)
populate datastructures with incomplete decompositions (e.g. that were given by the user) to complete...
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetVarToLinking(SCIP *scip, const char *varname)
sets a variable by name to the linking variables in the current user seeed
SCIP_RETCODE SCIPconshdlrDecompArePricingprobsIdenticalForSeeedid(SCIP *scip, int seeedid, int probnr1, int probnr2, SCIP_Bool *identical)
SCIP_RETCODE SCIPconshdlrDecompExecToolbox(SCIP *scip, SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog)
method to handle and moderate user input for creating new decompositions and modifying existing decom...
SCIP_Bool SCIPconshdlrDecompUnpresolvedUserSeeedAdded(SCIP *scip)
returns whether or not an unpresolved (untransformed) decompositions was given by the user ...
toolboxtype
help enum to avoid code duplication for the toolbox methods of the detectors
Definition: cons_decomp.h:72
const char * SCIPconshdlrDecompGetPdfReader(SCIP *scip)
returns string name of the chosen pdf reader
SCIP_RETCODE GCGprintMiplibBaseInformationHeader(SCIP *scip, FILE *file)
int SCIPconshdlrDecompIncreaseAndGetNCallsCreateDecomp(SCIP *scip)
counts up the counter for created decompositions and returns it
SCIP_RETCODE SCIPconshdlrDecompGetSelectedSeeeds(SCIP *scip, int **output, int *outputsize)
DEC_DETECTOR * DECfindDetector(SCIP *scip, const char *name)
searches for the detector with the given name and returns it or NULL if detector is not found ...
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetConsToBlock(SCIP *scip, const char *consname, int blockid)
sets a constraint by name to a block in the current user seeed
SCIP_Real DECgetRemainingTime(SCIP *scip)
returns the remaining time of scip that the decomposition may use
SCORETYPE SCIPconshdlrDecompGetCurrScoretype(SCIP *scip)
DEC_DECOMP * DECgetBestDecomp(SCIP *scip)
SCIP_RETCODE SCIPconshdlrDecompAddBlockNumberCandidate(SCIP *scip, int blockNumberCandidate)
add block number user candidate (user candidates are prioritized over found ones) ...
const char * DECdetectorGetName(DEC_DETECTOR *detector)
returns the name of the provided detector
SCIP_RETCODE SCIPconshdlrDecompExecToolboxModify(SCIP *scip, SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog)
method to handle and moderate user input for modifying decompositions
enum scoretype SCORETYPE
Definition: cons_decomp.h:66
SCIP_RETCODE SCIPconshdlrDecompNotifyNonFinalFreeTransform(SCIP *scip)
used before calling SCIPfreeTransform(),, if called to revoke presolving (e.g. if unpresolved decompo...
SCIP_RETCODE SCIPconshdlrDecompCreateSeeedpool(SCIP *scip)
creates the seeedpool for the presolved problem
SCIP_RETCODE SCIPconshdlrDecompGetAllRelevantSeeeds(SCIP *scip, SEEED_WRAPPER **seeedswr, int *nseeeds)
SCIP_RETCODE SCIPconshdlrDecompUserSeeedReject(SCIP *scip)
rejects and deletes the current user seeed
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetConsToMaster(SCIP *scip, const char *consname)
sets a constraint by name to master in the current user seeed
#define DEC_DECL_POSTPROCESSSEEED(x)
SCIP_RETCODE DECgetSeeedToWrite(SCIP *scip, SCIP_Bool transformed, SEEED_WRAPPER *seeedwrapper)
SCIP_RETCODE SCIPincludeConshdlrDecomp(SCIP *scip)
creates the constraint handler for decomp and includes it in SCIP
SCIP_RETCODE GCGgetSeeedFromID(SCIP *scip, int *seeedid, SEEED_WRAPPER *seeedwr)
SCIP_RETCODE DECconshdlrDecompSortDecompositionsByScore(SCIP *scip)
sort the finished decompositions according to the currently chosen score in the according datastructu...
SCIP_RETCODE SCIPconshdlrDecompCreateSeeedpoolUnpresolved(SCIP *scip)
creates the seeedpool for the unpresolved problem
DEC_DECOMP ** SCIPconshdlrDecompGetDecdecomps(SCIP *scip)
struct seeedpool_wrapper SEEEDPOOL_WRAPPER
Definition: cons_decomp.h:82
SCIP_Bool SCIPconshdlrDecompHasDecomp(SCIP *scip)
returns whether or not there exists at least one (com[plete or incomplete) decomposition ...
SCIP_RETCODE GCGprintMiplibDecompInformation(SCIP *scip, FILE *file)
int SCIPconshdlrDecompGetNextSeeedID(SCIP *scip)
SCIP_Bool SCIPconshdlrDecompUnpresolvedSeeedExists(SCIP *scip)
returns whether or not an unpresolved (untransformed) decompositions exists in the data structures ...
#define DEC_DECL_SETPARAMAGGRESSIVE(x)
int SCIPconshdlrDecompDecreaseAndGetNCallsCreateDecomp(SCIP *scip)
decreases the counter for created decompositions and returns it
SCIP_RETCODE GCGprintDetectorStatistics(SCIP *scip, FILE *file)
SCIP_RETCODE SCIPconshdlrDecompWriteDec(SCIP *scip, FILE *file, SCIP_Bool transformed, SCIP_RESULT *result)
SCIP_RETCODE SCIPconshdlrDecompCreateVarmapForSeeedId(SCIP *scip, SCIP_HASHMAP **hashorig2pricingvar, int seeedid, int probnr1, int probnr2, SCIP *scip1, SCIP *scip2, SCIP_HASHMAP *varmap)
for two identical pricing problems a corresponding varmap is created
scoretype
possible scores to evaluate founds decompositions
Definition: cons_decomp.h:56
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetVarToMaster(SCIP *scip, const char *varname)
sets a variable by name to the master in the current user seeed
SCIP_RETCODE DECwriteAllDecomps(SCIP *scip, char *directory, char *extension, SCIP_Bool original, SCIP_Bool presolved)
#define DEC_DECL_SETPARAMDEFAULT(x)
SCIP_RETCODE SCIPconshdlrDecompNotifyFinishedNonFinalFreeTransform(SCIP *scip)
used after calling SCIPfreeTransform() if called to revoke presolving (e.g. if unpresolved decomposit...
SCIP_RETCODE SCIPconshdlrDecompTranslateAndAddCompleteUnpresolvedSeeeds(SCIP *scip, SCIP_Bool *success)
translates unpresolved seeed to a complete presolved one
int SCIPconshdlrDecompGetNSeeeds(SCIP *scip)
DEC_DECOMP ** SCIPconshdlrDecompGetFinishedDecomps(SCIP *scip)
int SCIPconshdlrDecompGetNDetectors(SCIP *scip)
void DECprintListOfDetectors(SCIP *scip)
#define DEC_DECL_FINISHFROMTOOLBOX(x)
SCIP_Bool SCIPconshdlrDecompIsBestCandidateUnpresolved(SCIP *scip)
SCIP_RETCODE DECdetectStructure(SCIP *scip, SCIP_RESULT *result)
SCIP_Bool SCIPconshdlrDecompUserSeeedIsActive(SCIP *scip)
returns whether there is an user seeed that is currently worked on
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetVarToBlock(SCIP *scip, const char *varname, int blockid)
sets a variable by name to a block in the current user seeed
int SCIPconshdlrDecompGetNBlockNumberCandidates(SCIP *scip)
returns the number of block candidates given by the user
SEEEDPOOL_WRAPPER * SCIPconshdlrDecompGetSeeedpoolUnpresolvedExtern(SCIP *scip)
help method to access seeedpool for unpresolved problem : consider deleting this method will be delet...
SCIP_Bool SCIPconshdlrDecompCheckConsistency(SCIP *scip)
SCIP_Bool GCGdetectionTookPlace(SCIP *scip)
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetConsDefaultMaster(SCIP *scip, SCIP_Bool consdefaulttomaster)
set the user given information of the current user seeed according consdefaultmaster (if TRUE all ope...
#define DEC_DECL_FINISHSEEED(x)
int SCIPconshdlrDecompGetBlockNumberCandidate(SCIP *scip, int index)
returns block number user candidate with given index
int SCIPconshdlrDecompGetNFormerDetectionConssForID(SCIP *scip, int id)
returns the number of constraints that were active while detecting the decomposition originating from...
int SCIPconshdlrDecompGetNFinishedDecomps(SCIP *scip)
SEEEDPOOL_WRAPPER * SCIPconshdlrDecompGetSeeedpoolExtern(SCIP *scip)
help method to access seeedpool for transformed problem : consider deleting this method will be delet...
SCIP_RETCODE GCGsetDetection(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
SCIP_RETCODE GCGprintMiplibBaseInformation(SCIP *scip, FILE *file)
DEC_DECL_PROPAGATESEEED(detectorPropagateSeeedIsomorph)
SCIP_RETCODE SCIPconshdlrDecompUserSeeedSetnumberOfBlocks(SCIP *scip, int nblocks)
set the number of blocks in the current user seeed (which is used for user input (read or modify) ) ...
SCIP_RETCODE SCIPconshdlrDecompExecToolboxCreate(SCIP *scip, SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog)
method to handle and moderate user input for creating new decompositions by the user ...
#define DEC_DECL_EXITDETECTOR(x)
Definition: type_detector.h:80
SCIP_RETCODE DECwriteFamilyTree(SCIP *scip, const char *filename, const char *workfolder, int ndecompositions, SCIP_Bool draft)
SCIP_RETCODE SCIPconshdlrDecompChooseCandidatesFromSelected(SCIP *scip, SCIP_Bool updatelist)
initilizes the candidates data structures with selected seeeds (or all if there are no selected seeed...
SCIP_Bool SCIPconshdlrDecompDetectBenders(SCIP *scip)
returns whether
SCIP_Bool DEChasDetectionRun(SCIP *scip)
#define DEC_DECL_DETECTSTRUCTURE(x)
SCIP_RETCODE SCIPconshdlrDecompCreateUserSeeed(SCIP *scip, SCIP_Bool presolved, SCIP_Bool markedincomplete)
creates a user seeed for the problem
SCIP_Real SCIPconshdlrDecompGetCompleteDetectionTime(SCIP *scip)
returns the total detection time
SCIP_Bool SCIPconshdlrDecompExistsSelected(SCIP *scip)
returns if there is a decomposition that is currently selected by the user (done in explore menue) ...
int SCIPconshdlrDecompGetNDecdecomps(SCIP *scip)
#define DEC_DECL_PROPAGATEFROMTOOLBOX(x)
DEC_DETECTOR ** SCIPconshdlrDecompGetDetectors(SCIP *scip)
SCIP_RETCODE SCIPconshdlrDecompAddDecdecomp(SCIP *scip, DEC_DECOMP *decdecomp)
sets (and adds) the decomposition structure
char DECdetectorGetChar(DEC_DETECTOR *detector)
SCIP_RETCODE SCIPconshdlrDecompAddLegacymodeDecompositions(SCIP *scip, SCIP_RESULT result)
calls old detectStructure methods of chosen detectors, translates the resulting decompositions into s...
struct DecDecomp DEC_DECOMP
Definition: type_decomp.h:43
SCIP_RETCODE GCGprintMiplibConnectedInformation(SCIP *scip, FILE *file)
type definitions for detectors in GCG projects
SCIP_RETCODE SCIPconshdlrDecompExecSelect(SCIP *scip, SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog)
method too handle user input for "explore" command
#define DEC_DECL_SETPARAMFAST(x)