To set up SCOT, you need the following prerequisites:
- gcc Compiler: Ensure you have a C++17-compatible compiler.
- Gurobi Optimizer: Version 10 or higher is required. Quick Start Guide.
- Message Passing Interface (MPI):
- CMake
SCOT is compatible with the following platforms:
- Ubuntu 20.04 or higher
- Microsoft Windows with WSL2
define the following environment variable in either .bashrc or in the terminal
export LD_LIBRARY_PATH=$GUROBI_HOME/lib:/usr/local/lib:/usr/lib
run the following script
sh ./install.sh
Clone this repository
git clone https://github.com/Alirezalm/scot.git
Ensure that the GUROBI_HOME environment variable is defined, pointing to your Gurobi installation:
export GUROBI_HOME=/path/to/gurobi
Navigate to the cloned repository and execute the following commands:
mkdir build
cd build
cmake ../
make install
Upon successful installation, you will find the scot_framework folder in the project's root directory,
containing the following structure:
├── bin
│ └── scot
└── lib
├── libalgorithms.so
├── libdose.so
├── libmip.so
├── libmodel.so
├── libprimal.so
├── libsolver.so
└── libtasks.so
To ensure the shared libraries in the lib folder are found by the OS, you can use the following command:
export LD_LIBRARY_PATH=./lib:$GUROBI_HOME/lib
Now, you can execute SCOT help as follows to make sure the application is compiled correctly:
./bin/scot --help
Usage: SCOT [OPTIONS]
Options:
--dir Directory of input files
--input Input file name (without prefix and postfix)
--nz Number of non-zeros
--alg Algorithm to use
--tlim Time limit
--rgap Relative gap
--verbose Verbosity
--ub Big-M parameter