A railroad’s operating plan consists of railroad blocking and train scheduling. A blocking plan specifies how railcars between a specific origin-destination pair of locations are routed over the train network. A train schedule specifies how these blocks move over the rail network by a set of trains. Train scheduling consists of determining how many trains to run, origin-destination routes of these trains, and their pickup and delivery locations. Designing an optimal train schedule for a railroad, while honoring various yard and track capacity constraints, is a very complex optimization problem. Optym partnered with BNSF Railway, the second largest freight railroad in North America, to develop a solution for this planning challenge.