--- title: "Défragmentation — Zone client et ordonnancement par tournée" tags: [stockage, défragmentation, expédition, zone-client, planning, tournée, STOP, custom] status: draft standard_ref: concepts/defragmentation.md jira_refs: [LIM-85, LIM-87] confluence_refs: [] sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "LIM-85 LOT2.1 Configuration stratégies defragmentation du stock client par tournée.md", "LIM-87 LOT2.1 [TOURNÉES] Défragmentation client - quai non assigné ATTENTE_CLIENT CT-13.md"] last_updated: 2026-05-12 author: Arthur --- # Défragmentation — Zone client et ordonnancement par tournée > **Résumé** : processus de défragmentation pour préparer les palettes > d'expédition vers la zone de défragmentation client dans l'ASRS. > Inclut un **custom majeur** de défragmentation par tournée (RUT) avec > ordonnancement par numéro de STOP, déclenché uniquement quand toutes > les palettes sont prêtes et qu'aucun quai n'est assigné. > **Standard EasyWMS** : → voir [Defragmentation](../../concepts/defragmentation.md) > Ce qui suit documente les **spécificités Limagrain** par rapport au > standard. ## Contexte projet La défragmentation est un processus standard des entrepôts automatisés. Chez Limagrain, elle sert à préparer les routes (expéditions) en déplaçant les conteneurs vers la zone de défragmentation client (TK02-04, rangées 60-69). La défragmentation shipping standard propose trois modes d'assignation (Picking Only, Shipping Only, Picking & Shipping) mais **aucun ne répond au besoin Limagrain** : | Mode standard | Comportement | Problème | |---------------|-------------|----------| | Shipping Only | Défrag uniquement les palettes complètes | Les palettes de picking ne sont pas repositionnées → ordonnancement STOP faux dans le canal | | Picking & Shipping | Défrag toutes les palettes (y compris celles à picker) | Les palettes sortent pour être défragmentées alors qu'elles doivent d'abord passer au PK → casse l'ordonnancement | | Picking Only | Non applicable au besoin | — | **Contrainte métier** : le stock doit être rangé dans le canal d'expédition ASRS dans l'**ordre inverse des STOP** de la tournée, de sorte que les palettes sortent du canal dans le bon ordre lors du chargement camion (STOP max chargé en premier → déchargé en dernier). Deux cas se présentent selon l'assignation du quai : | Situation | Custom | Page | |-----------|--------|------| | Quai **non assigné** au RUT | Défrag custom décrite ci-dessous | Cette page | | Quai **déjà assigné** au RUT | Override du WF stacker crane | → voir [Séquençage shipping par STOP](../04-outbound/sequencage-shipping-stop.md) | ## Principe général Les conteneurs assignés à une expédition sont relocalisés dans la zone de défragmentation client **en avance**, généralement la nuit ou pendant les périodes de moindre charge. Cela permet une sortie rapide le jour de l'expédition. ## Caractéristiques - **Priorité** : basse (s'exécute en arrière-plan) - **Planification** : horaires configurables par Limagrain - **Zone cible** : zone défragmentation client (TK02, 03, 04 — rangées 60-69, profondeurs 2-10) - **Déclencheur** : stratégie de défragmentation par rotation (standard) + custom défrag client par tournée (ci-dessous) ## Configuration du planning (standard) Limagrain peut modifier les horaires de façon autonome : 1. Menu « Configuration » → « Défragmentation » → « Planning de défragmentation » 2. Bouton « Ajouter » → paramétrer les horaires/planning souhaités 3. Activer la défragmentation via le bouton « Activer » Prérequis : au moins une **stratégie de défragmentation par rotation**. ## Lien avec l'expédition La défragmentation est l'étape 4 du flux d'expédition (voir [Flux expédition](../04-outbound/flux-expedition.md)) : 1. OS reçu et libéré → stock assigné 2. Palettes complètes → défragmentation vers zone client 3. Palettes picking → poste de travail d'abord, puis zone client 4. Depuis zone client → sortie vers poumon le jour J ## [CUSTOM] Défrag client par tournée — Quai non assigné (LIM-87) ### Objectif Déclencher la défragmentation client d'une tournée **uniquement lorsque toutes ses palettes de tous ses OS sont prêtes à partir vers l'image de quai** : - Les palettes complètes sont dans l'ASRS - Les palettes ayant nécessité un picking sont revenues dans l'ASRS après prélèvement - **Aucun quai n'est encore associé à la tournée** (sinon le flux shipping standard prend le relais → [Séquençage shipping par STOP](../04-outbound/sequencage-shipping-stop.md)) La condition « toutes les palettes terminées » s'évalue **au niveau de la tournée** (RUT), pas de l'OS individuel. ### Mécanisme - Utiliser le **job de défragmentation client standard** avec une stratégie en mode Shipping et type d'ordre Tournée - Ajouter un **filtre custom au niveau de la sélection des candidats** qui exclut de l'éligibilité toute tournée dont au moins une palette (d'au moins un OS) n'est pas encore prête dans l'ASRS ### Règle d'éligibilité (pseudocode) ``` POUR CHAQUE RUT candidat à la défrag shipping (en standard, exclut les RUT avec quai assigné) : POUR CHAQUE OS du RUT : SI l'OS a des lignes picking non terminées → EXCLURE le RUT SI au moins une palette complète assignée n'est pas dans l'ASRS → EXCLURE le RUT SI aucune exclusion → ÉLIGIBLE SINON → reste candidat pour le prochain passage du job ``` > **Point clé** : l'éligibilité est « tout-ou-rien » au niveau > tournée. Tant qu'un seul OS du RUT n'a pas toutes ses palettes > prêtes, aucune défrag n'est lancée pour le RUT. ### Ordonnancement dans le canal Les palettes du **STOP max** entrent dans le canal en premier, celles du **STOP 1** en dernier. Ainsi les palettes sortent dans le bon ordre lors du chargement camion (STOP 1 chargé en premier). Le rangement se fait dans un canal (ou plusieurs canaux) par tournée — pas un canal par STOP. ### Paramètre MAX_DEFRAG_ATTEMPT À chaque passage du job, le WMS essaie de trouver un emplacement valide. Si aucun n'est trouvé, le compteur de tentatives est incrémenté. Une fois MAX_DEFRAG_ATTEMPT atteint (défaut : 5), le support est retiré des candidats défrag. **Important** : le compteur ne s'incrémente que si le WMS a cherché un emplacement de destination et n'en a pas trouvé. Si le filtre custom exclut la tournée avant même de chercher une destination, aucune tentative n'est décomptée. ## Cas de tests (LIM-87) Légende : PC = palette complète, PP = palette de picking (mère), PF = palette fille (sortie du picking, retour ASRS). ### Cas nominaux | CT | Description | Préconditions | Résultat attendu | |----|-------------|---------------|------------------| | 01 | RUT mono-OS, uniquement PC | 1 SOR, 3 PC dans ASRS, pas de quai | Éligible. 3 tâches défrag, séquence STOP respectée | | 02 | RUT mono-OS, uniquement picking terminé | 1 SOR, 2 PP → 2 PF revenues ASRS, pas de quai | Éligible. 2 tâches défrag pour les PF | | 03 | RUT mono-OS mixte (PC + picking terminé) | 1 SOR : 2 PC + 1 PF revenue ASRS, pas de quai | Éligible. 3 tâches défrag | | 04 | RUT multi-OS, ordonnancement STOP | 3 SOR (STOP 1,2,3), 2 PC chacun, toutes ASRS | Éligible. 6 tâches, STOP 3 en premier dans le canal | | 05 | RUT multi-OS, tous prêts simultanément | 3 SOR mixtes, toutes palettes ASRS | Éligible en un seul passage. 5 tâches, séquence STOP | ### Cas limites | CT | Description | Préconditions | Résultat attendu | |----|-------------|---------------|------------------| | 06 | PP partie, PF pas encore revenue | 2 SOR, SOR1 prêt, SOR2 avec PF pas revenue | **NON éligible** (un OS bloque tout le RUT) | | 07 | PF encore sur AGV (en mouvement) | Multi-OS, 1 PF en transit AGV | **NON éligible** tant que PF pas dans ASRS | | 08 | Quai déjà assigné à la tournée | Toutes palettes prêtes, quai assigné | **NON éligible** pour custom défrag — flux standard prend le relais | | 09 | Picking partiel sur un OS | 1 SOR, 3 lignes picking, 2 PF revenues, 1 PP au PK | **NON éligible** (on attend la totalité) | ### Cas dégradés | CT | Description | Préconditions | Résultat attendu | |----|-------------|---------------|------------------| | 11 | AGV HS pendant retour PF | PF bloquée sur PK/buffer | **NON éligible** jusqu'à rangement ASRS | | 12 | Support sous révision | PP → buffer litige, stock réassigné sur PP' | Éligible quand toutes les palettes (réassignations incluses) dans ASRS | | 13 | Rupture de stock (ATTENTE CLIENT) | SOR1 prêt, SOR2 avec 1 ligne en rupture | **À trancher** : option A (RUT bloqué) ou option B (défrag partielle) | | 14 | Modification quantité (bouton Problème) | OnStockAdjust recalcule | Si stock suffisant → PF revient, RUT éligible. Si réassignation → attendre PP'/PF' | | 15 | RUT libéré, aucune PP partie (figé) | Pas de PK disponible | **NON éligible** (picking pas déclenché ≠ prêt). Pas de MAX_DEFRAG_ATTEMPT | | 16 | Ajout SOR à un RUT déjà éligible | Nouveau SOR avec lignes picking non traitées | **Redevient NON éligible** jusqu'à fin du nouveau SOR | ## Pause et reprise Le processus peut être mis en pause et repris ultérieurement (par exemple si l'activité reprend la nuit). ## Points d'attention ⚠️ Les tâches de défragmentation ont une priorité **basse** — elles ne perturbent pas l'activité normale mais peuvent être longues. ⚠️ MECALUX conseille une présence sur site lors de la défragmentation en cas de défaut sur les transstockeurs (non obligatoire). ⚠️ L'avancée des tâches est consultable sur la vue des tâches. ⚠️ L'éligibilité est « tout-ou-rien » au niveau tournée. Un seul OS non prêt bloque toute la défrag du RUT. ## Questions ouvertes - [ ] Rupture de stock CT-13 : option A (RUT bloqué tant que rupture non résolue) ou option B (défrag sur les palettes dispo) ? (@Justine) - [ ] MAX_DEFRAG_ATTEMPT : scope défrag client seul ou aussi défrag par rotation ? Impact sur la valeur à configurer (@Nicolas) ## Historique des modifications | Date | Auteur | Modification | |------|--------|--------------| | 2026-05-05 | Arthur | Création initiale depuis AF V1.5 | | 2026-05-12 | Arthur | Refonte : ajout custom défrag client par tournée (LIM-87), mécanisme filtre éligibilité, ordonnancement STOP, 16 cas de tests | | 2026-05-13 | Arthur | Restauration contenu tronqué (caractéristiques, config, custom, cas de tests, points d'attention) | ## Références | Source | Type | Date | |--------|------|------| | FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 | | [LIM-85](https://easywmsfrance.atlassian.net/browse/LIM-85) | Ticket Jira (stratégies défrag) | 2026 | | [LIM-87](https://easywmsfrance.atlassian.net/browse/LIM-87) | Ticket Jira (défrag client quai non assigné) | 2026 |