DesRail is a new open-source discrete-event-simulation (DES) library under development for rail network simulations, designed for high-performance-computing (HPC), flexible to model any network topology, entirely configurable through input data, with animation capability. Whilst there are existing rail network simulation packages on the market, e.g. OpenTrack (2025) and RailSys (2025), these packages are generally just playing out a user given timetable, and are modelling train dynamics (i.e. speed profiles) in a high degree of detail. They follow a discrete time, rather than discrete event paradigm, significantly increasing computational burden, making then unsuitable for use in a simulation-optimisation HPC setting. A number of general purpose DES libraries, e.g. AnyLogic (2025) and JaamSim (2025), also include rail-simulation extensions, however they have limitations such as model configuration which is highly GUI dependent, making model configuration workflow automation a challenge. These DES packages can be difficult to deploy in a HPC setting, they can be computationally inefficient, and can also be expensive to purchase. DesRail seeks to overcome these limitations and provide a suitable platform for research into simulation-optimisation or reinforcement learning for rail network operations. It is implemented in C++, known for computational performance, and is based on a new general purpose in-house C++ simulation library called DesLib. Rail network and train consist data are read from csv files, and model output consists of detailed log files (csv) and a JSON file which drives an asynchronous animation using the in-house Python library called DesViz. Train speed profiles within the simulation are modelled with linear acceleration and deceleration. Trains can operate in a closed loop system (i.e. spawned at time zero and persist through the simulation being assigned successive tasks), or as an open loop system (i.e. dynamically spawn, complete a single task, then despawn). Fixed block signalling is modelled with a central controller to register requests for section access and grant access based on availability and priorities. Track sections and associated destination reachability are determined via a depth-first-search at time zero of the simulation to avoid computationally expensive path searching during the simulation, or even worse, tedious manual definition of track sections and train paths as input (as is the case with most existing approaches). DesRail is demonstrated on a toy schematic rail network, along with a network to-scale of approximately 130km of track in South-East-Queensland.
Paul Corry is a Professor of Operations Research at QUT in Brisbane, Australia. Before joining academia, he worked for over a decade as a simulation consultant in industry. His research focuses on discrete-event simulation, optimisation modelling, and algorithms, with applications in transport, mining, healthcare, agriculture, and environmental management. Paul aims to connect theory with practice by developing solutions to complex, real-world problems. He teaches Operations Research to Mathematics and Data Science students at QUT, incorporating practical insights and industry connections into his teaching. Paul serves on the board of the Asia Pacific Industrial Engineering and Management Society and is an associate editor for the Journal of Industrial and Production Engineering and OR Spectrum.