[SCIP] Using GuRoBi as LP solver: error in compilation using make LPS=grb ZIMPL=false

Naga Venkata Chaitanya Gudapati - nagavenkata.gudapati@studio.unibo.it nagavenkata.gudapati at studio.unibo.it
Wed Dec 11 12:06:52 CET 2019


Thanks for your suggestions.

I tried the CMAKE route and the GuRoBi directories couldn't be found.  I have tried the other suggestion to load the softlinks and I think it worked.

but during compilation of the source code, I got numberous warnings:

                warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
                      '-Wno-uninitialized'? [-Wunknown-warning-option]

But I think that is a clang/LLVM issue and not SCIP issues.

At the end of the compilation,

                ** Build complete.
                ** Find your SCIP binary in "/Users/cgudapati/scipoptsuite-6.0.2/scip/bin".
                ** Enter "make test" to solve a number of easy instances in order to verify that SCIP runs correctly.

But make test is not working and gives me the following error

                cd check; \
                                bash ./check.sh short bin/scip-6.0.2.darwin.x86_64.gnu.opt.spx2.none default scip-6.0.2.darwin.x86_64.gnu.opt.spx2.none results 3600 2100000000 6144 1 default 10000 \
                                false false 6.0.2 spx2 none /tmp false optimize 0 1 false 0 \
                                0 0;
                ERROR: "bin/scip-6.0.2.darwin.x86_64.gnu.opt.spx2.none" not found.
                       This is needed by ./check.sh to work. Check your
                       $PATH variable or install the tool "bin/scip-6.0.2.darwin.x86_64.gnu.opt.spx2.none".
                Skipping test since the binary bin/scip-6.0.2.darwin.x86_64.gnu.opt.spx2.none does not exist.
                make[1]: *** [test] Error 2
                make: *** [test] Error 2

It is probably because soplex is not installed.

When I cd into scipoptsuite-6.0.2/scip/bin/ and run

                        ./scip

I get the folliowing error:

                SCIP version 6.0.2 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Gurobi 8.1.0] [GitHash: e639a0059d]
                Copyright (C) 2002-2019 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

                External codes:
                  Readline EditLine w  GNU library for command line editing (gnu.org/s/readline)
                  Gurobi 8.1.0         Linear Programming Solver developed by Gurobi Optimization (www.gurobi.com)
                  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
                  ZLIB 1.2.11          General purpose compression library by J. Gailly and M. Adler (zlib.net)
                  GMP 6.1.2            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)

                user parameter file <scip.set> not found - using default parameters

                [1]    50704 segmentation fault  ./scip

I have decided to stop fiddling with macOS  and since I have access to a linux server I tried doing the same with make and using the softlinks and it seemed to have worked( I only compiled the SCIP part of the suite and not soplex).

when I run ./scip in my linux machine,


                SCIP version 6.0.2 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Gurobi 8.1.1] [GitHash: e639a0059d]
                Copyright (C) 2002-2019 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

                External codes:
                  Readline 7.0         GNU library for command line editing (gnu.org/s/readline)
                  Gurobi 8.1.1         Linear Programming Solver developed by Gurobi Optimization (www.gurobi.com)
                  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
                  ZLIB 1.2.8           General purpose compression library by J. Gailly and M. Adler (zlib.net)
                  GMP 6.1.2            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)

                user parameter file <scip.set> not found - using default parameters

                SCIP>

So looks like it is working on the linux machine. I only have a small question now. Since I compiled only SCIP on linux without soplex, when I do this:

        SCIP> read ../instances/adlittle.mps
        SCIP> optimize

everything seems to work and since Gurobi is loaded as the solver, so I can be confident that GuROBI was used to solve this? and similarly if I run the MIP instances in ug folder, is GuRoBi being  used to solve them?

Thanks a lot for your help,
Nag


________________________________________
From: Scip <scip-bounces at zib.de> on behalf of Gerald Gamrath <gamrath at zib.de>
Sent: Wednesday, December 11, 2019 3:18 AM
To: Gregor Hendel; scip at zib.de
Subject: Re: [SCIP] Using GuRoBi as LP solver: error in compilation using make LPS=grb ZIMPL=false

Dear Nag,

on the other hand, if you want to keep using the Makefile, compiling SCIP should not be too hard either, you just need to set the correct links.
When SCIP asks you for the links, it should print some explanation at the top of the prompt, which also gives some more details about where your links should point to:

* SCIP needs some softlinks to external programs, in particular, LP-solvers.
* Please insert the paths to the corresponding directories/libraries below.
* The links will be installed in the 'lib/include' and 'lib/static' directories.
* For more information and if you experience problems see the INSTALL file.

  -> "grbinc" is the path to the Gurobi "include" directory, e.g., "<Gurobi-path>/include".
  -> "libgurobi.*" is the path to the Gurobi library, e.g., "<Gurobi-path>/lib/libgurobi.so"

Thus, you set the grbinc link correctly, but the libgurobi.darwin.x86_64.gnu.so link should point directly to the shared library of Gurobi, which should be /Library/gurobi810/mac64/lib/libgurobi81.so in your case.

If you want to update the links you can run "make LPS=grb ZIMPL=false links", which will ask you for new targets.

Best,
Gerald

Am 11.12.19 um 08:52 schrieb Gregor Hendel:
Hi Nag,

welcome to the SCIP mailing list.  I recommend you switch to CMake to compile SCIP, if available, which is much easier, especially on non-Linux platforms. Please refer to

https://scip.zib.de/doc-6.0.2/html/CMAKE.php

In your case, the cmake command should be

cmake .. -DGUROBI_DIR=/Library/gurobi810/mac64/ -DLPS=grb

Happy branch-and-pricing,
Gregor



Am 11.12.19 um 06:33 schrieb Naga Venkata Chaitanya Gudapati - nagavenkata.gudapati at studio.unibo.it<mailto:nagavenkata.gudapati at studio.unibo.it>:
Hello Everyone,


I had never used SCIP before and I am hoping to use it for branch and price. I had never used CPLEX before and I am mostly familiar with GuROBi (I currently have my "column generation" Framework in GuRoBi) but I am facing lot of issues in trying to compile SCIP using GuRoBi as an LP solver.

I compile using

make LPS=grb ZIMPL=false

I am facing issues at these following areas:

> Enter soft-link target file or directory for "lib/include/grbinc" (return if not needed):

I am not 100% sure where this directory is. I  am currently using this directory for the include

    /Library/gurobi810/mac64/include

and then for the library

> Enter soft-link target file or directory for "lib/shared/libgurobi.darwin.x86_64.gnu.so" (return if not needed):

and I am using this directory

/Library/gurobi810/mac64/lib


I think the paths are wrong as it is failing to compile.

This is the error I am getting:

ld: can't map file, errno=22 file '/Users/cgudapati/scipoptsuite-6.0.2/scip/lib/shared/libgurobi.darwin.x86_64.gnu.so'

clang: error:
linker command failed with exit code 1 (use -v to see invocation)

build failed with READLINE=true: if readline is not available, try building with READLINE=false

build failed with ZLIB=true: if ZLIB is not available, try building with ZLIB=false

build failed with GMP=true: if GMP is not available, try building with GMP=false (note that this will deactivate Zimpl support)

make[3]: *** [bin/scip-6.0.2.darwin.x86_64.gnu.opt.grb.none] Error 1

make[2]: *** [all] Error 2

make[1]: *** [scipbinary] Error 2

make: *** [scipbinary] Error 2



I understand the error and SCIP is telling me that it cannot find the .so library and neither can I.  I realize that GuRoBi support is still in Beta but any help is appreciated.


Thanks,

Nag




_______________________________________________
Scip mailing list
Scip at zib.de<mailto:Scip at zib.de>
https://listserv.zib.de/mailman/listinfo/scip





_______________________________________________
Scip mailing list
Scip at zib.de<mailto:Scip at zib.de>
https://listserv.zib.de/mailman/listinfo/scip





More information about the Scip mailing list