Free-floating Electrical Vehicles Sharing Systems (FFEVSS)
This repository contains all implementations of "A Reinforcement Learning Approach for Rebalancing Electric Vehicle Sharing Systems", inclduing environments for both a single and multi shuttle routing in FFEVSS.
Dependencies
Pytorch 1. 5 Python > 3.6
Content
- agents stores A2CAgents designed to train and test reinforcement learning agents for a single and multi shuttle routing, that use A2C algorithm for training .
- data containes test dataset designed for a specific urban network structure.
- envs stores two simulatores to represent environments of FFEVSS with a single and multiple shuttles and data generators that produce training data for simulators on the fly.
- neuralnets includes Actor and Critic neural nets that are based on sequence to sequence models with attention mechanism
- results stores inference results based on test datasest stored in the data folder
- trained_models containes keys of trained models and can be directly loaded to Actor and Critic models
- main.py imports all needed libraries either for a single or multi shuttle routing and allows to perform training and testing using specific RL agents.
- network_settings.py specifies an urban network structure of FFEVSS that are later passed to data generator and environment.
- options.py inlcudes the argument values used throughout training and testing.
To Run
- Clone this repository.
- Specify an urban network structure of FFEVSS or use the default structure included in network_settings.py.
- Run main.py as follows with the default settings to train a single shuttle routing:
python main.py
- To perform only inference please set 'train' to False in options.py or just run:
python main.py --train=False
To Cite
@misc{bogyrbayeva2020reinforcement,
title={A Reinforcement Learning Approach for Rebalancing Electric Vehicle Sharing Systems},
author={Aigerim Bogyrbayeva and Sungwook Jang and Ankit Shah and Young Jae Jang and Changhyun Kwon},
year={2020},
eprint={2010.02369},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Sample Solutions
A sample solution for a sinlge shuttle routing in the urban network of size 23 nodes.
A sample solution for a multi shuttle routing in the urban network of size 23 nodes.