Using SCIP with AMPL

In this post I will describe how to build recently released SCIP version 3.0.0 with AMPL support on Linux. I am using Ubuntu 12.04, but the process should be similar on other distributions with apt replaced with whatever package manager available there.

1. Download the archive containing the source code for SCIP Optimization Suite and extract its content:

$ tar xzf scipoptsuite-3.0.0.tgz

2. Install the dependencies:

$ sudo apt-get install g++ zlib1g-dev bison flex \
    libgmp-dev libreadline-dev libncurses5-dev

3. Build SCIP:

$ cd scipoptsuite-3.0.0/
$ make

4. Download and build the AMPL solver library:

$ cd scip-3.0.0/interfaces/ampl/
$ ./get.ASL
$ cd solvers/
$ sh configurehere
$ make
$ cd ..

5. Build the SCIP-AMPL interface and copy scipampl somewhere on the path:

$ make
$ sudo cp bin/scipampl /usr/local/bin/

Now you should be able to use SCIP with AMPL by setting the solver option to scipampl:

ampl: model diet.mod;
ampl: data diet.dat;
ampl: option solver scipampl;
ampl: solve;
SCIP version 3.0.0 [precision: 8 byte] [memory: block] [mode: ...
SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 1
Primal Bound       : +8.82000000000000e+01 (1 solutions)
Dual Bound         : +8.82000000000000e+01
Gap                : 0.00 %

optimal solution found

Unfortunately scipampl doesn't support any solver options yet, but these are planned for future versions, so stay tuned.