1. A method of routing computer network traffic from a multi-homed location to a plurality of routes wherein each route has capacity associated therewith, said method comprising: determining a first, second, and third traffic flow demand for a first, second, and third prefix, respectively, in a network prefix set; gathering performance data for each of said first, second, and third prefixes along each of said plurality of routes; making first, second, and third routing decisions in a computer for routing each of said first, second, and third prefixes, respectively, along one of said plurality of routes, said computer using a linear programming technique to make said first, second, and third routing decisions, said linear programming technique including solving an objective function subject to a plurality of constraints, wherein said plurality of constraints includes said capacity, as well as prices associated with said routes; wherein: said first routing decision takes into account said first, second, and third flow demands, as well as said capacity of said plurality of routes; said second routing decision takes into account said first, second, and third flow demands, as well as said capacity of said plurality of routes; said third routing decision takes into account said first, second, and third flow demands, as well as said capacity of said plurality of routes; and forwarding Internet Protocol (IP) packets along said plurality of routes in accordance with said first, second, and third routing decisions.