Julia interface to SCIP solver.
- SCIP: actual solver (implemented in C) that is wrapped for Julia.
- CSIP: restricted and simplified C interface to SCIP which our wrapper is based on.
- SCIP.jl: previous attempt to interface SCIP from Julia, using autogenerated wrapper code for all public functions.
- MathProgBase: We aim to
implement MPB's abstract solver interfaces, so that one can use SCIP.jl
through JuMP. For now, the
LinearQuadraticModelinterface is implemented, supporting lazy constraint and heuristic callbacks.
Note: These instructions are meant for and only tested with GNU/Linux. OS X used to work, but there is an issue (#46) since the update to SCIP 4.0.0.
Follow the steps below to get SCIP.jl working. Unfortunately, these steps can not be automated as part of
Pkg.build("SCIP"), because the academic license of SCIP does not allow distribution of the source code without tracking the download metadata. See the license for details.
tar xzf scipoptsuite-5.0.0.tgz
2.Choose an installation path and set the environment variable
SCIPOPTDIR to point there.
3.Build and install the shared library with
mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$SCIPOPTDIR .. make make install
4.This package is registered in
METADATA.jl and can be installed in Julia with
SCIP has a long list of parameters
that can all be set through SCIP.jl, by passing them to the constructor of
SCIPSolver. To set a value
val to a parameter
name, pass the two
(name, val). For example, let's set two parameters, to disable
output and increase the gap limit to 0.05:
solver = SCIPSolver("display/verblevel", 0, "limits/gap", 0.05)