Scippy

GCG

Branch-and-Price & Column Generation for Everyone

SCIP_ConshdlrData Struct Reference

Detailed Description

constraint handler data

Definition at line 134 of file cons_decomp.cpp.

Data Fields

SCIP_Bool enabled
 
std::vector< PARTIALDECOMP * > * partialdecs
 
std::unordered_map< int, PARTIALDECOMP * > * partialdecsbyid
 
int partialdeccounter
 
DEC_DECOMP ** decomps
 
int ndecomps
 
DEC_CONSCLASSIFIER ** consclassifiers
 
int nconsclassifiers
 
int * consclassifierpriorities
 
DEC_VARCLASSIFIER ** varclassifiers
 
int nvarclassifiers
 
int * varclassifierpriorities
 
DEC_DETECTOR ** detectors
 
int * priorities
 
int ndetectors
 
DEC_DETECTOR ** propagatingdetectors
 
int npropagatingdetectors
 
DEC_DETECTOR ** finishingdetectors
 
int nfinishingdetectors
 
DEC_DETECTOR ** postprocessingdetectors
 
int npostprocessingdetectors
 
SCIP_CLOCK * detectorclock
 
SCIP_CLOCK * completedetectionclock
 
SCIP_Bool hasrunoriginal
 
SCIP_Bool hasrun
 
int maxndetectionrounds
 
int maxdetectiontime
 
SCIP_Bool postprocess
 
int strongdetectiondualvalrandommethod
 
SCIP_Real coeffactororigvsrandom
 
SCIP_Bool blocknumbercandsmedianvarspercons
 
int maxnclassesfornblockcandidates
 
int maxnclassesperpartition
 
int maxnclassesperpartitionforlargeprobs
 
int weightinggpresolvedoriginaldecomps
 
int aggregationlimitnconssperblock
 
int aggregationlimitnvarsperblock
 
SCIP_Bool classify
 
SCIP_Bool allowpartitionduplicates
 
SCIP_Bool enableorigdetection
 
SCIP_Bool enableorigclassification
 
SCIP_Bool bendersonlycontsubpr
 
SCIP_Bool bendersonlybinmaster
 
SCIP_Bool detectbenders
 
int ncallscreatedecomp
 
gcg::DETPROBDATAdetprobdatapres
 
gcg::DETPROBDATAdetprobdataorig
 
int currscoretype
 
SCIP_Real scoretotaltime
 
std::vector< SCIP_Real > * dualvalsrandom
 
std::vector< SCIP_Real > * dualvalsoptimaloriglp
 
SCIP_Bool dualvalsoptimaloriglpcalculated
 
SCIP_Bool dualvalsrandomset
 
SCIP_Real strongtimelimit
 
PARTIALDECOMPpartialdectowrite
 
SCIP_Bool consnamesalreadyrepaired
 
std::vector< int > * userblocknrcandidates
 
SCIP_Bool freeorig
 
SCIP_BRANCHRULE ** branchrules
 
int nbranchrules
 
SCIP_CONS ** stack
 
int nstack
 
int maxstacksize
 
SCIP_VAR ** pendingvars
 
SCIP_BOUNDTYPE * pendingbndtypes
 
SCIP_Real * pendingnewbnds
 
SCIP_Real * pendingoldbnds
 
int npendingbnds
 
SCIP_Bool pendingbndsactivated
 
int maxpendingbnds
 
SCIP_Bool enforceproper
 
SCIP_VAR *** collectedbndvars
 
SCIP_Real ** collectedlbnds
 
SCIP_Real ** collectedubnds
 
int maxblocknum
 
int * ncollectedbndvars
 
int * maxcollectedbndvars
 
int ** linkingvaridxs
 
int maxlinkingvaridxs
 
SCIP_CONS * rootcons
 

Field Documentation

◆ enabled

SCIP_Bool SCIP_ConshdlrData::enabled

indicates whether detection is enabled

Definition at line 136 of file cons_decomp.cpp.

◆ partialdecs

std::vector<PARTIALDECOMP*>* SCIP_ConshdlrData::partialdecs

list of all existing partialdecs

Definition at line 138 of file cons_decomp.cpp.

◆ partialdecsbyid

std::unordered_map<int, PARTIALDECOMP*>* SCIP_ConshdlrData::partialdecsbyid

list of all existing partialdecs

Definition at line 139 of file cons_decomp.cpp.

◆ partialdeccounter

int SCIP_ConshdlrData::partialdeccounter

counts the number of created partialdecs, used to determine next partialdec id (NOT amount of currently existing partialdecs as partialdecs might be deleted)

Definition at line 140 of file cons_decomp.cpp.

◆ decomps

DEC_DECOMP** SCIP_ConshdlrData::decomps

array of decomposition structures

Definition at line 142 of file cons_decomp.cpp.

◆ ndecomps

int SCIP_ConshdlrData::ndecomps

number of decomposition structures (size of decomps)

Definition at line 143 of file cons_decomp.cpp.

◆ consclassifiers

DEC_CONSCLASSIFIER** SCIP_ConshdlrData::consclassifiers

array of cons classifiers

Definition at line 145 of file cons_decomp.cpp.

◆ nconsclassifiers

int SCIP_ConshdlrData::nconsclassifiers

number of cons classifiers

Definition at line 146 of file cons_decomp.cpp.

◆ consclassifierpriorities

int* SCIP_ConshdlrData::consclassifierpriorities

priorities of the cons classifiers

Definition at line 147 of file cons_decomp.cpp.

◆ varclassifiers

DEC_VARCLASSIFIER** SCIP_ConshdlrData::varclassifiers

array of var classifiers

Definition at line 148 of file cons_decomp.cpp.

◆ nvarclassifiers

int SCIP_ConshdlrData::nvarclassifiers

number of var classifiers

Definition at line 149 of file cons_decomp.cpp.

◆ varclassifierpriorities

int* SCIP_ConshdlrData::varclassifierpriorities

priorities of the var classifiers

Definition at line 150 of file cons_decomp.cpp.

◆ detectors

DEC_DETECTOR** SCIP_ConshdlrData::detectors

array of structure detectors

Definition at line 152 of file cons_decomp.cpp.

◆ priorities

int* SCIP_ConshdlrData::priorities

priorities of the detectors

Definition at line 153 of file cons_decomp.cpp.

◆ ndetectors

int SCIP_ConshdlrData::ndetectors

number of detectors

Definition at line 154 of file cons_decomp.cpp.

◆ propagatingdetectors

DEC_DETECTOR** SCIP_ConshdlrData::propagatingdetectors

array of detectors able to propagate partial decompositions

Definition at line 155 of file cons_decomp.cpp.

◆ npropagatingdetectors

int SCIP_ConshdlrData::npropagatingdetectors

number of detectors able to propagate partial decompositions (size of propagatingdetectors)

Definition at line 156 of file cons_decomp.cpp.

◆ finishingdetectors

DEC_DETECTOR** SCIP_ConshdlrData::finishingdetectors

array of detectors able to finish partial decompositions

Definition at line 157 of file cons_decomp.cpp.

◆ nfinishingdetectors

int SCIP_ConshdlrData::nfinishingdetectors

number of detectors able to finish partial decompositions (size of finishingdetectors)

Definition at line 158 of file cons_decomp.cpp.

◆ postprocessingdetectors

DEC_DETECTOR** SCIP_ConshdlrData::postprocessingdetectors

array of detectors able to postprocess decompositions

Definition at line 159 of file cons_decomp.cpp.

◆ npostprocessingdetectors

int SCIP_ConshdlrData::npostprocessingdetectors

number of detectors able to postprocess decompositions (size of postprocessingdetectors)

Definition at line 160 of file cons_decomp.cpp.

◆ detectorclock

SCIP_CLOCK* SCIP_ConshdlrData::detectorclock

clock to measure detection time

Definition at line 162 of file cons_decomp.cpp.

◆ completedetectionclock

SCIP_CLOCK* SCIP_ConshdlrData::completedetectionclock

clock to measure detection time

Definition at line 163 of file cons_decomp.cpp.

◆ hasrunoriginal

SCIP_Bool SCIP_ConshdlrData::hasrunoriginal

flag to indicate whether we have already detected (original problem)

Definition at line 164 of file cons_decomp.cpp.

◆ hasrun

SCIP_Bool SCIP_ConshdlrData::hasrun

flag to indicate whether we have already detected

Definition at line 165 of file cons_decomp.cpp.

◆ maxndetectionrounds

int SCIP_ConshdlrData::maxndetectionrounds

maximum number of detection loop rounds

Definition at line 166 of file cons_decomp.cpp.

◆ maxdetectiontime

int SCIP_ConshdlrData::maxdetectiontime

maximum detection time [sec]

Definition at line 167 of file cons_decomp.cpp.

◆ postprocess

SCIP_Bool SCIP_ConshdlrData::postprocess

indicates whether to postprocess full decompositions

Definition at line 168 of file cons_decomp.cpp.

◆ strongdetectiondualvalrandommethod

int SCIP_ConshdlrData::strongdetectiondualvalrandommethod

method to dual initialization of dual values for strong decomposition: 1) naive, 2) expected equal, 3) expected overestimation

Definition at line 169 of file cons_decomp.cpp.

◆ coeffactororigvsrandom

SCIP_Real SCIP_ConshdlrData::coeffactororigvsrandom

convex coefficient for orig dual val (1-this coef is factor for random dual value)

Definition at line 170 of file cons_decomp.cpp.

◆ blocknumbercandsmedianvarspercons

SCIP_Bool SCIP_ConshdlrData::blocknumbercandsmedianvarspercons

should for block number candidates calculation the medianvarspercons calculation be considered

Definition at line 171 of file cons_decomp.cpp.

◆ maxnclassesfornblockcandidates

int SCIP_ConshdlrData::maxnclassesfornblockcandidates

maximum number of classes a partition can have to be used for voting nblockcandidates

Definition at line 172 of file cons_decomp.cpp.

◆ maxnclassesperpartition

int SCIP_ConshdlrData::maxnclassesperpartition

maximum number of classes allowed for detectors, partition with more classes are reduced to the maximum number of classes

Definition at line 173 of file cons_decomp.cpp.

◆ maxnclassesperpartitionforlargeprobs

int SCIP_ConshdlrData::maxnclassesperpartitionforlargeprobs

maximum number of classes allowed for large (nvars+nconss > 50000) MIPs for detectors, partition with more classes are reduced to the maximum number of classes

Definition at line 174 of file cons_decomp.cpp.

◆ weightinggpresolvedoriginaldecomps

int SCIP_ConshdlrData::weightinggpresolvedoriginaldecomps

weighing method for comparing presolved and original decompositions (see corresponding enum)

Definition at line 175 of file cons_decomp.cpp.

◆ aggregationlimitnconssperblock

int SCIP_ConshdlrData::aggregationlimitnconssperblock

if this limit on the number of constraints of a block is exceeded the aggregation information for this block is not calculated

Definition at line 176 of file cons_decomp.cpp.

◆ aggregationlimitnvarsperblock

int SCIP_ConshdlrData::aggregationlimitnvarsperblock

if this limit on the number of variables of a block is exceeded the aggregation information for this block is not calculated

Definition at line 177 of file cons_decomp.cpp.

◆ classify

SCIP_Bool SCIP_ConshdlrData::classify

indicates whether classification should take place

Definition at line 179 of file cons_decomp.cpp.

◆ allowpartitionduplicates

SCIP_Bool SCIP_ConshdlrData::allowpartitionduplicates

indicates whether partition duplicates are allowed (for statistical reasons)

Definition at line 180 of file cons_decomp.cpp.

◆ enableorigdetection

SCIP_Bool SCIP_ConshdlrData::enableorigdetection

indicates whether to start detection for the original problem

Definition at line 181 of file cons_decomp.cpp.

◆ enableorigclassification

SCIP_Bool SCIP_ConshdlrData::enableorigclassification

indicates whether to start constraint classification for the original problem

Definition at line 182 of file cons_decomp.cpp.

◆ bendersonlycontsubpr

SCIP_Bool SCIP_ConshdlrData::bendersonlycontsubpr

indicates whether only decomposition with only continuous variables in the subproblems should be searched

Definition at line 184 of file cons_decomp.cpp.

◆ bendersonlybinmaster

SCIP_Bool SCIP_ConshdlrData::bendersonlybinmaster

indicates whether only decomposition with only binary variables in the master should be searched

Definition at line 185 of file cons_decomp.cpp.

◆ detectbenders

SCIP_Bool SCIP_ConshdlrData::detectbenders

indicates wethher or not benders detection mode is enabled

Definition at line 186 of file cons_decomp.cpp.

◆ ncallscreatedecomp

int SCIP_ConshdlrData::ncallscreatedecomp

debugging method for counting the number of calls of created decompositions

Definition at line 188 of file cons_decomp.cpp.

◆ detprobdatapres

gcg::DETPROBDATA* SCIP_ConshdlrData::detprobdatapres

detprobdata containing data for the presolved transformed problem

Definition at line 190 of file cons_decomp.cpp.

◆ detprobdataorig

gcg::DETPROBDATA* SCIP_ConshdlrData::detprobdataorig

detprobdata containing data for the original problem

Definition at line 191 of file cons_decomp.cpp.

◆ currscoretype

int SCIP_ConshdlrData::currscoretype

indicates which score should be used for comparing (partial) decompositions 0: max white, 1: border area, 2: classic, 3: max foreseeing white, 4: ppc max forseeing white, 5: max foreseeing white with aggregation info, 6: ppc max forseeing white with aggregation info, 7: experimental benders score, 8: strong decomposition score

Definition at line 194 of file cons_decomp.cpp.

◆ scoretotaltime

SCIP_Real SCIP_ConshdlrData::scoretotaltime

total score calculation time

Definition at line 204 of file cons_decomp.cpp.

◆ dualvalsrandom

std::vector<SCIP_Real>* SCIP_ConshdlrData::dualvalsrandom

vector of random dual values, used for strong detection scores

Definition at line 205 of file cons_decomp.cpp.

◆ dualvalsoptimaloriglp

std::vector<SCIP_Real>* SCIP_ConshdlrData::dualvalsoptimaloriglp

vector of dual values of the optimal solved original lp, used for strong detection scores

Definition at line 206 of file cons_decomp.cpp.

◆ dualvalsoptimaloriglpcalculated

SCIP_Bool SCIP_ConshdlrData::dualvalsoptimaloriglpcalculated

are the optimal dual values from original lp calulated? used for strong detection scores

Definition at line 207 of file cons_decomp.cpp.

◆ dualvalsrandomset

SCIP_Bool SCIP_ConshdlrData::dualvalsrandomset

are the random dual values set, used for strong detection scores

Definition at line 208 of file cons_decomp.cpp.

◆ strongtimelimit

SCIP_Real SCIP_ConshdlrData::strongtimelimit

timelimit for calculating strong decomposition score for one partialdec

Definition at line 209 of file cons_decomp.cpp.

◆ partialdectowrite

PARTIALDECOMP* SCIP_ConshdlrData::partialdectowrite

pointer enabling the use of SCIPs writeProb/writeTransProb function for writing partial decompositions

Definition at line 211 of file cons_decomp.cpp.

◆ consnamesalreadyrepaired

SCIP_Bool SCIP_ConshdlrData::consnamesalreadyrepaired

stores whether or not

Definition at line 213 of file cons_decomp.cpp.

◆ userblocknrcandidates

std::vector<int>* SCIP_ConshdlrData::userblocknrcandidates

vector to store block number candidates that were given by user

Definition at line 214 of file cons_decomp.cpp.

◆ freeorig

SCIP_Bool SCIP_ConshdlrData::freeorig

help bool to notify a nonfinal free transform (needed if presolving is revoked, e.g. if orig decomposition is used, and transformation is not successful)

Definition at line 215 of file cons_decomp.cpp.

◆ branchrules

SCIP_BRANCHRULE** SCIP_ConshdlrData::branchrules

stack for storing active branchrules

Definition at line 62 of file cons_integralorig.c.

◆ nbranchrules

int SCIP_ConshdlrData::nbranchrules

number of active branchrules

Definition at line 63 of file cons_integralorig.c.

◆ stack

SCIP_CONS ** SCIP_ConshdlrData::stack

stack for storing active constraints

Definition at line 122 of file cons_masterbranch.c.

◆ nstack

int SCIP_ConshdlrData::nstack

number of elements on the stack

Definition at line 123 of file cons_masterbranch.c.

◆ maxstacksize

int SCIP_ConshdlrData::maxstacksize

maximum size of the stack

Definition at line 124 of file cons_masterbranch.c.

◆ pendingvars

SCIP_VAR** SCIP_ConshdlrData::pendingvars

pricing variables or master variable copies corresponding to pending bound changes (global bound changes)

Definition at line 127 of file cons_masterbranch.c.

◆ pendingbndtypes

SCIP_BOUNDTYPE* SCIP_ConshdlrData::pendingbndtypes

types of the pending bound changes (global bound changes)

Definition at line 128 of file cons_masterbranch.c.

◆ pendingnewbnds

SCIP_Real* SCIP_ConshdlrData::pendingnewbnds

new bounds corresponding to pending bound changes (global bound changes)

Definition at line 129 of file cons_masterbranch.c.

◆ pendingoldbnds

SCIP_Real* SCIP_ConshdlrData::pendingoldbnds

old bounds corresponding to pending bound changes (global bound changes)

Definition at line 130 of file cons_masterbranch.c.

◆ npendingbnds

int SCIP_ConshdlrData::npendingbnds

number of pending bound changes (global bound changes)

Definition at line 131 of file cons_masterbranch.c.

◆ pendingbndsactivated

SCIP_Bool SCIP_ConshdlrData::pendingbndsactivated

were pending bound changes already activated?

Definition at line 132 of file cons_masterbranch.c.

◆ maxpendingbnds

int SCIP_ConshdlrData::maxpendingbnds

size of the array corresponding to pending bound changes

Definition at line 133 of file cons_masterbranch.c.

◆ enforceproper

SCIP_Bool SCIP_ConshdlrData::enforceproper

should proper variables be enforced?

Definition at line 134 of file cons_masterbranch.c.

◆ collectedbndvars

SCIP_VAR*** SCIP_ConshdlrData::collectedbndvars

collected original variables of bound changes stored for each block

Definition at line 137 of file cons_masterbranch.c.

◆ collectedlbnds

SCIP_Real** SCIP_ConshdlrData::collectedlbnds

collected upper bound changes for each block

Definition at line 138 of file cons_masterbranch.c.

◆ collectedubnds

SCIP_Real** SCIP_ConshdlrData::collectedubnds

collected upper bound changes for each block

Definition at line 139 of file cons_masterbranch.c.

◆ maxblocknum

int SCIP_ConshdlrData::maxblocknum

maximal number of blocks that can be handled by the collected* arrays

Definition at line 140 of file cons_masterbranch.c.

◆ ncollectedbndvars

int* SCIP_ConshdlrData::ncollectedbndvars

number of collected bndvars per block

Definition at line 141 of file cons_masterbranch.c.

◆ maxcollectedbndvars

int* SCIP_ConshdlrData::maxcollectedbndvars

capacity of the collected* arrays per block

Definition at line 142 of file cons_masterbranch.c.

◆ linkingvaridxs

int** SCIP_ConshdlrData::linkingvaridxs

position of linking vars in collectedbndvars

Definition at line 143 of file cons_masterbranch.c.

◆ maxlinkingvaridxs

int SCIP_ConshdlrData::maxlinkingvaridxs

capacity of linkingvaridxs

Definition at line 144 of file cons_masterbranch.c.

◆ rootcons

SCIP_CONS* SCIP_ConshdlrData::rootcons

constraint in the root node

Definition at line 94 of file cons_origbranch.c.