Implementing dedicated bus lanes on a network can improve bus travel times at the detriment of cars due to the reduced car capacities, especially at intersections. The optimum solution for the system considering both car and bus passengers is often unclear. In this paper, a bi-level optimization program is developed to optimize the location of dedicated bus lanes on a network while accounting for dynamic queue development at signalized intersections and possible queue spillbacks. The lower level evaluates the travel times on the network and the upper level determines the combination of dedicated bus lane locations that will minimize the objective function. The proposed method is applied to a test network and tested for both saturated and under-saturated traffic conditions with uniform and nonuniform demand patterns. Results show that, the proposed methodology successfully accounts for the effects of queuing. For under-saturated conditions, decrease in travel time of buses outweighs the increase in car travel time when dedicated bus lanes are implemented and the optimum solution finds that bus lanes should be implemented everywhere. For saturated conditions, an optimum solution where bus lanes are implemented only on the periphery of the network is found.