This is for running benchmarks between optimization solvers. Enmphasis is put on making it easy to add new solvers.
- Clone this repo
git clone --recurse-submodules https://github.com/Guillaume-Garrigos/benchmark_optimization.git
cd benchmark_optimization
git submodule foreach --recursive git checkout main
- Note that we use the
--recurse-submodules
option here. This is for you to download all the solvers available to you.
- [optional] Add some specific solvers in
/src/solvers/
- you can type your own solvers in a python file, eventually in some subfolder.
- [optional] Download some datasets (the repo comes with a
dummy
dataset to run first experiments).- datasets must be placed in
/datasets/
, with the .txt extension. - datasets can be downloaded here : LibSVM.
- datasets must be placed in
- Edit
config.py
to specify which solvers to run, with which parameters. If you want more details about what are the parameters, you can give a look at/src/config_default.py
, see also the Documentation - Run experiments. You have different options:
- Run
python run.py
orbash run.sh
- Open a python script or notebook, and run the following lines:
from src.benchmark import benchmark_datasets benchmark_datasets()
- Run