Scippy

GCG

Branch-and-Price & Column Generation for Everyone

The GCG Detection

The detection of structures in a given model is one of the main features that distinguishes GCG from SCIP. It accelerates the solving speed of many problems. For further reading, please consult the Use-Cases, in particular the second one.

To apply Branch-and-Price efficiently, it is required that your problem is structured. This means that it can be decomposed by our detection mechanism.

List of different structures GCG can find

Since we want to find these structures, we let our classifiers run on your model to check for specific classes of constraints and variables. This information is further used by different detectors to finally complete decompositions. In the following, you can find pages describing how exactly this process is carried out as well as to all classifiers and detectors that GCG offers. For each, we will present what exact structure it finds (or what classes, respectively), how it does that and for what instances this might be suited.

Detection Process
Classifiers
Detectors

When trying to find the best possible decomposition, you will stumble across different detection scores and a different mode for detecting structures, the Benders Mode.

Detection Scores
Benders Detection Mode

If you want to tweak the detection even more (see also Tweaking the Detection for a use case on that subject), you can also change detection parameters manually.

Detection Parameters


If you want to write your own classifiers and detectors, i.e. define how you want to decompose your problem, please consult the "How to" for that.

How to add classifiers
How to add detectors