Railway mixed-traffic simulation software: COST

Welcome to the page about the mixed-traffic railway capacity simulator tool: COST (Cost Optimization and Simulation Tool). Most of the development of this tool was financially supported by Research Design and Standards Organisation (RDSO), Lucknow, the research arm of Indian Railways. This tool helps in an accurate estimation of the throughput and capacity of a rail-section, and thus helps in an analysis of the congestion in the network in the context of freight trains. A detailed comparison can be made on the timetable generated before and after key scenarios: like addition of a loop line or adding/removing temporary speed restrictions (TSR).

1) Simulator exe/jar files

  1. Alternatively, a self-extracting Windows simulator128exe-file (for PCs with moderate RAM memory availability) can be executed by double-clicking on this exe file. This exe file has the jar-file and will execute with 128MB of memory.
  1. For PCs having more RAM memory: please use simulator515exe-file for execution. This exe file has the jar-file of option 1 and executes with 515MB of memory.
  1. The full source-code (in java) is available at the source-code-file. This source code can be edited and executed using, for example, eclipse. This is recommended for java programmers and not for simulator users. The source code can be compiled/executed-directly using: (For linux:)

    javac -verbose -g simulator/outputfeatures/MainInterface.java # for compiling

    java -Xss515m simulator.outputfeatures.MainInterface # for running (the source code directly)

Some template infrastructure files are available at infrastructure-files.

A calibration tool to obtain the equivalent constant acceleration for an engine whose traction effort usually decreases with increasing speed is available in the acceleration-calibration-xlsx-file and an explanation about the xlsx file is at acceleration-calibration-explanation. This is also elaborated in Appendix A of the User Manual.

2) User manual

The procedure to install java (with version details), and procedure to input rail-section infrastructure and train details is in the user manual. The simulation procedure and the comparison features too are described in the user manual. This document (in pdf-file) is available at: User-manual

For a beginner, it will also help to view/listen to the four spoken tutorials (each is about 10-minute video) on

(It is recommended to use vlc player for viewing these files.)

Click on docs-link for the same video files in ogv format (which plays in vlc, and the files are smaller.)

Better quality tutorials and smaller files are being made available at the google-drive-link

The latest jar file can be downloaded from here: simulator-zip-file. (Please look for the most recent one. The infrastructure/timetable zip file is also available in the same directory.)

Other related documents are kept at the docs-link:

3) Frequently faced difficulties

We are compiling a list of frequently faced difficulties (and suggested solutions). Please send us an email about difficulties not listed here and/or more suggested solutions.

4) Code documentation

The link below points to the code repository and this is useful if some structured inputs need to be developed. The code itself is voluminous, representing many person-years of work.

The code documentation can be found at code-documentation and code-documentation-tgz-file.

5) Code logic overview

The detailed logic that allows for different signaling regimes to be modeled, follows from this, and every train moves at a velocity so that it respects the occupancy information provided by movements of higher priority trains which are already scheduled. We emphasise that this is a capacity planning tool, not an on-line control tool, and so the scenarios that are simulated assume that all train movements are known in advance and the tool computes the section occupancies, throughput and performance measures accordingly. The logic has a lot in common with control in real time, but needs significantly different interfaces and utilities to be able to used for that purpose.

A user-oriented pdf/docx file (together with the logic and the formula) about the simulation is available at simulation-logic-pdf and simulation-logic-doc.

6) Use of the simulator

The simulator provides multiple ways of providing data by the users. It is meant for evaluating capacity enhancement decisions such as

As can be seen, almost the entire gamut of railway technology options can be modeled and the impact on throughput/capacity/congestion can be assessed on key sections of railways. The scenarios of importance need to be identified and modeled through the data entry mechanisms and then compared systematically. Each such effort requires very careful data validation and experimentation and it is not realistic to provide direct interface options for all such possibilities. There are simply too many options that users can wish to compare scenarios across, and this needs to be done outside the simulator tool itself. The tool provides the capability to impose the given traffic on a given infrastructure and tabulate performance statistics which can be used by the user.

Contributors: Devendra Shelar, Peeyush Gupta, Abhishek Singh, R. Vidyadhar,
Soumya Dutta, P. Sudarshan, Sushil Bobade, Ayush Agrawal, Aayush Aggarwal, Anuj Sahu and Vipin Maurya.

Contact persons:

Prof. Narayan Rangaraj,
Industrial Engineering and Operations Research (IEOR)
IIT Bombay, Powai, Mumbai 400 076
Email: narayan.rangaraj[AT]iitb.ac.in

and/or

Prof. Madhu N. Belur
Department of Electrical Engineering,
IIT Bombay, Powai, Mumbai 400 076
Email: belur[AT]iitb.ac.in

Last modified: 2nd July 2024