Skip to content
Rishikesh
All projects

AI / ML

Rail Optima

Machine learning combined with constraint optimization for railway-related planning.

Stack
  • Python
  • XGBoost
  • CP-SAT
  • Machine Learning
  • Optimization
Links
Source on GitHub (opens in a new tab)

This case study is a work in progress. The overview below is accurate; architecture details, implementation notes and results will be added once they’ve been written up and verified.

Overview

Rail Optima combines two complementary techniques for railway-related planning: a gradient-boosted model (XGBoost) for the predictive part of the problem, and a CP-SAT constraint solver for the part that has to respect hard rules.

Why two techniques

Planning problems usually have two halves. Some quantities are uncertain and have to be estimated from data — that is a machine learning problem. Others are strict rules that a valid plan must never break — that is a constraint optimization problem. Rail Optima is built around using each tool for the half it is suited to, instead of forcing one approach to do both jobs.