Patent ID: 7707056

Claim:
An article comprising a machine-readable medium storing instructions for automatically generating a schedule for a network of transportation resources, the instructions causing a data processing apparatus to perform operations comprising: identifying a plurality of constraints for a potential schedule; automatically building a proposed schedule by: assigning specific schedule options corresponding to each of a plurality of sets of previously unassigned schedule options in each of a plurality of iterations, wherein the schedule options include at least one of possible departure windows or possible arrival windows for the transportation resources; eliminating particular schedule options following each iteration of assigning specific schedule options, including at least portions of the possible departure windows or possible arrival windows, based on the plurality of constraints using constraint programming; identifying a set of remaining schedule options defining the proposed schedule following the plurality of iterations, including at least one of a set of remaining departure windows or a set of remaining arrival windows, wherein the set of remaining schedule options are identified based on a degree to which the identified schedule options satisfy the plurality of constraints and the proposed schedule includes a plurality of routes, with each route including a sequential association of a plurality of segments, the sequential association of the plurality of segments for each route determined by: generating a set of potential sequential associations of at least two segments and selecting sequential associations from the set of potential sequential associations to generate a route based on a degree to which the route satisfies the plurality of constraints; identifying a plurality of schedule alternatives, the plurality of schedule alternatives including the proposed schedule and at least one alternative to the proposed schedule, wherein the alternative comprises at least one departure time or arrival time not included in the proposed schedule; and analyzing the plurality of schedule alternatives using an objective function.