1. An article comprising a non-transitory machine-readable medium storing instructions for causing data processing apparatus to perform operations comprising: identifying a plurality of segments to be served by a set of transportation resources, with each segment corresponding to a pair of markets in a network of markets including a departure market and an arrival market; defining, for each segment, a range of possible departure times of a transportation resource and a plurality of potential routings, wherein each potential routing defines a link between the segment and another one of the plurality of segments having a departure market corresponding to the arrival market for the segment to be served by a single transportation resource; executing a constraint propagation algorithm to eliminate, for each segment, a portion of the range of possible departure times and a portion of the potential routings to be served by a single transportation resource based on a first plurality of constraints, wherein executing the constraint propagation algorithm generates a reduced set of schedule options, the reduced set of schedule options including a reduced range of departure times and a reduced set of potential routings for each segment relative to the range of departure times and the plurality of routings for the segment, wherein at least some of the eliminated potential routings are eliminated based on the eliminated potential departure times; and using a backtracking constraint programming algorithm and the reduced set of schedule options to automatically build at least one proposed schedule, the backtracking algorithm operable to select particular schedule options from the reduced set of schedule options based on a second plurality of constraints, and the at least one proposed schedule includes a specific departure time and a specific routing for each segment.