An apparatus comprising means for selecting a path through a plurality of nodes interconnected via a plurality of links, the apparatus comprising: a data storage; and a processor communicatively connected to the data storage, the processor being configured to receive a connection request, update a first objective information based on the connection request and a balance objective, the first objective information being associated with the plurality of links, wherein the balance objective is a link utilization objective, update a second objective information based on the connection request and an efficiency objective, the second objective information being associated with the plurality of links, wherein the efficiency objective is a network utilization objective, determine a first utilization factor based on an association between the first objective information and an actual bandwidth allocation on the plurality of links, determine a second utilization factor based on an association between the second objective information and the actual bandwidth allocation on the plurality of links, characterized in that the processor being configured to determine a first path selection value based on the first utilization factor and the second utilization factor to select the path based upon a bias that favors either the balance objective or the efficiency objective, wherein the first path selection value changes after either the first utilization factor or the second utilization factor exceeds a threshold value, and the change in the first path selection value is based on a comparison between the first utilization factor, the second utilization factor, and the threshold. a data storage; and a processor communicatively connected to the data storage, the processor being configured to receive a connection request, update a first objective information based on the connection request and a balance objective, the first objective information being associated with the plurality of links, wherein the balance objective is a link utilization objective, update a second objective information based on the connection request and an efficiency objective, the second objective information being associated with the plurality of links, wherein the efficiency objective is a network utilization objective, determine a first utilization factor based on an association between the first objective information and an actual bandwidth allocation on the plurality of links, determine a second utilization factor based on an association between the second objective information and the actual bandwidth allocation on the plurality of links, characterized in that the processor being configured to determine a first path selection value based on the first utilization factor and the second utilization factor to select the path based upon a bias that favors either the balance objective or the efficiency objective, wherein the first path selection value changes after either the first utilization factor or the second utilization factor exceeds a threshold value, and the change in the first path selection value is based on a comparison between the first utilization factor, the second utilization factor, and the threshold. receive a connection request, update a first objective information based on the connection request and a balance objective, the first objective information being associated with the plurality of links, wherein the balance objective is a link utilization objective, update a second objective information based on the connection request and an efficiency objective, the second objective information being associated with the plurality of links, wherein the efficiency objective is a network utilization objective, determine a first utilization factor based on an association between the first objective information and an actual bandwidth allocation on the plurality of links, determine a second utilization factor based on an association between the second objective information and the actual bandwidth allocation on the plurality of links, characterized in that the processor being configured to determine a first path selection value based on the first utilization factor and the second utilization factor to select the path based upon a bias that favors either the balance objective or the efficiency objective, wherein the first path selection value changes after either the first utilization factor or the second utilization factor exceeds a threshold value, and the change in the first path selection value is based on a comparison between the first utilization factor, the second utilization factor, and the threshold.