-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
Need to test the last SCIP 6.0.1 and update doc and code accordingly
SCIP Install
I'll only test the CMake based build of SCIP using the command:
SCIP download link: https://scip.zib.de/download.php?fname=scipoptsuite-6.0.1.tgz
SCIP install doc: https://scip.zib.de/doc/html/INSTALL.php
Unix:
cmake -H. -Bbuild -DSHARED=OFF -DGMP=OFF -DGCG=OFF -DSYM=none -DIPOPT=OFF -DREADLINE=OFF -DZIMPL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=$HOME/scip
cmake --build build --target install
export UNIX_SCIP_DIR=$HOME/scip
cd <ortools_root_path>
make clean
make cc
make run SOURCE=examples/test/lp_test.cc
make python
make run SOURCE=examples/test/lp_test.py
Windows:
Tasks
Here the tasks to do to test SCIP (sciptoptsuite) 6.0.1
- Test SCIP on Linux
-
Test Makefile based build -
Test CMake based SHARED build - Test CMake based STATIC build
- Test or-tools Makefile based build integration
-
Test or-tools CMake based build integration(Postponed to v7.2) -
Test or-tools Bazel based build integration
-
- Test SCIP on MacOS
-
Test Makefile based build -
Test CMake based SHARED build - Test CMake based STATIC build
- Test or-tools Makefile based build integration
-
Test or-tools CMake based build integration(Postponed to v7.2) -
Test or-tools Bazel based build integration
-
- Test SCIP on Windows
-
Test Makefile based build -
Test CMake based SHARED build - Test CMake based STATIC build
- Test or-tools Makefile based build integration
-
Test or-tools CMake based build integration(Postponed to v7.2) -
Test or-tools Bazel based build integration
-
note: currently SCIP is not supported in CMake-based build or Bazel-based build (PR welcome, or i'll do it later)
need to create a report like this: #948 (comment)
Related Issue
#1188 SCIP_interface use macros not available publicly
#1023 MacOS python package with SCIP support (in this case we should use SCIP static lib)
Annexe
- OR-Tools Makefile-based build integration
-
unix:
or-tools/makefiles/Makefile.unix.mk
Lines 97 to 100 in 4477092
ifdef UNIX_SCIP_DIR SCIP_INC = -I$(UNIX_SCIP_DIR)/include -DUSE_SCIP SCIP_SWIG = $(SCIP_INC) endif - linux:
or-tools/makefiles/Makefile.unix.mk
Lines 129 to 136 in 4477092
ifdef UNIX_SCIP_DIR SCIP_ARCH = linux.x86_64.gnu.opt SCIP_LNK = \ $(UNIX_SCIP_DIR)/lib/libscip.a \ $(UNIX_SCIP_DIR)/lib/libscipopt.a \ $(UNIX_SCIP_DIR)/lib/libsoplex.a \ $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a endif - macOS
or-tools/makefiles/Makefile.unix.mk
Lines 200 to 207 in 4477092
ifdef UNIX_SCIP_DIR SCIP_ARCH = darwin.x86_64.gnu.opt SCIP_LNK = \ -force_load $(UNIX_SCIP_DIR)/lib/libscip.a \ $(UNIX_SCIP_DIR)/lib/libscipopt.a \ $(UNIX_SCIP_DIR)/lib/libsoplex.a \ $(UNIX_SCIP_DIR)/lib/libsoplex.$(SCIP_ARCH).a endif
- linux:
-
Windows
or-tools/makefiles/Makefile.win.mk
Lines 117 to 125 in 4477092
# This is needed to find SCIP include files and libraries. ifdef WINDOWS_SCIP_DIR SCIP_INC = /I"$(WINDOWS_SCIP_DIR)\\include" /DUSE_SCIP SCIP_SWIG = -I"$(WINDOWS_SCIP_DIR)/include" -DUSE_SCIP STATIC_SCIP_LNK = \ "$(WINDOWS_SCIP_DIR)\\lib\\scip.lib" \ "$(WINDOWS_SCIP_DIR)\\lib\\soplex.lib" /ignore:4006 DYNAMIC_SCIP_LNK = $(STATIC_SCIP_LNK) endif
-