High Performance Routing

At the moment, HPR is only available on EU and NA clusters

High Performance Routing (HPR) is based on pre-calculated routing networks that use a pre-defined map and route calculation profile instead of conventional road networks. Using pre-calculated routing networks may be less flexible, but provides a huge advantage in accessing times. Especially for large distance matrix calculation instances, the speed-up is crucial.

Benefit:

This function is based on a pre-calculated routing network for a defined map and defined vehicle profiles. When calculating the route, the algorithm accesses this pre-calculated routing network, which considerably speeds up the process compared to conventional processes. If another map or vehicle profile is accessed, the PTV xServer automatically switches to the known flexible routing

Performance enhancement

Large tour plannings and matrix calculations can be significant accelerated with High Performance Routing. The chart below explains this with a different count of Waypoints, scattered all over in Germany. Calculate the distance matrix for 20x20 Waypoints takes 80 seconds regular, 4 seconds with HPR. The larger the number of Waypoints, the more time savings. 200x200 Waypoints takes 39 minutes regular, 6 seconds with HPR. 

Supported xServer

HPR is available for xRoute and xTour. For more Informations about usage and restrictions, please have a look to the PTV xServer Manual.

Supported vehicle profiles

The precalculation of High Performance Routing Network Graphs is based on a specified vehicle profile.

The following profiles are supported and can be used with PTV xServer Internet:

Please be aware to not set additional profile or routing parameters in the request. Additional settings in the request will deactivate the HPR even if you call the HPR profiles.

Example how to use High Performance Routing with xServer Internet

Add HPR vehicle Profile to Caller Context with .NET

xr.CallerContext { wrappedProperties = new [] { new xr.CallerContextProperty { key = "Profile", value = "hpr-truck-40t" } } }

Add HPR vehicle Profile to Caller Context with JSON

"callerContext": {
    "properties": [
      {
        "key": "Profile",
        "value": "hpr-truck-40t"
      }
    ]
  }