Une communauté locale pour livrer des repas aux patients COVID-19 malades à domicile

Je souhaite partager ce que nous faisons ici avec un groupe de personnes partageant les mêmes idées, dans l’espoir que d’autres puissent bénéficier de notre approche et apprendre de nos erreurs.

Nous mettons en place un système permettant aux personnes malades de COVID-19 à domicile de commander des repas très abordables (deux repas par jour pour 10 $) et de recevoir des livraisons quotidiennes assurées par des bénévoles.

Nous avons conclu des accords avec des restaurants pour qu’ils acceptent de servir des « rations » (c’est-à-dire le dîner + le déjeuner du lendemain) pour 10 $ par jour. Les consommateurs, qui se sont déjà inscrits sur notre instance Discourse, doivent les contacter, commander les rations pour le lendemain et régler leur commande. Chaque jour, nos chauffeurs se rendent dans les restaurants pour récupérer les commandes et les livrer.

Ici, dans la baie de San Francisco, il est presque impossible d’obtenir deux repas pour 10 $, surtout livrés. C’est donc une véritable opportunité.

Je ne peux pas encore fournir de lien car nous n’avons pas officiellement lancé le service. Cependant, nous utilisons Discourse pour l’hébergement, et tous les flux de travail et les communications s’y déroulent.

Nous développons actuellement du code personnalisé pour extraire les informations clients, gérer l’acheminement automatique des chauffeurs (problème du voyageur de commerce), etc. Nous publierons l’ensemble de notre code sur GitHub au fur et à mesure de son achèvement.

Nous partagerons également publiquement nos protocoles, nos procédures ainsi que les leçons tirées de notre expérience, afin que d’autres puissent faire ce que nous faisons.

20 « J'aime »

Merci de nous l’avoir fait savoir. Une étude de cas et des idées pour améliorer Discourse pour ce cas d’usage sont les bienvenues.

N’hésitez pas à contacter des personnes sur Calling out for volunteer Community Managers 📣 pour obtenir de l’aide.

16 « J'aime »

C’est fantastique de voir la puissance de l’humain :heart: et de l’esprit ! Continuez ce superbe travail !

6 « J'aime »

Ravi de voir que d’autres s’intéressent à cela. J’ai été informé qu’un autre groupe a été chargé de préparer 26 000 repas par jour et qu’ils viennent de me solliciter pour des solutions. :astonished:

J’ai hâte de voir les résultats ; il se peut que cela soit directement applicable à ce autre projet et que cela m’évite bien des maux de tête.

9 « J'aime »

26 000 repas livrés par jour ?

La logistique de livraison pour un tel volume est difficile. Nous supposons que nos chauffeurs bénévoles peuvent gérer 15 rations, soit 30 repas par trajet de livraison, et nous leur fournissons chacun un itinéraire de conduite optimisé. Il leur faut tout de même environ 1,5 à 2 heures pour effectuer leur tournée, une durée que nous estimons soutenable 2 à 3 jours par semaine pour nos bénévoles.

Pour nous, 26 000 repas équivalent à 13 000 rations. Nous nous attendons à ce que cela représente environ 7 000 arrêts (environ 2 rations par arrêt). En supposant des chauffeurs bénévoles et des voitures ordinaires pour la livraison, cela signifierait, pour nous, 700 chauffeurs conduisant tous les jours, soit, en réalité, environ 2 000 chauffeurs (car nos bénévoles ne conduiront pas tous les jours).

Si vous contrôlez la source des repas (nous ne produisons pas la nourriture, ce qui nous rend la tâche beaucoup plus difficile), vous n’avez qu’à partitionner la liste des adresses entre les chauffeurs, puis à optimiser chaque itinéraire. Notre volume est beaucoup plus faible que le vôtre (nous envisageons 2 à 3 000 repas par jour, soit 1/10 du vôtre), nous ne partitionnons donc pas automatiquement la liste des adresses. Chaque adresse de livraison est assignée à un quartier, et nos régulateurs partitionnent manuellement la liste des livraisons par quartier (c’est un simple tri sur tableur). Ensuite, nous optimisons l’itinéraire de chaque chauffeur via un serveur web hébergé sur AWS, et nous fournissons à chaque chauffeur un itinéraire de conduite optimisé (algorithme simple du voyageur de commerce).

Nous avons envisagé de partitionner automatiquement la liste complète des adresses. Mais nous n’en avons pas encore besoin, et nous n’avons pas beaucoup d’argent, nous voulons donc maintenir nos coûts pour AWS et l’API Google Maps bas :slight_smile: Pour le problème généralisé d’acheminement de véhicules multiples, il existe des solutions algorithmiques simples que nous pourrions utiliser, par exemple ici :

Cependant, avec un tel nombre de livraisons, j’imagine que vous devez couvrir une très grande zone géographique, il est donc possible que vous deviez également prendre en compte les adresses de domicile de vos chauffeurs, ce qui vous sort du problème VRP classique. Peut-être que des heuristiques simples peuvent partitionner les groupes de chauffeurs et les adresses de livraison en sous-problèmes où à la fois les livraisons et les chauffeurs se trouvent dans la même zone géographique, auquel cas vous pouvez simplement réutiliser une solution VRP toute faite.

Au fait, nous utilisons la durée de trajet indiquée par GMap comme distance point à point.

5 « J'aime »

Heureusement, pas très vaste, plutôt ultra dense. Un grand nombre de travailleurs syndiqués se sont retrouvés au chômage très rapidement il y a moins de deux semaines. Ils ont organisé des banques alimentaires pendant plusieurs jours, mais c’est encore moins pratique car cela concentre des milliers de personnes dans un espace restreint, et tout porteur asymptomatique pourrait avoir des conséquences désastreuses. La majorité des livraisons se feront à domicile, mais il y aura également plusieurs centres de dernier recours qui accueilleront des groupes échelonnés.

8 « J'aime »