Trouver « la bonne ville » pour un groupe paraît simple. En réalité, il faut comparer des milliers de communes, calculer des trajets en voiture et en train aux vrais horaires, organiser le covoiturage, puis s'entendre sur ce que « bonne » veut dire. Voici comment BISPOT s'y prend, avec ses hypothèses et ses limites, sans rien cacher.
Étape 0
Le problème, en une phrase
On connaît les personnes du groupe, d'où chacune part et comment elle peut voyager. On cherche la ville c où le groupe se retrouve le mieux. Pour chaque personne i et chaque ville c, on calcule un temps de trajet, en gardant le moyen le plus rapide parmi ceux dont elle dispose :
T(i, c) = minmode T(i, c, mode)
Le temps de i pour aller à c, avec son moyen de transport le plus rapide (voiture, train, ou pris en route).
Ensuite, on résume ces temps en un chiffre par ville (le total, le pire trajet…) et on garde les meilleures villes. Tout le reste, c'est pour que ces temps soient justes et que le calcul tienne en quelques dizaines de secondes.
Une règle ne souffre aucune exception : si une seule personne ne peut pas venir dans une ville, cette ville est écartée. Un temps manquant n'est jamais remplacé par zéro ni inventé. C'est notre principe « le groupe avant le lieu » traduit en mathématiques.
Étape 1
Quelles villes tester ?
La France compte près de 35 000 communes. Les tester toutes à chaque calcul serait inutile : dans la plupart, on ne peut ni arriver en train ni dormir. BISPOT part d'une liste d'environ 4 000 villes candidates :
les communes qui ont une gare, classées selon sa fréquentation (grandes gares, gares moyennes, petites gares) ;
les communes sans gare mais avec au moins trois hébergements recensés par l'INSEE, pour pouvoir y passer la nuit ;
Paris, Lyon et Marseille découpées en arrondissements, pour choisir le bon quartier.
Puis on ne garde que les villes situées dans un cercle autour du groupe : son centre est le « barycentre » des participants (leur position moyenne), et son rayon va jusqu'au participant le plus éloigné, plus 80 km de marge. Un groupe local cherche donc près de chez lui, un groupe dispersé dans toute la France cherche partout.
Paris est toujours testée, même hors du cercle. Le réseau ferré français est en étoile autour de Paris : une ville géographiquement « mal placée » peut être la plus rapide à rejoindre en train. Cette exception est volontairement limitée à Paris.
Si vous choisissez une zone de rencontre (une ville et un rayon de 5 à 150 km), le cercle automatique est remplacé par le vôtre, l'exception parisienne disparaît, et même les petites communes de la zone sont testées.
Et si vous choisissez « chez l'un d'entre nous », seules les villes des participants sont testées. Comme elles sont peu nombreuses, toutes passent par le calcul précis, et la proposition dit chez qui c'est le mieux.
Étape 2
Combien de temps pour chacun ?
En voiture
Le temps vient d'un calculateur d'itinéraire (OSRM) sur la carte libre OpenStreetMap. C'est un temps « route dégagée » : les bouchons, les travaux et les pauses ne sont pas comptés.
En train
Pas de vitesse moyenne ni de ligne droite : BISPOT cherche un vrai trajet dans les horaires publiés par la SNCF, correspondances comprises, avec un algorithme de recherche d'itinéraire appelé RAPTOR. Il avance « par vagues » : d'abord tous les endroits accessibles sans changer de train, puis avec une correspondance, puis deux… et garde à chaque fois l'heure d'arrivée la plus tôt. Les temps de correspondance sont ceux publiés gare par gare.
Le trajet se fait de porte à porte :
Avec une voiture, on teste les cinq gares les mieux desservies à moins de 50 km (Poitiers plutôt que Châtellerault, si c'est plus rapide au total), avec 10 minutes pour se garer.
Sans voiture, la gare doit être à portée : à pied jusqu'à 1,5 km, en bus ou à vélo jusqu'à 5 km. Dans six grandes métropoles, le métro et le tram sont pris en compte.
En gare 20 minutes avant le premier train, comptées dans le trajet.
À l'arrivée, si la ville n'est pas à côté de la gare, quelqu'un du groupe qui arrive en voiture peut venir vous chercher (30 minutes au plus).
Sans heure de départ, on prend un train vers 9 h. Sans date, on calcule sur un vendredi, le jour le plus desservi de la semaine. On ne compte alors que la durée du trajet, pas l'attente avant 9 h. Avec une date proche (moins d'un mois environ), l'horaire des meilleures propositions est vérifié auprès du calculateur de la SNCF.
D'où viennent les horaires
Trois outils interviennent, du plus rapide au plus précis :
Outil
Ce qu'il contient
Rôle
Table de référence
Durées gare à gare précalculées pour les 200 gares principales, à 8 heures de la journée, pour chaque jour de la semaine. Pas de train précis : elle prend l'heure de référence suivante, donc un peu pessimiste.
Trier les villes vite (l'estimation rapide). Aucun temps affiché n'en vient.
Horaires publiés par la SNCF
Chaque train avec tous ses arrêts, à la minute, sur une semaine type. Le jour de la semaine choisi, on retrouve les trains de ce jour-là.
Le calcul précis, avec RAPTOR. C'est la source des temps affichés.
Calculateur de la SNCF
Les horaires publiés pour une date donnée, jusqu'à 30 jours à l'avance.
Vérifier l'heure de départ réelle des meilleures propositions, seulement si une date est donnée. Sans réponse, on garde le calcul précédent.
Une semaine type, pas tout le calendrier. Un train supprimé ou ajouté en dehors de cette semaine (travaux, changement d'horaires) n'est pas vu par le calcul ; avec une date proche, le calculateur de la SNCF en tient compte pour les meilleures propositions. Les horaires sont ceux publiés, sans retards ni perturbations du jour.
Le mode retenu
Pour chaque personne et chaque ville, on garde le plus rapide des moyens dont elle dispose. Une personne qui a une voiture et accepte le train peut donc venir en voiture à Tours et en train à Lille.
Étape 3
Le covoiturage
C'est la partie la plus délicate. Pour chaque ville testée, il faut décider qui monte avec qui, et où.
détour = T(A → B) + T(B → ville) − T(A → ville)
Deux situations
Le secours : quelqu'un n'a ni voiture ni train utilisable. Sans conducteur, la ville serait écartée. Il passe en priorité, même si l'arrangement est peu avantageux : mieux vaut un détour qu'une personne laissée derrière.
L'opportunité : quelqu'un pourrait venir seul, mais partager la route est plus agréable. On le propose seulement si ça vaut le coup, pour lui et pour le groupe.
Combien de détour ?
détour max = max(45 min ; 30 % du trajet du conducteur) × nombre de passagers
« Je peux faire 1 h de détour sur 6 h de route, pas 1 h sur 1 h 20. » Le plancher de 45 min permet le covoiturage de proximité.
« Trois heures à deux, c'est mieux que deux heures et demie seul »
Comparer des minutes brutes ferait presque toujours perdre le covoiturage, puisqu'il ajoute un détour. On compte donc le temps partagé comme un peu plus court qu'il n'est : une heure à deux « vaut » 45 minutes seul (facteur 0,75, ou 0,9 si vous décochez « Privilégier le covoiturage »). Le passager accepte si :
T(jusqu'au point de rendez-vous) + 0,75 × T(partagé) < T(seul)
Ce facteur ne sert qu'à décider. Les temps affichés et classés restent les vraies minutes. Le facteur 0,75 est un choix, pas une mesure.
Un passager peut aussi prendre le train jusqu'à une gare sur la route du conducteur. Mais pour que la gare soit retenue, elle doit coûter moins cher au groupe que le détour jusqu'à chez lui, avec une pénalité de 20 minutes pour la coordination d'un rendez-vous en gare.
Qui avec qui ?
Essayer toutes les combinaisons devient vite impossible. On procède pas à pas, en servant d'abord celui qui a le plus à perdre s'il attend (celui dont la meilleure option est bien meilleure que la deuxième, ou qui n'en a qu'une). C'est une méthode classique des problèmes de ramassage.
C'est une heuristique, pas une recherche exhaustive. Comparée à une recherche de toutes les combinaisons, elle atteint le meilleur temps total sur 14 scénarios de test sur 15, et s'en écarte de moins de 1 % sur le dernier. Un passager déjà placé n'est jamais remis en cause.
Étape 4
Cinq façons de dire « meilleur »
Il n'y a pas une bonne ville. Selon ce qui compte pour vous, la réponse change. Plutôt que de vous faire choisir avant, BISPOT vous montre la gagnante de chaque critère. Quand une ville gagne plusieurs critères, elle n'apparaît qu'une fois.
Critère
Ce qu'on minimise
En clair
Le plus rapide au total
Σ T(i, c)
le moins de temps passé sur la route, tous ensemble
Personne trop loin
max T(i, c)
celui qui vient de plus loin a le trajet le plus court possible
Le plus équitable
écart-type des T(i, c)
les trajets se ressemblent
Tous à égalité
max − min
le plus long et le plus court trajet sont proches
Le plus sobre
CO₂e + 5 kg par heure de trajet
le moins d'émissions, sans rallonger à tout prix
Un exemple à trois
Anne, Bruno et Chloé comparent quatre villes (temps en minutes) :
Ville
Anne
Bruno
Chloé
Total
Pire
Écart-type
Max − min
X
30
60
150
240
150
51
120
Y
90
90
100
280
100
5
10
Z
0
120
125
245
125
58
125
W
200
200
200
600
200
0
0
X gagne au total, mais Chloé y fait 2 h 30. Y coûte 40 minutes de plus au groupe, et personne n'y dépasse 1 h 40. BISPOT propose les deux ; à vous de trancher.
Et W ? Tout le monde y fait 3 h 20 : c'est parfaitement « égal », et parfaitement absurde. D'où un garde-fou pour les critères d'égalité :
Tmax(c) ≤ meilleur Tmax possible + 60 min
Ici, le meilleur pire trajet est 100 min (Y) : W, avec 200 min, est écartée des critères d'équité.
Les 60 minutes du garde-fou sont un choix, mesuré sur 118 scénarios : quand la proposition change, elle devient plus juste pour une vingtaine de minutes de plus par personne.
Les familles
Une ligne peut représenter plusieurs personnes qui voyagent ensemble. Dans le total et l'écart-type, une famille de quatre compte quatre fois. Dans le pire trajet, non : un trajet ne devient pas plus long parce qu'on est plusieurs à le faire.
Le CO₂e
Une voiture compte une fois, quel que soit le nombre de personnes à bord : c'est tout l'intérêt du covoiturage. Le train compte par voyageur. Les facteurs viennent de la Base Empreinte de l'ADEME (fabrication et entretien compris) : de 3,7 g par voyageur-kilomètre en TGV à 195–239 g par kilomètre pour une voiture thermique. Pour ce critère, quelqu'un qui peut venir en voiture ou en train prend le moins émetteur s'il ne rallonge pas son trajet de plus de 30 min, ou de 25 % pour un long trajet.
Pour ne pas vous envoyer très loin juste pour gagner quelques grammes, une heure de trajet en plus pour le groupe doit économiser au moins 5 kg de CO₂e. Pour comparer, une voiture seule émet environ 15 à 20 kg par heure de route.
Étape 5
Aller vite sans tout calculer
Calculer précisément le trajet de chaque personne vers 4 000 villes, covoiturage compris, prendrait bien trop longtemps. BISPOT travaille donc en entonnoir :
≈ 4 000 villes candidatesla liste de départ
↓
Les villes du cerclequelques centaines à un millier
↓
Estimation rapidevol d'oiseau, horaires de référence
↓
Calcul précisquelques dizaines à 250 villes
↓
2 à 5 propositions
L'estimation rapide ne sert qu'à trier : aucun temps affiché ne vient d'elle. On garde assez de villes pour que la gagnante de chaque critère survive, puis on ajoute les voisines des meilleures, au cas où l'estimation se serait trompée de quelques kilomètres.
Le résultat n'est pas garanti optimal sur toute la France. Sur nos scénarios de test, l'entonnoir retrouve la même ville qu'un calcul exhaustif dans la grande majorité des cas, et s'en écarte de quelques pour cent sinon. Avec une zone de rencontre, le calcul précis porte sur toutes les villes de la zone : le résultat y est exact.
En résumé
Les hypothèses, en un tableau
Ces valeurs sont des choix raisonnés, souvent mesurés sur nos scénarios de test, jamais des vérités. Elles peuvent changer avec vos retours.
Hypothèse
Valeur
Pourquoi
Heure du train sans horaire donné
9 h, un vendredi
le jour le mieux desservi
Avance en gare
20 min
le temps de trouver son quai
Stationnement à la gare
10 min
se garer, rejoindre le quai
Gare accessible sans voiture
1,5 km à pied, 5 km en bus ou à vélo
au-delà, personne n'y va
Gares testées avec une voiture
5, à moins de 50 km
une gare un peu plus loin peut être mieux desservie
Détour maximal du conducteur
max(45 min ; 30 %) par passager
proportionnel à sa route
Confort du trajet partagé
× 0,75 (× 0,9 sans préférence)
on préfère voyager à deux
Rendez-vous en gare
+ 20 min dans le choix
coordination, attente
Garde-fou d'équité
+ 60 min au pire trajet
personne n'est envoyé trop loin
Prix du CO₂e
5 kg par heure de groupe
sobre, mais pas à tout prix
Marge du cercle de recherche
80 km
ne pas rater une ville juste à côté
Honnêtement
Ce que l'algo ne sait pas (encore)
Le trafic : les temps en voiture supposent une route dégagée, sans pause.
Les retards et les grèves : les horaires de train sont ceux publiés, pas le temps réel.
La nuit : un voyage en train qui passe minuit n'est pas trouvé.
La synchronisation en gare : quand un conducteur récupère un passager, on ne vérifie pas que le train arrive avant la voiture.
Le prix : ni billets, ni carburant, ni péages.
La voiture électrique : si vous la déclarez, votre voiture est comptée à 108 g de CO₂e par kilomètre (fabrication comprise) au lieu de 195 à 239 g. La voiture de quelqu'un qui vient vous chercher à la gare reste comptée thermique.
L'avion et le logement : absents du calcul, comme de son CO₂e.
Le goût des lieux : mer, montagne ou grande ville, ce n'est pas encore un critère. C'est dans notre feuille de route.
Chaque changement du calcul est écrit, justifié et testé : plus de cent scénarios de test vérifient qu'une amélioration à un endroit ne casse rien ailleurs.