This repository contains the code for a semester research project done with the Sycamore lab at EPFL. The report for the project can be found here. We tackle the problem of the decentralized optimization of a global objective by combining mechanism design and preferential bayesian optimization.
Run the following
conda env create -f environment.yml -n pref
conda activate pref
pip install -e .
The configuration for running experiments is managed by hydra in configs
.
The entrypoint for all experiments is app.py
.
For example, use the following command to run the main algorithm with a equilibrium oracle and an horizon of 10:
python app.py learning_algorithm=oracle horizon=10
For predefined experiments referenced in the report, use the following command:
python app.py -cd configs/experiments --config-name experiment-{number}
To perform more advanced inspections, you might want to create or use a script in /scripts
.
We use pytest as our testing framework.
Run the tests using the following command:
cd tests && python -m pytest