Bonjour,
je dois optimiser le parcours des logisticiens dans un entrepôt afin qu'ils aient le moins de distance à parcourir pour prendre les différents articles des différentes commandes.
Je vais volontairement utiliser les mots artère et allées pour différencier les éléments de la topologie de l'entrepôt.
Les articles sont entreposés sur des étagères disposées en forme de peigne avec une artère de laquelle partent les allées entre les étagères. Au bout il y a un mur, les logisticiens doivent revenir dans l'artère pour changer d'allée.
petit dessin:
MUR_MUR_MUR_MUR_
| | | | | | | | | 7
| | | | | | | | | 6
| | | | | | | | | 5
| | | | | | | | | 4
| | | | | | | | | 3
| | | | | | | | | 2
| | | | | | | | | 1
A B C D E F G H (allées)
artère principale
X1 X2
La problématique:
- 1 ou plusieurs postes de logisticiens actifs disposés le long de l'artère. (X1, X2 ou X1+X2)
- Les commandes arrivent en continu. Certaines sont prioritaires et devraient théoriquement être saisies avant les autres.
- Chaque commande peut contenir de 1 à N articles disposés aléatoirement dans les allées (A à H) sur les étagères (1 à 7)
- Pour passer d'une allée à l'autre, il faut revenir à l'artère
- chaque logisticien peut sélectionner de 1 à x commandes en même temps (ils sélectionnent actuellement les commandes pour prendre environ 20 articles à chaque voyage)
L'optimisation que je cherche à atteindre est de faire parcourir le moins de distance possible aux logisticiens. Dans notre ERP nous affichons actuellement les commandes en ordre d'arrivée en remontant aux premières places les commandes prioritaires. Le but serait de donner une pondération à la priorité des commandes et ensuite à celles dont les articles sont dans la même allée et ainsi de suite et de proposer les commandes dont les articles sont plus proches de chaque poste de logisticien (ex: lorsque les deux sont actifs, les articles dans les allées ABCD en priorité au poste X1, EFGH en priorité au poste X2).
Je n'ai aucune expérience dans ce domaine, est-ce que quelqu'un pourrait m'aider ? J'ai acheté un livre: Algorithme en langage C (bien que je sois en PHP) mais je ne trouve pas une fonction que je pourrai appliquer à ce cas de figure, bien qu'il y en ait certainement une qui pourrait s'appliquer.
Merci pour votre aide.
Partager