Skip to content

This repository contains resources about my optional master semester research project performed with the Sycamore lab at EPFL. We studied mechanism design and preferential bayesian optimization for the maximization of unknown welfare functions.

Notifications You must be signed in to change notification settings

Antoine-Bergerault/preference-based-social-welfare-optimization

Repository files navigation

Preference-based social welfare optimization

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.

Configuring the environment

Run the following

conda env create -f environment.yml -n pref
conda activate pref

pip install -e .

Running experiments

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.

Running tests

We use pytest as our testing framework.

Run the tests using the following command:

cd tests && python -m pytest

About

This repository contains resources about my optional master semester research project performed with the Sycamore lab at EPFL. We studied mechanism design and preferential bayesian optimization for the maximization of unknown welfare functions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages