gcg Namespace Reference

Classes

class  BipartiteGraph
 
class  Bridge
 
class  ColumnGraph
 
class  ConsClassifier
 
class  DialogGraph
 
class  DialogReadGraphs
 
class  DialogReadPartition
 
class  DialogWriteGraph
 
class  DialogWriteGraphs
 
class  EdgeGCG
 
class  function
 
class  Graph
 
class  GraphAlgorithms
 
class  GraphGCG
 
class  GraphInterface
 
class  GraphTclique
 
class  HypercolGraph
 
class  Hypergraph
 
class  HyperrowcolGraph
 
class  HyperrowGraph
 
class  IndexClassifier
 
class  MatrixGraph
 
class  ObjDialog
 C++ wrapper for dialogs. More...
 
struct  pair_hash
 combine two hash function of objects of a pair to get a vaulue for the pair More...
 
class  Pricingcontroller
 
class  RowGraph
 
class  RowGraphWeighted
 
class  Seeed
 class to manage partial decompositions (aka seeed), each seeed corresponds to one seeedpool which contains the problem information, there is one seeedpool for the original and the transformed problem. More...
 
class  Seeedpool
 
struct  sort_decr
 
struct  sort_pred
 
class  Stabilization
 
struct  subset
 
class  VarClassifier
 
class  Weights
 

Typedefs

typedef enum ConsClassDecompInfo CONS_DECOMPINFO
 
typedef SeeedSeeedPtr
 
typedef enum VarClassDecompInfo VAR_DECOMPINFO
 
typedef struct gcg::subset subset
 
typedef enum DistanceMeasure DISTANCE_MEASURE
 
typedef enum WeightType WEIGHT_TYPE
 

Enumerations

enum  ConsClassDecompInfo { BOTH = 0, ONLY_MASTER = 1, ONLY_PRICING = 2 }
 
enum  USERGIVEN { NOT = 0, PARTIAL = - 1, COMPLETE = - 2, COMPLETED_CONSTOMASTER = - 3 }
 enumeration to display if a decomposition was given by the user and if so, how it was processed after adding More...
 
enum  GCG_PROBLEM_TRANSFORMED_STATUS { original, transformed, native }
 
enum  VarClassDecompInfo { ALL = 0, LINKING = 1, MASTER = 2, BLOCK = 3 }
 
enum  DistanceMeasure {
  JOHNSON = 1, INTERSECTION = 2, JACCARD = 5, COSINE = 6,
  SIMPSON = 9
}
 
enum  WeightType { SIM = 0, DIST = 1 }
 

Functions

 SCIP_DECL_SORTPTRCOMP (Pricingcontroller::comparePricingjobs)
 
static SCIP_Bool realArraysAreEqual (SCIP *scip, SCIP_Real *array1, int array1length, SCIP_Real *array2, int array2length)
 
bool compare_blocks (std::pair< int, int > const &a, std::pair< int, int > const &b)
 
SCIP_RETCODE findTranslationForDec (Seeedpool *origseeedpool, Seeedpool *transseeedpool, std::vector< int > *consindex, std::vector< int > *varindex, SCIP_Bool fromunpresolvedtopresolved, SCIP_Bool *success)
 
static SCIP_Bool isRangedRow (SCIP *scip, SCIP_Real lhs, SCIP_Real rhs)
 
static SCIP_Bool isFiniteNonnegativeIntegral (SCIP *scip, SCIP_Real x)
 
static SCIP_RETCODE createTestPricingprobConss (SCIP *scip, SCIP *subscip, Seeedpool *seeedpool, SeeedPtr seeed, int block, SCIP_HASHMAP *hashorig2pricingvar)
 
static SCIP_RETCODE setTestpricingProblemParameters (SCIP *scip, int clocktype, SCIP_Real infinity, SCIP_Real epsilon, SCIP_Real sumepsilon, SCIP_Real feastol, SCIP_Real lpfeastol, SCIP_Real dualfeastol, SCIP_Bool enableppcuts, SCIP_Real timelimit)
 
SCIP_Bool unfinishedChildExists (std::vector< SCIP_Bool > const &childsfinished)
 
int getFirstUnfinishedChild (std::vector< SCIP_Bool > const &childsfinished, std::vector< int > const &childs)
 
int getFirstUnfinishedChildId (std::vector< SCIP_Bool > const &childsfinished, std::vector< int > const &childs)
 
SCIP_Bool finishNextChild (std::vector< int > &childs, std::vector< SCIP_Bool > &childsfinished, int child)
 
SCIP_RETCODE getDetectorCallRoundInfo (SCIP *scip, const char *detectorname, SCIP_Bool transformed, int *maxcallround, int *mincallround, int *freqcallround)
 
SCIP_Bool cmpSeeedsMaxWhite (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsBorderArea (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsClassic (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsFWhite (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsAggFWhite (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsPPCfWhite (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsPPCaggFWhite (SeeedPtr i, SeeedPtr j)
 
SCIP_Bool cmpSeeedsBenders (SeeedPtr i, SeeedPtr j)
 
std::vector< SeeedPtrthinout (std::vector< SeeedPtr > finishedseeeds, size_t ndecomps, SCIP_Bool addtrivialdecomp)
 
int calcLevenshteinDistance (std::string s, std::string t)
 
void removeDigits (char *str, int *nremoved)
 
int gcd (int a, int b)
 
SCIP_CONS * consGetRelevantRepr (SCIP *scip, SCIP_CONS *cons)
 
SCIP_VAR * varGetRelevantRepr (SCIP *scip, SCIP_VAR *var)
 
SCIP_Bool varIsFixedToZero (SCIP *scip, SCIP_VAR *var)
 
SCIP_Bool seeedIsNoDuplicateOfSeeeds (SeeedPtr compseeed, std::vector< SeeedPtr > const &seeeds, bool sort)
 
SCIP_Bool seeedIsNoDuplicate (SeeedPtr seeed, std::vector< SeeedPtr > const &currseeeds, std::vector< SeeedPtr > const &finishedseeeds, bool sort)
 
 SCIP_DECL_DIALOGEXEC (DialogWriteGraph::scip_exec)
 
 SCIP_DECL_DIALOGEXEC (DialogGraph::scip_exec)
 
 SCIP_DECL_DIALOGEXEC (DialogReadPartition::scip_exec)
 

Typedef Documentation

Definition at line 50 of file class_consclassifier.h.

Definition at line 52 of file rowgraph_weighted.h.

typedef Seeed* gcg::SeeedPtr

forward declaration

Definition at line 85 of file class_seeedpool.h.

typedef struct gcg::subset gcg::subset

Definition at line 51 of file class_varclassifier.h.

Definition at line 59 of file rowgraph_weighted.h.

Enumeration Type Documentation

Enumerator
BOTH 

assign class to master or pricing problem

ONLY_MASTER 

assign class only to master problem

ONLY_PRICING 

assign class only to pricing problem

Definition at line 44 of file class_consclassifier.h.

Enumerator
JOHNSON 
INTERSECTION 
JACCARD 
COSINE 
SIMPSON 

Definition at line 44 of file rowgraph_weighted.h.

Enumerator
original 
transformed 
native 

Definition at line 74 of file class_seeedpool.h.

enumeration to display if a decomposition was given by the user and if so, how it was processed after adding

Enumerator
NOT 

this seeed was not given by the user

PARTIAL 

this partial seeed was given by the user as it is

COMPLETE 

this complete seeed was given by the user as it is

COMPLETED_CONSTOMASTER 

this seeed was partially given by the user and then completed by setting all missing constraints to the master

Definition at line 57 of file class_seeed.h.

Enumerator
ALL 
LINKING 
MASTER 
BLOCK 

Definition at line 44 of file class_varclassifier.h.

Enumerator
SIM 
DIST 

Definition at line 54 of file rowgraph_weighted.h.

Function Documentation

int gcg::calcLevenshteinDistance ( std::string  s,
std::string  t 
)

returns levenshtein distance between two strings

Definition at line 680 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::createConsClassifierForConsnamesLevenshteinDistanceConnectivity().

SCIP_Bool gcg::cmpSeeedsAggFWhite ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater score than seeed j

Definition at line 613 of file class_seeedpool.cpp.

References gcg::Seeed::getScore(), and MAX_FORESEEING_AGG_WHITE.

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsBenders ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater score than seeed j

Definition at line 642 of file class_seeedpool.cpp.

References BENDERS, and gcg::Seeed::getScore().

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsBorderArea ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater border area score than seeed j

Definition at line 585 of file class_seeedpool.cpp.

References BORDER_AREA, and gcg::Seeed::getScore().

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsClassic ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater score than seeed j

Definition at line 595 of file class_seeedpool.cpp.

References CLASSIC, and gcg::Seeed::getScore().

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsFWhite ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater score than seeed j

Definition at line 604 of file class_seeedpool.cpp.

References gcg::Seeed::getScore(), and MAX_FORESSEEING_WHITE.

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsMaxWhite ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater MaxWhiteScore than seeed j

Definition at line 575 of file class_seeedpool.cpp.

References gcg::Seeed::getMaxWhiteScore().

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsPPCaggFWhite ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater score than seeed j

Definition at line 632 of file class_seeedpool.cpp.

References gcg::Seeed::getScore(), and SETPART_AGG_FWHITE.

Referenced by gcg::Seeedpool::sortFinishedForScore().

SCIP_Bool gcg::cmpSeeedsPPCfWhite ( SeeedPtr  i,
SeeedPtr  j 
)

returns TRUE if seeed i has a greater score than seeed j

Definition at line 623 of file class_seeedpool.cpp.

References gcg::Seeed::getScore(), and SETPART_FWHITE.

Referenced by gcg::Seeedpool::sortFinishedForScore().

bool gcg::compare_blocks ( std::pair< int, int > const &  a,
std::pair< int, int > const &  b 
)

returns true iff the second value of a is lower than the second value of b

Definition at line 248 of file class_seeed.cpp.

Referenced by gcg::Seeed::calcHashvalue(), and gcg::Seeed::isEqual().

SCIP_CONS* gcg::consGetRelevantRepr ( SCIP *  scip,
SCIP_CONS *  cons 
)

returns the relevant representative of a cons

Definition at line 765 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::Seeedpool().

static SCIP_RETCODE gcg::createTestPricingprobConss ( SCIP *  scip,
SCIP *  subscip,
Seeedpool seeedpool,
SeeedPtr  seeed,
int  block,
SCIP_HASHMAP *  hashorig2pricingvar 
)
static

creates the pricing problem constraints

Parameters
scipSCIP data structure
subscipthe relaxator data data structure
seeedseeed corresponding to the decomposition to test
hashorig2pricingvarhashmap mapping original to corresponding pricing variables

Definition at line 305 of file class_seeedpool.cpp.

References GCGconsGetNVars(), GCGconsGetVars(), gcg::Seeedpool::getConsForIndex(), gcg::Seeed::getConssForBlock(), gcg::Seeedpool::getNConss(), and gcg::Seeed::getNConssForBlock().

Referenced by gcg::Seeedpool::calcStrongDecompositionScore().

SCIP_RETCODE gcg::findTranslationForDec ( Seeedpool origseeedpool,
Seeedpool transseeedpool,
std::vector< int > *  consindex,
std::vector< int > *  varindex,
SCIP_Bool  fromunpresolvedtopresolved,
SCIP_Bool *  success 
)

finds a translation from orig to transformed seeedpool

Parameters
consindexalready allocated
varindexalready allocated

Definition at line 6482 of file class_seeed.cpp.

References gcg::Seeedpool::getIndexForCons(), gcg::Seeedpool::getIndexForVar(), and gcg::Seeedpool::getScip().

Referenced by gcg::Seeed::writeAsDec().

SCIP_Bool gcg::finishNextChild ( std::vector< int > &  childs,
std::vector< SCIP_Bool > &  childsfinished,
int  child 
)

sets next possible child finished (should equal child) returns true if next child is the last unfinished child

Definition at line 521 of file class_seeedpool.cpp.

Referenced by GCGwriteTexFamilyTree().

int gcg::gcd ( int  a,
int  b 
)

method to calculate the greatest common divisor

Definition at line 755 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::calcCandidatesNBlocks().

SCIP_RETCODE gcg::getDetectorCallRoundInfo ( SCIP *  scip,
const char *  detectorname,
SCIP_Bool  transformed,
int *  maxcallround,
int *  mincallround,
int *  freqcallround 
)

writes detector call round information to passed parameter

Definition at line 541 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::findSeeeds().

int gcg::getFirstUnfinishedChild ( std::vector< SCIP_Bool > const &  childsfinished,
std::vector< int > const &  childs 
)

returns first unfinished child in childfinished array (-1 if there is none)

Definition at line 492 of file class_seeedpool.cpp.

Referenced by GCGwriteTexFamilyTree().

int gcg::getFirstUnfinishedChildId ( std::vector< SCIP_Bool > const &  childsfinished,
std::vector< int > const &  childs 
)

returns index of first unfinished child in childfinished array (-1 if there is none)

Definition at line 506 of file class_seeedpool.cpp.

static SCIP_Bool gcg::isFiniteNonnegativeIntegral ( SCIP *  scip,
SCIP_Real  x 
)
static

is constraint ranged row, i.e., -inf < lhs < rhs < inf?

Parameters
scipSCIP data structure
xvalue

Definition at line 293 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::createConsClassifierForMiplibConstypes().

static SCIP_Bool gcg::isRangedRow ( SCIP *  scip,
SCIP_Real  lhs,
SCIP_Real  rhs 
)
static

is constraint ranged row, i.e., -inf < lhs < rhs < inf?

Parameters
scipSCIP data structure

Definition at line 279 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::createConsClassifierForMiplibConstypes().

static SCIP_Bool gcg::realArraysAreEqual ( SCIP *  scip,
SCIP_Real *  array1,
int  array1length,
SCIP_Real *  array2,
int  array2length 
)
static

checks whether two arrays of SCIP_Real's are identical

Parameters
scipSCIP data structure
array1first array
array1lengthlength of first array
array2second array
array2lengthlength of second array

Definition at line 218 of file class_seeed.cpp.

Referenced by gcg::Seeed::checkConsistency().

void gcg::removeDigits ( char *  str,
int *  nremoved 
)

removes all digits from string str

Definition at line 725 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::createConsClassifierForConsnamesDigitFreeIdentical().

gcg::SCIP_DECL_DIALOGEXEC ( DialogWriteGraph::scip_exec  )

Definition at line 57 of file dialog_graph.cpp.

gcg::SCIP_DECL_DIALOGEXEC ( DialogGraph::scip_exec  )

Definition at line 69 of file dialog_graph.cpp.

gcg::SCIP_DECL_DIALOGEXEC ( DialogReadPartition::scip_exec  )

Definition at line 80 of file dialog_graph.cpp.

gcg::SCIP_DECL_SORTPTRCOMP ( Pricingcontroller::comparePricingjobs  )

comparison operator for pricing jobs w.r.t. their solution priority

preliminary order of sorting:

  • priority of pricing solvers
  • heuristic before exact
  • score

Definition at line 147 of file class_pricingcontroller.cpp.

SCIP_Bool gcg::seeedIsNoDuplicate ( SeeedPtr  seeed,
std::vector< SeeedPtr > const &  currseeeds,
std::vector< SeeedPtr > const &  finishedseeeds,
bool  sort 
)

returns FALSE if there exists a seed in currSeeeds or finishedSeeeds that is a duplicate of seeed

Definition at line 818 of file class_seeedpool.cpp.

References seeedIsNoDuplicateOfSeeeds().

Referenced by gcg::Seeedpool::findSeeeds(), and gcg::Seeedpool::hasDuplicate().

SCIP_Bool gcg::seeedIsNoDuplicateOfSeeeds ( SeeedPtr  compseeed,
std::vector< SeeedPtr > const &  seeeds,
bool  sort 
)
static SCIP_RETCODE gcg::setTestpricingProblemParameters ( SCIP *  scip,
int  clocktype,
SCIP_Real  infinity,
SCIP_Real  epsilon,
SCIP_Real  sumepsilon,
SCIP_Real  feastol,
SCIP_Real  lpfeastol,
SCIP_Real  dualfeastol,
SCIP_Bool  enableppcuts,
SCIP_Real  timelimit 
)
static

sets the pricing problem parameters

Parameters
scipSCIP data structure of the pricing problem
clocktypeclocktype to use in the pricing problem
infinityvalues larger than this are considered infinity in the pricing problem
epsilonabsolute values smaller than this are considered zero in the pricing problem
sumepsilonabsolute values of sums smaller than this are considered zero in the pricing problem
feastolfeasibility tolerance for constraints in the pricing problem
lpfeastolprimal feasibility tolerance of LP solver in the pricing problem
dualfeastolfeasibility tolerance for reduced costs in LP solution in the pricing problem
enableppcutsshould ppcuts be stored for sepa_basis
timelimitlimit of time

Definition at line 381 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::calcStrongDecompositionScore().

std::vector<SeeedPtr> gcg::thinout ( std::vector< SeeedPtr finishedseeeds,
size_t  ndecomps,
SCIP_Bool  addtrivialdecomp 
)

Definition at line 652 of file class_seeedpool.cpp.

SCIP_Bool gcg::unfinishedChildExists ( std::vector< SCIP_Bool > const &  childsfinished)

returns true if there exists an unfinished child in childsfinished array

Definition at line 479 of file class_seeedpool.cpp.

Referenced by GCGwriteTexFamilyTree().

SCIP_VAR* gcg::varGetRelevantRepr ( SCIP *  scip,
SCIP_VAR *  var 
)

returns the relevant representative of a var

Definition at line 775 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::Seeedpool().

SCIP_Bool gcg::varIsFixedToZero ( SCIP *  scip,
SCIP_VAR *  var 
)

returns the relevant representative of a var

Definition at line 784 of file class_seeedpool.cpp.

Referenced by gcg::Seeedpool::Seeedpool().