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.
Typical SCIL programs consist of several parts, some of which are optional
IP.optimize()
.We describe the basic usage of SCIL in four examples:
A very short example that uses only one symbolic constraint is the Traveling Salesman Tours example.
In the Tool Switching example we add symbolic and basic constraints to our initial model. Here you will also learn how to create and use your own symbolic constraints.
The use of polynomials in objective function and constraints is described in the Polynomials example.
In the Boolean_Functions example you get an introduction to boolean functions and boolean constraints in SCIL.
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:
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.
In this section, we list some projects that are based on SCIL.
If you have comments and/or suggestions please feel free to contact us.