Detailed Description
detector connectedbase (completes the partialdec by bfs)
Definition in file dec_connectedbase.cpp.
#include "dec_connectedbase.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 "connectedbase" |
#define | DEC_DESC "detector connectedbase" |
#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_PRIORITY 0 |
#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_DECCHAR 'C' |
#define | DEC_ENABLED FALSE |
#define | DEC_ENABLEDFINISHING TRUE |
#define | DEC_ENABLEDPOSTPROCESSING FALSE |
#define | DEC_SKIP FALSE |
#define | DEC_USEFULRECALL FALSE |
#define | DEFAULT_USECONSSADJ TRUE |
#define | exitConnectedbase NULL |
#define | initConnectedbase NULL |
#define | propagatePartialdecConnectedbase NULL |
#define | detectorPostprocessPartialdecConnectedbase NULL |
Functions | |
static | DEC_DECL_FREEDETECTOR (freeConnectedbase) |
static | DEC_DECL_FINISHPARTIALDEC (finishPartialdecConnectedbase) |
static | DEC_DECL_SETPARAMAGGRESSIVE (setParamAggressiveConnectedbase) |
static | DEC_DECL_SETPARAMDEFAULT (setParamDefaultConnectedbase) |
static | DEC_DECL_SETPARAMFAST (setParamFastConnectedbase) |
SCIP_RETCODE | SCIPincludeDetectorConnectedbase (SCIP *scip) |
Macro Definition Documentation
◆ DEC_DETECTORNAME
#define DEC_DETECTORNAME "connectedbase" |
name of detector
Definition at line 50 of file dec_connectedbase.cpp.
◆ DEC_DESC
#define DEC_DESC "detector connectedbase" |
description of detector
Definition at line 51 of file dec_connectedbase.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_connectedbase.cpp.
◆ DEC_MAXCALLROUND
#define DEC_MAXCALLROUND INT_MAX /** last round the detector gets called */ |
Definition at line 53 of file dec_connectedbase.cpp.
◆ DEC_MINCALLROUND
#define DEC_MINCALLROUND 0 /** first round the detector gets called */ |
Definition at line 54 of file dec_connectedbase.cpp.
◆ DEC_PRIORITY
#define DEC_PRIORITY 0 |
priority of the constraint handler for separation
Definition at line 55 of file dec_connectedbase.cpp.
◆ DEC_FREQCALLROUNDORIGINAL
#define DEC_FREQCALLROUNDORIGINAL 1 /** frequency the detector gets called in detection loop while detecting the original problem */ |
Definition at line 56 of file dec_connectedbase.cpp.
◆ DEC_MAXCALLROUNDORIGINAL
#define DEC_MAXCALLROUNDORIGINAL INT_MAX /** last round the detector gets called while detecting the original problem */ |
Definition at line 57 of file dec_connectedbase.cpp.
◆ DEC_MINCALLROUNDORIGINAL
#define DEC_MINCALLROUNDORIGINAL 0 /** first round the detector gets called while detecting the original problem */ |
Definition at line 58 of file dec_connectedbase.cpp.
◆ DEC_DECCHAR
#define DEC_DECCHAR 'C' |
display character of detector
Definition at line 59 of file dec_connectedbase.cpp.
◆ DEC_ENABLED
#define DEC_ENABLED FALSE |
should the detection be enabled
Definition at line 60 of file dec_connectedbase.cpp.
◆ DEC_ENABLEDFINISHING
#define DEC_ENABLEDFINISHING TRUE |
should the finishing be enabled
Definition at line 61 of file dec_connectedbase.cpp.
◆ DEC_ENABLEDPOSTPROCESSING
#define DEC_ENABLEDPOSTPROCESSING FALSE |
should the finishing be enabled
Definition at line 62 of file dec_connectedbase.cpp.
◆ DEC_SKIP
#define DEC_SKIP FALSE |
should detector be skipped if other detectors found decompositions
Definition at line 63 of file dec_connectedbase.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_connectedbase.cpp.
◆ DEFAULT_USECONSSADJ
#define DEFAULT_USECONSSADJ TRUE |
Definition at line 65 of file dec_connectedbase.cpp.
◆ exitConnectedbase
#define exitConnectedbase NULL |
destructor of detector to free detector data (called before the solving process begins)
Definition at line 112 of file dec_connectedbase.cpp.
◆ initConnectedbase
#define initConnectedbase NULL |
detection initialization function of detector (called before solving is about to begin)
Definition at line 115 of file dec_connectedbase.cpp.
◆ propagatePartialdecConnectedbase
#define propagatePartialdecConnectedbase NULL |
Definition at line 117 of file dec_connectedbase.cpp.
◆ detectorPostprocessPartialdecConnectedbase
#define detectorPostprocessPartialdecConnectedbase NULL |
Definition at line 168 of file dec_connectedbase.cpp.
Function Documentation
◆ DEC_DECL_FREEDETECTOR()
|
static |
destructor of detector to free user data (called when GCG is exiting) destructor of detector to free detector data (called when SCIP is exiting)
Definition at line 93 of file dec_connectedbase.cpp.
References DEC_DETECTORNAME, DECdetectorGetData(), and DECdetectorGetName().
◆ DEC_DECL_FINISHPARTIALDEC()
|
static |
Definition at line 121 of file dec_connectedbase.cpp.
References gcg::PARTIALDECOMP::addDetectorChainInfo(), gcg::PARTIALDECOMP::completeByConnected(), gcg::PARTIALDECOMP::completeByConnectedConssAdjacency(), gcg::DETPROBDATA::createConssAdjacency(), gcg::PARTIALDECOMP::getNLinkingvars(), and gcg::DETPROBDATA::isConssAdjInitialized().
◆ DEC_DECL_SETPARAMAGGRESSIVE()
|
static |
Definition at line 172 of file dec_connectedbase.cpp.
References DECdetectorGetName().
◆ DEC_DECL_SETPARAMDEFAULT()
|
static |
Definition at line 189 of file dec_connectedbase.cpp.
References DEC_ENABLED, DEC_ENABLEDFINISHING, and DECdetectorGetName().
◆ DEC_DECL_SETPARAMFAST()
|
static |
Definition at line 207 of file dec_connectedbase.cpp.
References DECdetectorGetName().
◆ SCIPincludeDetectorConnectedbase()
SCIP_RETCODE SCIPincludeDetectorConnectedbase | ( | SCIP * | scip | ) |
creates the handler for connectedbase detector and includes it in SCIP
- Parameters
-
scip SCIP data structure
Definition at line 229 of file dec_connectedbase.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(), DEFAULT_USECONSSADJ, detectorPostprocessPartialdecConnectedbase, exitConnectedbase, initConnectedbase, propagatePartialdecConnectedbase, and DEC_DetectorData::useconssadj.
Referenced by SCIPincludeGcgPlugins().