Scippy

GCG

Branch-and-Price & Column Generation for Everyone

dec_connectedbase.cpp File Reference

Detailed Description

detector connectedbase (completes the partialdec by bfs)

Author
Martin Bergner

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 DEC_DECL_FREEDETECTOR ( freeConnectedbase  )
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()

◆ DEC_DECL_SETPARAMAGGRESSIVE()

static DEC_DECL_SETPARAMAGGRESSIVE ( setParamAggressiveConnectedbase  )
static

Definition at line 172 of file dec_connectedbase.cpp.

References DECdetectorGetName().

◆ DEC_DECL_SETPARAMDEFAULT()

static DEC_DECL_SETPARAMDEFAULT ( setParamDefaultConnectedbase  )
static

Definition at line 189 of file dec_connectedbase.cpp.

References DEC_ENABLED, DEC_ENABLEDFINISHING, and DECdetectorGetName().

◆ DEC_DECL_SETPARAMFAST()

static DEC_DECL_SETPARAMFAST ( setParamFastConnectedbase  )
static

Definition at line 207 of file dec_connectedbase.cpp.

References DECdetectorGetName().

◆ SCIPincludeDetectorConnectedbase()