Scippy

GCG

Branch-and-Price & Column Generation for Everyone

dec_postprocess.cpp File Reference

Detailed Description

checks if there are master constraints that can be assigned to one block (without any other changes)

Author
Michael Bastubbe

Definition in file dec_postprocess.cpp.

#include "dec_postprocess.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   "postprocess"
 
#define DEC_DESC   "detector postprocess"
 
#define DEC_FREQCALLROUND   1
 
#define DEC_MAXCALLROUND   INT_MAX
 
#define DEC_MINCALLROUND   0
 
#define DEC_PRIORITY   1000000
 
#define DEC_FREQCALLROUNDORIGINAL   1
 
#define DEC_MAXCALLROUNDORIGINAL   INT_MAX
 
#define DEC_MINCALLROUNDORIGINAL   0
 
#define DEC_DECCHAR   'p'
 
#define DEC_ENABLED   FALSE
 
#define DEC_ENABLEDFINISHING   FALSE
 
#define DEC_ENABLEDPOSTPROCESSING   TRUE
 
#define DEC_SKIP   FALSE
 
#define DEC_USEFULRECALL   FALSE
 
#define DEFAULT_USECONSSADJ   TRUE
 
#define exitPostprocess   NULL
 
#define initPostprocess   NULL
 
#define propagatePartialdecPostprocess   NULL
 
#define finishPartialdecPostprocess   NULL
 

Functions

static DEC_DECL_FREEDETECTOR (freePostprocess)
 
static DEC_DECL_POSTPROCESSPARTIALDEC (postprocessPartialdecPostprocess)
 
static DEC_DECL_SETPARAMAGGRESSIVE (setParamAggressivePostprocess)
 
static DEC_DECL_SETPARAMDEFAULT (setParamDefaultPostprocess)
 
static DEC_DECL_SETPARAMFAST (setParamFastPostprocess)
 
SCIP_RETCODE SCIPincludeDetectorPostprocess (SCIP *scip)
 

Macro Definition Documentation

◆ DEC_DETECTORNAME

#define DEC_DETECTORNAME   "postprocess"

name of detector

Definition at line 50 of file dec_postprocess.cpp.

◆ DEC_DESC

#define DEC_DESC   "detector postprocess"

description of detector

Definition at line 51 of file dec_postprocess.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_postprocess.cpp.

◆ DEC_MAXCALLROUND

#define DEC_MAXCALLROUND   INT_MAX

last round the detector gets called

Definition at line 53 of file dec_postprocess.cpp.

◆ DEC_MINCALLROUND

#define DEC_MINCALLROUND   0

first round the detector gets called

Definition at line 54 of file dec_postprocess.cpp.

◆ DEC_PRIORITY

#define DEC_PRIORITY   1000000

priority of the constraint handler for separation

Definition at line 55 of file dec_postprocess.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_postprocess.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_postprocess.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_postprocess.cpp.

◆ DEC_DECCHAR

#define DEC_DECCHAR   'p'

display character of detector

Definition at line 59 of file dec_postprocess.cpp.

◆ DEC_ENABLED

#define DEC_ENABLED   FALSE

should the detection be enabled

Definition at line 60 of file dec_postprocess.cpp.

◆ DEC_ENABLEDFINISHING

#define DEC_ENABLEDFINISHING   FALSE

should the finishing be enabled

Definition at line 61 of file dec_postprocess.cpp.

◆ DEC_ENABLEDPOSTPROCESSING

#define DEC_ENABLEDPOSTPROCESSING   TRUE

should the postprocessing be enabled

Definition at line 62 of file dec_postprocess.cpp.

◆ DEC_SKIP

#define DEC_SKIP   FALSE

should detector be skipped if other detectors found decompositions

Definition at line 63 of file dec_postprocess.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_postprocess.cpp.

◆ DEFAULT_USECONSSADJ

#define DEFAULT_USECONSSADJ   TRUE

Definition at line 65 of file dec_postprocess.cpp.

◆ exitPostprocess

#define exitPostprocess   NULL

destructor of detector to free detector data (called before the solving process begins)

Definition at line 114 of file dec_postprocess.cpp.

◆ initPostprocess

#define initPostprocess   NULL

detection initialization function of detector (called before solving is about to begin)

Definition at line 117 of file dec_postprocess.cpp.

◆ propagatePartialdecPostprocess

#define propagatePartialdecPostprocess   NULL

Definition at line 119 of file dec_postprocess.cpp.

◆ finishPartialdecPostprocess

#define finishPartialdecPostprocess   NULL

Definition at line 120 of file dec_postprocess.cpp.

Function Documentation

◆ DEC_DECL_FREEDETECTOR()

static DEC_DECL_FREEDETECTOR ( freePostprocess  )
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_postprocess.cpp.

References DEC_DETECTORNAME, DECdetectorGetData(), and DECdetectorGetName().

◆ DEC_DECL_POSTPROCESSPARTIALDEC()

◆ DEC_DECL_SETPARAMAGGRESSIVE()

static DEC_DECL_SETPARAMAGGRESSIVE ( setParamAggressivePostprocess  )
static

Definition at line 243 of file dec_postprocess.cpp.

References DECdetectorGetName().

◆ DEC_DECL_SETPARAMDEFAULT()

static DEC_DECL_SETPARAMDEFAULT ( setParamDefaultPostprocess  )
static

◆ DEC_DECL_SETPARAMFAST()

static DEC_DECL_SETPARAMFAST ( setParamFastPostprocess  )
static

Definition at line 286 of file dec_postprocess.cpp.

References DECdetectorGetName().

◆ SCIPincludeDetectorPostprocess()