231 lines
11 KiB
Markdown
231 lines
11 KiB
Markdown
---
|
|
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 | |