This folder containts the implementation of the paper "Deep Reinforcement Learning for Sequential Combinatorial Auctions"
The code is written in python3 and requires the following packages
- Numpy
- PyTorch
- Gymnasium
- Stable-baselines3
We consider the following settings:
Setting | Setting Name | Description |
---|---|---|
A | unif | Additive valuations where item values are independent draws from |
B | asym | Additive valuations where item |
C | unit | Unit-demand valuations where item values are independent draws over |
D | 3demand | 3-demand valuations where item values are independent draws over |
E | comb1 | Subset valuations are independent draws over |
F | comb2 | Subset valuations are given by |
We consider the following approaches:
Approach | Train filename |
---|---|
PPO | train_PPO.py |
DP (Symmetric) | train_DPsym.py |
DP (Combinatorial) | train_DPcomb.py |
FPI | train_FPI.py |
We consider two menu structures:
Menu Structure | Filename | Notes |
---|---|---|
Combinatorial | bundle.py | Used when num_items <= 10 |
Entry Fee | entryfee.py | Used when num_items > 10 |
To run PPO, do
python <train_filename> -n <num_agents> -m <num_items> -e <setting_name> -l <learning_rate>
To run DP or FPI, do
python <train_filename> -n <num_agents> -m <num_items> -e <setting_name>
To change other hyperparameters, visit the corresponding file and modify the Args
class.
The logfiles can be found in experiments/
folder
Please cite our work if you find our code/paper is useful to your work.
Parts of the code were adapted from Stable-baselines3 and CleanRL packages