ryanjoneil/SCIP.jl


(deprecated) Julia interface to the SCIP solver

License: MIT

Language: Julia


SCIP.jl

Julia interface to the SCIP solver

This doesn't do much yet. Check back later. If you want to get something done right now, try AmplNLWriter.jl.

The following test creates a SCIP model, along with a few other things.

julia test/runtests.jl

Building SCIP.jl

This will change, but if you feel the need to hack on SCIP.jl, you should be able to do the following:

Build a SCIP library

Download and decompress the source distribution for SCIP 3.2.0. Compile a shared version of the library without extraneous dependencies.

$ cd scipoptsuite-3.2.0
$ make scipoptlib GMP=false ZLIB=false READLINE=false SHARED=true

You should now have a file that looks something like lib/lib/libscipopt-3.2.0.linux.x86_64.gnu.opt.so. Remember the location of this file for later.

Clone SCIP.jl and copy the SCIP library into it

First clone SCIP.jl.

$ git clone git@github.com:ryanjoneil/SCIP.jl.git

SCIP.jl needs to have the SCIP library availble to it. The simplest way to do that for now is to copy that .so file referenced above into the root SCIP.jl directory. If you're on Linux, use a .so extension here. Mac users should use .dylib extension, and Windows users should use .dll.

$ cp <location of scip library> SCIP.jl
$ cd SCIP.jl
$ ln -s <scip library> libscipopt.so

You should now be able to run the test code.

$ export LD_LIBRARY_PATH=.
$ julia test/runtests.jl

Optional: Generate the Julia code for SCIP.jl

The current structure of the project includes:

  • XML files describing the SCIP C interface are stored in the xml/ directory.
  • Go templates for the SCIP.jl interface are in templates/.
  • A bin/scipgen binary loads necessary data from xml/ and converts the templates into Julia source under the src/ directory.

If you need to change the Julia code under src/wrapped always change it under templates/ and regenerate the Julia code as follows.

$ make # this builds bin/scipgen
$ ./bin/scipgen xml/ templates/ src/

Project Statistics

Sourcerank 5
Repository Size 5.02 MB
Stars 5
Forks 3
Watchers 8
Open issues 14
Dependencies 1
Contributors 6
Tags 0
Created
Last updated
Last pushed

Top Contributors See all

Ryan J. O'Neil Joey Huchette Miles Lubin Leonardo Taccari Iain Dunning Kibaek Kim

Packages Referencing this Repo

github.com/ryanjoneil/SCIP.jl/x/scipgen
(deprecated) Julia interface to the SCIP solver
Latest release - Published - 5 stars

Something wrong with this page? Make a suggestion

Last synced: 2017-04-17 21:48:32 UTC

Login to resync this repository