Planification en temps réel Est-il possible de combiner la planification en temps réel et une réelle optimisation ?
L’optimisation des itinéraires est un problème mathématique complexe
L’optimisation des itinéraires, également connue sous le nom de « problème du voyageur de commerce », est un problème mathématique complexe en raison du nombre de solutions.
À titre d’exemple, vous avez
2 tâches à optimiser, vous avez 2 solutions
3 tâches à optimiser, vous avez 6 solutions
10 tâches à optimiser, vous avez 3 628 800 solutions
100 tâches, c’est seulement environ 4 jours de travail pour 5 techniciens, donc un très petit agenda pour la plupart des entreprises.
Bien entendu, aucun logiciel d’optimisation n’explore la gamme complète des solutions car le temps d’optimisation de 100 tâches prendrait des millions de millions ou des millions ... d’années en utilisant toute la puissance de calcul de la planète.
La plupart des fans de science-fiction reconnaîtraient la recherche de 42 dans « The Hitchhiker’s Guide to the Galaxy » ou le « Le Guide du voyageur galactique » en français.
Pour ajouter à la complexité, une optimisation de tournées pure n’est pas très utile dans le monde réel car de nombreuses contraintes doivent être ajoutées
au mélange : plusieurs techniciens avec des compétences différentes, équipements, horaires, disponibilités, lieu de départ,
compétences ou équipement requis, rendez-vous, fenêtre horaire, etc.
Dans certains cas, trouver manuellement une solution unique correspondant à toutes ces contraintes relève déjà du défi avant même de parler d’optimisation.
L’offre de services sur le terrain
Le secteur des logiciels "field service" propose une multitude d’offres de « solution de flotte » ou de « gestion de flotte » et nombreuses sont celles
proposant une solution « d'optimisation de tournées » sous le nom de « logiciel de planification de tournées » ou « optimisation de tournées ».
Alors, comment est-il possible d’optimiser les plannings quand on parle de centaines ou de milliers de techniciens mobiles avec des semaines d’avance sur le travail en temps réel ?
L’approche la plus courante pour optimiser les plannings de la main-d’œuvre mobile consiste à utiliser des algorithmes stochastiques classiques tels que le "recuit simulé"
ou encore les algorithmes génétiques. Ces algorithmes ont la capacité fantastique de pouvoir optimiser de nombreux problèmes avec seulement une description
de ce qui est requis à la fin. Toute la complexité du calcul pour arriver au résultat est cachée par ces algorithmes simples.
Cela semble prometteur mais tous souffrent des mêmes problèmes.
Il n’y a pas de fin à l’optimisation et la seule façon d’obtenir un planning optimisé est de laisser l’algorithme fonctionner « suffisamment ». En général
On suppose que la solution optimale est atteinte si aucune amélioration n’a été constatée après un certain temps ou un certain nombre d’essais.
Ceci qui représente en général une part importante du temps total d’optimisation.
Le problème est que le temps général pour trouver une solution croît exponentiellement avec le volume.
Je me souviens il y a longtemps d’une conversation avec un docteur en optimisation arguant que le plan de livraison de l’optimisation pour le lendemain devait "tourner" au moins 3 jours pour obtenir un bon résultat.
Cela peut sembler drôle, mais c’est la description exacte d’un problème très courant lorsqu’il s’agit d’un logiciel de planification de tournées utilisant ces algorithmes.
Ceux-ci nécessiterait plsu de temps d'exécution que le temps maximum possible pour rendre une solution optimisée.
L’algorithme est alors arrêté
avant un résultat correct et le résultat est une mauvaise optimisation.
La mauvaise nouvelle de l’histoire est qu’il est assez difficile pour un utilisateur d'identifier ce problème.
Le résultat n’est pas optimal et souvent le statut est « Notre logiciel a une fonction d’optimisation donc nous avons optimisé les plannigs, case cochée ».
Comme vous l’avez probablement deviné en lisant cette description, ces algorithmes sont loin d’être en temps réel. De plus, ces algorithmes
nécessitent beaucoup de puissance de calcul
gèrent très difficilement l'augmentation des volumes
doivent fonctionner très longtemps (et parfois trop longtemps) pour répondre à une optimisation globale
sont innadaptés pour répondre aux besoins de planification interactive
Donc, si vous avez besoin d’interactivité, cela ne fonctionne pas bien.
Les logiciels de gestion de flotte mettent en œuvre plusieurs solutions pour atténuer ces problèmes
Otptimisation individuelle de chaque tournée - semble optimisé mais ce n’est pas le cas!
C’est le plus courant malheureusement. Les tâches sont attribuées à un technicien (par proximité, compétence et) et seul la tournée du
technicien est optimisé.
Ceci est très intéressant pour les éditeurs de logiciels car cette solution est très facile à mettre en œuvre et même encore plus simple si vous utilisez l’API Google pour ce faire.
Malheureusement, si cela semble optimisé sur une carte, c’est très très loin d’être une solution optimale.
J’ai effectué de nombreuses preuves de concept et de nombreuses simulations et je me trouve avec une moyenne 40% d’économie supplémentaire en utilisant un algorithme approprié!
C’est un peu frustrant en tant que spécialiste de l’optimisation de voir une solution de flotte utiliser ces méthodes et promouvoir leur optimisation
à un prix beaucoup plus élevé que More-IQ... Certains ne se cachent même pas comme étant open-source...
Si vous voulez comprendre pourquoi, lisez cette page
Ne pas gérer toutes les contraintes - faire moins mais obtenir moins
C’est une autre façon de limiter les exigences de puissance de calcul.
Limiter le nombre de techniciens optimisés, optimiser une seule journée, réduire la portée de l’optimisation etc permet de réduire les besoins en matériel et limiter les temps de planification...
mais aussi dégrade significativement les résultats de l’optimisation.
Proposer une solution non optimisée en temps réel - le pire choix dans le contexte de prise de rendez-vous
C’est un autre moyen très courant lorsqu'un prise de rendez-vous est requise avec le client.
Le rendez-vous est pris sur des bases statistiques de capacité en pariant sur le fait que l’optimisation en arrière-plan ou nocturne trouvera une solution optimisée ultérieurement.
Malheureusement, c’est un moyen contre-efficace de faire une prise de rendez-vous.
Une fois le rendez-vous pris, les latitudes d’optimisation pour améliorer les résultats sont beaucoup plus faibles, voire nulles.
Cette méthode de prise de rendez-vous fait que l’inefficacité s’accumule tout au long de la journée.
Il est facile de comprendre pourquoi. Si on vous donne une liste de tâches à optimiser sur quelques techniciens. Vous essaierez de les échanger pour obtenir un bon résultat. Mais si on vous dit maintenant que chaque travail est bloqué un jour spécifique sur un créneau de deux heures, vous abandonnerez très rapidement car rien ne peut vraiment plus.
C’est exactement ce qui ce passe lorsqu’une optimisation est exécutée après que les rendez-vous aient été pris.
A titre d’illustration, voici résultat de 3 simulations, l’une avec des créneaux de rendez-vous de 4h, la suivante de 2h et la dernière de 1h.
Les graphiques montrent le coût total de l’équipe (coût salarial + frais de déplacement)
La première barre (rose) représente le coût d'une prise de rendez-vous à l’aveugle (pas d’optimisation du tout), la deuxième barre (bleue) une prise de rendez-vous avec un
indication simple des créneaux horaires corrspondant à une tâche proche, la troisième barre (verte) est le résultat de la méthode précédente suivie d'une optimisation,
La dernière barre (jaune) est le résultat de l’utilisation d’un algorithme de prise de rendez-vous optimisé.
Comme vous pouvez le voir, la différence est très significative et plus le créneau est petit, pire sont les résultats des méthodes de prise de rendez-vous sauf cell utilisant une prise de rendez-vous optimisée.
Comme vous l’avez comprise, toutes les solutions ci-dessus ne sont des des solutions de contournement et tentent d’offrir un temps de réponse plus rapide au détriment de
résultats d’optimisation, le « plus rapide » étant généralement assez loin d’une réponse en temps réel.
Alors, est-il possible d’avoir une bonne optimisation avec un temps de réponse en temps réel ?
La réponse est oui. Très peu d’entreprises ont construit leur propres algorithmes, généralement basé sur des heuristiques, drastiquement plus complexe
à construire mais beaucoup plus efficace. Ils s’identifient clairement comme des spécialistes de la planification. Maintenant, si ces entreprises ont un
algorithme temps réel, elles ne sont pas du tout identiques en termes d’évolutivité et de capacité de planification.
Et voici More-IQ. Je peux nommer quelques entreprises proposant des logiciels de d'optimisation véritable en temps réel mais aucune n'est capable d'offrir une véritable solution cloud avec tous ses avantages d’évolutivité et de résilience ainsi qu'une scalabilités permettant d'optimiser des milliers de ressources.
Alors, que faut-il attendre d’un logiciel d’optimisation des horaires en temps réel ?
La planification de quelques tâches doit être immédiate et optimisée immédiatement quelle que soit la charge journalière (volume de tâches mais aussi volume de transactions)
La planification d’une seule tâche doit permettre de réorganiser plusieurs agendas de ressources différentes à la fois. Si ce n’est pas possible, ce n’est pas une véritable optimisation.
La planification doit pouvoir réaffecter en temps réel les tâches d’un travailleur rendu indisponible.
Le processus de prise de rendez-vous doit pouvoir proposer toutes les solutions optimisées possibles auplanificateur avant de convenir du rendez-vous afin de pouvoir
négocier le meilleure créneau avec son client. C’est tout à fait essentiel pour améliorer l’efficacité d’une flotte. Prendre une demande de « créneau » aveugle d’un
client et la planifier est le meilleur moyen de perdre d’autres solutions très acceptables avec une grande économie à la clé.
La solution doit pouvoir être réoptimisée à la volée au cours de la journée si possible. Si un technicien prend plus de temps ou si une tâche ne peut pas être effectué parce que le client est absent, pouvoir réoptimiser immédiatement la charge sur plusieurs techniciens est un excellent moyen d’améliorer l’efficacité mais aussi la satisfaction du client.
Résumé
En résumé, je vous recommande d’être prudent lors du choix d’une solution de planification et encore plus d’une solution de planification en temps réel:
Demandez une démo avec un jeu de données réel. Si cela ne vous donnera pas d'indication sur les temps de réponse en charge lorsque plusieurs utilisateurs interagiront avec le système,
cela vous donnera au moins une indication du temps de réponse le plus rapide que vous pouvez obtenir.
Un mauvais temps de réponse sur une démo n’est jamais prometteur.
Obtenez des informations sur leur méthode de planification. S’ils utilisent l’API Google ou ne font qu’une optimisation de tournée, vous pouvez avoir une planification en temps réel
mais seulement avec une mauvaise optimisation.
Si une seule planification des
tâches n’est pas en mesure de réorganiser plusieurs techniciens à la fois, vous pouvez avoir une planification en temps réel
mais une mauvaise optimisation.
Si vous devez appuyer sur un bouton pour exécuter l’optimisation ou s’il y a une optimisation nocturne ou programmée (et ceci
est ce proposent les fournisseurs de logiciels les plus connu au monde) alors fuyez. Ne présumez pas que l’optimisation sera bonne parce que le fournisseur est une entreprise renomée et qu'il aurrons forcément une bonne solution.