Scippy

GCG

Branch-and-Price & Column Generation for Everyone

Easy Installation

This page guides you through the default installation of GCG and the SCIP Optimization Suite. The steps below will only function for Linux and Mac systems out of the box. At points, it might be required to alter the package management system (here, we use apt) according to your system.
Windows Users: If you only have a Windows system, please read the Windows Installation Guide for more information.

Install GCG and the SCIP Optimization Suite

If you want to let an automated installer do the work for you, you can download it here.
Note: The script requires you to have the SCIP .tar file (the source code) downloaded already (obtainable here). Also, it might be required to make the script executable, using e.g. sudo chmod +x installSCIPopt.sh.

Step 1: Prerequisites

Update your package lists:

sudo apt-get update

Install the required system libraries:

sudo apt-get install build-essential libreadline-dev libz-dev libgmp3-dev lib32ncurses5-dev libboost-program-options-dev libblas-dev

To use all detectors, some more packages are required. See Install Optional Packages for more information.

Step 2: Get the SCIP Optimization Suite

Download the most recent SCIP Optimization Suite Source Code from the SCIP Page. Unzip it and go into the folder, replacing X.X.X by the version you downloaded.

tar xvzf scipoptsuite-X.X.X.tgz
cd scipoptsuite-X.X.X

Step 3: Compile via CMake

The installation via CMake is recommended for new users. It does not offer the testing capabilities that Makefiles offer out-of-the-box.

First, make sure that cmake is installed correctly and up-to-date:

sudo apt-get install cmake

Then create the build directory and prepare the build.

mkdir build
cd build
cmake ..

Arguments to be added to cmake .. if needed can be found under CMake Arguments. After the build files were prepared, you can start the compilation.

make

If your compilation results in an error, please check our troubleshooting section.
If your compilation succeeded, we recommend to test your installation by running a quick check (from within the build directory) on some instances:

make gcg_check

Note that the execution of make-commands, e.g. make test is only supported inside the build-folder (in which it requires some more steps to add testsets). Therefore, if you intend on using make test (and not ctest), you should compile SCIP and GCG via Makefile.

Step 3 (Alternative): Compile via Makefile

The installation using the Makefiles build system is recommended for developers, since it offers more testing capabilities (see How to conduct experiments with GCG).

First, make sure that make is installed correctly and up-to-date:

sudo apt-get install make

Then, from the root folder of the SCIP Optimization Suite, compile everything with

make
make gcg

Arguments to be added to make gcg if needed can be found under Makefiles Arguments. If your compilation results in an error, please check our troubleshooting section.
If your compilation succeeded, we recommend to test your installation by running a quick check (from within the scipoptsuite-X.X.X/gcg/ directory) on some instances:

make test

Step 4: Use GCG!

See our Getting started - Guide for further comments on the usage.

Troubleshooting

In the following, we want to list common mistakes that occur during the installation and different solutions (ordered by number of successful applications) that have worked in the past.

Problem:

-- Configuring incomplete, errors occurred!
See also "/home/user/scipoptsuite-7.0.1/build/CMakeFiles/CMakeOutput.log".
See also "/home/user/scipoptsuite-7.0.1/build/CMakeFiles/CMakeError.log".

Possible Solutions:

  • Try executing cmake .. again.
  • Check if all required packages have been found. Install all packages listed under -- The following REQUIRED packages have not been found:.
  • Execute cmake .. as root user (sudo cmake ..).


Problem:

/usr/bin/ld: ../../papilo/tbb_release/libtbb.a(task_group_context.o): in function `tbb::internal::basic_tls<unsigned long>::get()':
/home/user/scipoptsuite-7.0.1/papilo/external/tbb/./src/tbb/tls.h:43: undefined reference to `pthread_getspecific'

Possible Solutions:

  • No solution found yet.