This is the manual of the branch-and-cut software SCIL that features symbolic constraints in integer linear programming. A paper describing SCIL is available at http://www.mpi-sb.mpg.de/SCIL/scil.ps
Beside the description of all classes and member function, we give a short tutorial on SCIL.
For our motivation and goals starting this project see this page. A comparison to extant work can be found on this page.
The Structure of SCIL Programs
Typical SCIL programs consist of several parts, some of which are optional
P.optimize().We describe the basic usage of SCIL in three examples:
A very short example that uses only one symbolic constraint is the Traveling Salesman Tours example.
The Precedence Constrained Traveling Salesman Tours example uses two different symbolic constraint. One of it is used several times
In the Production planning example we add symbolic and basic constraints to our initial model. Here you learn how one can create entries in the LP-matrix. A detailed description of this issue can be found here.
A user only need to know the class ILP_Problem
To learn how to develop own symbolic constraints we refer to the implementations of the following symbolic constraints:
Something with pricing
An example where the complete model can be stated with predefined constraints, but the efficiency of the algorithm can be improved by separation further basic constraints is given in the symmetric connectivity example.
TODO make examples for primal heuristics, directing the search, configurations.
In this section, we list some projects that are based on SCIL.
The system is still under development. The following items are planned in the near future.
1.2.16