dec_connected_noNewLinkingVars.cpp
Go to the documentation of this file.
30 * @brief detector connected_noNewLinkingVars (assigns all dependent open conss and vars and completes the partialdec by bfs)
34 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
52 #define DEC_FREQCALLROUND 1 /** frequency the detector gets called in detection loop ,ie it is called in round r if and only if minCallRound <= r <= maxCallRound AND (r - minCallRound) mod freqCallRound == 0 */
55 #define DEC_FREQCALLROUNDORIGINAL 1 /** frequency the detector gets called in detection loop while detecting the original problem */
56 #define DEC_MAXCALLROUNDORIGINAL INT_MAX /** last round the detector gets called while detecting the original problem */
57 #define DEC_MINCALLROUNDORIGINAL 0 /** first round the detector gets called while detecting the original problem */
63 #define DEC_SKIP FALSE /**< should detector be skipped if other detectors found decompositions */
64 #define DEC_USEFULRECALL FALSE /**< is it useful to call this detector on a descendant of the propagated partialdec */
104 Partialdec_Detection_Data* partialdecdetectiondata /**< partialdecdetectiondata (including the detprobdata and workonpartialdec) where to store the new Partialdecs */
128 partialdecdetectiondata->newpartialdecs[0]->addClockTime(SCIPgetClockTime(scip, temporaryClock));
179 SCIP_CALL( DECincludeDetector(scip, DEC_DETECTORNAME, DEC_DECCHAR, DEC_DESC, DEC_FREQCALLROUND, DEC_MAXCALLROUND, DEC_MINCALLROUND, DEC_FREQCALLROUNDORIGINAL, DEC_MAXCALLROUNDORIGINAL, DEC_MINCALLROUNDORIGINAL, DEC_PRIORITY, DEC_ENABLED, DEC_ENABLEDFINISHING, DEC_ENABLEDPOSTPROCESSING, DEC_SKIP, DEC_USEFULRECALL, detectordata, freeConnected_noNewLinkingVars, initConnected_noNewLinkingVars, exitConnected_noNewLinkingVars, propagatePartialdecConnected_noNewLinkingVars, finishPartialdecConnected_noNewLinkingVars, detectorPostprocessPartialdecConnected_noNewLinkingVars, setParamAggressiveConnected_noNewLinkingVars, setParamDefaultConnected_noNewLinkingVars, setParamFastConnected_noNewLinkingVars) );
#define DEC_MAXCALLROUNDORIGINAL
Definition: dec_connected_noNewLinkingVars.cpp:56
void addClockTime(SCIP_Real clocktime)
adds detection time of one detector
Definition: class_partialdecomp.cpp:286
GCG interface methods.
void addDetectorChainInfo(const char *decinfo)
add information about the detector chain
Definition: class_partialdecomp.cpp:315
constraint handler for structure detection
#define setParamFastConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:161
SCIP_RETCODE SCIPincludeDetectorConnected_noNewLinkingVars(SCIP *scip)
Definition: dec_connected_noNewLinkingVars.cpp:170
#define initConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:96
void completeByConnected()
assigns all open constraints and open variables
Definition: class_partialdecomp.cpp:2157
various SCIP helper methods
#define DEC_ENABLEDPOSTPROCESSING
Definition: dec_connected_noNewLinkingVars.cpp:62
interface data structure for the detector calling methods
Definition: class_detprobdata.h:672
connected_noNewLinkingVars detector
#define setParamAggressiveConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:159
static DEC_DECL_PROPAGATEPARTIALDEC(propagatePartialdecConnected_noNewLinkingVars)
Definition: dec_connected_noNewLinkingVars.cpp:138
static SCIP_RETCODE detection(SCIP *scip, Partialdec_Detection_Data *partialdecdetectiondata)
Definition: dec_connected_noNewLinkingVars.cpp:102
#define DEC_FREQCALLROUNDORIGINAL
Definition: dec_connected_noNewLinkingVars.cpp:55
gcg::PARTIALDECOMP ** newpartialdecs
Definition: class_detprobdata.h:676
#define DEC_MINCALLROUNDORIGINAL
Definition: dec_connected_noNewLinkingVars.cpp:57
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 enabledFinishing, SCIP_Bool enabledPostprocessing, SCIP_Bool skip, SCIP_Bool usefulRecall, DEC_DETECTORDATA *detectordata, DEC_DECL_FREEDETECTOR((*freeDetector)), DEC_DECL_INITDETECTOR((*initDetector)), DEC_DECL_EXITDETECTOR((*exitDetector)), DEC_DECL_PROPAGATEPARTIALDEC((*propagatePartialdecDetector)), DEC_DECL_FINISHPARTIALDEC((*finishPartialdecDetector)), DEC_DECL_POSTPROCESSPARTIALDEC((*postprocessPartialdecDetector)), DEC_DECL_SETPARAMAGGRESSIVE((*setParamAggressiveDetector)), DEC_DECL_SETPARAMDEFAULT((*setParamDefaultDetector)),)
Definition: cons_decomp.cpp:3041
#define exitConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:93
Definition: dec_compgreedily.cpp:73
class storing (potentially incomplete) decompositions
#define detectorPostprocessPartialdecConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:156
#define setParamDefaultConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:160
static DEC_DECL_FINISHPARTIALDEC(finishPartialdecConnected_noNewLinkingVars)
Definition: dec_connected_noNewLinkingVars.cpp:148
class storing partialdecs and the problem matrix
#define freeConnected_noNewLinkingVars
Definition: dec_connected_noNewLinkingVars.cpp:90
gcg::PARTIALDECOMP * workonpartialdec
Definition: class_detprobdata.h:675