1. A method for routing traffic in a network, comprising: determining topology information for a network comprising a plurality of nodes and a plurality of links between the nodes; determining a plurality of demands, each demand comprising a requested amount of traffic between a source node and a destination node for one of a plurality of service classes; determining an objective function using the topology information and the demands; and using the objective function, determining a solution that specifies a network path for each demand.