Scippy

GCG

Branch-and-Price & Column Generation for Everyone

Release notes for GCG 2.1

GCG 2.1.4

  • use SCIPaddRow() instead of deprecated SCIPaddCut()

GCG 2.1.3

  • changed interface to SCIP 5.0.0

bug fixes

  • fix memory bug in original diving event handler
  • fix memory bug in DECdecompRemoveDeletedConss
  • fix bugs in check script
  • fix bug in checking if master is a set partitioning problem
  • implement enforelax callbacks
  • diving heuristics and branching rules compute fractionalities by themselves

GCG 2.1.2

  • changed interface to SCIP 4.0.0

code cleanup

  • cleanup for extreme point heuristics, moved code to own methods, added comments, remove redundant parameters
  • reallocate memory for origvars array in pricingvardate more efficiently
  • reallocate memory for original variable array in pricing variable data more efficiently
  • reorder permutations in isomorph detector according to orbit size and add maxdecomps parameter

bug fixes

  • changed/corrected variable fixing behaviour of Extreme Point RINS in case of aggregated blocks
  • fixed handling of fixed variables in decompositions
  • update include method of solver template
  • fix GCGconsGet*() methods such that negated variables are handled correctly
  • fix bug in transformation of master solution to original solution
  • small bugfix in method that creates column graph from matrix
  • fixed memory errors in unit tests
  • fix memory issue with GCG_COL's
  • fix the deletion of old columns in the column pool
  • fix propagation of original variable bounds to the pricing problems: propapagte bounds only if identical variables have the same bounds, throw an error message otherwise
  • in case of global bound changes on original variables, check if the current relaxation solution satisfies the new bound, and mark it invalid if not
  • stop the reduced cost pricing clock correctly
  • free redundant decompositions correctly
  • fix identity check of decompositions
  • fix bug in createPolishedDecomp()
  • fix bug in isomorph detector
  • avoid numerical troubles by rounding integral pricing solutions if possible

GCG 2.1.1

code cleanup

  • simplified logic when assigning variables to blocks

bug fixes

  • use only one hashmap when initializing pricing problems
  • small bugfix in set covering heuristic
  • fixed a bug in original variable diving heuristics
  • fixed a time limit issue concerning the master problem that was introduced by the SCIP reoptimization feature
  • reorganized detector callbacks and thus fixed memory leaks when reading a new instance
  • fixed memory allocation in basis separator

GCG 2.1.0

features

  • column pool
  • new set covering heuristic
  • basis cuts separator
  • numerical tolerances of the original problem are used in the master and pricing problems
  • new compiler flag CPLEXSOLVER to solve pricing problems with CPLEX

code cleanup

  • re-organized constraint handlers for managing branching decisions in original and master problems
  • simplified code and reduced memory consumption in cutpacking detector

bug fixes

  • GCG columns are freed correctly in the pricer