1. A method for route determination, the method comprising: accessing, with a controller of a software defined network, a first set of constraints specifying whether route splitting is permissible for respective ones of a set of flows in the software defined network; accessing, with the controller, a second set of constraints specifying respective bandwidth demands for the respective ones of the set of flows in the software defined network; determining, with a linear programming model implemented by the controller, a set of routes based on the first and second sets of constraints, the set of routes to route the set of flows in the software defined network, the determining of the set of routes based on the first and second sets of constraints including: determining whether a combination of the first and second sets of constraints specified for the set of flows is able to be satisfied in the software defined network; and when the combination of the first and second sets of constraints specified for the set of flows is not able to be satisfied, determining the set of routes to meet a combination of a first subset of the first set of constraints and a first subset of the second set of constraints specified for a first subset of the set of flows having a first priority, but to not meet a combination of a second subset of the first set of constraints and a second subset of the second set of constraints specified for a second subset of the set of flows having a second priority different from the first priority; and transmitting routing information from the controller to a set of nodes of the software defined network to cause routing tables maintained by respective ones of the set of nodes to be updated to implement the set of routes.