Changing the way we link with SCIP

As of today, I pushed support for scip 4.0.0 on both unix and windows.
In the process, I have changed the way to setup or-tools to include scip at compilation time.

on Unix:
  untar the scipoptsuite> archive somewhere
  cd <path to scipoptsuite-4.0.0>
  Mac OS X:  make GMP=false READLINE=false TPI=tny
  Linux: make GMP=false READLINE=false TPI=tny USRCFLAGS=-fPIC USRCXXFLAGS=-fPIC USRCPPFLAGS=-fPIC

  in or-tools, edit Makefile.local
  add:
    UNIX_SCIP_DIR=<path to sciptopsuite-4.0.0>/scip-4.0.0
  make clean
  make cc

  to test it, run:
     bin/integer_programming
  it should display the scip solver run.

on windows:
  download the compiled library:
    http://scip.zib.de/download.php?fname=scip-4.0.0.win.x86_64.vc14.opt.spx2.lib.zip
  download the headers:
    http://scip.zib.de/download/release/scipoptheaders-4.0.0.tgz

  uncompress, untar everything.
  create a directory that will contains what is needed
  md scip-4.0.0
  copy the include directory from the scipoptheaders archive inside this directory
  copy the libscipopt.lib file inside this directory
  copy the dll file somewhere on your path
  add
    WINDOWS_SCIP_DIR=<path to scip-4.0.0>
  to Makefile.local
  tools\make clean
  tools\make cc

  to test it, run:
     bin\integer_programming
  it should display the scip solver run.

Note: Make sure that paths do not contains spaces. I am not confident the makefiles are robust enough.

Next, I will do the same for glpk.


Comments

  1. Hi, I notice that:
    "in or-tools, edit Makefile.local
      add:
        UNIX_SCIP_DIR=/scip-4.0.0
      make clean
      make cc""
    If I just want to use the binary of or-tools, how do I link to SCIP path? I remember use MPSolver::USE_SCIP_INTEGER_PROGRAMMING is also OK

    ReplyDelete
  2. Hi,
    I'm traying to compile the source code but i'm getting the following error

    error LNK2001:
    unresolved external symbol "class operations_research::MPSolverInterface * __cdecl operations_research::BuildSCIPInterface(class operations_research::MPSolver * const)" (?BuildSCIPInterface@operations_research@@YAPEAVMPSolverInterface@1@QEAVMPSolver@1@@Z)

    does someone know that I miss?
    Thanks in advance.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Hi,
    is SCIP 6.0.0 supported in the current version of ortools (on windows)?

    Thanks in advance

    ReplyDelete
  5. This comment has been removed by a blog administrator.

    ReplyDelete

Post a Comment

Popular posts from this blog

Linking glpk with or-tools on unix

Heads up, upcoming incompatibility in the CP/Routing library