Technote: Graphhopper vs vs OSRM Gosmore

Un nouveau candidat pour notre concours de routage OpenStreetMap pénètre dans l'anneau: Graphhopper. Est-ce qu'il se dresser contre l'OSRM routeurs de renom et Gosmore?

Nos besoins
Let ';s indiquent clairement à nouveau: nous avons adapté notre test de routeurs de l'OSM à notre nos besoins. Les résultats et la conclusion peuvent ne pas être valide du tout pour tous les besoins de routage. Soyez prudent avec l'interprétation de ce test. Chaque routeur a des côtés forts qui le rend exceptionnel dans son domaine.

Pour notre publique routage d'arrêt multiples service, nous avons besoin des millions de routes point à point chaque jour. RouteXL optimise le voyage sur la route la plus rapide vers des destinations multiples. Pour chaque optimisation de voyage, toutes les durées de déplacement entre les arrêts intermédiaires sont nécessaires. E.g. pour trouver le meilleur itinéraire via dix endroits d'une origine, nous avons besoin de 11 x 10 = 110 itinéraires. Pour 40 emplacements nous avons besoin de 1,640 routes. Et ainsi de suite.

Graphhopper
Précédemment, OSRM gagné la bataille avec Gosmore dans sa vitesse. Mais OSRM ne était pas encore capable de fonctionner sur les petits et bon marché des serveurs que nous utilisons à jour. Qui nous a empêché de mettre en œuvre ce dans le monde entier à ce jour. Nous étions très heureux quand un nouveau candidat ";volontaire "; à se joindre à notre test. Serait-il combiner les deux points forts: être aussi rapide que OSRM, avec les petites exigences que Gosmore?

Le nouveau routeur dans cet essai est Graphhopper. Sur son site web, il dit être un moteur de routage de voie rapide et Open Source. Il ';s affaires en raison de sa licence Apache et promet à l'échelle du grand serveur pour appareil mobile. Graphhopper est implémenté en Java et a une interface API, ce qui le rend facile à intégrer à notre système. Il ';s le développement est très active.

Les résultats des tests
Nous avons utilisé le même test comme avant. Points aléatoires sur une petite carte ont été sélectionnés. Ces jambes aléatoires générés pour être acheminés. Le pourcentage de routes et le temps réussis pour le calcul de l'itinéraire ont été enregistrés. Routes ont été validés par des durées minimales et maximales, sur la base de la distance à vol d'oiseau.

Total des jambes: 10.000 
Temps total Gosmore: 671.423sec OSRM: 28.682sec GraphHopper: 23.586sec
Succès Gosmore: 97,6% OSRM: 98% GraphHopper: 99,1%
Trop lent Gosmore: 0% OSRM: 0% GraphHopper: 0%
Trop rapide Gosmore: 0% OSRM: 0% GraphHopper: 0%

Sur ces 10.000 jambes, Graphhopper est beaucoup plus rapide que Gosmore, et même plus vite que notre gagnant précédente OSRM. Aussi son taux de réussite est plus élevé, proche de 100%. Le petit nouveau sur le bloc prend tout.

Mais comme avec OSRM, il a gagné ';t course pour la planète entière sur notre ";petit "; Serveurs solveur 4GB, faire que l'optimisation de routage derrière les écrans. Aussi, Graphhopper ';code de s est encore en développement actif et non encore stable. La rétrocompatibilité ne est pas garanti que la première version stable.

Mise en œuvre
Nous sommes très impressionnés par Graphhopper ';s performances. Parce que la demande pour notre service se développe rapidement et Amazon Web Services a baissé les prix de ses serveurs EC2, nous avons pris une chance. Nous ';ve à niveau un serveur de solveur pour répondre Graphhopper ';exigences de s et installé le logiciel.

Nous avons eu un peu de mal à se lever et courir, mais aujourd'hui nous ';avez connecté à nos modèles d'optimisation de routage. Il fait un excellent travail et donne le coup de pouce de la performance, comme indiqué par les résultats des tests. Nous ';ll suivre de près dans la période à venir, mais pour l'instant il est: bienvenue à bord, Graphhopper!