# Numerical Experiments for "Achieving \tilde{\mathcal{O}}(1/N) Optimality Gap in Restless Bandits through Gaussian Approximation"

This repository contains the Python code for the numerical experiments presented in the paper. Each Jupyter notebook (`.ipynb` file) corresponds to a specific experiment, with the filename indicating its purpose.  

## **Files and Structure:**
- **Jupyter Notebooks (`.ipynb`):** Each notebook implements a distinct experiment as described in the paper.  
- **`EDDP_functions.py`:** Contains the main Python functions used in the experiments, including the implementation of the Explorative Dual Dynamic Programming (EDDP) algorithm.  
- **`.pkl` Files:** Pre-saved parameters for the machine maintenance example, allowing for consistent and reproducible simulations.  

### **Dependencies:**
The following Python packages are required to run the experiments:  
- `pulp` and `gurobipy` — for solving linear programs (LPs).  
- `joblib` — for parallel execution of simulation tasks.  
- `tqdm` — for displaying progress bars during simulations.  

Install the necessary packages using:  
```bash
pip install pulp gurobipy joblib tqdm
