WO2003058170A1 - Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier - Google Patents

Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier Download PDF

Info

Publication number
WO2003058170A1
WO2003058170A1 PCT/FR2002/000061 FR0200061W WO03058170A1 WO 2003058170 A1 WO2003058170 A1 WO 2003058170A1 FR 0200061 W FR0200061 W FR 0200061W WO 03058170 A1 WO03058170 A1 WO 03058170A1
Authority
WO
WIPO (PCT)
Prior art keywords
segments
node
level
graph
graphs
Prior art date
Application number
PCT/FR2002/000061
Other languages
English (en)
Inventor
Julien Serre
Original Assignee
Webraska Mobile Technologies
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Webraska Mobile Technologies filed Critical Webraska Mobile Technologies
Priority to US10/500,991 priority Critical patent/US7437239B2/en
Priority to AU2002231861A priority patent/AU2002231861B2/en
Priority to EP02711926A priority patent/EP1463921A1/fr
Priority to PCT/FR2002/000061 priority patent/WO2003058170A1/fr
Priority to CA002472950A priority patent/CA2472950A1/fr
Publication of WO2003058170A1 publication Critical patent/WO2003058170A1/fr

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Le réseau comportant une pluralité de noeuds reliés deux à deux par des segments, on attribue un coût à chaque segment du réseau, on développe deux graphes de chemins, sensiblement à partir des deux points, respectivement, on interrompt le développement des deux graphes lorsqu'ils comprennent au moins un premier noeud commun d'interférence, on détermine les deux chemins de coût minimal, appartenant respectivement aux deux graphes, et on relie les deux chemins de coût minimal afin d'obtenir le chemin de coût minimal entre les deux points. L'invention concerne également un serveur pour la mise en oeuvre du procédé.

Description

PROCEDE ET DISPOSITIF POUR DETERMINER LE CHEMIN DE COUT MINIMAL ENTRE DEUX POIN TS DANS UN RESEAU ROUTIER
L'invention concerne un procédé de détermination d'un chemin de coût minimal entre deux points d'un réseau de transport.
Ce type de procédé est notamment utilisé par des systèmes d'aide à la 5 navigation routière, destinés à déterminer le chemin routier de coût le plus faible, entre un point d'arrivée et un point de départ, à un instant donné, afin d'assister un conducteur de véhicule automobile. Dans ce cas, le coût peut être un coût en temps, en distance, en argent, en confort routier ou en tout autre paramètre. 0
Il existe principalement deux types d'algorithmes permettant de déterminer le chemin routier de coût minimal entre un point de départ et un point d'arrivée.
5 Dans les deux cas, le réseau routier est représenté par une pluralité de nœuds (graphes), reliés deux à deux par des segments correspondant à des portions d'axe routier (rue, route, autoroute ou autre). Un coût est attribué à chaque segment.
0 Le premier algorithme consiste à développer un graphe de chemins, à partir du point de départ et jusqu'au point d'arrivée, sans connaître a priori la position du point d'arrivée. Le graphe se développe de façon concentrique, autour du point de départ, et a donc une forme globalement circulaire. Au cours du développement du graphe, on détermine concomitamment les coûts 5 respectifs des différents chemins et on sélectionne le chemin optimal, de coût minimal, reliant le point de départ et le point d'arrivée.
Avec le second type d'algorithme, qualifié de "heuristique", on fixe le point d'arrivée et on développe un graphe de chemins, en forme de goutte, à partir du point de départ et jusqu'au point d'arrivée en tenant compte de la distance.
Avec le premier algorithme de calcul, le graphe s'étend sur une surface circulaire, centrée autour du point de départ et de rayon R égal à la distance entre le point de départ et le point d'arrivée. La surface analysée est donc très importante. Il en résulte que le temps de calcul est très élevé.
Avec le second algorithme de calcul, la surface analysée est fortement réduite, du fait de la forme du graphe. Cependant, le temps de calcul par nœud est beaucoup plus important, de sorte que le temps global de calcul est aussi élevé. La présente invention propose de pallier ces inconvénients, autrement dit de réduire le temps de calcul d'un chemin entre deux points, à travers un réseau de transport.
A cet effet, l'invention concerne un procédé pour déterminer le chemin de coût minimal entre deux points, à travers un réseau de transport comportant une pluralité de nœuds reliés deux à deux par des segments, dans lequel
- on attribue un coût à chaque segment du réseau, - on développe un graphe de chemins, sensiblement à partir de l'un au moins des deux points, et
- on détermine le chemin de coût minimal reliant les deux points, procédé caractérisé par le fait que
- on développe deux graphes de chemins, sensiblement à partir des deux points, respectivement,
- on interrompt le développement des deux graphes lorsqu'ils comprennent au moins un premier nœud commun d'interférence,
- on détermine les deux chemins de coût minimal, appartenant respectivement aux deux graphes, - et on relie les deux chemins de coût minimal afin d'obtenir le chemin de coût minimal entre les deux points.
Le coût peut être un coût en temps, en distance, en argent, en confort routier, ou autre.
L'invention consiste donc à développer deux graphes, à partir des deux points respectivement, jusqu'à ce que ces deux graphes se rencontrent, alors que, dans l'art antérieur, on développait un seul graphe à partir de l'un des deux points, jusqu'à ce que ce graphe atteigne l'autre point. On réduit ainsi considérablement la surface analysée et par conséquent le nombre de nœuds, sans augmenter le temps de calcul par nœud.
La solution de l'invention, qui pourrait paraître simple a posteriori, ne l'était pas pour l'homme du métier qui cherchait à réduire le temps de calcul. En effet, il n'était pas évident a priori de réduire le temps de calcul en augmentant le nombre de graphes développés.
Interrompant le développement des graphes, dès lors qu'ils comprennent un premier nœud d'interférence, on peut ainsi diviser la surface analysée sensiblement par deux. Avantageusement, dans le cas où l'un au moins des points est sensiblement situé à l'emplacement d'un nœud, on développe le graphe correspondant à partir dudit nœud.
Avantageusement encore, pour l'un au moins des deux points, on recherche aux moins deux nœuds voisins dudit point, on attribue un coût de base non nul à chacun de ces deux nœuds et on développe un unique graphe à partir de ces deux nœuds.
Dans ce cas, et de préférence, les deux nœuds formant un segment sur lequel le point est sensiblement situé, on détermine le coût de base de chaque nœud, par proportionnalité, à partir du coût du segment entre ces deux nœuds. Si un nœud est inaccessible, par exemple à cause d'un sens interdit, il n'est pas pris en compte.
Ainsi, dans le cas où le point n'est pas situé à l'emplacement d'un nœud du réseau, on développe le graphe à partir des nœuds situés à proximité du point, en attribuant à ces nœuds un coût de base non nul. Cela revient finalement à développer virtuellement le graphe à partir du point considéré.
Dans un mode de réalisation particulier,
- on classe les segments suivant une pluralité de niveaux de réseau,
- au cours du développement de l'un au moins des deux graphes, on calcule le nombre de segments du graphe appartenant au niveau minf le plus bas, et
- à partir d'un seuil prédéfini de nombre de segments de niveau minf, on développe le graphe en tenant compte des seuls segments appartenant aux niveaux strictement supérieurs au niveau niinf.
Ainsi, dès lors que le graphe contient un nombre de segments de niveau πiinf supérieur au seuil, on passe du niveau πijnf au niveau suivant minf+ι et on poursuit le développement du graphe en ne tenant compte que des segments de niveau supérieur ou égal au niveau minf. On réduit ainsi considérablement le nombre de calculs et, par conséquent, le temps de calcul.
Dans ce cas, et de préférence,
- au cours du développement des deux graphes, on calcule le nombre de segments de chaque graphe appartenant au niveau πiinf le plus bas et
- lorsque le nombre de segments de niveau minf, pour les deux graphes, a atteint ledit seuil, on poursuit le développement des deux graphes en tenant compte des seuls segments appartenant aux niveaux strictement supérieurs au niveau πijnf. Ainsi, on ne passe du niveau minf au niveau mjnf+ι que lorsque les deux graphes contiennent un nombre de segments de niveau mjnf supérieur au seuil. Si le nombre de segments de niveau rιijnf de l'un des deux graphes n'atteint jamais le seuil, on prend en compte tous les segments de niveau supérieur ou égal à rrijnf pour le développement des deux graphes.
De préférence encore, on démarre le développement dudit graphe, en tenant compte de tous les segments appartenant à tous les niveaux de réseau.
Avantageusement, .
- on recherche un groupe de segments successifs, d'un niveau donné m, comprenant exclusivement des nœuds intermédiaires n'appartenant à aucun segment de niveau au moins égal à m autre que ceux du groupe de segments successifs de niveau m considéré, et
- on substitue le groupe de segments successifs par un unique segment de niveau m.
Par définition, un nœud "intermédiaire" est un nœud compris entre les deux nœuds d'extrémité d'une succession de segments adjacents.
On crée ainsi un réseau virtuel comprenant un nombre de nœuds fortement réduit.
On peut développer chaque graphe de manière globalement concentrique, par exemple en utilisant un algorithme à buckets.
Dans la mise en œuvre préférée du procédé de l'invention, ayant trouvé ledit premier nœud commun d'interférence Pi, on recherche le nœud d'interférence optimal Pio parmi les nœuds déjà analysés pour déterminer les deux chemins de coût minimal et contenant le nœud d'interférence optimal
L'invention concerne également un serveur d'aide à la navigation routière pour la mise en œuvre du procédé, comprenant une interface de connexion à un réseau de communication, un bloc de réception de requêtes de terminaux clients, un bloc de réception de données de réseau routier, un bloc de classement de segments routiers, un bloc de création d'un réseau routier virtuel, un bloc d'étiquetage de segments routiers, un module de calcul et un bloc d'émission. L'invention sera mieux comprise à l'aide de la description suivante du procédé pour déterminer le chemin de coût minimal entre au moins deux points, à travers un réseau de transport, selon un mode de réalisation particulier de l'invention, en référence au dessin annexé sur lequel:
- la figure 1 représente un schéma d'un terminal client relié à un serveur d'aide à la navigation routière, à travers l'Internet;
- la figure 2 représente un schéma bloc fonctionnel du serveur d'aide à la navigation de la figure 1 ;
- la figure 3 représente une vue partielle d'un réseau routier;
- la figures 4 et 5 représentent respectivement un tableau de parents et un tableau de buckets, après le développement d'un graphe à travers le réseau routier de la figure 3. -
Le procédé de l'invention permet de déterminer le chemin de coût minimal, ici en temps, entre au moins deux points, à travers un réseau de transport routier.
Dans l'exemple particulier de la description, ce procédé est mis en œuvre par un serveur 1 d'aide à la navigation routière, connecté à un réseau de communication 3, ici l'Internet, et destiné à indiquer à des terminaux clients, sur requête de ces derniers, le chemin de coût minimal pour relier un point de départ et un point d'arrivée à travers le réseau de transport routier.
Les terminaux clients comprennent des téléphones cellulaires pouvant se connecter à l'Internet 3, par connexion téléphonique à un fournisseur d'accès 5, à travers un réseau téléphonique cellulaire 4, et communiquer à travers l'Internet 3.
Le serveur 1 comprend une interface 10 de connexion à l'Internet 3, un bloc 11 de réception de requêtes de terminaux clients, un bloc 12 de réception de données relatives au réseau routier, un bloc 13 de classement de segments routiers, un bloc 14 de création d'un réseau routier virtuel, un bloc 15 d'étiquetage de segments routiers, un module de calcul 16 et un bloc d'émission 17.
Le bloc de réception 11 est relié, en entrée, à l'interface de connexion
Internet 10 et, en sortie, au module de calcul 16. Le bloc 11 est destiné à recevoir des requêtes de détermination d'un chemin routier de coût minimal, entre un point de départ et un point d'arrivée, émises par des terminaux clients. Chaque requête contient une indication de localisation du point de départ et une indication de localisation du point d'arrivée.
Le bloc de réception 12 est relié, en entrée, à l'interface de connexion
Internet 10 et, en sortie, au bloc d'étiquetage 15 et au bloc de classement 13. Ce bloc 12 est destiné à acquérir, à travers l'Internet 3, auprès de serveurs fournisseurs, non représentés, des données relatives au réseau routier, comprenant notamment des données de cartographie vectorielle et des informations concernant le trafic routier, régulièrement mises à jour. La carte du réseau routier comprend μne pluralité de nœuds, reliés deux à deux par des segments correspondant à des portions d'axes routiers. Ces axes routiers comportent des rues, des routes et des autoroutes. On remarquera ici que l'invention s'applique aussi à des réseaux de transport public, par exemple par rail, comme un réseau de métro, par mer, comme un réseau de ferry.
Le bloc de classement 13, relié au bloc de création 14, est destiné à classer les segments routiers ici suivant trois niveaux, d'indice un, deux et trois, correspondant respectivement aux rues, aux routes et aux autoroutes. L'indice d'un niveau est fonction de la taille des axes routiers de ce niveau. En l'espèce, plus le niveau est élevé, plus la taille des axes routiers de ce niveau est importante.
Le bloc de création 14, relié au bloc de calcul 16, est destiné à créer un réseau routier virtuel, comportant ici un nombre réduit de segments de niveau 3. Pour créer ce réseau virtuel, le bloc 14 recherche dans le réseau routier des groupes de segments successifs de niveau trois tels que chaque groupe comprend exclusivement des nœuds intermédiaires n'appartenant à aucun segment de niveau trois autre que ceux du groupe de segments successifs de niveau trois considéré. Par nœud "intermédiaire", on entend signifier qu'il s'agit d'un nœud compris entre les deux nœuds d'extrémité d'une succession de segments adjacents. Puis le bloc 14 substitue chaque groupe de segments successifs de niveau trois trouvé par un unique segment virtuel de niveau trois, reliant les deux nœuds d'extrémité de la succession de segments du groupe considéré.
Le bloc d'étiquetage 15, relié aux blocs 12, 14 et 16, est destiné à attribuer un coût à chaque segment du réseau routier virtuel et à mettre à jour régulièrement ce coût, à l'aide des informations de trafic routier reçues par le bloc 12. Le module de calcul 16 comprend un bloc 160 de développement de graphe, un bloc 161 de détection d'un changement de niveau de segments et un bloc 162 de détermination du chemin de coût minimal.
Le bloc de développement 160 est destiné, sur requête d'un terminal client, à développer deux graphes de chemin routier, à partir du point de départ et du point d'arrivée respectivement, compte tenu de l'état du trafic routier, en utilisant ici un algorithme à buckets.
L'algorithme à buckets est un algorithme de calcul de graphes. Le lecteur pourra se reporter à l'ouvrage "Algorithmes de graphes" de Christian PRINS, éditions Eyrolles, deuxième tirage 1997, afin d'obtenir des informations complémentaires concernant cet algorithme.
Afin d'expliciter succinctement l'algorithme à buckets, on va maintenant décrire, à titre d'exemple, le développement d'un -graphe par le module de calcul 16, à partir d'un nœud P0 et jusqu'à un nœud Pz, à travers le réseau routier, à l'aide de l'algorithme à buckets, en référence aux figures 3 à 5.
Le réseau routier contient une pluralité de nœuds Pn, avec n variant de 0 à N, reliés deux à deux par des segments. Chaque segment est associé à un coût. Sur la figure 3, on a représenté partiellement le réseau routier. Le coût de chaque segment entre deux nœuds est indiqué entre parenthèses.
Pour développer le graphe, le bloc de développement 160 utilise deux tableaux, respectivement appelés "tableau des parents" et "tableau des buckets", respectivement représentés sur les figures 4 et 5.
Le tableau des parents comprend
- une première colonne de nœuds, répertoriant tous les nœuds du réseau,
- une deuxième colonne de nœuds parents, destinée à contenir, pour chaque nœud du réseau, un nœud parent associé à ce nœud, - une troisième colonne de coûts, destinée à contenir, pour chaque nœud du réseau, le coût de ce nœud, et
- une quatrième colonne destinée à contenir, pour chaque nœud du réseau, un indice de sélection, appelé "flag", indiquant si ce nœud a ou n'a pas déjà été sélectionné pour faire partie du graphe, selon que le flag vaut un ou zéro. Par définition, un nœud "parent" Pn' d'un nœud Pn est un nœud relié au nœud Pπ par un seul segment et situé en amont du nœud Pn le long d'un chemin du graphe. Le nœud Pn est en fait un nœud "descendant" vis-à-vis du nœud Pn'. On notera que le nœud parent Pn' peut avoir plusieurs nœuds descendants appartenant respectivement à plusieurs chemins du graphe.
Le tableau des buckets est destiné à contenir la liste des nœuds du graphe, c'est-à-dire les nœuds sélectionnés pour faire partie du graphe, et classés dans l'ordre croissant en coût, ainsi que le coût associé à chacun de ces nœuds. Par définition, le coût d'un nœud, pour un chemin donné, correspond au coût du chemin entre ce nœud et le nœud d'origine du graphe, qui est égal à la somme des coûts des segments formant ce chemin.
Le développement du graphe du nœud d'origine P0 jusqu'au nœud Pz s'effectue suivant les étapes décrites ci-après.
Dans le tableau des parents, la colonne des nœuds parents et la colonne des coûts sont initialement vides et tous les flags sont initialement mis à zéro. Le tableau des buckets est initialement vide. Par souci de clarté, le tableau des parents ne contient que les nœuds P0, ..., Pg, Pz, nécessaires à la compréhension de l'exposé ci-dessous.
D'emblée on notera que le fait de sélectionner un nœud du réseau consiste à introduire ce nœud dans le graphe.
Etape initiale
On sélectionne le nœud d'origine P0 et on classe ce nœud P0, avec un coût associé initial, en tête de liste, dans le tableau des buckets. Par ailleurs, dans le tableau des parents, on indique le coût initial du nœud P0 et on met le flag du nœud P0 à un. -Le nœud P0 n'est associé à aucun point parent.
Etapes de développement du graphe
On analyse le premier nœud de la liste du tableau des buckets, à savoir P0. Pour cela, on recherche les nœuds adjacents au nœud P0. Par définition, les nœuds "adjacents" à un nœud Pn sont les nœuds du réseau reliés au nœud Pn par un unique segment (il est rare qu'il y en ait plusieurs). On détermine ainsi que les nœuds P4, P2, P7 et P5 sont adjacents au nœud Po, on sélectionne ces nœuds adjacents et on les classe dans le tableau des buckets, avec leurs coûts respectifs associés, dans l'ordre croissant en coût. Dans le tableau des parents, pour chaque nœud sélectionné P4, P2, P7 et P5, on met le flag de ce nœud à un, on associe à ce nœud le nœud parent Po et on indique le coût de ce nœud. On analyse ensuite, l'un après l'autre, dans leur ordre de classement, les nœuds suivants de la liste du tableau des buckets. Au fur et à mesure de l'analyse des nœuds successifs de la liste du tableau des buckets, on développe le graphe, en enrichissant le tableau des buckets, jusqu'à ce que le nœud Pz soit sélectionné, en d'autres termes jusqu'à ce que le graphe atteigne le nœud Pz, comme explicité ci-après.
Pour l'analyse de chaque nœud Pn de la liste, on recherche et on détermine les nœuds adjacents à ce nœud Pn. Parmi ces nœuds adjacents, on sélectionne le ou les nœuds qui n'ont pas déjà été sélectionnés. Pour chaque nœud adjacent ayant déjà été sélectionné, on calcule le nouveau coût de ce nœud, en tenant compte du fait qu'il appartient à un autre chemin (celui passant par le nœud analysé Pn). Si le nouveau coût du nœud considéré est inférieur à son ancien coût (figurant dans le tableau des parents), on sélectionne ce nœud. Sinon, le nœud considéré n'est pas sélectionné.
Après avoir analysé le point Pn, on classe le ou les nœuds sélectionnés dans le tableau des buckets, avec leurs coûts respectifs associés, dans l'ordre croissant en coût. Par ailleurs, dans le tableau des parents, pour chaque nœud sélectionné, on associe à ce nœud le nœud parent Pn (en substituant le nœud Pn à l'ancien nœud parent, dans le cas où le nœud considéré a déjà été sélectionné), on indique le coût de ce nœud (en le substituant à son ancien coût, dans le cas où le nœud considéré a déjà été sélectionné) et on met le flag de ce nœud à un.
On développe ainsi un graphe de manière globalement concentrique, autour du point d'origine P0. Le graphe a donc une forme sensiblement circulaire, centré autour du point d'origine Po-
Etape finale
Après avoir sélectionné le nœud Pz, autrement dit lorsque le graphe a atteint le nœud Pz, on reconstitue le chemin de coût optimal, en remontant depuis le nœud Pz jusqu'au nœud Po, de nœud en nœud, à l'aide des relations de parenté entre nœuds figurant dans le tableau des parents. On détermine ainsi que le chemin de coût minimal est le chemin Po - P7 — » Pz.
Le bloc de détection 161, relié au bloc de développement 160, est destiné à calculer, au fur et à mesure du développement de chaque graphe, le nombre de segments de niveau le plus bas minf appartenant au graphe considéré, à détecter le dépassement d'un seuil de nombre de segments de niveau minf, et à signaler le dépassement de ce seuil par les deux graphes au bloc de développement 160, de façon à ce que celui-ci poursuive le développement des deux graphes en tenant compte des seuls segments appartenant aux niveaux strictement supérieurs au niveau mjnf.
Le bloc 162 de détermination du chemin optimal (c'est-à-dire de coût minimal), relié au bloc de développement 160, est destiné à reconstituer le chemin de coût minimal, entre deux nœuds, à l'aide des relations de parenté entre nœuds figurant dans le tableau des parents.
Le bloc d'émission 17, relié au module de calcul 16 et à l'interface de connexion Internet 10, est destiné à émettre un message vers chaque terminal requérant afin de lui notifier le chemin optimal entre le point de départ et le point d'arrivée.
Le procédé pour déterminer le chemin routier de coût minimal entre un point de départ A et un point d'arrivée B, à travers le réseau routier, va maintenant être explicité. Les points A et B sont ici chacun situés sensiblement à l'emplacement d'un nœud du réseau routier.
A l'aide des informations relatives au trafic routier, le bloc de classement 13 classe les segments du réseau routier suivant les trois niveaux de réseau (rue, route, autoroute). Le bloc 14 crée ensuite un réseau routier virtuel, comportant un nombre réduit de segments de niveau trois, comme précédemment explicité.
Le bloc d'étiquetage 15 attribue un coût à chaque segment du réseau routier virtuel et actualise régulièrement ce coût, à l'aide des informations de trafic reçues. Le coût d'un segment virtuel de niveau trois, correspondant à un groupe de segments successifs du réseau routier d'origine, est égal à la somme des coûts des segments de ce groupe.
Un terminal client 2 adresse au serveur 1 une requête de détermination du chemin de coût minimal entre le point de départ A et le point d'arrivée B, contenant une indication de localisation du point A et une indication de localisation du point B.
Dans le serveur 1, le bloc de réception 1 1 reçoit la requête du terminal 2, en extrait les indications de localisation des points A et B et les fournit au module de calcul 16.
Le bloc de développement 160 développe concomitamment deux graphes de chemins, respectivement à partir des deux points A et B, en déterminant les coûts respectifs des différents chemins de chaque graphe, à l'aide de l'algorithme à buckets précédemment explicité. Les points A et B étant situés sensiblement à l'emplacement d'un nœud du réseau, on assimile chaque point A, B au nœud situé à proximité, en attribuant un coût de base nul à ce nœud.
Le bloc 160 démarre le développement des deux graphes en utilisant les segments des trois niveaux de réseau.
Au cours du développement des deux graphes, le bloc de détection 161 calcule le nombre de segments de chaque graphe appartenant au niveau le plus bas, à savoir le niveau un. Si le nombre de segments de niveau un, pour les deux graphes, atteint un seuil prédéfini Si, le bloc 161 le détecte et le signale au bloc de développement 160. Celui-ci poursuit le développement des deux graphes, au-delà de ce seuil, en utilisant les seuls segments appartenant aux niveaux deux et trois, strictement supérieurs au niveau un, et, concomitamment, calcule le nombre de segments de chaque graphe appartenant au niveau le plus bas restant, à savoir le niveau deux. Si le nombre de segments de niveau deux, pour les deux graphes, atteint un seuil prédéfini S2, le bloc 160 le détecte et le signale au bloc de développement 161 qui poursuit le développement des deux graphes, au-delà de ce seuil S2, en ne tenant compte que des segments de niveau trois, strictement supérieurs au niveau deux. On notera que si le nombre de segments de niveau un de l'un des deux graphes n'atteint pas le seuil Si, le bloc de développement 161 développe les deux graphes en tenant compte des trois niveaux, même si le nombre de segments de niveau un de l'autre graphe atteint et dépasse le seuil S,.
Dès que les deux graphes comprennent un premier nœud commun d'interférence Pis autrement dit dès qu'un même nœud d'interférence Pj a été sélectionné dans le développement des deux graphes, le bloc de développement 161 interrompt le développement des deux graphes.
Ayant trouvé ce premier nœud commun d'interférence Ps , on analyse à nouveau les tableaux de buckets pour en déduire le nœud d'interférence optima Pio correspondant aux chemins de coût minimal et qui a forcément été analysé précédemment et se trouve dans le tableau de buckets de l'un ou l'autre des points de départ et d'arrivée, ce qui va maintenant être démontré par des raisonnements par l'absurde.
Soit un calcul bidirectionnel. Le calcul du départ à l'arrivée est noté CO, le calcul de l'arrivée au départ est noté Cl
On note V0[...] et Vl[...] les coûts pour atteindre chaque point, respectivement suivant le calcul C0 et suivant le calcul Cl.
L'algorithme de calcul trouve un premier point d'intersection entre C0 et C 1 , noté X qui est donc un point qui a été choisi par C0 et par C 1. Le coût total du chemin en passant par X est V[X] = V0[X] + VI [X].
Nous allons démontrer que s'il existe un point Y tel que V[Y] < V[X], donc si le chemin passant par Y est de meilleur coût que celui par X, alors Y a déjà été analysé, ou par C0, ou par Cl, et qu'il se trouve donc dans le tableau des buckets de l'un ou de l'autre.
A Calcul 1
Figure imgf000013_0001
Y
Soit B0 et Bl les points parents de Y dans les deux calculs.
Considérons que Y n'a été analysé, ni par C0, ni par Cl .
Y n'a pas été analysé par C0, donc B0 n'a pas été choisi par C0, donc
V0[B0] > = V0[X]
Y n'a pas été analysé par Cl, donc Bl n'a pas été choisi par Cl, donc V1[B1] > = V1[X]
Comme V[Y] = V0[Y] + V1[Y] et V0[Y] > V0[B0], V1[Y] > V1[B1] On a V[Y] > V0[B0] + V1[B1] Donc V[Y] > V0[X] + VI [X] V[Y] > V[X]
On en déduit donc que si V[Y] <= V[X], Y à forcément été déjà analysé (BO ou Bl a déjà été choisi). Donc Y se trouve forcément dans le tableau des buckets de CO ou de Cl.
X étant trouvé, il suffit donc de parcourir le contenu des deux tableaux de buckets pour trouver d'éventuels points dont le chemin est de meilleur coût que X.
Considérons maintenant que Y est un point de jonction de CO et Cl meilleur que X.
Si BO n'a pas déjà été choisi par CO, alors V0[B0] > V0[X]
Pour que le trajet par Y soit quand même de meilleur coût, on doit avoir VI [BO] = VI [Y] + coût de [BO, Y] > VI [X]
II en résulte que B0 a déjà été choisi par Cl . Donc Y n'est pas le point de rencontre de C0 et Cl. Ce qui est absurde par définition.
On raisonne de même pour B 1.
II en résulte que
B0 et Bl avaient déjà été choisis au moment où on trouve X.
Le bloc 162 reconstitue ensuite le chemin optimal entre le point A et le nœud d'interférence P,0 et le chemin optimal entre le point B et le nœud d'interférence Pio, à l'aide des relations de parenté entre nœuds figurant dans les tableaux des parents, et associe, relie ces deux chemins optimaux afin d'obtenir le chemin de coût minimal entre les deux points A et B.
Si l'un au moins des deux points A, B, par exemple le point A, n'est pas situé sensiblement à l'emplacement d'un nœud du réseau, le bloc de développement 160 recherche au moins deux nœuds PA,o> PA,I. • • •, formant un segment et entre lesquels le point A est sensiblement situé.
Le bloc 160 attribue ensuite à chacun des nœuds PAo> PAI, • • -, formant un segment, un coût de base non nul, déterminé par proportionnalité à partir du coût du segment considéré, comme explicité ci-après. Soit PA;n et PA,Π+I, deux nœuds voisins du point A, formant un segment routier sur lequel le point A est sensiblement situé. Le coût de base c(P „n), C(PA, n+i) de chaque nœud PA,Π, PA,Π+I est calculé à l'aide des relations suivantes:
( n \ ι τ> D \ d(A, PA )
Figure imgf000015_0001
où c(PA>n,PA)n+I), d(PAιn,PA;n+ι), d(A,PA,n) et d(A,PA, n+ι) représentent respectivement le coût du segment reliant PA,n et PA,n+ι, la distance entre PAιn et PA,Π+I > la distance entre PAιn et A et la distance entre PA,n+ι et A.
Pour développer le graphe à partir du point A, on procède de la façon suivante.
Lors de l'étape initiale, après avoir déterminé les nœuds PA>n voisins du point A, on détermine le coût de base de chacun de ces nœuds PAιn, on les sélectionne et on les classe dans le tableau des buckets par ordre croissant en coût. Dans le tableau des parents, on associe à chaque nœud PA;n le point parent A, on indique le coût de ce nœud PA;n et on met son flag à un.
Lors des étapes suivantes de développement du graphe, on analyse successivement les nœuds de la liste du tableau des buckets, dans leur ordre de classement, tout en sélectionnant au fur et à mesure de nouveau nœuds pour développer le graphe, comme précédemment explicité.
On développe ainsi un unique graphe à partir de plusieurs nœuds de départ, auxquels on attribue un coût de base non nul. On procède de la sorte par exemple lorsque le point de départ, ou d'arrivée, est situé dans une rue, entre deux nœuds, ou sur une place, dans laquelle débouchent plusieurs rues, un nœud étant situé à chaque intersection entre la place et une rue.
Après la détermination du chemin de coût minimal, le bloc d'émission
17 transmet au terminal requérant une notification indiquant le chemin de coût minimal entre les deux points A et B, à travers l'Internet 3 et le réseau cellulaire 4.
Le réseau routier pourrait être subdivisé en deux niveaux ou en plus de trois niveaux. Dans la description qui précède, le serveur d'aide à la navigation crée un réseau virtuel en regroupant des segments successifs de niveau trois. D'une manière générale, dans le cas où le réseau routier est subdivisé en M niveaux, le serveur d'aide à la navigation pourrait rechercher des groupes de segments successifs d'un niveau donné m comprenant exclusivement des nœuds intermédiaires n'appartenant à aucun segment de niveau au moins égal à m (c'est-à-dire supérieur ou égal à m) autre que ceux du groupe de segments considéré, puis substituer chaque groupe de segments successifs par un unique segment de niveau m.
Par ailleurs, toujours dans le cas général où le réseau routier est subdivisé en M niveaux, au cours du développement des deux graphes, le serveur d'aide à la navigation pourrait calculer le nombre de segments de chaque graphe appartenant au niveau minf le plus bas et après que le nombre de segments de niveau minf, pour les deux graphes, a atteint un seuil prédéterminé, développer les deux graphes en tenant compte des seuls segments appartenant aux niveaux strictement supérieurs au niveau mjnf, le nouveau niveau inférieur pris en compte devenant le niveau minf+ι. Le serveur pourrait réitérer cette opération, en incrémentant le niveau inférieur au fur et à - mesure du développement des graphes.
On pourrait utiliser un algorithme de calcul de graphes autre que l'algorithme à buckets. Dans ce cas, le développement des graphes pourrait s'effectuer de façon non concentrique.
Au lieu d'interrompre le développement des deux graphes dès lors qu'ils comprennent un premier nœud commun d'interférence, on pourrait l'interrompre lorsque les deux graphes comprennent plusieurs points communs d'interférence et déterminer le chemin optimal entre les deux' points, de départ et d'arrivée, passant par l'un de ces nœuds d'interférence.
Le serveur d'aide à la navigation pourrait être agencé pour déterminer le chemin de coût minimal en distance, en argent, en confort routier ou autre.
Les terminaux clients pourraient se relier au serveur d'aide à la navigation par un réseau de communication autre que le réseau global comprenant l'Internet et le réseau cellulaire.
Le procédé de l'invention pourrait également être mis en œuvre par un système autre qu'un serveur d'aide à la navigation et à un réseau de transport autre qu'un réseau routier, par exemple à un réseau ferroviaire.

Claims

Revendications
1- Procédé pour déterminer le chemin de coût minimal entre deux points (A, B), à travers un réseau de transport comportant une pluralité de nœuds (Pn) reliés deux à deux par des segments, dans lequel
- on attribue un coût à chaque segment du réseau,
- on développe un graphe de chemins, sensiblement à partir de l'un au moins des deux points (A, B), et
- on détermine le chemin de coût minimal reliant les deux points (A, B), procédé caractérisé par le fait que
- on développe deux graphes de chemins, sensiblement à partir des deux points (A, B), respectivement,
- on interrompt le développement des deux graphes lorsqu'ils comprennent au moins un premier nœud commun d'interférence (Pj),
- on détermine les deux chemins de coût minimal, appartenant respectivement aux deux graphes,
- et on relie les deux chemins de coût minimal afin d'obtenir le chemin de coût minimal entre les deux points (A, B).
2- Procédé selon la revendication 1, dans lequel, dans le cas où l'un au moins des points (A, B) est sensiblement situé à l'emplacement d'un nœud, on développe le graphe correspondant à partir dudit nœud.
3- Procédé selon l'une des revendications 1 et 2, dans lequel, pour l'un au moins des deux points (A, B), on recherche aux moins deux nœuds (PA,Π3 PA,Π+I) voisins dudit point (A), on attribue un coût de base non nul à chacun de ces deux nœuds (PA,n, PA,Π+I) et on développe un unique graphe à partir de ces deux nœuds (PA)I1, PA,n+ι).
4- Procédé selon la revendication 3, dans lequel, les deux nœuds (PA>n, PA,n+ formant un segment sur lequel le point (A) est sensiblement situé, on détermine le coût de base de chaque nœud (PA,n, PA,Π+I)5 par proportionnalité, à partir du coût du segment entre ces deux nœuds (PA,n,
5- Procédé selon l'une des revendications 1 à 4, dans lequel
- on classe les segments suivant une pluralité de niveaux de réseau,
- au cours du développement de l'un au moins des deux graphes, on calcule le nombre de segments du graphe appartenant au niveau minf le plus bas, et - à partir d'un seuil prédéfini de nombre de segments de niveau minf, on développe le graphe en tenant compte des seuls segments appartenant aux niveaux strictement supérieurs au niveau πijnf.
6- Procédé selon la revendication 5, dans lequel
- au cours du développement des deux graphes, on calcule le nombre de segments de chaque graphe appartenant au niveau minf le plus bas et
- lorsque le nombre de segments de niveau mjnf, pour les deux graphes, a atteint ledit seuil, on poursuit le développement des deux graphes en tenant compte des seuls segments appartenant aux niveaux strictement supérieurs au niveau mjnf.
7- Procédé selon l'une des revendications 5 et 6, dans lequel on démarre le développement dudit graphe, en tenant compte de tous les segments appartenant à tous les niveaux de réseau.
8- Procédé selon l'une des revendications 1 à 7, dans lequel
- on recherche un groupe de segments successifs, d'un niveau donné m, comprenant exclusivement des nœuds intermédiaires n'appartenant à aucun segment de niveau au moins égal à m autre que ceux du groupe de segments successifs de niveau m considéré, et
- on substitue le groupe de segments successifs par un unique segment de niveau m.
9- Procédé selon l'une des revendications 1 à 8, dans lequel on développe chaque graphe, de manière globalement concentrique.
10- Procédé selon la revendication 9, dans lequel on développe les deux graphes en utilisant un algorithme à buckets.
11- Procédé selon l'une des revendications 1 à 10, dans lequel on développe les deux graphes concomitamment.
12- Procédé selon l'une des revendications 1 à 11, dans lequel, ayant trouvé ledit premier nœud commun d'interférence (Pj), on recherche le nœμd d'interférence optimal (Pio) parmi les nœuds déjà analysés pour déterminer les deux chemins de coût minimal et contenant le nœud d'interférence optimal
13- Serveur d'aide à la navigation routière pour la mise en œuvre du procédé de l'une des revendications 1 à 12, comprenant une interface (10) de connexion à un réseau de communication (3), un bloc (11) de réception de requêtes de terminaux clients, un bloc (12) de réception de données de réseau routier, un bloc (13) de classement de segments routiers, un bloc (14) de création d'un réseau routier virtuel, un bloc (15) d'étiquetage de segments routiers, un module de calcul (16) et un bloc d'émission (17).
14- Serveur selon la revendication 13, dans lequel le module de calcul (16) comprend un bloc (160) de développement de graphe, un bloc (161) de détection de changement de niveau de segments et un bloc (162) de détermination de chemin de coût minimal.
PCT/FR2002/000061 2002-01-09 2002-01-09 Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier WO2003058170A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/500,991 US7437239B2 (en) 2002-01-09 2002-01-09 Method and device for determining the minimal cost path between two points in a road network
AU2002231861A AU2002231861B2 (en) 2002-01-09 2002-01-09 Method and device for determining the minimal cost path between two points in a road network
EP02711926A EP1463921A1 (fr) 2002-01-09 2002-01-09 Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier
PCT/FR2002/000061 WO2003058170A1 (fr) 2002-01-09 2002-01-09 Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier
CA002472950A CA2472950A1 (fr) 2002-01-09 2002-01-09 Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2002/000061 WO2003058170A1 (fr) 2002-01-09 2002-01-09 Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier

Publications (1)

Publication Number Publication Date
WO2003058170A1 true WO2003058170A1 (fr) 2003-07-17

Family

ID=8871164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/000061 WO2003058170A1 (fr) 2002-01-09 2002-01-09 Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier

Country Status (5)

Country Link
US (1) US7437239B2 (fr)
EP (1) EP1463921A1 (fr)
AU (1) AU2002231861B2 (fr)
CA (1) CA2472950A1 (fr)
WO (1) WO2003058170A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006042687A1 (fr) * 2004-10-18 2006-04-27 Societe De Technologie Michelin Procede et dispositif de calcul d'itineraire avec elimination progressive des donnees correspondant au reseau routier

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1805671A2 (fr) * 2004-10-18 2007-07-11 Societe de Technologie Michelin STM Procede d"etablissement de points de voisinage pour systeme de reseau routier numerique
FR2881862B1 (fr) * 2005-02-07 2007-04-13 Michelin Soc Tech Procede et dispositif de determination d'itineraire avec points d'interet
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US8972177B2 (en) 2008-02-26 2015-03-03 Microsoft Technology Licensing, Llc System for logging life experiences using geographic cues
US8966121B2 (en) 2008-03-03 2015-02-24 Microsoft Corporation Client-side management of domain name information
US9063226B2 (en) 2009-01-14 2015-06-23 Microsoft Technology Licensing, Llc Detecting spatial outliers in a location entity dataset
US8275649B2 (en) 2009-09-18 2012-09-25 Microsoft Corporation Mining life pattern based on location history
US9009177B2 (en) 2009-09-25 2015-04-14 Microsoft Corporation Recommending points of interests in a region
US8612134B2 (en) 2010-02-23 2013-12-17 Microsoft Corporation Mining correlation between locations using location history
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
US10288433B2 (en) * 2010-02-25 2019-05-14 Microsoft Technology Licensing, Llc Map-matching for low-sampling-rate GPS trajectories
US8719198B2 (en) 2010-05-04 2014-05-06 Microsoft Corporation Collaborative location and activity recommendations
US9593957B2 (en) 2010-06-04 2017-03-14 Microsoft Technology Licensing, Llc Searching similar trajectories by locations
US9754226B2 (en) 2011-12-13 2017-09-05 Microsoft Technology Licensing, Llc Urban computing of route-oriented vehicles
US20130166188A1 (en) 2011-12-21 2013-06-27 Microsoft Corporation Determine Spatiotemporal Causal Interactions In Data
CN109150629B (zh) * 2018-10-12 2021-05-14 中交第一公路勘察设计研究院有限公司 一种路网多类型监测设备组合布设方法
CN111651844B (zh) * 2019-12-04 2023-04-11 台州学院 一种用于计算两个公交站点间多条乘车路径的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5041983A (en) * 1989-03-31 1991-08-20 Aisin Seiki K. K. Method and apparatus for searching for route
US5610821A (en) * 1994-11-18 1997-03-11 Ibm Corporation Optimal and stable route planning system
US5752217A (en) * 1995-05-30 1998-05-12 Nippondenso Co., Ltd. Navigation system having optimal destination route setting capability
EP0854353A2 (fr) * 1997-01-15 1998-07-22 Zexel Corporation Détermination de routes dans un système de navigation véhiculaire
FR2761837A1 (fr) * 1997-04-08 1998-10-09 Sophie Sommelet Dispositif d'aide a la navigation ayant une architecture distribuee basee sur internet

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170353A (en) * 1988-11-17 1992-12-08 U.S. Philips Corporation Bucket-oriented route planning method, and navigation system comprising a route planner for carrying out such a method
GB2327108B (en) * 1997-04-09 2002-04-10 Luk Getriebe Systeme Gmbh Motor vehicle with automatic clutch
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6192314B1 (en) * 1998-03-25 2001-02-20 Navigation Technologies Corp. Method and system for route calculation in a navigation application
US20020169543A1 (en) * 2001-04-02 2002-11-14 Blewitt Ronald L. Long distance routing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5041983A (en) * 1989-03-31 1991-08-20 Aisin Seiki K. K. Method and apparatus for searching for route
US5610821A (en) * 1994-11-18 1997-03-11 Ibm Corporation Optimal and stable route planning system
US5752217A (en) * 1995-05-30 1998-05-12 Nippondenso Co., Ltd. Navigation system having optimal destination route setting capability
EP0854353A2 (fr) * 1997-01-15 1998-07-22 Zexel Corporation Détermination de routes dans un système de navigation véhiculaire
FR2761837A1 (fr) * 1997-04-08 1998-10-09 Sophie Sommelet Dispositif d'aide a la navigation ayant une architecture distribuee basee sur internet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006042687A1 (fr) * 2004-10-18 2006-04-27 Societe De Technologie Michelin Procede et dispositif de calcul d'itineraire avec elimination progressive des donnees correspondant au reseau routier

Also Published As

Publication number Publication date
US20050119825A1 (en) 2005-06-02
AU2002231861B2 (en) 2008-05-15
US7437239B2 (en) 2008-10-14
CA2472950A1 (fr) 2003-07-17
AU2002231861A1 (en) 2003-07-24
EP1463921A1 (fr) 2004-10-06

Similar Documents

Publication Publication Date Title
EP1463921A1 (fr) Procede et dispositif pour determiner le chemin de cout minimal entre deux points dans un reseau routier
EP2017807B1 (fr) Procédé de détermination automatique des limitations de vitesse sur une route et système associé
EP1848965B1 (fr) Procede et dispositif de determination d`itineraire avec points d`interet
EP2116015A1 (fr) Procede d&#39;estimation et de signalisation de la densite de noeuds mobiles dans un reseau routier
EP0616477A1 (fr) Dispositif de recherche du chemin de moindre coût dans un réseau de télécommunication
FR2947231A1 (fr) Procede pour determiner de maniere predictive des situations routieres d&#39;un vehicule
EP3440434A1 (fr) Procédé et appareil pour l&#39;identification d&#39;embouteillages
EP1992109A1 (fr) Procede d&#39;organisation de noeuds d&#39;un reseau en groupements de noeuds, programme d&#39;ordinateur pour la mise en oeuvre d&#39;un tel procede, et dispositif de communication formant noeud d&#39;un reseau de noeuds
FR2805641A1 (fr) Procede de gestion de places de stationnement
EP3903069B1 (fr) Procédé et système de planification d&#39;un trajet
EP2220797B1 (fr) Procede de diffusion de paquets de donnees dans un reseau de noeuds mobiles et systeme associe
EP2785553B1 (fr) Procede d&#39;estimation de la consommaton energetique d&#39;un vehicule automobile
EP1805485A2 (fr) Procede de determination d&#34;un itineraire en fonction de l&#34;indice de sinuosite
EP1466141B1 (fr) Procede et systeme de determination de l&#39;itineraire emprunte par un vehicule
WO2008037768A1 (fr) Procédé de determination d&#39;itineraire permettant de predeterminer la consommation de carburant en fonction des caracteristiques de la route
FR2818414A1 (fr) Procede et serveur d&#39;aide a la navigation routiere pour determiner le chemin de cout minimal entre deux points, a travers un reseau de transport
EP1856481B1 (fr) Procédé de localisation au sein d&#39;un réseau d&#39;un élément associé à une position géographique, serveur de localisation et programme d&#39;ordinateur correspondants
WO2006042689A1 (fr) Procede d’etablissement d’un indice de sinuosite pour systeme de cartographie numerique
FR3081413A1 (fr) Interface de traitement et de communication permettant de guider connectes et/ou autonomes dans un parc de stationnement en leur fournissant un itineraire optimal
FR3065802A1 (fr) Procede et dispositif de mise a jour de donnees de cartographie comportant une pluralite de zones elementaires
FR3099620A1 (fr) Système amélioré de planification d’itinéraires pour des usagers d’un réseau multimodal de transports structurés
FR2716994A1 (fr) Procédé et dispositif de sélection d&#39;informations routières.
EP3616179B1 (fr) Procédé et dispositif de contrôle de la transmission de données d&#39;un véhicule à un équipement de communication
EP0728623B1 (fr) Procédé de gestion de la transmission de messages sur un réseau de transmission d&#39;un système électronique embarqué à bord d&#39;un véhicule automobile
FR3093976A1 (fr) Procédé de routage adaptatif d’un véhicule dans un réseau routier

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AU BA BB BG BR BZ CA CN CO CR CU CZ DM DZ EC EE GD GE HR HU ID IL IN IS JP KP KR LC LK LR LT LV MA MG MK MN MX NO NZ OM PH PL RO SG SI SK TN TT UA US UZ VN YU ZA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2472950

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2002231861

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 2002711926

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002711926

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10500991

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP