Electric vehicle charging station demand handling using multi-agent reinforcement learning. The project aims to improve the queueing problem at EV charging stations by providing smarter distribution. The work includes a cooperative custom environment and agents that are deployed using PPO, DQN and greedy algorithms within a SUMO simulator. The agents' aim is to learn which EVs are best to charge and which agent is best suited to charge them. Although the simulation won't fully match reality, the findings provide an insight into the potential capability of such a system.
Paper presented at EVS37: https://eprints.soton.ac.uk/487939/
- Python 3.9
- Install SUMO (https://sumo.dlr.de/docs/Installing/index.html)
pip install -r $SUMO_HOME/tools/requirements.txt
pip install .
in the root to build the package- See requirements.txt for additional libraries
Built three test networks to experiment with different scenarios:
Created a final example network using OpenStreetMap which is a part of Berlin's road network:
An 87.2% and 88.1% reduction in mean wait times for the multi-agent PPO and DQN implementations respectively were achieved against a greedy approach where each EV goes to the nearest station at a low charge.
- Gymnasium: https://gymnasium.farama.org/
- PettingZoo: https://pettingzoo.farama.org/index.html
- Ray RLlib: https://docs.ray.io/en/latest/rllib/index.html
- Sumo-rl: https://github.com/LucasAlegre/sumo-rl