Problem: Solution for the Route solver using the hierarchy option is not optimal


When performing a route analysis using the hierarchy option, the route returned is not optimal -- there is another route that is much better than the route that was returned.


When using hierarchy, the route is determined with the solver favoring the primary roads (hierarchy level 1) over the secondary roads (hierarchy level 2), and the secondary roads over local roads (hierarchy level 3). Also, the solver tries to travel as much as possible on hierarchy level 1.

This is a heuristic approach, which is sensitive to data quality and modeling. For instance, if the hierarchy level 1 is sparse or is disconnected, it may result a long route. In the worst-case situation, the solution cannot be found.

Solution or Workaround

There are several options for avoiding this behavior:

  • Make sure your hierarchical networks are properly modeled. Pay particular attention to hierarchy level 1. For instance, make sure there is a good spatial representation of edge elements in hierarchy level 1.
  • Verify that each hierarchy level is not disconnected.

    A disconnect on a hierarchy level can be created at the solve time when using restrictions. For example, a turn restriction can cause parts of a hierarchy level to become inaccessible from the other parts of that level.

    Note: Barriers placed on the network have a special treatment and do not cause disconnects in the hierarchy levels at solve time.

  • Solve with custom hierarchy ranges. For example, if you have a commercial SDC data with four levels of hierarchy, set the range for primary roads up to 2.