Detailed Description
detector connected_noNewLinkingVars (assigns all dependent open conss and vars and completes the partialdec by bfs)
Definition in file dec_connected_noNewLinkingVars.cpp.
#include "dec_connected_noNewLinkingVars.h"
#include "cons_decomp.h"
#include "gcg.h"
#include "class_partialdecomp.h"
#include "class_detprobdata.h"
#include "scip/scip.h"
#include "scip_misc.h"
#include "scip/clock.h"
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
Go to the source code of this file.
Data Structures | |
struct | DEC_DetectorData |
Macros | |
#define | DEC_DETECTORNAME "connected_nonewlinkingvars" |
#define | DEC_DESC "detector connected_noNewLinkingVars" |
#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 */ |
#define | DEC_MAXCALLROUND INT_MAX /** last round the detector gets called */ |
#define | DEC_MINCALLROUND 0 /** first round the detector gets called */ |
#define | DEC_FREQCALLROUNDORIGINAL 1 /** frequency the detector gets called in detection loop while detecting the original problem */ |
#define | DEC_MAXCALLROUNDORIGINAL INT_MAX /** last round the detector gets called while detecting the original problem */ |
#define | DEC_MINCALLROUNDORIGINAL 0 /** first round the detector gets called while detecting the original problem */ |
#define | DEC_PRIORITY 0 |
#define | DEC_DECCHAR '?' |
#define | DEC_ENABLED FALSE |
#define | DEC_ENABLEDFINISHING FALSE |
#define | DEC_ENABLEDPOSTPROCESSING FALSE |
#define | DEC_SKIP FALSE |
#define | DEC_USEFULRECALL FALSE |
#define | freeConnected_noNewLinkingVars NULL |
#define | exitConnected_noNewLinkingVars NULL |
#define | initConnected_noNewLinkingVars NULL |
#define | detectorPostprocessPartialdecConnected_noNewLinkingVars NULL |
#define | setParamAggressiveConnected_noNewLinkingVars NULL |
#define | setParamDefaultConnected_noNewLinkingVars NULL |
#define | setParamFastConnected_noNewLinkingVars NULL |
Functions | |
static SCIP_RETCODE | detection (SCIP *scip, Partialdec_Detection_Data *partialdecdetectiondata) |
static | DEC_DECL_PROPAGATEPARTIALDEC (propagatePartialdecConnected_noNewLinkingVars) |
static | DEC_DECL_FINISHPARTIALDEC (finishPartialdecConnected_noNewLinkingVars) |
SCIP_RETCODE | SCIPincludeDetectorConnected_noNewLinkingVars (SCIP *scip) |
Macro Definition Documentation
◆ DEC_DETECTORNAME
#define DEC_DETECTORNAME "connected_nonewlinkingvars" |
name of detector
Definition at line 50 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_DESC
#define DEC_DESC "detector connected_noNewLinkingVars" |
description of detector
Definition at line 51 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_FREQCALLROUND
#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 */ |
Definition at line 52 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_MAXCALLROUND
#define DEC_MAXCALLROUND INT_MAX /** last round the detector gets called */ |
Definition at line 53 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_MINCALLROUND
#define DEC_MINCALLROUND 0 /** first round the detector gets called */ |
Definition at line 54 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_FREQCALLROUNDORIGINAL
#define DEC_FREQCALLROUNDORIGINAL 1 /** frequency the detector gets called in detection loop while detecting the original problem */ |
Definition at line 55 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_MAXCALLROUNDORIGINAL
#define DEC_MAXCALLROUNDORIGINAL INT_MAX /** last round the detector gets called while detecting the original problem */ |
Definition at line 56 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_MINCALLROUNDORIGINAL
#define DEC_MINCALLROUNDORIGINAL 0 /** first round the detector gets called while detecting the original problem */ |
Definition at line 57 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_PRIORITY
#define DEC_PRIORITY 0 |
priority of the constraint handler for separation
Definition at line 58 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_DECCHAR
#define DEC_DECCHAR '?' |
display character of detector
Definition at line 59 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_ENABLED
#define DEC_ENABLED FALSE |
should the detection be enabled
Definition at line 60 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_ENABLEDFINISHING
#define DEC_ENABLEDFINISHING FALSE |
should the finishing be enabled
Definition at line 61 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_ENABLEDPOSTPROCESSING
#define DEC_ENABLEDPOSTPROCESSING FALSE |
should the finishing be enabled
Definition at line 62 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_SKIP
#define DEC_SKIP FALSE |
should detector be skipped if other detectors found decompositions
Definition at line 63 of file dec_connected_noNewLinkingVars.cpp.
◆ DEC_USEFULRECALL
#define DEC_USEFULRECALL FALSE |
is it useful to call this detector on a descendant of the propagated partialdec
Definition at line 64 of file dec_connected_noNewLinkingVars.cpp.
◆ freeConnected_noNewLinkingVars
#define freeConnected_noNewLinkingVars NULL |
destructor of detector to free user data (called when GCG is exiting)
Definition at line 90 of file dec_connected_noNewLinkingVars.cpp.
◆ exitConnected_noNewLinkingVars
#define exitConnected_noNewLinkingVars NULL |
destructor of detector to free detector data (called before the solving process begins)
Definition at line 93 of file dec_connected_noNewLinkingVars.cpp.
◆ initConnected_noNewLinkingVars
#define initConnected_noNewLinkingVars NULL |
detection initialization function of detector (called before solving is about to begin)
Definition at line 96 of file dec_connected_noNewLinkingVars.cpp.
◆ detectorPostprocessPartialdecConnected_noNewLinkingVars
#define detectorPostprocessPartialdecConnected_noNewLinkingVars NULL |
Definition at line 156 of file dec_connected_noNewLinkingVars.cpp.
◆ setParamAggressiveConnected_noNewLinkingVars
#define setParamAggressiveConnected_noNewLinkingVars NULL |
Definition at line 159 of file dec_connected_noNewLinkingVars.cpp.
◆ setParamDefaultConnected_noNewLinkingVars
#define setParamDefaultConnected_noNewLinkingVars NULL |
Definition at line 160 of file dec_connected_noNewLinkingVars.cpp.
◆ setParamFastConnected_noNewLinkingVars
#define setParamFastConnected_noNewLinkingVars NULL |
Definition at line 161 of file dec_connected_noNewLinkingVars.cpp.
Function Documentation
◆ detection()
|
static |
detection function for partialdecs
- Parameters
-
scip SCIP data structure partialdecdetectiondata partialdecdetectiondata (including the detprobdata and workonpartialdec) where to store the new Partialdecs
Definition at line 102 of file dec_connected_noNewLinkingVars.cpp.
References gcg::PARTIALDECOMP::addClockTime(), gcg::PARTIALDECOMP::addDetectorChainInfo(), gcg::PARTIALDECOMP::completeByConnected(), gcg::PARTIALDECOMP::considerImplicits(), DEC_DETECTORNAME, Partialdec_Detection_Data::detectiontime, Partialdec_Detection_Data::newpartialdecs, Partialdec_Detection_Data::nnewpartialdecs, gcg::PARTIALDECOMP::refineToBlocks(), and Partialdec_Detection_Data::workonpartialdec.
Referenced by DEC_DECL_FINISHPARTIALDEC(), and DEC_DECL_PROPAGATEPARTIALDEC().
◆ DEC_DECL_PROPAGATEPARTIALDEC()
|
static |
Definition at line 138 of file dec_connected_noNewLinkingVars.cpp.
References detection().
◆ DEC_DECL_FINISHPARTIALDEC()
|
static |
Definition at line 148 of file dec_connected_noNewLinkingVars.cpp.
References detection().
◆ SCIPincludeDetectorConnected_noNewLinkingVars()
SCIP_RETCODE SCIPincludeDetectorConnected_noNewLinkingVars | ( | SCIP * | scip | ) |
creates the handler for connected_noNewLinkingVars detector and includes it in SCIP
- Parameters
-
scip SCIP data structure
Definition at line 170 of file dec_connected_noNewLinkingVars.cpp.
References DEC_DECCHAR, DEC_DESC, DEC_DETECTORNAME, DEC_ENABLED, DEC_ENABLEDFINISHING, DEC_ENABLEDPOSTPROCESSING, DEC_FREQCALLROUND, DEC_FREQCALLROUNDORIGINAL, DEC_MAXCALLROUND, DEC_MAXCALLROUNDORIGINAL, DEC_MINCALLROUND, DEC_MINCALLROUNDORIGINAL, DEC_PRIORITY, DEC_SKIP, DEC_USEFULRECALL, DECincludeDetector(), detectorPostprocessPartialdecConnected_noNewLinkingVars, exitConnected_noNewLinkingVars, freeConnected_noNewLinkingVars, initConnected_noNewLinkingVars, setParamAggressiveConnected_noNewLinkingVars, setParamDefaultConnected_noNewLinkingVars, and setParamFastConnected_noNewLinkingVars.
Referenced by SCIPincludeGcgPlugins().