diff --git a/README.md b/README.md index 083e938198f4c55e53215cf6619a2422c2cd285c..dfd10e6240258621a70b02b627c4c1c32b36b424 100644 --- a/README.md +++ b/README.md @@ -22,11 +22,11 @@ The repository is organized to enable researchers and practitioners to: ## Contents -- `cmake/`: Configuration files for CMake build system. -- `include/tb2/`: Header files used in the SCP implementation. -- `src/`: Main C++ source code for the SCP approach. -- `tests/`: Unit tests for key components. +- `src/`: Main C++ source code. - `CMakeLists.txt`: Build configuration file. +- `tests/`: Python scripts (to run multiple experiments and/or plot results). +- `cmake/`: Configuration files for CMake build system. +- `include/tb2/`: [Toulbar](https://github.com/toulbar2/toulbar2) files. --- @@ -36,15 +36,14 @@ The repository is organized to enable researchers and practitioners to: - **C++ Compiler**: GCC (>= 9.0) or Clang (>= 10.0) recommended. - **CMake**: Version 3.15 or higher. - **Libraries**: - - [Eigen](https://eigen.tuxfamily.org): Linear algebra library. - - [Boost](https://www.boost.org): General-purpose C++ library. - - [GTest](https://github.com/google/googletest): For running unit tests. + - [Eigen](https://eigen.tuxfamily.org): Linear algebra library (required). + - [Cplex](https://www.ibm.com/products/ilog-cplex-optimization-studio): For simultaneous algorithms (optional). -### Installation +## Installation 1. Clone this repository: ```bash git clone https://git.lwp.rug.nl/ml-rug/osarsa-aaai-25.git - cd osarsa-aaai-25 + cd osarsa-aaai-25/code ``` 2. Build the project using CMake: @@ -55,19 +54,39 @@ The repository is organized to enable researchers and practitioners to: make ``` -3. Run the example: +3. To run without Cplex: edit CMakeLists.txt, change + ```bash + set(USE_CPLEX, "ON") + ``` + to ```bash - ./code/src/problem_examples + set(USE_CPLEX, "OFF") ``` +4. Test: + ```bash + ./sdms -n oSarsa-seq -f tiger + ``` + should run the (sequential) oSarsa algorithm on the tiger problem. + --- ## Usage -### Reproducing Results -Reproducing results from the paper: +### Main Options + +problem name: -f (mabc, recycling, tiger, boxPushingUAI07, Grid3x3corners, Mars, GridSmall) +agent numbers: -N +planning horizon: -p +algorithm: -n (oSarsa, oSarsa-seq, A2C, IQL) +memory: -m +seed: -s +timeout (seconds): -t + +Example: + ```bash -./src/main.cpp +./sdms -f GridSmall -N 3 -p 10 -n oSarsa-seq -m 2 -t 100 -s 0 ``` ---