Experiments in combining Deep Reinforcement Learning (using PyTorch) and Hospital Simulation (using SimPy)
This page contains links to Jupyter Notebooks that experiment with creating hospital simulations (built using using SimPy), and using Deep Reinforcement Learning methods (built using PyTorch) to interact with and manage those simulated hospital environments.
A key aim is to make all simulation models compatible with a RL framework that is very similar to OpenAI Gym (https://gym.openai.com/). This includes:
reset() to reset the model. This returns the first state observations.
step() to pass an action to the model. This returns a tuple of new state, reward, is_terminal, info_dict.
The code is fully functional and may be run from the parent GitHub repository using the link to BinderHub. Performance will usually better on your own dedicated machine and the GitHub repository gives instructions for installing the necessary Python libraries.
Here is the GitHub repository: https://github.com/MichaelAllen1966/learninghospital
If this work is of potential interest please contact me at email@example.com
- Double Deep Q Network (DDQN) – controlling a simple hospital bed system.
- Duelling Double Deep Q Network (D3QN) – controlling a simple hospital bed system.
- Noisy Duelling Double Deep Q Learning – controlling a simple hospital bed system.
- Noisy Bootstrapped Aggregation (‘Bagging’) Duelling Double Deep Q Learning – controlling a simple hospital bed system
- Prioritised Replay Noisy Duelling Double Deep Q Learning – controlling a simple hospital bed system