Un modèle de simulation proactive pour l aide à la décision dans les chaînes logistiques Une architecture à base d agents NFAOUI El Habib Doctorant (3 ème année) Laboratoire LIESP Université de Lyon, 160 Bd de l université Bron CEDEX 69676. Lyon France Laboratoire GRMS2I FSDM, Université de Fès, B.P 1796 Fès-Atlas. Maroc Présenté par Yacine Ouzrout Mcf Labo. LIESP Univ. Lyon 2 Laboratoire d Informatique pour l Entreprise et les Systèmes de Production 1
Contexte Améliorer en permanence la performance C est l enjeu des chaines logistiques des années 2000 Augmentation de la concurrence Diversité des produits Augmentation de la qualité Diminution des coûts de fabrication. Ouverture des marchés Besoin de plus de réactivité Besoin de plus de coopération/collaboration Quels outils donner aux décideurs pour comprendre, analyser, piloter et gérer ces systèmes. Fidélisation et satisfaction des clients : Rapidité de traitement des commandes et des livraisons 2
Problématique Proposer des solutions de type «Agent d interface» capables d aider à la prise de décision collaborative. Permettre aux différentes entreprises d avoir la capacité à satisfaire au mieux les demandes des clients dans le cas de : commandes incertaines : commandes dont l occurrence n est pas assurée, commandes imprécises : commandes dont les quantités ne sont pas connues avec exactitude, exceptions (aléas de production, de transport, erreur sur prévisions, retard de livraison, etc.) pouvant altérer le bon déroulement d un processus de fabrication, d approvisionnement ou de livraison. 3
Etat de l art Intégration des systèmes d information : ERP, APS, MES, Méthodes et approches collaboratives : VMI, CRP, GPA, CPFR, Interopérabilité, approches MDA, SOA, Fort partage d information : délicat dans le cas de SC formées d acteurs indépendants ou parfois concurrents. Ne traitent pas les situations d urgences : ne permettent pas d envisager l impact des décisions prises à un instant t. 4
Objectif de la thèse Développer une architecture distribuée basée sur un système multi-agent (SMA) pour l aide à la prise de décision collaborative. Synchroniser les décisions par le biais d agents d interface intelligents capables de : (i) s alimenter en information dans les systèmes d information des différents acteurs (ii) interagir et négocier afin de proposer des solutions aux managers. Ces agents d interfaces doivent garantir l autonomie et la confidentialité des données stratégiques. Aider, par la simulation proactive, les managers à traiter les cas des exceptions. L'objectif est de pouvoir étudier et propager l'impact d'une nouvelle donnée sur l'ensemble de la chaîne logistique. 5
L architecture concevoir acheter fabriquer SMA stocker proposée livrer vendre SRM e-procurement CPFR G.P.A.O ERP MES APS PLM WMS SCE TMS CRM B2B / B2C e- commerce années mois semaines jours client 6
Méthodologie Pour atteindre cet objectif, nous proposons : Une approche de modélisation d une CL fondée sur les concepts d agents et d interactions entre agents : Analyse des comportements types, Modélisation AUML (Agent UML) : organisation, environnement, interactions,.. Définition des comportements des agents Définition des protocoles de communication entre agents. Définition des modèles d implémentation (AGL-Agent, AUML Implémentation, Interopérabilité, ) Implantation d une architecture distribuée Validation de l architecture sur deux cas d études industriels : 1 er cas : Une chaîne logistique de distribution de produits sanitaires. 2 ème cas : Mise en œuvre du processus CPFR entre des acteurs d une chaîne logistique dans le secteur du textile et de l habillement. 7
Intérêt des SMA De nombreux exemples d utilisation des SMA dans les SC : Conception, dimensionnement, Pilotage, contrôle, gestion des flux, Gestion de production, stocks, ordonnancement, Le paradigme «Agent» est une métaphore naturelle des organisations en réseau. Les agents logiciels possèdent les mêmes caractéristiques que les acteurs des chaînes logistiques : Autonomie : dans la définition des objectifs, la prise de décision, le choix des indicateurs de performance, Capacités sociales : un acteur doit communiquer, interagir, collaborer, avec les autres acteurs de la chaîne ; Réactivité : une firme modifie son comportement en fonction des évolutions du marché ou de la concurrence ; Pro-activité : une entreprise peut et doit initier d elle-même de nouvelles activités, comme par exemple décider de lancer un nouveau produit sur le marché. 8
L architecture SMA proposée Structure de la supply chain F21 F22 F1 F2 F3 mp2 mp3 mp1 EC FC11 FC12 PF C1 C2 CC12 CC14 CC11 CC13 CC21 F2n F4 F5 mp4 mp5 C4 C3 CC31 CC22 : Entreprise centrale de la supply chain d un produit. : Fournisseurs impliqués directement dans la supply chain. : Fournisseurs non modélisés. : Clients impliqués directement dans la supply chain. : Clients dont seule la demande est prise en compte. : Flux physique et informationnel. 9
Les agents du système SMA App AgentSCM Liv AgentLiv : Agent interface lié au processus de livraison et aux processus relatifs aux clients. Cet agent récupère les informations concernant les commandes des clients et le stock de produits fins. Fab AgentFab : Agent interface lié au processus de fabrication. Middleware* (EAI) AgentApp : Agent interface lié aux processus approvisionnement et achat. Cet agent récupère les informations concernant les stocks de matières premières, de composants et de produits semi finis. AgentSCM : Agent interface qui modélise les pratiques et techniques mises en œuvre par les acteurs pour piloter et gérer leur supply chain (CPFR, VMI, ). APS ERP 10
Modélisation AUML [Huget, 2002a] a proposé une extension des diagrammes UML afin de prendre en compte les caractéristiques des agents. AUML permet de représenter plusieurs niveaux d abstraction lors de la conception des diagrammes de classes. Deux sont couramment utilisés : Le niveau conceptuel est une vue du SMA qui permet de décrire l organisation, l environnement, et les interactions entre les agents du système. Le niveau implémentation décrit en détail le contenu des agents, ainsi que les modes de communication, négociation,... «agent» AgentSCM Statechart AgentSCM_Behavior Attribute id nom Fournisseurs_partenaires Clients_partenaires Operations CalculPrevisionsVentesCPFR( ) CreerPrevisionsCommandesCPFR( ) AnalyserPrevisionsVentesClientCPFR() MettreAJourPlansConcernés( ) CollaborerExceptionsPrevisionsVentes() Protocol protocole_heuristique_ferme protocole_cpfr protocole_vmi 11
Les protocoles de négociation Proposition d un ensemble de protocoles de négociation entre agents pour gérer les situations d urgence dans les supply chain : sd négociation heuristique Loop [n] : Initiator propose : Participant Le protocole de négociation heuristique ferme, max number of proposals alt refuse accept-proposal Le protocole de négociation heuristique récursive propose Les protocoles correspondant aux différentes méthodes et pratiques SCM (CPFR, VMI, etc.). alt refuse accept-proposal Ces protocoles sont formalisés à l aide des diagrammes de séquence AUML. propose Négociation heuristique 12
Cas d étude : contexte SC d une entreprise de distribution de produits sanitaires (robinetteries, carrelage, éléments de plomberie, etc.) au Maroc, Près de 800 références (du + économique, au produit de luxe) Les clients sont des grossistes ou des clients finaux (entreprises du BTP) géographiquement distribués. Les produits sont approvisionnés auprès de deux fournisseurs nationaux (Maroc) et de 3 principaux fournisseurs étrangers (Espagne, France et Turquie). Trois types de gestion de stock chez le distributeur : Un système d inventaire périodique : pour gérer le stock des produits haut de gamme approvisionnés auprès des fournisseurs étrangers ; Un système à point de commande qui permet de gérer les stocks des articles approvisionnés par les fournisseur nationaux. Un approvisionnement sur commande est utilisé pour quelques articles liés à des phénomènes de mode (carrelage, robinetterie, ). 13
Cas d étude : contexte Il y a environ 6 à 10 commandes «inattendues» par mois chez ce distributeur. Ces commandes peuvent concerner des produits différents. Actuellement, 60% de ces commandes ne sont pas honorées, 20% sont traitées en s appuyant sur d autres distributeurs/grossistes, le délai de livraison des 20% restantes est modifié après négociation avec les clients. F1 F2 F3 mp2 mp3 D1 D2 mp1 EC FC11 FC12 PF C4 C1 C2 CC12 CC14 F4 F5 mp4 mp5 C4 C3 CC31 14
Cas d étude : scénario Début 2007, un client (opérateur immobilier qui doit livrer des appartements à ses clients) passe une commande urgente au distributeur suite à un problème sur un chantier. Article haut de gamme approvisionné auprès de fournisseurs étrangers. Les délais ne permettent pas un réapprovisionnement. Cette référence n est pas disponible en stock et ne peut pas être fournie par d'autres distributeurs. Cette commande a été considérée comme une commande urgente, ferme et inattendue (délai de livraison : 9 heures) La solution a été de passer une commande pour un article équivalent (marque, couleur ) à un distributeur concurrent situé dans la ville de Casablanca (289Km de la ville de Fez) coûts importants Nous allons simuler et tester ce scénario à l aide de notre plateforme distribuée. 15
Cas d étude : modélisation On dispose d un distributeur (Dis) de produit fini et de ses n grossistes (G1, G2,, Gn) distribués géographiquement sur les régions d un pays. Matrice des distances : Md G1. Gn Dis G1 0... 0 Gn Dn1 0 Dis Ddis1 0 Matrice des durées : Mdu G1. Gn Dis G1 0... 0 Gn Dun1 0 Dis Dudis1 0 Matrice des quantités minimales : Mqm G1. Gn Dis Soient : Qr : Quantité recherchée (commande) Q1max, Q2max,, Qnmax : les qttés maximales pouvant être livrées respectivement par les grossistes G1, G2,, Gn. Qdis : Quantité pouvant être livrée par le distributeur (<Qr). Dl : délai de livraison de la quantité recherchée. G1 0... 0 Gn Qmn1 Objectifs : Sélectionner le ou les grossistes pouvant livrer tout ou partie de la quantité Qr Proposer les différents choix (parcours) possibles et le coûts associés 0 Dis Qmdis1 0 16
Cas d étude : Démarche Récupération des informations auprès des agents interfaces des différents acteurs. Trouver - et classer une série de parcours possibles par ordre croissant de cout. D2 C1 CC12 CC14 Proposer la quantité Qi à prendre chez chaque grossiste faisant partie d un parcours (Qi <= Qr). EC C3 C2 Un parcours possible doit satisfaire les contraintes suivantes : C4 CC31 Qdis + p 1 Qi = Qr ±Δq La durée du parcours Dp doit être inférieure ou égale à la durée de livraison Dl (Dp Dl). 17
Cas d étude : modélisation sd Distributor / Distributors interaction Protocol sd Distributor / Wholesalers interaction Protocol : DisAgent i 1 request : DisAgent j m m=p + q + r : DisAgent 1 : WhoAgent request m alt inform-ref p alt inform-ref p ref m = p + q sd Distributor / Wholesalers interaction Protocol refuse q alt inform-ref q refuse r Distributor / Wholesalers interaction protocol Distributor/Distributors interaction protocol 18
Cas d étude : Résultats 19
Cas d étude : Résultats La quantité exigée ne peut pas être fournie par un seul grossiste 1 solution est possible avec 2 grossistes scm26 (Ouarzazate) et scm23 (Marrakech). Solution rejetée (distance totale 687km Coûts de transport élevés). 12 choix concernent des chemins comprenant 3 grossistes. Les 2 premiers parcours ont un délai égal à la moitié du délai de livraison exigé. La distance des 2 premiers parcours (TetouanChefchaouenMeknesFez; TangerTetouanChefchaouenFez) est d environ 330 Km. Ces 3 solutions sont meilleures que la solution réelle adoptée : Les coûts de transport sont à peu près identiques; Les prix d'achat proposés par les grossistes sont inférieurs aux prix du distributeur concurrent. 20
Cas d étude : Résultats 3 parcours proposés 21
Conclusion et Perspectives Proposition d un modèle générique délimitant les frontières de modélisation d une SC ainsi que le modèle muti-agents correspondant. Le modèle développé permet d expérimenter un ensemble de protocoles de négociation formalisés avec AUML (solution efficace pour spécifier et modéliser des applications liées à la SC). Proposition d un prototype d architecture de simulation proactive à base d agents pour l aide à la prise de décision collaborative dans les SC. Traitement des situations d urgence dues aux commandes incertaines, imprécises et aux exceptions. La validation réalisée sur un cas industriel réel montre qu il est possible, en connectant des agents aux systèmes d information des acteurs d une SC, d apporter une aide à la prise de décision collaborative en cas de situations d urgence. Développer une bibliothèque de classes pour assurer la connexion des agents avec un grand nombre de systèmes d informations (interopérabilité) 22
[perf=request] [perf=refuse] [perf=accept_proposal] Mettre_à_jour_stock EvGeStCm() / Différer Envoyer Nouvelle Proposition à AgentAppi EvGeStCm() / Différer Envoyer_Confirmation EvGeStCm() / Différer Message_AgentFab/ identifierperformative() Fin_Durée_Simulation / init_agentliv Gestion_Stock_Commandes Date_Livraison_Atteinte Livraison Date_Prévisions_Atteinte EvGeStCm() / Différer Message_AgentAppi/ identifierperformative() Etudier_Commande EvGeStCm() / Différer [perf=cfp OR perf=propose] [perf=confirm] [perf=cancel] Mettre_a_jour_Plan_Livraison EvGeStCm() / Différer Calcul_Prévisions EvGeStCm() / Différer Annuler_Commande EvGeStCm() / Différer - EvGeStCm: représente l'ensemble des événements provoquant la transition de l'état "Gestion_Stock_Commandes" vers un autre état: Message_AgentAppi, Message_AgentFab, Date_Livraison_Atteinte, Date_Prévisions_Atteinte, Fin_Durée_Simulation. 23
Les protocoles de négociation Le protocole de négociation heuristique : Plusieurs propositions et contre-propositions peuvent être échangées dans les différentes étapes afin d arriver à un accord. p1b= Accept S A S B pa = Propose p3b= ModReq L'agent A, avec la proposition pa, est l'initiateur de la négociation, alors que l'agent B peut répondre avec les réponses p1b, p2b, p3b (Modify Request). S A 11 S A 12 S A 13 p2b= Reject p3a= ModReq Le nombre des contre-propositions est limité. Une fois que cette limite est atteinte, les agents arrivent à un rejet. S B 11 p1a= Accept S B 12 p2a= Reject S B 13... 24
Mettre_à_jour_stock Ev_Gest_Stock() / Différer Envoyer_Nouvelle_Proposition_à_AgentPRC Ev_Gest_Stock() / Différer Les protocoles de négociation [perf=request] Envoyer_Confirmation Ev_Gest_Stock() / Différer [perf=refuse] [perf=accept_proposal] Message_AgentPro/ identifierperformative() init_agentdis Gestion_Stock Date_Prévisions_Atteinte Fin_Durée_Simulation Date_Livraison_Atteinte Calcul_Prévisions Ev_Gest_Stock() / Différer Livraison Ev_Gest_Stock() / Différer Afficher_Resultats Message_AgentPRC/ identifierperformative() [perf=cfp OR perf=propose] Etudier_Commande Ev_Gest_Stock() / Différer [perf=cancel] Annuler_Commande Ev_Gest_Stock() / Différer [perf=confirm] Mettre_a_jour_Plan_Livraison Ev_Gest_Stock() / Différer - Ev_Gest_Stock: représente l'ensemble des événements provoquant la transition de l'état "Gestion_Stock" vers un autre état: Message_AgentPRC, Message_AgentPro, Date_Livraison_Atteinte, Date_Prévisions_Atteinte, Fin_Durée_Simulation. Fig. 11 0 - Diagramme d'états-transitions de l'agent "AgentDis" d'un acteur de type "usine". 25