A Train Isn’t Just a Dot on a Map

When you’re scheduling trains, it’s tempting to treat them like simple objects moving from one point to another at a fixed speed. Point A to point B, done. But that’s not how it works.

The Problem: Why Rail Scheduling Is More Complex Than It Looks

We’ve been working with a major rail operator in Chile, and they’ve been struggling with scheduling. A lot of the problems come down to physics, not just logistics.

Gradient makes a huge difference. A train going uphill behaves very differently from one going downhill. It needs more power, takes longer to accelerate, and consumes more fuel. The number of locomotives changes how fast it can move. Add more locomotives and you get more pulling power, but you also add weight and complexity. The mass of the train affects how long it takes to cross a particular section of track. A heavy train doesn’t stop or start quickly. Throw in temporary speed limits and things get even more complicated.

These factors interact in ways that are difficult to model with traditional scheduling tools. Most scheduling software treats trains as identical units moving at fixed speeds. That might work for simple passenger services, but it falls apart when you’re dealing with heavy freight operations across challenging terrain.

Schedulers are trying to do this by hand. They’re using spreadsheets and other solvers that aren’t directly applicable to their problem. They needed something that could handle the complexity of a 30-vessel fleet, strict contractual time windows, and the trade-offs between different types of cargo.

The Solution: Adding Train Physics to the Optimiser

So we went back and made our rail optimiser smarter by adding proper train physics. Mass, power, number of locomotives, gradient, entry and exit times, all of it is now part of the model.

The solver now accounts for the physics of train movement in real-world conditions. It understands that a loaded train on a steep gradient needs different handling than an empty train on flat ground. It factors in acceleration curves, braking distances, and the impact of gradient on speed and fuel consumption. This means the schedules we generate are not just efficient on paper, but actually executable on the ground.

What This Unlocks

The solver doesn’t just know where a train needs to go, but how it actually gets there. That means more accurate schedules, fewer delays, and a system that works in the real world. For the rail operator, this translates to better asset utilisation, improved on-time performance, and more reliable service for their customers.

We’re looking forward to seeing how this develops and what comes of the demo. Rail physics is a challenging area, but it’s also one where optimisation can deliver significant value.

Blog

More Related Articles

Migrating DTO to Gemini AI: Solving the Context Window Problem

Throwing Our Hat in the Ring: Opturion and the Open Aster Challenge

From Road to Sea: How We Pivoted Our Transport Optimiser for LNG Logistics