1. A non-transitory computer-readable medium that provides processor executable instructions for causing a computer to perform a method of transportation planning, the method comprising: selecting a primary carrier for each trip in a set of trips, where a trip defines a route for transporting a load from a source to a destination and includes an assigned carrier, a trip cost, and one or more local trip constraints, and selecting the primary carrier for each trip based on a lowest cost for the trip based on the one or more local trip constraints; modifying selections of the primary carriers assigned to the set of trips, the set of trips having an associated global cost being based on at least a sum of single trip costs, global penalty costs for violations of one or more global trip constraints and local penalty costs for violations of one or more local trip constraints; change changing the primary carrier for each trip to a different carrier in order to cure one or more violations in the one or more local trip constraints associated with the trip and one or more global trip constraints associated with the set of trips, and programmatically changing the carrier assignments of multiple trips in view of the one or more trip constraints; and determining an impact on the global cost associated with the set of trips based on each change of carrier assignment for each single trip and to output optimized carrier assignments for the set of trips based on the global cost.