1. A computer implemented method for solving a traffic congestion problem, the method comprising: selecting, using an application executing using a processor and a memory in a data processing system, a congested route section from a set of congested route sections; selecting a set of congesting vehicles, wherein the set of congesting vehicles causes congestion in the selected congested route sections by being positioned on the selected congested route section; populating a vacancy data structure corresponding to the selected congested route section, wherein the vacancy data structure stores information about available capacities of a set of candidate route sections, a candidate route section being a route section with available capacity to accommodate a congesting vehicle from the set of congesting vehicles, wherein the information is indexed in the vacancy data structure by a distance between a candidate route section in the set of candidate route sections and the selected congested route section selecting a subset of the set of the congesting vehicles; and rerouting the subset of the set of the congesting vehicles to a candidate route section from the vacancy data structure.