// optimisation_de_tournees · couverture_fonctionnelle · aout_2026

Ce que les APIs d'optimisation de tournées savent vraiment modéliser

Onze APIs d'optimisation de tournées confrontées à 149 contraintes métier issues d'opérations réelles, sur huit secteurs. Une seule question par case : la contrainte est-elle explicitement documentée et activable via l'API ? Plus de 1 600 évaluations, toutes traçables jusqu'à la ligne du fichier source.

// methodologie

Comment ces chiffres sont calculés

Documentation publique uniquement. Une contrainte est comptée quand elle est explicitement documentée et activable via l'API. Deux points de méthode méritent d'être lus avant les chiffres.

Source

Documentation publique

Seules les documentations publiques des APIs servent de preuve. Pour chaque contrainte couverte par Kardinal, la preuve d'implémentation est fournie dans l'explorateur.

Périmètre

149 contraintes, 8 secteurs

149 règles métier réparties en 11 familles fonctionnelles. 21 relèvent d'un socle générique, 128 sont rattachées à l'un des sept secteurs : colis, retail, volumineux, froid, longue distance, déchets, services terrain.

Notation

Trois états, pas deux

Chaque case vaut couverte, partielle ou absente. Le partiel compte pour une demi-contrainte, ce qui évite d'assimiler une implémentation incomplète à une absence pure.

Panel

11 moteurs

Deux points de méthode à garder en tête

Le référentiel n'est pas neutre. Il rassemble des contraintes métier documentées et rencontrées en opération réelle. Kardinal en couvre 139 sur 149, soit 93,3 %, et fournit la preuve d'implémentation pour chacune de ces 139. Le chiffre à lire n'est pas ce score, mais l'écart entre les autres APIs et un catalogue de besoins métier réels.

Aucun filtre de popularité n'a été appliqué. Une contrainte entre dans le périmètre parce qu'elle correspond à un besoin opérationnel documenté, pas parce que plusieurs fournisseurs la gèrent. Dix d'entre elles ne sont couvertes par aucune des dix APIs concurrentes et tirent donc mécaniquement tous les scores vers le bas.

// partie_1 · classement_global

Classement global sur les 149 contraintes

La barre pleine mesure les contraintes pleinement couvertes, la trame hachurée les couvertures partielles. Kardinal mène à 93,3 % ; aucun moteur du panel concurrent n'atteint les trois quarts du référentiel.

premium > 70 % standard 50 – 70 % basique < 50 %

Calcul : (couverte + 0,5 × partielle) / 149.

Ce que dit le classement

// partie_2 · couverture_par_famille

Couverture par famille fonctionnelle

Les 149 contraintes se répartissent en 11 familles. C'est ici que les profils se différencient : un moteur peut être solide sur les fenêtres horaires et absent sur la structure de tournée.

Lecture : part des contraintes de la famille couvertes par le moteur, partiel compté 0,5. Le nombre de contraintes de chaque famille est indiqué sous son nom. Une famille de 2 contraintes ne bouge que par pas de 25 %.

// partie_3 · couverture_par_secteur

Couverture par secteur d'activité

Chaque contrainte porte un périmètre : générique, ou rattachée à un secteur. Deux lectures sont possibles, et elles ne racontent pas la même chose.

// partie_4 · angles_morts

Les angles morts du marché

Dix contraintes du référentiel ne sont couvertes, même partiellement, par aucun des dix moteurs concurrents. Kardinal les couvre toutes les dix. Elles concernent presque toutes des métiers où la tournée n'est pas une simple séquence de livraisons.

Couvertes par un seul concurrent

    Couvertes par les dix concurrents

      // explorateur_de_contraintes

      Explorateur des 149 contraintes

      La totalité du fichier source, ligne par ligne. Cliquez sur une ligne pour lire la définition d'origine et la preuve d'implémentation côté Kardinal.

      // limites_et_tracabilite

      Limites et traçabilité

      Ce que ce benchmark mesure, ce qu'il ne mesure pas, et ce qu'il faut savoir avant de s'en servir pour un choix d'outil.

      Couverture, pas performance

      Aucune mesure de vitesse de calcul, de qualité de solution ou de coût. Un moteur qui modélise une contrainte peut la résoudre mal ; un moteur qui ne la modélise pas ne peut pas la résoudre du tout.

      Documentation, pas produit

      Une capacité existante mais non documentée publiquement est comptée absente. Le résultat mesure la couverture documentée à une date donnée, pas la totalité de ce qu'un moteur sait faire.

      Versions évaluées