Once you succeeded installing SCIP together with an LP-solver on your system, you have a powerful tool for solving MIPs, MIQCPs, MINLPs, etc... at hand. SCIP can also be customized to the type of problems you are working on by additional plugins. Instructions on how to write a new plugin and include it in SCIP can be found in the corresponding How to add ... pages.
SCIP can also be used for writing your own branch-and-cut or branch-and-cut-and-price code. SCIP already provides a number of existing code examples which we suggest as both reference and starting point for these kinds of projects. Below, you find some hints of how to start such a project.
The example should be chosen depending on the programming language (C or C++) and the purpose (branch-and-cut or branch-and-cut-and-price) of your project.
We suggest the use of one of the following examples:
More examples can be found in the list of Examples.
examples
directory (in the SCIP root directory). For instance, type cp -r examples/Binpacking/ ../SCIPProject/ ; cd ../SCIPProjectfrom the SCIP root directory for copying the content of the
Binpacking
-example into a fresh directory named SCIPProject in the parent directory of the SCIP root directory and jumping to the new SCIPProject directory rightafter.It is recommended for all new users to use the CMake build system configuration, if available on their platform.
CMakeLists
(some examples projects have a subdirectory "check" for testing) via kate CMakeLists.txt & kate check/CMakeLists.txt # if check/CMakeLists.txt is availableand replace all instances of the copied project's name (e.g.
binpacking
) with your project name.mkdir Release ; cd Release ; cmake .. -DSCIP_DIR=../scip/Releaseand compile using the
make
command. For the CMake equivalents of all the flags that can be used in SCIP , see Building SCIP using CMake.If CMake should be unavailable on your targeted platform, try the classic Makefile system of SCIP.
Makefile
via kate Makefileand edit the following variables at the top to have a compilable code:
SCIPDIR
)MAINNAME
)MAINOBJ
).