Note
Please refer to the submission branch to reproduce results as presented in the paper. The main branch ships the bare environment.
For those using uv, it is possible to run a standard PPO implementation with default settings by directly running uv run main.py.
git clone git@github.com:ponseko/chargax.git
cd chargax
uv run main.pyAlternatively, install the project as an editable package in your favourite virtual environment software. E.g. using conda:
git clone git@github.com:ponseko/chargax.git
cd chargax
conda create -n chargax python=3.11
conda activate chargax
pip install -e .
python main.pyfor CUDA support, additionally run pip install jax[cuda].
Note
The PPO implementation used in the example train.py file is different from the one
used in the paper. As such, required hyperparameters may be different as well.
Check out the submission branch to reproduce results.
@misc{ponse2025chargaxjaxacceleratedev,
title={Chargax: A JAX Accelerated EV Charging Simulator},
author={Koen Ponse, Jan Felix Kleuker, Aske Plaat, Thomas Moerland},
year={2025},
eprint={2507.01522},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2507.01522},
}